To: Ontolog Discussion Group
From: Tom Johnston (new member)
I would like to comment on the current discussion about SMEs and ontologies.
(note: in the upper-level ontology I developed in my recent book “Bitemporal Data: Theory and Practice” (Morgan-Kaufmann, 2014), objects and events divide the world between them; they are exhaustive of what there is, and nothing is both an object and an event. Objects come into existence, cease to exist and, while they exist, change from one state to a successive state by participating in events. I consider this the formalization of an upper-level folk ontology which is the ontology common to all relational databases.
[MW>] That is not true, relational technology is neutral in ontological commitments, except that it requires that tables cannot themselves be instances of other tables. However, I accept many relational databases adopt this commitment. The problem I have with this insistence that activities/processes/events are disjoint from physical objects is that it requires two objects for (amongst other things) me, one for me as the physical object, and another for the activity of my life. I’m with John S. (and some others) who take a process approach, seeing physical objects as (relatively) slowly changing processes.
During the JAD sessions (see below), the initial statement of requirements will be transformed into a different set of requirements that are not simply the initial requirements stated in greater detail. The initial set of objects, events and transformations will be similarly transformed as the BA helps the SMEs realize (a) ambiguities inherent in their original statement, (b) generalizations of their requirements that will do what they require but also additional useful things; (c) restrictions on their requirements because the current state of technology at the enterprise would make their satisfaction unacceptably expensive; and (d) a sorting of initial requirements into do-now and do-later categories, based on dependencies among the requirements, and on the need to keep the project on-time and under budget (so both the BA and the SMEs, whose names are most directly attached to the project, will look good to their bosses when the whole thing eventually moves into production status).
[MW>] The challenge I find is in validating the requirements (providing evidence to support them).
JAD: joint application development (a somewhat outdated term).
[MW>] I think SCRUM is the current incarnation of this.
It is this: SMEs generally do not know what they are talking about. To repeat: SMEs generally do not know what they are talking about.
[MW>] John made a similar point, and I agree. I was too polite in my earlier post. In particular they generally don’t know what they don’t know.
For anyone familiar with Plato's Socratic dialogues (early and middle period dialogues), I can make my point like this: SMEs (Gorgias, Meno, Protagoras, etc.) are the protagonists of Socrates (the BA) in those dialogues. Those SMEs are the ones who profess to know something – about knowledge, justice, courage, etc. Socrates engages each of them in a dialog which always ends with Socrates demonstrating, usually by eliciting a contradiction from his protagonist, that the SME actually doesn't know what he claims to know.
But there is one difference between Socrates and today's BAs. Socrates is content (pleased, in fact, his protestations to the contrary) to show that his protagonists don't know what they claim to know. Today's BAs, however, cannot afford that luxury. Today's BAs must somehow guide her SMEs from ignorance to knowledge, from vague, ambiguous, incomplete or otherwise inchoate initial statements of what they want to a final statement which will mediate between them and the developers who will implement their requirements.
One conclusion from all this is that the (ontologically-adept) BA must take a very active role in eliciting and clarifying definitions of the objects and events of concern to the enterprise. Her role must not be tidying up around the edges of what the SMEs initial come up with as a requirements statement. She must not use a light touch. She must challenge her SMEs as aggressively as Socrates challenged the self-proclaimed experts he engaged with.
[MW>] I agree.
Is there any additional guidance I can suggest, other than these very general comments?
There is. I would like to suggest that before we begin eliciting ontological commitments from SMEs, we should clarify (a) what we are defining, and (b) what a definition is.
(3) What are we defining when we ask SMEs for definitions?
Let's take Customer as an example. In any enterprise, in any JAD session, with any group of SMEs, when we ask “What is a customer?” (the same “What is X?” question form as Aristotle's most basic ontological question, ti esti?), surely we must be asking for something besides a dictionary definition.
We don't need SMEs to formulate general definitions, whether they are do-it-yourself dictionary definitions, or definitions defining nodes in a taxonomy whose linearly parent nodes, up to the root node, have already been defined. We are asking our SMEs what a customer of our enterprise is, that is, what a customer of our enterprise in fact is, not what the SMEs think a customer of our enterprise ideally should be.
[MW>] Yes. When I was talking about an evidence based approach in my response to John, this is the kind of thing I was meaning.
In any relationship of a set and its immediate superset, the immediate superset defines a universe of discourse from which the members of the set are chosen by means of that rule. For example, the set Customer will have (whether represented as such in a database or not) as an immediate superset the set Party, which we can think of as being the set of all those individuals or organizations with which our organization engages in some way.
This immediately excludes from the universe of discourse for Customer such things as dogs, cars, and also any persons or groups not able to enter into a legal agreement (which a customer relationship is). Now, to define what a customer of our enterprise is, all we need to do is to state the rule which picks out a subset from that universe of discourse.
To accept a person or organization as a customer is to add a row to the enterprise's Customer table representing that person or organization.
[MW>] I was once given as a definition of “Customer” “One who is recorded in on the Customer table”. Accurate, but not actually useful J
…a customer of our enterprise is – a subtype of a Party with whom we have entered into a customer relationship, a relationship subject to conditions stated in our policy manuals and implemented in our code.
Finding these definitions – which clearly can be done – is doing something a lot more concrete than talking to a group of SMEs with the objective of obtaining consensus definitions of such key terms as “customer”.
So we have steered away from the dragon of Wittgensteinian definitions, and reached the safe fortress of Aristotelian definitions. To wit: the category Customer (of enterprise X) is represented by a relational table (hopefully named Customer, or something like it). A relational table is a set. A set is a collection of set members drawn from a universe of discourse such that the members of the set satisfy a specific set membership criterion. That membership criterion is expressed in policy manuals, and in the rules expressed in code that determine whether or not someone will be added to the Customer table.
Prescriptive ontologies come into play, on my view, when our objective is to construct higher-level ontologies, for example industry-level ontologies. For these higher-level ontologies to play the role of facilitating semantic interoperability across those industries, each enterprise subscribing to the industry-level ontology must realize that their responsibility is not to simply play lip service to the industry ontology. It is to begin the difficult work of adjusting their de facto ontologies, including the set membership rules for the sets represented as tables in their databases, so that those lower-level ontological categories – the ones corresponding one-to-one with their database tables, are consistent extensions of those higher-level ontologies.
[MW>] I’ve developed this kind of ontology. It is not really quite as you describe. Generally industry ontologies are about supply chain integration, so they do not cover all of an enterprises data. What becomes most important is to identify the subset of the industry model that is relevant to your slot in the supply chain, and to be sure that you can map your enterprise model into and out of those parts of the industry model. That has more flexibility than a simple subset, your mappings may be from multiple tables, or a subset of one of your tables. The other key is to be able to incorporate into your data key industry level master data such as product categories and their specifications.
This is the basic, boots-on-the-ground work that is required to make prescriptive ontologies a reality. But the foundation from which we must begin is what ontological commitments are in fact, right now, in place in individual databases. The prescriptive work of integrating these de facto low-level ontologies, however, is not simply a bottom-up process of supertyping the types we begin with. It is a process of working with a well-developed upper-level ontology as well as a set of de facto low-level ontologies, combining top-down guidance towards an ideal goal with real-world realizations of ontological categories that have been proven, over time, to actually work.
[MW>] Yes, but when you look at the commitments/rules imposed by a database, you should also be questioning whether these are not imposed as an implementation convenience (changing what are really many-to-many relationships to one-to-many for example).
Perhaps this is something of a Manifesto – a description of a research and a development program of work guided by strong theoretical commitments and also a commitment to objects and processes that are time-tested in the real world. I don't like the term “Manifesto”, simply because of its creaky 19th century feel. But I am proposing that we clearly distinguish descriptive from prescriptive ontologies, clearly recognize the importance of descriptive ontologies, and begin to formalize them in the manner described above.