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.
References
D. Bjorner and C. B. Jones, “The Vienna Development Method: The Meta-Language”, Lecture Notes in Computer Science(61) (1978).
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).
H. Ehrig and B. Mahr, Fundamentals of Algebraic Specification 1, Springer-Verlag (1985).
D.B. MacQueen, “Modules for standard ML”, pp. 198–207 in Proc. 1984 ACM Symp. on Lisp and Functional Programming (1985).
C. C. Morgan, The schema language, Oxford, Programming Research Group (1985).
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).
D. Sannella and A. Tarlecki, “Specifications in an arbitrary institution”, CSR-184-85, University of Edinburgh, Dept. of Computer Science (March 1985).
D.T. Sannella, “Semantics, implementation and pragmatics of Clear, a program specification language”, CST-17-82, PhD thesis, University of Edinburgh (1982).
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).
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).
Author information
Authors and Affiliations
Editor information
Rights 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