Composition, Cooperation, and Coordination of Computational Systems (1602.07065v3)
Abstract: In this paper I elaborated on the idea of David Harel and Amir Pnueli to think systems and their interaction from the point of view of their compositional behaviour. The obvious idea to base the composition of systems on the concept of computable functions and their compositional behaviour leads to supersystem formation by composing simple and recursive systems. But this approach does not allow to account adequately for systems that interact with many other systems in a stateful and nondeterministic way, which is why I introduce the concept of interactivity and cooperation. In order to describe interactive systems satisfactorily, a balance is needed between the representation of their relationship to all the other systems and what happens within the systems. I thus introduce the complementary descriptions of external interactions and internal coordination, both based on a role concept in the sense of a projection of a system onto its interactions. It actually mirrors the internal vs. external distinction initially introduced by the system model and reflects the problem how systems are supposed to cooperate without melting into a common supersystem. Components become systems, intended for (a given) composition and with the notion of an interface we subsume all relevant information necessary for this composition. I introduce the concept of decisions as an additional internal input alphabet in order to determine nondeterministic interactions and thus fictitiously assume a system function where we actually do not have the knowledge to do so. Thus, the close relationship between protocols and games becomes obvious. Finally, I transfer the gained insights to the field of IT system architecture and introduce the concept of the "interaction oriented architecture (IOA)" for interactive systems with its three elements of roles, coordination rules, and decisions.