Concepts for Automating Systems Integration
viewpoints and subsystems. It also allows languages with diverse second-level meta-models to be compared in
terms of the highest-level meta-model, so that equivalent concepts can be identified. It is technically possible to
compare models using languages with diverse second-level meta-models by converting them to their representations
in the highest-level model, but the results are not generally useful unless the conceptual equivalents between the two
second-level meta-models have been identified and one of the models has been converted to use the equivalents.
6.4
Semantic models = "ontologies"
The original definition of ontology from the philosophical context was "The science or study of being; that part of
metaphysics which relates to the nature or essence of being or existence.
" [33] The term was given different usage
and meaning by the artificial intelligence community, and in that community, it now refers to an artifact rather than
a science or philosophy. There are now many different, but largely compatible, views of what an ontology is in the
context of information technology:
· The semantic view: An ontology is the context needed to understand a specification, model, or other
communication in the way that was intended.
[15]
· The specification / reference view: "An ontology is an explicit specification of a conceptualization."
[17] and
"Commitment to a common ontology is a guarantee of consistency [in terminology]." [Ibid.] Simple
taxonomies and thesauri are included in this definition as degenerate cases.
· The modeling view: An ontology is a metamodel.
[3] (see 6.3.4)
· The automation view: An ontology is, or is captured in, a knowledge base designed to support automatic
Combinations of these yield 11 more specializations of the root concept, all of which are valid. Our usage in this
report is the intersection of the specification / reference view and the automation view.
Different representations of ontologies offer different kinds of rigor and support different kinds of automated
analysis [112]. Some people use specialized languages for identifying concepts and the relationships among them,
while others simply use UML notation for this purpose.
6.4.1 Knowledge representation tools and languages
With the exception of a few languages that were intended explicitly for exchanging knowledge between tools, most
knowledge representation languages are defined by the toolkit that supports them. Consequently the capabilities of
the languages and the capabilities of the tools are intimately related.
All knowledge representation tools create some kind of database, commonly called the
knowledge base, containing
the information that they capture. The features of the language the tool supports characterize the kind of information
that can be captured in the knowledge base.
Another important property of the tools is the ability to perform
inferences, also called inferencing. Inferencing is a
built-in capability of the tool to use formal implications captured in the knowledge base to derive new "knowledge"
information from the information that is directly entered into the knowledge base.
Knowledge representation languages, and the tools that support them, can be broadly categorized as frame-based,
predicate logic, description logic, or hybrid.
Frame-based representation
The frame-based approach to knowledge representation uses "frames," which represent things, actions, and concepts
(including types of things), and "slots," which represent relationships to other things, actions and concepts, including
"properties" and their "values." [138] Frame-based models are very analogous to the object-oriented models and
entity-attribute-relationship models described
in 6.3.3, but they are much more relaxed in their rules for the content
of a "slot," which give them more general expressive power.
62