a model-based framework for statically and dynamically checking component interactions (calico)...

34
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

Upload: hector-willis

Post on 03-Jan-2016

224 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 2: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 3: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 4: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 5: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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…)

Page 6: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 7: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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]

Page 8: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 9: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 10: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 11: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 12: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 13: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

TODO: Insert diagram

[4]

Page 14: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 15: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 16: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

TODO: insert picture

[4]

Page 17: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 18: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

TODO: Insert picture

[4]

Page 19: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 20: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 21: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

CSE294@UCSD-Fall'0921

Running Example: PHR (2/4)

[4]

Page 22: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

CSE294@UCSD-Fall'0922

Running Example: PHR (3/4)

Control and dataflow for PDAClient, Server, Cache

[4]

Page 23: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

CSE294@UCSD-Fall'0923

Running Example: PHR (4/4)

Dataflow for the whole system

[4]

Page 24: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 25: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

CSE294@UCSD-Fall'0925

Details on implementation (1/2)

[4]

Page 26: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

CSE294@UCSD-Fall'0926

Details on implementation (2/2)

Different parts of the implementation– Application loader– Code instrumentation– Dynamic validation and feedback

Page 27: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 28: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

CSE294@UCSD-Fall'0928

Future work

Extensions to CALICO– New platform drivers– More meta-models for other type of

properties/contracts (QoS)

Page 29: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 30: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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)

Page 31: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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…

Page 32: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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

Page 33: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

CSE294@UCSD-Fall'0933

Q & A

Page 34: A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L

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