Section: Software
Keywords : architecture-centric IDE, Transformation process.
SafArchie Studio
Participant : Missi Tran-Anh [ correspondant ] .
SafArchie Studio is a software architecture-centric IDE that implements the SafArchie (Safe Architecture) model. It is composed of three main parts. The first one is a set of extensions for ArgoUML to transform the UML case tool into a software architecture case tool. It allows the architect to graphically design a component based software architecture. The second part analyses software architecture consistency. This consists of checking the structural compatibility between bound ports and the behavioral compatibility between bound components with respect to the SafArchie model. The third part is a skeleton generator for the ArchJava language or the Fractal component model (more precisely France Telecom's official implementation: Julia). This generator provides a first level connection between the design and the implementation of a component-based system. The longer term goal of SafArchie Studio is to provide a unified IDE to design, transform and control the evolution of component-based applications. The work on SafArchie Studio was a part of Olivier Barais's PhD thesis [58] and is mainly developed by Missi Tran-Anh and Olivier Barais.
TranSAT tools are designed as extensions of SafArchie Studio (see above). They aim at providing IDE support to allow the architect to stepwise design a software architecture. TranSAT is associated with three main tools:
-
new diagram editors to specify new software architecture patterns
-
a compiler for the software architecture pattern. It performs static analyses to guarantee that the pattern will not compromise the consistency of the software architectures that will be modified.
-
a transformation processor. It integrates a new pattern into a software architecture.
The transformation processor includes a first module to find all the join points that satisfy the join point mask constraints, a second module to dynamically verify the consistency of the resulting software architecture and finally a transformation engine to perform the transformations on the join points selected by the architect. We have three implementations for the processor, each of which uses a specific tool: AGG based on graph theory [102] , [54] , CIAO Prolog based on predicate logic [65] , and DROOLS based on production rules [63] .
The longer-term goal of TranSAT tools consists of comparing the different technologies used to implement an efficient transformation operator. Furthermore, we are going to experiment applying TranSAT's transformation process to other kinds of diagrams such as class diagrams or deployment diagrams. The work on TranSAT was a part of Olivier Barais's PhD thesis. It is mainly developed by Missi Tran-Anh and Olivier Barais.
SafArchie Studio and TranSAT tools are open source software available at http://transat.gforge.inria.fr