Upload
halen
View
21
Download
0
Embed Size (px)
DESCRIPTION
A Close Look at Composition Languages. Florian Heidenreich, Jendrik Johannes, Steffen Zschaler , and Uwe Aßmann ACoMM 2008. Motivation. Many different approaches to modularisation exist Packages Aspect orientation Feature-Driven Development Model Weaving … - PowerPoint PPT Presentation
Citation preview
A Close Look at Composition Languages
Florian Heidenreich, Jendrik Johannes, Steffen Zschaler, and Uwe AßmannACoMM 2008
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl Softwaretechnologie
(c) Steffen Zschaler 2
Motivation
Many different approaches to modularisation exist Packages Aspect orientation Feature-Driven Development Model Weaving …
Comparison is difficult: Each approach uses its own terminology
A unifying terminology is needed
19.10.2008
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl Softwaretechnologie
(c) Steffen Zschaler 3
Background work
Medvidovic, Taylor Elements of Architecture Description Languages:
- Components- Connectors- Configurations
Aßmann Elements of Composition Systems:
- Component Model- Composition Technique- Composition Language
Here: elements of the composition language
19.10.2008
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl Softwaretechnologie
(c) Steffen Zschaler 4
A few examples
Black-box components à la CORBA, EJB, or .NET Aspects (in particular, AspectJ style) Invasive Composition Variability by IfDef
19.10.2008
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl Softwaretechnologie
(c) Steffen Zschaler 5
Black-box components
Binary format components Inner structure hidden from component users Run-time infrastructure to establish compositions
Deployment Descriptors Name Service Names of used components explicitly embedded in using components
Client
Stub Skeleton
Server
19.10.2008
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl Softwaretechnologie
(c) Steffen Zschaler 6
AspectJ-style aspects
Components: Advice and core code Inner structure partially exposed for expressing compositions
Based on language structure (e.g., method entry/exit) Expressions mapped to code/execution points Mapping hard coded in weaver
Composition description (pointcuts) provided separately from components
public aspect Example {pointcut mypoints: call (public * *Example.do* (..));
before mypoints: {System.out.println („Some do method was called“);
}}
19.10.2008
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl Softwaretechnologie
(c) Steffen Zschaler 7
Invasive composition
Components: Program or model fragments Represented by composition interfaces Composition implemented through transformation
Composition interfaces derived from markup within component code
Language-independent But: Can specialise for particular languages Compositions expressed within components (e.g., import, provides,
requires, …)
19.10.2008
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl Softwaretechnologie
(c) Steffen Zschaler 8
Variability by IfDef
19.10.2008
#define USE_ENERGY_SAVING 1...#ifdef USE_ENERGY_SAVING // Component that saves energy cout << "Switched off your music player?" << endl;#else // Component that wastes energy cout << "Want to start another device?" << endl;#endif
Component Representation
Components
Component Selection
Component composition implicitly given through text sequence
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl Softwaretechnologie
(c) Steffen Zschaler 9
A tentative vocabulary
Component
Map
ping
to a
ctua
lC
ompo
nent
sCompositionDescription
ComponentSelection
ComponentConnection
ComponentDenotation
Component Model
Composition Language
In-ContextComponentSelection
In-ContextComponentConnection
19.10.2008
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl Softwaretechnologie
(c) Steffen Zschaler 10
Lessons learned
Implicit/explicit/meta explicit mapping
In-Context vs. Out-of-context selection/composition
Relation composition/selection
19.10.2008
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl Softwaretechnologie
(c) Steffen Zschaler 1119.10.2008
Thank you for your attention!
?? Questions ??