Toolbased Language Development Joachim Fischer 1 , Eckhardt Holz 2 , Andreas Prinz 3 , and Markus Scheidgen 1 1 Department of Computer Science, Humboldt Universit¨ at zu Berlin Unter den Linden 6, 10099 Berlin, Germany {fischer,scheidge}@informatik.hu-berlin.de 2 Hasso-Plattner-Institut f¨ ur Softwaresystemtechnik GmbH Prof.-Dr.-Helmert-Str. 2-3, D-14482 Potsdam Eckhardt.Holz@hpi.uni-potsdam.de 3 Faculty of Engineering, Agder University College Grooseveien 36, N-4876 Grimstad, Norway andreas.prinz@hia.no Abstract. This papers shows how to tackle the problem of ever larger languages and of the combination of multiple languages. The central idea is the foundation of the language definition by a metamodel driven ap- proach that is supported by language engineering tools. Thus the devel- opment and the further evolution of languages will be transformed from the traditional paper-and-pen style into an engineering activity. This al- lows an early detection of problems within the language definition and increases the reliability of the language and the supporting tools. 1 Introduction Developing high quality software in a cost effective manner is crucial for the competitiveness of software industry, and continues to be a technological chal- lenge. Today, a diversity of languages and notations is used, depending, e.g., on the development phase and the viewpoints to be expressed. However, the use of several notations in the same project often leads to ambiguities and inconsisten- cies, jeopardizing the overall success of the project. To overcome this problem and to achieve the full benefit of the languages, they are to be integrated both syntactically and semantically. An additional problem arises from the complexity of the single languages. The monolithic style of language definition of e.g. SDL-2000 makes it not only hard for the user to fully understand and apply the language but aggravates also the development of supporting tools. Today, five years after the finalization of the Z.100 recommendation there is still not a tool available, that fully supports SDL-2000. A hierarchical language definition consisting of a language core and a series of enhancing building blocks accompanied with a clear list of compliance points to syntactically and semantically integrate the single parts promises a solution. On the other side the development of SDL-2000 and especially the definition of the formal semantics have shown that it is possible and feasible to use software