Model transformation from UML state machines to input/output symbolic transition systems

Abstract

Zsfassung in dt. SpracheTesten ist sehr wichtig im Software Engineering Prozess.Automatische Testfallgenerierung ist ein aktuelles Forschungsgebiet. Es gibt sehr gute Tools, die Testfälle ausgehend von Input/Output Symbolic Transition Systems (IOSTS), ein auf State/Transition basierendes Modell, erzeugen können. Diese Repräsentation wird in der Industrie jedoch nicht zur Systemspezifikation verwendet. UML ist der de facto Standard in diesem Gebiet.Diese Diplomarbeit schließt die Lücke zwischen der Systemspezifikation anhand von UML 2 und den Möglichkeiten der automatisierten Testfallgenerierung basierend auf IOSTS. Eine Modelltransformation von UML 2 zu IOSTS wird präsentiert. Tools, die die Fähigkeit besitzen anhand von IOSTS Spezifikationen Testfälle zu generieren, können diese dann nutzen. Der Symbolic Test Generator (STG), welcher auch im Rahmen dieser Diplomarbeit vorgestellt wird, ist eines dieser Tools.Der automatisierte Testfallgenerierungsprozess basiert auf Conformance Testing. Dies bedeutet eine System Spezifikation anhand einer Conformance Relation mit einer Implementierung zu testen. Im Rahmen dieser Arbeit wird sowohl die sioco (symbolic input output conformance), als auch die ioco (input output conformance) Conformance Relation vorgestellt, da die sioco Relation auf ioco basiert. Des Weiteren werden sowohl IOSTS, als auch der Testfallgenerierungsprozess genau erläutert und definiert. UML ist sehr allgemein, es existieren sehr viele Diagramme und Elemente mit denen Systeme spezifiziert werden können.Deshalb benutzt der Transformationsalgorithmus der in dieser Arbeit vorgestellt wird nur eine Teilmenge von UML. Diese Teilmenge wird im Rahmen der Diplomarbeit genau spezifiziert.Der Hauptteil dieser Arbeit ist der Transformationsalgorithmus. Es wird sehr detailliert erklärt, wie die UML Elemente auf die IOSTS Elemente abgebildet werden. Eine Pseudocode Implementierung des Algorithmus wird auch präsentiert. Da die Transformation nicht vom Tool, das die generierten IOSTS benützt, abhängen soll, wird ein allgemeines IOSTS Metamodell eingeführt. Die eigentliche Transformation ist aufgeteilt in eine Modell zu Modell Transformation, um ein IOSTS Modell zu generieren, welches dem allgemeinen Metamodell entspricht und in eine Modell zu Text Transformation, um die spezifische textuelle Repräsentation zu erstellen mit der ein beliebiges Tool umgehen kann.Ein praktischen Beispiel, das Conference Protocol, veranschaulicht die Transformation. Dieses Beispiel zeigt den gesamten Transformationsprozess ausgehend von einer UML Spezifikation. Das Ergebnis ist eine IOSTS Spezifikation welche das STG Tool lesen kann.Dieses Tool wird verwendet da es mit IOSTS umgehen kann.Abschließend werden einige Ideen präsentiert, welche die Transformation in zukünftigen Arbeiten verbessern können.Testing is a very important part in software engineering. A lot of research is done in the field of automated test case generation.There are proper tools that are able to generate test cases from Input/Output Symbolic Transition Systems (IOSTS), a state/transition based model. This representation is however not used in industry for system specification purposes. UML has become the de facto standard in this area.This thesis fills the gap between system specification with UML 2 and automated test case generation based on IOSTS. It presents a model transformation from UML 2 to Input/Output Symbolic Transition Systems.The generated IOSTS may then be used by tools that are capable of automated test case generation based on IOSTS like the Symbolic Test Generator (STG) that is also used in this thesis.The test case generation process is based on conformance testing.Conformance testing means testing a system specification against an implementation according to a conformance relation. In the context of this thesis, the sioco (symbolic input output conformance) conformance relation is discussed, as well as the ioco (input output conformance) conformance relation, the sioco relation is based on. A detailed description of IOSTS is also part of this thesis as well as an explanation of the test case generation process. UML is very general, there exist a lot of diagrams and elements for system specification purposes. The subset of UML that is used by the transformation is also described in this thesis.The main part of this work is the transformation algorithm. There is a detailed description how elements of UML are mapped to elements of IOSTS. A pseudocode implementation of the algorithm is also part of this thesis. The transformation should not rely on the tool that uses the IOSTS, so a general IOSTS meta model is introduced. The transformation is split in two parts, a model to model transformation to generate an IOSTS model that conforms to the IOSTS meta model defined in this thesis and a model to text transformation to generate a specific textual representation an arbitrary tool can handle (like the STG tool).The transformation is illustrated by a practical example. The Conference Protocol is used for this purpose. The example shows the whole transformation, starting with an UML specification. The result is an IOSTS system specification in the STG language. The STG tool is chosen since it is able to handle Input/Output Symbolic Transition Systems.Last, some ideas about how the transformation may be improved in some future work are introduced.9

    Similar works

    Full text

    thumbnail-image

    Available Versions