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.
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.
Allen, A. and D. de Champeaux (1995), "Extending the Statechart Formalism: Event Scheduling & Disposition," ACM Sigplan Notices 30, 10, 1–16.
Alabiso, B. (1988), "Transformation of Data Flow Analysis Models to Object-Oriented Design," ACM Sigplan Notices 23, 11, 335–353.
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.
Booch, G. (1986), "Object-Oriented Development," IEEE Transactions on Software Engineering 12, 2, 5–15.
Booch, G. (1994), Object-Oriented Analysis and Design with Applications, 2nd Edition, Addison-Wesley, Reading, MA.
Coleman, D., P. Arnold, S. Bodoff, C. Dollin, and H. Gilchrist (1994), Object-Oriented Development: the Fusion Method, Prentice-Hall, Englewood Cliffs, NJ.
Civello, F. (1993), "Roles for Composite Objects in Object-Oriented Analysis and Design," ACM Sigplan Notices 28, 10, 376–393.
Cook, S. and J. Daniels (1994), Designing Object Systems, Object-Oriented Modelling with Syntropy, Prentice-Hall, Englewood Cliffs, NJ.
Coad, P. (1992), "Object-Oriented Patterns," Communications of the ACM 35, 9, 152–159.
Coad, P. and E. Yourdon (1991), OOA, Object-Oriented Analysis, 2nd Edition, Prentice-Hall, Englewood Cliffs, NJ.
Danforth, S. and C. Tomlinson (1988), "Type Theories and Object-Oriented Programming," ACM Computing Surveys 20, 1, 29–72.
Dano, B., H. Briand, and F. Barbier (1997), "A Use Case Driven Requirements Engineering Process," Requirements Engineering 2, 2, 79–91.
Dong, J. S. and R. Duke (1995), "The Geometry of Object Containment," Object Oriented Systems 2, 1, 41–63.
Ellsberger, J., D. Hogrefe, and A. Sarma (1997), SDL, Formal Object-Oriented Language for Communicating Systems, Prentice-Hall, Englewood Cliffs, NJ.
Firesmith, D. (1993), Object-Oriented Requirements Analysis and Logical Design, A Software Engineering Approach, Wiley, New York.
Firesmith, D. and B. Henderson-Sellers (1998), "Upgrading OML to Version 1.1: Referential Relationships," Journal of Object-Oriented Programming 11, 3, 48–57.
Firesmith, D., B. Henderson-Sellers and I. Graham (1997), OPEN Modeling Language (OML) Reference Manual, SIGS Books, Cambridge University Press, Cambridge, MA.
Fowler, M. (1997), Analysis Patterns, Reusable Object Models, Addison-Wesley, Reading, MA.
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.
Graham, I. (1996), "Task Scripts, Use Cases and Scenarios in Object-Oriented Analysis," Object Oriented Systems 3, 3, 123–142.
Graham, I., J. Bischof, and B. Henderson-Sellers (1997), "Associations Considered a Bad Thing," Journal of Object-Oriented Programming9, 9, 41–48.
Graham, I., B. Henderson-Sellers, and H. Younessi (1997), The OPEN Process Specification, Addison-Wesley, Reading, MA.
Harel, D. and E. Gery (1997), "Executable Object Modeling with Statecharts," IEEE Computer 30, 7, 31–42.
Henderson-Sellers, B. (1992), A Book on Object-Oriented Knowledge, Prentice-Hall, Englewood Cliffs, NJ.
Henderson-Sellers, B. (1996), Object-Oriented Metrics: Measures of Complexity, Prentice-Hall, Englewood Cliffs, NJ.
Henderson-Sellers, B. (1997), "OPEN Relationships-Compositions and Containments," Journal of Object-Oriented Programming 10, 7, 51–55, 72.
Henderson-Sellers, B. and A. Bulthuis (1998), Object-Oriented Metamethods, Springer, Berlin.
Henderson-Sellers, B. and J. Edwards (1994), BOOKTWO on Object-Oriented Knowledge: The Working Object, Prentice-Hall, Englewood Cliffs, NJ.
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.
Henderson-Sellers, B., A. Simons, and H. Younessi (1998), The OPEN Toolbox of Techniques, Addison-Wesley, Reading, MA.
Hutt, A. (1994),Object Analysis and Design, Description of Methods, Wiley, New York.
Hutt, A. (1994), Object Analysis and Design, Comparison of Methods, Wiley, New York.
Jackson, M. (1983), System Development, Prentice-Hall, Englewood Cliffs, NJ.
Jacobson, I., G. Booch, and J. Rumbaugh (1999), The Unified Software Development Process, Addison-Wesley, Reading, MA.
Jacobson, I., M. Christerson, P. Jonsson, and G. Övergaard (1992), Object-Oriented Software Engineering, A Use Case Driven Approach, Addison-Wesley, Reading, MA.
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.
Mellor, S. and S. Shlaer (2001), Recursive Design, Prentice-Hall, Englewood Cliffs, NJ.
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.
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.
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.
Selic, B., G. Gullekson, and P. Ward (1994), Real-Time Object-Oriented Modeling, Wiley, New York.
Shlaer, S. and S. Mellor (1988), Object-Oriented Systems Analysis, Modeling the World in Data, Prentice-Hall, Englewood Cliffs, NJ.
Shlaer, S. and S. Mellor (1992), Object Lifecycles, Modeling the World in States, Prentice-Hall, Englewood Cliffs, NJ.
Sutherland, J. (1995), "Business Objects in Corporate Information Systems," ACM Computing Surveys 27, 2, 274–276.
Taivalsaari, A. (1996), "On the Notion of Inheritance," ACM Computing Surveys 28, 3, 438–479.
Walden, K. and J.-M. Nerson (1995), Seamless Object-Oriented Software Architecture, Prentice-Hall, Englewood Cliffs, NJ.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1018935632373