Page under construction...
SYNTHESIS:
A tool for synthesizing “correct”
and protocol-enhanced adaptors
Adaptation of software components is an important issue in Component Based Software Engineering (CBSE).
Building a system from reusable or Commercial-Off-The-Shelf (COTS) components introduces a set of
problems, mainly related to compatibility and communication aspects. On one
hand, components may have incompatible interaction behaviour. This might
require to restrict the system's behaviour to a subset of safe behaviours. On
the other hand, it might be necessary to enhance the current communication
protocol. This might require to augment the system's behaviour to introduce
more sophisticated interactions among components. We address these problems by
implementing our architectural approach for synthesizing
“correct” and protocol-enhanced adaptors in the
SYNTHESIS tool designed and developed in collaboration with
M. Tivoli
and
P. Inverardi.
Taking into account the
specification of the system to be assembled and the specification of the
protocol enhancements, SYNTHESIS automatically derives, in a compositional way,
the glue code for the set of components. The synthesized glue code implements a
distributed software coordinator/adaptor which avoids incompatible interactions and provides a
protocol-enhanced version of the composed system. By using an assume-guarantee
technique, SYNTHEISIS is able to check, in a compositional way, if the protocol
enhancement is consistent with respect to the restrictions applied to assure
the specified safe behaviours.
Refer to Publications for a
a set of publications on the SYNTHESIS tool.
To download a limited version of SYNTHESIS tool click
Synthesis.jar.
This limited version is missing of the
“XMSC module” which allows to write
the bMSCs and HMSCs specification of the system. This is not a real limitiation because
the user can directly provide the LTS (Labeled Transition System) specification
of the interaction behavior of the components forming the system to be enhanced.
Moreover, this limited version does not store the SYNTHESIS's files
in a XML format but it uses a binary format via java objects serialization.
Thus to open the following sample files, java(TM) 2
Runtime Environment version 1.4.2_05 is needed.
For those interested in the complete version of SYNTHESIS tool, contact tivoli@di.univaq.it or marco.autili@di.univaq.it
::design Marco (mail to)
::last modified: february 01st, 2012