Mathematical Model

This model views the CAETI system as sequences of CAETI messages being exchanged by processes that are attached to bi-directional connections. A connection is a logical communication path that is identified by a pair of CAETI addresses. (A process may be attached to more than one connection.) There is a mapping from the sender and receiver parameters of messages into CAETI addresses.

Message Traffic.

The message traffic at a CAETI address is modeled as two independent sequences of CMA messages. One is the sequence of all inbound messages that have arrived at the address, and the other is the sequence of all outbound messages that have been sent from the address.

The traffic for a particular address a can be modeled as an ordered pair (x,y) where x is the inbound message sequence, and y is the outbound sequence. Every CAETI address is unique. At any given moment, only some of these addresses will be in use by CAETI processes. Therefore, the CAETI system is modeled as a mapping from CAETI addresses into the pair of inbound and outbound CAETI message sequences that have occurred at that address as follows:

 CAETI-system = { (a, (x, y)) }
where

Because every CAETI address is unique, CAETI-system is a mapping from CAETI addresses into pairs of CMA message sequences.

Address Mapping.

There is a function address-map(a) that maps CAETI addresses into the sender and receiver parameters (which are ASCII strings). There is also an inverse function un-map(s) that maps these strings back into CAETI addresses. These functions have the property

 All a:a-caeti-address, un-map(address-map(a)) = a

The CAETI Message Type.

Field accesses into the record structure give the value of each message parameter.

 type a-CMA-msg =
  record (kind : a-CMA-type;
          sender : a-caeti-address;
          receiver : a-caeti-address;
          content : string;
          language : string := "text";
          ontology : string;
          reply-with : string;
          in-reply-to : string);

Message Types.

The allowed types of CMA messages are recognized by the relation is-CMA-msg(m) as follows:
 type a-CMA-msg = enum [ tell, ask, do subscribe, sorry ];

Outbound Messages.

This model assumes that every message sent from a CAETI address must be a CMA message. No other kinds of messages may be sent from a CAETI address. It also assumes that the sender parameter of every CMA message correctly identifies the CAETI address from which it was sent. In particular, every message m in the sequence of outbound messages y from address a has the following properties:
 a-CMA-msg(m) & address-map(sender(m)) = a

Inbound Messages.

This model assumes that if a message arrives at a CAETI address, then it arrives at the address identified by its receiver parameter, it was sent from the address identified by its sender parameter, and it was not modified in transit. In particular, every message m in the sequence of inbound messages x at address a has the following properties:
 address-map(receiver(m)) = a & occurs-in(m, outbound(CAETI-system,a))
where

 outbound(s,a) 
is the function that gives the outbound sequence y that is associated with address a in system s, and
 occurs-in(m,y) 
is true iff message m occurs somewhere in the message sequence y.

Because every inbound message must be some outbound message, every outbound message of interest will be a CMA message.

This page is URL http://www.computationallogic.com/software/caeti/architecture/model/math-model.html