scispace - formally typeset
Search or ask a question
Journal ArticleDOI

Domain Specific Languages

25 Feb 2010-International Journal of Computer Applications (Foundation of Computer Science FCS)-Vol. 1, Iss: 21, pp 105-111
TL;DR: A number of DSLs spanning various phases of software development life cycle in terms of features that elucidates their advantages over general purpose languages and perform in depth study by practically applying a few open source DSLs: ‘Cascading’, Naked Objects Framework and RSpec.
Abstract: To match the needs of the fast paced generation, the speed of computing has also increased enormously. But, there is a limit to which the processor speed can be amplified. Hence in order to increase productivity, there is a need to change focus from processing time to programming time. Reduction in programming time can be achieved by identifying the domain to which the task belongs and using an appropriate Domain Specific Language (DSL). DSLs are constrained to use terms and concepts pertaining to an explicit domain making it much easier for the programmers to understand and learn, and cuts down the development time drastically. In this paper, we will understand what a DSL is; explore a number of DSLs spanning various phases of software development life cycle in terms of features that elucidates their advantages over general purpose languages and perform in depth study by practically applying a few open source DSLs: ‘Cascading’, Naked Objects Framework and RSpec.

Content maybe subject to copyright    Report

Citations
More filters
01 Jan 2011
TL;DR: An innovative strategy to handle change in an application which su pports assessment processes related to legal obligations of the Federal Environment Agency, Division IV Chemical Safety, which may serve as a blue print for several similar applicat ion challenges in a different domain context.
Abstract: This article gives a big picture of an innovative s trategy to handle change in an application which su pports assessment processes related to legal obligations of the Federal Environment Agency, Division IV Chemical Sa fety. Changes affect the data structures that describe th e nvironmental impact of chemical. The solution is ba ed on a data type construction kit, a Domain Specific Languag e (DSL) on top of XML schema, and dynamic XML proce ssing. The solution enables modifications of the data stru ctures at runtime, even without restarting the appl ication. We do not claim a multiple-purpose solution, but on e which is tailored to the common patterns of daily work in Division IV Chemical Safety. This is exactly why it may serve as a blue print for several similar applicat ion challenges in a different domain context.

3 citations


Cites background from "Domain Specific Languages"

  • ...Thinking this over more closely, we found it more convenient to develop a Domain Specific Langua ge (DSL) (Fowler 2010) for the purpose of data configuration....

    [...]

  • ...Thinking this over more closely, we found it more convenient to develop a Domain Specific Language (DSL) (Fowler 2010) for the purpose of data configuration....

    [...]

Proceedings ArticleDOI
16 Nov 2014
TL;DR: DFL abstracts the key concepts such systems as SMP tasks for multicores, kernels for accelerators and high-level operations for distributed computing, and leverages the hybrid MPI/OmpSs data-flow programming model to efficiently implement the previous concepts.
Abstract: Developing complex scientific applications on high performance systems requires both domain knowledge and expertise in parallel and distributed programming models. In addition, modern high performance systems are heterogeneous, thus composed of multicores and accelerators, which despite being efficient and powerful, are harder to program. Domain-Specific Languages (DSLs) are a promising approach to hide the complexity of HPC systems and boost programmer's productivity. However, the huge cost and complexity of implementing efficient and scalable DSLs on HPC systems is hindering its adoption for most domains. Addressing such problems, we present Data Flow Language (DFL), a DSL designed to exploit distributed and heterogeneous HPC systems. DFL abstracts the key concepts such systems as SMP tasks for multicores, kernels for accelerators and high-level operations for distributed computing. In addition, DFL leverages the hybrid MPI/OmpSs data-flow programming model to efficiently implement the previous concepts. All of these features make DFL suitable as the target language for other DSLs. However, it is also suitable as a fast prototyping language to develop distributed applications on heterogeneous systems.

3 citations


Cites background from "Domain Specific Languages"

  • ...DSLs, also called small languages [3], are widely used in computer science [10] and are a subject of intensive research [25]....

    [...]

