Frontiers of Computer Science in China

, Volume 5, Issue 1, pp 1–13 | Cite as

Property transformation under specification change

Research Article


Formal specifications of software systems need to evolve in many ways during system development. Not only are changes required to refine the specification toward an implementation, they are also required in response to changes in requirements, or to incorporate different aspects of the system, e.g., fault tolerance or timing, initially ignored in order to simplify reasoning. This paper presents an approach for evolving Z specifications by the step-wise application of a number of simple rules. These rules not only document the evolution of the specification, but also make precise how properties of the system evolve with the specification. Hence, reasoning about these properties performed on the original specification need not be repeated on the new specification.


formal methods refinement temporal logic system property 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Woodcock J C P, Davies J. Using Z: Specification, Refinement, and Proof. New Jersey: Prentice Hall, 1996MATHGoogle Scholar
  2. 2.
    Morgan C C. Programming From Specifications. New Jersey: Prentice Hall, 1990MATHGoogle Scholar
  3. 3.
    de Roever W P, Engelhardt K. Data Refinement: Model-Oriented Proof Methods and Their Comparison. New York: Cambridge University Press, 1998MATHCrossRefGoogle Scholar
  4. 4.
    Swartout W, Balzer R. On the inevitable intertwining of specification and implementation. Communications of the ACM, 1982, 25(7): 438–440CrossRefGoogle Scholar
  5. 5.
    van Schouwen A J, Parnas D, Madey J. Documentation of requirements for computer systems. In: Proceedings of 1st IEEE Symposium on Requirements Engineering. 1993, 198–207Google Scholar
  6. 6.
    Hayes I J, Sanders J W. Specification by interface separation. Formal Aspects of Computing, 1995, 7(4): 430–439MATHCrossRefGoogle Scholar
  7. 7.
    Guerra S. Defaults in the specification of reactive systems. Dissertation for the Doctoral Degree. London: University College London, 1999Google Scholar
  8. 8.
    Bredereke J. Families of formal requirements in telephone switching. In: Calder M, Magill E H, eds. Feature Interactions in Telecommunications and Software Systems. IOS Press, 2000, 257–273Google Scholar
  9. 9.
    van Lamsweerde A, Darimont R, Massonet P. Goaldirected elaboration of requirements for a meeting scheduler: Problems and lessons learnt. In: Proceedings of 2nd IEEE Symposium on Requirements Engineering. 1995, 194–203Google Scholar
  10. 10.
    Liu S. Evolution: A more practical approach than refinement for software development. In: Proceedings of 1997 IEEE International Conference on Engineering of Complex Computer Systems. 1997, 142–151Google Scholar
  11. 11.
    Smith G. Stepwise development from ideal specifications. In: Proceedings of 23rd Australasian Computer Science Conference. 2000, 227–233Google Scholar
  12. 12.
    Banach R, Poppleton M, Jeske C, Stepney S. Engineering and theoretical underpinnings of retrenchment. Science of Computer Programming, 2007, 67(2–3): 301–329MathSciNetMATHCrossRefGoogle Scholar
  13. 13.
    Emerson E A. Temporal and Modal Logic. Handbook of Theoretical Computer Science (Vol. B): Formal Models and Semantics. Cambridge: MIT Press, 1990, 995–1072Google Scholar
  14. 14.
    Smith G, Winter K. Proving temporal properties of Z specifications using abstraction. In: Proceedings of 3rd International Conference of Z and B Users. 2003, 260–270Google Scholar
  15. 15.
    Smith G, Wildman L. Model checking Z specifications using SAL. In: Proceedings of 4th International Conference of Z and B Users. 2005, 85–103Google Scholar
  16. 16.
    Derrick J, Boiten E. Refinement in Z and Object-Z: Foundations and Advanced Applications. London: Springer-Verlag, 2001MATHGoogle Scholar
  17. 17.
    Fu Z, Smith G. Towards more flexible development of Z specifications. In: Proceedings of 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering. 2008, 281–288Google Scholar
  18. 18.
    Peterson G L. Myths about the mutual exclusion problem. Information Processing Letters, 1981, 12(3): 115–116MATHCrossRefGoogle Scholar
  19. 19.
    Smith G. The Object-Z Specification Language. Hingham: Kluwer Academic Publishers, 2000MATHGoogle Scholar
  20. 20.
    Derrick J, Smith G. Linear temporal logic and Z refinement. In: Proceedings of 10th International Conference on Algebraic Methodology and Software Technology. 2004, 117–131Google Scholar
  21. 21.
    McComb T, Smith G. A minimal set of refactoring rules for Object-Z. In: Proceedings of 10th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems. 2008, 170–184Google Scholar

Copyright information

© Higher Education Press and Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  1. 1.School of Information Technology and Electrical EngineeringThe University of QueenslandQLDAustralia

Personalised recommendations