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

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

  • Upload
    ozzy

  • View
    40

  • Download
    0

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

Page 1: 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

[email protected]

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

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

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

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

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

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

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.

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

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

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

A quick demo