Evaluation of Architecture Models in the context of EAM using Machine Learning Techniques

Evaluation of Architecture Models in the context of EAM using Machine Learning Techniques

The Enterprise Architecture (EA) describes the structure of an organization from both business and technical perspective. The Enterprise Architecture Management (EAM) is created to establish discipline in industry consisting of all the functions related to EA, like maintaining or providing information.

In the world of Enterprise Architecture Modeling, the main building blocks are the components and the relations between them. Since the components can have a broad range, they belong to different layers. For example, one possible layer organization could result in Data Provider, Data Transport, Processing and Visualization Layer.

But this approach doesn’t solve the problem of introducing redundant components. Very often, the architects, not aware of the existence of some components, are adding new ones to suit their needs. This can lead into registering obsolete components, which in turn, pollutes the architecture repository.


Our goal is to improve the project models by identifying the new components and suggesting an alternative; an already existing component which meets the standards of the given project. The components are evaluated using the Enterprise Architecture Repository at ITERGO. The data from the repository is pulled from Abacus – a EAM tool that besides the repository, contains additional information (graphics, analysis units etc.). The information is organized as a XML file containing all the components, their properties and the relations between them. This will serve us as a reference when evaluating the project architecture.


Since the information about Abacus is stored as a XML, first it needs to be transformed to a graph. Each component is attributed with a label and set of properties.

The project models, which are also XML files, will be analyzed to identify what should be replaced. The graph will be mined for similar components to the previously identified new components. Since the project is essentially also a graph, matching can be performed using heuristics as maximal common sub graph, graph edit distance etc. As metrics for node similarity, we will compare the titles, the properties of the nodes, their description, and the edges between the nodes. The analysis will be offered as a service, implemented as a server.

After obtaining our results, they should be presented to the architect in an intuitive way. The tool used for modeling, called Archi, would be suitable place for marking the conflicted components. The feedback will be a visual information, registered by changing a UI property.

Project information



Thesis for degree:



Vasil Borozanov