This information sheet describes the SOA Migration, Adoption, and Reuse Technique (SMART), its benefits, and the SMART "family members."
12/10/2012The SEI Architecture Practices Initiative aims to improve product development and quality by using architecture to gain early confidence in achieving system-related business and mission goals.
06/06/2012Information sheet describing the Advanced Software Architecture Workshop
03/22/2012This report provides an overview of changes and improvements to the Architecture Analysis & Design Language (AADL) standard for describing both the software architecture and the execution platform architectures of performance-critical, embedded, real-time systems.
02/27/2012John Klein reviews the SEI perspective on architecture-centric engineering, and discusses how this approach scales from its original software context through systems-of-systems.
02/27/2012At this 2012 event, Felix Bachmann discussed the concepts used by an Architecture Tradeoff Analysis Method (ATAM) that make an evaluation successful, which can be integrated into the architecture design process to ensure the creation of successful systems.
02/27/2012Although software architecture is a key factor in determining the success or failure of a software system, software professionals throughout the industry continue to struggle with questions like: What exactly is a software architecture? Why is software architecture important?
08/10/2011To improve architecture capability, the SEI has developed a diagnostic method to systematically assess your architecture competence at the individual, team, and organizational levels.
06/29/2011This presentation will talk about the effect that service orientation has on system quality attributes. (50 mins)
06/22/2011In this 2011 presentation, Grace Lewis talks about the effect that service oriented architecture has on system quality attributes.
06/07/2011A one-page brochure about the SEI's hands-on software architecture course.
01/28/2011This information sheet describes the Architecture Tradeoff Analysis Method (ATAM.)
01/17/2011This paper presents the results of a series of experiments targeted at analyzing the performance impact of adding WS-Security, a common security standard used in IdM frameworks, to SOAP-based web services.
01/11/2011This report details the results from 18 experiments to investigate Adaptive Quality of Service, an approach to enable applications to fulfill their missions despite network infrastructure limitations.
12/16/2010Enabling Agility Through Architecture: A Crosstalk article by Nanette Brown, Rod Nord, and Ipek Ozkaya.
11/17/2010This report summarizes a workshop on the analysis and evaluation of enterprise architectures that was held at the SEI in April of 2010.
09/30/2010This book provides the most complete and current guidance on how to capture a software architecture in a commonly understandable form.
09/15/2010This white paper presents basic terminology related to Service- Oriented Architecture (SOA). The goal of the paper is to establish a baseline of terms for service-oriented systems.
08/25/2010Len Bass's keynote presentation from ICGSE 2010 talks about the structure of coordination models, especially after development has begun.
08/20/2010This report presents COVERT, an automated framework aimed at finding buffer overflows in C programs using state-of-the-art software verification tools and techniques.
08/20/2010This report attempts to facilitate better elicitation of high-pedigree quality attribute requirements by understanding how business goals influence quality attribute requirements and architectures.
07/07/2010Rob Wojcik discusses the the role that software architecture plays in an organization, the role of quality attribute requirements in architectural design, and more.
05/14/2010The Hard Choices game is a simulation of the software development cycle meant to communicate the concepts of uncertainty, risk, options, and technical debt. In the quest to become market leader, players race to release a quality product to the marketplace. By the end of the game, everyone has experienced the implications of investing effort to gain an advantage or of paying a price to take shortcuts, as they em-ploy design strategies in the face of uncertainty.
03/18/2010Achieving architecture competence will ensure that you realize the benefit of architecture-centric practice, including the alignment of your architecture to your business goals and predictable, routine success in architecture.
03/12/2010Designing Software Architecture to Achieve Business Goals: a presentation by Len Bass given to the Academy for Software Engineering Education and Training on March 12, 2010.
12/18/2009This 2009 technical note proposes a structured approach for reviewing architecture documentation that is centered on the documentation's stakeholders.
11/30/2009This white paper explores the idea that subway maps provide a good, common example of architecture documentation and that they might be instructive about good software architecture documentation,
11/24/2009Video of interview with the SEI's Len Bass, co-author of Software Architecture in Practice, about quality attributes (non-functional requirements) in an agile development environment
10/29/2009This 2009 report describes the data model as an architectural style in an effort to help architects apply this style to create data model architectural views.
08/04/2009Tactics are fundamental elements of software architecture that an architect employs to meet a system's quality requirements. This report describes an updated set of tactics that enable the architect to build availability into a system.
06/01/2009Paul Clements talks about best practices for communicating (documenting) software architectures and summarizes key points from the book Documenting Software Architectures: Views and Beyond and the related two-day course, Documenting Software Architectures.
04/01/2009This report summarizes a June 2008 architecture competence workshop where practitioners discussed key issues in assessing architecture competence in organizations.
03/05/2009To be successful, every system needs a good architecture and that requires the use of a good architecture engineering method. However, systems vary greatly in size, complexity, criticality, domain, operational dependence on other systems, the technology used and its diversity, requirements volatility, required quality characteristics and attributes, and volatility of technology and component parts. (1hr:3 mins)
10/14/2008Bachmann et al present their work on a design assistant called ArchE that provides third-party researchers with an infrastructure to integrate their own quality-attribute models.
06/02/2008The emergence of service-oriented architecture (SOA) as an approach for integrating applications that expose services presents many new challenges to organizations resulting in significant risks to their business. Particularly important among those risks are failures to effectively address quality attribute requirements such as performance, availability, security, and modifiability. Because the risk and impact of SOA are distributed and pervasive across applications, it is critical to perform an architecture evaluation early in the software life cycle. This report contains technical information about SOA design considerations and tradeoffs that can help the architecture evaluator to identify and mitigate risks in a timely and effective manner. The report provides an overview of SOA, outlines key architecture approaches and their effect on quality attributes, establishes an organized collection of design-related questions that an architecture evaluator may use to analyze the ability of the architecture to meet quality requirements, and provides a brief sample evaluation.
05/11/2008The workshop on Leadership and Management in Software Architecture that took place at ICSE 2008 was focused on understanding these non-technical duties and the type of support an architect should expect from an organization.
09/01/2007This report illustrates how to use AOP (aspect-oriented programming) to ensure conformance to architectural design, proper use of design patterns and programming best practices, conformance to coding policies and naming conventions.
09/01/2007This report describes how architectural tactics are based on the parameters of quality attribute models.
08/02/2007presented as part of the SEI Software Architecture Workshop for Educators, August 2007
08/02/2007presented as part of the SEI Software Architecture Workshop for Educators, August 2007
08/02/2007The Fourth SEI Software Architecture Workshop for Educators was held at the Software Engineering Institute in Pittsburgh, PA on July 31- August 2, 2007.
07/01/2007Mitigating the Risk of Using Service-Oriented Architectures
07/01/2007Lessons Learned about Software Architecture
06/01/2007A presentation with audio
05/15/2007presentation made by Paul Clements at the SATURN 2007 Working Session "Architecture Competence," May 15, 2007
05/14/2007Presented: May 2007
05/14/2007presentation made by Mark Klein at the Third Annual SATURN Workshop, May 2007
05/14/2007presentation made by Stuart Kerrigan and Richard van Schelven at the Third Annual SATURN Workshop, May 2007
05/14/2007Presented: May 2007
05/14/2007presentation made at the 2007 SATURN Workshop
05/01/2007ArchE-the Architecture Expert
05/01/2007This 2007 report shows how an analysis of the options embodied within architectural patterns allows a software and system architect or manager to make reasoned choices about the future value of design decisions, considering this value along multiple quality attribute dimensions.
03/29/2007Presented: March 2007
03/26/2007Felix Bachmann, Lenn Bass, and Philip Bianco present ArchE, a tool that provides the right information at the right time for architect when designing software architecture.
03/01/2007Workshop to Present Best Practices in Software Architecture
03/01/2007Improving Software Architecture Competence by Paul Clements, International Association of Software Architects (IASA), March 2007.
03/01/2007Software Architecture: The Next Generation
02/01/2007This 2007 report describes an example application of the ADD method, an approach to defining a software architecture in which the design process is based on the quality attribute requirements the software must fulfill.
11/01/2006This report revises the steps of the Attribute-Driven Design (ADD) method and offers practical guidelines for carrying out each step.
10/16/2006This page contains the slides for John Klein’s guest lecture for COMP 180: Software Engineering, held at Tufts University, during the 2006 fall semester.
09/01/2006This 2006 report analyzes the output of 18 evaluations conducted using the Architecture Tradeoff Analysis (ATAM). The goal of the analysis was to find patterns in the risk themes identified during those evaluations.
08/01/2006In this report, five methods for the elicitation and expression of requirements are evaluated with respect to their ability to capture architecturally significant requirements.
07/26/2006This presentation on best practices in software architecture was delivered by Paul C. Clements of the Software Engineering Institute (SEI) on July 26, 2006.
06/01/2006Best Practices in Software Architecture, by Paul Clements
06/01/2006In this presentation, Len Bass attempts to determine more precisely what the relationship is between software architecture and software quality attributes such as performance, security, testability and so on.
05/01/2006Quality Attributes and Service-Oriented Architectures
04/26/2006This page contains the slides from a working session conducted at the Software Architecture Technology User Network (SATURN) 2006 workshop, held in Pittsburgh, PA.
04/25/2006Presented: April 2006
04/25/2006Presented: April 2006
04/19/2006Presented: April 2006
04/01/2006This report examines selected aspects of autonomic computing and explores some of the strengths and weaknesses of that technology.
03/01/2006Strategic Architecting
01/02/2006Presented: January 2006
12/01/2005This report provides a categorization of possible business goals for software-intensive systems, so that individuals have some guidance in the elicitation, expression, and documentation of business goals.
09/01/2005This 2005 report discusses the benefits and challenges of using a wiki-based collaborative environment to create software architecture documentation.
09/01/2005This note describes an ARL implementation of two usability scenarios: displaying progress feedback and allowing cancel.
09/01/2005This 2005 report describes the application of a reasoning framework to the design of an industrial communications library and the problems that were found.
07/01/2005This report summarizes the V&B and 1471 approaches to architecture description, and shows how a software architecture document prepared using V&B can be made compliant with 1471.
07/01/2005This report describes a vehicle for encapsulating the quality attribute knowledge needed to understand a system's quality behavior as a reasoning framework that can be used by nonexperts.
04/06/2005This presentation – on methodically designing software architecture using ArchE, an architecture design assistant – was presented by Felix Bachmann and Mark H. Klein in 2005.
04/01/2005The Components of Software Architecture Design and Analysis
03/01/2005Integrating Architecture Methods: The Case of the QAW and the ADD Method
02/01/2005The Architecture Business Cycle Revisited: A Business Goals Taxonomy to Support Architecture Design and Analysis
01/01/2005Presented: January 2005
01/01/2005Three Perspectives Required of Service-Oriented Architectures
01/01/2005Integrating Architecture Methods: The Case of Extreme Programming
12/01/2004This report describes a technique that uses automatically generated runtime observations of an executing system to construct an architectural view of the system.
09/01/2004The report presents a summary of XP (Extreme Programming) and examines the potential uses of the SEI's architecture-centric methods.
09/01/2004This report describes a design prototype that demonstrates a web-based approach to creating, communicating, and using software architecture throughout the life of the system.
07/01/2004This technical note reports on a proposal to integrate the SEI Quality Attribute Workshop (QAW) and the SEI Attribute-Driven Design (ADD) method.
07/01/2004This report presents a summary of the RUP (Rational Unified Process) and examines the potential uses of the SEI's architecture-centric methods.
04/01/2004This 2004 report explores how changes in UML 2.0 affect UML's suitability for documenting component and connector views.
03/03/2004Presented: March 2004
03/01/2004Integrating Architecture Methods: The Case of the Rational Unified Process
03/01/2004Making the Use of the DoDAF Easier for DoD Organizations
02/01/2004The Recovery of Runtime Architectures
02/01/2004This report describes the process of architecture reconstruction using the Dali architecture reconstruction workbench.
01/01/2004Presented: January 2004
01/01/2004Presented: January 2004
01/01/2004This 2004 whitepaper offers eight lessons from history for the software architecture field, drawn from peer fields i.e. Military, Civil, Finance, Mathematics, Astronomy, Social and Medical.
01/01/2004Integrating Architecture Methods: The Case of the ATAM and the CBAM
12/01/2003Integrating Analysis and Design Methods for the Software Life Cycle
12/01/2003This technical note reports on a proposal to integrate the SEI ATAM (Architecture Tradeoff Analysis Method) and the CBAM (Cost Benefit Analysis Method).
12/01/2003The report outlines the first version of the Software Architecture Comparison Analysis Method (SACAM). This method was created to provide rationale for an architecture selection process by comparing the fitness of architecture candidates for required systems.
11/01/2003This report outlines the application of architecture reconstruction techniques to the Sun Microsystems' Duke's Bank system- Java2 Platform, Enterprise Edition/Enterprise JavaBeans (J2EE/EJB) application implemented mainly in Java.
10/01/2003This report describes the newly revised QAW (Quality Attribute Workshop) and describes potential uses of the refined scenarios generated during it.
09/01/2003Rethinking the Software Life Cycle
09/01/2003This 2003 report presents a procedure for moving from a set of quality attribute scenarios to an architecture design that satisfies those scenarios.
09/01/2003This report examines the architecture-centric analysis and design methods that were created at the SEI between 1993 and 2003.
09/01/2003This report discusses the context for using the C4ISRAF, the observations made during the interviews about its use, and the strengths and challenges of using it.
07/01/2003Documenting Software Architectures
06/01/2003This report provides software architects a chart for determining the relationships among techniques that promote different architectural qualities.
05/03/2003Architecture, design, and implementation are used informally in partitioning software specifications into three coarse strata of abstraction. These strata are not well-defined in either research or practice, causing miscommunication and needless debate.
04/19/2003This book provides an easily accessible overview of software architecture. Anyone requiring a comprehensive overview of the software architecture field will benefit from this book.
03/01/2003This report summarizes the activities of the Workshop on the Department of the 2003 Defense Architecture Framework and Software Architecture workshop.
03/01/2003This 2003 report describes an approach to designing a domain framework that encapsulates expertise in developing an HLA federate by hiding RTI internal operations from the developer.
03/01/2003This 2003 technical report provides the status on the work being done by the SEI to understand the relationship between quality requirements and architectural design.
01/01/2003Defining the Terms Architecture, Design, and Implementation
01/01/2003This paper outlines experiences with using economic criteria to make architecture design decisions.
12/01/2002This report, published in 2002, details the responsibilities that a system must implement to support command cancellation.
10/01/2002When analyzing system and software architectures, the Quality Attribute Workshop (QAW) and the Architecture Tradeoff Analysis Method (ATAM) can be used in combination to obtain early and continuous benefits.
09/30/2002The CBAM (Cost Benefit Analysis Method) extends the ATAM framework to elicit and model costs, benefits, and uncertainty.
09/01/2002The Evolution of Quality Attribute Workshops as an Architecture-Evaluation Technique
09/01/2002Software Architecture Book Provides Practical Guidance about Documentation
09/01/2002This report describes the improvements to the CBAM (Cost Benefit Analysis Method) and provides a pilot case study conducted with NASA.
08/01/2002This 2002 report presents the basic concepts of analysis models for two quality attributes-modifiability and performance, identifies a collection of tactics that can be used to control responses within those models, and discusses how to analyze the models in terms of these tactics.
06/01/2002Aligning Business Models, Business Architectures, and IT Architectures
06/01/2002This report provides guidance for documenting the interfaces to software elements.
06/01/2002This report explains the role of software architecture evaluation in a source selection and describes the contractual elements that are needed to support its use.
06/01/2002This report clarifies the context in which a QAW (Quality Attribute Workshop) is applicable, provides a rationale for developing the process and describes it in detail, and concludes with a list of lessons learned and a discussion of how these lessons have helped evolve the process to its current state.
03/01/2002Architectures for Adaptive Mobile Systems
03/01/2002Cost-Benefit Analysis Method
03/01/2002SEI Architecture Practices Propel Successful Startup
03/01/2002This 2002 report outlines details of past and current architecture reconstruction work on several systems at Nokia.
01/01/2002This report describes ways to document the behavior of systems, subsystems, and components of software architecture.
12/01/2001The SEI developed the CBAM (Cost Benefit Analysis Method), which incorporates the costs and benefits of architectural design decisions and provides an effective means of making such decisions. This paper reports on the application of this method to a real world case study.
10/01/2001This report introduces the notion of quality attribute design primitives, which are architectural building blocks that target the achievement of one or sometimes several quality attribute requirements.
10/01/2001This paper describes a process for systematically refining an enterprise system architecture to resist, recognize, and recover from deliberate, malicious attacks by applying reusable design primitives that help ensure the survival of the enterprise mission.
10/01/2001In this report, we compare the scenarios elicited from five ATAM (Architecture Tradeoff Analysis Method) evaluations with the scenarios used to characterize the quality attributes.
09/01/2001Economic Modeling of Software Architectures
08/01/2001That comprehensive handbook outlines how to produce high-quality documentation for software architectures.
08/01/2001This report describes the process of architecture reconstruction using the Dali architecture reconstruction workbench.
06/01/2001Using Quality Attribute Workshops to Evaluate Early-Stage Architecture Design Decisions
06/01/2001Software Architecture Evaluation: A Key to System Success
06/01/2001OAR is a systematic, architecture-centric, decision-making method for mining existing components for a product line or new software architecture.
05/01/2001This report describes the QAW (Quality Attribute Workshop) approach, which is a method for evaluating a software-intensive system architecture during the acquisition phase of major programs.
05/01/2001This report summarizes the discussions from the 2001 Architecture Representation Workshop, where five leading software architects and practitioners were invited to discuss aspects of the architecture representation with senior members of the SEI technical staff.
03/01/2001Architecture Mechanisms
03/01/2001This paper outlines an approach to improving the usability of software systems by means of software architectural decisions.
12/01/2000This report addresses mechanisms that significantly affect quality attribute behavior and have sufficient content for analysis.
10/01/2000This report elaborates an example of the application of the ABD (Architecture-Based Design) method to designing software architecture.
09/01/2000This report presents technical and organizational foundations for performing architectural analysis, and presents the SEI's ATAM, a technique for analyzing software architectures.
09/01/2000The target, evaluation criteria, yardstick, data-gathering techniques, synthesis techniques and evaluation process of ATAM are identified and analyzed in this report.
08/01/2000This paper describes ARID, a piloted software design review technique.
06/01/2000Quality Attribute Workshop
04/01/2000Attribute-Based Architectural Styles
03/01/2000Quality Attribute Workshops
03/01/2000An Architectural Approach to Software Cost Modeling
03/01/2000The 2000 report lays out our approach and organization for the book-in-planning titled Software Architecture Documentation in Practice, and provides guidance for the layer diagram.
01/01/2000This paper presents the Architecture Based Design (ABD) method for designing the high-level software architecture for a product line or long-lived system.
01/01/2000This report describes the 1) process we use to conduct QAW (Quality Attribute Workshop), 2) information required, 3) suggested tools, and 4) expected outcomes of QAWs.
12/01/1999Software Architecture Evaluation in the DoD Systems Acquisition Context
10/01/1999This report identifies features in agent-based systems that could be used to classify agent-system architectures and to guide the generation of scenarios applicable to these architectures.
10/01/1999This report establishes a common format for documenting ABASs in the hope that they will become the foundation for anyone who is doing system design and analysis.
09/01/1999The Perils and Joys of Reconstructing Architectures
07/01/1999This report describes how various C4ISR products can be used in the context of an ATAM evaluation and their relative value for generating quality attribute-specific scenarios required for an ATAM evaluation.
06/01/1999Using Scenarios in Architecture Evaluations
06/01/1999This report presents a description of architecture-centric system development.
03/01/1999Analyzing Quality Attributes
01/01/1999This paper presents a concrete example of an architecturally-motivated reengineering task. In executing this task, the authors perform architecture reconstruction, reason about the reconstructed architecture, motivate an architectural transformation with new architectural quality requirements, and realize this architectural transformation via an automated code transformation.
12/01/1998Representing Software Architecture
09/01/1998Are Software Architects Like Building Architects?
08/01/1998This paper presents a workbench for architectural extraction called Dali, and shows how Dali supports flexible extraction and fusion of architectural information. Its use is described through two extended examples of architectural reconstruction.
05/01/1998This paper presents some of the steps in an emerging architecture tradeoff analysis method (ATAM).
05/01/1998This report summarizes the discussions and outcomes of the Second International Workshop on Development and Evolution of Software Architectures for Product Families, held in February 1998.
03/09/1998This paper describes a system, called IAPR, that aids in architectural exploration and measurement by attempting to match patterns to an architecture.
01/01/1998This paper discusses the requirements and a generic framework for the integration of architectural and code-based reengineering tools. It was presented at the 1998 Working Conference on Reverse Engineering, Honolulu HI, October 1998 and was written by Rick Kazman, S. G. Woods, and S. J. Carriere.
11/10/1997This paper presents a set of well known but informally described software architectural elements used in system composition, and taxonomizes them under a basic set of characteristic features.
11/10/1997This paper presents an approach to capturing and assessing software architectures for evolution and reuse. The approach consists of a framework for modeling various types of relevant information and a set of architectural views for reengineering, analyzing, and comparing software architectures.
10/01/1997This paper presents Dali, an open, lightweight workbench that aids an analyst in extracting, manipulating, and interpreting architectural information.
05/01/1997This report describes a few principles for analyzing a software architecture to determine if it exhibits certain quality attributes.
01/01/1997This report details the results of two workshops on software architecture evaluation, held at the SEI in 1996.
11/01/1996This paper presents an experiential case study illustrating the methodological use of scenarios to gain architecture-level understanding and predictive insight into large, real-world systems in various domains.
03/15/1996This paper summarizes a taxonomic survey of ADLs that is in progress. This paper summarizes a taxonomic survey of ADLs that is in progress. Preliminary results allow conclusions to be drawn about what constitutes an ADL, and how contemporary ADLs differ.
03/01/1996This paper describes the Gadfly, an approach for developing narrowly-focused, reusable domain models that can be integrated and (re)used to aid in the process of top-down system comprehension.
02/01/1996This report summarizes software architecture for an intended audience of mid to senior level management.
01/01/1996This position paper first presents a set of requirements that an ideal tool for architectural design and analysis, and then presents a tool—called SAAMtool—that meets most, but not all, of these requirements.
01/01/1996This 1996 report identifies a set of promising lines of research related to software architecture and architecture-based system development.
12/01/1995This report describes efforts to develop a unifying approach for reasoning about multiple software quality attributes.
11/15/1995This whitepaper provides a conceptual overview of component-based software development (CBSD) and discusses how CBSD is changing the way large software systems are developed.
09/15/1995This paper presents Modechart, a specification language for hard-real-time embedded computer systems developed at the University of Texas at Austin. It presents the Modechart paradigm as an example of a fruitful trend for ADL research.
07/01/1995This paper gives a brief overview of the underlying technologies of the Simplex architecture, which was developed to support safe and reliable online upgrade of hardware and software components.
04/14/1995This paper presents a method for analyzing systems for nonfunctional qualities from the perspective of their software architecture and applies this method to the field of Internet information systems (IISs).
04/14/1995This paper discusses the approach taken in a pilot study to uncover the correlation, if any, between architectural influences and architectural decisions in large-scale, software-intensive development projects.
04/14/1995This 1995 whitepaper provides an overview of Architecture description languages (ADLs), an emerging notation for software architecture models.
03/01/1995This paper presents a case study in assessing the maintainability of a large, software intensive system. The techniques used are described, and their strengths and weaknesses discussed.
12/01/1994System designers use two primary ways of defining software architecture; this paper explains why neither alternative is adequate.
11/15/1994The increasing importance of software in systems is also driving the software architecture renaissance. This article provides a brief overview of some important architecture related efforts.
11/01/1994This whitepaper was presented at the Workshop on Software Architecture, USC Center for Software Engineering, Los Angeles, 1994, by Paul Clements.
01/01/1994This paper provides an introduction to the emerging field of software architecture.
08/01/1993This paper presents the structural modeling approach, an application framework and development process for the construction of flight simulators.
03/01/1993The "software architecture" level of software design was the subject of a course taught at the SEI in 1992. This report presents the motivation for the course, the content and structure of the current version, and plans for improving the next version.
11/01/1990This report describes the architecture of user interface systems, using a design space that identifies the key architectural choices and classifies the available alternatives.
11/01/1990The 1990 report describes a multi-dimensional design space that classifies system architectures.
For more information
Email: info@sei.cmu.edu
Call: 412-268-2358