Embedded Software Development with Projectional Language Workbenches
نویسنده
چکیده
This paper describes a novel approach to embedded software development. Instead of using a combination of C code and modeling tools, we propose an approach where modeling and programming is unified using projectional language workbenches. These allow the incremental, domainspecific extension of C and a seamless integration between the various concerns of an embedded system. The paper does not propose specific extensions to C in the hope that everybody will use them; rather, the paper illustrates the benefits of domain specific extension using projectional editors. In the paper we describe the problems with the traditional approach to embedded software development and how the proposed approach can solve them. The main part of the paper describes our modular embedded language, a proof-of-concept implementation of the approach based on JetBrains MPS. We implemented a set of language extensions for embedded programming, such as state machines, tasks, type system extensions as well as a domain specific language (DSL) for robot control. The language modules are seamlessly integrated, leading to a very efficient way for implementing embedded software.
منابع مشابه
Generic Tools, Specific Languages
Adapting tools to a particular domain is expensive, and the adaptation is often not very deep. To address this challenge, Generic Tools, Specific Languages shifts the focus from building and adapting tools (windows, buttons, algorithms) to building and adapting languages to a domain. The thesis applies the approach to embedded software development: mbeddr is an extensible set of integrated lang...
متن کاملImplementing Feature Variability for Models and Code with Projectional Language Workbenches
Product line engineering deals with managing and implementing the variability among a set of related products. We distinguish between two kinds of variability: configuration and customization. Customization variability can be described using programming language code or creative construction DSLs, whereas configuration variability is described using configuration based approaches, such as featu...
متن کاملLanguage Modularization and Composition with Projectional Language Workbenches illustrated with MPS
The language community has had a discussion about different styles of languages for a long time: big languages with many specific concepts (ABAP, Cobol), or small languages with few, but very powerful and orthogonal concepts (Lisp, Smalltalk)? With the advent of projectional language workbenches a new class of language becomes possible that can combine the best of both approaches: modular langu...
متن کاملCedalion A Language Oriented Programming Language
Implementations of language oriented programming (LOP) are typically either language workbenches, which facilitate the development of external domain speci c languages (DSLs) with projectional editors, or host languages for internal DSLs that are parsed. In this work, we present Cedalio a novel approach to LOP, along with a prototyped programming language and workbench implementing our approach...
متن کاملProjectional Language Workbenches as a Foundation for Product Line Engineering
In this paper I explain the benefits of projectional language workbenches for product line engineering. The ability to extend programming languages with domain specific concepts, mix programs (i.e. descriptions written in general purpose languages) and models (i.e. descriptions expressed with DSLs) and also overlay configurative variability to both of these promises highly integrated and produc...
متن کامل