Title: A Cooperative Approach to Support Software Deployment using the Software Dock
1A Cooperative Approach to Support Software
Deployment using the Software Dock
Richard Hall
Alexander Wolf
Dennis Heimbigner
Software Engineering Research Laboratory Universit
y of Colorado
2Software Deployment
- Software Deployment covers all post-development
activities like release, installation,
reconfiguration and un-installation.
Conventional Methods CD Installations
3Producer Side Processes
Consumer Side Processes
4Requirements for better deployment
- Continuous Support
- Efficient Use of Internet
- Centralized Repository
- Heterogeneity
- Decentralized Control for Activities
- Security
5Software Dock Description
- Distributed, Agent-Based Framework.
- Release dock Producer Side
- Field dock Consumer Side
- Wide Area Event systems - Network
- Agents
6Software Dock Overview
7Deployable Software Description (DSD)
- Requirement
- Need of a standard language to be able to
describe the software system to be deployed. - To be able to map semantic information of the
Software System onto properties. - Five classes of Semantic information
- Configuration
- Assertions
- Dependencies
- Artifacts
- Activities
8Deployable Software Description (DSD)
- DSD
- declarative description of the possible
configurations of that software - Helps Create Generic Deployment Process
Definitions. - Unit of Description Families, set of all
versions and variants of a given software system - similar to the notion of a product-line
- XML encoding of the configuration information
- Contains following sections identification,
imported properties, - system properties, property composition,
assertions, dependencies, - artifacts, interfaces, notifications,
services, and activities - Some directly map on to a semantic class,
others combine to - map on to one.
9Deployable Software Description (DSD)
- Examples
-
- Property
- Name Online Help
- Type Boolean
- Description Include online help.
-
-
- Assertion
- Condition (OS Solaris)
- (OS Win95)
- Description Test for supported
- operating system.
-
-
Artifacts Artifact Guard (OS
Solaris) SourceName help.html Source
/proj/doc DestinationName help.html Destin
ation doc Mutable false Signature3b8902d
3410ec832 Type Documentation
Artifact Guard (OS
Win95) SourceName help.hlp Source
/proj/doc DestinationName
help.hlp Destination doc Mutable
false Signature 9283cd2378102f1a3b12ee Type
Documentation
10Software Dock Process
- The software deployment is defined by the agents
which are the active components of the framework. - The Software Dock framework allows the creation
of generic agents which perform the standard
deployment activities. - The Generic agents also form the base class for
more specialized agents that are used for more
specific tasks.
- All agents have functionality encoded in them,
and perform the - deployment activities by accepting
parameters from the DSD first, - and then the target consumer site.
- So they can used for deploying ANY software
system.
11Software Dock Process
- Generic Deployment Process Definition
- The Software Deployment takes place by the
transformation of the property values from one
set of valid values into another. - The change take place via differential processing
of the applicable schema elements in the DSD. - The applicable schema is obtained via the the
guard conditions present all over the DSD. - The differential processing converts the existing
system configuration into the desired
configuration.
- Most of the deployment activities take place
with the DSD, - and later on, only those artifacts that need
to be changed - are brought in.
12Software Dock Process
- Generic Deployment Process Definition
- Specific Deployment Process Definition
- Install
- Update
- Reconfigure
- Adapt
- Remove
13Security
- Security
- JVM sandbox limits the Agent access the
customers system - Field docks use a capability approach based on
the agents inherent capability to grant access
for restricted operations. - This approach can be extended to adopt a
mechanism by which agents can become trusted
14Current Status
- A Software Dock prototype exists
- SIENA provides wide area event service.
- Evolving definition of the DSD exists
- A schema editor is provided to create and edit
DSD descriptions - Docking Station provides updates, adapts,
reconfigures and removes - Generic agents are provided for various
deployment processes
15Future Work
- Provide an Administrator Role
- Remote Agents
- InterDock
- The DSD will be extended and expanded
- Enhanced Administration policy
- Arbitrary dependency specification will be
researched
16Summary
- Software Deployment is beyond Just Installation.
- Standard format for Software Systems Description
(DSD) - Modern Deployment should harness the capabilities
provided by the Internet.
17Strengths
- Easy to understand
- In-depth coverage of the Software Deployment Life
Cycle. - Identification of better software deployment
requirements.
18Weaknesses
- Security has not been adequately addressed.
- Software Dock needs to be tested against various
Deployment tools. - Not enough coverage on Dock entities.
- Too much stress on DSD.
19Relevance to Embedded Systems
- Dock operates in JVM Sandbox, and hence addresses
issues of resource Constraints. - Wide area Event Service does not cater to real
time constraints due to network issues. - Inadequate Security.