Event-driven simulator for the Palladio Component Model

Thumbnail Image

Date

2021

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Context. Most often, developers and architects model their component-based softwares but are not aware what impact their design decision can have to the system. For this reason, the Palladio Component Model was created in order to model such softwares in advance, but at the same time predict certain software qualities. The quality prediction is done by the simulators for the PCM. Problem. However, in recent years the PCM is constantly extended with new meta-models, semantics, tools, and further more. In order to include these new features into the existing simulators, they generally have to change and adapt their existing components and code which can lead to the ripple effect. While some simulators try to be extensible by being modularized, the issues are not fully resolved. Objective. In this thesis, the new Slingshot PCM simulator is introduced and developed which tries to improve extensibility by applying the Event-Driven Architecture (EDA). EDAs have the ability to be very extensible. Furthermore, a prototypical implementation of simulation behaviors will be given. The extensibility of the system is evaluated and compared against the most used simulators. Method. First, the concept of the event-driven simulator is developed and implemented. The simulation behaviors are directly implemented afterwards. Finally, the extensibility of the Slingshot simulator is evaluated by using related software quality metrics as well as comparing the change in lines of code that is needed when implementing such simulation behaviors. Result. The results show that the event-driven architecture does improve extensibility, as long as the system including the new extension is modularized. The full implementation for the simulation behaviors, however, are still under construction. Nevertheless, the core Slingshot system is now developed. Conclusion. Because the Slingshot system is extensible, various features can be implemented into the system independently with less or no change of the existing system at all.


Kontext. Oft modellieren Softwareentwickler und -architekten ihre komponenten-basierten Softwaresysteme, ohne sich dessen bewusst zu sein, welche Folgen ihre Architekturentscheidungen für das resultierende System haben könnten. Aus diesem Grund wurde das Palladio Component Model entwickelt, das es erlaubt, neben dem eigentlichen Modellieren des Systems gleichzeitig auch die Qualitätseigenschaften vorherzusagen. Die Qualitätseigenschaften werden durch die Simulatoren für PCM berechnet. Problem. In den letzten Jahren wurde PCM jedoch stetig weiterentwickelt und mit neuen Metamodellen, Semantiken, Werkzeugen, usw. ausgestattet. Simulatoren müssen, um die neuen Weiterentwicklungen zu unterstützen, ihre bereits bestehenden Module umprogrammieren, was häufig zu einem Ripple Effect führt. Während zwar manche Simulatoren versuchen ihre Erweiterbarkeit durch Modularisierung zu verstärken, können häufig eine Reihe von verschiedenen Features ohne Änderung des Codebases nicht implementiert werden. Ziel. In dieser Arbeit wird ein neuer Simulator konzeptioniert und entwickelt, der auf die ereignisgesteuerte Architektur basiert. Ereignisgesteuerte Architekturen haben die Eigenschaft stark erweiterbar zu sein. Außerdem werden neben dem Basissystem prototypische Implementierungen der Simulationen gegeben. Die Erweiterbarkeit wird schließlich mit den anderen Simulatoren evaluiert. Methode. Zunächst wird ein Konzept des ereignisgesteuerten Simulators entwickelt und schließlich implementiert. Gleichzeitig werden auch direkt die Simulationen implementiert. Am Ende wird die Erweiterbarkeit evaluiert, indem bestimmte Softwaremetriken verglichen werden. Zusätzlich werden die Änderungen erwähnt, die nötig sind, um eine Simulation zu entwickeln. Ergebnis. Die Werte zeigen, dass ein ereignisgesteuerter Simulator tatsächlich die Erweiterbarkeit verbessert, sofern das System inklusive der Erweiterungen modularisiert bleibt. Nichtsdestotrotz sind die Entwicklungen der Slingshot-Simulationen noch nicht abgeschlossen. Fazit. Dadurch, dass das System erweiterbar ist, können verschiedene Erweiterungen unabhängig voneinander entwickelt werden, sodass nun weniger oder sogar keine Änderungen am existierenden System nötig sind.

Description

Keywords

Citation

Endorsement

Review

Supplemented By

Referenced By