guillaume waignier, anne-françoise le meur, laurence...
TRANSCRIPT
![Page 1: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/1.jpg)
1
Software Architecture & Composition
Guillaume Waignier, Anne-Françoise Le Meur, Laurence Duchien Project-Team U. Lille 1/CNRS-INRIA
http://adam.lille.inria.fr
April 2009
![Page 2: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/2.jpg)
2
Scientific context
Future applications will be multi-paradigms and will be deployed on multi-scale environments
New forms of complexity • Applications should be adapted in the best way to exploit these
networks • Need for reasoning on the environmental conditions to adapt the
software with a minimum of effort
Report: beyond the Horizon, thematic Group 6, FP7, Software Intensive Systems, 2006
2
![Page 3: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/3.jpg)
3
3
ADAM’s challenge
Grid5000
Adaptive Deployment
LAN WiFi
Network
Adaptive distributed application design (UML, ADL, DSL)
Adaptive component frameworks for
distributed applications (Fractal, SCA, SOA)
Adaptation throughout
the software lifecycle
![Page 4: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/4.jpg)
4
4
Software Models
FraSCAti Soleil FraSCAme TINAP
Software Systems
DeployWare
Services/Fractal Embedded/Fractal
4
CALICO CAPucine
![Page 5: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/5.jpg)
5
Outline
Scientific context
Component AssembLy Interaction Control framewOrk 1. CALICO Framework [MODeLS 2008] 2. CALICO model-level
Unified framework for designing and analyzing application properties • Structure design • Contractual application specifications • Contractual specifications composition
3. CALICO platform-level
Conclusion and perspectives
![Page 6: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/6.jpg)
6
Scientific context
![Page 7: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/7.jpg)
7
Context
• Software Architecture • components or services
– Visible external properties – Interface, behavior
– Relations – assembly
• Understandable (high level abstraction) • Construction (reuse) • Architecture Description Languages (ADLs)
C1 C2
C3
Abstract model
Execution model
![Page 8: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/8.jpg)
8
1. Safe architecture • Specify the application properties
• Structure : constrain the connection between elements • Behavior : express the workflow going in and out • Dataflow : limit the allowed range of value of exchanged messages • QoS : define the maximal response time, …
• Needs for Safe Architecture • Specification of component properties (structural, behavioral, ...) • Identify violation of application properties in the assembly • Analysis of the interaction compatibility between components
![Page 9: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/9.jpg)
9
1. Illustrating example (PHR)
![Page 10: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/10.jpg)
10
1. Illustrating example (PHR)
Security : structural property
![Page 11: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/11.jpg)
11
1. Illustrating example (PHR)
Security : structural property Authentication : behavioral property
1
2
![Page 12: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/12.jpg)
12
1. Illustrating example (PHR)
Security : structural property Authentication : behavioral property High reliability : dataflow property
data.size<100Mb
![Page 13: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/13.jpg)
13
1. Illustrating example (PHR)
Security : structural property Authentication : behavioral property High reliability : dataflow property Reactivity : QoS property
Time<20s
![Page 14: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/14.jpg)
14
1. Illustrating example (PHR)
How to help the architect to identify inconsistency?
Security : structural property Authentication : behavioral property High reliability : dataflow property Reactivity : QoS property
![Page 15: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/15.jpg)
15
1. Problems
• Existing static analysis tools are not suitable • Handle a subset of application properties • Are coupled with component or service models
How to provide a platform-independent approach supporting all kind of properties ?
![Page 16: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/16.jpg)
16
2. Illustrating example (PHR)
PCclient
data2.size<2Mb
data1.size<3Gb data2=data1
assumption guarantee
PDAclient
Cache ImageServer
data2.size<4Gb Compatible Interaction
Partially Compatible Interaction (depends on runtime values)
Need to perform runtime debugging
![Page 17: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/17.jpg)
17
2. Problems with existing tools
• Existing tools are not suitable • Break the continuity in the development process • Add assertions in the application code • Provide feedback at code level • Lose relation between the runtime errors and the design concepts
• Limited component platform support • Lack of static analysis tools • Lack of dynamic checking tools
To address these problems, we propose CALICO
![Page 18: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/18.jpg)
18
Main results of CALICO: Component AssembLy Interaction Control framewOrk
1. CALICO Framework [MODeLS 2008]
2. CALICO model-level Unified framework for designing and analyzing application properties
• Structure design • Contractual application specifications • Contractual specifications composition
3. CALICO platform-level
![Page 19: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/19.jpg)
19
CALICO Framework
![Page 20: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/20.jpg)
20
1. CALICO Framework
2. CALICO model-level [QoSA2008] Unified framework for designing and analyzing application properties
• Structure design • Contractual application specifications • Contractual specifications composition
3. CALICO platform-level
![Page 21: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/21.jpg)
21 Uniform approach for specifying contractual specifications
• Based on the assume-guarantee paradigm [Abadi-Lamport93] • Widely used in QoS • assume(P) = application properties required by P from its environment • guarantee(P) = application properties offered by P
• assume(P) → guarantee(P)
• Advantage of the assume-guarantee paradigm • Can be composed to compute the specification of an assembly • Can be analyzed statically
![Page 22: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/22.jpg)
22
Application structure
Common elements in component and service models
• Entity : computational element • Component or service
• Connector: interaction between entities • Binding or partnerLink
• Communication point : access point of an entity that allows it to communicate • Port, interface or portType
• Communication element : action performed to communicate • Operation
• Argument : element exchanged between entities • Typed object or message
![Page 23: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/23.jpg)
23
Application structure metamodel
![Page 24: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/24.jpg)
24
Behavioral specification
Describe the workflow going in and out of the communication point
Assumption : expected behavior Guarantee : offered behavior
![Page 25: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/25.jpg)
25
Assembly of entities
• Create the assembly of entities • Add connectors between entities • Check the assembly
– Need to compose the contractual specifications
Client GlobalSearch Access
![Page 26: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/26.jpg)
26
Unified contract computation
• Contract = composition of specifications • C{P1 * P2} = SpecP1 ∘ SpecP2
– Pi: participant i – SpecPi : specification of Pi – ∘ : compositional operator (associative, commutative)
• Incremental computation • Specification of an assembly computed from the contract of this assembly
– Spec{P1 U P2} = f( C{P1 * P2} )
![Page 27: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/27.jpg)
27
Contract composition order
• Contract composition = tree • Leaf : contractual specification written by the architect • Node : contractual specification of a sub part of the architecture • Root : contractual specification of the entire architecture
Client GlobalSearch Access
B1 B2 B3
B2,B3
B1,B2,B3
D1 D2 D3
D2,D3
D1,D2,D3
![Page 28: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/28.jpg)
28
PHR example
![Page 29: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/29.jpg)
29
Static interaction analysis
• CALICO's interaction analysis tool • Identify compatible, incompatible and partially compatible interaction • Is independent of any component platform
• Behavioral analysis • Based on existing process algebras (CSP, FSP, ...) • Creating the global CFG by synchronizing CFGs
• Dataflow analysis • Based on partial program validation • Forward propagation of the guarantees • Backward propagation of the assumptions
![Page 30: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/30.jpg)
30
PHR example
![Page 31: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/31.jpg)
31
PHR example
Forward propagation
![Page 32: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/32.jpg)
32
PHR example
Forward propagation Backward propagation
![Page 33: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/33.jpg)
33
Insertion of validation points where runtime checks are needed
PHR example
Forward propagation Backward propagation
V
V
![Page 34: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/34.jpg)
34
1. CALICO Framework
2. CALICO model-level Unified framework for designing and analyzing application properties
• Structure design • Contractual application specifications • Contractual specifications composition
3. CALICO platform-level
![Page 35: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/35.jpg)
35
Adding the missing functionality
• Lack of services for capturing runtime context • Few platforms are able to capture the required runtime information (trace) • Need to add the missing functionality for capturing runtime information
→ CALICO's code instrumentation tool • Instruments automatically the application code
– Capturing the trace : 3 aspects – send a trace, receive a trace, propagate the trace between components
• Generates and weaves aspects accordingly to the models • Is independent of any platform
![Page 36: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/36.jpg)
36
Performing dynamic checking
• Loading of the running application • Generates the sequence of system construction operations • Translates them into calls to platform-specific API
• Need to complete the validation of partially compatible interactions • Check the runtime information
→ CALICO's dynamic validation tool • Receives runtime information • Analyzes it at the model-level • Provides design feedback to the architect • Is independent of any component platform
![Page 37: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/37.jpg)
37
Fixing the errors
![Page 38: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/38.jpg)
38
Conclusion
![Page 39: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/39.jpg)
39
Towards full runtime....and adaptation
-> reification of the whole runtime system • manage the co-evolution of the abstract model and the running model
Abstract model
Execution model
- keep coherent structural modifications - on the ADL - on the running system
- keep an updated view of the specified properties and current contracts
![Page 40: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/40.jpg)
40
Conclusion
• Model-level • Describes the software architecture (structure + properties) using models • Performs static interaction analysis • Is platform independent
• Platform-level • Holds the running system • Contains tools for loading the system • Adds missing services for capturing runtime information
• Couple model-level with platform-level • Capture runtime information at the model level • Locate model elements leading to runtime errors
http://calico.gforge.inria.fr
![Page 41: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/41.jpg)
41
Questions ?
![Page 42: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/42.jpg)
42
Towards full runtime....and adaptation
Calico : a framework that offers
- Coherent abstract models/views of an application from its construction to its execution/adaptation/evolution • Structure • Properties • Deployment • Execution context
- Not platform specific
- Verification supports (static and dynamic)
- Adaptation policies and mechanisms
![Page 43: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/43.jpg)
43
7. Future work
• Handle more platforms • OpenCOM, SCA, Web Services, ...
• Support more kinds of properties and analyses • Behavioral protocol, QoS
http://calico.gforge.inria.fr
![Page 44: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/44.jpg)
44
ADAM Adaptive Distributed Applications and Middleware
• Joint project-team INRIA, Univ. Lille 1 & CNRS since January 2008 • 2 Prof., 2 MCF, 1 CR, 1 MCF (secondment INRIA –Paris 6), 7 Ph.D students, 8 engineers
Scientific challenge • Definition of an Adaptation Model throughout the Software Lifecycle
• Adaptive Component Frameworks for Middleware & Services • Self-configurable components • A framework for composing, deploying, and executing heterogeneous components
• Distributed Applications Design for Adaptive Platforms • Adaptive languages for software architectures • Context-aware modelling for context-aware platforms
Scientific community animation • 25 program committees, 6 ws organisations, Board of GDR GPL
Scientific production • 10 articles, 41 papers, 2 book chapters
Software production • OW2 ecosystem: Suite Fractal - FAC, AOKell, Fraclet, Fractal Explorer, FraSCAti • INRIA ecosystem: Spoon, CALICO, DeployWare/FDF
Industrial transfer • DeployWare/FDF in JOnAS and JASMINe - Bull & in PEtALS - EBM WebSourcing
* PME
![Page 45: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/45.jpg)
45
2. Problems
• Existing static analysis tools are not suitable • Handle a subset of application properties • Are coupled with component or service models
![Page 46: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/46.jpg)
46
2. Problems
• Existing static analysis tools are not suitable • Handle a subset of application properties • Are coupled with component or service models
![Page 47: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/47.jpg)
47
Aspects as first-class entities
47
object JAC, Spoon…
component AOKell
architecture FAC, TranSAT
![Page 48: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/48.jpg)
48
Aspects in architecture & component FAC A programming model that merges AOSD
and CBSE
Notion of an aspect domain in a software architecture
aspect binding + aspect component + dynamic un/weaving
AOKell Engineering technical services for Fractal component-based applications • http://fractal.ow2.org/aokell • http://fac.gforge.inria.fr • France Telecom • [CBSE06, ARES 07, IJCAT 08] • [PhD Pessemier 07]
48
![Page 49: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/49.jpg)
49 Adaptation throughout the software life cycle
49
FraSCAti Soleil FraSCAme TINAP
Software Systems
DeployWare
Adaptation at each step Development process - FAROS [Waignier] - SPL Cappucino [Parra] - Soleil [Plsek]
Transformation tools - Spoon [Noguera]
Architecture framework - CALICO [Waignier]
Runtime platforms - FraSCAti [Collective work] - FraSCAme [Romero] - Soleil [Plsek] - TINAP [Loiret]
Deployment - DeployWare [Dubus]
Maintenance - DECOR [Moha]
Formal Model Fractal/Alloy
Services/Fractal Embedded/Fractal
CALICO CaDSPL
![Page 50: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/50.jpg)
50 Framework for software architecture evolution
• Collaborations INRIA/Triskell, I3S/Rainbow
• ANR FAROS • http://calico.gforge.inria.fr • [Models 08, QoSA 08] • [Ph.D Waignier expected end 09]
50
CALICO Component AssembLy Interaction Control framewOrk Model-based framework 2 levels: Model & PF
![Page 51: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/51.jpg)
51
FraSCAti Marriage of SCA and Fractal
m
Client Server s m s
SCA Fractal
FraSCAti
Reflective SCA components
SOA for Fractal
Reflective introspection, management, reconfiguration
Reflective components Components for SOA
![Page 52: Guillaume Waignier, Anne-Françoise Le Meur, Laurence ...users.polytech.unice.fr/~blay/JourneeCompositionLogicielle/ADAMNice.pdfComponent AssembLy Interaction Control framewOrk 1](https://reader033.vdocument.in/reader033/viewer/2022050201/5f54600f7a38c856e71f507e/html5/thumbnails/52.jpg)
52
Loading the system
• Loading of the running application • Generates the sequence of system construction operations • Translates them into calls to platform-specific API
→ CALICO's application loader tool • Driven by the model-level specifications • Direct Mapping of the common structural elements
– Create/remove components/connectors • Mapping of validation point into adaptor component
– Generates adaptor component forwarding calls – Intercepts the runtime information – Generic approach for creating interceptors