IEEE Computer Article: Bridging the Software Architecture Gap
Mikael Lindvall (CESE) and Dirk Muthig (IESE)
Excerpt — There’s a growing gap between the state of the art and the state of the practice in software architecture. The state of the art revolves around advanced architecture description and modeling languages, while in practice, the software architect — if there is one — has neither the power nor the tools to create a sound software architecture that is truly useful throughout the entire lifecycle ...
Static evaluation of software architectures
Jens Knodel, Dirk Muthig, Matthias Naab (IESE), Mikael Lindvall (FCMD)
Abstract — The software architecture is one of the most crucial artifacts within the lifecycle of a software system. Decisions made at the architectural level directly enable, facilitate, hamper, or interfere with the achievement of business goals, functional and quality requirements. Architecture evaluations play an important role in the development and evolution of software systems since they determine how adequate the architecture is for its intended usage. This paper summarizes our practical experience with using architecture evaluations and gives an overview on when and how static architecture evaluations contribute to architecture development. We identify ten distinct purposes and needs for static architecture evaluations and illustrate them using a set of industrial and academic case studies. In particular, we show how subsequent steps in architecture development are influenced by the results from architecture evaluations.
The SAVE Tool and Process Applied to Ground Software Development at JHU/APL: An Experience Report on Technology Infusion
William C. Stratton, Deane E. Sibol (JHU/APL), Mikael Lindvall, Patricia Costa(FC-MD)
Abstract — The JHU/APL Space Department develops Missions Operations Center (MOC) system software for all JHU/APL-supported NASA missions using a shared software architecture called Common Ground. The software architecture is 10 years old and difficult to maintain for current missions and to evolve for reuse in future missions. The Software Architecture Visualization and Evaluation (SAVE) tool and process developed by Fraunhofer Center - Maryland has been applied to the Common Ground software in order to avoid further maintenance and evolution problems. This report summarizes JHU/APL's experiences in using the SAVE tool and process to capture the originally planned architecture, to compare the actual Common Ground software to the planned architecture, to create a new target architecture, and to guide ongoing development to bring the planned and actual architectures into alignment.