Berlin
Technische Universität Berlin Gesellschaft für Informatik e.V.
41. Jahrestagung, Gesellschaft für Informatik e.V. (GI), Berlin
Informatik 2011 > Programm > Workshops > Artikel

Process synthesis from multiple interaction specifications

Johannes Reich

Abstract: The traditional approach to model (business) processes as stepwise executable activities which interact with multiple partner processes by typed interfaces seems to lead to centralization or at least to a very tight coupling of the interacting systems. Here, a unifying approach is presented that models the specifications of both, deterministic processes as well as their possibly nondeterministic interactions starting from the same building blocks, namely finite input output automata (or transducers). Processes are viewed as finite systems that take part in multiple, possibly nondeterministic interactions. The interactions between processes are specified as protocols. The projection of a process specification onto one of its interactions is called a role. The synthesis of a process specification from multiple roles is illustrated by the example of a resource administration process which is supposed to provide a requesting process exclusive access to a single resource (e.g. e printer or a car). This process has to coordinate its interaction with the requesting process, specified by the mutual exclusion protocol, and at the same time it has to coordinate its interactions with other resource administration processes, specified by a token exchange protocol, to guarantee the exclusiveness of the access. So, starting from an interaction centric perspective together with a synthesis procedure for process specification, this approach circumvents the centralization tendencies and allows the construction of truly loosely coupled (finite) systems in the sense of Glassman (1973) Desai et al. (2005, 2009) follow a very similar philosophy, but describe protocols and processes more on a business semantics level in terms of commitments. Choosing automata theory as a base has the advantage of providing more insight from a system theoretic point of view.and thereby more insights into the foundations of software engineering.