Chapter 7. Building Languages

So far, we've talked about metamodels in a rather abstract manner. It's now time to discuss how metamodels are used to define languages. (This is often done by third parties, so fear not.)

At one level, a metamodel is just a model, so if we wish to define a language, we ought to be able to model it, in UML for example, and away we go. However, the business of writing mapping functions would become impossibly difficult without some commonalities among the various metamodel definitions, so it's helpful to have an agreed-upon subset of the UML; that subset is the MOF.

Building a model for a large language from scratch can be complex and difficult work, and since modeling languages share many common properties, it's ...

Get MDA Distilled: Principles of Model-Driven Architecture now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.