Thanks to Don Brutzman and Roy Walmsley for their unified object model, Michael Turner for an introduction to NSM.<div dir="auto"><br></div><div dir="auto">1.  Contains abstractions common between different languages.   This is a from the Natural Semantic Metalanguage, perhaps.  Or perhaps upper ontology.<div dir="auto"><br></div><div dir="auto">2. Contains concrete parts inherited from 1.  Things like loops, conditions, syntax, appear here because they need to be concrete before they can be instantiated.    This is for concrete semantics.</div><div dir="auto"><br></div><div dir="auto">3.  Language syntactic sugar—mappings from semantics to a readable, editable, manipulatable language.   For parsing and generating documents, messages and interfaces.</div><div dir="auto"><br></div><div dir="auto">4.  Abstract templates, or a way to parse or generate documents, messages and interfaces. Grammars.</div><div dir="auto"><br></div><div dir="auto">5. Concrete templates. Message snippets and parameters </div><div dir="auto"><br></div><div dir="auto">6. Executable artifact combining templates with documents.   Prepared speech acts.</div><div dir="auto"><br></div><div dir="auto">7.  Process.   The act of communicating.</div><div dir="auto"><br></div><div dir="auto">So, abstract and concrete semantics; abstract and concrete syntax; abstract and concrete templates; and prepared and live performance.</div><div dir="auto"><br></div><div dir="auto">Anything else?  Statistics?</div><div dir="auto"><br></div><div dir="auto">John</div></div>