Font size:      

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.

SOFA 2 is mainly described in the papers. A more complete list of related papers can be found at the D3S site.