Modelling Deployment using Feature Descriptions and State Models - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Modelling Deployment using Feature Descriptions and State Models

Description:

Modelling Deployment using Feature Descriptions and State Models ... Easily malleable after delivery by: Producer. Third party developer. Customer ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 22
Provided by: Sli46
Category:

less

Transcript and Presenter's Notes

Title: Modelling Deployment using Feature Descriptions and State Models


1
Modelling Deployment using Feature Descriptions
and State Models
  • for Component Based Software Product Families

Slinger Jansen Utrecht University
2
Structure
Overview
Knowledge Management
Features
Conclusions
Example
  • Overview
  • What is product software?
  • What are component deployment issues?
  • Knowledge management
  • What knowledge needs to be managed?
  • What frameworks are already available?
  • Features
  • How can we manage features?
  • How must they be represented?
  • Example
  • How does it work in practice?
  • Conclusions
  • Does it, really?
  • What will be our future work?

3
Product Software
Overview
Knowledge Management
Features
Conclusions
Example
  • Software is different from conventional products
  • Easily malleable after delivery by
  • Producer
  • Third party developer
  • Customer
  • Specific solution for a generic environment
  • Software depends on different components, which
    are equally changeable
  • Deliver project studies software release,
    delivery, and deployment
  • By explicitly managing component knowledge
  • Through case studies (approx 15 of deployments
    fail)
  • Case studies show complex scenarios
  • AutoCAD Plug-in developer
  • Multiple deployments on load balancing servers
    (with 100 uptime)

4
Issues when deploying a component (1)
Overview
Knowledge Management
Features
Conclusions
Example
  • Hostile Environment
  • Limited resources (disk space, licenses, memory)
  • Other components
  • Component Dependencies
  • On other components
  • On other features
  • Variability
  • Feature language
  • Feature dependencies
  • Different component types

5
Issues when deploying a component (2)
Overview
Knowledge Management
Features
Conclusions
Example
  • Evolution
  • Different versions
  • Compatibilities (database transformations)
  • Configuration settings
  • User policies
  • User settings
  • Licenses
  • Solution What-if questions! (actually explicit
    management of knowledge)
  • Example 1 What happens if I install an older
    version of Apache next to my current
    installation?
  • Example 2 What happens if I want to install a
    new version of the Java Runtime Environment?
  • Example 3 Can I install MS Frontpage 1997 next
    to Office XP?

6
Component State Management
Overview
Knowledge Management
Features
Conclusions
Example
  • Solution Component Deployment Knowledge
    Management
  • Models all layers of complexity
  • Attempts to find an instantiation route to a
    feature
  • Allows what-if questions
  • Thus solving
  • Dependency issues
  • Different versions
  • Variability at different states (binding times)
  • Different component types
  • I had a dream!

7
Current Knowledge models and formats
Overview
Knowledge Management
Features
Conclusions
Example
  • Formats
  • DSD Deployable Software Description (XML)
  • OMG Reusable Asset Specification
  • OMG - IT Portfolio Management Specification
  • WIX Microsoft
  • etc.
  • Meyer (1985)
  • Software knowledge base

1
2
3
R. Hall, D. Heimbigner, and A. Wolf, Specifying
the deployable software description format in
xml, 1999.
1
Object Management Group, Deployment and
Configuration of Component-based Distributed
Applications Specification, OMG document
ptc03-07-08, June 2003.
2
B. Meyer, The software knowledge base, in
Proceedings of the 8th international conference
on Software engineering. IEEE Computer Society
Press, 1985, pp. 158165.
3
8
Algorithm
Overview
Knowledge Management
Features
Conclusions
Example
1
  • Returns an instantiation tree to achieve
    requested features
  • Example User has Word 97, and wants to be able
    to save as a webpage.
  • Feature is only in Office XP.
  • Office XP requires Dictionary XP.
  • Office XP excludes Word 97.
  • Sequence
  • Remove Word 97
  • Install Dictionary XP
  • Install Office XP
  • Instantiation tree has interesting properties
  • Use to find resource usage
  • Use to remove components that are only used for
    the instantiation process
  • What-if questions!

9
Visual representation of complexities
Overview
Knowledge Management
Features
Conclusions
Example
Component C
Built
Source
Packaged
Deployed
Running
10
Visual representation of complexities
Overview
Knowledge Management
Features
Conclusions
Example
Component C
Source
Deployed
Running
Packaged
Built
11
Visual representation of complexities
Overview
Knowledge Management
Features
Conclusions
Example
Component C
Source
Deployed
Running
Packaged
Built
Revision 0
Source
Deployed
Running
Packaged
Built
Revision 1
Source
Deployed
Running
Packaged
Built
Revision 2
Source
Deployed
Running
Packaged
Built
Revision 3
12
Overview
Knowledge Management
Features
Conclusions
Example
Component Knowledge Evolution
Source
Built
Deployed
Running
Packaged
(Update)
(Update)
Source
Built
Deployed
Running
Packaged
(Update)
(Update)
Source
Built
Deployed
Packaged
Activated
Running
13
Component Knowledge
Knowledge Base
Source
Built
Deployed
Running
Packaged
Component State Instances (different Variations
on a System)
Source Code
Test Built
Test Package
Installation fast
Running fast
Production Built
Production Package
Installation Medium
Installation slow
Running slow
So how to describe these variations?
14
Feature Description Language
Overview
Knowledge Management
Features
Conclusions
Example
  • Add feature description to each component
    revision
  • Allows for modelling of variability and binding
    times
  • Allows for users to specifically request a
    feature
  • Enables restrictions on configurations such as
    if you choose the slow implementation of the
    search algorithm you cannot implement it into a
    quick retrieval component
  • Can easily be calculated using van der Storm

