Our Tools for Architecture-Centric Engineering
Fraunhofer Institute for Experimental Software Engineering IESE
In practice, working as an architect means mastering the complexity of today’s software systems and at the same time coping with a multitude of requirements that are never stable. Since architecture is more than just a handful of nicely drawn pictures of boxes and lines, architectural artifacts are impacted by this complexity and volatility. Architecture models need maintenance, and they need to be connected to source code, requirements, and other artifacts. Managing this complexity is only possible with appropriate tools that are aligned with the architecture methods.
We mainly use Enterprise Architect in combination with our in-house tool SAVE to support architecting tasks. This allows to deliver results quickly and to concentrate on the product-related challenges.
We use Enterprise Architect by Sparx Systems as a central tool for the …
of architectural models.
Like other tools on the market, Enterprise Architect is per se rather a UML modeling tool than an architecture tool. Thus, we provide a detailed mapping of our ACES method to Enterprise Architect, making optimal use of the built-in functionality and tailoring it with specific extensions.
By using Enterprise Architect, we enable our customers to use their architecture models for purposes such as impact analyses or customized documentation generation. Enterprise Architect is mainly used in our services “Architecture Construction” and “Solution Adequacy Assessment”.
Of course, our methods and techniques can also be adapted to other tools as well, such as Rational Software Architect, Magic Draw, or TOPCASED/Papyrus.
In order to keep the architectural model synchronized with system implementations, we have developed the Fraunhofer SAVE tool suite (the acronym stands for Software Architecture Visualization and Evaluation). SAVE is an award-winning state of-the-art tool for analyzing and visualizing software architectures.
Its primary feature is architecture compliance checking, i.e., assessing the degree to which an implementation complies to its intended architecture. SAVE – developed as an Eclipse plugin – reverse-engineers system artifacts (e.g., source code written in Java, C/C++, C#, Delphi, Fortran, Ruby on Rails, etc.) and lifts this information to the abstraction level of the architecture (either automatically or using expert input).
SAVE offers further features, such as …
- comparison among source code variants
- powerful visualization with many abstraction, navigation, and filtering capabilities
We use SAVE to address challenges that call for a close connection between architecture and implementation, such as: