February 29 – March 5 , 2004, Dagstuhl Seminar 04101

Language Engineering for Model-Driven Software Development


Jean Bezivin (University of Nantes, FR)
Reiko Heckel (University of Leicester, GB)

For support, please contact

Dagstuhl Service Team


Dagstuhl Seminar Proceedings DROPS
External Homepage
List of Participants
Dagstuhl's Impact: Documents available


Model-driven approaches to software development require precise definitions and tool support for modeling languages, their syntax and semantics, their notions of consistency and refinement, as well as their mappings to the implementation level. In order to support model-driven development in a variety of contexts, we must find efficient ways of designing languages, accepting that definitions are evolving and that tools need to be delivered in a timely fashion.

In this respect, language definitions are not unlike software. Thus, a discipline of language engineering is required to support the design, implementation, and validation of modeling languages with the goal to deliver languages at low cost and with high quality.

An important contribution of any engineering science, besides the actual technology provided, is the meta knowledge about what are the relevant concerns to be addressed, what are the possible solutions, and what concern is best addressed in a given context by which kind of technology.

It is understood that different concerns of language engineering, like the defi- nition of abstract syntax and well-formedness rules, operational and denotational semantics, consistency and refinement relations, and model transformations, will, in general, require technologies from different domains.

A framework for classifying, choosing, and relating different solutions domains is provided by the concept of technological spaces [KBA03]. A technological space is a working context with a set of associated concepts, body of knowledge, tools, acquired skills and possibilities, often associated to a given community. Well-known examples include XML, UML meta modeling, graph transformation, algebra and logic, programming languages, etc.

It has been the goal of the seminar to investigate relevant concerns and promising solution domains for language engineering, learn from specific solutions presented by the participants, and attempt a provisional classification and mapping. To illustrate problems and available solutions, a sample language engineering problem was proposed and elaborated.

After a more detailed discussion of the architectural aspect of language engineering, this summary presents this case study, discusses concerns and open issues raised by the corresponding language definition problem, and gives a more general motivation of technological spaces as solution domains for model-driven development.


In the series Dagstuhl Reports each Dagstuhl Seminar and Dagstuhl Perspectives Workshop is documented. The seminar organizers, in cooperation with the collector, prepare a report that includes contributions from the participants' talks together with a summary of the seminar.


Download overview leaflet (PDF).

Dagstuhl's Impact

Please inform us when a publication was published as a result from your seminar. These publications are listed in the category Dagstuhl's Impact and are presented on a special shelf on the ground floor of the library.


Furthermore, a comprehensive peer-reviewed collection of research papers can be published in the series Dagstuhl Follow-Ups.