

Metamodels can be defined using the language concepts of the Meta Object Facility (MOF) , either the Essential MOF (EMOF) or the Complete MOF (CMOF).

Typically, a metamodel defines the abstract syntax and static semantics of the DSL to be implemented it can also capture the semantics of a DSL .

The second category encompasses approaches that apply model-driven engineering (MDE) , where the most important activity is the design and creation of a metamodel. The advantage is that existing language development tools such as parser generators can be employed for DSLs. The first category comprises approaches based on formalisms already used for general purpose languages, such as context-free grammars. In recent years, various approaches for developing DSLs have been proposed, which can be divided into two categories. The use and development of domain-specific languages (DSL) is becoming increasingly important. This enabled us to successfully apply our approach to the two DSLs Test Description Language (TDL) and Specification and Description Language (SDL). Our DSL Metamodeling and Derivation Toolchain (DSL-MeDeTo) implements all aspects of our proposed approach in Eclipse. The automatic transfer of the static semantics of a DSL to a UML profile is a further contribution of our approach. One novelty is that subsetting or redefining metaclass attributes are mapped to stereotype attributes whose values are computed at runtime via automatically created OCL expressions. To address these weaknesses, we propose a new automated approach for deriving a UML profile from the metamodel of a DSL. Metamodels define the abstract syntax and static semantics of a DSL and can be created by using the language concepts of the Meta Object Facility (MOF) or by defining a UML profile.īoth metamodels and UML profiles are often provided for standardized DSLs, and the mappings of metamodels to UML profiles are usually specified informally in natural language, which also applies for the static semantics of metamodels and/or UML profiles, which has the disadvantage that ambiguities can occur, and that the static semantics must be manually translated into a machine-processable language. In the light of standardization, the model-driven engineering (MDE) is becoming increasingly important for the development of DSLs, in addition to traditional approaches based on grammar formalisms.
