MEGAF is an infrastructure for realizing architecture frameworks with a focus on reusing already defined viewpoints and languages and considering stakeholders and their concerns as part of the framework itself.

In this specific context, we refer to the conceptual foundations and on the definition of architecture framework provided in the ISO/IEC 42010 standard. An architecture framework is considered as a coordinated set of viewpoints, models and notations prescribed for them.

MEGAF is an extensible repository of viewpoints, views, model kinds, architecture models, system concerns, and stakeholders. Correspondences and correspondence rules between arbitrary elements, including stakeholders, system concerns, models, etc. can be created in MEGAF. More precisely, they enable the architect to express and enforce relations both between various elements inside an architecture description and across architecture descriptions (such as for product lines or systems of systems).

Overview of MEGAF.

The figure above gives an idea on how MEGAF supports the creation of an architecture framework depending on the various stakeholder concerns of the system. MEGAF provides functionalities that allow software architects to create its own framework by properly selecting among artefacts previously defined and resident inside MEGAF. Once the framework has been defined, it can be used to realize the architecture description of the system-of-interest. In other words, MEGAF allows the architecture description to be created compliant to the architecture framework, views are governed by viewpoints defined in the architecture framework and address some previouslyspecified system concerns. The MEGAF infrastructure allows software architects to create the necessary views, viewpoints, stakeholders, concerns of the system and navigate among them. Under this setting, the evolution of a system concern simply triggers a refactoring of the MEGAF underlying infrastructure, that is actually formalized as a specific kind of model called megamodel. It also allows to check consistency among arbitrary architectural elements. MEGAF also supports different kinds of checks:

MEGAF is developed via specific MDE techniques that provide the right technologies to promote the reuse of any architectural element that resides in the MEGAF infrastructure. Intuitively, in MEGAF a framework can be created by linking and reusing existing elements or adding new ones if needed.

The core of the MEGAF approach is its generic metamodel for software architecture megamodels. We call this metamodel GMM4SA that stands for Global Model Management for Software Architectures. The following link shows the GMM4SA metamodel.

The GMM4SA metamegamodel for Software Architectures.

For detailed information about the MEGAF framework, please refer to the Articles section of this website.