Pr. Gregor v. Bochmann SITE, University of Ottawa, Canada
Distributed systems are difficult to design because (1) message exchanges between the different system components must be foreseen in order to coordinate the actions at the different locations, and (2) the varying speed of execution of the different system components, and the varying speed of message transmission through the different networks through which the components are connected make it very hard to predict in which order these messages could be received. This presentation deals with the early development phases of distributed applications, such as communication systems, service compositions or workflow applications. It is assumed that first a global requirements model is established that makes abstraction from the physical distribution of the different system functions. Once the architectural (distributed) structure of the system has been selected, this global requirement model must be transformed into a set of local behavior models, one for each of the components involved. Each local behavior model, implemented on a separate device, realizes part of the system functions and includes the exchange of messages necessary to coordinate the overall system behavior. The presentation will first review several methods for describing global requirements and local component behaviors, such as state machines, activity diagrams, Petri nets, BPEL, sequence diagrams, etc. Then a new description paradigm based on the concept of collaborations will be presented, together with some examples. The second part of the presentation will concentrate on the problem of how local component behaviors can be derived automatically from a given global requirements model. First it is assumed that the ordering between different activities is defined by explicit control flow relations. This is then generalized to the case where so-called weak sequencing is used to describe the ordering of activities. Weak sequencing is the natural ordering relation for the composition of sequence diagrams. Finally, an outlook at remaining problems and possible applications in the context of service compositions, workflow modeling, Web Services and Cloud Computing will be discussed.