The model and network phases of JSD lead to a system structure based entirely on abstract processes.
On the other hand, when processes are identified with tasks, they must be used relatively sparingly, precisely because the JSD transformation, reducing an abundance of processes to a manageable set of subprograms, has been removed.
Unlike the situation in JSD, there is no transformation, and the tasks and modules identified in the modeling and packaging phases are directly implemented as tasks and packages.
The main difficulty with implementing the processes in the JSD solution we discussed, as concurrent tasks, is the large number of unnecessary tasks.
The JSD solution also includes examples of tasks operating on time schedules, namely the samplers that regularly scan the button contacts and the elevator sensors.
While JSD and the generic entity-life modeling approach share the principle of modeling processes on real-world entities, JSD also provides a notation (Figures 1, 2, 5) which describes the life of an entity as a regular expression and simultaneously describes a process as a structured program with loops and if statements.
While generic entity-life modeling does not rely on any specific notation, one alternative to the JSD structure diagrams for describing entity lives is state transition diagrams.
State transition diagrams and JSD entity structure diagrams both attempt to order events in time.
In addition to the entity and process structure diagrams, JSD uses network diagrams to show the cooperation of the processes in a system as shown in Figures 3, 4, 6, 7.
The control structure of ELEVATOR follows that of ELCONTROL in the JSD solution (Figure 5), and the Ada implementation in Figure 8 includes two entries, ARRIVAL and ALERT.