Software Architecture and UML
The problem of consistently engineering large, complex software systems of today is often addressed by introducing new, “improved” models. Examples of such models are architectural, design, structural, behavioral, and so forth. Each software model is intended to highlight a particular view of a desired system. A combination of multiple models is needed to represent and understand the entire system. Our work with architecture description languages are primarily about how to integrate them into the general development life cycle. The goal of this integration is to combine the respective strengths of powerful, specialized (architecture-based) modeling approaches with widely used, general (design-based) approaches. We have formally addressed the various details of our approach, which has allowed us to construct a large set of supporting tools to automate the related development activities.
Relevant Publications
- A Formal Approach to Heterogeneous Software Modeling
- Extending Architectural Representation in UML with View Integration
- Architectural Integration and Evolution in a Model World
- Round-Trip Software Engineering Using UML: From Architecture to Design and Back
- Consistent Architectural Refinement and Evolution using the Unified Modeling Language
- Validating Consistency between Architecture and Design Descriptions
Related Research