Abstract
We present an automata-based model for describing the behaviors of software components. This extends our previous work by allowing internal behaviors. In order to improve the techniques for checking if two component can be composed without causing deadlocks, we develop an interface model, called input deterministic automata, that define all the non-blockable traces of invocation to services provided by a component. We also present an algorithm that, for any given component automaton, generates the interface model that has the same input deterministic behaviors as the original automaton. Properties of the algorithm with respect to component refinement and composition are studied as preliminary results towards a theory of software component interfaces.
Part of the work of the second author was done during his visit to UNU-IIST in February 2013 and he wishes to thank the support from project PEARL funded by Macau Science and Technology Development Fund, and the work of the third author was mainly done when he was working at UNU-IIST as a postdoctoral research fellow supported by PEARL.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Arbab, F.: Reo: a channel-based coordination model for component composition. Mathematical Structures in Computer Science 14, 329–366 (2004), http://portal.acm.org/citation.cfm?id=992032.992035
Chen, X., Liu, Z., Mencl, V.: Separation of concerns and consistent integration in requirements modelling. In: van Leeuwen, J., Italiano, G.F., van der Hoek, W., Meinel, C., Sack, H., Plášil, F. (eds.) SOFSEM 2007. Part I. LNCS, vol. 4362, pp. 819–831. Springer, Heidelberg (2007)
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), http://www.sciencedirect.com/science/article/pii/S0167642308000890 , special Issue on the Grand Challenge
De Alfaro, L., Henzinger, T.: Interface automata. ACM SIGSOFT Software Engineering Notes 26(5), 109–120 (2001)
De Alfaro, L., Henzinger, T.: Interface-based design. Engineering Theories of Software-intensive Systems 195, 83–104 (2005)
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 2012, pp. 103–108. ACM, New York (2012), http://doi.acm.org/10.1145/2304736.2304754
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), http://dx.doi.org/10.1007/978-3-540-68237-0_10
Giannakopoulou, D., Pasareanu, C.S., Barringer, H.: Assumption generation for software component verification. In: ASE, pp. 3–12. IEEE Computer Society (2002), http://doi.ieeecomputersociety.org/10.1109/ASE.2002.1114984
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.: rcos: A refinement calculus of object systems. Theor. Comput. Sci. 365(1-2), 109–142 (2006)
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. Communications of the ACM 21(8), 666–677 (1978)
Hopcroft, J., Motwani, R., Ullman, J.: Introduction to Automata Theory, Languages, and Computation, vol. 2. Addison-Wesley (1979)
Larsen, K.G., Nyman, U., Wąsowski, A.: Interface input/output automata. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 82–97. Springer, Heidelberg (2006), http://dx.doi.org/10.1007/11813040_7
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), http://dx.doi.org/10.1007/978-3-540-71316-6_6
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)
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)
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), , http://dx.doi.org/10.1007/978-3-642-33475-7_19
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), http://dl.acm.org/citation.cfm?id=2362088.2362095
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 (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dong, R., Zhan, N., Zhao, L. (2013). An Interface Model of Software Components. In: Liu, Z., Woodcock, J., Zhu, H. (eds) Theoretical Aspects of Computing – ICTAC 2013. ICTAC 2013. Lecture Notes in Computer Science, vol 8049. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39718-9_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-39718-9_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-39717-2
Online ISBN: 978-3-642-39718-9
eBook Packages: Computer ScienceComputer Science (R0)