C0BuiltV2
Stand on the shoulders of giants Van der Storm
(2004) figured out that if these feature
descriptions are translated into binary decision
diagrams you can efficiently deal with large
component configurations with large amounts of
variation, laying a foundation for our research.
(hes actually 5ft tall)
1..1
Speed
1..1
BSlow
BFast
0..0
0..0
15
Example MyComponent C0
Overview
Knowledge Management
Features
Conclusions
Example
My Component
C0v1 Source
C0v1 Built
C0v1 Running
C0v2 Source
C0v2 Built
C0v2 Running
CTav1 Installed
CTav1 Running
Compilers a and b
CTbv1 Installed
CTbv1 Running
My Component Patch Tool
PTv1 Installed
PTv1 Running
R
C0v2
1..1
The VFDL graph for the second revision of C0
including the binding times in bold letters
R
Speed
1..1
R
B
B
Medium
Fast
Slow
16
Lets build a tree! (1)
Overview
Knowledge Management
Features
Conclusions
Example
  • We want C0v2 Running at medium speed
  • Our current system contains
  • CTv1 Installed
  • COv1 Source
  • COv2 Source
  • PTv1 Installed
  • Dependencies

XOR
XOR
XOR
17
Lets build a tree! (2)
Overview
Knowledge Management
Features
Conclusions
Example
Alright, it can come from a fast
COv2 Running Medium
I want my component to run at medium speed
I0
I1
COv2 Built Fast
COv2 Built Slow
or a slow build of My Component, but these are
not instantiated yet
I0
I1
I0
I1
COv2 Source
CTav1 Running
COv2 Source
CTbv1 Running
COv1 Built Fast
PTv1 Running Fast
COv1 Built Slow
PTv1 Running Fast
I0
I0
I0
To build a fast instance we need the source and a
running compiler tool (specifically compiler a)
I0
I0
I0
CTav1 Installed
CTbv1 Installed
PTv1 Installed
PTv1 Installed
COv1 Source
CTaV1 Running
COv1 Source
CTbV1 Running
I0
I0
This is available, so the treebuilding can end
here.
CTav1 Installed
CTbv1 Installed
18
Issues
Overview
Knowledge Management
Features
Conclusions
Example
  • Policies
  • Automatic
  • User intervention required
  • High level of complexity, tree grows quickly with
    a lot of (seemingly unavoidable) duplication
  • Etc.
  • Feature representation to user
  • How to show available features to user? (think of
    Dell or Smart configurators)
  • Use common configuration tools
  • Architecture and FDL clash
  • How to support plug-in architectures with
    arbitrary components?
  • How to represent architectures with FDL
  • How to deal with continuous feature ranges such
    as number of users

19
Future Work
Overview
Knowledge Management
Features
Conclusions
Example
  • The technique in practice
  • Apply the demonstrated technique to a component
    configuration (such as Eclipse or Apache,
    suggestions are welcome)
  • Develop a universal deployment tool that anyone
    can use and implements all the features stated in
    previous research
  • Develop a distribution tool that focuses on
    component and metaknowledge (such as licenses)
    distribution
  • Release tool
  • Currently we are developing a tool that can
    automatically create component releases from
    automated builds (from daily build to daily
    release)
  • Case Studies
  • Implement this work in cooperation with two
    product software vendors

1
2
1
A Process Framework and Typology for Software
Product Updaters - Slinger Jansen, Sjaak
Brinkkemper, and Gerco Ballintijn - Ninth
European Conference on Software Maintenance and
Reengineering - 2005 IEEE
2
Integrated Development and Maintenance of
Software Products to Support Efficient Updating
of Customer Configurations A Case Study in Mass
Market ERP Software - Slinger Jansen, Sjaak
Brinkkemper, Gerco Ballintijn, and Arco van
Nieuwland - Proceedings of the 21st IEEE
International Conference on Software Maintenance
- IEEE
20
Conclusions
Introduction
Overview
State Models
Distribution
Conclusions
ISKB
  • Improve processes of deployment for product
    software by managing knowledge about
  • Versions and evolving components
  • Dependencies between these components
  • Applying variation descriptions
  • Different component types
  • To ensure
  • Feature requests (I want an e-mail client with
    pop3)
  • Consistent, complete, and correct deployment
  • Allows what-if questions
  • Can also model other dependencies (licensing,
    hardware resources, etc)
  • The prototype tool presented has shown
  • Modeling is useful (effort estimation, resource
    claims, etc.)
  • What-if questions provide powerful mechanism
  • A lot of knowledge is required (too much for
    product software?)
  • Much work is needed to implement a cross platform
    tool

21
Questions?
Overview
Knowledge Management
Features
Conclusions
Example
slinger_at_cs.uu.nl
Write a Comment
User Comments (0)
About PowerShow.com