Computer Science > Software Engineering
[Submitted on 23 Feb 2016 (v1), last revised 17 Feb 2021 (this version, v3)]
Title:Composition, Cooperation, and Coordination of Computational Systems
View PDFAbstract: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.
Submission history
From: Johannes Reich [view email][v1] Tue, 23 Feb 2016 07:33:29 UTC (871 KB)
[v2] Mon, 6 Jan 2020 13:48:25 UTC (3,459 KB)
[v3] Wed, 17 Feb 2021 21:00:09 UTC (3,869 KB)
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.