My last posting discussed seemingly distinct aspects of semantics:
- Grammar
- Controlled vocabularies
- Taxonomies
- Thesauri
- Ontologies
Is it really this simple or are these topics intertwined in obscure ways? Grammar deals with the principles of language; that is, it defines syntax rules for how words and word forms can be combined to form valid sentences. My first posting discussed the three elements of language: syntax, vocabulary and semantics. Therefore, it seems that grammar might include not just syntax, but also vocabulary and semantics; although it’s typically viewed in more narrow terms. Without digressing too much, perhaps we can just say that the boundaries are fuzzy. There are many kinds of grammar:
- Generative
- Categorical
- Dependency
- Functionalist
- Functional
- Probabilistic
And there are many kinds of semantics:
- Lexical
- Structural
- Statistical
- Prototypical
Grammar and semantic taxonomies are actually more complex than presented above. Generative grammar, for example, is based on the form of sentences rather than their function. Functionalist grammars, on the other hand, focus of the communication function of sentences. Sentence structure (grammar) is designed to convey meaning (semantics) even though semantics is usually regarded as a separate issue. I believe the only way out of this conundrum is to look at the problem as a many-layered onion. Each layer has elements of grammar (syntax) and vocabulary, which conveys some meaning (semantics). While grammar and vocabulary together convey meaning on one level, other levels are required to provide more depth. These additional levels involve grammar and vocabulary terms that convey meaning in the context of the original level. This leads us into the modeling domain, which I briefly discussed in earlier postings: - Models – A model is a representation of the essential structure and behavior of real and/or virtual artifact(s) in the real world, or in a virtual world. Artifacts always exist in some context or environment. Two core properties of models are:
- Incompleteness – Models are incomplete since they’re abstractions of more complex systems.
- Agility – Models are more agile than the systems they represent, i.e. they’re easier to manipulate.
The universe, for example, can be modeled. It has been defined as the locus of all points "interconnectable" by energy transports, but even at this seemingly “highest” level, there’s more since multiple, parallel universes have been posited.
- Metamodels – Metamodels define the rules for building models.
- Meta-metamodels – Meta-metamodels define the rules for building metamodels.
There’s no limit to the number of levels but practical considerations generally limit modeling frameworks to three or four levels. The fourth level is occupied by instances of the artifacts being modeled, which is often called the “instance” level. In 2003, OMG defined a four-level modeling framework:
- M0 – The instance or “data” level.
- M1 – The model level.
- M2 – The metamodel level.
- M3 –The meta-metamodel level.
I believe modeling concepts are useful for sorting out fuzzy distinctions between different aspects of semantics. Modeling concepts can help us infuse more “meaning” into human discourse and computing systems. We'll drill deeper into these opportunities in future posts.
|