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)

Metrics

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

Resources

 

Upcoming Events

  • Mar 12, 2022 09:00 AM to Mar 15, 2022 03:00 PM Honolulu - Hawaii (USA) ICSA 2022
  • Mar 15, 2022 09:00 AM to Mar 18, 2022 03:00 PM Honolulu, Hawaii (USA) SANER 2021
  • Apr 09, 2022 09:00 AM to Apr 13, 2022 03:00 PM Beijing, China ICPE 2022
  • May 20, 2022 09:00 AM to May 28, 2022 03:00 PM Pittsburgh, PA (USA) ICSE 2022
Research Projects

Teaching