Software Engineering Institute Carnegie Mellon

Software Architecture Technology Initiative

This page describes the Software Architecture Technology (SAT) initiative, one of the SEI's sponsored projects to help organizations and individuals to improve their software engineering practices.

To explore the body of work carried out under this initiative, visit the software architecture pages.

 – Where the SAT Initiative is going
 – Where the SAT Initiative has been

In Brief

Community Problem:
Achieving quality attribute (reliability, security, modifiability, performance, affordability, etc.) requirements. Being able to predict quality attribute behavior and make practical tradeoffs early.

SAT Goal:
System developers and acquirers use effective software architecture practices across the life cycle to ensure predictable product qualities, cost, and schedule.

“Axioms” Guiding Our Work

  • Software architecture is the bridge between mission/business goals and a software-intensive system.
  • Quality attribute requirements drive software architecture design.
  • Software architecture drives software development throughout the life cycle.

Where the SAT Initiative is going

Purpose
The purpose of the Software Architecture Technology Initiative is to enable software acquirers and developers to use effective software architecture practices to exert significantly greater control over key product qualities such as reliability, security, modifiability, performance, and affordability and to mitigate the risks involved in achieving and making the necessary tradeoffs among these qualities. We work to harness innovations in quality attribute reasoning and software architecture technology for practical use, enabling and providing automated support wherever possible. We are providing an effective, integrated, widely applicable, and tailorable set of life-cycle architectural practices (design, documentation, evaluation, and reconstruction). We work to provide the bridge to other established architecture-related processes and non-architectural practices (e.g., MDA, RUP, DoDAF, Enterprise Architectures, CMMI, TSP). Finally, we are training developers, acquirers, and educators to use proven software architecture principles and practices.

Vision
Our vision is that all developers, researchers, and acquirers embrace the central role of software architecture in achieving the evolving mission or business goals of a software-intensive system. They recognize and exploit the critical influence that software quality attributes exert on the design of a software architecture. Consequently, acquired and developed systems predictably achieve their quality attribute requirements throughout the system life time and despite changing operational needs. There are proven methods and SEI-inspired quality attribute models and reasoning frameworks that make state-of-the art quality attribute theories practical and accessible. A wide spectrum of quality attributes has been characterized in this way by a community of researchers and practitioners. Such theories provide the basis for automation and as a result, the use of automated architecture design assistants is widespread. Organizations use the methods, models, and automated assistants routinely. There is a community network of researchers and practitioners fostered by the SEI that promotes the use of effective architecture-centric practices. Software architecture-centric practices are standard parts of software engineering university and industry training curricula. Continuing-education courses are offered regularly by SEI-authorized trainers. SEI certificates in software architecture are recognized as requirements for advancement as a software architect. SEI-authorized software architecture trainers and ATAM lead evaluators are in demand. The existence of software architects and software architectures are mandated by service policies such that every ACAT I and II program manager office has a resident software architect complementing the chief system engineer. SEI software architecture technology has been institutionalized in service software engineering centers and the Defense Acquisition University (DAU). Software engineer/architect is a new career field within the DoD acquisition community. The SEI continues to be an internationally recognized authority on software architecture and continually interacts with the research community to set the agenda in related areas such as architectures for self-adaptable and pervasive systems, exploitation of aspect-orientation at the architecture level, and other related areas at the vanguard of the field.

Tasks
The work of the initiative is carried out through two primary tasks:

  1. Mature Software Architecture Technology (SAT): This task focuses on advancing the work in the underlying quality attribute models, reasoning frameworks (with the PACC initiative), and architectural tactics; developing an automated architecture assistant; researching, maturing, and assimilating emerging technologies that can enhance and automate software architecture practices; refining and validating architecture methods and practices for eliciting architectural requirements, designing, evaluating, documenting, and reconstructing software architectures; integrating SEI architecture methods into a lifecycle approach and with other process and architectural efforts.

  2. Transition Software Architecture Technology: The first task focuses on getting the technology right and proving its benefits. This task focuses on ensuring that the technology can be adopted easily by developers and acquirers without requiring continuing SEI support. The task is accomplished through the establishment of an SEI software architecture curriculum and certificate programs, and the creation of transition and adoption partners, transition artifacts, books, practice guides, training materials, DoD guidelines and case studies, workshops, publications, presentations, and a comprehensive and current web site.

Where the SAT Initiative has been

Five years ago, software architecture was largely an academic concept. Today it is practicable largely owing to the work of the SEI's Software Architecture Technology (SAT) Initiative (formerly called the Architecture Tradeoff Analysis (ATA) Initiative). Through its work in software architecture, the SEI is helping acquirers and developers adopt effective practices based on proven software architecture techniques and methods.

If function were all that mattered in software-intensive systems, any monolithic software would suffice; but other things do matter. Acquirers and developers of complex software systems need their systems to be modifiable and to perform predictably. They may also need them to be secure, interoperable, portable, usable, and reliable. These quality attributes depend on choosing the correct software architecture. As systems become larger and more complex, software architecture takes on an even more important role.

