David Garlan

Publication List Details

Period

0000 - 2009

Number

200

Co-Authors

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...

Instance Type (2009)

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)

David Garlan, Robert Allen

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)

Jung Soo Kim, David Garlan

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...

Patterns, and Objects (2008)

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)

David Garlan, Robert Allen

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...

General Terms (2008)

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)

David Garlan

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...

In Proceedings of the Workshop on Architecting Dependable Systems (WADS), 2005. Improving System Dependability by Enforcing Architectural Intent (2008)

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...

Submitted for publication. Understanding Tradeoffs among Different Architectural Modeling Approaches (2008)

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,...

Design, Reliability (2008)

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)

David Garlan, Bradley Schmerl

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...

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

Olympic café, Bob (2008)

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...

NO WARRANTY (2007)

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

FOR THE COMMANDER (2007)

Carnegie Mellon, Felix Bachmann, Len Bass, Paul Clements, David Garlan, James Ivers, ...

Unlimited distribution subject to the copyright. This report was prepared for the

Formal verification of autonomous systems NASA intelligent systems program. Available from: http://www-2.cs.cmu.edu/∼rareglitch/proposals/formal-v5.pdf (2007)

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...

Draft: Submitted for publication (March 1999) FORMAL MODEL I NG OF THE ENTERPR I SE JAVABEANS TM (2007)

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,...

and their application to prototyping concurrent timed systems, Unpublished draft of March 1992. (2007)

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)

David Garlan, Robert Allen

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)

David Garlan, Robert Allen

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)

David Garlan, Robert Allen

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)

Sousa, Joao P., Garlan, David

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...

Formal Connectors (2006)

Allen, Robert, Garlan, David

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...

DiscoTect: A System for Discovering the Architectures of Running Programs using Colored Petri Nets (2006)

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...

DiscoTect: A System for Discovering the Architectures of Running Programs using Colored Petri Nets (2006)

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...

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...

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...

NO WARRANTY (2004)

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...

recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the NSF, DARPA, or Carnegie Mellon University. (2004)

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...

Proceedings of the 5 (2003)

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...

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...

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)

David Garlan

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...

Component-based software engineering in pervasive computing environments (2001)

David Garlan, Bradley Schmerl

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...

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...

Task-driven computing (2000)

Zhenyu Wang, David Garlan

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)

Garlan, David, Scott, Curtis

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 -...

Architectures for Software Systems: A Curriculum Development Proposal in Undergraduate Software Engineering. (1998)

Garlan, David, Shaw, Mary

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)

Garlan, David, Shaw, Mary

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)

Garlan, David, Shaw, Mary

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)

Shaw, Mary, Garlan, David

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...

Experience with a Course on Architectures for Software Systems. Part 2. Educational Materials. (1998)

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,...

Task-Driven Computing (1998)

Wang, Zhenyu, Garlan, David

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)

Garlan, David, Sousa, Joao P.

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)

Sousa, Joao P., Garlan, David

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)

Wile, David S., Garlan, David

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)

David Garlan

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)

David Garlan

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)

Robert Allen, David Garlan

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)

Robert Allen, David Garlan

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)

Robert Allen, David Garlan

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)

Robert Allen, 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 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)

Ralph Melton, David Garlan

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)

David Garlan, Robert Monroe

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)

Ralph Melton, David Garlan

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)

Robert Allen, David Garlan

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...

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)

David Garlan

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)

Robert Allen, David Garlan

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)

Robert Allen, David Garlan

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...

What is Style? (1995)

David Garlan

this paper I briefly outline and compare three approaches to providing such a basis. 2. Basic Properties

Formulations and Formalisms in Software Architecture (1995)

Mary Shaw, David Garlan

. 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)

Mary Shaw, David Garlan

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)

Robert Allen, David Garlan

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)

Mary Shaw, David Garlan

for government purposes. Views and conclusions contained in this document are those of the authors and should

Formal connectors (1994)

Robert Allen, David Garlan

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)

Robert Allen, David Garlan

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)

Mary Shaw David, David Garlan

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...

Formal Connectors (1994)

Robert Allen, David Garlan

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)

Mary Shaw, David Garlan

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)

David Garlan, Mary Shaw

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)

David Garlan

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)

Robert Allen, 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,...

Reactive Integration for Traditional Programming Languages (1992)

David Garlan, Curtis Scott

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...