SEPLJun 14, 2013

The essence of component-based design and coordination

arXiv:1306.3375v12 citations
Originality Synthesis-oriented
AI Analysis

This work addresses the theoretical distinction in programming language design for software engineers, but it is incremental as it refines existing concepts without introducing new methods or data.

The paper examines whether coordination languages are distinct from general programming languages, concluding that the ability to integrate external components via standard interfaces is a key qualitative difference, but notes that separating academic focus on coordination languages involves non-obvious trade-offs.

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 language design and implementation has non-obvious cost trade-offs.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes