ontology-summit
[Top] [All Lists]

Re: [ontology-summit] [BigSystemsandSystemsEngineering]Systemofsystems

To: "Mike Bennett" <mbennett@xxxxxxxxxxxxxxx>
Cc: Ontology Summit 2012 discussion <ontology-summit@xxxxxxxxxxxxxxxx>
From: "doug foxvog" <doug@xxxxxxxxxx>
Date: Tue, 14 Feb 2012 12:56:34 -0500
Message-id: <733a6a2516e6ba56ad90cceb97486a02.squirrel@xxxxxxxxxxxxxxxxx>
On Sat, February 11, 2012 11:41 "Mike Bennett"
<mbennett@xxxxxxxxxxxxxxx>wrote:
> On 08/02/2012 18:59, doug foxvog wrote:
>> On Tue, February 7, 2012 13:20 Mike Bennett<mbennett@xxxxxxxxxxxxxxx> 
wrote:    (01)

>>> ...
>>> That raises some deep philosophical questions for emergent,
>>> natural systems. Do these have a "Purpose"? If you believe in a
>>> Creator as described in most Feudal-era belief systems, that
>>> Creator created natural things with a purpose, but if you don't,
>>> you don't. Clearly there are people both sides of that divide.    (02)

>> If we distinguish "Purpose" from "Function", then the question of
>> "Purpose" need not be asked.  I distinguish "Purpose" with an intent,
>> while restricting "Function" to capabilities.    (03)

> That is a good approach, and admirably demonstrated in the Cyc
> examples below.    (04)

> The question, from a Quality Assurance point of view, is how does
> one ensure that thse distinctions are consistently made by modelers?    (05)

How does one ensure that programmers write correct code?  ... that
they use the computer language correctly?  Normally by teaching
the language and testing the programmer.  Sure a programmer can
scan a book on an unfamiliar language and start coding.  This might
lead to coding errors or the programmer failing to use facilities of
the language.    (06)

Would an employer want a programmer to code in a new language
without training, testing, or certification?  I suppose it depends upon
the amount of coding -- i personally have occasionally debugged
code in a language i was never took a course on and written a method,
subroutine, or module in it -- but not a full system.    (07)

I suggest that from a QA point of view, modelers should be trained,
tested, and certified in their tools.    (08)

>> Cyc has a ternary predicate #$behaviorCapable to specify that an
>> object can play a certain role in a certain type of situation, and
>> more specific predicates, #$primaryFunction,
>> #$intendedBehaviorCapable, and #$intendedPrimaryFunction to
>> move from function/capability to purpose.  For "natural systems"
>> ontologies can model capabilities and functions without specifying
>> that they are purposeful/intended.  For manufactured systems,
>> the intent can be asserted as well.  As long as rules are appropriately
>> defined at the correct level (capability/function/intent) systems can
>> be described without raising the philosophical issues.    (09)

> Indeed. Given that Cyc has the cability of asserting functions
> with or without intent, how does one ensure that modelers of new
> material do not bring their inbuilt (and perhaps unquestioned /
> unstated) philosophical issues along for the ride?    (010)

In addition to training, testing, and certification, review of the ontology
by a professional might be useful.    (011)

if the philosophical issues do not affect the use of the ontology, this
would not matter in house.  An outside party, on detection of such
flaws, might encode the domain assumptions they detect for the
biased ontology.    (012)

