University of Twente Student Theses
Domain specific embedded languages and model driven engineering
Kroes, S. (2010) Domain specific embedded languages and model driven engineering.
PDF
1MB |
Abstract: | Model Driven Engineering (MDE) [20] is an emerging approach to software engineering. The main concepts in MDE are models, meta-models and transformations. Models are the first class entities of any MDE environment. A model is a representation of its subject, describing only the relevant aspects of it and omitting everything else. While a model’s subject is represented by the model, the model can be interpreted to obtain information about its subject. The subjects of these models are parts of aspects of the software system under development. Models can be refined and (de)composed using transformations, defined in a Model Transformation Language (MTL). MTL’s are often implemented using a traditional approach to language design, using a dedicated compiler and/or interpreter. We will explore an alternative but equally valid method of developing a MTL, namely developing it as an Domain Specific Language (DSL) within the context of an existing general purpose programming language (host language). This kind of DSL is often referred to as an DSEL [18] and it’s essentially an advanced form of the Application Programmer Interface (API). We chose Ruby as our host language because of its concise and flexible syntax, extensive features for the creation of DSEL’s, support for declarative and functional programming, reflective features and mature standard library. For our goal, the most important of these are code blocks that can be evaluated in any context and operator overloading. This report introduces and explains our Model transformation Embedded Language (MTEL) called TRans. The defining characteristics of TRans, apart from it being a MTEL, are support multiple source and target models, automatic execution ordering using a topological sort algorithm, advanced tracing functionality and Aspect Oriented Programming (AOP) features. By implementing TRans as a MTEL we where able to reduce implementation effort significantly. We deem that this reduction far outweighs the disadvantages of this approach, especially for research purposes. |
Item Type: | Essay (Master) |
Faculty: | EEMCS: Electrical Engineering, Mathematics and Computer Science |
Subject: | 54 computer science |
Programme: | Computer Science MSc (60300) |
Link to this item: | https://purl.utwente.nl/essays/59434 |
Export this item as: | BibTeX EndNote HTML Citation Reference Manager |
Repository Staff Only: item control page