When designing a system it is necessary to
understand what states are possible in the domain
because the system, in order to track the reality,
must be able to mirror these states. Indicative
models describe these states and the events that
cause state change. The behavioural constraints,
specifying what events are possible in each state,
inherent in indicative models must be obeyed if the
state changes of the system are to correspond to
meaningful state changes in the domain being
modelled. These constraints are properties of the
domain and system must ensure that violation of
these constraints is prevented.
However a system will also enforce, or help to
enforce, user defined rules or policies:
• If the project budget is greater than £x it must
should be approved by a director.
• The number of widgets should not fall below
the safety stock level.
• Two aircraft should not approach within a
minimum distance of each other.
These reflect requirements of the system, as they
describe what we want to be true when the domain
and the system interact, and are the subject matter of
optative descriptions.
Violation of the constraints contained in optative
descriptions is both meaningful and possible, the
degree of actual compliance depending on the nature
of the interaction between the system and the
domain.
2.2 Optative Protocol Machines
In the context of indicative descriptions, refusal of
an event by a protocol machine denotes that the
machine is unable to ascribe a meaning to the event
and is therefore unable to adopt a new state. In this
paper we extend the use of protocol machines to
optative descriptions. Here the semantics of
“acceptance” and “refusal” have to be different, as it
both possible and meaningful for events to take
place that violate the rules of optative descriptions.
Instead of causing the event to be rejected as
unprocessable, acceptance or refusal by machines
with optative semantics causes feedback to the
source of the event (a user, or possibly another
system) on the event’s appropriateness, but does not
prevent the event from being processed. The form of
such feedback is discussed later, in Section 4.
There are two types of optative machine
semantics, corresponding to whether feedback is
triggered by acceptance or refusal of the event. This
is shown in Table 1. The second column of the table
indicates which disposition (accepted or refused) of
an event by a machine causes feedback to be
returned to the source of the event. The third column
maps the two types of machine to natural meanings,
which we refer to as deontic semantics as they
correspond roughly to the ideas of “obligatory” and
“forbidden” (or “encouraged” and “discouraged”) in
deontic logic systems, as discussed for instance in
(Hilpinen and Føllesdal, 1971).
Table 1: Types of Optative Machine.
Type Significant
Event
Disposition
Semantics
D Acceptance An accepted event is Desired.
Example: Replenishing stock that
has fallen below the safety stock
level.
A Refusal A refused event is not Allowed.
Example: Borrowing a reference
book.
Together with machines that describe indicative
behaviour (which we refer to as Type E, for
“Essential”) we now have a scheme of three deontic
types of machine (E, D and A) which can be used in
combination to describe an object’s behaviour.
2.3 Syntax for Optative Machines
Our general goal is to use the same syntax, described
in (McNeile and Simons, 2006), for protocol
machines of all deontic types. However the different
nature of optative machines (Types D and A) means
that they are subject to special rules of form and
syntax, which we now describe.
Suppose that an object o is described by a
heterogeneous set of machines of all three deontic
types. Without loss of generality, we can take it that
o is described by exactly three machines (m
E
, m
D
and m
A
), one of each type. This is because:
• We allow multiple machines of a given deontic
type to be composed, using the composition
rules described in (McNeile and Simons, 2006),
to yield a single machine of the same type.
• If o has no machine of a particular type, we can
add a machine with an empty repertoire, which
will ignore all events presented to it, to establish
the complete complement of three types.
The two rules that must be observed if the model
of o is to be well formed are:
λ(m
D
) U λ(m
A
) ⊆ λ(m
E
)
ICEIS 2006 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
490