Component, connector, and coordination have been key concepts exploited in different communities to manage the complexity of concurrent and distributed system development. In this paper, we discuss three approaches within three different classes: composition in software architectures, coordination models, and programming abstractions for concurrency. These classes encompass different perspectives and solutions to face crucial challenges in developing concurrent and distributed systems. The approaches are discussed with respect to some characteristics of interest for the above classes: compositionality, incrementality, scalability, compositional reasoning, reusability, and evolution.

Connectors, Coordination models, Programming abstractions, Software architectures, Software components
doi.org/10.1007/978-3-030-21485-2_12
Lecture Notes in Computer Science/Lecture Notes in Artificial Intelligence
Centrum Wiskunde & Informatica, Amsterdam, The Netherlands

Arbab, F, Autili, M, Inverardi, P, & Tivoli, M. (2019). Different glasses to look into the three Cs: Component, connector, coordination. In Models, Languages, and Tools for Concurrent and Distributed Programming. Essays Dedicated to Rocco De Nicola on the Occasion of His 65th Birthday (pp. 191–216). doi:10.1007/978-3-030-21485-2_12