domain-specific language

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 529587 Experts worldwide ranked by ideXlab platform

Eelco Visser - One of the best experts on this subject based on the ideXlab platform.

  • webdsl a domain specific language for dynamic web applications
    Technical Report Series TUD-SERG-2008-040, 2008
    Co-Authors: Danny M Groenewegen, Zef Hemel, Lennart C L Kats, Eelco Visser
    Abstract:

    Preprint of paper published in: OOPSLA 2008 - ACM SIGPLAN Conference on Object-Oriented Programming, Systems, languages, and Applications, 19-23 October 2008; doi:10.1145/1449814.1449858 WebDSL is a domain-specific language for the implementation of dynamic web applications with a rich data model. It consists of a core language with constructs to define entities, pages and business logic. Higher-level abstractions, modeling access control and workflow, are defined in a modular fashion as extensions of the core language.

  • webdsl a case study in domain specific language engineering
    Technical Report Series TUD-SERG-2008-023, 2008
    Co-Authors: Eelco Visser
    Abstract:

    Preprint of paper published in: GITTSE 2007 - International Summer School Generative and Transformational Techniques in Software Engineering, 2-7 July 2007, Lecture Notes in Computer Science 5235; doi:10.1007/978-3-540-88643-3_7 The goal of domain-specific languages (DSLs) is to increase the productivity of software engineers by abstracting from low-level boilerplate code. Introduction of DSLs in the software development process requires a smooth workflow for the production of DSLs themselves. This requires technology for designing and implementing DSLs, but also a methodology for using that technology. That is, a collection of guidelines, design patterns, and reusable DSL components that show developers how to tackle common language design and implementation issues. This paper presents a case study in domain-specific language engineering. It reports on a project in which the author designed and built WebDSL, a DSL for web applications with a rich data model, using several DSLs for DSL engineering: SDF for syntax definition and Stratego/XT for code generation. The paper follows the stages in the development of the DSL. The contributions of the paper are three-fold. (1) A tutorial in the application of the specific SDF and Stratego/XT technology for building DSLs. (2) A description of an incremental DSL development process. (3) A domain-specific language for web-applications with rich data models. The paper concludes with a survey of related approaches.

  • webdsl a domain specific language for dynamic web applications
    Conference on Object-Oriented Programming Systems Languages and Applications, 2008
    Co-Authors: Danny M Groenewegen, Zef Hemel, Lennart C L Kats, Eelco Visser
    Abstract:

    WebDSL is a domain-specific language for the implementation of dynamic web applications with a rich datamodel. It consists of a core language with constructs to define entities, pages and business logic. Higher-level abstractions, modeling access control and workflow, are defined in a modular fashion as extensions of the core language.

  • webdsl a case study in domain specific language engineering
    Generative and Transformational Techniques in Software Engineering II, 2007
    Co-Authors: Eelco Visser
    Abstract:

    The goal of domain-specific languages (DSLs) is to increase the productivity of software engineers by abstracting from low-level boilerplate code. Introduction of DSLs in the software development process requires a smooth workflow for the production of DSLs themselves. This requires technology for designing and implementing DSLs, but also a methodology for using that technology. That is, a collection of guidelines, design patterns, and reusable DSL components that show developers how to tackle common language design and implementation issues. This paper presents a case study in domain-specific language engineering. It reports on a project in which the author designed and built WebDSL, a DSL for web applications with a rich data model, using several DSLs for DSL engineering: SDF for syntax definition and Stratego/XT for code generation. The paper follows the stages in the development of the DSL. The contributions of the paper are three-fold. (1) A tutorial in the application of the specific SDF and Stratego/XT technology for building DSLs. (2) A description of an incremental DSL development process. (3) A domain-specific language for web-applications with rich data models. The paper concludes with a survey of related approaches.

  • GTTSE - WebDSL: A Case Study in domain-specific language Engineering
    Lecture Notes in Computer Science, 2007
    Co-Authors: Eelco Visser
    Abstract:

    The goal of domain-specific languages (DSLs) is to increase the productivity of software engineers by abstracting from low-level boilerplate code. Introduction of DSLs in the software development process requires a smooth workflow for the production of DSLs themselves. This requires technology for designing and implementing DSLs, but also a methodology for using that technology. That is, a collection of guidelines, design patterns, and reusable DSL components that show developers how to tackle common language design and implementation issues. This paper presents a case study in domain-specific language engineering. It reports on a project in which the author designed and built WebDSL, a DSL for web applications with a rich data model, using several DSLs for DSL engineering: SDF for syntax definition and Stratego/XT for code generation. The paper follows the stages in the development of the DSL. The contributions of the paper are three-fold. (1) A tutorial in the application of the specific SDF and Stratego/XT technology for building DSLs. (2) A description of an incremental DSL development process. (3) A domain-specific language for web-applications with rich data models. The paper concludes with a survey of related approaches.

