Generative and Transformational Techniques in Software Engineering III

Volume 6491 of the series Lecture Notes in Computer Science pp 290-321

The Theory and Practice of Modeling Language Design for Model-Based Software Engineering—A Personal Perspective

  • Bran SelicAffiliated withMalina Software Corp.

* Final gross prices may vary according to local VAT.

Get Access


The design of modeling languages is still much more of an art than a science. There is as yet no systematic consolidated body of knowledge that a practitioner can refer to when designing a computer-based modeling language. This overview article provides a personal perspective, comprising a selective summary of some important lessons learned and experiences gained in the design of some of the currently most widely used modeling languages, in particular the industry standard UML and MOF languages. The purpose is to provide readers with a sense of the state of the practice and state of the theory, such as it is, based on the author’s long-term experience in this domain. Various key concepts involved are defined, current common methods of language design are explored, and heuristic guidelines provided. A list of key research topics is included at the end.


engineering models modeling languages model-based engineering model-driven development computer language design metamodeling MOF EMF UML profiles programming language semantics