Software Engineering Group

Entropy-based Architecture and Model Analysis

Models play an important role in software development and system operation. They are used for many different purposes including architecture models, adaptation plans, and runtime models. Their size, complexity, coupling, and cohesion have an impact on many uses of runtime models and on the evolution and adaptation of design time models and software. Therefore, it is necessary to measure these attributes and assess the model quality. Many approaches try to identify these attributes based on counting measures applied to the original artifacts. This has two downsides:

  1. Measurements are not comparable between metamodels.
  2. The measurement does not reflect the cognitive and computation effort necessary to process models.

Allen et al. (2007) introduced a information theory approach focusing the entropy of systems as the central measure for models. We present an extensible analysis tool realizing this measure and support a wide variety of input models.

Our tool supports an ever growing number of models and supports analysis graph visualizations.

Palladio Component Model presented as Aggregated Hypergraph. Line thinkness express the number of edges between nodes.

Supported Models

  • EMF/Ecore metamodels
  • GECO megamodels
  • Configurable analysis of Java projects
  • Behavior models of the Palladio Component Model (PCM)


  • Hypergraph & Graph Complexity
  • Hypergraph & Graph Coupling
  • Graph Cohesion
  • McCabe Complexity of Java functions
  • Hypergraph & Graph Size in Nodes and Edges



Upcoming Events

Research Projects