Skip to main content

Towards a Failure Model of Software Components

  • Conference paper
  • First Online:
  • 496 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8348))

Abstract

We present a failure model for software components that describe sequences of services that are provided and required by a component, which may be blocked and therefore result in failures. For any automata-based model introduced in our previous work, there is a corresponding failure model. We show that the failure model is expressive enough to describe non-blockable properties defined in the automata-based models. Plugging operation over failure models is defined and proved to be consistent with the one over automata-based models. A kind of specific components, called coordinators, are introduced to coordinate behaviors of components to avoid failures, and accordingly, coordination operation is defined. Moreover, an algorithm is proposed to generate a coordinator which can filter out sequences of provided service invocations that may cause failures.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.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

Learn about institutional subscriptions

References

  1. Arbab, F.: Reo: a channel-based coordination model for component composition. Math. Struct. Comput. Sci. 14, 329–366 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  2. Arbab, F., Baier, C., Rutten, J., Sirjani, M.: Modeling component connectors in reo by constraint automata: (extended abstract). Electron. Notes Theor. Comput. Sci. 97(0), 25–46 (2004)

    Article  Google Scholar 

  3. Castagna, G., Gesbert, N., Padovani, L.: A theory of contracts for web services. ACM Trans. Program. Lang. Syst. 31(5), 19:1–19:61 (2009)

    Article  Google Scholar 

  4. Chen, Z., Liu, Z., Ravn, A.P., Stolz, V., Zhan, N.: Refinement and verification in component-based model-driven design. Science of Computer Programming 74(4), 168–196 (2009). (special Issue on the Grand Challenge)

    Article  MATH  MathSciNet  Google Scholar 

  5. De Alfaro, L., Henzinger, T.: Interface automata. ACM SIGSOFT Softw. Eng. Notes 26(5), 109–120 (2001)

    Article  Google Scholar 

  6. De Alfaro, L., Henzinger, T.: Interface-based design. Eng. Theor. Softw.-Intensive Syst. 195, 83–104 (2005)

    Article  Google Scholar 

  7. de Alfaro, L., Henzinger, T.A.: Interface theories for component-based design. In: Henzinger, T.A., Kirsch, C.M. (eds.) EMSOFT 2001. LNCS, vol. 2211, pp. 148–165. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  8. Dong, R., Faber, J., Ke, W., Liu, Z.: rCOS: defining meanings of component-based software architectures. In: Liu, Z., Woodcock, J., Zhu, H. (eds.) Unifying Theories of Programming and Formal Engineering Methods. LNCS, vol. 8050, pp. 1–66. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  9. Dong, R., Faber, J., Liu, Z., Srba, J., Zhan, N., Zhu, J.: Unblockable compositions of software components. In: Proceedings of the 15th ACM SIGSOFT Symposium on Component Based Software Engineering, CBSE ’12, pp. 103–108. ACM, New York (2012)

    Google Scholar 

  10. Dong, R., Zhan, N., Zhao, L.: An interface model of software components. In: Liu, Z., Woodcock, J., Zhu, H. (eds.) ICTAC 2013. LNCS, vol. 8049, pp. 159–176. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  11. Emmi, M., Giannakopoulou, D., Păsăreanu, C.S.: Assume-guarantee verification for interface automata. In: Cuellar, J., Maibaum, T., Sere, K. (eds.) FM 2008. LNCS, vol. 5014, pp. 116–131. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  12. Giannakopoulou, D., Pasareanu, C.S., Barringer, H.: Assumption generation for software component verification. In: ASE, pp. 3–12. IEEE Computer Society (2002)

    Google Scholar 

  13. Jifeng, H., Li, X., Liu, Z.: Component-based software engineering. In: Van Hung, D., Wirsing, M. (eds.) ICTAC 2005. LNCS, vol. 3722, pp. 70–95. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  14. He, J., Li, X., Liu, Z.: A theory of reactive components. Electr. Notes Theor. Comput. Sci. 160, 173–195 (2006)

    Article  Google Scholar 

  15. Hoare, C.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978)

    Article  MATH  MathSciNet  Google Scholar 

  16. Larsen, K.G., Nyman, U., Wasowski, A.: Interface input/output automata. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 82–97. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  17. Larsen, K.G., Nyman, U., Wasowski, 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 

  18. Liu, Z., Morisset, C., Stolz, V.: rCOS: theory and tool for component-based model driven development. In: Arbab, F., Sirjani, M. (eds.) FSEN 2009. LNCS, vol. 5961, pp. 62–80. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  19. Lüttgen, G., Vogler, W.: Modal interface automata. In: Baeten, J.C.M., Ball, T., de Boer, F.S. (eds.) TCS 2012. LNCS, vol. 7604, pp. 265–279. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

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

    Google Scholar 

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

    MATH  MathSciNet  Google Scholar 

  22. Mcilroy, D.: Mass-produced software components. In: Buxton, J.M., Naur, P., Randell, B. (eds.) Proceedings of Software Engineering Concepts and Techniques, pp. 138–155. NATO Science Committee, January 1969

    Google Scholar 

  23. Milner, R.: Communication and Concurrency. Prentice Hall International (UK) Ltd., Hertfordshire (1995)

    Google Scholar 

  24. Raclet, J., Badouel, E., Benveniste, A., Caillaud, B., Legay, A., Passerone, R.: Modal interfaces: unifying interface automata and modal specifications. In: Proceedings of the Seventh ACM International Conference on Embedded Software, pp. 87–96. ACM (2009)

    Google Scholar 

  25. Raclet, J.B., Badouel, E., Benveniste, A., Caillaud, B., Legay, A., Passerone, R.: A modal interface theory for component-based design. Fundam. Inf. 108(1–2), 119–149 (2011)

    MATH  MathSciNet  Google Scholar 

  26. Roscoe, A.: The Theory and Practice of Concurrency. Prentice Hall, Upper Saddle River (1998)

    Google Scholar 

  27. Sifakis, J.: A framework for component-based construction. In: Third IEEE International Conference on Software Engineering and Formal Methods, SEFM 2005, pp. 293–299. IEEE (2005)

    Google Scholar 

  28. Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley, Boston (1997)

    Google Scholar 

Download references

Acknowledgments

This work was funded in part by the projects 2014CB340700, NSFC-61103013 and NSFC-91118007 from the Natural Science Foundation of China, GAVES and PEARL funded by Macau Science and Technology Development. We thank Prof. Zhiming liu for his inspiring comments and discussions. We also thank the anonymous reviewers for their valuable comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ruzhen Dong .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Dong, R., Zhan, N. (2014). Towards a Failure Model of Software Components. In: Fiadeiro, J., Liu, Z., Xue, J. (eds) Formal Aspects of Component Software. FACS 2013. Lecture Notes in Computer Science(), vol 8348. Springer, Cham. https://doi.org/10.1007/978-3-319-07602-7_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-07602-7_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-07601-0

  • Online ISBN: 978-3-319-07602-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics