Skip to main content

Conditions for Compatibility of Components

The Case of Masters and Slaves

  • Conference paper
  • First Online:
Leveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques (ISoLA 2016)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9952))

Included in the following conference series:

Abstract

We consider systems composed of reactive components that collaborate through synchronised execution of common actions. These multi-component systems are formally represented as team automata, a model that allows a wide spectrum of synchronisation policies to combine components into higher-level systems. We investigate the correct-by-construction engineering of such systems of systems from the point of view of correct communications between the components (no message loss or deadlocks due to indefinite waiting). This leads to a proposal for a generic definition of compatibility of components relative to the adopted synchronisation policy. This definition appears to be particularly appropriate for so-called master-slave synchronisations by which input actions (for ‘slaves’) are driven by output actions (from ‘masters’).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    We have drawn this arc as an explicit example of a non master-slave synchronisation in which the station executes input action \(\text {req}_i?\) and does not synchronise with the \(\text {req}_i!\) of the user.

References

  1. Adler, B.T., de Alfaro, L., da Silva, L.D., Faella, M., Legay, A., Raman, V., Roy, P.: Ticc: a tool for interface compatibility and composition. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 59–62. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  2. Armstrong, J.: Erlang. Commun. ACM 53(9), 68–75 (2010)

    Article  Google Scholar 

  3. ter Beek, M.H.: Team automata: a formal approach to the modeling of collaboration between system components. PhD thesis, Leiden University (2003)

    Google Scholar 

  4. ter Beek, M.H., Ellis, C.A., Kleijn, J., Rozenberg, G.: Synchronizations in team automata for groupware systems. Comput. Sup. Coop. Work 12(1), 21–69 (2003)

    Article  Google Scholar 

  5. ter Beek, M.H., Kleijn, J.: Team automata satisfying compositionality. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 381–400. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  6. ter Beek, M.H., Kleijn, J.: Modularity for teams of I/O automata. Inf. Process. Lett. 95(5), 487–495 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  7. ter Beek, M.H., Reniers, M.A., de Vink, E.P.: Supervisory controller synthesis for product lines using CIF 3. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016, Part I. LNCS, vol. 9952, pp. 856–873. Springer, Heidelberg (2016). doi:10.1007/978-3-319-47166-2 59

    Google Scholar 

  8. Bensalem, S., Bozga, M., Boyer, B., Legay, A.: Incremental generation of linear invariants for component-based systems. In: Proceedings of the 13th International Conference on Application of Concurrency to System Design (ACSD 2013), pp. 80–89. IEEE (2013)

    Google Scholar 

  9. Berry, G.: The Esterel v5 Language Primer. Ecole des Mines de Paris/INRIA (2000)

    Google Scholar 

  10. Brim, L., Cerná, I., Vareková, P., Zimmerova, B.: Component-interaction automata as a verification-oriented component-based system specification. ACM Softw. Eng. Notes 31(2), 4:1–4:8 (2006)

    Article  Google Scholar 

  11. Carmona, J.: Structural methods for the synthesis of well-formed concurrent specifications. PhD thesis, Universitat Politècnica de Catalunya (2004)

    Google Scholar 

  12. Cortadella, J., Carmona, J.: Input/Output compatibility of reactive systems. In: Aagaard, M.D., O’Leary, J.W. (eds.) FMCAD 2002. LNCS, vol. 2517, pp. 360–377. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  13. Carmona, J., Cortadella, J., Kishinevsky, M., Taubin, A.: Elastic circuits. IEEE Trans. Comput.-Aided Design Integr. Circuits Syst. 28(10), 1437–1455 (2009)

    Article  Google Scholar 

  14. Carmona, J.A., Cortadella, J., Pastor, E.: Synthesis of reactive systems: application to asynchronous circuit design. In: Cortadella, J., Yakovlev, A., Rozenberg, G. (eds.) Concurrency and Hardware Design. LNCS, vol. 2549, pp. 108–151. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  15. Carmona, J., Kleijn, J.: Interactive behaviour of multi-component systems. In: Cortadella, J., Yakovlev, A. (eds.) ToBaCo 2004, pp. 27–31 (2004)

    Google Scholar 

  16. Carmona, J., Kleijn, J.: Compatibility in a multi-component environment. Theor. Comput. Sci. 484, 1–15 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  17. Castro, D., Gulías, V.M., Earle, C.B., Fredlund, L., Rivas, S.: A case study on verifying a supervisor component using McErlang. ENTCS 271, 23–40 (2011)

    Google Scholar 

  18. Chapiro, D.M.: Globally-asynchronous locally-synchronous systems. PhD thesis, Stanford University (1984)

    Google Scholar 

  19. de Alfaro, L., da Silva, L.D., Faella, M., Legay, A., Roy, P., Sorea, M.: Sociable interfaces. In: Gramlich, B. (ed.) FroCos 2005. LNCS (LNAI), vol. 3717, pp. 81–105. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  20. de Alfaro, L., Henzinger, T.A.: Interface automata. In: ESEC/FSE 2001, pp. 109–120. ACM (2001)

    Google Scholar 

  21. de Alfaro, L., Henzinger, T.A.: Interface-based design. In: Broy, M., Grünbauer, J., Harel, D., Hoare, T. (eds.) Engineering Theories of Software Intensive Systems. NATO Science Series, vol. 195, pp. 83–104. Springer, Dordrecht (2005)

    Chapter  Google Scholar 

  22. Dijkstra, E.W.: A constructive approach to the problem of program correctness. BIT Numer. Math. 8(3), 174–186 (1968)

    Article  MathSciNet  MATH  Google Scholar 

  23. Dumas, M., Benatallah, B., Nezhad, H.R.M.: Web service protocols: compatibility and adaptation. IEEE Data Eng. Bull. 31(3), 40–44 (2008)

    Google Scholar 

  24. Engels, G., Groenewegen, L.: Towards team-automata-driven object-oriented collaborative work. In: Brauer, W., Ehrig, H., Karhumäki, J., Salomaa, A. (eds.) Formal and Natural Computing. LNCS, vol. 2300, p. 257. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  25. Gössler, G., Sifakis, J.: Composition for component-based modeling. Sci. Comput. Program. 55, 161–183 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  26. Guo, Q., Derrick, J., Benac Earle, C., Fredlund, L.Å.: Model-checking Erlang – a comparison between EtomCRL2 and McErlang. In: Bottaci, L., Fraser, G. (eds.) TAIC PART 2010. LNCS, vol. 6303, pp. 23–38. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  27. Hall, A.: Correctness by construction: integrating formality into a commercial development process. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, p. 224. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  28. Hall, A., Chapman, R.: Correctness by construction: developing a commercial secure system. IEEE Softw. 19(1), 18–25 (2002)

    Article  Google Scholar 

  29. Hammal, Y.: A modular state exploration and compatibility checking of UML dynamic diagrams. In: AICCSA 2008, pp. 793–800. IEEE (2008)

    Google Scholar 

  30. Hammal, Y.: Behavioral compatibility of active components. In: SEFM 2008, pp. 372–376. IEEE (2008)

    Google Scholar 

  31. Hennicker, R., Knapp, A.: Modal interface theories for communication-safe component assemblies. In: Cerone, A., Pihlajasaari, P. (eds.) ICTAC 2011. LNCS, vol. 6916, pp. 135–153. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  32. Hennicker, R., Knapp, A.: Moving from interface theories to assembly theories. Acta Inf. 52(2–3), 235–268 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  33. Hennicker, R., Knapp, A., Wirsing, M.: Assembly theories for communication-safe component systems. In: Bensalem, S., Lakhneck, Y., Legay, A. (eds.) From Programs to Systems. LNCS, vol. 8415, pp. 145–160. Springer, Heidelberg (2014)

    Google Scholar 

  34. Isokawa, T., Peper, F., Mitsui, M., Liu, J.-Q., Morita, K., Umeo, H., Kamiura, N., Matsui, N.: Computing by swarm networks. In: Umeo, H., Morishita, S., Nishinari, K., Komatsuzaki, T., Bandini, S. (eds.) ACRI 2008. LNCS, vol. 5191, pp. 50–59. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  35. Jamshidi, M.: System of Systems Engineering: Innovations for the Twenty-First Century. Wiley, Hoboken (2008)

    Book  Google Scholar 

  36. Kourie, D.G., Watson, B.W.: The Correctness-by-Construction Approach to Programming. Springer, Heidelberg (2012)

    Book  MATH  Google Scholar 

  37. Larsen, K.G., Nyman, U., Wąsowski, A.: Modal I/O automata for interface and product line theories. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 64–79. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  38. Lynch, N.A., Tuttle, M.R.: Hierarchical correctness proofs for distributed algorithms. In: PODC 1987, pp. 137–151. ACM (1987)

    Google Scholar 

  39. Lynch, N.A., Tuttle, M.R.: An introduction to input/output automata. CWI Q. 2(3), 219–246 (1989)

    MathSciNet  MATH  Google Scholar 

  40. Milner, R.: Communication and Concurrency. Prentice Hall, Upper Saddle River (1989)

    MATH  Google Scholar 

  41. Morgan, C.C.: Programming from Specifications, 2nd edn. Prentice Hall, Upper Saddle River (1994)

    MATH  Google Scholar 

  42. Ramadge, P.J., Wonham, W.M.: Supervisory control of a class of discrete event processes. SIAM J. Control Optim. 25(1), 206–230 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  43. Silva, M., Valette, R.: Petri nets and flexible manufacturing. In: Rozenberg, G. (ed.) Advances in Petri Nets. LNCS, vol. 424, pp. 374–417. Springer, Heidelberg (1990)

    Google Scholar 

  44. Yellin, D.M., Strom, R.E.: Protocol specifications and component adaptors. ACM Trans. Program. Lang. Syst. 19(2), 292–333 (1997)

    Article  Google Scholar 

Download references

Acknowledgments

We thank the reviewers for their suggestions and additional references to related work. M.H. ter Beek was supported by the CNR through a Short-Term Mobility grant and J. Carmona was supported by funds from the Spanish Ministry for Economy and Competitiveness (MINECO) and the European Union (FEDER funds) under grant COMMAS (ref. TIN2013-46181-C2-1-R).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jetty Kleijn .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

ter Beek, M.H., Carmona, J., Kleijn, J. (2016). Conditions for Compatibility of Components. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques. ISoLA 2016. Lecture Notes in Computer Science(), vol 9952. Springer, Cham. https://doi.org/10.1007/978-3-319-47166-2_55

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-47166-2_55

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-47165-5

  • Online ISBN: 978-3-319-47166-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics