• Keine Ergebnisse gefunden

The differences between implicit and explicit updates have already been men-tioned in Section10.2. As the consequences of aninsert operation are different from those of anassert operation the guarantees have to be different likewise.

Inserting knowledge is an explicit operation which gives the guarantee that the knowledge base indeed contains the statement afterwards.

Consider the followinginsert operation:

i n s e r t ( h t t p : / / example . o r g#Katrin , h t t p : / / f a m i l y . o r g#marriedTo , h t t p : / / example . o r g#John ) .

The knowledge base now contains the resources:Katrinand:Johnplus the pred-icatefamily:marriedTowhich connects both other resources. Therefore it is pos-sible to guarantee at the same time that, after the insert operation, thedeletion of the same statement would succeed.

The situation is different if an assert operation with the same statement was executed instead of theinsert operation. Although both operations ensure that the knowledge base will entail the given statement afterwards only theinsert ensures that the statement is actually contained. Consider a situation where the knowledge base already contains the same statement through entailment:

: John f a m i l y : marriedTo : K a t r i n .

f a m i l y : marriedTo a o w l : S y m m e t r i c P r o p e r t y .

Becausefamily:marriedTois a symmetric property it can be derived that also :Katrinis married to:John. The insertoperation from above would nevertheless add the (now redundant) statement and so it could also be deleted again.

In contrast, the assertoperation would cause no changes in the knowledge base (though committing successfully) as the intention of the update is already

fulfilled. A consecutivedeleteoperation on the same statement, however, would fail because a non-existent statement cannot be deleted.

From this considerations follows that the consequences of anassertoperation depend heavily on the existing data (both assertional and terminological) and the inference mechanism. As the reasoning process itself is treated as a black box it cannot be told alone from the success of anassertoperation what actually happened within the knowledge base. Hence, the only guarantee towards the assertoperation can be given with regard to theentailment of the statement by the model.

A similar situation can be found with the relationship of thedeleteand the retractoperations. Both operations ensure that the statement, as specified with the operation, cannot be entailed afterwards. But it cannot be told whether the retract operation performed any changes to the knowledge base at all. Other than withinsertandassert, here is no difference with regard to future operations because both deleteand retract lead to a situation where the statement is not contained in the knowledge base.

The logical characterisations that have been presented, complete the main part of this work. In the next part, the results are discussed.

Results

143

Applicability

This chapter gives a motivating example scenario by which the capabilities of theSwanarchitecture are demonstrated. The scenario consists of an applica-tion domain with two domain applicaapplica-tion nodes. These domain nodes use the components of an existingMarsimplementation for ECA rule evaluation. The description of the scenario involves

- concepts of the application domain defined in the domain ontology, - ECA rule definitions for event processing,

- ACA rules for a mapping of domain actions to knowledge base updates, - local ECE rules in form of knowledge base triggers for the raising of events, - local ECA rules, again as knowledge base triggers, for the completion of

knowledge base updates,

- F-Logic programmes for hybrid reasoning,

- event definitions which initiate activities in the domain (simulating user interaction).

The chapter comprises a short description of the technical details, the rule specifications, and some conclusions.

11.1 Technical Details

Two domain nodes are integrated into aMarsinfrastructure using virtual ma-chines (VM). Each node runs in its own VM with the same technical setup.

By the use of a VM for hosting a domain application node the scenario can be extended easily by an arbitrary number of additional nodes that are completely independent. The nodes differ only in the way that they become initialised by a startup script. This script loads all ontological data (the contents of the know-ledge base), triggers, and ACA rules. Furthermore, the application domain node registers at the domain broker in order to receive actions. ECA rule definitions are sent to the ECA engine. Each node can be administrated seperately by its own frontend which is accessible via a web browser. Additionally, there is a do-main frontend, which allows for the sending of commands to one or more nodes

145

plus the sending of pre-defined domain actions (see the screenshot in Figure 11.1).

Figure 11.1: Domain Frontend (Screenshot of the Browser Interface) The application domain nodes make use of an implementation of theMars framework, which resides on a separate machine (note that the place where the components are located is not important, all services can be distributed amongst many different servers). The Mars framework can be administrated via a browser interface that offers several options for managing the Mars in-frastructure: rule (de-)registration, event raising (also by choosing from a set of pre-defined events), and framework logging facilities.

For the demonstration of the interaction of the components, an example scenario about travel planning and booking is presented.