Error-Completion in Interface Theories

  • Stavros Tripakis
  • Christos Stergiou
  • Manfred Broy
  • Edward A. Lee
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7976)

Abstract

Interface theories are compositional theories where components are represented as abstract, formal interfaces which describe the component’s input/output behavior. A key characteristic of interface theories is that interfaces are non-input-complete, meaning that they allow specification of illegal inputs. As a result of non-input-completeness, interface theories use game-theoretic definitions of composition and refinement, which are both conceptually and computationally more complicated than standard notions of composition and refinement that work with input-complete models. In this paper we propose a lossless transformation, called error-completion, which allows to transform a non-input-complete interface into an input-complete interface while preserving and allowing to retrieve completely the information on illegal inputs. We show how to perform composition of relational interfaces on the error-complete domain. We also show that refinement of such interfaces is equivalent to standard implication of their error-completions.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abrial, J.-R.: The B-book: assigning programs to meanings. Cambridge University Press, New York (1996)MATHCrossRefGoogle Scholar
  2. 2.
    Alur, R., Henzinger, T.: Reactive modules. Formal Methods in System Design 15, 7–48 (1999)CrossRefGoogle Scholar
  3. 3.
    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)CrossRefGoogle Scholar
  4. 4.
    Back, R.-J., Wright, J.: Refinement Calculus. Springer (1998)Google Scholar
  5. 5.
    Broy, M.: Compositional refinement of interactive systems. J. ACM 44(6), 850–891 (1997)MathSciNetMATHCrossRefGoogle Scholar
  6. 6.
    Broy, M., Stølen, K.: Specification and development of interactive systems: focus on streams, interfaces, and refinement. Springer (2001)Google Scholar
  7. 7.
    Chakrabarti, A., de Alfaro, L., Henzinger, T.A., Mang, F.Y.C.: Synchronous and bidirectional component interfaces. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 414–427. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  8. 8.
    de Alfaro, L.: Game models for open systems. In: Dershowitz, N. (ed.) Verification: Theory and Practice. LNCS, vol. 2772, pp. 269–289. Springer, Heidelberg (2004)Google Scholar
  9. 9.
    de Alfaro, L., Henzinger, T.: Interface automata. In: Foundations of Software Engineering, FSE. ACM Press (2001)Google Scholar
  10. 10.
    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)CrossRefGoogle Scholar
  11. 11.
    Doyen, L., Henzinger, T., Jobstmann, B., Petrov, T.: Interface theories with component reuse. In: 8th ACM & IEEE International Conference on Embedded Software, EMSOFT, pp. 79–88 (2008)Google Scholar
  12. 12.
    Geilen, M., Tripakis, S., Wiggers, M.: The Earlier the Better: A Theory of Timed Actor Interfaces. In: 14th Intl. Conf. Hybrid Systems: Computation and Control, HSCC 2011. ACM (2011)Google Scholar
  13. 13.
    Hehner, E.C.R., Parnas, D.L.: Technical correspondence. Commun. ACM 28(5), 534–538 (1985)CrossRefGoogle Scholar
  14. 14.
    Hoare, C.A.R.: Programs are predicates. In: Proc. of a Discussion Meeting of the Royal Society of London on Mathematical Logic and Programming Languages, pp. 141–155. Prentice-Hall, Inc., Upper Saddle River (1985)Google Scholar
  15. 15.
    Liskov, B.: Modular program construction using abstractions. In: Bjorner, D. (ed.) Abstract Software Specifications. LNCS, vol. 86, pp. 354–389. Springer, Heidelberg (1980)CrossRefGoogle Scholar
  16. 16.
    Lynch, N.A., Tuttle, M.R.: An introduction to input/output automata. CWI Quarterly 2, 219–246 (1989)MathSciNetMATHGoogle Scholar
  17. 17.
    Meyer, B.: Applying “design by contract”. Computer 25(10), 40–51 (1992)CrossRefGoogle Scholar
  18. 18.
    Nelson, G.: A generalization of dijkstra’s calculus. ACM Trans. Program. Lang. Syst. 11(4), 517–561 (1989)CrossRefGoogle Scholar
  19. 19.
    Parnas, D.L.: A generalized control structure and its formal definition. Commun. ACM 26(8), 572–581 (1983)MATHCrossRefGoogle Scholar
  20. 20.
    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)MathSciNetMATHGoogle Scholar
  21. 21.
    Spivey, J.M.: The Z notation: a reference manual. Prentice-Hall, Inc., Upper Saddle River (1989)MATHGoogle Scholar
  22. 22.
    Tripakis, S., Lickly, B., Henzinger, T.A., Lee, E.A.: A theory of synchronous relational interfaces. ACM Transactions on Programming Languages and Systems (TOPLAS) 33(4) (July 2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Stavros Tripakis
    • 1
  • Christos Stergiou
    • 1
  • Manfred Broy
    • 2
  • Edward A. Lee
    • 1
  1. 1.University of CaliforniaBerkeley
  2. 2.TU MunichGermany

Personalised recommendations