100 likes | 196 Views
Synthesis of “correct” adaptors for protocol enhancement in component-based systems. Marco Autili, Paola Inverardi, Massimo Tivoli and David Garlan University of L’Aquila Carnegie Mellon University Dip. Informatica 5000 Forbes Avenue
E N D
Synthesis of “correct” adaptors for protocol enhancement in component-based systems Marco Autili, Paola Inverardi, Massimo Tivoli and David Garlan University of L’Aquila Carnegie Mellon University Dip. Informatica 5000 Forbes Avenue via Vetoio 1, 67100 L’Aquila Pittsburgh, PA 15213-3891 {marco.autili, inverard, tivoli}@di.univaq.it garlan@cs.cmu.edu
Motivation C1 C2 Deadlock C3 C4 Uncontrolled-way assembled system Coordinator Free Architecture (CFA): it might have behavioral failures such as deadlock; it might be necessary to enhance the current communication protocol; Our approach: Restrict to safe behaviors; add extra-logic to augment behaviors;
Automatically derived controlled-way assembly code (the coordinator) Method overview: first step C1 C2 • deadlock-free • coordination policies satisfying CFA CBA C3 C4 The behavior of the CBA system is equivalent to the deadlock-free and coordination policies satisfyingbehavior of the CFA system
K + extra-logic enhanced CBA Method overview: second step C1 C2 extra-logic specification (e.g.: data compression with C1 and C2) extra-logic specification (e.g.: encrypt/decrypt with C2) CBA K K C3 C4 C1 C2 extra-logic2 (K2) extra-logic1 (K1) The composition of K and K’ is the new coordinator of the enhanced deadlock-free and coordination policies-satisfying CBA; We achieve compose-ability in the application of extra-logic; C3 C4
CBA (LTSs specification) + Desired behaviors P (Büchi Automata) Method description: existent approach • FROM CFA system TO corresponding CBA system which is deadlock-free and desired behaviors-satisfying: CFA (MSCs specification) P
Server[f ] 3 CBA (LTSs specification) Server[f ] 3 + Client2[f ] Client1[f ] 2 1 Enhancement specification E (MSCs specification) Client2[f ] Client1[f ] Client3[f ] 2 1 4 Method description: novel approach • FROMdeadlock-free and P-satisfying CBA system TO the enhanceddeadlock-free CBA system which still satisfy P: We want to enhance the current communication protocol here and... ...add a new component. E
Method description: novel approach • MSCs specification of the RETRY-ADD enhancement:
Server[f ] 3 NOT(TOP(K”)) Env(SubK) CBA (LTSs specification) Server[f ] SubK 3 WR + Knew Client2[f ] Client1[f ] 2 1 Enhancement specification E (MSCs specification) Client2[f ] Client1[f ] Client3[f ] 2 1 4 Method description: novel approach • FROMdeadlock-free and P-satisfying CBA system TO the enhanceddeadlock-free CBA system which still satisfy P: = Ø ∩ K’’ E K’
Checking enhancement consistency • We want to check if Knewstill satisfiesP. • In general we have to check if (K”|WR|K’|K) satisfies P. • BUT: • by exploiting the constraints of our architectural style, it is enough to check that (TOP(K”) | SubK) satisfies P; • by exploiting the assume-guarantee paradigm: <true>TOP(K”)<A> <A>SubK<P> <true>(TOP(K”) | SubK)<P> • What’s A? • Note that <Env(SubK)>SubK<P> holds for construction. • Thus it is enough to check <true>TOP(K”)<Env(SubK)>, that (in our context) is NOT(TOP(K”)) ∩ Env(SubK) = Ø. Env(SubK).
Conclusion and future work • Conclusion: • we designed and developed a tool (called SYNTHESIS) which implements the whole approach; • we applied SYNTHESIS in the context of COM/DCOM applications; • the method is compositional in the automatic synthesis of the enhanced coordinator; • we are able to add extra-functionality to a coordinator beyond simply restricting its behavior; (SYNTHESIS is available at the URL: http://www.di.univaq.it/tivoli/SYNTHESIS/synthesis.html) • As future work, we plan to: • use a more user-friendly and expressive specification of the desired behaviors and of the enhancements: • e.g., UML2 Interaction Overview Diagrams and Sequence Diagrams; • validate the applicability of the whole approach to real-scale examples; • derive a distributed implementation of the coordinators (in order to not impose constraints on the system’s components deployment); • study compositional and algebraic properties of coordinators: • commutativity, inverse, idempotence.