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 ArticleDOI
10 Nov 2016
TL;DR: Model2gether as discussed by the authors is a web site for apoio a inclusão de pessoas cegas em atividades de ensino eletronico de modelos com forte vinculacao a representacoes graficas.
Abstract: O uso frequente na area da computacao de modelos que possuem uma forte dependencia em relacao a representacoes graficas cria obstaculos para a inclusao de pessoas cegas em cursos da area. No que diz respeito a educacao presencial, existem varias medidas que podem contribuir para reduzir tais obstaculos, como o uso de objetos fisicos para representar elementos de diagramas. No entanto, estas medidas nao sao efetivas em atividades de ensino eletronico (EaD via Internet), devido a distância fisica entre os participantes. Neste contexto, este artigo apresenta o Model2gether, um prototipo web de apoio a inclusao de pessoas cegas em atividades de ensino eletronico de modelos com forte vinculacao a representacoes graficas. Endereco do video: https://www.youtube.com/watch?v=2OrkHJ8F7uw

7 citations

Proceedings ArticleDOI
01 Sep 2016
TL;DR: It is argued that MDE can play a leading role in the development process of adaptive systems, since it can address most of the associated challenges.
Abstract: An adaptive software has the ability of modify its own behavior due to changes in its surround context. Despite the importance of these kind of systems, the development of adaptive systems is a complex, error prone, and time consuming task. Several authors have defined a set of challenges to consider when software engineers develop adaptive systems. Although there are several approaches to address these challenges, we believe that a model-driven engineering (MDE) approach is the best suitable solution. The main goal of this paper is to argue that MDE can play a leading role in the development process of adaptive systems, since it can address most of the associated challenges. The paper includes a detailed analysis of the main dimensions in adaptation and thoroughly analyzes the potential of MDE to address each dimension. A final discussion is presented to demonstrate the feasibility and usefulness of the MDE approach in this type of problems.

7 citations


Cites background from "Domain Specific Languages"

  • ...MDE considers models not just as documentation artifacts but also as first-class citizens, where models might be used throughout all engineering disciplines and in any application domain [15]....

    [...]

Proceedings Article
12 Oct 2014
TL;DR: A set of requirements for developing a Domain-Specific Language (DSL) for modeling performance testing of Web applications and the design decisions in creating a solution that meets the specific needs of a partner company are presented.
Abstract: Performance is a fundamental quality of software systems. The focus of performance testing is to reveal bottlenecks or lack of scalability of a system or an environment. However, usually the software development cycle does not include this effort on the early development phases, which leads to a weak elicitation process of performance requirements. One way to mitigate that is to include performance requirements in the system models. This can be achieved by using Model-Based Testing (MBT) since it enables to aggregate testing information in the system model since the early stages of the software development cycle. This also allows to automate the generation of test artifacts, such as test cases or test scripts, and improves communication among different teams. In this paper, we present a set of requirements for developing a Domain-Specific Language (DSL) for modeling performance testing of Web applications. In addition, we present our design decisions in creating a solution that meets the specific needs of a partner company. We believe that these decisions help in building a body of knowledge that can be reused in different settings that share similar requirements. Keywords—performance testing; domain-specific language.

7 citations


Cites background from "Domain Specific Languages"

  • ...Since there is not a standard modeling language to model the specific needs of the performance testing domain, we focused our effort on investigating and proposing a DSL to this domain....

    [...]

Journal ArticleDOI
TL;DR: This paper provides the definitions of the summaries with the methods to automatically extract them from NoSQL graph databases only and with the help of in-memory architectures and demonstrates the benefit of the proposition by experimental results.
Abstract: NoSQL graph databases have been introduced in recent years for dealing with large collections of graph-based data. Scientific data and social networks are among the best examples of the dramatic increase of the use of such structures. NoSQL repositories allow the management of large amounts of data in order to store and query them. Such data are not structured with a predefined schema as relational databases could be. They are rather composed by nodes and relationships of a certain type. For instance, a node can represent a Person and a relationship Friendship. Retrieving the structure of the graph database is thus of great help to users, for example when they must know how to query the data or to identify relevant data sources for recommender systems. For this reason, this paper introduces methods to retrieve structural summaries. Such structural summaries are extracted at different levels of information from the NoSQL graph database. The expression of the mining queries is facilitated by the use of two frame-works: Fuzzy4S allowing to define fuzzy operators and operations with Scala; Cypherf allowing the use of fuzzy operators and operations in the declarative queries over NoSQL graph databases. We show that extracting such summaries can be impossible with the NoSQL query engines because of the data volume and the complexity of the task of automatic knowledge extraction. A novel method based on in memory architectures is thus introduced. This paper provides the definitions of the summaries with the methods to automatically extract them from NoSQL graph databases only and with the help of in-memory architectures. The benefit of our proposition is demonstrated by experimental results.

7 citations

Journal ArticleDOI
04 Nov 2012
TL;DR: The basic principles and stereotypes that are used when creating user interfaces and rules must be derived for creating an information extracting algorithm are listed and analyzed and a set of rules for extracting domain information is created.
Abstract: A graphical user interface (GUI, UI) is an important part of an application, with which users interact directly. It should be implemented in the best way with respect to understandability. If a user does not understand the terms in the UI, he or she cannot work with it; then the whole system is worthless. In order to serve well the UI should contain domain-specific terms and describe domain-specific processes. It is the primary source for domain analysis right after domain users and experts. Our general goal is to propose a method for an automatic domain analysis of user interfaces. First, however, the basic principles and stereotypes must be defined that are used when creating user interfaces and rules must be derived for creating an information extracting algorithm. In this paper these stereotypes are listed and analyzed and a set of rules for extracting domain information is created. A taxonomy of UIs and a taxonomy of components based on their domain-specific information is also proposed. Our DEAL method for extracting this information is outlined and a prototype of DEAL is presented. Also our goals for the future are listed: expanding the prototype for different components and different types of UIs.

7 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