Skip to main content
Log in

Object modelling languages: An evaluation and some key expectations for the future

  • Published:
Annals of Software Engineering

Abstract

Object modelling languages are graphical semi-formal specification languages. They are tools to capture and formalise requirements in the earlier phases of software development, as well as providing support for describing designs, software architecture and even detailed implementations later in the process. One can consider these languages to have reached some level of maturity, especially because their precursors, the Object-Oriented Analysis and Design methods, have now been used and tested intensively in industry for many years. In addition, these modelling languages have been the subject of many improvements by the scientific community. Nevertheless, some dissatisfaction persists. In this paper, we aim to re-analyse several parts of the deep structure of two leading object modelling languages: OML and UML, in order to show how they can really increase software quality. Their structure is based on metamodelling, which is the way the semantics of these two languages is expressed. This structure is also the source of a proliferation of modelling constructs (for example, different forms of inheritance associated with distinct notational elements) whose use must clearly influence, in particular, reusability — a key expectation in a software engineering process. More generally, we identify some deficiencies in these languages, which allows us to highlight some appropriate evolutionary paths. In discussing dynamic metamodelling and scalability, we specifically outline that a main current drawback is the difficulty of implementing these languages in Computer-Aided Software Engineering tools.

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

Access this article

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

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Aksit, M. and L. Bergmans (1992), "Obstacles in Object-Oriented Software Development," ACM Sigplan Notices 27, 10, 341–358.

    Article  Google Scholar 

  • Allen, A. and D. de Champeaux (1995), "Extending the Statechart Formalism: Event Scheduling & Disposition," ACM Sigplan Notices 30, 10, 1–16.

    Article  Google Scholar 

  • Alabiso, B. (1988), "Transformation of Data Flow Analysis Models to Object-Oriented Design," ACM Sigplan Notices 23, 11, 335–353.

    Article  Google Scholar 

  • Barbier, F., H. Briand, B. Dano, and S. Rideau (1998), "The Executability of Object-Oriented Finite State Machines," Journal of Object-Oriented Programming 11, 4, 16–24.

    Google Scholar 

  • Booch, G. (1986), "Object-Oriented Development," IEEE Transactions on Software Engineering 12, 2, 5–15.

    Google Scholar 

  • Booch, G. (1994), Object-Oriented Analysis and Design with Applications, 2nd Edition, Addison-Wesley, Reading, MA.

    Google Scholar 

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

    Google Scholar 

  • Civello, F. (1993), "Roles for Composite Objects in Object-Oriented Analysis and Design," ACM Sigplan Notices 28, 10, 376–393.

    Article  Google Scholar 

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

    Google Scholar 

  • Coad, P. (1992), "Object-Oriented Patterns," Communications of the ACM 35, 9, 152–159.

    Article  Google Scholar 

  • Coad, P. and E. Yourdon (1991), OOA, Object-Oriented Analysis, 2nd Edition, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Danforth, S. and C. Tomlinson (1988), "Type Theories and Object-Oriented Programming," ACM Computing Surveys 20, 1, 29–72.

    Article  MATH  MathSciNet  Google Scholar 

  • Dano, B., H. Briand, and F. Barbier (1997), "A Use Case Driven Requirements Engineering Process," Requirements Engineering 2, 2, 79–91.

    Google Scholar 

  • Dong, J. S. and R. Duke (1995), "The Geometry of Object Containment," Object Oriented Systems 2, 1, 41–63.

    Google Scholar 

  • Ellsberger, J., D. Hogrefe, and A. Sarma (1997), SDL, Formal Object-Oriented Language for Communicating Systems, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Firesmith, D. (1993), Object-Oriented Requirements Analysis and Logical Design, A Software Engineering Approach, Wiley, New York.

    Google Scholar 

  • Firesmith, D. and B. Henderson-Sellers (1998), "Upgrading OML to Version 1.1: Referential Relationships," Journal of Object-Oriented Programming 11, 3, 48–57.

    Google Scholar 

  • Firesmith, D., B. Henderson-Sellers and I. Graham (1997), OPEN Modeling Language (OML) Reference Manual, SIGS Books, Cambridge University Press, Cambridge, MA.

    Google Scholar 

  • Fowler, M. (1997), Analysis Patterns, Reusable Object Models, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Gamma, E., R. Helm, R. Johnson, and J. Vlissides (1995), Design Patterns, Elements of Reusable Object-Oriented Software, Addison-Wesley.

  • Graham, I. (1995), Migrating to Object Technology, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Graham, I. (1996), "Task Scripts, Use Cases and Scenarios in Object-Oriented Analysis," Object Oriented Systems 3, 3, 123–142.

    Google Scholar 

  • Graham, I., J. Bischof, and B. Henderson-Sellers (1997), "Associations Considered a Bad Thing," Journal of Object-Oriented Programming9, 9, 41–48.

    Google Scholar 

  • Graham, I., B. Henderson-Sellers, and H. Younessi (1997), The OPEN Process Specification, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Harel, D. and E. Gery (1997), "Executable Object Modeling with Statecharts," IEEE Computer 30, 7, 31–42.

    Google Scholar 

  • Henderson-Sellers, B. (1992), A Book on Object-Oriented Knowledge, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Henderson-Sellers, B. (1996), Object-Oriented Metrics: Measures of Complexity, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Henderson-Sellers, B. (1997), "OPEN Relationships-Compositions and Containments," Journal of Object-Oriented Programming 10, 7, 51–55, 72.

    Google Scholar 

  • Henderson-Sellers, B. and A. Bulthuis (1998), Object-Oriented Metamethods, Springer, Berlin.

    Google Scholar 

  • Henderson-Sellers, B. and J. Edwards (1994), BOOKTWO on Object-Oriented Knowledge: The Working Object, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Henderson-Sellers, B. and D. Firesmith (1999), "Comparing OPEN and UML: the two third-generation OO development approaches," Information and Software Technology 41, 3, 139–156.

    Article  Google Scholar 

  • Henderson-Sellers, B., A. Simons, and H. Younessi (1998), The OPEN Toolbox of Techniques, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Hutt, A. (1994),Object Analysis and Design, Description of Methods, Wiley, New York.

    Google Scholar 

  • Hutt, A. (1994), Object Analysis and Design, Comparison of Methods, Wiley, New York.

    Google Scholar 

  • Jackson, M. (1983), System Development, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Jacobson, I., G. Booch, and J. Rumbaugh (1999), The Unified Software Development Process, Addison-Wesley, Reading, MA.

    Google Scholar 

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

    Google Scholar 

  • Lieberherr, K. (1996), Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns, PWS.

  • Mellor, S., S. Shlaer, G. Booch, J. Rumbaugh, J. Salmons, T. Babitsky, S. Adams, and R. Wirfs-Brock (1993), "Premature Methods Standardization Considered Harmful," Journal of Object-Oriented Programming 6, 4.

    Google Scholar 

  • Mellor, S. and S. Shlaer (2001), Recursive Design, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Mens, T., C. Lucas, and P. Steyaert (1998), "Supporting Reuse and Evolution of UML Models," In Proceedings of «UML»'98, Beyond the Notation, ESSAIM, pp. 341–350.

  • Meyer, B. (1997), Object-Oriented Software Construction, 2nd Edition, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • OMG (1997), "UML Summary, Semantics and Notation Guide, Version 1.1," Technical Report.

  • Pancake, C. (1995), "The Promise and the Cost of Object Technology: A Five-Year Forecast," Communications of the ACM 38, 10, 33–49.

    Article  Google Scholar 

  • Reenskaug, T. (1995), Working with Objects: The OOram Software Engineering Method, Manning.

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

    Google Scholar 

  • Selic, B., G. Gullekson, and P. Ward (1994), Real-Time Object-Oriented Modeling, Wiley, New York.

    Google Scholar 

  • Shlaer, S. and S. Mellor (1988), Object-Oriented Systems Analysis, Modeling the World in Data, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Shlaer, S. and S. Mellor (1992), Object Lifecycles, Modeling the World in States, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Sutherland, J. (1995), "Business Objects in Corporate Information Systems," ACM Computing Surveys 27, 2, 274–276.

    Article  MathSciNet  Google Scholar 

  • Taivalsaari, A. (1996), "On the Notion of Inheritance," ACM Computing Surveys 28, 3, 438–479.

    Article  Google Scholar 

  • Walden, K. and J.-M. Nerson (1995), Seamless Object-Oriented Software Architecture, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Barbier, F., Henderson-Sellers, B. Object modelling languages: An evaluation and some key expectations for the future. Annals of Software Engineering 10, 67–101 (2000). https://doi.org/10.1023/A:1018935632373

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1018935632373

Keywords

Navigation