The SEI has developed methods and techniques for addressing key quality attributes, and their relationships and tradeoffs at the software architecture level. For example, the SEI Quality Attribute Workshop (QAW) helps acquirers and developers identify and characterize the key quality attributes for a system. The SEI Architecture Tradeoff Analysis Method (ATAM) enables software developers and acquirers to evaluate an architecture for required quality attributes and business goals before the system is actually developed. The SEI Attribute-Driven Design (ADD) method helps developers choose architectural tactics. The SEI's "views and beyond" documentation approach helps architects create relevant and useful documentation for software architectures. And the SEI's Dali and ARMIN architecture reconstruction tools help organizations recover software architectures from existing legacy code. By using these practices, acquirers and developers exert greater control over key software qualities, such as affordability, reliability, security, modifiability, and performance.

The SEI's work in quality attribute models (such as queuing models, impact analysis models, markov models for reliability analysis, schedulability models, cognitive models) and architectural tactics provides the underpinnings for its software architecture technology and methods. Architectural tactics have been developed for performance, modifiability, availability, usability, and testability. Quality attribute models inform/determine architectural decisions. The quality attribute models and reasoning frameworks have been codified for use in a prototype rule-based architecture design assistant that is being piloted with Robert Bosch North America Research and Technology Center (RBNA RTC).

The SEI has piloted the ATAM, QAW, and other architecture methods with select early adopter organizations. These organizations are appointing software architects, seeking software architecture education, and beginning to institute software architecture practices. These practices are providing substantial benefit in terms of better designs, decreased technical risk and rework, and increased stakeholder early awareness and buy-in. Architecture evaluation and the ATAM are explicitly referenced in some government SOWs and RFPs. Among others, the SAT team supported major Army (Future Combat System [FCS], Force XXI Battle Command Brigade and Below [FBCB2], Army Training Support Center [ATSC]) and Navy (DDX, PM430, CLIP, SIAP) programs in using the Quality Attribute Workshop (QAW) and/or the ATAM to reduce risk and assure quality in the software architecture for their system-of-systems and for major subsystems. FCS is using the SEI's architecture documentation principles in its software architecture documentation artifacts. SEI's architecture reconstruction tool and approach are being used in the re-architecting of FBCB2. Teams at Boeing and Robert Bosch GmbH are routinely conducting SEI-authorized ATAM evaluations. The SEI also worked with the Defense Modeling and Simulation Office and was instrumental in the definition of the High Level Architecture (HLA) and in getting HLA approved as an IEEE standard.

The Joint National Integration Center's (JNIC's) Missile Defense Wargame and Analysis Resource (MDWAR) system simulates a combat environment that commanders and their staff can use to review missile and air defense doctrine, tactics, and procedures. In 2003, the JNIC asked the SEI to perform an ATAM evaluation on the MDWAR system's software architecture. That architecture represented the evolution of the Wargame 2000 system that the SEI evaluated in 2000. The uncovering of significant risks during the 2000 evaluation led to an improved MDWAR system. A post-evaluation survey of participants showed that the evaluation was deemed to have been valuable.

Since that initial ATAM, MDWAR has enjoyed success. New communities of stakeholders have embraced MDWAR, bringing with them new mission drivers. As a result, MDWAR must now grow from primarily supporting wargaming to also supporting missile defense system analysis, test, and integration. The request for a second ATAM evaluation to see how the MDWAR architecture stands up under these new mission drivers illustrated the JNIC's trust in the SEI and its software architecture methods and practices.

Over the last five years the SEI has also published four highly regarded books that describe the SEI architecture technology and methods that have had great impact: Software Architecture in Practice, 2nd Edition was published in May 2003 and replaces the first edition, which sold over 16,000 copies; Documenting Software Architectures: Views and Beyond, published in late 2002 has received rave reviews and a Jolt Productivity Award; Evaluating Software Architectures: Methods and Case Studies is being adopted by major companies such as Raytheon to define company-wide software architecture evaluation practices. As of January 2006, over 75,000 software architecture books have been sold. These books are the basis for courses at a wide range of colleges and universities.

In addition, the SAT team launched its own six-course Software Architecture Curriculum and three software architecture certificate programs in mid 2003. This curriculum helps equip software professionals with state-of-the-art practices for designing, documenting, evaluating, and implementing software architectures. During 2003-2004, across the six courses there have been a total of 1030 enrollments representing over 80 organizations. During 2004, 75 individuals received the Software Architecture Professional Certificate; 45 received the Architecture Tradeoff Analysis Method (ATAM) Evaluator Certificate, and 3 received the ATAM Lead Evaluator Certificate.

The U.S. Army has made this curriculum the basis for a new Army Software Architecture Initiative, launched to increase software architecture capability in the Army through widespread training in software architecture principles and methods, and to institute software architecture evaluation in both the Army's policy and practice.

The SEI has become known as a center of excellence in software architecture. Its work in software architecture technology and its associated methods are notably unique in their

  • explicit focus on quality attributes
  • direct linkage to business and mission goals
  • explicit involvement of system stakeholders
  • high-quality published materials for practitioner consumption
  • applicability to DoD challenge problems and DoD systems
  • grounding in state-of-the-art quality attribute models and reasoning frameworks