a model-based framework for statically and dynamically checking component interactions (calico)...
TRANSCRIPT
A Model-Based Framework for Statically and Dynamically Checking Component
Interactions (CALICO)Waignier, G., Sriplakich, P., Meur, A., and Duchien, L.
2008 Proceedings of the 11th International Conference on Model Driven Engineering Languages and Systems [4]
Presented by Celal Ziftci CSE-294@UCSD-Fall’09
6-Nov-2009
CSE294@UCSD-Fall'092
Contents
Introduction– Overview– Existing work
What is the proposal?– Approach– Meta-models
Running example Details on implementation Future work Discussion of the approach (vs. ours) Q & A
CSE294@UCSD-Fall'093
Contents
Introduction– Overview– Existing work
What is the proposal?– Approach– Meta-models
Running example Details on implementation Future work Discussion of the approach (vs. ours) Q & A
CSE294@UCSD-Fall'094
Introduction: Overview (1/2)
Interested in components and the specification of them and their interaction
Architecture Description (AD) Models: for components and their interactions
Common properties of interest in a system:– Structural– Behavioral– Dataflow– QoS
Verification of the system from models: static & dynamic– Compatible– Incompatible– Partially compatible
CSE294@UCSD-Fall'095
Introduction: Overview (2/2)
More on verification: must be done globally! So… What do we do with verification results?
– Compatible– Incompatible– Partially compatible (hmm, tricky…)
CSE294@UCSD-Fall'096
Contents
Introduction– Overview– Existing work
What is the proposal?– Approach– Meta-models
Running example Details on implementation Future work Discussion of the approach (vs. ours) Q & A
CSE294@UCSD-Fall'097
Existing work
Some work on adding dynamic checks to do the verification of partially compatible points [1: Batistal ’05]
Some work on using models at runtime to take snapshots, and then do validation on snapshot [2: Hein ‘07]
Some work that inserts runtime assertions to running system to do validation [3: Jung]
CSE294@UCSD-Fall'098
Contents
Introduction– Overview– Existing work
What is the proposal?– Approach– Meta-models
Running example Details on implementation Future work Discussion of the approach (vs. ours) Q & A
CSE294@UCSD-Fall'099
What is the proposal?: Approach
A system that:– provides meta-models to specify the component based systems– includes a runtime system for deployment using models– provides a runtime to do verification of all properties, compatible,
incompatible or partially compatible– provides feedback to the architecture design team during design
time A system that can:
– do static verification for those constraints that can be verified statically
– do dynamic verification for those constraints that cannot be verified via static analysis
CSE294@UCSD-Fall'0910
Contents
Introduction– Overview– Existing work
What is the proposal?– Approach– Meta-models
Running example Details on implementation Future work Discussion of the approach (vs. ours) Q & A
CSE294@UCSD-Fall'0911
What is the proposal?: Meta-models
4 types of AD meta-models are provided:– System structure– Structural contract– Behavioral contract– Dataflow contract
CSE294@UCSD-Fall'0912
What is the proposal?: Meta-models
4 types of AD meta-models are provided:– System structure– Structural contract– Behavioral contract– Dataflow contract
TODO: Insert diagram
[4]
CSE294@UCSD-Fall'0914
What is the proposal?: Meta-models
4 types of AD meta-models are provided:– System structure– Structural contract– Behavioral contract– Dataflow contract
CSE294@UCSD-Fall'0915
What is the proposal?: Meta-models
4 types of AD meta-models are provided:– System structure– Structural contract– Behavioral contract– Dataflow contract
TODO: insert picture
[4]
CSE294@UCSD-Fall'0917
What is the proposal?: Meta-models
4 types of AD meta-models are provided:– System structure– Structural contract– Behavioral contract– Dataflow contract
TODO: Insert picture
[4]
CSE294@UCSD-Fall'0919
Contents
Introduction– Overview– Existing work
What is the proposal?– Approach– Meta-models
Running example Details on implementation Future work Discussion of the approach (vs. ours) Q & A
CSE294@UCSD-Fall'0920
Running Example: PHR (1/4)
French Personal Health Record system: provides health-care personnel information: X-rays, medications etc.
Needs to:– Communicate heterogeneous information
Small text files Huge (order of gigabytes) echographies
– Communicate with heterogeneous devices PDAs with small screens using low bandwith GPRS Desktops with large screen monitors using gigabyte network
connections
CSE294@UCSD-Fall'0921
Running Example: PHR (2/4)
[4]
CSE294@UCSD-Fall'0922
Running Example: PHR (3/4)
Control and dataflow for PDAClient, Server, Cache
[4]
CSE294@UCSD-Fall'0923
Running Example: PHR (4/4)
Dataflow for the whole system
[4]
CSE294@UCSD-Fall'0924
Contents
Introduction– Overview– Existing work
What is the proposal?– Approach– Meta-models
Running example Details on implementation Future work Discussion of the approach (vs. ours) Q & A
CSE294@UCSD-Fall'0925
Details on implementation (1/2)
[4]
CSE294@UCSD-Fall'0926
Details on implementation (2/2)
Different parts of the implementation– Application loader– Code instrumentation– Dynamic validation and feedback
CSE294@UCSD-Fall'0927
Contents
Introduction– Overview– Existing work
What is the proposal?– Approach– Meta-models
Running example Details on implementation Future work Discussion of the approach (vs. ours) Q & A
CSE294@UCSD-Fall'0928
Future work
Extensions to CALICO– New platform drivers– More meta-models for other type of
properties/contracts (QoS)
CSE294@UCSD-Fall'0929
Contents
Introduction– Overview– Existing work
What is the proposal?– Approach– Meta-models
Running example Details on implementation Future work Discussion of the approach (vs. ours) Q & A
CSE294@UCSD-Fall'0930
Discussion of the approach (vs. ours) (1/2)
A system that is designed with this framework is not guaranteed to satisfy those constraints
The validation/checking problem is spread onto different parts of the runtime
Constraints are coupled with the running system (lifecycle issue)
CSE294@UCSD-Fall'0931
Discussion of the approach (vs. ours) (2/2)
Nice work on:– Automatic deployment– Automatic validation point generation from the
models
So, I asked myself these questions for our own approach…
CSE294@UCSD-Fall'0932
Contents
Introduction– Overview– Existing work
What is the proposal?– Approach– Meta-models
Running example Details on implementation Future work Discussion of the approach (vs. ours) Q & A
CSE294@UCSD-Fall'0933
Q & A
CSE294@UCSD-Fall'0934
References
[1] Batista1, T., Joolia, A., Coulson, G.:Managing dynamic reconfiguration in component-based systems. In: Morrison, R., Oquendo, F. (eds.) EWSA 2005. LNCS, vol. 3527, pp. 1–17. Springer, Heidelberg (2005)
[2] Hein, C., Ritter, T., Wagner, M.: System monitoring using constraint checking as part of model based system management. In: International Workshop [email protected] (2007)
[3] Jung, H., Rubio-Medrano, C.E.,Wong, W.E., Cheon, Y.: Architectural Assertions: Checking Architecrural Constraints at Run-Time
[4] A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO), Waignier, G., Sriplakich, P., Meur, A., and Duchien, L. 2008 Proceedings of the 11th International Conference on Model Driven Engineering Languages and Systems