Abstract
We study a method for software construction that is based on introducing new features to an evolving system one by one. A layered software architecture is proposed to support this method. We show how to describe the software with UML diagrams. We provide an exact semanticsfor the UML diagramsemplo yed in the software architecture, using refinement calculusasthe logical framework and show how to reason about software correctness in terms of these UML diagrams.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
R.J. Back. Correctness Preserving Program Refinements: Proof Theory and Applications, volume 131 of Mathematical Centre Tracts. Mathematical Centre, Amsterdam, 1980.
R.J. Back. A calculusof refinementsfor program derivations. Acta Informatica, 25:593–624, 1988.
.R.J. Back. Refinement diagrams. J. M. Morris and R. C. Shaw, editors, 4th Refinement Workshop, pages125–137, Cambridge, UK, January 1991. Springer-Verlag.
R.J. Back, L. Milovanov, I. Porres-Paltor and V. Preoteasa. A Case Study in Extreme Programming and Stepwise Feature Introduction. TUCS Technical Report, in preparation.
R.J. Back, L. Milovanov and V. Preoteasa. Testing layered software. TUCS Technical Report, in preparation.
R.J. Back, A. Mikhajlova and J. von Wright. Class Refinement as Semantics of Correct Object Substitutability. Formal Aspects of Computing, 12: 18–40, 2000.
R.J. Back and V. Preoteasa. Layered Specifications: A Case Study. TUCS Technical Report, in preparation.
R.J. Back and K. Sere. Superposition Refinement of Reactive Systems. Formal Aspects of Computing, 8(3):324–346, 1996.
R.J. Back and J. von Wright. Refinement Calculus: A Systematic Introduction. Springer-Verlag, 1998.
R. J. Back and J. von Wright. Encoding, decoding, and data refinement. Formal Aspects of Computing, 2000.
K. Beck. Extreme Programming Explained Addison-Wesley, the XP Series, 1999.
G. Booch, J. Rumbaugh and I. Jacobson. The Unified Modeling Language User Guide. Addison-Wesley, 1998.
E.W. Dijkstra. Notes on structured programming. In O. Dahl, E.W. Dijkstra, and C.A.R. Hoare, editors, Structured Programming. Academic Press, 1971.
M. Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley Object Technology Series 2000.
B. Meyer. Object-Oriented Software Construction, Prentice Hall, second edition, 1997.
W.P. de Roever and K. Engelhardt. Data Refinement: Model-Oriented Proof Methods and their Comparison. Cambridge Tractsin Theoretical Computer Science 47, 1998.
C.C. Morgan. Programming from Specifications. Prentice-Hall, 1990.
N. Wirth. Program development by stepwise refinement. Communications of the ACM, 14:221–227, 1971.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Back, RJ. (2002). Software Construction by Stepwise Feature Introduction. In: Bert, D., Bowen, J.P., Henson, M.C., Robinson, K. (eds) ZB 2002:Formal Specification and Development in Z and B. ZB 2002. Lecture Notes in Computer Science, vol 2272. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45648-1_9
Download citation
DOI: https://doi.org/10.1007/3-540-45648-1_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43166-4
Online ISBN: 978-3-540-45648-3
eBook Packages: Springer Book Archive