Distributed systems may have local concurrency if the operating system at a node supports multiple tasks. There may also be global concurrency with sequential processes spanning several nodes. Entity-life modeling (ELM) is a method to pattern software concurrency after the concurrency inherent in the problem domain. The events that occur in the problem are partitioned into sequences called threads. The events in each thread are separated in time, allowing for processing. A set of threads that include all events in a problem is called a thread model of the problem. Each thread becomes either a single-node task or a software process that spans nodes. A flexible manufacturing system (FMS) is used as an example. In the FMS, jobs undergo machining at different workstations. The FMS software is distributed to workstation nodes. There is global concurrency between processes representing sequences of actions for each job. Two thread models of the FMS and the resulting designs are compared.
[1]
Bo Ingvar Sandén,et al.
An entity-life modeling approach to the design of concurrent software
,
1989,
Commun. ACM.
[2]
Bo Ingvar Sandén.
Design of concurrent software
,
1995,
TRI-Ada '95.
[3]
Dieter K. Hammer,et al.
Dedos: a distributed real-time environment
,
1994,
IEEE Parallel & Distributed Technology: Systems & Applications.
[4]
Bo Ingvar Sandén.
Designing control systems with entity-life modeling
,
1995,
J. Syst. Softw..
[5]
Hassan Gomaa.
A software design method for distributed real-time applications
,
1989,
J. Syst. Softw..
[6]
Bo Ingvar Sandén.
Design of Concurrent Software Based on Problem Concurrency
,
1995,
Ada-Europe.
[7]
Bo Ingvar Sandén,et al.
Entity-life modeling and structured analysis in real-time software design—a comparison
,
1989,
CACM.