Skip to main content

The village telephone system: A case study in formal software engineering

  • Refereed Papers
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1479))

Abstract

In this paper we illustrate the use of formal methods in the development of a benchmark application we call the Village Telephone System which is characteristic of a class of network and telecommunication protocols. The aim is to show an effective integration of methodology and tools in a software engineering task that proceeds from user-level requirements to an implementation. In particular, we employ a general methodology which we advocate for requirements capture and refinement based on a treatment of designated terminology, domain knowledge, requirements, specifications, and implementation. We show how a general-purpose theorem prover (HOL) can provide formal support for all of these components and how a model checker (Mocha) can provide formal support for the specifications and implementation. We develop a new HOL theory of inductive sequences that is suited to modelling reactive systems and provides a common basis for interoperability between HOL and Mocha.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R. Alur and T.A. Henzinger. Reactive modules. In Proceedings of the 11th IEEE Symposium on Logic in Computer Science, pages 207–218, 1996.

    Google Scholar 

  2. R. Alur, T.A. Henzinger, F. Mang, S. Qadeer, S. Rajamani, and S. Tasiran. Mocha: Modularity in Model Checking. To appear in the Conference on Computer Aided Verification, 1998.

    Google Scholar 

  3. Marco Defillers, David Griffioen, and Olaf Müller. Possibly infinite sequences in theorem provers: A comparative study. In Lecture Notes in Computer Science 1275: Proceedings of the 10th International Conference, TPHOLs '97. Springer, 1997.

    Google Scholar 

  4. Carl A. Gunter, Elsa L. Gunter, Michael Jackson, and Pamela Zave. A reference model for requirements and specifications. Available by request, 1998.

    Google Scholar 

  5. Michael Jackson and Pamela Zave. Domain descriptions. In Proceedings of the IEEE International Symposium on Requirements Engineering, pages 56–64. IEEE Computer Society Press, 1992.

    Google Scholar 

  6. Michael Jackson and Pamela Zave. Deriving specifications from requirements: An example. In Proceedings of the Seventeenth International Conference on Software Engineering, pages 15–24. IEEE Computer Society Press, 1995.

    Google Scholar 

  7. Pamela Zave and Michael Jackson. Four dark corners of requirements engineering. ACM Transactions on Software Engineering and Methodology, 6(1):1–30, January 1997.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jim Grundy Malcolm Newey

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bhargavan, K., Gunter, C.A., Gunter, E.L., Jackson, M., Obradovic, D., Zave, P. (1998). The village telephone system: A case study in formal software engineering. In: Grundy, J., Newey, M. (eds) Theorem Proving in Higher Order Logics. TPHOLs 1998. Lecture Notes in Computer Science, vol 1479. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0055129

Download citation

  • DOI: https://doi.org/10.1007/BFb0055129

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64987-8

  • Online ISBN: 978-3-540-49801-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics