LOGIN TO YOUR ACCOUNT

Username
Password
Remember Me
Or use your Academic/Social account:

CREATE AN ACCOUNT

Or use your Academic/Social account:

Congratulations!

You have just completed your registration at OpenAire.

Before you can login to the site, you will need to activate your account. An e-mail will be sent to you with the proper instructions.

Important!

Please note that this site is currently undergoing Beta testing.
Any new content you create is not guaranteed to be present to the final version of the site upon release.

Thank you for your patience,
OpenAire Dev Team.

Close This Message

CREATE AN ACCOUNT

Name:
Username:
Password:
Verify Password:
E-mail:
Verify E-mail:
*All Fields Are Required.
Please Verify You Are Human:
fbtwitterlinkedinvimeoflicker grey 14rssslideshare1
Clark, Anthony; Sammut, Paul; Willans, James (2015)
Publisher: arXiv.org
Languages: English
Types: Book
Subjects:
The Third Edition of Applied Metamodelling represents a small increment since the Second Edition was produced in 2008. The book continues to be referenced in schol- arly articles with 212 citations on Google Scholar including nearly 150 since 2008. The open-source release of the accompanying technologies XMF and XMF-Mosaic did not generate the same level of interest, partly due to a lack of exposure and associated tuto- rial materials. Recently, interest in the field of multi-level modelling has increased and has led to publications and a Dagstuhl Seminar based on the ideas of meta-languages and tool-modelling. An overview of the historical development of XMF, the ideas in this book, and the the birth and death of an associated startup company has been published in 2012 as part of the 10th anniversary edition of the the Journal of Software and Systems Modeling. A project based on the foundations developed in this book and the tooling, now rebranded XModeler, is underway and the aim is to advance the field of multi-level language-based system engineering.
  • The results below are discovered through our pilot algorithms. Let us know how we are doing!

    • 1 Language-Driven Development 1 1.1 Challenges Facing Developers Today . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 Coping with Complexity . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.2 The Challenge of Diversity . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.3 The Only Constant is Change . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Language-Driven Development - Providing the Solution . . . . . . . . . . 5 1.2.1 Languages are the Future . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.2 Rich Organised Abstraction . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.3 Appropriate Abstraction Through Multiple Languages . . . . . . . 6 1.2.4 Integration - Weaving the Rich Tapestry of Languages . . . . . . . . 8 1.2.5 Evolvability - The Key to Managing Change . . . . . . . . . . . . . 9 1.2.6 Language-Driven Development - The Complete Solution . . . . . . 9 1.3 From Model-Driven to Language-Driven Development . . . . . . . . . . . 10 1.3.1 The Unified Modelling Language . . . . . . . . . . . . . . . . . . . 10 1.3.2 MDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.4 Language Engineering and Metamodelling . . . . . . . . . . . . . . . . . . 13 1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
    • 4 Abstract Syntax 45 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.2 Modelling Abstract Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.3 The Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.3.1 Concept Identification . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.3.2 Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.3.3 Concept Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.3.4 Well-formedness Rules . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.3.5 Operations and Queries . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.3.6 Validation and Testing . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.4 Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.4.1 Identification of Concepts . . . . . . . . . . . . . . . . . . . . . . . . 51 4.4.2 The Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.4.3 Metamodel Reuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4.4 Well-formedness Rules . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.4.5 Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.4.6 Validating the StateMachine Metamodel . . . . . . . . . . . . . . . 56 4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
    • 5 Concrete syntax 59 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.2 Textual Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.2.1 Parsing text using EBNF . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.2.2 Parsing text using XBNF . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.2.3 Building Abstract Syntax . . . . . . . . . . . . . . . . . . . . . . . . 63 5.3 Diagrammatic Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.3.1 Parsing Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.3.2 Building Abstract Syntax . . . . . . . . . . . . . . . . . . . . . . . . 68 5.3.3 Building Diagrams from Abstract Syntax . . . . . . . . . . . . . . . 71 5.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
    • 6 Semantics 75 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.2 What is Semantics? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.3 Why Semantics? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6.4 Semantics and Metamodels . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 6.5 Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.6 Translational Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.6.1 Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.6.2 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 6.7 Operational Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.7.1 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.8 Extensional Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 6.8.1 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 6.9 Denotational Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 6.9.1 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.10 Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6.11 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
    • 7 Executable Metamodelling 91 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 7.2 Why Executable Metamodelling? . . . . . . . . . . . . . . . . . . . . . . . . 91 7.2.1 Executability and XMF . . . . . . . . . . . . . . . . . . . . . . . . . . 92 7.2.2 Executable Metamodelling and Programming . . . . . . . . . . . . 92 7.3 Adding Executability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 7.3.1 XOCL Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 7.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 7.4.1 Example 1: Model Merge . . . . . . . . . . . . . . . . . . . . . . . . 95 7.4.2 Example 2: Find and Replace . . . . . . . . . . . . . . . . . . . . . . 96 7.4.3 Example 3: Walker . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 7.4.4 Example 4: Meta-Patterns . . . . . . . . . . . . . . . . . . . . . . . . 100 7.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
    • 9 Reuse 127 9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 9.2 Extension Based Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . 127 9.2.1 Specialisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 9.2.2 Stereotyping, Tags and Profiles . . . . . . . . . . . . . . . . . . . . . 129 9.2.3 Package specialisation and Meta-Packages . . . . . . . . . . . . . . 130 9.3 Translation Based Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . 133 9.3.1 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 9.4 Family of Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 9.5 The XCore Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 9.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
    • 10 Case Study 1: An Aspect-Oriented Language 139 10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 10.2 AOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 10.3 Language Definition Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . 140 10.4 Abstract Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 10.4.1 Identification of Concepts . . . . . . . . . . . . . . . . . . . . . . . . 140 10.4.2 Abstract Syntax Model . . . . . . . . . . . . . . . . . . . . . . . . . . 141 10.5 Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 10.6 Concrete Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 10.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
    • 11 Case Study 2: A Telecoms Language 145 11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 11.2 The Case Study: OSS/J Inventory . . . . . . . . . . . . . . . . . . . . . . . . 145 11.3 Abstract Syntax Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 11.3.1 Well-formedness Rules . . . . . . . . . . . . . . . . . . . . . . . . . . 148 11.4 Concrete Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 11.5 Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 11.6 Instantiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 11.7 Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 11.8 Tool Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 11.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
    • 13 Case Study 4: Interactive TV 187 13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 13.2 Interactive Application Architecture . . . . . . . . . . . . . . . . . . . . . . 188 13.3 A DSL for Interactive Applications . . . . . . . . . . . . . . . . . . . . . . . 190 13.4 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 13.4.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 13.4.2 Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 13.4.3 Handling Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 13.5 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 13.6 XML Representation for Applications . . . . . . . . . . . . . . . . . . . . . 212 13.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Ansi common lisp. http://clisp.cons.org/, 2008.
  • No related research data.
  • No similar publications.

Share - Bookmark

Cite this article