Abstract
de Alfaro and Henzinger’s interface automata brought renewed vigor to the tasks of specifying software formally and reasoning about systems compositionally. The key ingredients to this approach were the separation of concerns between environment and implementation, a light-weight behavioral interface that enabled more comprehensive compatibility checks than those allowed by type checking, and the notion of optimistic composition of specifications. This new impetus helped launch a research program of formally analyzing and designing general cyber-physical systems compositionally, where contract-based design has been playing a fundamental role. In this paper, we discuss the path connecting interface automata to the theory of contracts, with a special emphasis on hypercontracts, a recent development of contract theory.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
To simplify our development, we assume that all interface automata share the same action alphabet.
- 2.
Since the sets of input and output actions for a given IA partition \(\varSigma \), this condition is equivalent to requiring that the two IA don’t share outputs.
References
Abadi, M., Lamport, L.: Composing specifications. ACM Trans. Program. Lang. Syst. 15(1), 73–132 (1993)
de Alfaro, L., Henzinger, T.A.: Interface automata. In: Proceedings of the 8th European Software Engineering Conference Held Jointly with 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 109–120 ESEC/FSE-9, Association for Computing Machinery, New York, NY, USA (2001)
de Alfaro, L., Henzinger, T.A., Stoelinga, M.: Timed interfaces. In: Sangiovanni-Vincentelli, A., Sifakis, J. (eds.) EMSOFT 2002. LNCS, vol. 2491, pp. 108–122. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45828-X_9
Alur, R., Henzinger, T.A., Kupferman, O., Vardi, M.Y.: Alternating refinement relations. In: Sangiorgi, D., de Simone, R. (eds.) CONCUR 1998. LNCS, vol. 1466, pp. 163–178. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0055622
Bartocci, E., Ferrère, T., Henzinger, T.A., Nickovic, D., Da Costa, A.O.: Information-flow interfaces. In: Johnsen, E.B., Wimmer, M. (eds.) Fundamental Approaches to Software Engineering. FASE 2022. LNCS, vol. 13241, pp. 3–22. Springer, Cham (2022). https://doi.org/10.1007/978-3-030-99429-7
Benveniste, A., Caillaud, B., Ferrari, A., Mangeruca, L., Passerone, R., Sofronis, C.: Multiple viewpoint contract-based specification and design. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2007. LNCS, vol. 5382, pp. 200–225. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-92188-2_9
Benveniste, A., et al.: Contracts for system design. Foundations and Trends® in Electronic Design Automation, vol. 12(2–3), pp. 124–400 (2018)
Chakrabarti, A., de Alfaro, L., Henzinger, T.A., Stoelinga, M.: Resource Interfaces. In: Alur, R., Lee, I. (eds.) EMSOFT 2003. LNCS, vol. 2855, pp. 117–133. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-45212-6_9
Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Kozen, D. (ed.) Logic of Programs 1981. LNCS, vol. 131, pp. 52–71. Springer, Heidelberg (1982). https://doi.org/10.1007/BFb0025774
Clarkson, M.R., Schneider, F.B.: Hyperproperties. J. Comput. Secur. 18(6), 1157–1210 (2010)
Damm, W.: Controlling speculative design processes using rich component models. In: Fifth International Conference on Application of Concurrency to System Design (ACSD2005), pp. 118–119 (2005)
David, A., Larsen, K.G., Legay, A., Nyman, U., Wasowski, A.: Timed I/O automata: a complete specification theory for real-time systems. In: Proceedings of the 13th ACM International Conference on Hybrid Systems: Computation and Control, pp. 91–100. HSCC 2010, Association for Computing Machinery, New York, NY, USA (2010)
Dijkstra, E.W.: Solution of a problem in concurrent programming control. Commun. ACM 8(9), 569 (1965)
Doyen, L., Henzinger, T.A., Jobstmann, B., Petrov, T.: Interface theories with component reuse. In: Proceedings of the 8th ACM International Conference on Embedded Software, pp. 79–88 EMSOFT 2008, Association for Computing Machinery, New York, NY, USA (2008)
Floyd, R.W.: Assigning meanings to programs. Proceed. Symp. Appl. Math. 19, 19–32 (1967)
Goguen, J.A., Meseguer, J.: Security policies and security models. In: 1982 IEEE Symposium on Security and Privacy. Oakland, CA, USA, April 26–28, 1982, pp. 11–20 IEEE Computer Society, Oakland, CA, USA (1982)
Harel, D., Pnueli, A.: On the development of reactive systems. In: Apt, K.R. (ed.) Logics and Models of Concurrent Systems. NATO ASI Series, vol. 13, pp. 477–498. Springer, Heidelberg (1985). https://doi.org/10.1007/978-3-642-82453-1_17
Henzinger, T.A., Jhala, R., Majumdar, R.: Permissive interfaces. SIGSOFT Softw. Eng. Notes 30(5), 31–40 (2005)
Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580 (1969)
Incer, I.: The algebra of contracts, Ph. D. thesis, EECS Department, University of California, Berkeley (2022)
Incer, I., Benveniste, A., Sangiovanni-Vincentelli, A., Seshia, S.A.: Hypercontracts. arXiv preprint arXiv:2106.02449 (2021)
Incer, I., Benveniste, A., Sangiovanni-Vincentelli, A., Seshia, S.A.: Hypercontracts. In: Deshmukh, J.V., Havelund, K., Perez, I. (eds.) NASA Formal Methods, pp. 674–692. Springer International Publishing, Cham (2022)
Lamport, L.: The computer science of concurrency: the early years. Commun. ACM 58(6), 71–76 (2015)
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). https://doi.org/10.1007/978-3-540-71316-6_6
Lynch, N.A., Tuttle, M.R.: An introduction to input/output automata. CWI Quarterly 2, 219–246 (1989)
Mastroeni, I., Pasqua, M.: Verifying bounded subset-closed hyperproperties. In: Podelski, A. (ed.) SAS 2018. LNCS, vol. 11002, pp. 263–283. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-99725-4_17
Negulescu, R.: Process spacess. Tech. Rep. CS-95-48, University of Waterloo (1995)
Parnas, D.L.: A technique for software module specification with examples. Commun. ACM 15(5), 330–336 (1972)
Passerone, R., Incer, I., Sangiovanni-Vincentelli, A.L.: Coherent extension, composition, and merging operators in contract models for system design. ACM Trans. Embed. Comput. Syst. 18(5s), 1–23 (2019)
Pnueli, A.: The temporal logic of programs. In: 18th Annual Symposium on Foundations of Computer Science (sfcs 1977)(FOCS), pp. 46–57 (1977)
Rabe, M.N.: A temporal logic approach to information-flow control, Ph. D. thesis, Universität des Saarlandes (2016)
Raclet, J.: Residual for component specifications. Electr. Notes Theor. Comput. Sci. 215, 93–110 (2008)
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)
Sangiovanni-Vincentelli, A., Damm, W., Passerone, R.: Taming Dr. Frankenstein: contract-based design for cyber-physical systems. Eur. J. Control 18(3), 217–238 (2012)
Sifakis, J.: Rigorous system design. Foundations and Trends® in Electronic Design Automation, vol. 6, no. 4, pp. 293–362 (2013)
Turing, A.M.: On checking a large routine. In: Report of a Conference on High-Speed Automatic Calculating Machines, pp. 67–69. University Mathematical Laboratory, Cambridge (1949)
Acknowledgments
This work was supported by NSF Contract CPS Medium 1739816, by the DARPA LOGiCS project under contract FA8750-20-C-0156, and by the Chateaubriand Fellowship of the Office for Science & Technology of the Embassy of France in the United States.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Incer, I., Benveniste, A., Sangiovanni-Vincentelli, A., Seshia, S.A. (2022). From Interface Automata to Hypercontracts. In: Raskin, JF., Chatterjee, K., Doyen, L., Majumdar, R. (eds) Principles of Systems Design. Lecture Notes in Computer Science, vol 13660. Springer, Cham. https://doi.org/10.1007/978-3-031-22337-2_23
Download citation
DOI: https://doi.org/10.1007/978-3-031-22337-2_23
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-22336-5
Online ISBN: 978-3-031-22337-2
eBook Packages: Computer ScienceComputer Science (R0)