Upload
ozzy
View
48
Download
0
Tags:
Embed Size (px)
DESCRIPTION
SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems. Massimo Tivoli Computer Science Department University of L’Aquila [email protected]. Motivations. CBSE is a reused-based approach to the development of software systems - PowerPoint PPT Presentation
Citation preview
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
KKKK
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
f2f2f1f1
f3f3 f4f4desired behavior automaton distribution
automaticsynthesis of
a centralized
no-op coordinator
KKlast-
chance states
distribution
LCi: last-chance states table of fian 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 toolInput (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