Abstract
In order to improve software quality, specifiers can take advantage of the use of formal methods in the software development process. With regard to requirements specifications, attempts in this sense have been successfully made. We claim that also in the design phase a formal approach could lead to several benefits, such as the possibility of formally checking if the produced documents satisfy initial requirements. To this purpose we emphasize the role of tools since they provide automatic support to verification. Because of the different aims of the requirements and design specification phases, we believe appropriate the use of two different formal languages for their definition. The above considerations are gathered in the Clepsydra methodology, where a relationship between these early phases of the software development process is introduced, by using Z and Larch as formal languages for requirements and design specifications respectively. Moreover, verification issues are also discussed, by outlining how the introduced methodology makes easier the verifier's task.
Preview
Unable to display preview. Download preview PDF.
References
J. Bowen and M. Gordon. Z and HOL. 1994. URL ftp://ftp.cl.cam.ac.uk/hvg/papers/zhol.ps.gz.
P. Ciaccia and P. Ciancarini. A Course on Formal Methods in Software Engineering. In A. Finkelstein and B. Nuseibeh, editors, Proceedings ACM/IEEE International Workshop on Software Engineeering Education, pages 97–110, Sorrento, Italy, 1994.
A. Diller. Z: An Introduction to Formal Methods. Wiley, 1990.
D. Evans. LCLint User's Guide. MIT/LCS Distribution Site, February 1994.
S. Garland and J. Guttag. An Overview of LP, the Larch Prover. In Proc. 3rd Int. Conf. on Rewriting Techniques and Applications, volume 355 of LNCS, pages 137–151. Springer-Verlag, Berlin, 1989.
J. Guttag and J. Horning. Larch: Languages and Tools for Formal Specification. Springer-Verlag, 1993.
I. Hayes. Specification Case Studies. Prentice Hall, 2 edition, 1993.
M. Hewitt. Automated Animation of Z Using Prolog. B.Sc. Project Report, Department of Computing, Lancaster University, UK, August 1991.
C. Hoare. Preface. In D. Bjorner, C. Hoare, and H. Langmaack, editors, Proc. VDM 90: Formal Methods in Software Development, volume 428, pages vii–x, Kiel, Germany, 1990. Springer-Verlag, Berlin.
D. Jordan. CADiZ — Computer Aided Design in Z. In S. Prehn and W. Toetenel, editors, VDM 91: Formal Software Development Methods, volume 551, pages 685–690. Springer-Verlag, Berlin, October 1991.
R. Kemmerer. Testing Formal Specifications to Detect Design Errors. IEEE Transactions on Software Engineering, 11(1):32–43, January 1985.
S. King. Z and the Refinement Calculus. In D. Bjorner, C. Hoare, and H. Langmaack, editors, VDM and Z-FORMAL METHODS, volume 428 of LNCS, pages 164–188. Springer-Verlag, 1990.
B. Liskov and J. Guttag. Abstraction and Specification in Program Development. MIT Press, Cambridge, 1986.
J. Spivey. The Fuzz Manual. 1988.
J. Spivey. The Z Notation. A Reference Manual. Prentice Hall, 2 edition, 1992.
S. Stepney, R. Barden, and D. Cooper. Object-Orientation in Z. Springer Verlag, 1990.
J. Wing. Writing Larch Interface Language Specifications. ACM Transactions on Programming Languages and Systems, 9(1):1–24, January 1987.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ciaccia, P., Ciancarini, P., Penzo, W. (1995). A formal approach to software design: The Clepsydra methodology. In: Bowen, J.P., Hinchey, M.G. (eds) ZUM '95: The Z Formal Specification Notation. ZUM 1995. Lecture Notes in Computer Science, vol 967. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60271-2_110
Download citation
DOI: https://doi.org/10.1007/3-540-60271-2_110
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60271-2
Online ISBN: 978-3-540-44782-5
eBook Packages: Springer Book Archive