Proceedings ArticleDOI
01 Sep 2014
TL;DR: The created DSL supports a textual and visual notation and is embedded within a full featured tool chain which let the customer fully replace the creation and maintenance of welding automation solutions by the DSL-based development approach.
Abstract: Implementation, fault analysis, and maintenance of robot welding automation solutions are traditionally restricted to professional software developers only Program code is written in a general purpose programming language and, hence, unmanageable by other stakeholders with limited or no programming skills To tackle this problem we have implemented a domain-specific language (DSL) specifically designed to the domain of robot welding automation and to be intuitively manageable by all stakeholders The created DSL supports a textual and visual notation and is embedded within a full featured tool chain which let our customer fully replace the creation and maintenance of welding automation solutions by our DSL-based development approach

3 citations


Cites background from "Domain Specific Languages"

  • ...Therefore, software engineers need to be involved in the whole product life-cycle from requirements analysis and implementation to error analysis at customer site....

    [...]

  • ...One of the major current trends in non-functional requirements of automation systems concerns flexibility, which is needed to react on the ever-changing market demands [14]....

    [...]

Proceedings ArticleDOI
17 Jun 2014
TL;DR: EveWorks is a new framework for the development of context-aware mobile applications that allows developers to express events in terms of more natural constructs -- intervals of time where some data invariants are true, articulated through the operators of James Allen's Interval Algebra.
Abstract: In this paper we present EveWorks, a new framework for the development of context-aware mobile applications, focused on the detection of events on people's daily lives. In our framework, events of interest are expressed through statements written in a simple domain-specific language that, being interpreted, allows for changing an application's reactive behavior at runtime. Instead of being focused on programming through technology of framework-specific components, our approach allows developers to express events in terms of more natural constructs -- intervals of time where some data invariants are true, articulated through the operators of James Allen's Interval Algebra.

3 citations

Journal ArticleDOI
TL;DR: It is shown how to associate beliefs to model elements, and how to propagate and operate with their associated uncertainty so that domain experts can individually reason about their models enriched with their personal opinions.
Abstract: There are numerous domains in which information systems need to deal with uncertain information. These uncertainties may originate from different reasons such as vagueness, imprecision, incompleteness, or inconsistencies, and in many cases, they cannot be neglected. In this article, we are interested in representing and processing uncertain information in domain models, considering the stakeholders’ beliefs (opinions). We show how to associate beliefs to model elements and how to propagate and operate with their associated uncertainty so that domain experts can individually reason about their models enriched with their personal opinions. In addition, we address the challenge of combining the opinions of different domain experts on the same model elements, with the goal to come up with informed collective decisions. We provide different strategies and a methodology to optimally merge individual opinions.

3 citations

References
More filters
Journal ArticleDOI
TL;DR: The literature available on the topic of domain-specific languages as used for the construction and maintenance of software systems is surveyed, and a selection of 75 key publications in the area is listed.
Abstract: We survey the literature available on the topic of domain-specific languages as used for the construction and maintenance of software systems. We list a selection of 75 key publications in the area, and provide a summary for each of the papers. Moreover, we discuss terminology, risks and benefits, example domain-specific languages, design methodologies, and implementation techniques.

1,538 citations

Book
23 Sep 2010
TL;DR: This book covers a variety of different techniques available for DSLs and can be used with whatever programming language you happen to be using, most of the examples are in Java or C#.
Abstract: Designed as a wide-ranging guide to Domain Specific Languages (DSLs) and how to approach building them, this book covers a variety of different techniques available for DSLs. The goal is to provide readers with enough information to make an informed choice about whether or not to use a DSL and what kinds of DSL techniques to employ. Part I is a 150-page narrative overview that gives you a broad understanding of general principles. The reference material in Parts II through VI provides the details and examples you willneed to get started using the various techniques discussed. Both internal and external DSL topics are covered, in addition to alternative computational models and code generation. Although the general principles and patterns presented can be used with whatever programming language you happen to be using, most of the examples are in Java or C#.

908 citations