NEWS AT SEI
This library item is related to the following area(s) of work:
This article was originally published in News at SEI on: May 1, 2007
Last Updated: July 22, 2009
The Architecture Expert (ArchE) tool is an experimental assistant to the architect that the SEI has been developing for several years. With the current release of Version 2.1, it is available for non-commercial use.
One of the SEI’s axioms is that quality-attribute requirements such as those for security, performance, modifiability, usability, and so forth have a dominant influence on a software architecture. A reasonable question in light of this axiom is “How can quality-attribute knowledge be codified to help the architect during the design process?” ArchE is a system that embodies our efforts to codify quality-attribute knowledge.
ArchE is based on four different concepts:
One analogy for ArchE is tax preparation software. That is, tax preparation software encapsulates a great deal of knowledge about the structure of the tax code and has the ability to check for consistency, but the information on which the tax return is based and the correctness of the resulting return depend on the information provided by the user. ArchE has knowledge of quality attributes and how to relate quality requirements to architecture design, but has no knowledge of the semantics of the system being designed. The architect must provide ArchE with information about system semantics.
To use ArchE during the design process, the architect provides design knowledge and judgment, and ArchE provides quality-attribute knowledge. The dialogue between the architect and ArchE proceeds as follows:
Version 2.1 of ArchE is now available online. It includes quality-attribute knowledge about modifiability and real-time performance. It has been used successfully in a graduate-level software architecture class at Clemson University. ArchE depends on the following software, which is all freely available for non-commercial use:
The target audience for this release includes educators who want to incorporate software architecture design concepts into their classes and others who are interested in exploring the use of tactics within an architecture-design process.
If you are interested in using ArchE on a commercial project, contact Greg Such at gsuch@sei.cmu.edu.
To get started, download a copy of ArchE.
Len Bass is a senior member of the technical staff at the Software Engineering Institute who participates in the High Dependability Computing Program. He has written two award-winning books on software architecture as well as several other books and numerous papers in a wide variety of areas of computer science and software engineering. He is currently working on techniques for the methodical design of software architectures and to understand how to support usability through software architecture. He has been involved in the development of numerous production or research software systems ranging from operating systems to database management systems to automotive systems.
The views expressed in this article are the author's only and do not represent directly or imply any official position or view of the Software Engineering Institute or Carnegie Mellon University. This article is intended to stimulate further discussion about this topic.