Component system for designing applications composed of hierarchical, dynamically updatable components.

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.

Web site
Project leader(s)

Petr Hnetynka <>

FunctionalityMiddleware framework / Component / Tool
License(s)GNU Lesser General Public License v2.1 only
VCS repository(ies)
Discussion channels