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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Arbab, F.: Reo: a channel-based coordination model for component composition. Math. Struct. Comput. Sci. 14, 329–366 (2004)
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)
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)
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)
De Alfaro, L., Henzinger, T.: Interface automata. ACM SIGSOFT Softw. Eng. Notes 26(5), 109–120 (2001)
De Alfaro, L., Henzinger, T.: Interface-based design. Eng. Theor. Softw.-Intensive Syst. 195, 83–104 (2005)
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)
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)
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)
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)
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)
Giannakopoulou, D., Pasareanu, C.S., Barringer, H.: Assumption generation for software component verification. In: ASE, pp. 3–12. IEEE Computer Society (2002)
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)
He, J., Li, X., Liu, Z.: A theory of reactive components. Electr. Notes Theor. Comput. Sci. 160, 173–195 (2006)
Hoare, C.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978)
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)
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)
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)
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)
Lynch, N.A., Tuttle, M.R.: Hierarchical correctness proofs for distributed algorithms. In: PODC, pp. 137–151 (1987)
Lynch, N.A., Tuttle, M.R.: An introduction to input/output automata. CWI Quarterly 2(3), 219–246 (1989)
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
Milner, R.: Communication and Concurrency. Prentice Hall International (UK) Ltd., Hertfordshire (1995)
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)
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)
Roscoe, A.: The Theory and Practice of Concurrency. Prentice Hall, Upper Saddle River (1998)
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)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley, Boston (1997)
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)