The essence of component-based design and coordination
Raphael 'kena' Poss

TL;DR
This paper explores the unique characteristics of coordination languages, emphasizing their role in specifying composite applications with external components, and discusses the implications of focusing academic research on them separately from general programming languages.
Contribution
It clarifies the defining features of coordination languages, especially the importance of external interfaces, and analyzes the trade-offs of dedicated academic focus on them.
Findings
Coordination languages enable composite application specification using external components.
Most current languages incorporate some coordination features through external interfaces.
Segregating academic focus on coordination languages involves non-obvious trade-offs.
Abstract
Is there a characteristic of coordination languages that makes them qualitatively different from general programming languages and deserves special academic attention? This report proposes a nuanced answer in three parts. The first part highlights that coordination languages are the means by which composite software applications can be specified using components that are only available separately, or later in time, via standard interfacing mechanisms. The second part highlights that most currently used languages provide mechanisms to use externally provided components, and thus exhibit some elements of coordination. However not all do, and the availability of an external interface thus forms an objective and qualitative criterion that distinguishes coordination. The third part argues that despite the qualitative difference, the segregation of academic attention away from general…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsEmbedded Systems Design Techniques · Advanced Software Engineering Methodologies · Real-Time Systems Scheduling
