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

Citation
F. Barbier et B. Henderson-sellers, Object modelling languages: An evaluation and some key expectations for the future, ANN SOFTW E, 10, 2000, pp. 67-101
Citations number
52
Categorie Soggetti
Computer Science & Engineering
Journal title
ANNALS OF SOFTWARE ENGINEERING
ISSN journal
10227091 → ACNP
Volume
10
Year of publication
2000
Pages
67 - 101
Database
ISI
SICI code
1022-7091(2000)10:<67:OMLAEA>2.0.ZU;2-C
Abstract
Object modelling languages are graphical semi-formal specification language s. They are tools to capture and formalise requirements in the earlier phas es of software development, as well as providing support for describing des igns, software architecture and even detailed implementations later in the process. One can consider these languages to have reached some level of mat urity, especially because their precursors, the Object-Oriented Analysis an d Design methods, have now been used and tested intensively in industry for many years. In addition, these modelling languages have been the subject o f many improvements by the scientific community. Nevertheless, some dissati sfaction 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 structur e is based on metamodelling, which is the way the semantics of these two la nguages is expressed. This structure is also the source of a proliferation of modelling constructs (for example, different forms of inheritance associ ated with distinct notational elements) whose use must clearly influence, i n particular, reusability - a key expectation in a software engineering pro cess. More generally, we identify some deficiencies in these languages, whi ch allows us to highlight some appropriate evolutionary paths. In discussin g dynamic metamodelling and scalability, we specifically outline that a mai n current drawback is the difficulty of implementing these languages in Com puter-Aided Software Engineering tools.