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.
Preview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Rights 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
DOI: https://doi.org/10.1007/978-3-031-02546-4_7
Publisher Name: Springer, Cham
Online ISBN: 978-3-031-02546-4
eBook Packages: Synthesis Collection of Technology (R0)eBColl Synthesis Collection 4