Over the past decades, coordination languages emerged for modeling and implementing concurrency protocols among components in component-based systems. Coordination languages allow programmers to express concurrency protocols at a higher and more appropriate level of abstraction than what traditional programming and scripting languages offer.In this paper, we extend a significant coordination model-constraint automata-with a mechanism to finitely and compactly deal with infinite data domains, including foundational notions as behavior and equivalence (based on languages), weak and strong congruence (based on bisimulation), and composition. We also address the act of composing a number of simple primitive constraint automata into a complex composite one, by discussing two alternative composition approaches and by analyzing their performance in a number of experiments.

, , , ,
doi.org/10.1016/j.scico.2017.03.006
Science of Computer Programming
Detection and Diagnosis of Deviations in Distributed Systems of Autonomous Agents
Centrum Wiskunde & Informatica, Amsterdam (CWI), The Netherlands

Jongmans, S., Kappé, T., & Arbab, F. (2017). Constraint automata with memory cells and their composition. Science of Computer Programming, 146, 50–86. doi:10.1016/j.scico.2017.03.006