SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems...
-
Upload
elizabeth-cox -
Category
Documents
-
view
216 -
download
2
Transcript of SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems...
SYNTHESIS: a tool for automatically
assembling correct and distributed component-
based systemsMassimo Tivoli
Computer Science DepartmentUniversity of L’Aquila
Motivations•CBSE is a reused-based approach to
the development of software systems
•Compatibility and communication issues may arise
•One possible solution is the use of component coordinators
•Lack of support
• for the automatic synthesis of the actual adaptation/coordination code
• for industrial component technologies, e.g., Microsoft COM/DCOM, EJB
Our previous approach
K is automatically synthesized in order to make the composed system deadlock-free...
automatic synthesis ofa centralized and
deadlock-free coordinator
...and obeying to a desired behavior
+
desired behaviorspecification
uncontrolledsystem
desired behavior enforcing
controlledsystem
KKKKKKKK
its interaction its interaction may deadlock or may deadlock or
not obey to a not obey to a desired behaviordesired behavior
Our current approach
+
desired behaviorspecification
uncontrolledsystem
.aj .aj
.aj .aj
controlledsystem
f2f2f2f2f1f1f1f1
f3f3f3f3 f4f4f4f4desired behavior automaton distribution
automaticsynthesis of
a centralized
no-op coordinator
KKKKlast-
chance states
distribution
LCi: last-chance states table of fi
an entry encodes information about which component shouldwait to perform an action in order not to incur in a deadlockan entry encodes information about which action can be performed according to the current state of the desired behavior automaton
UAi: updating and allowed actions table of fi
The SYNTHESIS tool
Input (a):the interface specification of the components forming the system to be built (“augmented” IDLs)
Input (b):the specification of the desired behaviors that the system to be built must exhibit (LTSs)
Input (c):for each component, the specification of its interaction protocol with the expected environment (XML files encoding HMSCs and bMSCs specifications)
Output (d):By taking into account (a) and (c), SYNTHESIS automatically derives different behavioral models (LTSs) of the components in the system to be assembled.
Output (e):These models range from the component interaction behavior model to the model of the environment expected by the component in order not to block it. By "unifying" all the different component models, SYNTHESIS automatically derives the LTS K of the centralized no-op coordinator
Output (f): All the
synthesizedmodels/
informationis used toautomaticallygenerate the
codeimplementing
thedistributed
versionof the correctcoordinator as a
setof componentwrappers.
Architecture of SYNTHESIS
IDLParser is an abstract superclass that has to be specialized in order to implement a parser of IDL files based on a particular IDL notation (e.g., Microsoft IDL for COM/DCOM, DCE/IDL for CORBA, Java IDL for EJB, etc.)
CoordPolicy implementsthe visual editor of thedesired behavior automaton
MSC implementsthe visual editorused to specify/display/process the interactionbehavior of a componentwith its expectedenvironment
AssumptionBuilder implementsthe automatic generatorof the different componentbehavioral models
CoordinatorBuilder implementsthe automatic generatorof the no-op/deadlock-free/desired-behavior-satisfying coordinator
CodeGenerator implementsthe automatic generatorof the actual compositioncode for the componentsgiven as input
A quick demo...• Simulation of a distributed cooling water-
pipe management system
• Eclipse 3.2.1 as development environment
• Components forming the simulated system
• 2 EJBs as server components
• state-less session beans
• running on JBOSS 3.1 as application server
• 2 J2EE client applications as client components
A quick demo