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
Journal ArticleDOI
26 Oct 2020-Sensors
TL;DR: A seismic P wave detection and a blue whales D call detection algorithm with the MeLa language are implemented, which are the first efforts toward multidisciplinary monitoring of the oceans, which can extend beyond acoustic applications.
Abstract: At 2000 m depth in the oceans, one can hear biological, seismological, meteorological, and anthropogenic activity. Acoustic monitoring of the oceans at a global scale and over long periods of time could bring important information for various sciences. The Argo project monitors the physical properties of the oceans with autonomous floats, some of which are also equipped with a hydrophone. These have a limited transmission bandwidth requiring acoustic data to be processed on board. However, developing signal processing algorithms for these instruments requires one to be an expert in embedded software. To reduce the need of such expertise, we have developed a programming language, called MeLa. The language hides several aspects of embedded software with specialized programming concepts. It uses models to compute energy consumption, processor usage, and data transmission costs early during the development of applications; this helps to choose a strategy of data processing that has a minimum impact on performances. Simulations on a computer allow for verifying the performance of the algorithms before their deployment on the instrument. We have implemented a seismic P wave detection and a blue whales D call detection algorithm with the MeLa language to show its capabilities. These are the first efforts toward multidisciplinary monitoring of the oceans, which can extend beyond acoustic applications.

2 citations

19 Sep 2018
TL;DR: This paper presents fav.js, a Javascript library for flexible visualization of audio descriptors, and explains the proposed design and demonstrates its potential for web audio applications through several visualization examples.
Abstract: Research in audio analysis has provided a large number of ways to describe audio recordings, which can be used for enhancing their visual representation in web applications. In this paper we present fav.js, a Javascript library for flexible visualization of audio descriptors. We explain the proposed design and demonstrate its potential for web audio applications through several visualization examples.

2 citations


Cites methods from "Domain Specific Languages"

  • ...This pattern can be used to build embedded Domain Specific Laguages (DSL) [8]....

    [...]

  • ...2https://www.vamp-plugins.org 3https://freesound.org/docs/api The library implements an internal DSL through method chaining....

    [...]

01 May 2014
TL;DR: In this article, a proyecto for the implementacion del Nucleo de Adquisicion de manera acorde a los requerimientos especificos que se plantean.
Abstract: Los Sistemas de Adquisicion de Datos y Control (SCADA: Supervisory Control And Data Adquisition), toman del campo variables de estado provenientes de diferentes dispositivos. A fin de presentar al usuario una idea cabal del estado del proceso supervisado, el sistema debe ser capaz de trabajar con la totalidad de los datos obtenidos de los dispositivos y posteriormente ofrecer una representacion amigable al humano. En este documento, se describe un proyecto para la implementacion del Nucleo de Adquisicion de manera acorde a los requerimientos especificos que se plantean.

2 citations

Proceedings ArticleDOI
08 Dec 2013
TL;DR: A formalism-independent model of the instrumentation semantics is proposed and used as a basis for developing embedded domain-specific languages (DSLs) that share common code, allow to add formalist-specific syntax, and are easy to extend.
Abstract: Experimenters need to configure the data collection performed during a simulation run, as this avoids overly large output data sets and the overhead of collecting them. Instrumentation languages address this problem by allowing experimenters to specify the data of interest. Such languages typically focus on a specific modeling formalism. While this allows for a more expressive syntax, it also prohibits their application to other formalisms. To resolve this trade-off, we propose a formalism-independent model of the instrumentation semantics and use it as a basis for developing embedded domain-specific languages (DSLs). Our instrumentation DSLs share common code, allow to add formalism-specific syntax, and are easy to extend.

2 citations


Cites methods from "Domain Specific Languages"

  • ...Poster, Winter Simulation Conference 2012....

    [...]

  • ...Proceedings of the 2013 Winter Simulation Conference R. Pasupathy, S.-H. Kim, A. Tolk, R. Hill, and M. E. Kuhl, eds....

    [...]

  • ...A GENERAL FOUNDATION At .rst, we sketch the semantic model (Fowler 2010) that represents a user s intentions regarding instrumentation and which has been implemented as a Java class hierarchy that also could be transformed to an XML schema....

    [...]

  • ...In Proc. of the 2012 Winter Simulation Conference....

    [...]

Journal ArticleDOI
TL;DR: This work presents the fully automated transformation chain realized by Jump, thereby continuing existing mapping efforts between Java and UML by emphasizing on annotations and profiles, and demonstrates the practical value of Jump by contributing profiles that facilitate reverse engineering and forward engineering processes for the Java platform by applying it to a modernization scenario.
Abstract: The capability of UML profiles to serve as annotation mechanism has been recognized in both research and industry. Today’s modeling tools offer profiles specific to platforms, such as Java, as they facilitate model-based engineering approaches. However, considering the large number of possible annotations in Java, manually developing the corresponding profiles would only be achievable by huge development and maintenance efforts. Thus, leveraging annotation-based modeling requires an automated approach capable of generating platform-specific profiles from Java libraries. To address this challenge, we present the fully automated transformation chain realized by Jump, thereby continuing existing mapping efforts between Java and UML by emphasizing on annotations and profiles. The evaluation of Jump shows that it scales for large Java libraries and generates profiles of equal or even improved quality compared to profiles currently used in practice. Furthermore, we demonstrate the practical value of Jump by contributing profiles that facilitate reverse engineering and forward engineering processes for the Java platform by applying it to a modernization scenario.

2 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