Review: "Protocol Representation..." (1980)

"Protocol Representation with Finite-State Models"
by Andre A. S. Danthine
in IEEE Transactions on Communications, Vol.COM-28, No.4, April 1980, pp.632-643.

Da80 introduces X-transition of E-nets (including the environment-variables, token-attributes, and predicates) to time Petri nets.

The X-transition provides determinism (evaluated-abstraction, with its data and procedures), similar to a (deterministic) "if" statement in programming languages. i.e: If (bool) then do1, else do2."

The context-dependent interpretation of token-attributes, is reminiscent of Pascal variant-records (or, C unions), too.


A resolution-procedure is ...

Although Da80 is with the E-net formalism, for easy reference, the term "resolution-procedure" is redefined - other than in IV.E, where the FSA-based formalization, refers to F, the resolution-procedure and G, the transition-procedure, as different.

... a resolution procedure is immediately followed by the execution of an associated transition procedure, we will not here distinguish any further between the two and will only refer to a resolution procedure which in the first step may reference (but not alter) token attributes and environment variables in order to set the value of r, and in second step depending upon the value of r, may proceed further and alter token attributes and environment variables.
(Da80, p.638)

To implement a Da80 resolution-procedure, e.g:

F: if (rule0) r=0; else r=1;
G: if (r) fire_path1();  else fire_path0();

For ease of referral, we may refer to it as R, other than when its steps are important.

step by step

With E-nets, there are four phases of activity (cf. NN73, p.721). Da80 formalism, is about how we may refer to them as a context- vs. a basic-automaton (two finite-state automata).

  1. Enabled Phase: Here, Da80 introduces time Petri nets.
  2. Pseudoenabled Phase: This is F. i.e: step-1 of resolution.
  3. Active Phase: The net knows the active path. The G, if any, may run.
  4. Terminate Phase: The net reflects the new token-state/marking.

E-net time vs. time-Petri-net time

The difference of Da80, is about time. Although it is still feasible to let the third-phase of an E-net X-transition (the activity-phase) take time, Da80 lets only the first (or, second) phase take time, and that time-Petri-net may altogether neglect the token, after a maximum time.

i.e: Whereas Nutt's E-nets interpret with activity-oriented time, Da80 E-nets interpret with wait-oriented time, as Da80 found it preferrable for protocol-modeling. They are easily reconcilable (to model any type of net), though. i.e:

The former is rather a preference of a(n ordinary E-net) J-transition versus a time-Petri-net, as what Da80 refers to as an X-transition, is with two input-locations. With E-net primitives, that is a module (or, macro) with a J-transition, followed by an X-transition. A J-transition may only take its time, whereas a time-Petri-net may dump a token away, too.

Forum: . . (Fair Menu . . . . . Fault Report? . . . . . Remedy for your case . . . . . Noticed Plagiarism?)

Referring#: 1.0.1
Last-Revised (text) on Nov. 24, 2004 . . . published as
Written by: Ahmed Ferzan/Ferzen R Midyat-Zila (or, Earth)
Copyright (c) [2002,] 2004, 2009 Ferzan Midyat. All rights reserved.