Marjan Mernik - One of the best experts on this subject based on the ideXlab platform.

  • Design and implementation of domain-specific language easytime
    Computer Languages Systems & Structures, 2011
    Co-Authors: Iztok Fister, Marjan Mernik, Janez Brest
    Abstract:

    Measuring time in mass sporting competitions is, typically, performed with a timing system that consists of a measuring technology and a computer system. The first is dedicated to tracking events that are triggered by competitors and registered by measuring devices (primarily based on RFID technology). The latter enables the processing of these events. In this paper, the processing of events is performed by an agent that is controlled by the domain-specific language, EasyTime. EasyTime improves the flexibility of the timing system because it supports the measuring of time in various sporting competitions, their quick adaptation to the demands of new sporting competitions and a reduction in the number of measuring devices. Essentially, we are focused on the development of a domain specific language. In practice, we made two case studies of using EasyTime by measuring time in two different sporting competitions. The use of EasyTime showed that it can be useful for sports clubs and competition organizers by aiding in the results of smaller sporting competitions, while in larger sporting competitions it could simplify the configuration of the timing system.

  • AN UNSUPERVISED INCREMENTAL LEARNING ALGORITHM FOR domain-specific language DEVELOPMENT
    Applied Artificial Intelligence, 2008
    Co-Authors: Faizan Javed, Marjan Mernik, Barrett R. Bryant, Alan Sprague
    Abstract:

    While grammar inference (or grammar induction) has found extensive application in the areas of robotics, computational biology, and speech recognition, its application to problems in programming language and software engineering domains has been limited. We have found a new application area for grammar inference which intends to make domain-specific language development easier for domain experts not well versed in programming language design, and finds a second application in construction of renovation tools for legacy software systems. As a continuation of our previous efforts to infer context-free grammars (CFGs) for domain-specific languages which previously involved a genetic-programming based CFG inference system, we discuss extensions to the inference capabilities of GenInc, an incremental learning algorithm for inferring CFGs. We show that these extensions enable GenInc to infer more comprehensive grammars, discuss the results of applying GenInc to various domain-specific languages and evaluate the results using a comprehensive suite of grammar metrics.

  • A preliminary study on various implementation approaches of domain-specific language
    Information & Software Technology, 2008
    Co-Authors: Toma Kosar, Pablo E. Martínez López, Pablo Andres Barrientos, Marjan Mernik
    Abstract:

    Various implementation approaches for developing a domain-specific language are available in literature. There are certain common beliefs about the advantages/disadvantages of these approaches. However, it is hard to be objective and speak in favor of a particular one, since these implementation approaches are normally compared over diverse application domains. The purpose of this paper is to provide empirical results from ten diverse implementation approaches for domain-specific languages, but conducted using the same representative language. Comparison shows that these discussed approaches differ in terms of the effort need to implement them, however, the effort needed by a programmer to implement a domain-specific language should not be the only factor taken into consideration. Another important factor is the effort needed by an end-user to rapidly write correct programs using the produced domain-specific language. Therefore, this paper also provides empirical results on end-user productivity, which is measured as the lines of code needed to express a domain-specific program, similarity to the original notation, and how error-reporting and debugging are supported in a given implementation.

  • weaving a debugging aspect into domain specific language grammars
    ACM Symposium on Applied Computing, 2005
    Co-Authors: Hui Wu, Suman Roychoudhury, Jeff Gray, Marjan Mernik
    Abstract:

    A common trend in programming language specification is to generate various tools (e.g., compiler, editor, profiler, and debugger) from a grammar. In such a generative approach, it is desirable to have the definition of a programming language be modularized according to specific concerns specified in the grammar. However, it is often the case that the corresponding properties of the generated tools are scattered and tangled across the language specification. In this paper, separation of concerns within a programming language specification is demonstrated by considering debugging support within a domain-specific language (DSL). The paper first describes the use of AspectJ to weave the debugging semantics into the code created by a parser generator. The paper outlines several situations when the use of AspectJ is infeasible at separating language specification properties. To accommodate such situations, a second approach is presented that weaves the debugging support directly into a grammar specification using a program transformation engine. A case study for a simple DSL is presented to highlight the benefits of weaving across language specifications defined by grammars.

Alexandre Bergel - One of the best experts on this subject based on the ideXlab platform.

  • A domain-specific language to visualize software evolution
    Information & Software Technology, 2018
    Co-Authors: Alison Fernandez, Alexandre Bergel
    Abstract:

    Abstract Context Accurately relating code authorship to commit frequency over multiple software revisions is a complex task. Most of the navigation tools found in common source code versioning clients are often too rigid to formulate specific queries and adequately present results of such queries. Questions related to evolution asked by software engineers are therefore challenging at answering using common Git clients. Objective This paper explores the use of stacked adjacency matrices and a domain specific language to produce tailored interactive visualizations for software evolution exploration. We are able to support some classical software evolution tasks using short and concise scripts using our language. Method We propose a domain-specific language to stack adjacency matrices and produce scalable and interactive visualizations. Our language and visualizations are evaluated using two independent controlled experiments and closely observing participants. Results We made the following findings: (i) participants are able to express sophisticated queries using our domain-specific language and visualizations, (ii) participants perform better than GitHub’s visualizations to answer a set of questions. Conclusion Our visual and scripting environment performs better than GitHub’s visualizations at extracting software evolution information.

  • A domain-specific language for Visualizing Software Dependencies as a Graph
    2014
    Co-Authors: Alexandre Bergel, Sergio Maass, Stéphane Ducasse, Tudor Girba
    Abstract:

    Graphs are commonly used to visually represent software dependencies. However, adequately visualizing software dependencies as a graph is a non-trivial problem due to the pluridimentional nature of software. We have designed a domain-specific language for visualizing software dependencies as graphs that is both expressive and concise. GRAPH, the implementation of our DSL, features a seamless mapping between visual dimensions to software metrics, composition of graph layouts, graph partition, and hierarchical bundle edges.

Tyson R Henry - One of the best experts on this subject based on the ideXlab platform.

Mernikmarjan - One of the best experts on this subject based on the ideXlab platform.