OntoClean probes the meaning of each member of a taxonomy by
applying meta-properties to them. For example, OntoClean uses rigid,
non-rigid or anti-rigid as meta-properties to identify properties with
certain characteristics. A property of an abstraction can be essential,
but at the same time not rigid because its existence is not necessary
in all domains in which the abstraction is used and is therefore an
anti-rigid property of the class. On the other hand, rigid properties
are essential in all domains where the abstraction is used. As a result
it's clearly seen that anti-rigid properties cannot be polymorphic in
relation to rigid properties because anti-rigid properties can cease to
exist in other domains or state of affairs, while rigid properties
don't cease to exist. An attempt to use polymorphism between anti-rigid
and rigid properties would result in abstractions that are not able to
scale across all domains, although the relation may work fine in some
domains. 

For instance, in C++ a template class that requires it's type
parameter(s) to have certain members that are not rigid, will not scale
to a domain that do not require those non-rigid members to instantiate
the template. The abstraction implemented through the template
definition can't exhibit polymorphic behavior with its type
parameter(s) in every situation because, their non-essential properties
may not exist. The relationship between the abstractions must use some
form of constitution instead, and not require the anti-rigid properties
in the interface of the template. In C++ a specialization of a template
could be used to support other domains or state of affairs where the
anti-rigid properties are not present or where they are synthesized by
a combination of other class members. 

Although some aspects of OntoClean appear to be overkill and
controversial, techniques used in OntoClean appear to be useful for developing
object-oriented design strategies.

 

James Smith
E-mail: [email protected]





________________________________
From: Jim Smith <[email protected]>
To: [email protected]
Sent: Mon, January 11, 2010 11:02:38 AM
Subject: [c-prog] Techniques used in Ontology that are useful for capturing 
software abstractions in C++

  
OntoClean is a method used in Ontology to help create clean, scalable
abstractions. By applying metaproperties to members of an abstraction
OntoClean can assist in evaluating and validating relationships between
entities in a domain. 

The terminology used in OntoClean doesn't map directly into
object-oriented programming. Many of the same words are used but in a
slightly different context. For instance, in OntoClean a class is a set
of entities that exhibit a property. 

Ref: http://en.wikipedia.org/wiki/OntoClean
James Smith
E-mail: jmclaurin11@ yahoo.com


 


      

[Non-text portions of this message have been removed]

Reply via email to