>> Cyc also has a type-level ternary predicate, #$biologicalFunction,
>> that allows for statements such as (#$biologicalFunction #$Fin
>> #$Swimming-Underwater #$providerOfMotiveForce) .  This predicate
>> "means that instances of the organism or body part, BLO-TYPE, are
>> able to act as a ROLE in a situation of type SIT-TYPE and such
>> situations naturally occur for such #$BiologicalLivingObjects.  In a
>> creationist microtheory, this would be an #$intendedBehaviorCapable
>> for such instances."    (013)

> Interesting - I see this is the exact text from Cyc. Does this
> mean that Cyc is agnostic as to which microtheories people
> subscribe to, and allows them to model according to their own
> microtheory?    (014)

Yes.  A Newtonian Physics microtheory uses non-relativistic equations,
while a Relativistic Physics microtheory uses relativistic equations.  The
user can select which to use.    (015)

The user defines a microtheory for the topic they are interested in
and selects related existing microtheories as #$genlMts from which
the assertions are inherited.  Any reasoning performed in a microtheory
uses only statements in the local microtheory and the transitive
closure of the #$genlMts.    (016)

Someone modeling automobiles ignores microtheories dealing with
politics, economics, sports, music, genomics, etc.    (017)

> Would that not cause inconsistencies in the overall
> model, or can the microtheories be recognized and clearly
> partitioned as such?    (018)

Yes, and yes.  The microtheory concept allows for inconsistencies
to be stated in microtheories which are not in a #$genlMt relationship
with each other or the same (more specialized) microtheory.    (019)

> Are the microtheories of each part of the
> model explicitly stated,    (020)

Yes    (021)

> and if so, in what form? (reading on, I
> see this is answered at the very end of this email; more
> generally then, I would ask this of any ontology other than Cyc).    (022)

The idea is that multiple ontologies are being discussed, not a
single one.    (023)

>> For systems engineering, the type-level functions seem important
>> for describing both required roles for components and properties
>> of parts considered for playing those roles, while the individual
>> level functions describe whether a specific component is faulty.    (024)

>> Here are the #$comments from OpenCyc for
>> #$behaviorCapable:
>> "The predicate behaviorCapable is used to indicate that an object (an
>> instance of SomethingExisting) can play a role (an instance of
>> BinaryRolePredicate) in a type of situation (a specialization of
>> Situation). (behaviorCapable OBJ SIT-TYPE ROLE) means that OBJ is able
>> to
>> play ROLE in a situation of type SIT-TYPE. Note that OBJ may or may not
>> have been designed to function in that way (see the specializations of
>> behaviorCapable, primaryFunction and intendedBehaviorCapable). Moreover,
>> unlike capableOf (q.v.), behaviorCapable does not imply that OBJ can
>> unquestionably act in that way in every such situation, since extrinsic
>> factors may prevent it from doing so; for example, if OBJ is a tool, it
>> may be in the wrong location or operated by a person lacking the
>> requisite
>> skills. Examples: (intended capability) a hammer is behaviorCapable
>> [should be intendedPrimaryFunction] of being the deviceUsed in instances
>> of HammeringANail; (unintended capability) an inner tube is capable of
>> being the deviceUsed in instances of people FloatingInLiquid."    (025)

> Again it is clear that Cyc has put considerable thought into
> these questions. Is this thinking formally set down somewhere
> independently of these comments or are modelers expected to read
> and absorb the required thinking from the comments?    (026)

For such high-level concepts it is in the Cyc instructional material.
However, "cyclists" are trained to read the comments and rules
on a term before using it.    (027)

Are Java programmers expected to read the documentation on
methods they obtain from libraries and understand it -- or should
one not be surprised if they just use the name of a method to
guess what it does?    (028)

> For ontologies in general, how are these kinds of questions set out,
> or is there a training requirement for all persons who are to
> extend or adapt a given ontology, such that they must have
> understood all the available predicates before attempting to add
> anything to the model?    (029)

That sounds reasonable to me.    (030)

> I don't know if there are any good answers
> to this but I think it's a point worth considering in any new
> ontology project. It is also a point I am considering now in
> relation to our FIBO ontology.    (031)

>> #$primaryFunction:
>> "A specialization of behaviorCapable (q.v.) that is used to specify a
>> primary or particularly important function that a given object serves.
>> (primaryFunction OBJ SITTYPE ROLE) means that the primary function of
>> OBJ
>> is to play ROLE in situations of the type SITTYPE. OBJ might be a
>> natural object that has a primary function
>> (e.g the primary function of a heart is
>> to pump blood), or OBJ might be an artifact that was intentionally
>> designed to have the primary function that it does (e.g. the primary
>> function of a wall clock is to show the current time of day).
>>
>> For cases of the latter sort, consider the more specialized predicate
>> intendedPrimaryFunction. Note that, while most things have one primary
>> function, some have more than one. For example, one might claim
>> that the two primary functions of a lung are to take in oxygen
>> and to expell carbon
>> dioxide. For things that have only one main function, consider the
>> specialization soleFunction."    (032)

