1 Introduction to the Special Issue on Software Architecture DRAFT: Do Not Distribute (2009)
I. What is software architecture?
Draft: Submitted for publication (March 1999) F ORMAL M ODELING OF (2009)
The E Nterprise, J Avab, Eans Tm, C Omponent, I Ntegration, F Ramework, ...
An emerging trend in the engineering of complex systems is the use of component integration frameworks. Such a framework prescribes an architectural design that permits flexible composition of...
Submitted for publication Using Architectural Style as a Basis for System Self-repair (2009)
Shang-wen Cheng, David Garlan, Bradley Schmerl, João Pedro Sousa, Bridget Spitznagel, Peter Steenkiste, ...
An increasingly important requirement for software systems is the capability to adapt at run time in order to accommodate varying resources, system errors, and changing requirements. For such...
Dr. Jonathan Aldrich, Dr. David Garlan, Bradley Schmerl, Tony Tseng
• Solution space expands with decrease in abstraction level • Narrow down implementation space with specific middleware (or runtime libraries) 3 Abstract and Concrete Views 4 Key Challenges •...
Architectural Mismatch: Why Reuse is Still So Hard (2009)
Garlan, David, Allen, Robert, Mark Ockerbloom, John
In this article, David Garlan, Robert Allen, and John Ockerbloom reflect on the state of architectural mismatch, a term they coined in their 1995 IEEE Software article, "Architectural Mismatch:...
Abstract Exploiting Style in Architectural Design Environments (2009)
As the design of software architectures emerges as a discipline within software engineering, it will become increasingly important to support architectural description and analysis with tools and...
Abstract Analyzing Architectural Styles (2008)
The backbone of many software architectures and component integration frameworks is an architectural style that provides a domain-specific design vocabulary and a set of constraints on how that...
Architecture-based selfadaptation in the presence of multiple objectives (2008)
Shang-wen Cheng, David Garlan, Bradley Schmerl
In the world of autonomic computing, the ultimate aim is to automate human tasks in system management to achieve highlevel stakeholder objectives. One common approach is to capture and represent...
Robert T. Monroe, Andrew Kompanek, Ralph Melton, David Garlan, Styles Design, Robert T. Monroe, ...
This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying...
ABSTRACT Design Fragments Make Using Frameworks Easier (2008)
George Fairbanks, David Garlan, William Scherlis
Object oriented frameworks impose additional burdens on programmers that libraries did not, such as requiring the programmer to understand the method callback sequence, respecting behavior...
The Architect The Recovery of Runtime Architectures (2008)
Rick Kazman, Hong Yan, David Garlan, Bradley Schmerl, Jonathan Aldrich
An increasingly important requirement for software-based systems is their ability to adapt at run time to handle such things as resource variability, changing user needs, changing demands, and system...
Submitted for publication Dynamic Architecture-Based Monitoring (2008)
David Garlan, Bradley Schmerl, Jichuan Chang
Increasingly, systems need to have the ability to adapt at runtime. In the past, system adaptation has been coded into each application, making it costly to modify the adaptation policy or mechanism,...
Robert DeLine Resolving Packaging Mismatch (2008)
David Garlan, Daniel Jackson, Copyright Robert Deline
Foundation (nsf) under grant ccr-9357792. The views and conclusions contained in this docu� ment are those of the author and should not be interpreted as representing the official policies, either...
Abstract Architectural Mismatch or Why it’s hard to build systems out of existing parts (2008)
Many would argue that future breakthroughs in software productivity will depend on our ability to combine existing pieces of software to produce new applications. An important step towards this goal...
Marwan Abi-antoun, Jonathan Aldrich, David Garlan, Bradley Schmerl, Nagi Nahas, Tony Tseng
We demonstrate a tool to incrementally synchronize an Acme architectural model described in the Acme Architectural Description Language (ADL) with an implementation in ArchJava, an extension of the...
Received (Day Month Year) Revised (Day Month Year) (2008)
Current desktop environments provide weak support for carrying out complex user-oriented tasks. Although individual applications are becoming increasingly sophisticated and feature-rich, users must...
Making Self-Adaptation an Engineering Reality (2008)
Márk Jelasity, Alberto Montresor, Christof Fetzer, Stefano Leonardi, Aad Van, Shang-wen Cheng, ...
Abstract. In this paper, we envision a world where a software engineer could take an existing software system, specify, for a set of properties of interest, an objective, conditions for change, and...
Marwan Abi-antoun, Jonathan Aldrich, David Garlan, Bradley Schmerl, Nagi Nahas, Tony Tseng
Developing dependable software systems requires enforcing conformance between architecture and implementation during software development and evolution. We address this problem with a multi-pronged...
Roshanak Rosh, Bradley Schmerl, Nenad Medvidovic, David Garlan, Dehua Zhang
Over the past decade a number of architecture description languages (ADLs) have been proposed to facilitate modeling and analysis of software architecture. While each claims to have various benefits,...
David Garlan, Vahe Poladian, Bradley Schmerl, João Pedro Sousa
Recently there has been increasing interest in developing systems that can adapt dynamically to cope with changing environmental conditions and unexpected system errors. Most efforts for achieving...
An Architecture for Personal Cognitive Assistance (2008)
Abstract. Current desktop environments provide weak support for carrying out complex user-oriented tasks. Although individual applications are becoming increasingly sophisticated and featurerich,...
implementation conforms to architecture Implementation-Level Architecture (2008)
Marwan Abi-antoun, Jonathan Aldrich, David Garlan, Bradley Schmerl, Nagi Nahas
• Runtime software architecture views • Components, connectors, and constraints on how they interact • Benefits of architecture contingent upon correct implementation • Program understanding...
Match Architectural structure (2008)
Marwan Abi-antoun, Jonathan Aldrich, David Garlan, Bradley Schmerl, Nagi Nahas, Tony Tseng, ...
Many architectural description languages,
Conformance with ArchJava (2008)
Marwan Abi-antoun, Jonathan Aldrich, David Garlan, Bradley Schmerl, Nagi Nahas, Tony Tseng, ...
• Software Architecture – High level design of a software system – Components, connectors, and constraints on how they interact
Ince The Early, Joëlle Coutaz, James L. Crowley, Simon Dobson, David Garlan, Jane Use The
Context informs both recognition and mapping by providing a structured, unified view of the world in which the system operates. This is an ambitious goal, especially compared to current systems that...
Felix Bachmann, Felix Bachmann, Len Bass, Len Bass, Paul Clements, Paul Clements, ...
Architecture Tradeoff Analysis Initiative Unlimited distribution subject to the copyright. This report was prepared for the
Carnegie Mellon, Felix Bachmann, Len Bass, Paul Clements, David Garlan, James Ivers, ...
Unlimited distribution subject to the copyright. This report was prepared for the
Edmund Clarke, David Garlan, Bruce Krogh, Reid Simmons, Jeannette Wing
The success of safety-critical NASA missions depends on reliable software. As both space and ground software systems become more complex, and increasingly more autonomous, guarantees of software...
Component I Ntegrat, I On Framework, Joo Pedro Sousa, David Garlan
An emerging trend in the engineering of complex systems is the use of component integration frameworks. Such a framework prescribes an architectural design that permits flexible composition of...
Verification Tools for Embedded Systems (2007)
Edmund Clarke, David Garlan, Bruce Krogh, Reid Simmons, Jeannette Wing
We propose a five-year research initiative at Carnegie Mellon University to create a new generation of formal verification tools that can be integrated into design environments for the complex,...
David Garlan, Erik Mettala, Dewayne E. Perry
in the system, while connectors define the interactions between those components. These interactions can be as simple as procedure calls or data sharing, or can be as complex as pipes, event...
Abstract Architectural Mismatch or Why it’s hard to build systems out of existing parts (2007)
Many would argue that future breakthroughs in software productivity will depend on our ability to combine existing pieces of software to produce new applications. An important step towards this goal...
Abstract Architectural Mismatch or Why it’s hard to build systems out of existing parts (2007)
Many would argue that future breakthroughs in software productivity will depend on our ability to combine existing pieces of software to produce new applications. An important step towards this goal...
Abstract Exploiting Style in Architectural Design Environments (2007)
As the design of software architectures emerges as a discipline within software engineering, it will become increasingly important to support architectural description and analysis with tools and...
Beyond Desktop Management: Scaling Task Management in Space and Time (2007)
Computers support more and more daily activities for common users, and users increasingly take their activities to different locations. Rather than being bound to a specific device, users would like...
Leveraging Resource Predictions in Anticipatory Dynamic Configuration (2007)
Vahe Poladian, David Garlan, Mary Shaw, Bradley Schmerl, João Sousa
Self-adapting systems based on multiple concurrent applications must decide how to allocate scarce resources to applications and how to set the quality parameters of each application to best satisfy...
Program comprehension as fact finding (2007)
Thomas D. Latoza, David Garlan, James D. Herbsleb, Brad A. Myers
Little is known about how developers think about design during code modification tasks or how experienced developers ’ design knowledge helps them work more effectively. We performed a lab study in...
As software systems become more complex the overall system structure - or software architecture - becomes a central design problem. An important step towards an engineering discipline of software is...
Documenting Component and Connector Views with UML 2.0 (2006)
Ivers, James, Clements, Paul, Garlan, David, Nord, Robert, Schmerl, Bradley, Silva, Jaime R.
The widespread presence of the Unified Modeling Language (UML) has led practitioners to try to apply it when documenting software architectures. While early versions of UML have been adequate for...
Differencing and Merging of Architectural Views (2006)
Abi-Antoun, Marwan, Aldrich, Jonathan, Nahas, Nagi, Schmerl, Bradley, Garlan, David
As architecture-based techniques become more widely adopted, software architects face the problem of reconciling different versions of architectural models. However, existing approaches to...
Schmerl, Bradley, Aldrich, Jonathan, Garlan, David, Kazman, Rick, Yan, Hong
One of the challenging problems for software developers is guaranteeing that a system as built is consistent with its architectural design. In this paper we describe a technique that uses run time...
Giving Users the Steering Wheel for Guiding Resource-Adaptive Systems (2006)
Sousa, Joao P., Balan, Rajesh K., Poladian, Vahe, Garlan, David, Satyanarayanan, Mahadev
Addressing resource variation plays an increasingly important role in engineering today's software systems. Research in resource-adaptive applications takes an important step towards addressing this...
Differencing and Merging of Architectural Views (2006)
Marwan Abi-Antoun, Jonathan Aldrich, Nagi Nahas, Bradley Schmerl, David Garlan
Existing approaches to differencing and merging architectural views are based on restrictive assumptions such as requiring view elements to have unique identifiers or exactly matching types.
Differencing and Merging of Architectural Views (2006)
Marwan Abi-antoun, Jonathan Aldrich, Nagi Nahas, Bradley Schmerl, David Garlan
As architecture-based techniques become more widely adopted, software architects face the problem of reconciling different versions of architectural models. However, existing approaches to...
Differencing and Merging of Architectural Views (2006)
Marwan Abi-antoun, Jonathan Aldrich, Nagi Nahas, David Garlan
Abstract. Differencing and merging architectural views is an important activity in software engineering. However, existing approaches are still based on restrictive assumptions, such as requiring...
Differencing and Merging of Architectural Views (2006)
Marwan Abi-antoun, Jonathan Aldrich, Nagi Nahas, David Garlan
Abstract. Differencing and merging architectural views is an important activity in software engineering. However, existing approaches are still based on restrictive assumptions, such as requiring...
Bradley Schmerl, Jonathan Aldrich, David Garlan, Rick Kazman, Hong Yan
One of the challenging problems for software developers is guaranteeing that a system as built is consistent with its architectural design. In this paper we describe a technique that uses run time...
Synchronized Architectures for Adaptive Systems (2005)
Seceleanu, Tiberiu, Garlan, David
In this paper we demonstrate how to use action systems to specify and refine self-adaptive systems. Focusing on the special case in which there are a fixed set of possible configurations, we use a...
Improving System Dependability by Enforcing Architectural Intent (2005)
Marwan Abi-Antoun, Jonathan Aldrich, David Garlan, Bradley Schmerl, Nagi Nahas, Tony Tseng
Developing dependable software systems requires enforcing conformance between architecture and implementation during software development and evolution. We address this problem with a multi-pronged...
Modeling and Implementing Software Architecture with Acme and ArchJava (2005)
Marwan Abi-Antoun, Jonathan Aldrich, David Garlan, Bradley Schmerl, Nagi Nahas, Tony Tseng
We demonstrate a tool to incrementally synchronize an Acme architectural model described in the Acme Architectural Description Language (ADL) with an implementation in ArchJava, an extension of the...
Improving System Dependability by Enforcing Architectural Intent (2005)
Marwan Abi-antoun, Jonathan Aldrich, David Garlan, Bradley Schmerl, Nagi Nahas, Tony Tseng
Developing dependable software systems requires enforcing conformance between architecture and implementation during software development and evolution. We address this problem with a multi-pronged...
Giving users the steering wheel for guiding resource-adaptive systems (2005)
João P. Sousa, Rajesh K. Balan, Vahe Poladian, David Garlan, Mahadev Satyanarayanan
This material is based upon work supported by the National Science Foundation (NSF) under
Giving users the steering wheel for guiding resource-adaptive systems (2005)
João P. Sousa, Rajesh K. Balan, Vahe Poladian, David Garlan, Mahadev Satyanarayanan
This material is based upon work supported by the National Science Foundation (NSF) under
Capitalizing on Awareness of User Tasks for Guiding SelfAdaptation (2005)
João Pedro Sousa, Vahe Poladian, David Garlan, Bradley Schmerl
Abstract. Computers support more and more tasks in the personal and professional activities of users. Such user tasks increasingly span large periods of time and many locations across the enterprise...
DiscoTect: A System for Discovering Architectures from Running Systems (2004)
Hong Yan, David Garlan, Bradley Schmerl, Jonathan Aldrich, Rick Kazman
One of the challenging problems for software developers is guaranteeing that a system as built is consistent with its architectural design. In this paper we describe a technique that uses run time...
Rainbow: Architecture-based self-adaptation with reusable infrastructure (2004)
Shang-wen Cheng, An-cheng Huang, David Garlan, Bradley Schmerl, Peter Steenkiste
Software-based systems today are increasingly expected to dynamically self-adapt to accommodate resource variability, changing user needs, and system faults. Recent work uses closed-loop control...
An Architecture for Coordinating Multiple Self-Management Systems (2004)
Shang-wen Cheng, An-cheng Huang, David Garlan, Bradley Schmerl, Peter Steenkiste
A common approach to adding self-management capabilities to a system is to provide one or more external control modules, whose responsibility is to monitor system behavior, and adapt the system at...
Documenting Component and Connector Views (2004)
James Ivers, Paul Clements, David Garlan, Robert Nord, Bradley Schmerl, Jaime Rodrigo, ...
Unlimited distribution subject to the copyright.
DiscoTect: A System for Discovering Architectures from Running Systems (2004)
Hong Yan, David Garlan, Bradley Schmerl, Jonathan Aldrich, Rick Kazman
One of the challenging problems for software developers is guaranteeing that a system as built is consistent with its architectural design. In this paper we describe a technique that uses run time...
Dynamic Configuration Of Resource-Aware Services (2004)
Vahe Poladian, David Garlan, Mary Shaw, Joao Pedro Sousa
the ability to adapt at run time, taking advantage of local computing devices, and coping with dynamically changing resources. Three specific technical challenges in satisfying this requirement are...
An Architecture for Coordinating Multiple Self-Management Systems (2004)
Shang-wen Cheng, An-cheng Huang, David Garlan, Bradley Schmerl, Peter Steenkiste
A common approach to adding self-management capabilities to a system is to provide one or more external control modules, whose responsibility is to monitor system behavior, and adapt the system at...
Hong Yan, Jonathan Aldrich, David Garlan, Rick Kazman, Hong Yan, Jonathan Aldrich, ...
Software Architecture Technology Initiative Unlimited distribution subject to the copyright. This report was prepared for the
Building Self-configuring Services Using Service-specific Knowledge (2004)
An-cheng Huang, David Garlan, Srinivasan Seshan
N6600196C8528. The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of any...
Edinburgh, Scotland, UK Workshop Organization Program Co-Chairs (2004)
Antonio Carzaniga, Pascal Fenkam, Bernhard Aichernig, Jean Bacon, Gianpaolo Cugola, Juergen Dingel, ...
João Pedro Sousa, David Garlan, João Pedro Sousa, David Garlan, João Pedro Sousa, David Garlan
everyday computing, self-configurable systems, adaptive systems, modeling user preferences, utility-based adaptation, resource-adaptive applications. ii Aura Software Architecture Computers support...
Building Self-configuring Services Using Service-specific Knowledge (2004)
An-cheng Huang, David Garlan, Srinivasan Seshan
N6600196C8528. The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of any...
Discovering Architectures from Running Systems: Lessons Learned (2004)
Bradley Schmerl, Jonathan Aldrich, David Garlan, Rick Kazman, Hong Yan
Abstract—One of the challenging problems for software developers is guaranteeing that a system as built is consistent with its architectural design. In this paper, we describe a technique that uses...
A practical method for documenting software architectures (2003)
Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, ...
A practical approach for documenting software architectures is presented. The approach is based on the well-known architectural concept of views, and holds that documentation consists of documenting...
A practical method for documenting software architectures (2003)
Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, ...
A practical approach for documenting software architectures is presented. The approach is based on the well-known architectural concept of views, and holds that documentation consists of documenting...
Model checking publish-subscribe systems (2003)
David Garlan, Serge Khersonsky, Jung Soo Kim
Abstract. While publish-subscribe systems have good engineering properties, they are difficult to reason about and to test. Model checking such systems is an attractive alternative. However, in...
Using Testbeds to Accelerate Technology Maturity and Transition: The SCRover Experience, USC (2003)
Barry Boehm, Jesal Bhuta, David Garlan, Eric Gradman, Liguo Huang, Er Lam, ...
alexankl,madachy,neon,stevenme,
International Workshop On, Vahe Poladian, Shawn Butler, Mary Shaw, David Garlan
Time is money", or so goes the old saying. Perhaps influenced by this aphorism, some strategies for incorporating costs in the analysis of software design express all costs in currency units for...
The Aura Software Architecture: an Infrastructure for Ubiquitous Computing (2003)
Joao Pedro Sousa, João Pedro Sousa, David Garlan, David Garlan
Computing environments of the future should enable mobile users to take full advantage of the computing capabilities available at each location, while allowing them to focus on their real tasks,...
Improving User-Awareness by Factoring it out of Applications (2003)
Joao Pedro Sousa, David Garlan
Computers support more and more daily activities for common users.
Documenting Software Architectures: Views and Beyond (2002)
Paul Clements, David Garlan, Reed Little, Robert Nord, Judith Stafford
Software architecture has emerged as a foundational concept for the successful development of large, complex systems. Signs that the field is maturing to become an engineering discipline include...
Software Architecture-based Adaptation for Grid Computing (2002)
Shang-wen Cheng, David Garlan, Bradley Schmerl, Peter Steenkiste, Ningning Hu
Grid applications must increasingly self-adapt dynamically to changing environments. In most cases, adaptation has been implemented in an ad hoc fashion, on a perapplication basis. This paper...
Software architecture-based adaptation for pervasive systems (2002)
Shang-wen Cheng, David Garlan, Bradley Schmerl, João Pedro Sousa, Bridget Spitznagel, Peter Steenkiste, ...
Abstract. An important requirement for pervasive computing systems is the ability to adapt at runtime to handle varying resources, user mobility, changing user needs, and system faults. In this paper...
Project aura: Toward distraction-free pervasive computing (2002)
David Garlan, Daniel P. Siewiorek, Peter Steenkiste
The most precious resource in a computer system is no longer its processor, memory, disk, or network, but rather human attention. Aura aims to minimize distractions on a user’s attention, creating...
Aura: An Architectural Framework for User Mobility in Ubiquitous Computing Environments (2002)
João Pedro Sousa, David Garlan
Ubiquitous computing poses a number of challenges for software architecture.
Project Aura: Toward Distraction-Free Pervasive Computing (2002)
David Garlan, Daniel P. Siewiorek, Peter Steenkiste
this article is directly due to Satya and his students, and he coauthored earlier drafts of this article. We also thank the students and colleagues in Project Aura---in particular, Joshua Anhalt,...
Submitted for publication 20 April 2001 From Computers Everywhere to Tasks Anywhere: (2002)
The Aura Approach, João Pedro Sousa, David Garlan
A critical problem for ubiquitous systems engineering is to exploit resource-rich environments without burdening the user with their configuration and management. A particularly important aspect of...
Software Architecture-based Adaptation for Grid Computing (2002)
Shang-wen Cheng, David Garlan, Bradley Schmerl, Peter Steenkiste, Ningning Hu
Grid applications must increasingly self-adapt dynamically to changing environments. In most cases, adaptation has been implemented in an ad hoc fashion, on a perapplication basis. This paper...
Documenting Software Architecture: Documenting Interfaces (2002)
Len Felix Bachmann, Felix Bachmann, Len Bass, Len Bass, Paul Clements, Paul Clements, ...
v 1
Using Architectural Style as a Basis for System Self-repair (2002)
Shang-wen Cheng, David Garlan, Bradley Schmerl, João Pedro Sousa, Bridget Spitznagel, Peter Steenkiste
Abstract: An increasingly important requirement for software systems is the capability to adapt at run time in order to accommodate varying resources, system errors, and changing requirements. For...
Software architecture-based adaptation for pervasive systems (2002)
Shang-wen Cheng, David Garlan, Bradley Schmerl, João Pedro Sousa, Bridget Spitznagel, Peter Steenkiste, ...
Abstract. An important requirement for pervasive computing systems is the ability to adapt at runtime to handle varying resources, user mobility, changing user needs, and system faults. In this paper...
Model-based Adaptation for Self-Healing Systems (2002)
Traditional mechanisms that allow a system to detect and recover from errors are typically wired into applications at the level of code where they are hard to change, reuse, or analyze. An...
Aura: an architectural framework for user mobility in ubiquitous computing environments (2002)
João Pedro Sousa, João Pedro Sousa, David Garlan, David Garlan
Abstract: Ubiquitous computing poses a number of challenges for software architecture. One of the most important is the ability to design software systems that accommodate dynamically-changing...
Software Architecture-based Adaptation for Grid Computing (2002)
Shang-wen Cheng, David Garlan, Bradley Schmerl, Peter Steenkiste, Ningning Hu
Grid applications must increasingly self-adapt dynamically to changing environments. In most cases, adaptation has been implemented in an ad hoc fashion, on a perapplication basis. This paper...
Felix Bachmann, Paul Clements, David Garlan, James Ivers, Reed Little, Robert Nord, ...
SEI Workshop on
Component-based software engineering in pervasive computing environments (2001)
Being able to find, adapt, and incorporate disparate components to form working, reliable applications is the goal of component-based software engineering. To date, there has been a lot of research,...
A feasibility study of the HLA bridge (2001)
Juergen Dingely David, David Garlanz, Craig A. Damonx, C Fljurgen Dingel, David Garlan, Craig A. Damon
The High-Level Architecture (HLA) provides a common architecture for distributed modeling and simulation. In its original form the HLA allows a number of simulations to be joined together into a...
A feasibility study of the HLA bridge (2001)
Juergen Dingely, David Garlanz, Craig A. Damonx, C Jürgen Dingel, David Garlan, Craig A. Damon
yQueen’s University
Documenting Software Architectures: Recommendations for Industrial Practice (2000)
David Garlan, João Pedro Sousa
An important issue for software system development is the documentation of architecture designs. In this report, we describe techniques for the architectural documentation of software-based systems...
We are moving towards a world of pervasive computing in which users can access and manipulate information from anywhere at anytime. Computing devices and networks are becoming ubiquitous. In this new...
Software Architecture Documentation in Practice: Documenting Architectural Layers (2000)
Felix Bachmann, Felix Bachmann, Len Bass, Len Bass, Jeromy Carriere, Jeromy Carriere, ...
iii Preface to the Special Report v Preface to Software Architecture Documentation in Practice vii 1 Documenting Software Architectures 1 1.1 Rules for Sound Documentation 2 1.2 Views 6 1.3 Uses of...
Reconciling The Needs of Architectural Description with Object-Modeling Notations (2000)
David Garlan, Andrew J. Kompanek, Pedro Pinto
Complex software systems require expressive notations for representing their software architectures. Two competing paths have emerged. One is to use a specialized notation for architecture – or...
Reconciling The Needs of Architectural Description with Object-Modeling Notations (2000)
David Garlan, Shang-wen Cheng, Andrew J. Kompanek
Abstract. Complex software systems require expressive notations for representing their software architectures. Two competing paths have emerged. One is to use a specialized notation for architecture,...
Verification Tools for Autonomous and Embedded Systems 1 Overview (2000)
Al Bryant, Edmund Clarke, David Garlan, Bruce Krogh, Reid Simmons, Jeannette Wing
Society depends increasingly on computers to perform tasks that affect and enrich our daily lives. These computers help run our power plants, monitor our heartbeat, drive our cars, cook our food, and...
Experience With a Course on Architectures for Software Systems. Part 1. Course Description, (1998)
Garlan, David, Shaw, Mary, Okasaki, Chris, Scott, Curtis M., Swonger, Roy F.
As software systems grow in size and complexity their design problem extends beyond algorithms and data structures to issues of system design. This area receives little or no treatment in existing...
Reactive Integration for Traditional Programming Languages. (1998)
Reactive integration based on event broadcast is an increasingly important technique for developing systems. However, the use of this technique has largely been confined to tool integration systems -...
This curriculum development project had as its primary goal the development of a course that augments existing undergraduate software curricula by teaching concepts, techniques, and examples at the...
The CMU Masters in Software Engineering Core Curriculum, (1998)
Garlan, David, Brown, Alan, Jackson, Daniel, Tomayko, Jim, Wing, Jeannette
Since 1989 Carnegie Mellon University has offered an academic program leading to a professional Master of Software Engineering (MSE) degree. The objective of the MSE program is to develop technical...
An Introduction to Software Architecture. (1998)
As the size of software systems increases, the algorithms and data structures of the computation no longer constitute the major design problems. When systems are constructed from many components, the...
An Introduction to Software Architecture. (1998)
As the size of software systems increases, the algorithms and data structures of the computation no longer constitute the major design problems. When systems are constructed from many components, the...
Characteristics of Higher-Level Languages for Software Architecture. (1998)
As the size and complexity of software systems increases, the design and specification of overall system structure-or software architecture-emerges as a central concern. Architectural issues include...
Formalizing Style to Understand Descriptions of Software Architecture. (1998)
Abowd, Gregory, Allen, Robert, Garlan, David
The software architecture of most systems is usually described informally and diagrammatically by means of boxes and lines. In order for these descriptions to be meaningful, the diagrams are...
Garlan, David, Shaw, Mary, Galmes, Jose
This report contains the materials used by the instructors to teach the course CS 15-775: Architectures for Software Systems in Spring 1994 in the School of Computer Science at Carnegie Mellon...
Building Whole Applications Using Only Programming-by-Demonstration. (1998)
McDaniel, Richard G., Myers, Brad A., Garlan, David, Dannenberg, Roger B., Wolber, David
Present day tools require a developer to learn complex programming languages to build modem interactive software. However, the effort used to create such software such as games, simulations, and...
Software Architecture Documentation in Practice: Documenting Architectural Layers (1998)
Bachmann, Felix, Bass, Len, Carriere, Jeromy, Clements, Paul, Garlan, David
This report represents the first milestone of a work in progress. That work is a comprehensive handbook on how to produce high-quality documentation for software architectures. The handbook,...
We are moving towards a world of pervasive computing in which users can access and manipulate information from anywhere at anytime. Computing devices and networks are becoming ubiquitous. In this new...
Documenting Software Architectures: Recommendations for Industrial Practice (1998)
An important issue for software system development is the documentation of architecture designs. In this report, we describe techniques for the architectural documentation of software-based systems...
Formal Modeling of the Enterprise JavaBeans(TM) Component Integration Framework (1998)
An emerging trend in the engineering of complex systems is the use of component integration frameworks. Such a framework prescribes an architectural design that permits flexible composition of...
A Technology Investigation Supporting Software Architecture and Analysis for Evolution (1998)
Garlan, David, Shaw, Mary, Wing, Jeannette
In this report we summarize the approaches and result of the project "A Technology Investigation Supporting Software Architecture and Analysis for Evolution," carried out at Carnegie Mellon...
SEI Workshop on Software Architecture Representation, 16-17 January 2001 (1998)
Bachmann, Felix, Clements, Paul, Garlan, David, Ivers, James, Little, Reed
To further its work in architecture related ideas, the SEI held its first Architecture Representation Workshop, January 16-17, 2001. Five leading software architects and practitioners were invited to...
Documenting Software Architectures: Organization of Documentation Package (1998)
Bachmann, Felix, Bass, Len, Clements, Paul, Garlan, David, Ivers, James
This report represents a milestone of a work in progress. That work is a comprehensive handbook on how to produce high-quality documentation for software architectures. The handbook, tentatively...
Documenting Software Architecture: Documenting Behavior (1998)
Bachmann, Felix, Bass, Len, Clements, Paul, Garlan, David, Ivers, James
This report represents another milestone of a work in progress: a comprehensive handbook on how to produce high-quality documentation for software architectures. The handbook, tentatively titled...
Documenting Software Architecture: Documenting Interfaces (1998)
Bachmann, Felix, Bass, Len, Clements, Paul, Garlan, David, Ivers, James
This is the fourth in a series of SEI reports on documenting software architectures. This report details guidance for documenting the interfaces to software elements. It prescribes a standard...
ACME: A Basis for Architecture Exchange (1998)
The Acme project began with the goal of providing a common language that could be used to support the interchange of architectural descriptions between a variety of design tools. It remains useful in...
RAINBOW: Architecture-Based Adaptation of Complex Systems (1998)
Garlan, David, Schmerl, Bradley
One increasingly important technique for improving software-based system integrity is providing systems with the ability to adapt themselves at run time to handle such things as resource variability,...
Discovering Architectures from Running Systems: Lessons Learned (1998)
Yan, Hong, Aldrich, Jonathan, Garlan, David, Kazman, Rick, Schmerl, Bradley
One of the challenging problems for software developers is guaranteeing that a system as built is consistent with its architectural design. This report describes a technique that uses automatically...
Foundations for Compositional Connectors (1998)
A critical issue for architectural design is the nature of the glue, or connectors, with which a system's parts are combined. Thus an important rst step toward improving our ability to compose...
Architecture-Based Performance Analysis (1998)
Bridget Spitznagel, David Garlan
A software architecture should expose important system properties for consideration and analysis. Performancerelated properties are frequently of interest in determining the acceptability of a given...
Formal Modeling and Analysis of the HLA Component Integration Standard (1998)
Robert J. Allen, David Garlan, James Ivers
An increasingly important trend in the engineering of complex systems is the design of component integration standards. Such standards define rules of interaction and shared communication...
Formalizing a specification for analysis: The HLA ownership properties (1998)
Craig A. Damon, Ralph Melton, Robert J. Allen, Elizabeth Bigelow, James M. Ivers, David Garlan
those of the authors and should not be interpreted as representing the official policies, either
Specifying and Analyzing Dynamic Software Architectures (1998)
Robert Allen, Rémi Douence, David Garlan
A critical issue for complex component-based systems design is the modeling and analysis of architecture. One of the complicating factors in developing architectural models is accounting for systems...
Formal Modeling and Analysis of the HLA Component Integration Standard (1998)
Robert J. Allen, David Garlan, James Ivers
An increasingly important trend in the engineering of complex systems is the design of componentintegration standards. Such standards de#ne rules of interaction and shared communication...
Specifying and Analyzing Dynamic Software Architectures (1998)
Robert Allen Rmi, Robert Allen, Rémi Douence, David Garlan
A critical issue for complex component-based systems design is the modeling and analysis of architecture. One of the complicating factors in developing architectural models is accounting for systems...
Architecture-Based Performance Analysis (1998)
Bridget Spitznagel, David Garlan
A software architecture should expose important system properties for consideration and analysis. Performancerelated properties are frequently of interest in determining the acceptability of a given...
Higher-Order Connectors (1998)
A critical issue for architectural design is the nature of the glue, or connectors, with which a system's parts are combined. Thus an important first step toward improving our ability to compose...
Formalizing a specification for analysis: The HLA ownership properties (1998)
Craig A. Damon, Ralph Melton, Robert J. Allen, Elizabeth Bigelow, James M. Ivers, David Garlan
those of the authors and should not be interpreted as representing the official policies, either
Specifying and analyzing dynamic software architectures (1998)
Robert Allen, Rémi Douence, David Garlan
A critical issue for complex component-based systems design is the modeling and analysis of architecture. One of the complicating factors in developing architectural models is accounting for systems...
Acme: An Architecture Description Interchange Language (1997)
David Garlan, Robert Monroe, David Wile
Numerous architectural description languages (ADLs) have been developed, each providing complementary capabilities for architectural development and analysis. Unfortunately, each ADL and supporting...
Acme: An Architecture Description Interchange Language (1997)
David Garlan, Robert Monroe, David Wile
Numerous architectural description languages (ADLs) have been developed, each providing complementary capabilities for architectural development and analysis. Unfortunately, each ADL and supporting...
A Formal Basis for Architectural Connection (1997)
As software systems become more complex the overall system structure -- or software architecture -- becomes a central design problem. An important step towards an engineering discipline of software...
A Formal Basis for Architectural Connection (1997)
As software systems become more complex the overall system structure -- or software architecture -- becomes a central design problem. An important step towards an engineering discipline of software...
A Formal Basis for Architectural Connection (1997)
Machine as the underlying formalism [Inverardi and Wolf 1995]. 246 . Robert Allen and David Garlan ACM Transactions on Software Engineering and Methodology, Vol. 6, No. 3, July 1997. 13.4 Style An...
Specifying Dynamism in Software Architectures (1997)
Robert Allen Remi, Robert Allen, Remi Douence, David Garlan
A critical issue for complex component-based systems design is the modeling and analysis of architecture. One of the complicating factors in developing architectural models is accounting for systems...
Architectural Styles, Design Patterns, and Objects (1997)
Robert Monroe Andrew, Andrew Kompanek, Ralph Melton, David Garlan
Machine. 8 The software architecture research community is realizing that these notations overlap considerably, particularly with respect to the structural aspects of a software architecture...
Specifying Dynamism in Software Architectures (1997)
A critical issue for complex component-based systems design is the modeling and analysis of architecture. One of the complicating factors in developing architectural models is accounting for systems...
Formal Modeling and Analysis of Architectural Standards (1997)
Robert J. Allen, David Garlan, James Ivers
An important trend in commercial software development is the creation of architectural standards that describe a common reference architecture for a family of related applications. Currently...
Architectural Unification (1997)
Many software designs are produced by combining and elaborating existing architectural design fragments. These fragments may be design patterns, partially thought-out ideas, or portions of some...
Acme: An Architecture Description Interchange Language (1997)
David Garlan, Robert Monroe, David Wile
Numerous architectural description languages (ADLs) have been developed, each providing complementary capabilities for architectural development and analysis. Unfortunately, each ADL and supporting...
ACME: An Architecture Description Interchange Language (1997)
Numerous architectural description languages (ADLs) have been developed, each providing complementary capabilities for architectural development and analysis. Unfortunately, each ADL and supporting...
Acme: An Architecture Description Interchange Language (1997)
David Garlan, Robert Monroe, David Wile
Numerous architectural description languages (ADLs) have been developed, each providing complementary capabilities for architectural development and analysis. Unfortunately, each ADL and supporting...
D.: Architectural Unification (1997)
Many software designs are produced by combining and elaborating existing architectural design fragments. These fragments may be design patterns, partially thought-out ideas, or portions of some...
Aformal basis for architectural connection (1997)
conclusions contained in this document are those of the authors and should not be interpreted as representing
Stylized Architecture, Design Patterns and Styles (1997)
Robert T. Monroe, Drew Kompanek, Ralph Melton, David Garlan
Software system builders are increasingly recognizing the importance of exploiting design knowledge in the engineering of new systems. One way to do this is to define an architectural style for a...
Acme: An Architecture Description Interchange Language (1997)
David Garlan, Robert Monroe, David Wile
contact � garlan�cs.cmu.edu Numerous architectural description languages �ADLs � have been developed � each providing complementary capa� bilities for architectural development and...
Software architectures : perspectives on an emerging discipline / Mary Shaw, David Garlan (1996)
Incluye bibliografía eíndice
Style-Based Reuse for Software Architectures (1996)
Robert T. Monroe, David Garlan
Although numerous mechanisms for promoting software reuse have been proposed and implemented over the years, most have focused on the reuse of implementation code. There is much conjecture and some...
Architectural Style: An Object-Oriented Approach (1996)
David Garlan, Andrew Kompanek, Ralph Melton, Robert Monroe
Software system builders are increasingly recognizing the importance of exploiting design knowledge in the engineering of new systems. One way to do this is to define an architectural style for a...
Stylized Architecture, Design Patterns, and Objects (1996)
Robert T. Monroe, Drew Kompanek, Ralph Melton, David Garlan
Software system builders are increasingly recognizing the importance of exploiting design knowledge in the engineering of new systems. One way to do this is to define an architectural style for a...
Style-Based Refinement for Software Architecture (1996)
A question that frequently arises for architectural design is "When can I implement a design in style S1 using a design in style S2 ?" In this paper I propose a technique for structuring a...
A Case Study in Architectural Modelling: The AEGIS System (1996)
Software architecture is receiving increasingly attention as a critical design level for software systems. However, the current practice of architectural description is largely informal and ad hoc,...
The Wright Architectural Specification Language (1996)
An important step towards establishing an engineering discipline of software is to provide a formal basis for describing and analyzing software architectures. The Wright Architectural Specification...
Architectural Why reuse is so hard (1995)
David Garlan, David Garlan, Robert Allen, Robert Allen, John Ockerbloom, John Ockerbloom
This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying...
Architectural Why reuse is so hard (1995)
David Garlan, Robert Allen, John Ockerbloom
isn’t there more progress toward building systems?om existingparts? One anmer is that the asmmptions of the parts about their intended environment are implicit and either don’t match the actual...
Architectural Why reuse is so hard (1995)
David Garlan, Robert Allen, John Ockerbloom
* my isn’t there more progress toward building systems f+om existing parts? One ansueT is that the assumptions of the parts about their intended environment are implicit and either don’t match...
Formalizing Style to Understand Descriptions of Software Architecture (1995)
Gregory Abowd, Robert Allen, David Garlan
The software architecture of most systems is described informally and diagrammatically. In order for these descriptions to be meaningful at all, figures are understood by interpreting the boxes and...
Formalizing Style to Understand Descriptions of Software Architecture (1995)
Gregory Abowd, Robert Allen, David Garlan
The software architecture of most systems is usually described informally and diagrammatically by means of boxes and lines. In order for these descriptions to be meaningful, the diagrams are...
Architectural Mismatch or Why it's hard to build systems out of existing parts (1995)
David Garlan, Robert Allen, John Ockerbloom
Many would argue that future breakthroughs in software productivity will dependon our ability to combine existing pieces of software to produce new applications. An important step towards this goal...
this paper I briefly outline and compare three approaches to providing such a basis. 2. Basic Properties
Formulations and Formalisms in Software Architecture (1995)
. Software architecture is the level of software design that addresses the overall structure and properties of software systems. It provides a focus for certain aspects of design and development that...
Formalizing Style to Understand Descriptions of Software Architecture (1995)
Gregory Abowd, Robert Allen, David Garlan
The software architecture of most systems is described informally and diagrammatically by means of boxes and lines. In order for these descriptions to be meaningful at all, the diagrams are...
Formulations and Formalisms in Software Architecture (1995)
Abstract. Software architecture is the level of software design that addresses the overall structure and properties of software systems. It provides a focus for certain aspects of design and...
Beyond Definition /Use: Architectural Interconnection (1994)
Large software systems require decompositionalmechanisms in order to make them tractable. Traditionally, MILs and IDLs have played this role by providing notations based on definition/use bindings....
Characteristics of higher-level languages for software architecture (1994)
for government purposes. Views and conclusions contained in this document are those of the authors and should
are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of Wright Laboratory, the U.S. Government, or Siemens Corporation. The U.S....
Beyond Definition/Use: Architectural Interconnection (1994)
Large software systems requiredecompositionalmechanisms in order to make them tractable. Traditionally, MILs and IDLs have played this role by providing notations based on definition /use bindings....
Candidate Model Problems in Software Architecture (1994)
Mary Shaw David, David Garlan, Robert Allen, Dan Klein, John Ockerbloom, Curtis Scott, ...
data types. The second solution decomposes the system into a similar set of five modules. However, in this case data is no longer directly shared by the computational components. Instead, each module...
Characteristics of Higher-level Languages for Software Architecture (1994)
As the size and complexity of software systems increases, the design and specification of overall system structure---or software architecture---emerges as a central concern. Architectural issues...
As software systems become more complex the overall system structure -- or software architecture -- becomes a central design problem. An important step towards an engineering discipline of software...
Characteristics of Higher-level Languages for Software Architecture (1994)
As the size and complexity of software systems increases, the design and specification of overall system structure -- or software architecture -- emerges as a central concern. Architectural issues...
Exploiting Style in Architectural Design Environments (1994)
David Garlan, Robert Allen, John Ockerbloom
As the design of software architectures emerges as a discipline within software engineering, it will become increasingly important to support architectural description and analysis with tools and...
Software Development Assignments for a Software Architecture Course (1994)
Submitted for Publication As software systems grow in size and complexity their design problem extends beyond algorithms and data structures to issues of system design. These issues|the software...
Integrating formal methods into a professional master of software engineering program (1994)
A critical issue in the design of a professional software engineeringdegree program is the way in which formal methods are integrated into the curriculum. The approach taken by most programs is to...
Using Style to Understand Descriptions of Software Architecture (1993)
Gregory Abowd, Robert Allen, David Garlan
The software architecture of most systems is described informally and diagrammatically. In order for these descriptions to be meaningful at all, figures are understood by interpreting the boxes and...
Towards Formalized Software Architectures (1992)
An important goal in software engineering is to describe complex software systems at an architectural level of abstraction. While there are many useful architectural paradigms (pipes, blackboards,...
Reactive Integration for Traditional Programming Languages (1992)
Reactive integration based on event broadcast is an increasingly important technique for developing systems. However, the use of this technique has largely been confined to tool integration systems...
Towards Formalized Software Architectures (1992)
Robert Allen David, David Garlan
An important goal in software engineering is to describe complex software systems at an architectural level of abstraction. While there are many useful architectural paradigms (pipes, blackboards,...
Experience with a course on architectures for software systems (1992)
David Garlan, Chris Okasaki, Curtis M. Scott, Roy F. Swonger
Abstract. As software systems grow in size and complexity their design problem extends beyond algorithms and data structures to issues of system design. This area receives little or no treatment in...