Corpus ID: 6214326

Methods and Techniques for the Design and Implementation of Domain-Specific Languages

@inproceedings{Hemel2012MethodsAT,
  title={Methods and Techniques for the Design and Implementation of Domain-Specific Languages},
  author={Z. Hemel},
  year={2012}
}
  • Z. Hemel
  • Published 11 January 2012
  • Computer Science
Domain-Specific Languages (DSLs) are programming language aimed at a particular problem domain, e.g. banking, database querying or website page lay-outs. Through the use of high-level concepts, a DSL raises the level of abstraction and expressive power of the programmer, and reduces the size of programs. This dissertation covers various aspects of the design and implementations of such DSLs. Throughout the project, two DSLs were developed: WebDSL, a language for rapid web application… Expand
From napkin sketches to reliable software
TLDR
Combining the MDSE techniques discussed in this thesis enables generating reliable and correct software by means of refining model transformations from concise, formal models specified on a high level of abstraction using DSMLs. Expand
A Compositional Interchange Format for Hybrid Systems: Design and Implementation
TLDR
This thesis shows how formal semantics can be used not only for specifying mathematically a language, but also for developing tools and model transformations for it, in the design of large complex controlled systems. Expand
A Reference Architecture for Distributed Software Deployment
TLDR
A reference architecture is described that contains various components to automate software deployment processes of modern generation systems that strive to perform deployment steps in a way that is reliable, reproducible, generic, extensible and efficient. Expand
Qualitative and Quantitative Information Flow Analysis for Multi-threaded Programs
TLDR
The goal of this thesis is to propose more suitable and practically efficient methods to analyze information flow of multi-threaded programs, and proposes two novel models of quantitative information flow analysis for a program where the attacker is able to influence the initial values of public data. Expand
Abstract Graph Transformation - Theory and Practice
TLDR
Two abstraction techniques are presented that yield a finite over-approximation of the behaviour of infinite-state GT systems, thus enabling verification on the abstract level and discussed under both a theoretical and a practical focus. Expand
Combining Monitoring with Run-Time Assertion Checking
TLDR
This method described in this tutorial is based on automated run-time checking of a combination of protocol- and data-oriented properties of object-oriented programs. Expand
Performance Optimization of Multi-Tenant Software Systems
TLDR
This thesis presents and evaluates methods to analyze and optimize the performance of multi-tenant software on those two levels and focuses on one of these challenges in this thesis, namely performance. Expand
Scalable multi-core model checking
TLDR
The goal of the current thesis is to enable the full use of computational power of modern multi-core computers for model checking, and achieves efficient parallelization of a broad set of model checking problems in three steps. Expand
Domain Modelling and Language Issues for Family History and Near-Tree Graph Data Applications
Domain-Specific Modelling is a powerful software engineering approach to building complex software systems. DomainSpecific Languages provide a powerful way of capturing and encapsulating theExpand
On the Incremental Evaluation of Higher-Order Attribute Grammars
TLDR
This thesis describes the automatic generation of incremental attribute grammar evaluators, with the purpose of (semi-)automatically generating an incremental compiler from the regular attribute grammar definition, and supports incremental evaluation of higher order attributes. Expand
...
1
2
3
...

References

SHOWING 1-10 OF 282 REFERENCES
Easy language extension with meta-aspectJ
TLDR
This work presents a methodology that simplifies the development and deployment of small language extensions, in the context of Java, to express the language as a generator of customized AspectJ aspects, using the Meta-AspectJ tool. Expand
WebDSL: A Case Study in Domain-Specific Language Engineering
TLDR
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. Expand
Grammar-driven generation of domain-specific language debuggers
TLDR
A grammar-driven technique to build a debugging tool generation framework from existing DSL grammars is described, which addresses a long-term goal of empowering end-users with development tools for particular DSL problem domains at the proper level of abstraction without depending on a specific GPL. Expand
MDSD for the iPhone: developing a domain-specific language and IDE tooling to produce real world applications for mobile devices
TLDR
The mobile division of itemis AG has delivered an implementation of such a model-based solution for mobile devices that uses a DSL to completely describe the structure and beior of data-centric mobile applications. Expand
Domain-Specific Languages for Composable Editor Plugins
TLDR
Spoofax/IMP is described, a meta-tooling suite that provides high-level domain-specific languages for describing editor services, relieving editor developers from much of the framework-specific programming. Expand
PIL: A Platform Independent Language for Retargetable DSLs
TLDR
The design and implementation of PIL, a Platform Independent Language, an intermediate language providing a layer of abstraction between DSL and target platform code, abstracting from syntactic and API differences between platforms, thereby removing the need for platform-specific transformations is discussed. Expand
When and how to develop domain-specific languages
TLDR
To aid the DSL developer, patterns in the decision, analysis, design, and implementation phases of DSL development are identified and patterns improve and extend earlier work on DSL design patterns. Expand
Building Blocks for Language Workbenches
TLDR
This thesis introduces the Spoofax language workbench, and describes its techniques for high-level, portable language definitions, language composition, interactive support for defining languages, and language testing. Expand
Putting Types To Good Use
TLDR
It is concluded, from the research presented, that Clean's hybrid static/dynamic typing provides additional protection against run-time errors by tagging values with their static types, and provides a way to store and retrieve any functional expression, even between different programs. Expand
Lightweight Languages as Software Engineering Tools
TLDR
A number of implementation techniques for lightweight languages based on the merciless exploitation of existing language processors and tools, and the careful choice of their syntax and semantics are analyzed. Expand
...
1
2
3
4
5
...