Data Abstraction in Coordination Constraints

  • José Proença
  • Dave Clarke
Part of the Communications in Computer and Information Science book series (CCIS, volume 393)


This paper studies complex coordination mechanisms based on constraint satisfaction. In particular, it focuses on data-sensitive connectors from the Reo coordination language. These connectors restrict how and where data can flow between loosely-coupled components taking into account the data being exchanged. Existing engines for Reo provide a very limited support for data-sensitive connectors, even though data constraints are captured by the original semantic models for Reo.

When executing data-sensitive connectors, coordination constraints are not exhaustively solved at compile time but at runtime on a per-need basis, powered by an existing SMT (satisfiability modulo theories) solver. To deal with a wider range of data types and operations, we abstract data and reduce the original constraint satisfaction problem to a SAT problem, based on a variation of predicate abstraction. We show soundness and completeness of the abstraction mechanism for well-defined constraints, and validate our approach by evaluating the performance of a prototype implementation with different test cases, with and without abstraction.


Data Abstraction Coordination Pattern Boolean Formula Satisfiability Modulo Theory Data Constraint 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    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)CrossRefMATHMathSciNetGoogle Scholar
  2. 2.
    Ball, T., Podelski, A., Rajamani, S.K.: Relative completeness of abstraction refinement for software model checking. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 158–172. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  3. 3.
    Bliudze, S., Sifakis, J.: Synthesizing Glue Operators from Glue Constraints for the Construction of Component-Based Systems. In: Apel, S., Jackson, E. (eds.) SC 2011. LNCS, vol. 6708, pp. 51–67. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  4. 4.
    Bozga, M., Jaber, M., Maris, N., Sifakis, J.: Modeling dynamic architectures using dy-bip. In: Gschwind, T., De Paoli, F., Gruhn, V., Book, M. (eds.) SC 2012. LNCS, vol. 7306, pp. 1–16. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  5. 5.
    Bruni, R., Ferreira, C., Kauer, A.K.: First-order dynamic logic for compensable processes. In: Sirjani [17], pp. 104–121Google Scholar
  6. 6.
    Changizi, B., Kokash, N.: Arbab. A constraint-based method to compute semantics of channel-based coordination models. In: International Conference on Software Engineering Advances (2012)Google Scholar
  7. 7.
    Clarke, D., Proença, J., Lazovik, A., Arbab, F.: Channel-based coordination via constraint satisfaction. Science of Computer Programming 76 (2011)Google Scholar
  8. 8.
    Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Commun. ACM 18(8), 453–457 (1975)CrossRefMATHMathSciNetGoogle Scholar
  9. 9.
    Graf, S., Saïdi, H.: Construction of abstract state graphs with PVS. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 72–83. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  10. 10.
    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
  11. 11.
    Khosravi, R., Sabouri, H.: Using coordinated actors to model families of distributed systems. In: Sirjani [17], pp. 74–88Google Scholar
  12. 12.
    Kokash, N., Krause, C., de Vink, E.P.: Reo + mCRL2: A framework for model-checking dataflow in service compositions. Formal Aspects of Computing 24(2), 187–216 (2012)CrossRefMATHMathSciNetGoogle Scholar
  13. 13.
    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
  14. 14.
    Köksal, A.S., Kuncak, V., Suter, P.: Constraints as control. SIGPLAN Not. 47(1), 151–164 (2012)CrossRefGoogle Scholar
  15. 15.
    Proença, J., Clarke, D.: Interactive interaction constraints. In: De Nicola, R., Julien, C. (eds.) COORDINATION 2013. LNCS, vol. 7890, pp. 211–225. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  16. 16.
    Proença, J., Clarke, D.: Solving data-sensitive coordination constraints. CW Reports CW637, Department of Computer Science, KU Leuven (February 2013)Google Scholar
  17. 17.
    Sirjani, M. (ed.): COORDINATION 2012. LNCS, vol. 7274. Springer, Heidelberg (2012)MATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • José Proença
    • 1
    • 2
  • Dave Clarke
    • 2
  1. 1.HASLab / INESC TECUniversidade do MinhoPortugal
  2. 2.iMinds-DistriNet, Dep. Computer ScienceKU LeuvenBelgium

Personalised recommendations