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
Proceedings Article
01 Jan 2015
TL;DR: This work introduces MD as one solution to fulfill typical requirements of business apps and highlights a businessoriented enhancement that further increases its 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 provide 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, which is based on model-driven development (MDSD) techniques, are a much more powerful yet less mature choice. We introduce MD as one solution to fulfill typical requirements of business apps. Moreover, we highlight a businessoriented enhancement that further increases its business practicability.

5 citations

Proceedings ArticleDOI
27 Aug 2012
TL;DR: WikiLayer as discussed by the authors is a plugin for Wikipedia that allows users to supplement Wikipedia articles with their own content (i.e., a layer) by seamlessly interspersing Wikipedia content with custom content.
Abstract: Wikipedia is a successful example of collaborative knowledge construction. This can be synergistically complemented with personal knowledge construction whereby individuals are supported in their sharing, experimenting and building of information in a more private setting, without the scrutiny of the whole community. Ideally, both approaches should be seamlessly integrated so that wikipedians can easily transit from the public sphere to the private sphere, and vice versa. To this end, we introduce WikiLayer, a plugin for Wikipedia that permits wikipedians locally supplement Wikipedia articles with their own content (i.e. a layer). Layering additional content is achieved locally by seamlessly interspersing Wikipedia content with custom content. WikiLayer is driven by three main wiki principles: affordability (i.e., if you know how to edit articles, you know how to layer), organic growth (i.e., layers evolve in synchrony with the underlying articles) and shareability (i.e., layers can be shared in confidence through the wikipedian's social network, e.g., Facebook). The paper provides motivating scenarios for readers, contributors and editors. WikiLayer is available for download at http://webaugmentation.org/wikilayer.xpi.

5 citations

Proceedings ArticleDOI
01 Jan 2016
TL;DR: This paper uses declarative and domain-specific languages for representing expert knowledge in the field of change management in organisational psychology and uses specially designed domain- specific languages to make the rule syntax easier for non-programmers.
Abstract: In this paper, we use declarative and domain-specific languages for representing expert knowledge in the field of change management in organisational psychology Expert rules obtained in practical case studies are represented as declarative rules in a deductive database The expert rules are annotated by information describing their provenance and confidence Additional provenance information for the whole - or parts of the - rule base can be given by ontologies Deductive databases allow for declaratively defining the semantics of the expert knowledge with rules; the evaluation of the rules can be optimised and the inference mechanisms could be changed, since they are specified in an abstract way As the logical syntax of rules had been a problem in previous applications of deductive databases, we use specially designed domain-specific languages to make the rule syntax easier for non-programmers The semantics of the whole knowledge base is declarative The rules are written declaratively in an extension datalogs of the well-known deductive database language datalog on the data level, and additional datalogs rules can configure the processing of the annotated rules and the ontologies

5 citations

Proceedings ArticleDOI
01 Jul 2013
TL;DR: This paper describes the different software tools that constitute Evaluators 2.0 as well as the nature of the simulators generated, and also reports on different assessments of the system involving both instructors and students.
Abstract: Evaluators 2.0 is an educational software system that lets instructors in introductory compiler construction courses generate interactive simulators from batteries of exercises concerning basic concepts in attribute grammars. The system also makes it possible to analyze the activities of the students who use these simulators. Students interact with the simulators generated to decide the evaluation order of semantic attributes in the attributed syntax trees, and they receive immediate feedback about the actions performed. Thus, these simulations help students to understand the fundamental concepts of the formalism of attribute grammars and of its underlying computational model. This paper describes the different software tools that constitute Evaluators 2.0 as well as the nature of the simulators generated, and also reports on different assessments of the system involving both instructors and students.

5 citations

01 Jan 2016
TL;DR: A compact DSL for the integration of behavior DSLs into a component & connector ADL that guides and facilitates this form of language integration and liberation from requiring in-depth language integration expertise using appropriate abstractions is presented.
Abstract: Component & connector architecture description languages often need to capture application-specific or company-specific requirements. Therefore, it is a crucial prerequisite for their successful application to adapt the ADLs by customizing the languages themselves. Pervasive modeling with tailored ADLs can benefit from integration of DSLs to model-specific forms of component behavior. This requires expertise of the underlying language integration mechanisms. Current research in integrating heterogeneous component behavior DSLs into an ADL focuses on integration of specific kinds of DSLs or is restricted to syntactic integration. However, language integrators can be liberated from requiring in-depth language integration expertise using appropriate abstractions. To this effect, we present a compact DSL for the integration of behavior DSLs into a component & connector ADL that guides and facilitates this form of language integration. Modeling the embedding of behavior DSLs into ADLs facilitates their composition and ultimately the pervasive modeling of complex architectures.

5 citations


Cites methods from "Domain Specific Languages"

  • ...The BCL is realized as a fluent interface [9] using the builder pattern [10] to enable DSL-like usage, while actually being a Groovy GPL API....

    [...]

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