- A new operator, ∗ (star), is introduced in the programming notation to denote
process instantiation. An instance of a process term must be created before it can
execute. This event is unique in the system since it represents the origin of a global
time at which processes can start their execution. As an example, let us consider a
process P that initially can only engage in the event a. In CSP, this process would be
denoted as: P = a →STOP, but it must be instantiated before being executed in
CSP+T. Given P', the timed version of P, which is instantiated at time 1, where s is a
time stamp associated to the abstract communication a, the specification of P' be-
comes,
P'= 1.∗ → s.a → STOP where s ∈[1, ∞[
It should be noted that event a occurs only once in the interval.
− A new event operator >< is introduced to be used jointly with a “marker vari-
able” to record the time instant at which the event occurs. ev>< v means that the time
at which ev is observed during a process execution is in the marker variable v. The
value of time stamps is taken from the set of positive real numbers, so that successive
events form a non-decreasing monotonic sequence. As several successive events can
instantiate the same variable at different times, if we specify the process P as follows
:
P= 1.∗ → a >< var → STOP
- For each process execution, the marker variable var will record the correspond-
ing time value at which event a occurred, and it will always satisfy var > 1.
The scope of marker variables is strictly limited to one sequential process. They
cannot be referenced or accessed in any other way within a concurrent composition of
processes.
- Each marker event is usually associated with a time interval, which is called its
“event-enabling” interval and represents the period of time over which the event is
continuously available to the process and its environment. During this interval, the
event can be detected, then provoking an instantaneous change of state either in the
process or in the environment. The initial times for intervals are relative to a preced-
ing event or to a marker variable, which is instantiated during current process execu-
tion. A process is considered to be the STOP process if it cannot engage in the marker
event or in an alternative event during the enabling interval. Let us suppose, for in-
stance, that there is a process P, a process which can only engage in event a, which
can only occur between 1 and 2 units of time from the process instantiation time (the
preceding event), recording in the marker variable v the time at which the event a
occurred. The specification of this process is therefore:
P= 0.∗ → [1, 2].a >< v → STOP
After the process execution, the value of the marker variable satisfies the inequal-
ity 1 ≤ v ≤ 2. The enabling interval can be defined in a more compact way by using
the function I, I (T,v), where v is the marker variable that records the time instant at
which the preceding event occurred, and T defines the duration of the time interval
starting at the time instant stored in v. An example is:
P = 1.∗ → a >< v → I(3,v).c → d → STOP ,
in which the event c can occur at least three time units after the process P engages in
the event a.
If the marker variable does not appear in the signature of function I, the enabling
interval is relative to the previous marker variable in the scope of the process, other-
wise the enabling interval for that process is considered the default interval [0, ∞].
19