Simply put, “Semantic Domain” ≈ terminology, jargon, lingo. More precisely, “an area of meaning and the words used to talk about it …”1

In this model the above definition is divided into:

  • Semantic Domain Kind - the metamodel. For example, Book Class (Kind) contains Chapter Class (Kind). Another example is the Family Model
  • Semantic Domain - the model, instances of classes/kinds. For example Beyond Diagrams book contains “Terminology (Semantic Domain)” chapter. An enterprise operates on one or more semantic domains. E.g. an author writes one or more books. Sample Family is a semantic domain of Family semantic domain kind.

“Kind” is one of the terms which cause confusion. A synonym for Kind is “Type”, or “Class” in languages like Java, or (maybe), “Prototype” in languages like JavaScript. One way to think about is an empty paper or web form. A form for a person would have fields for “First name”, “Last name” and “Date of birth” with no values. An instance of a kind/type/class/prototype is a filled-out form with, say “John” for the first name and “Smith” for the last name. Instantiation is taking an empty form, making a copy of it, and then filling it out.