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
Dissertation
01 Jan 2011
TL;DR: In this article, the authors propose a language called FAMILIAR (pour FeAture Model scrIpt Language for manIpulation and Automatic Reasoning), which fournit une solution operationnelle a la gestion of multiples FMs a large echelle.
Abstract: L’ingenierie des lignes de produits logiciels (LdPs) est un paradigme pour la modelisation et le developpement de familles de systemes logiciels plutot que de systemes logiciels individuels. Son objectif porte sur les moyens de produire et maintenir efficacement des produits logiciels similaires en exploitant ce qu’ils ont en commun et en gerant ce qui varie entre eux. Par analogie, la pratique dans l’industrie automobile est de construire une ligne de production dans laquelle des variations personnalisees mais tout de meme similaires de modeles de voitures sont produits. Les feature models (FMs) sont une representation fondamentale pour specifier et raisonner sur la commonalite et la variabilite des LdPs en termes de features (caracteristiques). Les FMs deviennent de plus en plus complexes, manipules par plusieurs developpeurs ou organisations, utilises pour decrire des features a divers niveaux d’abstraction et qui sont mises en relation de differentes facons. Maintenir un seul gros FM n’est ni realiste ni souhaitable. Au contraire une tendance forte est de considerer de multiples FMs. Dans cette these, nous developpons les fondations theoriques et un support pratique pour gerer de multiples FMs. Nous concevons et developpons un ensemble d’operateurs de composition et de decomposition (aggregate, merge, slice) pour supporter la separation des preoccupations. Les operateurs sont formellement definis et implementes avec un algorithme qui garantit des proprietes semantiques. Nous montrons comment les operateurs de composition et de decomposition peuvent etre combines ensemble ou avec d’autres operateurs d’edition ou de raisonnement pour realiser des taches complexes. Nous proposons un langage textuel, FAMILIAR (pour FeAture Model scrIpt Language for manIpulation and Automatic Reasoning), qui fournit une solution operationnelle a la gestion de multiples FMs a large echelle. Un utilisateur des FMs peut combiner les differents operateurs et manipuler un ensemble restreint de concepts (FMs, features, configurations, etc. ) en utilisant une notation concise et des facilites linguistiques. FAMILIAR cache les details d’implementations (e. G. , solveurs) et est supporte par un environnement de developpement complet. Nous decrivons plusieurs applications de ces operateurs et utilisations de FAMILIAR dans differents domaines (messagerie medicale, video protection) et pour differents objectifs (conception de workflows scientifiques, modelisation de la variabilite des exigences a l’execution, retro ingenierie), demontrant l’applicabilite a la fois des operateurs et du langage de support. Sans les nouvelles capacites fournies par les operateurs et FAMILIAR, certaines operations d’analyse et de raisonnement n’auraient pas ete possibles dans les differents cas d’etudes. Pour conclure, nous discutons les differentes perspectives de recherche a moyen terme (operateurs, langage, elements de validation) et a long terme (e. G. Relations entre les FMs et les autres modeles).

33 citations

01 Jan 2015
TL;DR: This work discusses business implications of MDSD for apps and introduces MD 2 as the proposed solution to fulfill typical requirements and highlights a business-oriented enhancement that further increases MD 2 ’s business practicability.
Abstract: Due to the incompatibility of mobile device platforms such as Android and iOS, apps have to be developed separately for each target platform. Cross-platform development approaches based on Web technology have significantly improved over the last years. However, since they do not lead to native apps, these frameworks are not feasible for all kinds of business apps. Moreover, the way apps are developed is cumbersome. Advanced cross-platform approaches such as MD 2 , which is based on model-driven development (MDSD) techniques, are a much more powerful yet less mature choice. We discuss business implications of MDSD for apps and introduce MD 2 as our proposed solution to fulfill typical requirements. Moreover, we highlight a business-oriented enhancement that further increases MD 2 ’s business practicability. We generalize our findings and sketch the path towards more versatile MDSD of apps.

33 citations

Journal ArticleDOI
01 Jul 2018
TL;DR: AIDA emulates the syntax and semantics of popular data science packages but transparently executes the required transformations and computations inside the RDBMS, and supports the seamless use of both relational and linear algebra operations using a unified abstraction.
Abstract: With the tremendous growth in data science and machine learning, it has become increasingly clear that traditional relational database management systems (RDBMS) are lacking appropriate support for the programming paradigms required by such applications, whose developers prefer tools that perform the computation outside the database system. While the database community has attempted to integrate some of these tools in the RDBMS, this has not swayed the trend as existing solutions are often not convenient for the incremental, iterative development approach used in these fields. In this paper, we propose AIDA - an abstraction for advanced in-database analytics. AIDA emulates the syntax and semantics of popular data science packages but transparently executes the required transformations and computations inside the RDBMS. In particular, AIDA works with a regular Python interpreter as a client to connect to the database. Furthermore, it supports the seamless use of both relational and linear algebra operations using a unified abstraction. AIDA relies on the RDBMS engine to efficiently execute relational operations and on an embedded Python interpreter and NumPy to perform linear algebra operations. Data reformatting is done transparently and avoids data copy whenever possible. AIDA does not require changes to statistical packages or the RDBMS facilitating portability.

33 citations


Cites methods from "Domain Specific Languages"

  • ...While the code in listing 1 is using a variable for each intermediate TabularData object, users can use method chaining [16] to reduce the number of statements and variables by chaining the calls to operators, as shown below....

    [...]

Journal ArticleDOI
TL;DR: This article focuses on self-adapting image objects and introduces a framework for agent-based image analysis (ABIA), which aims at autonomously adapting rule sets and image objects that can adopt and adjust themselves according to different imaging conditions and sensor characteristics.
Abstract: Object-based image analysis (OBIA) as a paradigm for analysing remotely sensed image data has in many cases led to spatially and thematically improved classification results in comparison to pixel-based approaches. Nevertheless, robust and transferable object-based solutions for automated image analysis capable of analysing sets of images or even large image archives without any human interaction are still rare. A major reason for this lack of robustness and transferability is the high complexity of image contents: Especially in very high resolution (VHR) remote-sensing data with varying imaging conditions or sensor characteristics, the variability of the objects’ properties in these varying images is hardly predictable. The work described in this article builds on so-called rule sets. While earlier work has demonstrated that OBIA rule sets bear a high potential of transferability, they need to be adapted manually, or classification results need to be adjusted manually in a post-processing step. In order ...

32 citations


Cites methods from "Domain Specific Languages"

  • ...Depending on the software used, rule sets can be described in a domain-specific language (DSL), which is structured as a programming language but uses linguistic elements and concepts of the application domain (Hudak 1996, Fowler 2010)....

    [...]

Proceedings ArticleDOI
24 Oct 2011
TL;DR: This work proposes a model-driven approach to build WSN applications that promotes the separation of concerns between two levels of requirements involved, and promotes the reuse of software artifacts.
Abstract: Developing Wireless Sensor Networks (WSN) applications is not an easy task, since it demands different expertise and knowledge To address this problem, we propose a model-driven approach to build WSN applications It promotes the separation of concerns between two levels of requirements involved: (i) domain experts, with no knowledge on WSN platforms, contribute to the development of applications, (ii) network experts, with no knowledge on the application domain, program nodes to meet application requirements Our approach also promotes the reuse of software artifacts: an application model can be reused on different sensor platforms and a platform model can be reused for different WSN applications

32 citations


Cites background from "Domain Specific Languages"

  • ...Section V depicts related work and Section VI concludes the paper....

    [...]

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