Domain Specific Embedded Languages and Model Driven Engineering: Building a Model Transformation Language as a DSEL using Ruby - Couverture souple

Kroes, Stefan

 
9783844319460: Domain Specific Embedded Languages and Model Driven Engineering: Building a Model Transformation Language as a DSEL using Ruby

Synopsis

Model Driven Engineering (MDE) is an emerging approach to software development. The main concepts in MDE are models and transformations. A model is a representation of its subject, describing only the relevant aspects of it. The subjects of these models are aspects of the software system under development. Model Transformation Languages (MTL) are often implemented using a traditional approach to language design, using a dedicated compiler or interpreter. We will explore an alternative method, namely developing it as an Domain Specific Language within the context of a general purpose host language. We chose Ruby as our host language because of its concise and flexible syntax, support for declarative and functional programming, reflective features and mature standard library. For our goal, the most important of these are code blocks and operator overloading. This report introduces and explains our MTL called TRans. TRans supports multiple source and target models, execution ordering using a topological sort algorithm, advanced tracing functionality and AOP features. By implementing TRans as a MTEL we where able to reduce implementation effort significantly.

Les informations fournies dans la section « Synopsis » peuvent faire référence à une autre édition de ce titre.

Présentation de l'éditeur

Model Driven Engineering (MDE) is an emerging approach to software development. The main concepts in MDE are models and transformations. A model is a representation of its subject, describing only the relevant aspects of it. The subjects of these models are aspects of the software system under development. Model Transformation Languages (MTL) are often implemented using a traditional approach to language design, using a dedicated compiler or interpreter. We will explore an alternative method, namely developing it as an Domain Specific Language within the context of a general purpose host language. We chose Ruby as our host language because of its concise and flexible syntax, support for declarative and functional programming, reflective features and mature standard library. For our goal, the most important of these are code blocks and operator overloading. This report introduces and explains our MTL called TRans. TRans supports multiple source and target models, execution ordering using a topological sort algorithm, advanced tracing functionality and AOP features. By implementing TRans as a MTEL we where able to reduce implementation effort significantly.

Biographie de l'auteur

Stefan Kroes has been working in software development for about 10 years. In 2002 he began his studies in Computer Science at the University of Twente where he graduated in 2010 in the field of Software Engineering. As an avid fan of open source and Ruby he combined Model Driven Engineering with Ruby facilities for Domain Specific Languages.

Les informations fournies dans la section « A propos du livre » peuvent faire référence à une autre édition de ce titre.