Skip to main content
Log in

Formal methods for object-oriented software engineering

  • Published:
Annals of Software Engineering

Abstract

Object-Oriented (OO) methodologies are prevalent for developing software. The main tenet of OO software engineering methodologies is the development of three distinct, yet integrated, models of software: the object, dynamic, and functional models. The main problems associated with OO methodologies are weak semantics and lack of integration. Weak semantics allow ambiguous interpretations of behavior, while the lack of integration makes it difficult to establish consistency between and across the models. An important solution to rectify this semantic weakness in current OO methodologies is to use formal methods to specify the critical behavior of objects. Formal methods facilitate a precise description of the behavior of objects, and allow reasoning to ensure consistency and completeness. This paper presents the state-of-the-art in using formal methods for OO software engineering.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Alencar, A.J. and J. Goguen (1991), “OOZE: An Object-Oriented Z Environment”, InProceedings of the European Conference on Object Oriented Programming, Springer-Verlag, Berlin, Germany, pp. 180–199.

    Google Scholar 

  • Booch, G. (1994).Object-Oriented Analysis and Design with Applications, Benjamin Cummings, Redwood City, CA.

    Google Scholar 

  • Carrington, D. (1989), “Object-Z: an Object-Oriented Extension to Z”, InProceedings of the Conference on Formal Description Techniques, Springer-Verlag, Berlin, Germany, pp. 203–256.

    Google Scholar 

  • Coad, P. and E. Yourdon (1991),Object-Oriented Analysis, Yourdon Press/Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Coleman, D., P. Arnold, S. Bodoff, C. Dollin, H. Gilchrist, F. Hayes and P. Jeremaes (1994),Object-Oriented Development — The Fusion Method, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Coleman, D., F. Hayes and S. Bear (1992), “Introducing Objectcharts or How to Use Statecharts in Object-Oriented Design”,IEEE Transactions on Software Engineering 18, 1, 9–18.

    Google Scholar 

  • Cook, S. and J. Daniels (1994),Designing Object Systems, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Dodani, M. (1994), “Model-Based Specifications of Object-Oriented Software”,Report on Object Oriented Analysis and Design 1, 4, 8–12.

    Google Scholar 

  • Dodani, M. (1994), “Specifying Object-Oriented Software”,Report on Object Oriented Analysis and Design 1, 3, 33–37.

    Google Scholar 

  • Dodani, M. (1994), “Fusing Formal Methods with Object Oriented Software Engineering Methodologies”,Report on Object Oriented Analysis and Design 1, 2, 20–24.

    Google Scholar 

  • Dodani, M. (1994), “Semantically Rich Object-Oriented Software Engineering Methodologies”,Report on Object oriented Analysis and Design 1, 1, 17–21.

    Google Scholar 

  • Feijs, L.M.G. and H.B.M. Jonkers (1992),Formal Specification and Design, Cambridge University Press, Cambridge, United Kingdom.

    Google Scholar 

  • Goguen, J.A. and J. Meseguer (1988), “Unifying Functional, Object-Oriented and Relational Programming with Logical Semantics”, InResearch Directions in Object-Oriented Programming, MIT Press, Cambridge, MA.

    Google Scholar 

  • Harel, D. (1987). “Statecharts: A Visual Formalism for Complex Systems”,Science of Computer Programming 8, 231–274.

    Google Scholar 

  • Hayes, F. and D. Coleman (1991), “Coherent Models for Object-Oriented Analysis”,ACM SIGPLAN Notices 26, 11, 171–183.

    Google Scholar 

  • Jacobson, I., M. Christerson, P. Jonsson and G. Overgaard (1992),Object-Oriented Software Engineering: A Use-Case Driven Approach, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Lee, S.P. (1994), “A History-Based Semantic Framework for Object-Oriented Software Engineering Methodologies”, PhD Thesis, Department of Computer Science, University of Iowa, Iowa City, IA.

    Google Scholar 

  • Leeuwen, van J. (1990),The RAISE Specification Language, MIT Press, Cambridge, MA.

    Google Scholar 

  • Rumbaugh, J., M. Blaha, W. Premerlani, F. Eddy and W. Lorensen (1991),Object-Oriented Modeling and Design, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Shlaer, S. and S. Mellor (1988),Object-Oriented System Analysis, Yourdon Press/Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Wieringa, R. (1991), “Steps Towards a Method for the Formal Modeling of Dynamic Objects”,Data and Knowledge Engineering 6, 509–540.

    Google Scholar 

  • Wordsworth, J. (1992),Formal Specification in Z, Addison-Wesley, Reading, MA.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Dodani, M. Formal methods for object-oriented software engineering. Ann Software Eng 2, 121–160 (1996). https://doi.org/10.1007/BF02063808

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02063808

Keywords