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
Book ChapterDOI
21 Jul 2014
TL;DR: The utility of string origins is illustrated by presenting data structures and operations for tracing generated code, implementing protected regions, performing name resolution and fixing inadvertent name capture in generated code.
Abstract: Program transformations play an important role in domain-specific languages and model-driven development. Tracing the execution of such transformations has well-known benefits for debugging, visualization and error reporting. In this paper, we introduce string origins, a lightweight, generic and portable technique to establish a tracing relation between the textual fragments in the input and output of a program transformation. We discuss the semantics and the implementation of string origins using the Rascal meta programming language as an example. We illustrate the utility of string origins by presenting data structures and operations for tracing generated code, implementing protected regions, performing name resolution and fixing inadvertent name capture in generated code.

8 citations


Cites background from "Domain Specific Languages"

  • ...Another traditional solution is the generation gap pattern [6], in which the generated code and the code that is expected to be handwritten are related by inheritance....

    [...]

Dissertation
10 Oct 2011
TL;DR: Une nouvelle approche is proposed pour rendre plus simple et plus sur le developpement de systemes logiciels de l'informatique ubiquitaire dans les processus de construction and de verification des systemes reste tres rudimentaire.
Abstract: Face a l'augmentation de la taille et de la complexite des systemes logiciels, il convient de les decrire a un plus haut niveau d'abstraction (\ie au-dela du code) avant de concretement les implementer. Toutefois, l'utilisation de ces descriptions de haut niveau dans les processus de construction et de verification des systemes reste tres rudimentaire, ne permettant pas de veritablement guider et faciliter le developpement logiciel. Cette these propose une nouvelle approche pour rendre plus simple et plus sur le developpement de systemes logiciels. Cette approche repose sur l'utilisation de langages dedies et sur un couplage fort entre une couche de specification et d'architecture et une couche d'implementation. Elle consiste tout d'abord a decrire a un haut niveau d'abstraction differents aspects, a la fois fonctionnels et non fonctionnels, d'un systeme dans la couche de specification et d'architecture. Ces descriptions sont ensuite analysees et utilisees pour personnaliser la couche d'implementation, afin de faciliter la construction et la verification du systeme logiciel. Nous illustrons notre approche dans le domaine de l'informatique ubiquitaire. A la suite d'une analyse complete du domaine, nous avons concu deux langages dedies a l'orchestration d'objets communicants, Pantaxou et Pantagruel.

8 citations

Proceedings ArticleDOI
06 Oct 2018
TL;DR: This paper proposes a novel method based on object detection and attention mechanism to automatically generate a web page with CSS style information and shows that the method proposed outperforms other existing methods.
Abstract: With the constantly increasing scale of the Internet and the users, the Internet applications have higher demands on the front-end web pages. Some web pages have single lattice structure and a relatively fixed HTML code template, which can be automatically generated. There have been research abroad using the deep learning on the task of automatically generating the web pages. However due to the basic encoder-decoder model adopted, the generalization ability of the model is not very robust. In this paper, we propose a novel method based on object detection and attention mechanism to automatically generate a web page with CSS style information. We use object detection to extend the original problem, which makes the model possible to detect the CSS style contents in the web page. Meanwhile we use attention mechanism to strengthen the model. Finally we propose our own dataset, based on which the experiment results show that method we proposed outperforms other existing methods.

8 citations

Proceedings ArticleDOI
01 Sep 2014
TL;DR: An approach for adaptation of Keyword driven testing framework to IEC 61131-3 industrial process control applications is proposed, which utilizes importing of application elements, presented with PLCopen XML, and transforming them to proxy objects to be used as variables in test code, with domain specific names.
Abstract: Factory Acceptance Testing should involve customer's experts and knowledge in defining, reading and validating tests, while keeping labor costs at moderate level. This involvement requires a testing approach, which hides implementation details and emphasizes domain terminology. Keyword driven testing is seen a viable test automation solution to reduce cost and enable customer involvement in acceptance testing. We propose an approach for adaptation of Keyword driven testing framework to IEC 61131-3 industrial process control applications. It utilizes importing of application elements, presented with PLCopen XML, and transforming them to proxy objects to be used as variables in test code, with domain specific names. Benefits include simplification of test and keyword specifications and hiding of implementation details from testers.

8 citations


Cites methods from "Domain Specific Languages"

  • ...The approach of presenting the system under test (SUT) to test scripts as a library of objects with methods, as we do, is identified as a ‘Test Library Architecture Framework’ category of test automation frameworks by Kelly in [21]....

    [...]

Book ChapterDOI
19 Jul 2017
TL;DR: The MONDO EU project developed the theoretical foundations and open-source implementation of a platform for scalable modeling and model management that enables modelers to construct and refine complex models collaboratively, among other features.
Abstract: Scalability in modeling has many facets, including the ability to build larger models and domain specific languages (DSLs) efficiently. With the aim of tackling some of the most prominent scalability challenges in Model-based Engineering (MBE), the MONDO EU project developed the theoretical foundations and open-source implementation of a platform for scalable modeling and model management. The platform includes facilities for building large DSLs, for splitting large models into sets of smaller interrelated fragments, and enables modelers to construct and refine complex models collaboratively, among other features.

8 citations


Cites background from "Domain Specific Languages"

  • ...It is composed by several components for the development of scalable Eclipse-based editors and DSLs, collaborative modeling, model indexing and scalable model transformations and queries....

    [...]

  • ...The equivalent graphical modeling editor has been constructed using DSL-tao in no more than half an hour by the same developer with basic—but sufficient—knowledge of DSL-tao....

    [...]

  • ...The patterns account for recurring domain concepts, concrete syntax representation, semantics and services for the DSL environment....

    [...]

  • ...In this sense, it is important that this methodology provides a wide set of predefined design patterns, which DSL designers can take advantage of to build their custom modeling solutions....

    [...]

  • ...3 sketches, Domain Specific Languages (DSL) [7,11] and code generators [4]....

    [...]

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