Interactive Interaction Constraints
Interaction constraints are an expressive formalism for describing coordination patterns, such as those underlying the coordination language Reo, that can be efficiently implemented using constraint satisfaction technologies such as SAT and SMT solvers. Existing implementations of interaction constraints interact with external components only in a very simple way: interaction occurs only between rounds of constraint satisfaction. What is missing is any means for the constraint solver to interact with the external world during constraint satisfaction.
This paper introduces interactive interaction constraints which enable interaction during constraint satisfaction, and in turn increase the expressiveness of coordination languages based on interaction constraints by allowing a larger class of operations to be considered to occur atomically. We describe how interactive interaction constraints are implemented and detail a number of strategies for guiding constraint solvers. The benefit of interactive interaction constraints is illustrated using two examples, a hotel booking system and a system of transactions with compensations. From a general perspective, our work describes how to open up and exploit constraint solvers as the basis of a coordination engine.
Keywordsinteraction constraints constraint satisfaction coordination Reo
- 2.Apt, K.: Principles of Constraint Programming. Cambridge University Press (2003)Google Scholar
- 4.Arbab, F., Koehler, C., Maraikar, Z., Moon, Y.-J., Proença, J.: Modeling, testing and executing Reo connectors with the Eclipse Coordination Tools. In: Proceedings of FACS (2008)Google Scholar
- 6.Berre, D.L., Parrain, A.: The Sat4j library, release 2.2. JSAT 7(2-3), 59–64 (2010)Google Scholar
- 7.Changizi, B., Kokash, N., Arbab: A constraint-based method to compute semantics of channel-based coordination models. In: ICSEA: Proceedings of the International Conference on Software Engineering Advances (2012)Google Scholar
- 11.Clarke, D., Proença, J., Lazovik, A., Arbab, F.: Channel-based coordination via constraint satisfaction. Science of Computer Programming 76 (2011)Google Scholar
- 15.Kokash, N., Arbab, F.: Applying Reo to service coordination in long-running business transactions. In: Shin, S.Y., Ossowski, S. (eds.) SAC, pp. 1381–1382. ACM (2009)Google Scholar
- 18.Laburthe, F., Jussien, N.: CHOCO solver documentation (August 2012), http://sourceforge.net/projects/choco/files/choco/2.1.5/choco-2.1.5/choco-doc-2.1.5.pdf
- 20.Montanari, U., Rossi, F.: Modeling process coordination via tiles, graphs, and constraints. 3rd Biennial World Conference on Integrated Design and Process Technology 4, 1–8 (1998)Google Scholar
- 21.Proença, J., Clarke, D.: Solving data-sensitive coordination constraints. CW Reports CW637, Department of Computer Science, KU Leuven (February 2013)Google Scholar