Concurrent Software Design Based on Constraints on State Diagrams
This work addresses synchronization issues in concurrent software design for engineering applications, but it appears incremental as it builds on existing state diagram methods.
The paper tackles the problem of designing concurrent software for engineering computations by proposing constraints on state diagrams to specify module synchronization intentions, and demonstrates the translation of these constrained diagrams into Concurrent State Machines for formal verification, with an example provided.
Concurrent software for engineering computations consists of multiple cooperating modules. The behavior of individual modules is described by means on state diagrams. In the paper, the constraints on state diagrams are proposed, allowing for the specification of designer's intentions as to the synchronization of modules. Also, the translation of state diagrams (with enforcement constraints) into Concurrent State Machines is shown, which provides formal framework for the verification of inter-module synchronization. An example of engineering software design based on the method is presented.