Advertisement

Modeling and Analysis of Component Connectors in Coq

  • Yi Li
  • Meng SunEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8348)

Abstract

Connectors have emerged as a powerful concept for composition and coordination of concurrent activities encapsulated as components and services. Compositional coordination languages, like Reo, serve as a means to formally specify and implement connectors. They support large-scale distributed applications by allowing construction of complex component connectors out of simpler ones. In this paper, we present a new approach to modeling and analysis of Reo connectors via Coq, a proof assistant based on high-order logic and \(\lambda \)-calculus. Basic notions in Reo, like nodes and channels, are defined by inductive types. By tracing the data streams, we can simulate the behavior and output of a given Reo connector. Besides, with prerequisite axioms given, we can automatically prove connectors’ properties using the Coq proof assistant.

Keywords

Coordination Reo Connector Coq Analysis 

Notes

Acknowledgement

The work was partially supported by the National Natural Science Foundation of China under grant no. 61202069 and 61272160, and Research Fund for the Doctoral Program of Higher Education of China under grant no. 201200011 20103.

References

  1. 1.
    Aichernig, B.K., Arbab, F., Astefanoaei, L., de Boer, F.S., Meng, S., Rutten, J.J.M.M.: Fault-based test case generation for component connectors. In: Proceedings of TASE 2009, pp. 147–154. IEEE Computer Society (2009)Google Scholar
  2. 2.
    Arbab, F.: Reo: a channel-based coordination model for component composition. Math. Struct. Comput. Sci. 14(3), 329–366 (2004)CrossRefzbMATHMathSciNetGoogle Scholar
  3. 3.
    Arbab, F., Baier, C., de Boer, F., Rutten, J.: Models and temporal logical specifications for timed component connectors. Softw. Syst. Model. 6(1), 59–82 (2007)CrossRefGoogle Scholar
  4. 4.
    Arbab, F., Chothia, T., Meng, S., Moon, Y.-J.: Component connectors with QoS guarantees. In: Murphy, A.L., Vitek, J. (eds.) COORDINATION 2007. LNCS, vol. 4467, pp. 286–304. Springer, Heidelberg (2007) CrossRefGoogle Scholar
  5. 5.
    Arbab, F., Chothia, T., van der Mei, R., Meng, S., Moon, Y.J., Verhoef, C.: From coordination to stochastic models of QoS. In: Field, J., Vasconcelos, V.T. (eds.) COORDINATION 2009. LNCS, vol. 5521, pp. 268–287. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  6. 6.
    Arbab, F., Koehler, C., Maraikar, Z., Moon, Y.-J., Proença, J.: Modeling, testing and executing Reo connectors with the eclipse coordination tools. In: Preliminary proceedings of FACS 2008 (2008)Google Scholar
  7. 7.
    Arbab, F., Meng, S., Moon, Y.-J., Kwiatkowska, M., Qu, H.: Reo2mc: a tool chain for performance analysis of coordination models. In: Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering, pp. 287–288. ACM (2009)Google Scholar
  8. 8.
    Arbab, F., Rutten, J.J.M.M.: A coinductive calculus of component connectors. In: Wirsing, M., Pattinson, D., Hennicker, R. (eds.) WADT 2003. LNCS, vol. 2755, pp. 34–55. Springer, Heidelberg (2003) CrossRefGoogle Scholar
  9. 9.
    Baier, C., Blechmann, T., Klein, J., Klüppelholz, S., Leister, W.: Design and verification of systems with exogenous coordination using vereofy. In: Margaria, T., Steffen, B. (eds.) ISoLA 2010, Part II. LNCS, vol. 6416, pp. 97–111. Springer, Heidelberg (2010) CrossRefGoogle Scholar
  10. 10.
    Baier, C., Sirjani, M., Arbab, F., Rutten, J.: Modeling component connectors in Reo by constraint automata. Sci. Comput. Program. 61, 75–113 (2006)CrossRefzbMATHMathSciNetGoogle Scholar
  11. 11.
    Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development: Coq’Art: The Calculus of Inductive Constructions. Springer, Berlin (2004)CrossRefGoogle Scholar
  12. 12.
    Ciancarini, P.: Coordination models and languages as software integrators. ACM Comput. Surv. (CSUR) 28(2), 300–302 (1996)CrossRefGoogle Scholar
  13. 13.
    Clarke, D., Costa, D., Arbab, F.: Connector colouring I: synchronisation and context dependency. Sci. Comput. Program. 66, 205–225 (2007)CrossRefzbMATHMathSciNetGoogle Scholar
  14. 14.
    Eclipse Coordination Tools. http://reo.project.cwi.nl/
  15. 15.
    Halpern, J.Y., Vardi, M.Y.: Model checking vs. theorem proving: a manifesto. In: Artificial intelligence and mathematical theory of computation, pp. 151–176. Academic Press Professional, San Diego (1991)Google Scholar
  16. 16.
    Khosravi, R., Sirjani, M., Asoudeh, N., Sahebi, S., Iravanchi, H.: Modeling and analysis of Reo connectors using alloy. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 169–183. Springer, Heidelberg (2008) CrossRefGoogle Scholar
  17. 17.
    Kokash, N., Arbab, F.: Formal design and verification of long-running transactions with eclipse coordination tools. IEEE Trans. Serv. Comput. 6(2), 186–200 (2013)CrossRefGoogle Scholar
  18. 18.
    Kokash, N., Krause, Ch., de Vink, E.: Reo \(+\) mCRL2: a framework for model-checking dataflow in service compositions. Formal Aspects Comput. 24(2), 187–216 (2012)CrossRefzbMATHGoogle Scholar
  19. 19.
    Meng, S.: Connectors as designs: the time dimension. In: Proceedings of TASE 2012, pp. 201–208. IEEE Computer Society (2012)Google Scholar
  20. 20.
    Meng, S., Arbab, F., Aichernig, B.K., Aştefănoaei, L., de Boer, F.S., Rutten, J.: Connectors as designs: modeling, refinement and test case generation. Sci. Comput. Program. 77(7), 799–822 (2012)CrossRefzbMATHGoogle Scholar
  21. 21.
    Mousavi, M.R., Sirjani, M., Arbab, F.: Formal semantics and analysis of component connectors in Reo. Electron. Notes Theor. Comput. Sci. 154(1), 83–99 (2006)CrossRefGoogle Scholar
  22. 22.
    Ramasubbu, N., Balan, R.K.: Globally distributed software development project performance: an empirical analysis. In: Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering, pp. 125–134. ACM (2007)Google Scholar
  23. 23.
    Source code of the Coq development. http://www.math.pku.edu.cn/teachers/sunm/rc/Main.v

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  1. 1.LMAM and Department of Informatics, School of Mathematical SciencesPeking UniversityBeijingChina

Personalised recommendations