SOFA (component system)

SOFA 2 is a component system developed by Distributed Systems Research Group at Charles University in Prague. It provides many advanced features: ADL-based design, behavior specification and verification based on behavior protocols, software connectors supporting different communication styles and providing transparent distribution of applications. SOFA 2 can be used not only for modeling component-based applications but also as a complete framework supporting all the stages of an application lifecycle from development to execution.

SOFA 2 basis
The SOFA 2 system includes a component model, repository of components, runtime environment and tool support.

Component Model
SOFA 2 component model is defined by means of its meta-model which captures core concepts and states relation among them.

Repository
SOFA 2 provides a repository of a components which is automatically generated from the meta-model.

Tool support

 * Cushion - is a text-based tool which allows development of SOFA 2 applications and manipulation with a repository
 * SOFA IDE - is a graphical tool (plugin for Eclipse)
 * MConsole - is a plugin for Eclipse (as well as a standalone application) monitoring and maintaining SOFA 2 runtime environment

SOFA application lifecycle

 * application design
 * component development, adaptation
 * application assembly
 * application deployment
 * application execution - monitoring, maintaining