THEORY OF CONCEPTUAL GRAPHS

CHAPTER 3 - ACTORS

Basic Ideas

Actors are included here partly because they exist in Sowa's original theory and partly because they can be used to perform routine computational tasks for which a strictly logical, axiomatised approach would be computationally expensive. In essence they are functions and they operate on nonlogical markers such as numbers and strings.

In many ways actors are similar to relations. The difference is that they do not just state relationships, they make them true by computing appropriate markers. We have two types of actor: “active” and “passive”. An active actor performs a computation and places the result into a generic marker (referent, type or relation) whilst a passive actor computes the truth value of the relationship expressed by the actor. In this way a passive actor is very much like an ordinary relation except that some sort of code must be provided to perform the test.

Actor Labels And Arity

In principle an actor can contain either a label which represents some piece of code or the code itself. Such code could be expressed in conceptual graphs in which case it would be a context enclosed in { }

Common actor labels will be arithmetic operators such as + - = < > or string or list manipulation operators such as head and tail or substring search. Some of these operators are intrinsically active or passive and others can be both. For example the arithmetic operator + can be active if given two numbers and the actor calculates the third or it can be passive if it is given three numbers and it tests that the third is the sum of the first two. An operator such as “less than” < should always be used passively since to provide one operand and not the other will generate an infinite series of results. The distinction between passive actors and active actors is subtle in some cases and for many purposes active actors will serve both purposes.

The arity of actors can vary in the same way as the arity of ordinary relations. An actor + which tests if a number is positive would have as arity of 1 whilst + as the addition operator would have an arity of 3. The inputs to the actor should have their arrows pointing towards the actor node and the outputs from the actor should have their arrows pointing away from the actor node. This not only indicates the direction in which data move (in a sense) but also, using the normal reading of an ordinary relation, indicate which entity is playing the role of result of the actor.

Representation

Sowa represented actor nodes as diamonds. We retain this notation for passive actors but uses a double diamond for active actors. Other than the shape of the node the representation of actors is exactly like that of ordinary relations. These are some examples in display form along with their linear form equivalents:




Return To Main Index

Previous Chapter

Next Chapter




Updated 14th December, 2006