Developing Interacting Domain Specific Languages
Stc
Date: 2007-10-25
Time: 11:45
Room: BBL room 471
Speaker: Sander Mak
Title: Developing Interacting Domain Specific Languages
Abstract
Domain specific languages (DSLs) and model driven software
development (MDSD) both aim at raising the abstraction level for
programmers, thereby enhancing both quality and productivity in
software development. Many approaches exist to create and use DSLs.
Unfortunately, almost all of these DSL based solutions depend on
having a single, monolithic model of the domain as basis. From a
software engineering point of view, this approach does not scale very
well.
In this thesis project, we explore a road less travelled. Instead of
starting from a monolithic model, we propose to improve this practice
by splitting up different concerns over different domain specific
languages. Consequently, the models expressed in these languages
must together form a complete application, and therefore need to
interact. This cross-language modularity provides more possibilities
for reuse and allows DSLs to be narrower and more focused. Examples
of this idea are occasionally found in model driven software
development approaches. However, the interaction is often implicitly
handled and poorly formalized. We have studied these issues from a
more traditional programming language and compiler based point of view.
A case study was performed, entailing the creation of two textual
domain specific languages for technical domains (and the design for a
third). The first language, DomainModel, is geared towards modeling
persistent data models, and targets the existing Java Persistence
Architecture framework.
The second language, WebLayer, is concerned with creating a web-application
around such a data model, and targets the JBoss Seam
framework. This prototype forms the basis of our study on the
interaction amongst those languages. Through this case study, we
investigate whether such DSL interaction is feasible and practical,
and what the design issues are.