Welcome to SOFA 2
SOFA 2 project
SOFA 2 is a component system employing hierarchically composed components. It is a direct successor of the SOFA component model, which provides the following features: ADL-based design, behavior specification using behavior protocols, automatically generated connectors supporting seamless and transparent distribution of applications, and distributed runtime environment with dynamic update of components.
From its predecessor, SOFA 2 has inherited the core component model, which is however improved and enhanced in the following way: (1) the component model is defined by means of its meta-model; (2) it allows for a dynamic reconfiguration of component architecture and for accessing components under the SOA concepts; (3) via connectors, it supports not only plain method invocation, but in fact any communication style; (4) it introduces aspects to components and uses them to clearly separate the control (non-functional) part of components and to make it extensible. Similar to it predecessor, SOFA 2 is not only a tool for modeling components, but it provides a complete framework supporting all the stages of an application lifecycle from development to execution.
The summarized list of SOFA 2 features includes:
- Model-driven design
- Hierarchical architectures
- Support for dynamic architectures
- Support for multiple communication styles
- Formal modeling of both functional and non-functional parts of components
- Transparent distribution with help of software connectors
- Behavior validation
- Graphical designer
SOFA 2 has been developed mainly by the Department of Distributed and Dependable Systems at Charles University in Prague.