Deriving Distributed Design Models from Global Requirements Models
Creators: name: Al-Hammouri, Mohammad Fawzi Ahmad
Publisher: name: Université d'Ottawa / University of Ottawa
Year: 2021
Subjects: Distributed applications
Realizability of Service Specifications
Hierarchical state machines
Global requirements model

description: During the system and software development process for distributed systems, the development of the overall system design is critical for correctness, performance, and reliability. The objective of this thesis is the improvement of methods and tools that can be used to obtain a correct design model for distributed system components automatically by deriving the design model from the global system requirements. Mainly, we are concerned with the transformation from a global requirements model to a distributed design model. The global requirements model describes the behavior of a distributed system in an abstract manner by defining the local actions to be performed by different roles which represent actors in the different system components. The distributed design model defines the behavior of each actor separately, including its local actions plus the exchange of coordination messages, which are necessary to assure that the actions are performed in the required order. In this work, we first consider a global requirements model in the form of partially ordered actions similar to High-level Message Sequence Chart (HMSC). We study the realizability of the global requirements, which is said to be directly realizable if a design model can be constructed without any coordination messages. We study some problems which prevent direct realizability, such as strict sequence, non-local choice, non-deterministic choice, termination race, and others, and show under which conditions these problems are absent and the global model is directly realizable. For the other cases, we show how a conforming design model can be obtained by introducing a minimal number of coordination messages. In this context, we also show under which conditions sequence numbers are required in the messages of a weak while loop. Then we study the automatic derivation of a distributed design model using a tool. In order to obtain an easily readable notation for the global requirements model, we adapt the HMSC notation to the UML Hierarchical State Machine (HSM) notation and extend this notation to describe the roles that participate in the actions of each state of the global behavior. A simple state represents some local actions of a single role, while a hierarchical state usually represents a collaboration between several roles. Then we describe a derivation algorithm that can be applied to a global model written in this proposed HSM notation and generates a distributable UML HSM model, which contains a hierarchical state machine for each role of the application. We implemented this derivation algorithm as a tool in the context of the Umple UML development environment. This tool takes a global requirements model written in the extended HSM notation as input and automatically generates a UML HSM model. The distributed implementation environment described in Zakariapour’s thesis is used for generating a distributed Java implementation, where each distributed component contains one Java run-time environment and realizes the behavior of one or several of the roles of the application. A Travel Management System illustrative example has been discussed to illustrate the representation of the global model using the extended HSM notation and to demonstrate the correctness of the generated design models by the tool.