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
Posted Content
TL;DR: Precision Interfaces as mentioned in this paper analyzes structural changes between input queries from an analysis, and generates an output interface with widgets to express those changes, which can generate useful interfaces for simple unanticipated tasks.
Abstract: Interactive tools make data analysis more efficient and more accessible to end-users by hiding the underlying query complexity and exposing interactive widgets for the parts of the query that matter to the analysis. However, creating custom tailored (i.e., precise) interfaces is very costly, and automated approaches are desirable. We propose a syntactic approach that uses queries from an analysis to generate a tailored interface. We model interface widgets as functions I(q) -> q' that modify the current analysis query $q$, and interfaces as the set of queries that its widgets can express. Our system, Precision Interfaces, analyzes structural changes between input queries from an analysis, and generates an output interface with widgets to express those changes. Our experiments on the Sloan Digital Sky Survey query log suggest that Precision Interfaces can generate useful interfaces for simple unanticipated tasks, and our optimizations can generate interfaces from logs of up to 10,000 queries in <10s.

6 citations

Journal ArticleDOI
Musa Ataş1
TL;DR: The Open Cezeri Library framework is introduced as a domain specific language (DSL) for researchers, scientists, and engineering students to enable them to develop basic linear algebra operations via simple matrix calculations, image processing, computer vision, and machine learning applications in JAVA programming language.
Abstract: In this paper we introduce the Open Cezeri Library (OCL) framework as a domain specific language (DSL) for researchers, scientists, and engineering students to enable them to develop basic linear algebra operations via simple matrix calculations, image processing, computer vision, and machine learning applications in JAVA programming language. OCL provides a strong intuition of coding for the developer while implementing by means of a fluent interface. The significant aspect of the OCL is to combine the methods of well-known platforms; MATLAB and JAVA, accordingly. Moreover, OCL supports a fluent interface so that users can extend a single line of codes by putting a dot between the methods because all the methods implemented actually return the host class. It was observed that the learning curve of the OCL is lower than the MATLAB and the native JAVA languages, and makes coding more readable, understandable, traceable, and enjoyable. In addition to this, the experiments revealed that the running performance of the OCL is quite comparable and can be used in a variety of diverse applications. © 2016 Wiley Periodicals, Inc. Comput Appl Eng Educ; View this article online at wileyonlinelibrary.com/journal/cae; DOI 10.1002/cae.21745

6 citations


Cites background from "Domain Specific Languages"

  • ...The Open Cezeri Library (OCL) can be considered as a domain specific language (DSL) in that it provides a novel approach to matrix, image processing, machine vision, and machine learning areas via a fluent interface [1] and/or method chaining [2]....

    [...]

Proceedings ArticleDOI
15 Jun 2017
TL;DR: The results show that, among the tools currently existing and used in literature, the eSEE (Experimental Software Engineering Environment) is a complete model, however, it is also the most complex.
Abstract: Context: Through the years researchers have proposed several approaches to foster the growth and quality of experiments in Software Engineering. Among these approaches, there are some initiatives that rely on tool support for specifying controlled experiments. Goal: This paper reports results from a study, which aims to organize, analyze and outline the specifications of each initiative through a comparative analysis. Method: Specifications of each initiative have been compared through a comparative analysis, carried out according to eight criteria: (i) standard empirical concepts, (ii) goals and targets, (iii) involved variables, (iv) subject description, (v) design of experiment, (vi) tasks and activities, (vii) instruments and measurements, and (viii) the threats to research validity. Results: The results show that, among the tools currently existing and used in literature, the eSEE (Experimental Software Engineering Environment) is a complete model. However, it is also the most complex. In the other hand, the most flexible one is Experiment DSL. Conclusion: Based on our results, the currently existing solutions have strengths and weaknesses that should address efforts to make improvements in this area. In principal, our general suggestion is to place emphasis on methodological quality âAS more than on method quantity.

6 citations

Journal ArticleDOI
TL;DR: This work proposes an approach for specifying a DSL compiler using control‐flow sensitive concrete‐syntax based matching rules, and explores this approach in the context of the z2z DSL for network gateway development and shows that it is beneficial to implement the core of its compiler in this manner.
Abstract: Domain-specific languages DSLs are well-recognized to ease programming and improve robustness for a specific domain, by providing high-level domain-specific notations and checks of domain-specific properties. The compiler of a DSL, however, is often difficult to develop and maintain, because of the need to define a specific treatment for a large and potentially increasing number of language constructs. To address this issue, we propose an approach for specifying a DSL compiler using control-flow sensitive concrete-syntax based matching rules. These rules either collect information about the source code to carry out checks or perform transformations to carry out compilation. Because rules only mention the relevant constructs, using their concrete syntax, and hide the complexity of control-flow graph traversal, it is easy to understand the purpose of each rule. Furthermore, new compilation steps can be added using only a small number of lines of code. We explore this approach in the context of the z2z DSL for network gateway development and show that it is beneficial to implement the core of its compiler in this manner.Copyright © 2013 John Wiley & Sons, Ltd.

6 citations


Cites background from "Domain Specific Languages"

  • ...Internal DSLs, however, are limited to the kinds of syntax, verifications, and optimizations provided *Correspondence to: Laurent Réveillère, LaBRI - University of Bordeaux, 33402 Talence, France....

    [...]

  • ...Systems such as ASF+SDF [43], JTS [44], DMS [45], and Stratego [46–48] make it possible to design and implement DSLs on the basis of program transformation strategies....

    [...]

  • ...Recent meta-programming techniques, such as expression templates, have facilitated the hosting of several DSLs in C++, including languages dedicated to scientific computing [10, 36]....

    [...]

  • ...C, however, is not a natural target for defining internal DSLs, as it does not provide a rich type system or other DSL support features....

    [...]

  • ...The design and implementation of compilers for DSLs is broadly discussed in the literature [6, 9, 27, 41]....

    [...]

Journal ArticleDOI
TL;DR: The presented platform can exploit the power of cloud computing while providing abstractions for scientists to create highly scalable data processing workflows.
Abstract: The amount of data being generated for e-Science domains has grown exponentially in the past decade, yet the adoption of new computational techniques in these fields hasn't seen similar improvements. The presented platform can exploit the power of cloud computing while providing abstractions for scientists to create highly scalable data processing workflows.

6 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