skip to main content
10.1145/503209.503226acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Interface automata

Authors Info & Claims
Published:01 September 2001Publication History

ABSTRACT

Conventional type systems specify interfaces in terms of values and domains. We present a light-weight formalism that captures the temporal aspects of software component interfaces. Specifically, we use an automata-based language to capture both input assumptions about the order in which the methods of a component are called, and output guarantees about the order in which the component calls external methods. The formalism supports automatic compatability checks between interface models, and thus constitutes a type system for component interaction. Unlike traditional uses of automata, our formalism is based on an optimistic approach to composition, and on an alternating approach to design refinement. According to the optimistic approach, two components are compatible if there is some environment that can make them work together. According to the alternating approach, one interface refines another if it has weaker input assumptions, and stronger output guarantees. We show that these notions have game-theoretic foundations that lead to efficient algorithms for checking compatibility and refinement.

References

  1. 1.R. Allen and D. Garland. Formalizing architectural connection. In Proc. 16th IEEE Conf. Software Engineering, pages 71-80, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.R. Alur, T. Henzinger, O. Kupferman, and M. Vardi. Alternating refinement relations. In Concurrency Theory, Lecture Notes in Computer Science 1466, pages 163-178. Springer-Verlag, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.L. de Alfaro, T. Henzinger, and F. Mang. Detecting errors before reaching them. In Computer-Aided Verification, Lecture Notes in Computer Science 1855, pages 186-201. Springer-Verlag, 2000. Google ScholarGoogle Scholar
  4. 4.D. Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8:231-274, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.D. Jackson. Enforcing design constraints with object logic. In Static Analysis Sumposium, Lecture Notes in Computer Science 1824, pages 1-21. Springer-Verlag, 2000. Google ScholarGoogle Scholar
  6. 6.O. Kupferman and M. Vardi. Verification of fair transition systems. Chicago J. Theoretical Computer Science, 2, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.E. Lee and Y. Xiong. System-level Types for Component-based Design. Technical Memorandum UCB/ERL M00/8, Electronics Research Lab, University of California, Berkeley, 2000.Google ScholarGoogle Scholar
  8. 8.N. Leveson. System Safety and Computers. Addison-Wesley, 1995. Google ScholarGoogle Scholar
  9. 9.N. Lynch and M. Tuttle. Hierarcical correctness proofs for distributed algorithms. In Proc. 6th ACM Symp. Principles of Distributed Computing, pages 137-151, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.R. Milner. An algebraic definition of simulation between programs. In Proc. 2nd International Joint Conference onArtificial Intelligence, pages 481-489. The British Computer Society, 1971.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.J. Reif. The complexity oftwo-player games of incomplete information. J. Computer and System Sciences, 29:274-301, 1984.Google ScholarGoogle ScholarCross RefCross Ref
  12. 12.J. Rumbaugh, G. Booch, and I. Jacobson. The UML Reference Guide. Addison-Wesley, 1999.Google ScholarGoogle Scholar
  13. 13.D. Yellin and R. Strom. Protocol specifications and component adapters. ACM Trans. Programming Languages and Systems, 19:292-333, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Interface automata

                    Recommendations

                    Comments

                    Login options

                    Check if you have access through your login credentials or your institution to get full access on this article.

                    Sign in
                    • Published in

                      cover image ACM Conferences
                      ESEC/FSE-9: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
                      September 2001
                      329 pages
                      ISBN:1581133901
                      DOI:10.1145/503209
                      • Conference Chairs:
                      • A. Min Tjoa,
                      • Volker Gruhn
                      • cover image ACM SIGSOFT Software Engineering Notes
                        ACM SIGSOFT Software Engineering Notes  Volume 26, Issue 5
                        Sept. 2001
                        329 pages
                        ISSN:0163-5948
                        DOI:10.1145/503271
                        Issue’s Table of Contents

                      Copyright © 2001 ACM

                      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                      Publisher

                      Association for Computing Machinery

                      New York, NY, United States

                      Publication History

                      • Published: 1 September 2001

                      Permissions

                      Request permissions about this article.

                      Request Permissions

                      Check for updates

                      Qualifiers

                      • Article

                      Acceptance Rates

                      ESEC/FSE-9 Paper Acceptance Rate29of137submissions,21%Overall Acceptance Rate112of543submissions,21%

                      Upcoming Conference

                      FSE '24

                    PDF Format

                    View or Download as a PDF file.

                    PDF

                    eReader

                    View online with eReader.

                    eReader