Interactive Interaction Constraints

  • José Proença
  • Dave Clarke
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7890)

Abstract

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.

Keywords

interaction constraints constraint satisfaction coordination Reo 

References

  1. 1.
    Abreu, J., Fiadeiro, J.L.: A coordination model for service-oriented interactions. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 1–16. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  2. 2.
    Apt, K.: Principles of Constraint Programming. Cambridge University Press (2003)Google Scholar
  3. 3.
    Arbab, F.: Reo: a channel-based coordination model for component composition. Mathematical Structures in Computer Science 14(3), 329–366 (2004)MathSciNetMATHCrossRefGoogle Scholar
  4. 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
  5. 5.
    Baier, C., Sirjani, M., Arbab, F., Rutten, J.J.M.M.: Modeling component connectors in Reo by constraint automata. Science of Computer Programming 61(2), 75–113 (2006)MathSciNetMATHCrossRefGoogle Scholar
  6. 6.
    Berre, D.L., Parrain, A.: The Sat4j library, release 2.2. JSAT 7(2-3), 59–64 (2010)Google Scholar
  7. 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
  8. 8.
    Clarke, D.: Coordination: Reo, nets, and logic. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2007. LNCS, vol. 5382, pp. 226–256. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  9. 9.
    Clarke, D., Costa, D., Arbab, F.: Connector colouring I: Synchronisation and context dependency. Science of Computer Programming 66(3), 205–225 (2007)MathSciNetMATHCrossRefGoogle Scholar
  10. 10.
    Clarke, D., Proença, J.: Partial connector colouring. In: Sirjani, M. (ed.) COORDINATION 2012. LNCS, vol. 7274, pp. 59–73. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  11. 11.
    Clarke, D., Proença, J., Lazovik, A., Arbab, F.: Channel-based coordination via constraint satisfaction. Science of Computer Programming 76 (2011)Google Scholar
  12. 12.
    Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Commun. ACM 18(8), 453–457 (1975)MathSciNetMATHCrossRefGoogle Scholar
  13. 13.
    Faltings, B., Macho-Gonzalez, S.: Open constraint programming. Artificial Intelligence 161(1-2), 181–208 (2005)MathSciNetMATHCrossRefGoogle Scholar
  14. 14.
    Jongmans, S.-S.T.Q., Santini, F., Sargolzaei, M., Arbab, F., Afsarmanesh, H.: Automatic code generation for the orchestration of web services with reo. In: De Paoli, F., Pimentel, E., Zavattaro, G. (eds.) ESOCC 2012. LNCS, vol. 7592, pp. 1–16. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  15. 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
  16. 16.
    Köksal, A.S., Kuncak, V., Suter, P.: Scala to the power of Z3: Integrating smt and programming. In: Bjørner, N., Sofronie-Stokkermans, V. (eds.) CADE 2011. LNCS, vol. 6803, pp. 400–406. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  17. 17.
    Köksal, A.S., Kuncak, V., Suter, P.: Constraints as control. SIGPLAN Not. 47(1), 151–164 (2012)CrossRefGoogle Scholar
  18. 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
  19. 19.
    Minsky, N.H., Ungureanu, V.: Law-governed interaction: a coordination and control mechanism for heterogeneous distributed systems. ACM Transactions on Software Engineering and Methodology 9(3), 273–305 (2000)CrossRefGoogle Scholar
  20. 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. 21.
    Proença, J., Clarke, D.: Solving data-sensitive coordination constraints. CW Reports CW637, Department of Computer Science, KU Leuven (February 2013)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2013

Authors and Affiliations

  • José Proença
    • 1
  • Dave Clarke
    • 1
  1. 1.iMinds-DistriNet, Department of Computer ScienceKU LeuvenBelgium

Personalised recommendations