 
                        A Standards-based Framework for Test-driven Agile Simulation Standardbasiertes Framework für die Testgetriebene Agile Simulation Der Technischen Fakultät der Friedrich-Alexander-Universität Erlangen-Nürnberg zur Erlangung des Doktorgrades DOKTOR-INGENIEUR vorgelegt von Vitali Schneider aus Schemonaicha Als Dissertation genehmigt von der Technischen Fakultät der Friedrich-Alexander-Universität Erlangen-Nürnberg Tag der mündlichen Prüfung: 09.11.2018 Vorsitzender des Promotionsorgans: Prof. Dr.-Ing. Reinhard Lerch Gutachter: Prof. Dr.-Ing. habil. Reinhard German Prof. Dr.-Ing. habil. Dietmar Fey Abstract In view of increasing the efficiency of development processes in the field of software and systems engineering, model-driven techniques are coming into ever more widespread use. On the one hand, the abstract graphic models help to master the complexity of the system under development. On the other hand, formal models serve as the source for analysis and automated synthesis of a system. Thereby, model-based transformation engines and generators allow the specifications to be defined platform- and target-language-independently and to be automatically mapped to the desired target platform. Test-driven development is a promising approach in the field of agile software development. In this method, the development process is based on relatively short iteration cycles with preceding test specifications. Due to the fact that the actual implementation is consistently carried out in compliance with the previously written tests, this method leads to a higher test coverage at early development stages and thus contributes to the overall quality assurance of the resulting system. This thesis introduces the concept of Test-driven Agile Simulation (TAS) as a consistent evolution of the systems engineering methods through the combination of test- and model-driven development techniques with the model-driven simu- lation. With the help of simulations, performance evaluations and validation of the modeled system can be carried out in the early stages of the development process, even when no program code or a fully implemented system is yet availa- ble. The primary goal of this approach is to combine the advantages of the above techniques to enable a holistic model-based approach to systems engineering with improved quality assurance. In particular, special attention is thereby paid to the modeling and validation of the overall system, taking into account the effects of communication between its components. The whole approach is founded upon the widespread and established standards for Model-Driven Architecture (MDA) provided by the Object Management Group iii (OMG). Using the OMG’s standard modeling language UML in combination with the specialized extension profiles, it is possible to specify requirements, system models as well as test models in a uniform, formal, and standard-compliant manner. The creation and presentation of the essential elements of such specifications are largely done with the help of graphical diagrams, such as class, composition structure, state, and activity diagrams. In order to facilitate behavioral modeling using detailed activity diagrams, TAS provides support for the textual activity language Alf, which is also a standard provided by OMG. UML models can be used at different levels of abstraction for specification as well as for analysis. In the TAS approach, these models are automatically transformed into an executable simulation code which can then be executed to ensure primarily the required behavior of the system and the correctness of the tests. In this way, by running tests early on the simulated model, the mutual validation of the system and test specification is performed. The simulation of the modeled system also provides insights into the expected dynamic behavior of the system in terms of functional as well as non-functional properties. For supporting the TAS approach, a versatile integrated tool environment is provided by our framework SimTAny. The framework offers seamless support for modeling, transforming, simulating, and testing UML-based specification models. In addition to the modeling methodology of TAS, the realization of the frame- work itself is largely based on the standards of the OMG. Thereby, model-based approaches and standardized transformation languages have a wide application in different components of SimTAny. Other helpful features of SimTAny include traceability of requirements across modeled elements and automatically generated code artifacts, as well as the management and design of simulation experiments. The service-oriented architecture of the framework also makes it possible to met the challenges in the distributed development processes. This also leads to the simplifications in terms of functionality extension of the framework itself and its integration into existing development environments and processes. iv Kurzfassung Zur Effizienzsteigerung von Entwicklungsprozessen in der Software- und System- entwicklung werden verstärkt modellgetriebene Techniken eingesetzt. Zum einen helfen die abstrakten grafischen Modelle die Komplexität des zu entwickelten Systems zu beherrschen. Zum anderen dienen die formalen Spezifikationen als Basis für die Systemanalyse und automatische Systemimplementierung. Dabei erlaubt der Einsatz von modellbasierten Transformatoren und Generatoren die Spe- zifikationen plattform- und zielsprachunabhängig zu definieren und automatisiert auf die gewünschte Zielplattform abzubilden. Eine vielversprechende Methode in der agilen Softwareentwicklung stellt zu- dem der testgetriebene Ansatz dar. Bei dieser Methode findet die Entwicklung in relativ kurzen Iterationszyklen mit stets vorgelagerten Testspezifikationen statt. Dadurch, dass die eigentliche Implementierung konsequent unter Beachtung der zuvor geschriebenen Tests erfolgt, dient dieses Verfahren zu höherer Testabdeckung bereits in Anfangsphasen der Entwicklung und trägt somit zur Qualitätssicherung des resultierenden Systems bei. Im Rahmen der vorliegenden Arbeit wird das Konzept der Testgetriebenen Agi- len Simulation (TAS) als konsequente Weiterentwicklung der Systems Engineering Methoden durch die Kombination der test- und modellgetriebenen Entwicklungs- techniken mit ebenfalls modellgetriebener Simulation vorgestellt. Mit Hilfe von Simulationen lassen sich frühzeitig Leistungsbewertung und Validierung des mo- dellierten Systems durchführen, selbst in den früheren Phasen des Entwicklungs- prozesses, wo noch kein Programmcode oder ein fertig implementiertes System vorhanden ist. Das primäre Ziel dieses Ansatzes ist es, die Vorteile der genannten Techniken zu kombinieren, um letztendlich eine durchgehend modellgestützte Vorgehensweise zum System Engineering mit verbesserter Qualitätssicherung zu ermöglichen. Ein besonderes Augenmerk wird dabei auf die Modellierung und Validierung des Gesamtsystems gelegt, wobei insbesondere Effekte der Kommuni- kation zwischen den Komponenten berücksichtigt werden. v Der gesamte Ansatz stützt sich grundsätzlich auf die weitverbreiteten und etablierten Standards der Object Management Group (OMG) für Modellgetriebene Software-Architektur (MDA). Mit der von OMG standardisierten Modellierungs- sprache UML in Kombination mit den spezialisierten Erweiterungsprofilen können so Anforderungen, Systemmodelle sowie Testmodelle einheitlich, formal und stan- dardkonform spezifiziert werden. Die Erstellung und Darstellung der wesentlichen Elemente solcher Spezifikationen erfolgt dabei zum größten Teil mit Hilfe von gra- fischen Diagrammen, wie zum Beispiel Klassen-, Kompositionsstruktur-, Zustands- und Aktivitätsdiagrammen. Zur Erleichterung der Verhaltensmodellierung mit detaillierten Aktivitätsdiagrammen unterstützt TAS außerdem die ebenfalls von OMG standardisierte textuelle Aktivitätssprache Alf. UML-Modelle lassen sich auf unterschiedlichen Abstraktionsebenen sowohl zur Spezifikation als auch zur Analyse einsetzten. In dem TAS Ansatz werden diese Modelle automatisiert in einen ausführbaren Simulationscode transformiert und zur Ausführung gebracht, um in erster Linie das geforderte Verhalten des Systems sowie die Korrektheit der Tests sicherzustellen. Auf diese Weise, durch die frühzeitige Ausführung von Tests auf dem simulierten Modell, wird die gegen- seitige Validierung der System- und Testspezifikation durchgeführt. Durch die Simulation des modellierten Systems lassen sich außerdem Erkenntnisse über das zu erwartende dynamische Verhalten des Systems hinsichtlich funktionaler als auch nicht-funktionaler Eigenschaften gewinnen. Eine vielseitige integrierte Werkzeugumgebung für den TAS Ansatz stellt unser Framework SimTAny zur Verfügung. Das Framework bietet eine nahtlose Unter- stützung für die Modellierung, Transformation, Simulation und das Testen von UML-basierten Spezifikationsmodellen. Neben der Modellierungsmethodik von TAS stützt sich auch die Realisierung des Frameworks selbst weitgehend auf die Standards der OMG. Eine breite Anwendung finden dabei modellbasierte Ansätze und standardisierte Transformationssprachen. Zu den weiteren hilfreichen Featu- res von SimTAny zählen zudem die Nachverfolgbarkeit von Anforderungen durch Modelle bis hin zu den automatisch generierten Codeartefakten sowie die Verwal- tung und das Design von Simulationsexperimenten. Durch die Service-orientierte Architektur des Frameworks lassen sich außerdem die Herausforderungen in ver- teilten Entwicklungsprozessen begegnen. Die Erweiterbarkeit des Frameworks sowie dessen Integration in bestehende Entwicklungsumgebungen und
Details
- 
                                File Typepdf
- 
                                Upload Time-
- 
                                Content LanguagesEnglish
- 
                                Upload UserAnonymous/Not logged-in
- 
                                File Pages234 Page
- 
                                File Size-
