Introduction The early part of the 1990s saw a greatly heightened interest in the object paradigm and related technologies. New object-based programming languages, such as SmallTalk, Eiffel, C++, and Java, were devised and adopted. These were accompanied by a prodigious and confusing glut of object-oriented (OO) software design methods and modeling notations. Thus, in his very thorough overview of OO analysis and design methods (covering more than 800 pages), Graham lists more than 50 " seminal " methods [Graham01]. Given that the object paradigm consists of relatively few fundamental concepts, including encapsulation, inheritance, and polymorphism, there was clearly heavy overlap and conceptual alignment across these methods—much of which was obscured by notational and other differences of no consequence. This caused great confusion and needless market fragmentation, which, in turn, impeded the adoption of the useful new paradigm. Software developers had to make difficult and binding choices between mutually incompatible languages, tools, methods, and vendors.
[1]
Ivar Jacobson,et al.
The unified modeling language reference manual
,
2010
.
[2]
Bran Selic.
On the Semantic Foundations of Standard UML 2.0
,
2004,
SFM.
[3]
Bran Selic,et al.
An MDA Manifesto
,
2004
.
[4]
Robert T. Monroe,et al.
Acme: an architecture description interchange language
,
2010,
CASCON.
[5]
Alan W. Brown.
An Introduction to Model Driven Architecture - Part 1; MDA and Today's Systems
,
2004
.
[6]
Perdita Stevens.
On the interpretation of binary associations in the Unified Modelling Language
,
2002,
Software and Systems Modeling.
[7]
Alan O'Callaghan,et al.
Object-Oriented Methods: Principles and Practice
,
2000
.
[8]
Tony Andrews.
Business Process Execution Language for Web Services Version 1.1
,
2003
.
[9]
Bran Selic,et al.
Using UML for Modeling Complex Real-Time Systems
,
1998,
LCTES.