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
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.