View
44
Download
1
Embed Size (px)
Citation preview
The Promise and
Challenge of Runtime
Variability
park joonho
2016.05.31
No.3 / Assigment
1
Agenda
• Introdution
• Technology and Design
• Feature Modeling
• Binding Design-Time and Runtime Variability
• The challenges of runtime variability
• Open and closed variability models
• Runtime checking and rebinding
• Conclusion
2
Introduction -Definition
• SPLs : Software product lines
• Development style of products - Changes with time
• Individual and Standard software
• Mass Customization- Large scale production of goods tailored
to individual customer’s need
A software product line is a set of software-intensive systems that share a
common, managed set of features satisfying the specific needs of a particular
market segment or mission and that are developed from a common set of
core assets in a prescribed way.- Software Engineering Institute | Carnegie Mellon
3
Introduction -Definition
• FMs(Feature Model) : common approach to
designing products that share a set of common
characteristics or are in the same market segment.
• ex.
4
Introduction -Definition
• Context-aware : Including autonomic and ubiquitous
computing systems and software ecosystems
• Ubiquitous : Pervasive Computing
• Proactive/Autonomic Computing
• ex) Service-oriented computing
5
Introduction -Definition
• Context-aware / What is Context ?
• Not just “deliver any service at any time, anywhere”, but rather “delivering the right service at the rightmoment”
Louise BarhuusDepartment of Design and Use of Information Technology
The IT University of Copenhagen
“An example of a piece of relevant context information is the most common question posed when communicating on mobile phones: ‘Where are you?’”
6
Technology and Design
• Feature Modelingcommon approach - to design products
7
8
Technology and Design
• Binding Design-Time and Runtime Variability
• Runtime variability : Those product design choices
visible to customers and system users, who can
select among available configurable options.
• Design-time variability : hidden to the user and
managed by the product’s developers, who may
decide, for cost or other reasons, to activate certain
design options in a specific variant.
9
Technology and Design• Variability …Differences among products in PL
• Variation Point … A point where / A variation can
occur
… Must be bound for each product
… Bind when?
… Bind how?
10
Technology and Design• The challenges of runtime variability
• contemporary variability models face three main
challenges:
1. representing runtime variability, modifying variation points in existing and
new software units during system execution, and automating system
reconfiguration
2. automating runtime validation and checking reconfigured feature models to
maintain system consistency and stability
3. automating deployment and rebinding of reconfigured products at runtime
with minimal interruption.
11
Technology and Design
• The challenges of runtime variability
12
Technology and Design
• Open and closed variability models
• Variability model : add, remove, modify variants,
variation points
• Software implementing the new variant must be
added to the system
Add : mom : IMmonitoring13
Technology and Design
• Runtime checking and rebinding
• Runtime rebinding mechanisms exploit variability,
and configurable dynamic libraries reconnect the
system or part of it to a different target or
configuration.
14
Conclusion
• Runtime checking and rebinding
• Runtime variability offers a good choice for many
systems that experience dynamic change in their
properties and context.
• Selecting and activating features at runtime is far
more complicated than reconfiguration.
• Automating decision making in FMs would go a long
way toward achieving DSPLs.
15
faster, deterministic
Automation
well defined structures although the system
Increased Quality
Thank You
16