Outline of a method for designing domain-specific modelling languages
In recent years, the development of domain-specific modelling languages has gained remarkable attention. This is for good reasons: A domain-specific modelling language incorporates concepts that represent domain-level knowledge. Hence, systems analysts are not forced to reconstruct these concepts from scratch. At the same time, domain-specific modelling languages contribute to model integrity, because they include already constraints that would otherwise have to be added manually. Even though there has been a considerable amount of research on developing and using domain-specific modelling languages, there is still lack of comprehensive methods to guide the design of these languages. With respect to the complexity and risk related to developing a domain-specific modelling language, this is a serious shortfall. This research report is aimed at a contribution to filling the gap. It presents the prolegomena of a method for developing domain-specific modelling languages, which is based on the experience gathered in several language specification projects. The method consists of two main parts: a meta modelling language and a process model. The MEMO meta modelling language (MEMO MML) is specified in a further report. Therefore, its description is restricted to a brief overview. Instead, the main focus of this report is on the process model, which describes essential steps to be accounted for during the development of a domain-specific modelling language. It includes heuristics to develop requirements and meta modelling guidelines that support frequent design decisions. The description of the method is complemented by examples which are mainly taken from the design of the MEMO Organisation Modelling Language.