Round-Trip Software Engineering Using UML: From Architecture to Design and Back

TitleRound-Trip Software Engineering Using UML: From Architecture to Design and Back
Publication TypeConference Proceedings
Year of Publication1999
AuthorsMedvidović, N., A. Egyed, and D. S. Rosenblum
Conference Name2nd Workshop on Object-Oriented Reengineering
Date PublishedSeptember
Conference LocationToulouse, France
KeywordsSoftware architecture and UML

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