SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems...

8
automatically assembling correct and distributed component-based systems Massimo Tivoli Computer Science Department University of L’Aquila [email protected]

Transcript of SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems...

Page 1: SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems Massimo Tivoli Computer Science Department University of.

SYNTHESIS: a tool for automatically

assembling correct and distributed component-

based systemsMassimo Tivoli

Computer Science DepartmentUniversity of L’Aquila

[email protected]

Page 2: SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems Massimo Tivoli Computer Science Department University of.

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

Page 3: SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems Massimo Tivoli Computer Science Department University of.

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

Page 4: SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems Massimo Tivoli Computer Science Department University of.

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

Page 5: SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems Massimo Tivoli Computer Science Department University of.

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.

Page 6: SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems Massimo Tivoli Computer Science Department University of.

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

Page 7: SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems Massimo Tivoli Computer Science Department University of.

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

Page 8: SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems Massimo Tivoli Computer Science Department University of.

A quick demo