Abstract
Interface theories allow systems designers to reason about the composability and compatibility of concurrent system components. Such theories often extend both de Alfaro and Henzinger’s Interface Automata and Larsen’s Modal Transition Systems, which leads, however, to several issues that are undesirable in practice: an unintuitive treatment of specified unwanted behaviour, a binary compatibility concept that does not scale to multi-component assemblies, and compatibility guarantees that are insufficient for software product lines.
In this paper we show that communication mismatches are central to all these problems and, thus, the ability to represent such errors semantically is an important feature of an interface theory. Accordingly, we present the error-aware interface theory EMIA, where the above shortcomings are remedied by introducing explicit fatal error states. In addition, we prove via a Galois insertion that EMIA is a conservative generalisation of the established MIA (Modal Interface Automata) theory.
Supported by the DFG (German Research Foundation) under grant LU-1748/3-1.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
de Alfaro, L., Henzinger, T.A.: Interface automata. In: Foundations of Software Engineering (FSE), pp. 109–120. ACM (2001)
de Alfaro, L., Henzinger, T.A.: Interface-based design. In: Broy, M., Grünbauer, J., Harel, D., Hoare, T. (eds.) NATO Advanced Study. NATOS, vol. 195, pp. 83–104. Springer, Heidelberg (2005)
Bauer, S.S., David, A., Hennicker, R., Larsen, K.G., Legay, A., Nyman, U., Wąsowski, A.: Moving from specifications to contracts in component-based design. In: de Lara, J., Zisman, A. (eds.) FASE 2012 and ETAPS 2012. LNCS, vol. 7212, pp. 43–58. Springer, Heidelberg (2012)
Bauer, S.S., Mayer, P., Schroeder, A., Hennicker, R.: On weak modal compatibility, refinement, and the MIO workbench. In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 175–189. Springer, Heidelberg (2010)
Beyer, D., Chakrabarti, A., Henzinger, T.A., Seshia, S.A.: An application of web-service interfaces. In: International Conference on Web Services (ICWS), pp. 831–838. IEEE (2007)
Bujtor, F., Fendrich, S., Lüttgen, G., Vogler, W.: Nondeterministic modal interfaces. In: Italiano, G.F., Margaria-Steffen, T., Pokorný, J., Quisquater, J.-J., Wattenhofer, R. (eds.) SOFSEM 2015. LNCS, vol. 8939, pp. 152–163. Springer, Heidelberg (2015)
Bujtor, F., Vogler, W.: Error-pruning in interface automata. In: Geffert, V., Preneel, B., Rovan, B., Štuller, J., Tjoa, A.M. (eds.) SOFSEM 2014. LNCS, vol. 8327, pp. 162–173. Springer, Heidelberg (2014)
Caillaud, B.: Mica: a modal interface compositional analysis library (2011). http://www.irisa.fr/s4/tools/mica/. Accessed 2 Dec 2015
Chen, T., Chilton, C., Jonsson, B., Kwiatkowska, M.: A compositional specification theory for component behaviours. In: Seidl, H. (ed.) ESOP 2012 and ETAPS 2012. LNCS, vol. 7211, pp. 148–168. Springer, Heidelberg (2012)
Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Principles of Programming Languages (POPL), pp. 238–252. ACM (1977)
Emmi, M., Giannakopoulou, D., Păsăreanu, C.S.: Assume-guarantee verification for interface automata. In: Cuellar, J., Sere, K. (eds.) FM 2008. LNCS, vol. 5014, pp. 116–131. Springer, Heidelberg (2008)
Fendrich, S., Lüttgen, G.: A generalised theory of interface automata, component compatibility and error. Technical report, Bamberger Beiträge zur Wirtschaftsinformatik und angewandten Informatik 98, Bamberg University (2016)
Gareis, J.: Prototypical integration of the modal interface automata theory in Google Go. Master’s thesis, Bamberg University, Germany (2015)
Hennicker, R., Knapp, A.: Moving from interface theories to assembly theories. Acta Informatica 52(2–3), 235–268 (2015)
Křetínský, J., Sickert, S.: MoTraS: a tool for modal transition systems and their extensions. In: Van Hung, D., Ogawa, M. (eds.) ATVA 2013. LNCS, vol. 8172, pp. 487–491. Springer, Heidelberg (2013)
Larsen, K.G.: Modal specifications. In: Sifakis, J. (ed.) AVMFSS 1989. LNCS, vol. 407, pp. 232–246. Springer, Heidelberg (1989)
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 and ETAPS 2007. LNCS, vol. 4421, pp. 64–79. Springer, Heidelberg (2007)
Larsen, K.G., Xinxin, L.: Equation solving using modal transition systems. In: Logic in Computer Science (LICS), pp. 108–117. IEEE (1990)
Lohstroh, M., Lee, E.A.: An interface theory for the internet of things. In: Calinescu, R., Rumpe, B. (eds.) SEFM 2015. LNCS, vol. 9276, pp. 20–34. Springer, Heidelberg (2015)
Lüttgen, G., Vogler, W., Fendrich, S.: Richer interface automata with optimistic and pessimistic compatibility. Acta Informatica 52(4–5), 305–336 (2015)
Raclet, J.B., Badouel, E., Benveniste, A., Caillaud, B., Legay, A., Passerone, R.: A modal interface theory for component-based design. Fund. Inform. 108(1–2), 119–149 (2011)
Tripakis, S., Stergiou, C., Broy, M., Lee, E.A.: Error-completion in interface theories. In: Bartocci, E., Ramakrishnan, C.R. (eds.) SPIN 2013. LNCS, vol. 7976, pp. 358–375. Springer, Heidelberg (2013)
Acknowledgements
We are grateful to Ferenc Bujtor, Walter Vogler and the anonymous reviewers for their helpful suggestions.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Fendrich, S., Lüttgen, G. (2016). A Generalised Theory of Interface Automata, Component Compatibility and Error. In: Ábrahám, E., Huisman, M. (eds) Integrated Formal Methods. IFM 2016. Lecture Notes in Computer Science(), vol 9681. Springer, Cham. https://doi.org/10.1007/978-3-319-33693-0_11
Download citation
DOI: https://doi.org/10.1007/978-3-319-33693-0_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-33692-3
Online ISBN: 978-3-319-33693-0
eBook Packages: Computer ScienceComputer Science (R0)