Advertisement

Automata for Context-Dependent Connectors

  • Marcello Bonsangue
  • Dave Clarke
  • Alexandra Silva
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5521)

Abstract

Recent approaches to component-based software engineering employ coordinating connectors to compose components into software systems. For maximum flexibility and reuse, such connectors can themselves be composed, resulting in an expressive calculus of connectors whose semantics encompasses complex combinations of synchronisation, mutual exclusion, non-deterministic choice and state-dependent behaviour. A more expressive notion of connector includes also context-dependent behaviour, namely, whenever the choices the connector can take change non-monotonically as the context, given by the pending activity on its ports, changes. Context dependency can express notions of priority and inhibition. Capturing context-dependent behaviour in formal models is non-trivial, as it is unclear how to propagate context information through composition. In this paper we present an intuitive automata-based formal model of context-dependent connectors, and argue that it is superior to previous attempts at such a model for the coordination language Reo.

Keywords

Mutual Exclusion Negative Information Colouring Table Synchronisation Operation Coordination Language 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Arbab, F.: Reo: a channel-based coordination model for component composition. Mathematical Structures in Computer Science 14(3), 329–366 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Arbab, F.: Abstract behavior types: a foundation model for components and their composition. Sci. Comput. Program. 55(1-3), 3–52 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Arbab, F., Bruni, R., Clarke, D., Lanese, I., Montanari, U.: Tiles for Reo. In: WADT (2009) (to appear)Google Scholar
  4. 4.
    Arbab, F., Chothia, T., van der Mei, R., Meng, S., Moon, Y., 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)Google Scholar
  5. 5.
    Arbab, F., Herman, I., Spilling, P.: An overview of Manifold and its implementation. Concurrency - Practice and Experience 5(1), 23–70 (1993)CrossRefGoogle Scholar
  6. 6.
    Arbab, F., Rutten, J.: 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
  7. 7.
    Baier, C., Sirjani, M., Arbab, F., Rutten, J.: Modeling component connectors in Reo by constraint automata. Sci. Comput. Program. 61(2), 75–113 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Barbosa, L., Barbosa, M.: A perspective on service orchestration. In: Science of Computer Programming (2008) (accepted for publication)Google Scholar
  9. 9.
    Barbosa, M., Barbosa, L., Campos, J.: Towards a coordination model for interactive systems. Electr. Notes Theor. Comput. Sci. 183, 89–103 (2007)CrossRefGoogle Scholar
  10. 10.
    Clarke, D., Proença, J., Lazovik, A., Arbab, F.: Deconstructing Reo. In: FOCLASA 2008 (2008) (to appear) Google Scholar
  11. 11.
    Clarke, D., Costa, D., Arbab, F.: Connector colouring I: Synchronisation and context dependency. Sci. Comput. Program. 66(3), 205–225 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Costa, D.: Formal Models for Context Dependent Connectors for Distributed Software Components and Services. Ph.D thesis (2009) (to appear) Google Scholar
  13. 13.
    de Boer, F., Kok, J., Palamidessi, C., Rutten, J.: Non-monotonic concurrent constraint programming. In: ILPS, pp. 315–334 (1993)Google Scholar
  14. 14.
    Fiadeiro, J., Lopes, A.: Community on the move: Architectures for distribution and mobility. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2003. LNCS, vol. 3188, pp. 177–196. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  15. 15.
    Fournet, C., Gonthier, G.: The join calculus: A language for distributed mobile programming. In: Barthe, G., Dybjer, P., Pinto, L., Saraiva, J. (eds.) APPSEM 2000. LNCS, vol. 2395, pp. 268–332. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  16. 16.
    Gelernter, D.: Generative communication in Linda. ACM Trans. Program. Lang. Syst. 7(1), 80–112 (1985)CrossRefzbMATHGoogle Scholar
  17. 17.
    Scholten, J.: Mobile channels for exogenous coordination of distributed systems: semantics, implementation and composition. Ph.D thesis, LIACS, Faculty of Mathematics and Natural Sciences, Leiden University (January 2007)Google Scholar
  18. 18.
    Izadi, M., Bonsangue, M.: Recasting constraint automata into Büchi automata. In: Fitzgerald, J.S., Haxthausen, A.E., Yenigun, H. (eds.) ICTAC 2008. LNCS, vol. 5160, pp. 156–170. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  19. 19.
    Izadi, M., Bonsangue, M., Clarke, D.: Modelling component connectors: Synchronisation and context-dependency. In: Proceedings of SEFM 2008. IEEE Computer Society Press, Los Alamitos (2008) (to appear)Google Scholar
  20. 20.
    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
  21. 21.
    Koehler, C., Arbab, F., de Vink, E.: Reconfiguring distributed Reo connectors. In: WADT (2009) (to appear)Google Scholar
  22. 22.
    Kozen, D.: On the coalgebraic theory of Kleene algebra with tests. TR 10173, Computing and Information Science, Cornell University (March 2008)Google Scholar
  23. 23.
    Lee, B., Lee, E.: Hierarchical concurrent finite state machines in Ptolemy. In: ACSD, pp. 34–40. IEEE Computer Society, Los Alamitos (1998)Google Scholar
  24. 24.
    Liu, X., Xiong, Y., Lee, E.: The Ptolemy ii framework for visual languages. In: HCC, p. 50. IEEE Computer Society, Los Alamitos (2001)Google Scholar
  25. 25.
    Maraikar, Z., Lazovik, A., Arbab, F.: Building mashups for the enterprise with SABRE. In: Bouguettaya, A., Krüger, I., Margaria, T. (eds.) ICSOC 2008. LNCS, vol. 5364, pp. 70–83. Springer, Heidelberg (2008)Google Scholar
  26. 26.
    Misra, J., Cook, W.: Computation orchestration: A basis for wide-area computing. Journal of Software and Systems Modeling (May 2006)Google Scholar
  27. 27.
    Mousavi, M., Sirjani, M., Arbab, F.: Formal semantics and analysis of component connectors in Reo. Electr. Notes Theor. Comput. Sci. 154(1), 83–99 (2006)CrossRefGoogle Scholar
  28. 28.
    Nierstrasz, O.: Piccola - a small compositional language (invited talk). In: Ciancarini, P., Fantechi, A., Gorrieri, R. (eds.) FMOODS. IFIP Conference Proceedings, vol. 139. Kluwer, Dordrecht (1999)Google Scholar
  29. 29.
    Rutten, J.: Coalgebra, concurrency, and control. In: Boel, R., Stremersch, G. (eds.) Discrete Event Systems (analysis and control), Proceedings of WODES 2000, pp. 31–38. Kluwer, Dordrecht (2000)Google Scholar
  30. 30.
    Shaw, M., Garlan, D.: Software Architecture. Prentice Hall, Englewood Cliffs (1996)zbMATHGoogle Scholar
  31. 31.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley Professional, Reading (2002)zbMATHGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2009

Authors and Affiliations

  • Marcello Bonsangue
    • 1
    • 3
  • Dave Clarke
    • 2
  • Alexandra Silva
    • 3
  1. 1.LIACSLeiden UniversityThe Netherlands
  2. 2.Dept. Computer ScienceKatholieke Universiteit LeuvenBelgium
  3. 3.CWIThe Netherlands

Personalised recommendations