Description of languages based on object-oriented meta-modelling [Elektronische Ressource] / von Markus Scheidgen
239 pages
English

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Description of languages based on object-oriented meta-modelling [Elektronische Ressource] / von Markus Scheidgen

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
239 pages
English
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

Description of Languages Based onObject-Oriented Meta-ModellingDISSERTATIONzur Erlangung des akademischen Gradesdoctor rerum naturalium(Dr. rer. nat.)im Fach Informatikeingereicht an derMathematisch-Naturwissenschaftlichen Fakultät IIHumboldt-Universität zu BerlinvonHerr Dipl.-Inf. Markus Scheidgengeboren am 8.4.1978 in BerlinPräsident der Humboldt-Universität zu Berlin:Prof. Dr. Christoph MarkschiesDekan der Mathematisch-Naturwissenschaftlichen Fakultät II:Prof. Dr. Wolfgang CoyGutachter:1. Prof. Dr. Joachim Fischer2. Prof. Dr. Andreas Prinz3. Prof. Dr. Andy Schürreingereicht am: 6. Oktober 2008Tag der mündlichen Prüfung: 6. Februar 2009iiAbstractIn this thesis, I look into object-oriented meta-modelling and how it canbe used to describe computer languages. Thereby, I do not only focus ondescribing languages, but also on utilising the language descriptions to auto-matically create language tools from language descriptions. I use the notionof meta-languages and meta-tools. Meta-languages are used to describe cer-tain language aspects, such as notation or semantics, and meta-tools are usedto create language tools, such as editors or interpreters, from correspondingdescriptions. This combination of describing and automated development oftools is known as domain specific modelling (DSM).I use DSM based on object-oriented meta-modelling to describe all im-portant aspects of executable computer languages.

Sujets

Informations

Publié par
Publié le 01 janvier 2009
Nombre de lectures 10
Langue English
Poids de l'ouvrage 23 Mo

Extrait

