Concepts for Automating Systems Integration
The manual translation approach
The manual approach involves development of a specific mapping from the relevant elements of the ontology of
agent X to the corresponding elements of agent Y and the reverse mapping, for each pair of agents (X,Y) that will
interact. This development uses a combination of formal methods and human expertise, and the result cannot be
validated if either agent ontology is not axiomatized.
Calvanese et al. [5] propose a query or database view-like approach for mapping between ontologies. This approach
enables formal mappings to be constructed in cases where there is no direct correspondence of terms. The qualities
of such mappings, such as the conditions under which they can be used bidirectionally, can be postulated by analogy
to the view-update problem in database literatu
re [8].
6.5
Artificial intelligence algorithmic methods
6.5.1 Knowledge engineering and expert systems
Knowledge engineering systems consist of a database system, which captures not only "facts" (information in the
conventional database sense) but also "rules" for the derivation of new facts from those directly entered, and an
"inferencing" or "rule execution" engine to perform the derivations. Most knowledge engineering systems are
intended as toolkits with which to build expert systems. There is typically a close relationship between the
capabilities of the system and the style of knowledge representation
(see 6.4.1) it uses.
All of these systems distinguish between the "knowledge base" the facts and rules retained for use in all future
applications and the "scenario" the set of "hypotheses" for a given application. The hypotheses have the same
structure as "facts" but they are only assumed to be true for this application, and the deductions made by applying
the facts and rules of the knowledge base have the same property.
Expert systems are automated advisors that suggest appropriate actions to business and engineering practitioners,
and in some cases create the necessary data files and transactions to perform those actions. (The currently most
widely used expert systems are software configuration "wizards.") Expert systems use question-and-answer to
advise a human agent, working from a populated knowledge base and an inferencing mechanism that determines the
implication of the answers for both the results to be produced and the next question to ask, until a final
recommendation or result is developed. Although many expert systems are built on knowledge-engineering
systems, many others use hard-coded inference rules and embedded facts or private databases.
A number of technical integration tasks are, for the most part, rote application of particular patterns with problem-
specific substitutions and a few other design choices. Expert systems can be readily employed in developing tools to
perform such technical integration tasks, or to assist human engineers in performing them.
6.5.2 Automated theorem proving
Theorem-proving tools search for sequences of rule applications to show that a targeted hypothesis follows logically
from axioms and previously proven theorems. Many different theorem-proving tools are available, many of them
implementing interesting and unique approaches. However, there exists a mature body of work that, along with the
related topic of logic programming, is part of the average computer science curriculum.
Duffy [44] describes the theory and limitations of how automated theorem proving relates to "program synthesis"
from "algebraic specifications." Processing formal specifications of components to determine how to construct a
desired system is an extension of that idea.
As stated in 6.4.1, proving that two terms with axiomatic definitions have the same semantics requires the axioms of
each to be proved using the axioms of the other (and any underlying ontology). This is a direct application of
theorem-proving technology.
68