A Domain Specific Transformation Language (original) (raw)
Related papers
2010
Model Driven Engineering proposes a software development process in which the key notions are models and model transformations. There are already several proposals for model transformation specification, implementation, and execution. In this paper we introduce the notion of domain specific transformation language (DSTL). A DSTL is a transformation language tailored for a specific domain; in contrast to well known transformation languages, such as QVT or ATL, the DSTL's syntax and semantics are directly related to a specific domain and/or kind of transformation. A DSTL makes transformations easer to write and understand, the code is intuitive and the users do not need to know a generic transformation language. Also we analyze a novel way to define its semantics. Our proposal consists in using transformation languages themselves to the implementation of such domain specific languages. We illustrate the proposal through an example in the database domain.
Comparison of Three Model Transformation Languages
Lecture Notes in Computer Science, 2009
The emergence of large and complex software systems increases the interest in model-driven engineering, as a way to lower the cost of development and maintenance of software. Models allow us to hide irrelevant details, provide different model viewpoints, and isolate and modularize models of cross-cutting concerns of a system. The emerging technologies for aspectoriented modeling and weaving provide a systematic way to handle cross-cutting concerns at the modeling level. The success of model-driven engineering relies heavily on model transformations. This thesis describes how aspect-oriented modeling and many typical model transformations can be defined as aspects/rules that: (1) use the concrete syntax of the involved modeling languages, and (2) use graph transformation principles as its foundation. The thesis presents two main results. The first main result is an aspect language for UML 2 sequence diagrams. The language takes advantage of a formal model for sequence diagrams, which makes the matching and weaving process semantics-based. For this language we provide a confluence theory. The second main result is an approach to define many typical model transformations as graph transformations, where the transformation designer uses the concrete syntax of the involved modeling languages. Some typical model transformation examples are illustrated in this thesis, i.e. transformation from feature models to BPMN, UML activity diagram aspects, UML activity diagram refactoring, UML state machine refactoring, transformation from sequence diagrams to state machines, and transformations involving Petri nets. A collection operator has been introduced as a means to match and transform collections of similar subgraphs in graph transformations, using either concrete or abstract syntax. This allows for improved usability in transformations that would otherwise be complex or impractical to specify.
The design of a language for model transformations
Software & Systems Modeling, 2006
Model-driven development of software systems envisions transformations applied in various stages of the development process. Similarly, the use of domain-specific languages also necessitates transformations that map domain-specific constructs into the constructs of an underlying programming language. Thus, in these cases, the writing of transformation tools becomes a first-class activity of the software engineer. This paper introduces a language that was designed to support implementing highly efficient transformation programs that perform model-tomodel or model-to-code translations. The language uses the concepts of graph transformations and metamodeling, and is supported by a suite of tools that allow the rapid prototyping and realization of transformation tools.
TCS: a DSL for the specification of textual concrete syntaxes in model engineering
2006
Domain modeling promotes the description of various facets of information systems by a coordinated set of domain-specific languages (DSL). Some of them have visual/graphical and other may have textual concrete syntaxes. Model Driven Engineering (MDE) helps defining the concepts and relations of the domain by the way of metamodel elements. For visual languages, it is necessary to establish links between these concepts and relations on one side and visual symbols on the other side. Similarly, with textual languages it is necessary to establish links between metamodel elements and syntactic structures of the textual DSL. To successfully apply MDE in a wide range of domains we need tools for fast implementation of the expected growing number of DSLs. Regarding the textual syntax of DSLs, we believe that most current proposals for bridging the world of models (MDE) and the world of grammars (Grammarware) are not completely adapted to this need. We propose a generative solution based on a DSL called TCS (Textual Concrete Syntax). Specifications expressed in TCS are used to automatically generate tools for model-to-text and text-to-model transformations. The proposed approach is illustrated by a case study in the definition of a telephony language.
A generator framework for domain-specific model transformation languages
Domain specific languages play an important role in model driven development, as they allow to model a system using modeling constructs carrying implicit semantics specific to a domain. Consequently, possibly many reusable, domain specific languages will emerge. Thereby, certain application areas, such as business process engineering, can be jointly covered by a number of conceptually related DSLs, that are similar in a sense of sharing semantically equal concepts. Although, a crucial role in being able to use, manage and integrate all these DSLs comes to model transformation languages with QVT as one of their most prominent representatives, existing approaches have not aimed at reaping benefit of these semantically overlapping DSLs in terms of providing abstraction mechanisms for shared concepts. Therefore, as opposed to a generalpurpose model transformation language sought after with the QVT-RFP, this work discusses the possibility of employing domain-specific model transformation languages. These are specifically tailored for defining transformations between metamodels sharing certain characteristics. In this context, the paper introduces a basic framework which allows generating the necessary tools to define and execute transformations written in such a domain-specific transformation language. To illustrate the approach, an example language will be introduced and its realization within the framework is shown.
Declarative Transformation for Object-Oriented Models
Theory and Applications, 2005
This chapter provides a context and motivation for a language to describe transformations of models within an object-oriented framework. The requirements for such a language are given, and then an object-oriented model of the language's abstract syntax is provided that meets these requirements. A concrete syntax is introduced along with some example transformations. Finally we discuss the tools required to use the language within a model-driven software engineering paradigm. The authors aim to demonstrate the principles of model transformation within an object-oriented framework, and show how this can be applied to the development of software systems.
Model Transformation Language MOLA: Extended Patterns
The paper describes a new graphical transformation language MOLA for MDA-related model transformations. Transformations in MOLA are described by combining traditional control structures, especially loops, with pattern-based transformation rules. Besides an overview of the basic MOLA, the paper describes an extension of MOLA -powerful patterns, which may include transitive closure. The paper shows how the usage of these patterns simplifies control structures for typical MDA tasks.
Model transformation language MOLA
2005
The paper describes a new graphical model transformation language MOLA. The basic idea of MOLA is to merge traditional structured programming as a control structure with pattern-based transformation rules. The key language element is a graphical loop concept. The main goal of MOLA is to describe model transformations in a natural and easy readable way.
transML: A Family of Languages to Model Model Transformations
Lecture Notes in Computer Science, 2010
Model transformation is one of the pillars of Model-Driven Engineering (MDE). The increasing complexity of systems and modelling languages has dramatically raised the complexity and size of model transformations. Even though many transformation languages and tools have been proposed in the last few years, most of them are directed to the implementation phase of transformation development. However, there is a lack of cohesive support for the other phases of the transformation development, like requirements, analysis, design and testing. In this paper, we propose a unified family of languages to cover the life-cycle of transformation development. Moreover, following an MDE approach, we provide tools to partially automate the progressive refinement of models between the different phases and the generation of code for specific transformation implementation languages.