Skip to main content

Software engineering implications for formal refinement

  • Formal Approaches
  • Conference paper
  • First Online:

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

Abstract

Formal methods are widely proposed as an important part of the software design process, but the design of large systems imposes software engineering constraints on the refinement of these specifications into coded modules. The need to separate the role of system building from the refinement of particular components means that relationships between specification units during the refinement process must be reified (that is made into objects) in the software development data-base. The traditional quasi-independent development of system modules can be applied more strongly in the presence of formal specifications, but care must be taken in order to retain the goal of proportionate effort between requirements changes and redevelopment cost. Two ways of addressing these requirements are proposed, the presence of semantic interfaces between specification components as database objects and the use of shared parameters to generic specifications to represent shared sub-specification. In both these cases the interface specification forms the focus of negotiation for shared design decisions. In addition a higher level structuring concept is introduced, the collection which describes the requirements for a set of modules and their inter-relationship.

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. D. Bjorner and C. B. Jones, “The Vienna Development Method: The Meta-Language”, Lecture Notes in Computer Science(61) (1978).

    Google Scholar 

  2. A.J. Dix and M.D. Harrison, “Interactive systems design and formal development are incompatible?”, in Proceedings 1988 Refinement Workshop, ed. J McDermid, (to appear Butterworth Scientific) (1989).

    Google Scholar 

  3. H. Ehrig and B. Mahr, Fundamentals of Algebraic Specification 1, Springer-Verlag (1985).

    Google Scholar 

  4. D.B. MacQueen, “Modules for standard ML”, pp. 198–207 in Proc. 1984 ACM Symp. on Lisp and Functional Programming (1985).

    Google Scholar 

  5. C. C. Morgan, The schema language, Oxford, Programming Research Group (1985).

    Google Scholar 

  6. D.L. Parnas, P.C. Clements, and D.M. Weiss, “The modular structure of complex systems”, pp. 408–417 in 7th International Conference on Software Engineering (1984).

    Google Scholar 

  7. D. Sannella and A. Tarlecki, “Specifications in an arbitrary institution”, CSR-184-85, University of Edinburgh, Dept. of Computer Science (March 1985).

    Google Scholar 

  8. D.T. Sannella, “Semantics, implementation and pragmatics of Clear, a program specification language”, CST-17-82, PhD thesis, University of Edinburgh (1982).

    Google Scholar 

  9. D.T. Sannella and A. Tarlecki, “Extended ML: an institution-independent framework for formal program development”, in Proc. Workshop on Category Theory and Computer Programming, Springer (1986).

    Google Scholar 

  10. D.T. Sannella and A. Tarlecki, “Toward formal development of programs from algebraic specifications: implementations revisited”, in Proc. 12th Colloq on Trees in Algebra and Programming, Springer (1987).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

C. Ghezzi J. A. McDermid

Rights and permissions

Reprints and permissions

Copyright information

© 1989 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dix, A. (1989). Software engineering implications for formal refinement. In: Ghezzi, C., McDermid, J.A. (eds) ESEC '89. ESEC 1989. Lecture Notes in Computer Science, vol 387. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51635-2_43

Download citation

  • DOI: https://doi.org/10.1007/3-540-51635-2_43

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-51635-4

  • Online ISBN: 978-3-540-46723-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics