skip to main content
article
Free Access

Reasoning about implicit invocation

Authors Info & Claims
Published:01 November 1998Publication History
Skip Abstract Section

Abstract

Implicit invocation [SN92, GN91] has become an important architectural style for large-scale system design and evolution. This paper addresses the lack of specification and verification formalisms for such systems. Based on standard notions from process algebra and trace semantics, we define a formal computational model for implicit invocation. A verification methodology is presented that supports linear time temporal logic and compositional reasoning. First, the entire system is partioned into groups of components (methods) that behave independently. Then, local properties are proved for each of the groups. A precise description of the cause and the effect of an event supports this step. Using local correctness, independence of groups, and properties of the delivery of events, we infer the desired property of the overall system. Two detailed examples illustrate the use of our framework.

References

  1. AAG95 G. Abowd, R. Allen, and D. Garlan. Formalizing style to understand descriptions of software architecture. ACM Transactions on Software Engineering and Methodology, October 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. BCTW96 D.J. Barrett, L.A. Clarke, P.L. Tar-r, and A.E. Wise. A framework for event-based software integration. ACM Transactions on Software Engineering and hfethodology, 5(4):37S-421, October 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. BG99 A. Berry and D. Garlan. Making architectural analysis reasonable. In Proceedings of First Ii'o&ing IFIP Conference on Software Architeture (WICSAl), February 1999. To appear.Google ScholarGoogle Scholar
  4. BJ89 K. Birman and Th. Joseph. Exploiting replication in distributed systems. In Mullender and Sape, editors, Distributed Systems, pages 319 - 365. Addison Wesley, 19S9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. BN84 A. Birrel and B. Nelson. Implementing remote procedure calls. ACM Transactions on Computer Systems, 2(1):356-372, February 1954. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. CM88 KM. Chandy and J. Misra. Parallel program design: a foundation. Addison Wesley, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Cor91 The Common Object Request Broker: Architecture and specification. OMG Document Number 91.12.1, December 1991. Revision 1.1 (Draft 10).Google ScholarGoogle Scholar
  8. DGJN98 J. Dingel, D. Garlan, S. Jha, and D. Notkin. Towards a formal treatment of implicit invocation using rely/guarantee reasoning. Formal Aspects of Computing, 199s. To appear.Google ScholarGoogle Scholar
  9. Dij76 E.W. Dijkstra. A Discipline of Programming. Prentice-Hall, Englewood Cliffs, NJ, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Din97 J. Dingel. Approximating UNITY. In Second International Conference on Coordination Models and Languages, LNCS 1252, pages 320-337. Springer Verlag, September 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. dR85 W.P. de Roever. The quest for compositionality - a survey of assertion-based proof systems for concurrent programs. Part I: Concurrency based on shared variables. In E. J. Neuhold and G. C&oust, editors, Formal Methods in Programming. IFIP, Elsevier Science Publishers, 1955.Google ScholarGoogle Scholar
  12. Ger89 C. Gerety. HP Softbench: A new generation of software development tools. Technical Report SESD-89-25, Hewlett-Packard Software Engineering Systems Division, Fort Collins, Colorado, November 1989.Google ScholarGoogle Scholar
  13. GHJV95 E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Design. Addison-Wesley, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. GKN92 D. Garlan, G.E. Kaiser, and D. Notkin. Using tool abstraction to compose systems. IEEE Computer, 25(6), June 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. GN91 D. Garlan and D. Notkin. Formalizing design spaces: Implicit invocation mechanisms. In VDM'91: Formal Software Development Methods, pages 31-44, Noordwijkerhout, The Netherlands, October 1991. Springer-Verlag, LNCS 551. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Gol84 A. Goldberg. Smalltalk- - The Interactive Programming Enwironment. Addison-Wesley, Reading, MA, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. GZ97 D. Gelernter and L. Zuck. On what Iinda is: Formal description of Linda as a reactive system. In Second International Conference on Coordination Models and Languages, LNCS 1282, pages 187-204. Springer Verlag, September 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Hoa69 C.A.R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10), October 1969. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Hoa85 C.A.R. Hoare. Communicating Sequential Processes. Prentice Ha& 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. ISO87 ISO. Information processing systems - open systems interconnection - LOTOS - a formal description technique based on the temporal ordering of observational behaviour. Technical Report ISO/TC 97/SC 21, International Standards Organization, 1987.Google ScholarGoogle Scholar
  21. Jon83 C.B. Jones. Tentative steps toward a development method for interfering programs. Transactions on Programming Languages and Systems, 5(4):569+X9, October 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Jub98 H. J&m. Javabeans by example. Upper Saddle River: Prentice Ha& 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. KP88 G.E. Kramer and S.T. Pope. A cookbook for using the model-view-controller user interface paradigm in SmaIItaIk-80. Journal of Object Oriented Programming, 1(3):26-49, August/September 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Mil80 R. Mimer. A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer Verlag, 1980.Google ScholarGoogle Scholar
  25. OG76 S. Owicki and D. Gries. Verifying properties of parahel programs: an axiomatic approach. Communications of the ACM, 19(5):279-284, May 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Rei90 S.P. Reiss. Connecting tools using message passing in the FIELD program development environment. IEEE Software, July 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. San90 B.A. Sanders. Stepwise refinement of mixed specifications of concurrent programs. In M. Broy and C.B. Jones, editors, Proceedings of IFIP Working Conference on Programming and Methods, pages l-25. EIsevier Science Publishers (North Holland), May 1990.Google ScholarGoogle Scholar
  28. SN92 K. Sullivan and D. Notkin. Reconciling environment integration and component independence. ACM Transactions on Software Engineering and Methodology, l(3), July 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Sun93 SunSoft. Tooltalk 1.1.1 Users's Guide, November 1993.Google ScholarGoogle Scholar

Index Terms

  1. Reasoning about implicit invocation

            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

            Full Access

            • Published in

              cover image ACM SIGSOFT Software Engineering Notes
              ACM SIGSOFT Software Engineering Notes  Volume 23, Issue 6
              Nov. 1998
              248 pages
              ISSN:0163-5948
              DOI:10.1145/291252
              Issue’s Table of Contents
              • cover image ACM Conferences
                SIGSOFT '98/FSE-6: Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
                November 1998
                248 pages
                ISBN:1581131089
                DOI:10.1145/288195

              Copyright © 1998 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 November 1998

              Check for updates

              Qualifiers

              • article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader