Skip to main content

Part of the book series: Synthesis Lectures on Software Engineering ((SLSE))

  • 44 Accesses

Abstract

Modeling has been often misunderstood as the process of just drawing pretty pictures. However, as we have already mentioned, models are much more than just pretty pictures. Models have to follow a clearly defined structure (exactly like program code), i.e., they have to conform to the associated metamodel representing the abstract syntax of the modeling language. Having a well-defined structure is the basis for applying operations on models such as loading/storing models from/to model repositories, querying and transforming the content of models, and checking the well-formedness of models to name just a few possible operations. In several modeling environments and tools, which use models as sketches or which were not built based on MDE practices, metamodels have a secret life hidden behind the user interface of the tools and, thus, are often invisible for the modelers. In simple usage scenarios, designers may not need to have a clear understanding of what is going on behind the curtains, but for complex MDE scenarios it is important to understand the big picture of MDE design. Especially, if you build your own tailored MDE environment, developing and using a metamodel is crucial as we will see in this chapter. The main reason for this is that other language aspects going beyond the language’s abstract syntax, such as the definition of the visual notation to be used when modeling, are heavily based on metamodels.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer Nature Switzerland AG

About this chapter

Cite this chapter

Brambilla, M., Cabot, J., Wimmer, M. (2012). Developing your Own Modeling Language. In: Model-Driven Software Engineering in Practice. Synthesis Lectures on Software Engineering. Springer, Cham. https://doi.org/10.1007/978-3-031-02546-4_7

Download citation

Publish with us

Policies and ethics