Skip to main content

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

Abstract

This paper presents an overview of the technical foundations and current directions of Kestrel’s approach to mechanizing software development. The approach emphasizes machine-supported refinement of property-oriented specifications to code, based on a category of higher-order specifications. A key idea is representing knowledge about programming concepts, such as algorithm design, and datatype refinement by means of taxonomies of abstract design theories and refinements. Concrete refinements are generated by composing library refinements with a specification.

The framework is partially implemented in the research systems Specware, Designware, Epoxi, and Planware. Specware provides basic support for composing specifications and refinements via colimit, and for generating code via logic morphisms. Specware is intended to be general-purpose and has found use in industrial settings. Designware extends Specware with taxonomies of software design theories and support for constructing refinements from them. Epoxi builds on Designware to support the specification and refinement of systems. Planware transforms behavioral models of tasks and resources into high-performance scheduling algorithms. A few applications of these systems are presented.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Becker, M., Smith, D.R.: Planware: Synthesis of resource allocation algorithms. Tech. rep., Kestrel Institute (2002)

    Google Scholar 

  2. Blaine, L., Gilham, L., Liu, J., Smith, D., Westfold, S.: Planware – domain-specific synthesis of high-performance schedulers. In: Proceedings of the Thirteenth Automated Software Engineering Conference, October 1998, pp. 270–280. IEEE Computer Society Press, Los Alamitos (1998)

    Google Scholar 

  3. Burstall, R.M., Goguen, J.A.: The semantics of clear, a specification languge. In: Bjorner, D. (ed.) Abstract Software Specifications. LNCS, vol. 86. Springer, Heidelberg (1980)

    Google Scholar 

  4. Burstein, M., McDermott, D., Smith, D., Westfold, S.: Formal derivation of agent interoperation code. Journal of Autonomous Agents and Multi-Agent Systems (2001); earlier version in Proceedings of the Agents 2000 Conference, Barcelona, Spain (2000)

    Google Scholar 

  5. Goguen, J.A.: Categorical foundations for general systems theory. In: Pichler, F., Trappl, R. (eds.) Advances in Cybernetics and Systems Research, pp. 121–130. Transcripta Books (1973)

    Google Scholar 

  6. Gurevich, Y.: Evolving algebra 1993: Lipari guide. In: Boerger, E. (ed.) Specification and Validation Methods, pp. 9–36. Oxford University Press, Oxford (1995)

    Google Scholar 

  7. Fiadeiro, J.L., Lopes, A., Maibaum, T.: Synthesising interconnections. In: Bird, R., Meertens, L. (eds.) Algorithmic Languages and Calculi, London, pp. 240–264. Chapman & Hall, Boca Raton (1997)

    Google Scholar 

  8. Kutter, P.W.: State transitions modeled as refinements. Tech. Rep. KES.U.96.6, Kestrel Institute (August 1996)

    Google Scholar 

  9. Meseguer, J.: General logics. In: Ebbinghaus, H. (ed.) Logic Colloquium 87, pp. 275–329. North Holland, Amsterdam (1989)

    Google Scholar 

  10. Pavlovic, D.: Semantics of first order parametric specifications. In: Wing, J.M., Woodcock, J.C.P., Davies, J. (eds.) FM 1999. LNCS, vol. 1708, pp. 155–172. Springer, Heidelberg (1999)

    Google Scholar 

  11. Pavlovic, D., Smith, D.R.: Composition and refinement of behavioral specifications. In: Proceedings of Sixteenth International Conference on Automated Software Engineering, pp. 157–165. IEEE Computer Society Press, Los Alamitos (2001)

    Google Scholar 

  12. Pavlovic, D., Smith, D.R.: System construction via evolving specifications. In: Complex and Dynamic Systems Architectures, CDSA 2001 (2001)

    Google Scholar 

  13. Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, NJ (1996)

    MATH  Google Scholar 

  14. Smith, D.R.: Constructing specification morphisms. Journal of Symbolic Computation, Special Issue on Automatic Programming 15(5-6), 571–606 (1993)

    MATH  Google Scholar 

  15. Smith, D.R.: Toward a classification approach to design. In: Nivat, M., Wirsing, M. (eds.) AMAST 1996. LNCS, vol. 1101, pp. 62–84. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  16. Smith, D.R.: Mechanizing the development of software. In: Broy, M., Steinbrueggen, R. (eds.) Calculational System Design, Proceedings of the NATO Advanced Study Institute, pp. 251–292. IOS Press, Amsterdam (1999)

    Google Scholar 

  17. Smith, D.R.: Harbinger: Formal development of embedded systems. Tech. rep., Kestrel Institute (2002)

    Google Scholar 

  18. Srinivas, Y.V., Jüllig, R.: Specware: Formal support for composing software. In: Möller, B. (ed.) MPC 1995. LNCS, vol. 947, pp. 399–422. Springer, Heidelberg (1995)

    Google Scholar 

  19. Widmaier, J., Schmidts, C., Huang, X.: Producing more reliable software: Mature software engineering process vs. state-of-the-art technology? In: Proceedings of the International Conference on Software Engineering 2000, Limerick, Ireland, pp. 87–92. ACM, New York (2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Pavlovic, D., Smith, D.R. (2003). Software Development by Refinement. In: Aichernig, B.K., Maibaum, T. (eds) Formal Methods at the Crossroads. From Panacea to Foundational Support. Lecture Notes in Computer Science, vol 2757. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-40007-3_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-40007-3_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20527-2

  • Online ISBN: 978-3-540-40007-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics