AMW Use Case - System Architecture (SA) Management

AMW Logo

This use case shows how to map the overlapping concepts of different views of a complex system. It uses a framework that deals with System Architecture (SA) called DoDAF (Department of Defense Architecture Framework).

Overview

A System Architecture is the set of relations between the parts of a system. DoDAF is a framework of development of System Architecture developed by the department of defense.

A system can be decomposed into different views. Each view provides a perspective of the system with respect of a set of aspects and interests. There are different relationships between the concepts of these views. For example, the traceability matrix is a view that captures the relationships between two views, OV-5 and SV-4. OV-5 is an operational view, and SV-4 is a system view. The traceability matrix is defined as a subset of another system view, called SV-5.

  • In this use case, we present how weaving models and model transformations are used to automate the process of defining the SV-5 view. The two views are first translated into SV-5, and then this view is used to produce a traceability matrix between SV-4 and OV-5.

The first steps is to create these three views as KM3 metamodels (SV-4, OV-5 and SV-5). A weaving model is used to capture the overlapping concepts between these views (see figure below). We create two weaving models, one between OV-5 and SV-5, and other between SV-4 and SV5.



Weaving models between DoDAF views

The views are composed by an average of 100 elements. So we automate the process of creating weaving models by executing a set of matching transformations (see the matching use case). This process avoids developing these weaving models manually. The matching transformations are executed following a set of rules:
  • only the elements with the same type are compared (a typed cartesian product) to create an initial weaving model.
  • a weaving link is created between elements with the same type and name.
  • only the weaving links with a similarity value set to one (1) are considered equivalent (i.e., the concepts overlap).
  • a weaving link is child of another one if it relates 2 Structural Features and if the 2 SFs are contained symmetrically by Classes linked by the parent equivalence link.
  • a link is child of another one if it relates 2 Classes and if the 2 Classes inherits symmetrically of 2 Classes linked by the parent equivalence link.
The screenshot below shows a weaving model between views OV-5 and SV-5. We select an equality link between the Task elements of each view.



Weaving between views OV-5 and SV-5

The weaving models are used to generate two ATL transformations, one that translates the SV-4 view into the SV-5 view, and another that translates the OV-5 view into the SV-5 view, as shown below. A higher-order transformation takes the weaving model, the OV-5 and SV-5 metamodels as input, and it produces an ATL transformation as output (OV-5_2_SV-5). This transformation translates OV-5 models into SV-5 models. After the two views (OV-5 and SV-4) are simultaneously transformed into an SV-5 view, the SV-5 is used to produce a traceability matrix.



Weaving between views OV-5 and SV-5


Download and examples

Example

This example is the complete scenario that contains the weaving models, weaving metamodel extensions, and transformations that enables to create the SV-5 of DoDAF.

Example HowTo

This document contains step-by-step instructions explaining how to execute the example.

Presentation

This is a presentation of a master thesis that presents a general overview of the approach.

Publication

The publication titled "Model Integration with Model Weaving: a Case Study in System Architecture" presents the motivation to use a model driven engineering approach for this System Architecture use case. It also explains the main results achieved.

Related use cases

Matching

Matching is the generic process that creates weaving models. This use case gives a general overview of the matching process, and how it is handled by AMW and ATL.

Metamodel comparison

This use case demonstrates how weaving models are used to compare different metamodels and to produce executable model transformations (we use two metamodels used to define embedded software in the avionics industry).

Bridge between SQL and KM3

This use case shows how weaving models and model transformations are used to translate SQL-DDL (Data Definition Language) into KM3 (a modeling technical space) and to translate KM3 into SQL.

Relational DB to XML

This use case shows how weaving models can be used to perform the data mapping between relational DBs and XML.

Merge of geographical information (GML) and statistical data

This use case presents a weaving model used to define a merge operation between a metamodel with geographical information (an extension of GML) and a metamodel with statistical data into a graphical representation (SVG).

Bridge between DSL and UML Profiles

This use case shows how AMW and ATL are used to produce a bridge between Domain Specific Languages (DSLs) and UML profiles.

Tool interoperability

This use case shows how weaving models are used to capture the semantic heterogeneities between different tools' metamodels. We use two well known bug tracking tools, Mantis and Bugzilla.