> "consider"? or "you shall use"? How does one ensure that the most
> appropriate predicates are used in new material added to the
> ontology? Again I raise this question generally, not just in
> respect of Cyc.    (033)

In general, one has to rely on the ontologist.   Cyc has data-entry tools
(not in OpenCyc) that help one select the predicate at the appropriate
level of generality.  Cyc also has a relation (#$typedGenlPreds) on
predicates that can conclude a more specific predicate in certain cases
when a too general predicate was selected.    (034)

>From its #$comment:
"... (#$typedGenlPreds SPECPRED GENLPRED) means that GENLPRED
 is a more general version of SPECPRED that allows for more general
 argument types. Futhermore, any sequence of things that stand in
 the relation GENLPRED and that satisfy all of the respective
 argument-constraints on SPECPRED also stand in the relation
 SPECPRED.
 ...
 For example, (#$typedGenlPreds #$sisters #$siblings) entails that if
 (#$siblings John Alex) holds and Alex is a #$FemaleAnimal (and thus
 satisfies the relatively narrower type-constraint on the second argument
 of #$sisters), then (#$sisters John Alex) holds."    (035)

> How does one ensure that new material added to an ontology makes
> the most appropriate use of the predicates available?    (036)

How does one ensure that a programmer writes the most efficient code?    (037)

If one doesn't use Cyc's fancier knowledge entry tools, one can tailor
a set of questions to ask about a new theory microtheory or knowlege
 base (#$DataMicrotheory).    (038)

>> #$intendedBehaviorCapable:
>> "... (intendedBehaviorCapable ARTIFACT SITTYPE ROLE) means that (i)
>> ARTIFACT can play ROLE in situations or events of type SITTYPE (see
>> behaviorCapable) and (ii) ARTIFACT is intended by its designer to play
>> ROLE in situations or events of type SITTYPE. Note that a given artifact
>> can be intended to be capable of serving more than one function. ..."    (039)

> As a matter of interest, do the "intended" predicates have some
> link to the party or entity which is the "designer" i.e. that
> which does the intending?    (040)

I think they do in the full Cyc, but such assertions are not present in
OpenCyc.  It's been many years since i've worked with full Cyc.    (041)

>> #$intendedPrimaryFunction:
>> "A specialization of both primaryFunction and intendedBehaviorCapable
>> (qq.v.) that is used to indicate the primary or typical use a given
>> artifact (see Artifact-Generic) was designed to serve.
>> (intendedPrimaryFunction ARTIFACT SITTYPE ROLE) means that:
>>
>> (i) the primary function of ARTIFACT is to play ROLE in situations of
>> the
>> type SITTYPE and
>> (ii) ARTIFACT was intended by its designer primarily to play ROLE in
>> SITTYPEs.  ..."    (042)

>>> Where this has some practical impact is when you look at medical
>>> pathology, which implicitly replaces a directed, goal-oriented
>>> Creator with a similarly directed, goal-oriented Evolution.    (043)

>> I don't see this at all.  Medical pathology describes functions, even
>> though people may (imo sloppily) use terminology regarding purposes.    (044)

> Well I could argue my corner in this but this is not really the
> forum to resolve such issues. What interests me for the present
> discussion is not the resolution of the question but the
> existence of the question.    (045)

Different modelers are allowed to create different microtheories
to model their different answers to such questions.  Cyc does not
require the issues to be resolved.  It permits people to state
conflicting things in separate theories.    (046)

> However, you are right, a lot of this is to do with sloppy use of
> terminology. Perhaps a clearer example is when biologists try to
> explain things to a lay public and inevitably use terminology
> which seems to imply that evolution is a directed force, when
> they know and we know that it is not.    (047)

My opinion is that it is not.  But Cyc allows for an agnostic theory
to be defined, with separate "specMts" asserting that evolution
is non-directed and that it is directed.    (048)

> Part of the problem there
> is that our Western European languages have arisen in a somewhat
> theistic environment and lack the vocabulary for concepts like
> "the pressures to which this [thing/behavior] arose in response
> are...". So we have to work with the languages we have.    (049)

In modeling an ontology, one creates one's own language -- that of
the ontology terms.  One should define the terms, not only in logical
terms based on other terms in the ontology, but also in natural
language descriptions for the reader.  It is in these natural language
descriptions that we have to work with the languages we have.    (050)

>>> This of course is not the evolution recognized by evolutionary
>>> theorists, but it is clearly implied by the language of
>>> pathology, in which there is only ever one "right" way to be,
>>> many "wrong" ways which deviate from this.
>> Example?  If you understand the vocabulary as dealing with
>> Function instead of Purpose (as distinguished above), this
>> "rightness" and "wrongness" becomes merely (in)capabilities of
>> individuals to match the functions and capabilities that    (051)

> This distinction (very clearly articulated in Cyc) goes a long
> way towards addressing the question.    (052)


>>> ...    (053)

> Like I said, what interests me for the current discussion is the
> ontology quality questions that arise from the possible existence
> of different interpretive frameworks.
>
> For instance, suppose you have a team of people working on an
> ontology that touches on concepts which include drugs, psychiatry
> and so on. The question arises: "What are we to do about that
> chap in Cubicle Three who believes that people should be able to
> obtain whatever drugs they want without first having to have
> something 'wrong' with them?"    (054)

> That is to say, there is someone working on the ontology who is
> working from a different set of principles - a different
> microtheory. Is this a personnel problem or a quality assurance
> problem?    (055)

So long as they use different microtheories and the employer finds
a utility for the various theories there is no problem.  In the cited
case, modeling the belief systems of drug users could be useful for
the psychiatry component.  One could have multiple microtheories:
PharmaceuticalsToBeUsedForDiseaseTreatmentMt
PharmaceuticalsNotToBeUsedForDiseaseTreatmentMt
PharmaceuticalsToBeUsedForDiseasePreventionMt
PharmaceuticalsNotToBeUsedForDiseasePreventionMt
PharmaceuticalsToBeUsedForContraceptionMt
PharmaceuticalsNotToBeUsedForContraceptionMt
PharmaceuticalsToBeUsedForPerformanceEnhancementMt
PharmaceuticalsNotToBeUsedForPerformanceEnhancementMt
PharmaceuticalsToBeUsedForRecreationalPurposesMt
PharmaceuticalsNotToBeUsedForRecreationalPurposesMt
ScheduledPharmaceuticalsToBeUsedOnlyAsPrescribedMt
ScheduledPharmaceuticalsNotToBeRestrictedMt
HomeopathyMt
HomeopathyIsUsefulMt
HomeopathyIsUselessMt    (056)

> I would argue that it should be possible to set out the
> microtheory to which the ontology is to comply,    (057)

One normally would create and model in a set of microtheories
and distinguish among them.    (058)

> and also
> (standard QA again) to have mechanisms in place to ensure that
> the output of anyone working on the project complies with that
> microtheory. How is this best achieved?    (059)

This seems like a standard QA question: what mechanisms are
in place to ensure that the output of all programmers integrate
and follow the specification?    (060)

> The question becomes further complicated if the development of
> the ontology is an ongoing activity, with changes to be made
> against tight time-scales. Then much of the QA has to happen
> after the event, i.e. more of a "gardening" approach, where
> someone has to go through material that has been created, and
> ensure that it remains consistent with one single unifying theory
> of the matter in the domain of discourse.    (061)

Cyc detects logical inconsistencies and does not allow them to be
stated.  So if key domain assertions are stated in the microtheory,
a statement that logically conflicts (according to the statements
already valid in the Mt) will be blocked.  [Cyc does not do deep
reasoning to determine logical conflicts at this stage.]    (062)

> This might be a very informal arrangement, but there needs to be
> some process loop in place which ensures that consumers of the
> ontology can have confidence that there are no odd surprises or
> inconsistencies lurking within it. No doubt much of this can be
> done with consistency checking. Can all of it?    (063)

If the conflicts are with unstated "truths" then this can not be done
with consistency checking.  Consistency checking can be done among
statements that are true in the ontology -- and IS automatically
performed at a certain level each time a statement is entered.    (064)

> I don't know.  Again, something to think about.    (065)

> Let's take an example from my own area. There are people who have
> come to the conclusion that all financial instruments can be
> represented semantically simply as sets of cashflows. This is
> true but incomplete in my view.    (066)

So, this can be modeled in a AllFinancialInstrumentsAsCashflowsMt.
A more complex relationship can be modeled in a different Mt.    (067)

> Sometimes the "cashflow only"
> modelers will end up modeling imaginary extra instruments which
> make up the equivalent behavior of a discrete term in some
> complex instrument (for example modeling a capped interest
> payment term as an equivalent separate deal which yields the same
> cashflow behavior in the portfolio of the holder). Cashflow is
> one set of facts about an instrument, and one way of classifying
> instruments. From a risk management point of view, different
> facts about an instrument are more relevant and a different set
> of classifications would be appropriate.    (068)

Many ontological systems allow multiple overlapping classification
structures.  One needn't be limited to a single classification scheme.    (069)

> For an ontology which
> supports more than one business use case, we would need to model
> all of these facts and each of these possible sets of
> classification hierarchies.    (070)

Sure.  This can be done in a single ontology.    (071)

> How then do we deal with ontology modelers who are convinced that
> cashflow is the only thing?    (072)

Do they object to multiple models?   Or do they see a problem with
rejecting the cashflow model in exchange for a different model?  Do
they provide a simpler way to come to some conclusions with the
cashflow model that a competing model has a harder time concluding?    (073)

If they urge the use of different models for different purposes, they
may well have a point.   The question then becomes the selection of
the model to use for a given purpose.    (074)

If they reject the company's understanding of the situation, it seems
like a personnel problem to me.    (075)

> That is, how do we (a) communicate the overall principles
> of our ontology, and (b) verify that they have modeled
> according to those principles without bringing their
> own microtheory to the table?    (076)

(a) is a personnel issue.    (077)

(b) raises the question as to whether their model is useful.  From
your discussion, it seems that it is in a restricted context.  Determining
in what cases that model is valid and in what cases a more complex
one is more useful seems appropriate.  The simpler microtheory
should then be restricted by these parameters.    (078)

> I don't know the answers either. I hope this is a better example
> of the problem I am trying to describe here.    (079)


>>> So people have to work around the unchallenged but incorrect world
>>> view whereby there was some intention in how the system of a
>>> human body and mind were intended to be, by some intending agent.    (080)

>> If you want to model it, model it in a social context.  Such models are
>> not needed, useful, or appropriate in a medical context.    (081)

> Indeed. But where does the social context begin and end?    (082)

One must define the social context.    (083)

> In my
> example of the troublemaker in Cubicle Three, I suspect there are
> busines contexts in which his or her different outlook on the
> world might impact some real ontology,    (084)

Why aren't all opinion ontologies equally "real"?    (085)

> for example in the (social?) context of prescription.    (086)

A psychiatrist/psychologist may find C3's ontology useful for modeling
some patients or societal problems.  C3's ontology would not be used
in a legal context for prescription.    (087)

>>>...    (088)

>>> You might have two or more ontologies of the same natural
>>> system (such as the body) written according to different world
>>> views and different ontological commitments.
>> Sure.
>>
>>> One of those
>>> ontologies may comply with the definition of "System" which you
>>> gave; another may not. A third may ensure that the ontological
>>> commitment is framed in such as way as to not expose those
>>> questions at all.
>> An agnostic context could specify basic theories that all interested
>> parties agree upon.   Narrower contexts could have their own
>> contrasting theories, but use the same agnostic context that
>> is not in dispute.    (089)

> I think this is the key to the whole thing. This is a lot like
> John Sowa's description of how to apply a high level lattice of
> theories, such that the concepts in the lattice are
> underspecified, and the narrower contexts introduce their own
> views of the domain of discourse. (John, correct me if I have
> mischaracterized this).    (090)

> I wonder also whether this approach can be employed when the
> differences between approaches to ontology are more fundamental,
> for example 4D versus the rest, or extensional versus intensional
> approaches. But that is more about the approach to ontology than
> about one's view of the world being modeled, so perhaps those are
> separate questions.    (091)

Cyc has modeled both 4D & 3D+1 and has established rules
for mapping between them.    (092)

> Again, what I'm curious about is what can be formally recorded
> and defined, and how one is able to ensure that it is
> consistently applied.    (093)

One can formally record a lot if one uses a powerful enough language.    (094)

>>> The interesting question is, how do you quantify those
>>> commitments and world views, such that you can verify whether
>>> the ontology of that natural system is fit for the purpose for which
>>> it was intended. That is, how do you do quality assurance on
>>> ontologies of natural systems, with reference to how they are framed?    (095)

>> By reifying the contexts and stating their assumptions (postulates).
>> I would note that the ontology itself is an artifactual system and thus
>> has purposes, not just functions and capabilities.    (096)

> Agreed. I wonder what is the best way in which to state those
> assumptions? Presumably at the top level of the ontology (or a
> given branch of the ontology) itself?    (097)

See #$domainAssumptions, below.  In fact, someone can state in
their Mt what they consider to be the domainAssumptions of a
different Mt.  These statements are only accessible from the
Mt in which they are asserted and their specMts.    (098)

One example is that Cyc has the concept of a #$FictionalContext.
A microtheory can only be stated to be fictional in another microtheory,
and not in a microtheory that is one of its #$genlMts.  Two religions
can each consider the other's belief microtheory to be fictional.    (099)

> Good point about the purpose of the ontology. I think where this
> becomes particularly important is when you are creating an
> operational ontology for some specific application. This might
> take a sub-set of some broader ontology which defines all the
> business concepts but has too many different terms and
> perspectives to make a practical, decidable ontology. Extracting
> the sub-set of the ontology which is appropriate for a given
> application, is driven by what is the business purpose of that
> application (for instance you might extract only a single
> taxonomic hierarchy out of an ontology which contains several; or
> you may extract only those terms which are represented by
> operational data and leave out those terms which are relative,
> those which give legal grounding and meaning to the concepts but
> have no data, and so on). But I digress.
>
>>
>> Cyc uses the predicate #$domain assertions for this purpose:
>>
>>    "(domainAssumptions MT PROP) means that the microtheory MT
>>      has the proposition PROP as a domain assumption, which means
>>      that all assertions explicitly made in MT assume that PROP is true.
>>
>>      For example,
>>       (domainAssumptions ChristianTrinityMt
>>                 (equals JesusChrist GodTheSon)). "    (0100)

> This is great. So there is a formal mechanism within Cyc, with
> which to make explicit any number of domain-specific assertions
> about the world?    (0101)

Yes.    (0102)

> Would that other ontologies had this, or had some formal
> requirement to make statements of this form. Otherwise I fear
> that a lot of the stuff which has been thought about and made
> specific in Cyc is not thought about and will not be made
> specific in other ontologies. There is nothing in the ontology
> languages themselves to make people do this, is there?    (0103)

Cyc does not enforce this -- at least it didn't when i worked there
in the 90s and early 2000s.    (0104)

> As I think we can all agree, in any technical development project
> it is the unspoken, undocumented and unquestioned assumptions
> which will come back to bite us.    (0105)

Agreed.  Documentation and examining assumptions are important.    (0106)

-- doug    (0107)

> Thanks for this.
>
> Mike
>
>>
>> -- doug f
>>
>>> Mike
>>> ...
> --
> Mike Bennett
> Director
> Hypercube Ltd.
> 89 Worship Street
> London EC2A 2BF
> Tel: +44 (0) 20 7917 9522
> Mob: +44 (0) 7721 420 730
> www.hypercube.co.uk
> Registered in England and Wales No. 2461068    (0108)



_________________________________________________________________
Msg Archives: http://ontolog.cim3.net/forum/ontology-summit/   
Subscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontology-summit/  
Unsubscribe: mailto:ontology-summit-leave@xxxxxxxxxxxxxxxx
Community Files: http://ontolog.cim3.net/file/work/OntologySummit2012/
Community Wiki: http://ontolog.cim3.net/cgi-bin/wiki.pl?OntologySummit2012  
Community Portal: http://ontolog.cim3.net/wiki/     (0109)
<Prev in Thread] Current Thread [Next in Thread>