Zusammenfassung
Composing modelling languages and analysis tools still require significant efforts to properly consider syntax and semantics as well as related analyses and syntheses. This composition ideally should be defined on individual language components that can be composed when needed. Only when model-based analysis infrastructures can be composed in accordance to their related language definitions and can be reused in a black-box fashion without modification, can we foster automation in language engineering and integration. In this chapter, we demonstrate object-oriented language engineering concepts that enable composing models of heterogeneous languages using the language workbench MontiCore. This composition includes the concrete syntax and abstract syntax as well as analysis infrastructures and analyses. We demonstrate in detail how the MontiCore infrastructure enables (de)composing languages and related model-based analysis techniques such that the analyses can be reused with other languages with minimal effort. Several of the provided techniques are based on adaptations of the well- known concepts of object-oriented development, such as inheritance and the extension and the visitor patterns. This can reduce the effort of engineering truly domain-specific modelling languages significantly.
Nutzer