## 4 Proof of Concept Implementation
### Comparison Mechanism
Listing 2 represents an excerpt of the global model of the EMA system modeled in Altarica 3.0. In our scenario, all components may fail and they are non-separable components. An observer is defined to track the failure event system that consists of the loss of the a

Figure 6. Modelica model of the EMA system. ### Methodology Application

In the following, our methodology is illustrated using the EMA example. #### 5.2.1 Abstraction

As discussed in Section 3, we transform our engineering models into directed graph representations. The abstracted models are visualized in yEd tool, as shown in Figure 7.

#### 5.2.2 Comparison

The abstracted models (Figure 7) are exported from the yEd tool to the NetworkX tool based on the GraphML format. We used the code depicted in Listing 1 to compare abstracted graphs (e.g., comparing SysML and Modelica graphs). We were able to assess the consistency between models within five iterations. We depict the comparison method as follows: As a first step, we constitute a first version of the label repository, where we list the set of vertices representing the inter-model correspondences. For each iteration, we import the different abstracted graphs (e.g., we imported SysML and Modelica graphs in Listing 1, lines 7-8). Then, we represent graphically the common subgraph that exists between SysML and Modelica graphs in lines 17-23 of Listing 1. After that, we compose the two graphs in a graph g4 in lines 26-48 of Listing 1. In this graph, we represent the common subgraph between SysML and Modelica graphs, and the extra nodes and edges are represented in different colors. The extra nodes and edges represent specific entities for each model. Finally, the code in lines 43-48 of Listing 1 print a graph represented as a chord diagram as shown in Figure 8.

The final iteration enables the visualization of all correspondences and differences between the two modeling languages. As an example, we represent in Figure 8 successively the inter-model connections between SysML and Modelica abstracted models (Figure 8a) and the inter-model connections between the SysML and Altarica abstracted models (Figure 8b) in the final iteration. Figure 7: Abstraction of different domain-specific models (red nodes = incorrect naming, dashed edges = missing or adding edges): (**a**) SysML abstracted model, (**b**) Modelica abstracted model, and (**c**) Altarica abstracted model. In this stage, the project manager diagnoses the differences detected in the comparison process. Then, they decide if they are considered as inconsistencies or intentional differences due to the specification of each modeling language. In our case study, the project manager identifies different types of differences:

* **Unconventional naming** Each expert uses a very precise and specific vocabulary from other disciplines. Therefore, we detect different naming of modeling elements between various models that refer to the same concept (e.g., Gearbox and idealGear). * **Level of abstraction** The difference between models can be related to the level of abstraction at which a designer considers the system. The design information can be decomposed in subsystems in a different manner between various models (e.g., bsNA). * **Design concerns** In a multi-viewpoint design, each designer focuses on a certain design concern of the overall system and considers these concerns at a certain level of abstraction. Therefore, the comparison process can detect missing or additional elements between models addressing particular perspectives (e.g., aerodynamic torque). The set of inconsistencies identified in our work is shown below:

* **Conflicting information** This type of inconsistency occurs whenever there is knowledge about the system producing contradictory information between different viewpoints (e.g., the housing connections are different between SysML and Altarica digraphs). * **Inconsistencies based on meta-level correspondences** This sort of inconsistency exists when the different mapping between the entities of modeling languages is not guaranteed.