Software architecture descriptions are high-level models of software systems. Some researchers have proposed specialpurpose architectural notations that have a great deal of expressive power but are not well integrated with common development methods. Others have used mainstream development methods that are accessible to developers, but lack semantics needed for extensive analysis. We describe an approach to combining the advantages of these two ways of modeling architectures. We present two examples of extending UML, an emerging standard design notation, for use with two architecture description languages, C2 and Wright. Our approach suggests a practical strategy for bringing architectural modeling into wider use, namely by incorporating substantial elements of architectural models into a standard design method. Keywords Software architecture, object-oriented design, architecture description languages, constraint languages, incremental development
Jason E. Robbins, Nenad Medvidovic, David F. Redmi