| |
[Download PDF here!]
Authors: Nenad Medvidovic, Alexander
Egyed, and David Rosenblum
A key promise
of software architecture research is that better software systems
can result from modeling their important aspects throughout
development. Choosing which system aspects to model and how to
evaluate them are two decisions that frame software architecture
research. Part of the software architecture community, primarily
from academia, has focused on analytic evaluation of architectural
descriptions. Another part of the community, primarily from
industry, has chosen to model a wide range of issues that arise in
software development, with a family of models that span and relate
the issues. One problem that neither community has adequately
addressed to date is round-trip software engineering: consistently
refining a high-level model of a software system into a lower-level
model (forward engineering) and abstracting a low-level model into a
higher-level one (reverse engineering). This paper investigates the
possibility of using the Unified Modeling Language (UML), an
object-oriented design language, to that end. The paper assesses
UML’s suitability for modeling architectural concepts and provides
a framework for identifying and resolving mismatches within and
across different UML views, both at the same level of abstraction
and across levels
of abstraction. Finally, the paper briefly discusses
our current tool support for round-trip software engineering.
|
|