Not logged in.

Contribution Details

Type Dissertation
Scope Discipline-based scholarship
Title A Language Definition Method for Visual Specification Languages
Organization Unit
Authors
  • Yong Xia
Supervisors
  • Martin Glinz
  • Jürgen Ebert
Institution Universität Zürich
Faculty
Date 2005
Abstract Text Language definition is always an important topic in the field of computer science. For textual specification and programming languages, there are already lots of mature methods of language definition. However, for visual specification languages, especially the so called wide spectrum graphical modeling languages, the existing solutions are far from satisfactory. ADORA is a modelling technique for requirements and software architecture that is being developed in the Requirement Engineering Research Group, University of Zurich. The acronym stands for Analysis and Description of Requirements and Architecture. ADORA and UML are typical examples of wide spectrum graphical modeling languages. In this dissertation, we propose a new method of defining visual specification languages, which shall overcome the drawbacks of the existing definition methods. The ADORA Language, which is used to model system requirements and software architecture, is selected as a vehicle for demonstrating our method. The following four aspects of language definition are particularly addressed: · Syntax and static semantics definition A text-based technique is given for the syntax and static semantics definition. We exploit the fact that in a visual specification language, most syntactic features are independent of the layout of the graph. So we map the graphical elements to textual ones and define the context-free syntax of this textual language in EBNF. Using our mapping, this grammar also defines the syntax of the graphical language. Simple spatial and context-sensitive constraints are then added by attributing the context-free grammar. Finally, for handling complex structural and dynamic information in the syntax, most of which is also called static semantics in the literature, we give a set of operational rules that work on the attributed EBNF. We also extend this set of operational rules to specify an advanced feature of \textscAdora, which supports the description of partial and evolutionary specifications. · Dynamic semantics definition We propose a strategy of dynamic semantics definition for ADORA: instead of defining a formal semantics for the whole language at one time, which can be too complex to be understood and used, we define semantics first only for each simple sublanguage. Then an integration semantics, which specifies the interrelations and constraints among the sublanguages, is defined to keep the language self-consistent. Examples on the integration semantics are given to show how our strategy works. Our solution is also valid for other wide spectrum graphical modeling languages. · Refinement calculus We define a formal refinement calculus for the structural view, behavioral view and user view of the ADORA language. This ensures that evolutionary specifications are written in a controlled and systematic way, while the consistency and integrity checking during the system refinement can be mechanically carried out by a tool based on our formal definition. · The reciprocal influences between the language definition and language design During the process of formal definition of ADORA, we also continue to design the language (e.g. the extension of ADORA for supporting partial and evolutionary specification). We conclude that language design and language definition are not two independent tasks. The study of the reciprocal influences between these two tasks improves the quality of the language definition. A set of principles derived from our development of ADORA is presented. Our methods can also be used to define UML or any other wide-spectrum modeling languages in the near future. Compared with the existing works on the graphical modeling language definition, our language definition is more understandable, easier to apply and practically more useful. The achieved results on the refinement calculus, syntax and semantics definition are also valuable for the similar research. At the end of this dissertation, limitations, open questions and future works are discussed.
Zusammenfassung In der Informatik ist die Sprachdefinition seit je her ein wichtiges Thema. Für textuelle Spezifikations- und Programmiersprachen existieren viele reife Methoden der Sprachdefinition. Für visuelle Spezifikationssprachen, insbesondere für graphische Modellierungssprachen, sind die vorhandenen Lösungen jedoch bei weitem nicht zufrieden stellend. UML und Adora sind typische Beispiele für solche Sprachen. Adora 27 ist eine Sprache zur objektorientierten Modellierung von Anforderungen und Softwarearchitekturen, welche in der Forschungsgruppe Requirements Engineering der Universität Zürich entwickelt wird. Adora steht als Akronym für Analysis and Description of Requirements and Architecture. Diese Dissertation stellt eine neue Methode zur Definition von visuellen Spezifikationssprachen vor, welche die Nachteile der vorhandenen Methoden überwindet. Die Spezifikationssprache Adora dient als Medium zur Demonstration dieser Methode. Dabei werden insbesondere die folgenden vier Aspekte der Sprachdefinition untersucht. · Definition der Syntax und der statischen Semantik Die meisten syntaktischen Merkmale einer visuellen Modellierungssprache sind vom Layout des Graphen unabhängig. Für die Definition der Syntax und der statischen Semantik wird daher eine textbasierte Technik verwendet. Die graphischen Elemente werden auf entsprechende textuelle Elemente abgebildet und die kontextfreie Syntax dieser so erhaltenen textuellen Sprache wird in EBNF definiert. Dank der Abbildung definiert diese Grammatik ebenfalls die Syntax der graphischen Sprache. Einfache räumliche und kontextsensitive Restriktionen werden dann durch das Attributieren der kontextfreien Grammatik hinzugefügt. Zur Behandlung komplex strukturierter und dynamischer Information in der Syntax (in der Literatur auch statische Semantik genannt) wird auf der attributierten EBNF eine Menge von operationalen Regeln definiert. Diese Regeln werden anschliessend so erweitert, dass eine besondere Eigenschaft von Adora, nämlich die Beschreibung partieller und evolutionärer Spezifikationsmodelle, formal definiert werden kann. · Definition der dynamischen Semantik Die Definition der dynamischen Semantik in ADORA basiert auf folgender Strategie: Anstatt die formale Semantikdefinition für die gesamte Sprache zu beschreiben, welche zu komplex sein kann, um sie zu verstehen und zu benutzen, wird zuerst nur die Semantik für jede Untersprache definiert. Dann wird eine Integrationssemantik definiert, die den Zusammenhang und die Beschränkungen zwischen den Untersprachen spezifiziert, um die Sprache selbst-konsistent zu halten. Um zu zeigen, wie diese Strategie funktioniert, werden Beispiele für die Integrationssemantik gegeben. Dieser Lösungsansatz ist auch auf andere graphische Modellierungssprachen übertragbar. · Verfeinerungskalkül Hier wird ein formaler Kalkül für die Verfeinerung partieller Adora-Modelle definiert. Dadurch wird dem evolutionären Spezifikationsstil in einer kontrollierten und systematischen Art und Weise Rechnung getragen. Die Konsistenz- und die Integritätsprüfungen im Laufe der Systemverfeinerung können mittels eines Werkzeugs, das sich auf unsere formale Definition stützt, automatisch durchgeführt werden. · Reziproke Einflüsse zwischen der Sprachdefinition und dem Sprachentwurf Während des Prozesses der formalen Definition von Adora wird der Sprachentwurf (z.B. die Erweiterung von Adora zur Unterstützung partieller und evolutionärer Spezifikationen) erweitert. Es hat sich herausgestellt, dass die Sprachdefinition und der Sprachentwurf nicht unabhängig voneinander sind. Die Studien über die reziproken Einflüsse zwischen diesen zwei Aufgaben helfen, die Qualität der Sprachdefinition zu verbessern. Einige Prinzipien, abgeleitet aus der Erfahrung mit der Sprachentwicklung von Adora, werden dargestellt. Die vorgestellte Methode kann ebenfalls zur Definition der UML und anderer künftiger graphischer Modellierungssprachen verwendet werden. Im Vergleich zu den existierenden Arbeiten über die Definition graphischer Modellierungssprachen ist unsere Sprachdefinition verständlicher, leichter verwendbar und demzufolge nützlicher. Die erzielten Resultate über den Verfeinerungskalkül sowie die Syntax- und Semantikdefinition sind für gleichartige Forschungsprojekte sehr wertvoll. Am Schluss dieser Dissertation werden die Grenzen des gewählten Ansatzes, offene Fragen und künftige Arbeiten diskutiert.
PDF File Download
Export BibTeX
EP3 XML (ZORA)