This information sheet describes the SOA Migration, Adoption, and Reuse Technique (SMART), its benefits, and the SMART "family members."
The 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.
Information sheet describing the Advanced Software Architecture Workshop
This 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.
John Klein reviews the SEI perspective on architecture-centric engineering, and discusses how this approach scales from its original software context through systems-of-systems.
At 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.
Although 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?
To improve architecture capability, the SEI has developed a diagnostic method to systematically assess your architecture competence at the individual, team, and organizational levels.
This presentation will talk about the effect that service orientation has on system quality attributes. (50 mins)
In this 2011 presentation, Grace Lewis talks about the effect that service oriented architecture has on system quality attributes.
A one-page brochure about the SEI's hands-on software architecture course.
The goal of SEI research is to create best practices for architecture and design of systems that take advantage of the cloud, leading to greater system quality from both a consumer and provider perspective-.
This information sheet describes the Architecture Tradeoff Analysis Method (ATAM.)
This 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.
This 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.
Enabling Agility Through Architecture: A Crosstalk article by Nanette Brown, Rod Nord, and Ipek Ozkaya.
This information sheet describes experiments using SEI-developed prototypes for testing service-oriented computing with smartphones in tactical network environments.
This report summarizes a workshop on the analysis and evaluation of enterprise architectures that was held at the SEI in April of 2010.
This paper seeks to help organizations understand cloud computing essentials, including drivers for and barriers to adoption, in support of making decisions about adopting the approach.
This book provides the most complete and current guidance on how to capture a software architecture in a commonly understandable form.
The purpose of this report is to present an informal survey of technologies that are, or are likely to become, important for software-reliant systems of systems in response to current computing trends.
This 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.
Len Bass's keynote presentation from ICGSE 2010 talks about the structure of coordination models, especially after development has begun.
This report presents COVERT, an automated framework aimed at finding buffer overflows in C programs using state-of-the-art software verification tools and techniques.
This report attempts to facilitate better elicitation of high-pedigree quality attribute requirements by understanding how business goals influence quality attribute requirements and architectures.
Rob Wojcik discusses the the role that software architecture plays in an organization, the role of quality attribute requirements in architectural design, and more.
The 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.
The is a tutorial presentation on systems of systems and their organizational implications, including effects on governance and reward structures. Replete with examples.
Achieving 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.
Designing 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.
This 2009 technical note proposes a structured approach for reviewing architecture documentation that is centered on the documentation's stakeholders.
This 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,
This report presents the papers that were given at SEEUP 2009, held at the 31st ICSE in Vancouver, British Columbia on May 23, 2009.
This on-demand webinar gives an introductory view of cloud computing, a paradigm being adopted by commercial, government and DoD organizations(58 mins).
Video 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
This 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.
Tactics 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.
The findings suggest that Q Methodology may prove helpful in isolating many of the non-technical latent cost factors
associated with system integration and interoperability.
This position paper surveys the landscape of service-oriented architecture practice as it pertains to service-orientation maintenance and reengineering.
Paul 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.
This tool reveals details embedded in an organization’s typical work flows, their controlling stakeholders, and the important quality attributes associated with the performance of those dependencies.
This document highlights a new, systemic approach to risk management using recently released SEI Mosaic, a suite of methods that can be used across the life cycle and supply chain.
This report summarizes a June 2008 architecture competence workshop where practitioners discussed key issues in assessing architecture competence in organizations.
To 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)
Bachmann 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.
Create, Apply, and Amplify: A Story of Technology Development
Urs Andelfinger and Suzanne Garcia-Miller look at the possible implications of issues stemming from complex system of systems for IPPD content in CMMI V. 1.2 (2008 presentation).
The 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.
This 2008 report introduces the fundamental concepts, processes, and techniques of the evolving SoS Navigator approach. It also summarizes case studies that illustrate the use of SoS Navigator processes and tools in healthcare, military, and civilian government systems-of-systems contexts.
The 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.
Steps Toward Network-Centric Operation
Workshop Examines SOA Hard Problems and Potential Solutions
Presented: June 2007
This 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.
This report describes how architectural tactics are based on the parameters of quality attribute models.
presented as part of the SEI Software Architecture Workshop for Educators, August 2007
presented as part of the SEI Software Architecture Workshop for Educators, August 2007
The Fourth SEI Software Architecture Workshop for Educators was held at the Software Engineering Institute in Pittsburgh, PA on July 31- August 2, 2007.
Mitigating the Risk of Using Service-Oriented Architectures
Lessons Learned about Software Architecture
A presentation with audio
presentation made by Paul Clements at the SATURN 2007 Working Session "Architecture Competence," May 15, 2007
Presented: May 2007
presentation made by Mark Klein at the Third Annual SATURN Workshop, May 2007
presentation made by Stuart Kerrigan and Richard van Schelven at the Third Annual SATURN Workshop, May 2007
Presented: May 2007
presentation made at the 2007 SATURN Workshop
The Double Challenge in Engineering Complex Systems of Systems
ArchE-the Architecture Expert
This 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.
Army Engineering Center Chooses SMART Approach to SOA Planning
Challenges of Establishing Network-Centric Operations I: Technical Research Challenges
Presented: March 2007
Felix 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.
This book examines specific aspects of F/OSS in a way that is both scientifically rigorous and highly relevant to real-world managerial and technical concerns.
Workshop to Present Best Practices in Software Architecture
Improving Software Architecture Competence by Paul Clements, International Association of Software Architects (IASA), March 2007.
Software Architecture: The Next Generation
This 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.
This 2007 report lists conditions that must prevail to achieve effective acquisition, development, and use of systems of systems.
This report contains presents the results of an effort to improve the acquisition of software-intensive systems by focusing on acquisition programs, people, and production/sustainment and by institutionalizing continuous improvement.
This report revises the steps of the Attribute-Driven Design (ADD) method and offers practical guidelines for carrying out each step.
This page contains the slides for John Klein’s guest lecture for COMP 180: Software Engineering, held at Tufts University, during the 2006 fall semester.
This 2006 report explores how systems-of-systems realities necessitate changes in the processes used to acquire, develop, field, and sustain operational capability.
This 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.
In this report, five methods for the elicitation and expression of requirements are evaluated with respect to their ability to capture architecturally significant requirements.
This presentation on best practices in software architecture was delivered by Paul C. Clements of the Software Engineering Institute (SEI) on July 26, 2006.
This 2006 report presents a case for the investigation and adaptation of structural and dynamic modeling techniques to the engineering of systems of systems.
Best Practices in Software Architecture, by
Five Maxims about Emergent Behavior in Systems of Systems
In 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.
Quality Attributes and Service-Oriented Architectures
This page contains the slides from a working session conducted at the Software Architecture Technology User Network (SATURN) 2006 workshop, held in Pittsburgh, PA.
Presented: April 2006
Presented: April 2006
Presented: April 2006
This report examines selected aspects of autonomic computing and explores some of the strengths and weaknesses of that technology.
System-of-Systems Navigator: An Approach for Managing System-of-Systems Interoperability
A Unified Process Improvement Approach for Multi-Model Improvement Environments
This 2006 report facilitates discussion and reasoning about interoperation within systems of systems by showing some of the interdependencies among systems, emergence, and interoperation.
Presented: January 2006
This 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.
This 2005 report discusses the benefits and challenges of using a wiki-based collaborative environment to create software architecture documentation.
This report documents the proceedings of the Future Force Workshop held at the SEI in 2004.
This note describes an ARL implementation of two usability scenarios: displaying progress feedback and allowing cancel.
This 2005 report describes the application of a reasoning framework to the design of an industrial communications library and the problems that were found.
This 2005 report examines some of the complexities of interoperability and some recent research approaches to achieving it.
This 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.
This 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.
This report describes a process called context-based evaluation that determines the fitness of a technology within a specific context.
This presentation – on methodically designing software architecture using ArchE, an architecture design assistant – was presented by Felix Bachmann and Mark H. Klein in 2005.
Within the Department of Defense (DoD), government, and corporate worlds, large-scale systems of systems (SoS) are increasingly being put together in an unprecedented way. Establishing interoperability between the constituent systems is increasingly a key for an organization to meet its critical goals. However, as organizations envision transparent net-centric operations spanning a large number of systems, we have found that successfully achieving such a vision requires a fundamental shift in traditional ways of thinking about system development, acquisition, and management.
The Components of Software Architecture Design and Analysis
Integrating Architecture Methods: The Case of the QAW and the ADD Method
Service-Oriented Architectures as an Interoperability Mechanism
The Architecture Business Cycle Revisited: A Business Goals Taxonomy to Support Architecture Design and Analysis
Presented: January 2005
Nine Characteristics of a COTS and Reuse Management Plan
Three Perspectives Required of Service-Oriented Architectures
Integrating Architecture Methods: The Case of Extreme Programming
This report outlines several approaches to constructing systems of systems that have interoperability requirements, with respect to syntactic and semantic interoperability.
This report describes a technique that uses automatically generated runtime observations of an executing system to construct an architectural view of the system.
This 2004 report presents of a few of the many programs, technologies, and research efforts that are addressing the challenges faced by future systems.
The report presents a summary of XP (Extreme Programming) and examines the potential uses of the SEI's architecture-centric methods.
This report describes a design prototype that demonstrates a web-based approach to creating, communicating, and using software architecture throughout the life of the system.
This technical note explores assumptions management as a method for improving software quality.
This technical note reports on a proposal to integrate the SEI Quality Attribute Workshop (QAW) and the SEI Attribute-Driven Design (ADD) method.
This report presents a summary of the RUP (Rational Unified Process) and examines the potential uses of the SEI's architecture-centric methods.
This 2003 report focuses on COTS product evaluations conducted for the purpose of selecting products to meet a known need in a system.
David J. Carney and Tricia Oberndorf propose and discuss a unified model of interoperability for the integration of system of systems (SoSs) in this 2004 presentation.
This 2004 report explores how changes in UML 2.0 affect UML's suitability for documenting component and connector views.
This technical report documents the findings of an internal research and development effort on system of systems interoperability (SOSI).
This report explores the difficulties in using TRLs as they apply to NDI software technology and products, and explores an alternative set of readiness criteria.
This whitepaper describes patterns of interoperability conflicts along with their typical resolution in an effort to present reusable solutions for the design of integration architectures.
This document provides an overview of the three steps of the COTS Usage Risk Evaluation (CURE) that involve participation by the program’s team members. For each step, both the activity and the personnel expected to perform it are discussed.
Presented: March 2004
Emergent Issues in Interoperability
Integrating Architecture Methods: The Case of the Rational Unified Process
Making the Use of the DoDAF Easier for DoD Organizations
This 2004 report describes current research within the software engineering community on the topic of interoperability between software systems.
Guiding Principles for Interoperability
The Recovery of Runtime Architectures
This report describes the process of architecture reconstruction using the Dali architecture reconstruction workbench.
Presented: January 2004
Presented: January 2004
This 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.
Integrating Architecture Methods: The Case of the ATAM and the CBAM
Integrating Analysis and Design Methods for the Software Life Cycle
This technical note reports on a proposal to integrate the SEI ATAM (Architecture Tradeoff Analysis Method) and the CBAM (Cost Benefit Analysis Method).
The 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.
This 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.
This report describes the newly revised QAW (Quality Attribute Workshop) and describes potential uses of the refined scenarios generated during it.
Rethinking the Software Life Cycle
This report illustrates the use of model problems in the design of a system.
This 2003 report presents a procedure for moving from a set of quality attribute scenarios to an architecture design that satisfies those scenarios.
This report examines the architecture-centric analysis and design methods that were created at the SEI between 1993 and 2003.
This 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.
The core infrastructure of Globus Toolkit 3 (GT3 Core) is based on the Open Grid Services Infrastructure (OGSI) primitives and protocols. The main design goal has been to make the OGSI technology easy to use, reuse, and extend when developing new Grid applications.
A model of organisational interoperability is proposed in this paper which extends the LISI model into the more abstract layers of C2 Support, that is, the C2 Frameworks, C2 Processes and Information Management areas.
Documenting Software Architectures
This report contains a set of papers that focus on overcoming barriers to adopting research tools. The papers were presented at the Third International Workshop on Adoption-centric Software Engineering (ACSE).
This report documents the model of interoperability presented and the findings from the System of Systems Interoperability Workshop, held in February 2003.
This report provides software architects a chart for determining the relationships among techniques that promote different architectural qualities.
Architecture, 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.
This book provides an easily accessible overview of software architecture. Anyone requiring a comprehensive overview of the software architecture field will benefit from this book.
The Good News About COTS
This report summarizes the activities of the Workshop on the Department of the 2003 Defense Architecture Framework and Software Architecture workshop.
This 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.
This 2003 technical report provides the status on the work being done by the SEI to understand the relationship between quality requirements and architectural design.
Defining the Terms Architecture, Design, and Implementation
This paper outlines experiences with using economic criteria to make architecture design decisions.
Presented: December 2002
Modernizing Legacy Systems
This report, published in 2002, details the responsibilities that a system must implement to support command cancellation.
When 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.
The CBAM (Cost Benefit Analysis Method) extends the ATAM framework to elicit and model costs, benefits, and uncertainty.
The Evolution of Quality Attribute Workshops as an Architecture-Evaluation Technique
Building Systems from Commercial Components Using EPIC
Software Architecture Book Provides Practical Guidance about Documentation
This report describes the improvements to the CBAM (Cost Benefit Analysis Method) and provides a pilot case study conducted with NASA.
This 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.
This 2002 whitepaper presents a component model for redeveloping software.
Aligning Business Models, Business Architectures, and IT Architectures
This report provides guidance for documenting the interfaces to software elements.
This report explains the role of software architecture evaluation in a source selection and describes the contractual elements that are needed to support its use.
This 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.
Architectures for Adaptive Mobile Systems
Building Systems from Commercial Components: Classroom Experiences
Cost-Benefit Analysis Method
SEI Architecture Practices Propel Successful Startup
This 2002 report outlines details of past and current architecture reconstruction work on several systems at Nokia.
This report describes ways to document the behavior of systems, subsystems, and components of software architecture.
Automating Design Search
The 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.
This 2001 report summarizes the results of a study of the benefits of pitfalls of using open source software.
This 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.
This 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.
In this report, we compare the scenarios elicited from five ATAM (Architecture Tradeoff Analysis Method) evaluations with the scenarios used to characterize the quality attributes.
Economic Modeling of Software Architectures
Design and Search
That comprehensive handbook outlines how to produce high-quality documentation for software architectures.
This report describes the process of architecture reconstruction using the Dali architecture reconstruction workbench.
This 2001 report discusses alternative development approaches for incrementally modernizing legacy systems.
Using Quality Attribute Workshops to Evaluate Early-Stage Architecture Design Decisions
Building Systems from Commercial Components Using Model Problems
Software Architecture Evaluation: A Key to System Success
OAR is a systematic, architecture-centric, decision-making method for mining existing components for a product line or new software architecture.
This 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.
This 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.
This 2001 document discusses various risks and provides guidance that may be used to mitigate those risks.
This paper outlines an approach to improving the usability of software systems by means of software architectural decisions.
This report addresses mechanisms that significantly affect quality attribute behavior and have sufficient content for analysis.
This 2000 report is intended for Coast Guard program and assistant program
managers who will acquire systems containing commercial software products while adopting an open system strategy.
This report elaborates an example of the application of the ABD (Architecture-Based Design) method to designing software architecture.
Wheels Within Wheels: Model Problems in Practice
This report presents technical and organizational foundations for performing architectural analysis, and presents the SEI's ATAM, a technique for analyzing software architectures.
The target, evaluation criteria, yardstick, data-gathering techniques, synthesis techniques and evaluation process of ATAM are identified and analyzed in this report.
This paper describes ARID, a piloted software design review technique.
Quality Attribute Workshop
Attribute-Based Architectural Styles
Just In Time Component Competence
Quality Attribute Workshops
An Architectural Approach to Software Cost Modeling
The COTS Spot - Volume 3 | Issue 1 | March 2000
The 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.
This paper presents the Architecture Based Design (ABD) method for designing the high-level software architecture for a product line or long-lived system.
This 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.
This 1999 report details the construction/deployment scripts for GEE (generic enterprise ensemble), a prototypical three-tier information system incorporating a number of commercial off-the-shelf (COTS) products.
The Elusive Search for Categories
Software Architecture Evaluation in the DoD Systems Acquisition Context
This 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.
This 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.
Who's in Charge Here?
The Perils and Joys of Reconstructing Architectures
This report provides a set of DoD legacy system migration guidelines.
This 1999 report outlines the foundation of a structured and coherent method, based on the "horseshoe" model, that will help practitioners make appropriate reengineering choices.
This 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.
This report compares GEE-based solutions and off-the-shelf solutions based on the EJB specification.
Requirements and COTS-Based Systems: A Thorny Question Indeed
Using Scenarios in Architecture Evaluations
This report presents a description of architecture-centric system development.
In this report, the authors discuss building blocks and techniques for fault-tolerant, real-time applications based on CORBA.
COTS Product Evaluation and System Design
Analyzing Quality Attributes
This 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.
Making Team Plans
COTS Evaluation in the Real World
Representing Software Architecture
This monograph offers a "heads-up" to decision makers who are building information systems that have security constraints, who feel the market imperatives, and who want to make opportunistic use of what the market has to offer.
This Monograph examines seven documents that contain official guidance regarding the use of COTS products in Government systems.
Evaluation of COTS Products: Some Thoughts on the Process
Are Software Architects Like Building Architects?
This 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.
This monograph reports on a DoD program that undertook a detailed evaluation effort that examined several commercial products as candidates for a large information system.
The expected audience for this monograph is a general audience, and the major issues tend to be more programmatic and managerial rather than purely technical.
This 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.
This paper presents some of the steps in an emerging architecture tradeoff analysis method (ATAM).
This paper describes a system, called IAPR, that aids in architectural exploration and measurement by attempting to match patterns to an architecture.
This monograph provides an overview of a method for isolating and overcoming faults in COTS-based systems.
This monograph offers a practical rather than theoretical approach to the issues of COTS and open systems.
This report outlines a comprehensive system evolution approach that incorporates an enterprise framework for the application of the promising technologies in the context of legacy systems.
This 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.
This 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.
This 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.
This report documents the proceedings of the first Workshop on COTS-Based Systems, held at the SEI in June 1997.
This 1997 report describes an enterprise framework that characterizes the global environment in which system evolution takes place and provides insight into the activities, processes, and work products that shape the evolution of legacy systems.
This paper presents Dali, an open, lightweight workbench that aids an analyst in extracting, manipulating, and interpreting architectural information.
This monograph provides an in-depth technical study about a COTS-based information system made up of several commercial components.
This monograph, the first in a series, illuminates some general issues that can arise when pursuing a COTS-based approach in complex, heterogeneous systems.
This report describes a few principles for analyzing a software architecture to determine if it exhibits certain quality attributes.
This report details the results of two workshops on software architecture evaluation, held at the SEI in 1996.
This 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.
This 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.
This 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.
This report summarizes software architecture for an intended audience of mid to senior level management.
This 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.
This 1996 report identifies a set of promising lines of research related to software architecture and architecture-based system development.
This report describes efforts to develop a unifying approach for reasoning about multiple software quality attributes.
This whitepaper provides a conceptual overview of component-based software development (CBSD) and discusses how CBSD is changing the way large software systems are developed.
This 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.
This report describes ConOps and transition strategy for the product line approach to software systems development at the Air Force ESC.
This 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.
These report includes the presentations and main highlights from the discussions of the SEI/MCC Symposium on the Use of COTS in Systems Integration, held at the SEI in January 1995.
This 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).
This 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.
This 1995 whitepaper provides an overview of Architecture description languages (ADLs), an emerging notation for software architecture models.
This 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.
System designers use two primary ways of defining software architecture; this paper explains why neither alternative is adequate.
The 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.
This whitepaper was presented at the Workshop on Software Architecture, USC Center for Software Engineering, Los Angeles, 1994, by Paul Clements.
This paper provides an introduction to the emerging field of software architecture.
This book contains a collection of quantitative methods that enable real-time systems developers to understand, analyze, and predict the timing behavior of many real-time systems.
This paper presents the structural modeling approach, an application framework and development process for the construction of flight simulators.
The "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.
The 1990 report describes a multi-dimensional design space that classifies system architectures.
This report describes the architecture of user interface systems, using a design space that identifies the key architectural choices and classifies the available alternatives.