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.

Additional Metadata
Keywords Connectors, Coordination models, Programming abstractions, Software architectures, Software components
Persistent URL dx.doi.org/10.1007/978-3-030-21485-2_12
Series Lecture Notes in Computer Science/Lecture Notes in Artificial Intelligence
Citation
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