scispace - formally typeset
Open Access

A Model-Based Approach to Families of Embedded Domain-Specific Languages.

Reads0
Chats0
TLDR
This paper presents an approach to build embedded domain-specific languages applying the principles of model-driven engineering, and proposes composition mechanisms for the abstract syntax, concrete syntax, and model transformation levels of a DSL's definition.
Abstract
With the emergence of model-driven engineering (MDE), the creation of domain-specific languages (DSLs) is becoming a fundamental part of language engineering The development cost of a DSL should be modest compared to the cost of developing a general-purpose programming language Reducing the implementation effort and providing reuse techniques are key aspects for DSL approaches to be really effective In this paper, we present an approach to build embedded domain-specific languages applying the principles of model-driven engineering On the basis of this approach, we will tackle reuse of DSLs by defining families of DSLs, addressing reuse both from the DSL developer and user point of views A family of DSLs will be built up by composing several DSLs, so we will propose composition mechanisms for the abstract syntax, concrete syntax, and model transformation levels of a DSL's definition Finally, we contribute a software framework to support our approach, and we illustrate the paper with a case study to demonstrate its practical applicability

read more

Citations
More filters
Journal ArticleDOI

Supporting runtime software architecture: A bidirectional-transformation-based approach

TL;DR: This paper investigates the synchronization mechanism between architecture configurations and system states for maintaining the causal connections, and designs an algorithm based on it, which addresses issues such as conflicts between architecture and system changes, and exceptions of system manipulations.
Journal ArticleDOI

Reuse in model-to-model transformation languages: are we there yet?

TL;DR: An in-depth comparison of reuse mechanisms in model-to-model transformation languages and categorizes them along their intended scope of application is provided.
Journal ArticleDOI

Leveraging Software Product Lines Engineering in the development of external DSLs

TL;DR: A definition for the life-cycle of language product lines is proposed and used to analyze the capabilities of current approaches, and a mapping between each approach and the technological space it supports is provided.
Book ChapterDOI

Translational semantics of a co-evolution specific language with the EMF transformation virtual machine

TL;DR: This paper defines executable semantics for EMFMigrate, a model transformation language specifically designed for managing the coupled evolution in model-driven development, and considers EMFTVM as the runtime engine targeted by the proposed semantic mappings.
Proceedings ArticleDOI

Developing next generation ADLs through MDE techniques

TL;DR: In this article, the authors present a framework, called byADL -Build Your ADL, for developing a new generation of ADLs, which exploits model-driven techniques that provide the needed technologies to allow a software architect to define its own new generation ADL by adding domain specificities, new architectural views, or analysis aspects.
References
More filters
Book

Software product-line engineering: a family-based software development process

TL;DR: This chapter concludes with a Summary, Nomenclature Introduced, and Readings of the FAST PASTA Model, which describes the role of Abstractions in Identifying and Designing Families and the Role of Information Hiding and Separation of Concerns.
Book

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools

TL;DR: The confluence of component based development, model driven development and software product lines forms an approach to application development based on the concept of software factories, which promises greater gains in productivity and predictability than those produced by incremental improvements to the current paradigm of object orientation.
Proceedings ArticleDOI

Modular domain specific languages and tools

TL;DR: A methodology is described for building domain specific embedded languages (DSELs), in which a DSL is designed within an existing, higher-order and typed, programming language such as Haskell or ML, which facilitates reuse of syntax semantics, implementation code, software tools, and look-and-feel.
Proceedings ArticleDOI

Domain specific embedded compilers

TL;DR: This work sketches a general design pattern/or embedding client-server style services into Haskell using a domain specific embedded compiler for the server's source language, and applies this idea to implement Haskell/DB, adomain specific embdedded compiler that dynamically generates of SQL queries from monad comprehensions, which are then executed on an arbitrary ODBC database server.