Description of Languages Based on
Object-Oriented Meta-Modelling
DISSERTATION
zur Erlangung des akademischen Grades
doctor rerum naturalium
(Dr. rer. nat.)
im Fach Informatik
eingereicht an der
Mathematisch-Naturwissenschaftlichen Fakultät II
Humboldt-Universität zu Berlin
von
Herr Dipl.-Inf. Markus Scheidgen
geboren am 8.4.1978 in Berlin
Präsident der Humboldt-Universität zu Berlin:
Prof. Dr. Christoph Markschies
Dekan der Mathematisch-Naturwissenschaftlichen Fakultät II:
Prof. Dr. Wolfgang Coy
Gutachter:
1. Prof. Dr. Joachim Fischer
2. Prof. Dr. Andreas Prinz
3. Prof. Dr. Andy Schürr
eingereicht am: 6. Oktober 2008
Tag der mündlichen Prüfung: 6. Februar 2009iiAbstract
In this thesis, I look into object-oriented meta-modelling and how it can
be used to describe computer languages. Thereby, I do not only focus on
describing languages, but also on utilising the language descriptions to auto-
matically create language tools from language descriptions. I use the notion
of meta-languages and meta-tools. Meta-languages are used to describe cer-
tain language aspects, such as notation or semantics, and meta-tools are used
to create language tools, such as editors or interpreters, from corresponding
descriptions. This combination of describing and automated development of
tools is known as domain specific modelling (DSM).
I use DSM based on object-oriented meta-modelling to describe all im-
portant aspects of executable computer languages. I look into existing meta-
languages and meta-tools for describing language utterances, their concrete
representation, and semantics. Furthermore, I develop a new platform to
define languages based on the CMOF-model of the OMG MOF 2.x recom-
mendations. I develop a meta-language and meta-tool for textual language
notations. Finally, I develop a new graphical meta-language and meta-tool
for describing the operational semantics of computer languages.
To prove the applicability of the presented techniques, I take SDL, the
Specification and Description Language, as an archetype for textually no-
tated languages with executable instances. For this archetype, I show that
the presented meta-languages and meta-tools allow to describe such com-
puter languages and allow to automatically create tools for those languages.ivZusammenfassung
In dieser Dissertation, schaue ich auf objekt-orientierte Metamodellierung
und wie sie verwendet werden kann, um Computersprachen zu beschreiben.
Dabei, fokussiere ich mich nicht nur auf die Beschreibung von Sprachen, son-
dern auch auf die Verwendung von Sprachbeschreibungen zur automatischen
Erzeugung von Sprachwerkzeugen aus Sprachbeschreibungen. Ich nutze die
Idee von Metasprachen und Metawerkzeugen. Metasprachen werden verwen-
det um bestimmte Sprachaspekte, wie Notationen und Semantiken, zu be-
schreiben, und Metawerkzeuge werden verwendet um Sprachwerkzeuge wie
Editoren und Interpreter aus entsprechenden Beschreibungen zu erzeugen.
Diese Kombination von Beschreibung und automatischer Entwicklung von
Werkzeugen ist als Domänenspezifische Modellierung (DSM) bekannt.
Ich verwende DSM basierend auf objekt-orientierter Metamodellierung
zur Beschreibung der wichtigen Aspekte ausführbarer Computersprachen.
Ich untersuche existierende Metasprachen und Metawerkzeuge für die Be-
schreibung von Sprachvorkommen, ihrer konkreten Repräsentation und Se-
mantik.Weiter,entwickleicheineneuePlattformzurBeschreibungvonSpra-
chen basierend auf dem CMOF-Modell der OMG MOF 2.x Empfehlungen.
Ich entwickle eine Metasprache und Metawerkzeug für textuelle Notationen.
Schlussendlich,entwickleicheinegraphischeMetaspracheundMetawerkzeug
zur Beschreibung von operationaler Semantik von Computersprachen.
Um die Anwendbarkeit der vorgestellten Techniken zu prüfen, nehme ich
SDL, die Specification and Description Language, als einen Archetypen für
textuell notierte Sprachen mit ausführbaren Instanzen. Für diesen Archetyp
zeige ich, dass die präsentierten Metasprachen und Metawerkzeuge es erlau-
ben solche Computersprachen zu beschreiben und automatisch Werkzeuge
für diese Sprachen zu erzeugen.viContents
1 Introduction 5
1.1 (Computer) Languages . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1 Languages . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.2 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.3 Representation and Semantics . . . . . . . . . . . . . . 8
1.2 Language Descriptions . . . . . . . . . . . . . . . . . . . . . . 10
1.2.1 Language Aspects . . . . . . . . . . . . . . . . . . . . . 10
1.2.2 Existing Language Description Techniques . . . . . . . 12
1.2.3 Object-Oriented Meta-Modelling . . . . . . . . . . . . 14
1.2.4 Language Description Requirements . . . . . . . . . . . 15
1.3 Domain Specific Modelling of Language Tools . . . . . . . . . 17
1.3.1 Domain Specific Modelling . . . . . . . . . . . . . . . . 18
1.3.2 DSM of Language Tools . . . . . . . . . . . . . . . . . 20
1.4 Thesis Motivation, Aim, Hypothesis, and Contribution . . . . 21
1.5 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2 Languages – Describing Languages with Meta-Models 29
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2 Meta-Modelling Platform . . . . . . . . . . . . . . . . . . . . . 29
2.2.1 Meta-Modelling Formalisms . . . . . . . . . . . . . . . 30
2.2.2 Meta-Mo Frameworks . . . . . . . . . . . . . . . 35
2.2.3 Meta-Modelling Platforms . . . . . . . . . . . . . . . . 37
2.3 MOF-like Meta-Modelling . . . . . . . . . . . . . . 38
2.3.1 Existing MOF-like Meta-Modelling Platforms . . . . . 39
2.3.2 Formal Definition of a Simplified MOF-Formalism . . . 40
2.3.3 Problems of Existing MOF-based Platforms . . . . . . 45
2.4 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.5 A New Meta-Modelling Platform Based on the CMOF-Model 51
2.5.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.5.2 Language Mapping . . . . . . . . . . . . . . . . . . . . 52
2.5.3 Semantics for Associations and Property Sub-setting . 58
vii2.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3 Representation – Describing Textual Notations 67
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.2 Model Representations and Notations in General . . . . . . . . 68
3.3 Textual . . . . . . . . . . . . . . . . . . . . . 70
3.3.1 Formalisms for Textual Notations . . . . . . . . . . . . 70
3.3.2 Applications for Textual . . . . . . . . . . . 71
3.3.3 Problems with Textual Notations . . . . . . . . . . . . 75
3.4 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.5 The Relationship Between Grammars and Meta-Models . . . . 81
3.5.1 A Mapping from to MOF-like Meta-Models 84
3.5.2 Semantic Equivalence of Grammar and Meta-Model . . 89
3.5.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . 96
3.6 Developing Meta-Models from Context-Free Grammars . . . . 97
3.6.1 A Process to Create Meta-Models from . . . 98
3.6.2 Generating Meta-Models from a BNF Grammar . . . . 99
3.6.3 Manually Enhancing the Generated Meta-Model . . . . 99
3.7 Creating Text Editors and Textual Model Editors . . . . . . . 106
3.7.1 Textual Model Editing with Background Parsing . . . . 108
3.7.2 Notation Language and Notation Semantics . . . . . . 111
3.7.3 Building Textual Model Editors . . . . . . . . . . . . . 120
3.7.4 Content Assist . . . . . . . . . . . . . . . . . . . . . . 122
3.7.5 Embedding Textual Editing into Graphical Editing . . 128
3.7.6 Alternative T Model Editing Approaches . . . . 136
3.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
4 Semantics – Describing Operational Semantics 141
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
4.1.1 Structural Operational Semantics . . . . . . . . . . . . 143
4.2 Applying Plotkin to MOF-like Language Descriptions . . . . . 147
4.2.1 States . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
4.2.2 Transitions and Constraints on Transitions . . . . . . . 151
4.3 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
4.4 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
4.5 An Action Language for MOF . . . . . . . . . . . . . . . . . . 157
4.5.1 Basic Concepts . . . . . . . . . . . . . . . . . . . . . . 158
4.5.2 Distinguishing Between Syntax and Runtime Elements 163
4.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
viii5 SDL Case-Study 173
5.1 About the Used Dialect of SDL . . . . . . . . . . . . . . . . . 173
5.2 A Meta-Model for SDL . . . . . . . . . . . . . . . . . . . . . . 174
5.2.1 A Generated First Meta-Model Version . . . . . . . . . 175
5.2.2 General Abstract Language Constructs . . . . . . . . . 175
5.2.3 (Re-)Using Language Constructs . . . . . . . . . . . . 180
5.2.4 References . . . . . . . . . . . . . . . . . . . . . . . . . 180
5.2.5 Structuring the Meta-Model . . . . . . . . . . . . . . . 184
5.2.6 Static Semantics of SDL . . . . . . . . . . . . . . . . . 184
5.3 About SDL Notation . . . . . . . . . . . . . . . . . . . . . . . 185
5.3.1 The Different Notations of SDL . . . . . . . . . .

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents