| RAINBOW: Architecture-Based Adaptation of Complex Systems |
APR 2005 |
49 pages |
| Authors:
David Garlan; Bradley Schmerl; CARNEGIE-MELLON UNIV PITTSBURGH PA
|
 | 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, changing user needs, and system faults. Traditionally system self repair has been handled within the application, and at the code level. An alternative approach, and the approach taken under this effort, is to use architectural models, maintained at run time, as the ... |
|
| ACME: A Basis for Architecture Exchange |
DEC 2003 |
26 pages |
| Authors:
David S. Wile; David Garlan; TEKNOWLEDGE CORP PALO ALTO CA
|
 | 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 that role, but since the project's inception the Acme language and its support toolkit have grown into a solid foundation upon which new software architecture design and analysis tools can be built without the need to rebuild ... |
|
| Documenting Software Architecture: Documenting Interfaces |
JUN 2002 |
|
| Authors:
Felix Bachmann; Len Bass; Paul Clements; David Garlan; James Ivers; CARNEGIE-MELLON UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST
|
 | 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 organization (template) for recording semantic as well as syntactic information about an interface. Stakeholders of interface documentation are enumerated, available notations for specifying interfaces are described, and three examples are provided. |
|
| Documenting Software Architecture: Documenting Behavior |
JAN 2002 |
|
| Authors:
Felix Bachmann; Len Bass; Paul Clements; David Garlan; James Ivers; CARNEGIE-MELLON UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST
|
 | 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 Architectures, will be published in early 2002 by Addison-Wesley as part of the Software Engineering Institute (SEI) Series on Software Engineering. The book is intended to address a lack of language-independent guidance about how to capture an architecture in a written form ... |
|
| Documenting Software Architectures: Organization of Documentation Package |
AUG 2001 |
|
| Authors:
Felix Bachmann; Len Bass; Paul Clements; David Garlan; James Ivers; CARNEGIE-MELLON UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST
|
 | 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 entitled Documenting Software Architectures, will be published in early 2002 by Addison Wesley Longman as part of the SEI Series on Software Engineering. Since this report is a snapshot of current work, the material described here may change before the handbook is ... |
|
| SEI Workshop on Software Architecture Representation, 16-17 January 2001 |
MAY 2001 |
|
| Authors:
Felix Bachmann; Paul Clements; David Garlan; James Ivers; Reed Little; CARNEGIE-MELLON UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST
|
 | 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 discuss aspects of architecture representation with senior members of the SEI technical staff. The workshop articulated best practices, identified gaps in the available technology, and set the direction for future efforts. |
|
| A Technology Investigation Supporting Software Architecture and Analysis for Evolution |
FEB 2001 |
37 pages |
| Authors:
David Garlan; Mary Shaw; Jeannette Wing; CARNEGIE-MELLON UNIV PITTSBURGH PA SCHOOL OF COMPUTER SCIENCE
|
 | 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 University under funding from the DARPA Evolutionary Design of Complex Systems Program. in this project we addressed problems in managing the evolution of complex software by providing new technology to describe and analyze a system's software architecture. This report summarizes our efforts in ... |
|
| Documenting Software Architectures: Recommendations for Industrial Practice |
OCT 2000 |
39 pages |
| Authors:
David Garlan; Joao P. Sousa; CARNEGIE-MELLON UNIV PITTSBURGH PA SCHOOL OF COMPUTER SCIENCE
|
 | 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 in the context of development processes that use UML for software design. The architectural documentation is organized in four kinds of views: problem domain view, code view, run-time view and deployment view. We examine JavaPhone(TM) as a case study to illustrate the approach: what ... |
|
| Formal Modeling of the Enterprise JavaBeans(TM) Component Integration Framework |
SEP 2000 |
35 pages |
| Authors:
Joao P. Sousa; David Garlan; CARNEGIE-MELLON UNIV PITTSBURGH PA SCHOOL OF COMPUTER SCIENCE
|
 | 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 third-party components into applications. A good example is Sun Microsystem's Enterprise JavaBeans(TM) (EJB) framework, which supports object- oriented, distributed, enterprise-level applications, such as account management systems. One problem with frameworks like EJB is that they are documented informally, making it difficult to ... |
|
| Task-Driven Computing |
MAY 2000 |
20 pages |
| Authors:
Zhenyu Wang; David Garlan; CARNEGIE-MELLON UNIV PITTSBURGH PA SCHOOL OF COMPUTER SCIENCE
|
 | 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 world, computing will no longer be tethered to desktops: users will become increasingly mobile. As users move across environments, they will have access to a dynamic range of computing devices and software services. They ... |
|
| Software Architecture Documentation in Practice: Documenting Architectural Layers |
MAR 2000 |
|
| Authors:
Felix Bachmann; Len Bass; Jeromy Carriere; Paul Clements; David Garlan; CARNEGIE-MELLON UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST
|
 | 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, tentatively entitled Software Architecture Documentation in Practice, will be published in mid- to late-2000 by Addison Wesley Longman as a book in the SE series on software engineering. Aimed squarely at the practitioner, the handbook is intended ... |
|
| Building Whole Applications Using Only Programming-by-Demonstration |
14 MAY 1999 |
|
| Authors:
Richard G. McDaniel; Brad A. Myers; David Garlan; Roger B. Dannenberg; David Wolber; CARNEGIE-MELLON UNIV PITTSBURGH PA DEPT OF COMPUTER SCIENCE
|
 | 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 educational software would be better spent not in programming the application's logic, but in providing the engaging background, artwork, and gameplay that keeps users interested. Artists and educators who could produce good material for these applications are often unable to program. ... |
|
| Formalizing Style to Understand Descriptions of Software Architecture |
JAN 95 |
|
| Authors:
Gregory Abowd; Robert Allen; David Garlan; CARNEGIE-MELLON UNIV PITTSBURGH PA DEPT OF COMPUTER SCIENCE
|
 | 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 understood by interpreting the boxes and lines in specific, conventionalized ways. The informal, imprecise nature of these interpretations has a number of limitations. In this paper we consider these conventionalized interpretations as architectural styles and provide a formal framework for their ... |
|
| Characteristics of Higher-Level Languages for Software Architecture |
DEC 94 |
|
| Authors:
Mary Shaw; David Garlan; CARNEGIE-MELLON UNIV PITTSBURGH PA DEPT OF COMPUTER SCIENCE
|
 | 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 the gross organization of the system, protocols for communication and data access, assignment of functionality to design elements, and selection among design alternatives. Currently system designers have at their disposal two primary ways of defining software architecture: they can use the modularization facilities of ... |
|
| Experience with a Course on Architectures for Software Systems. Part 2. Educational Materials |
AUG 94 |
|
| Authors:
David Garlan; Mary Shaw; Jose Galmes; CARNEGIE-MELLON UNIV PITTSBURGH PA DEPT OF COMPUTER SCIENCE
|
 | 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 University. The materials include the lecture slides, questions (with answers) on readings, and homework assignments (with sample solutions). |
|
| Formal Connectors |
MAR 94 |
|
| Authors:
Robert Allen; David Garlan; CARNEGIE-MELLON UNIV PITTSBURGH PA DEPT OF COMPUTER SCIENCE
|
 | 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 a formal basis for describing and analyzing these designs. In this paper we present a theory for one aspect of architectural description: the interactions between components. The key idea is to define architectural connectors as explicit semantic entities. These are ... |
|
| An Introduction to Software Architecture |
JAN 94 |
49 pages |
| Authors:
David Garlan; Mary Shaw; CARNEGIE-MELLON UNIV PITTSBURGH PA SCHOOL OF COMPUTER SCIENCE
|
 | 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 organization of the overall system - the software architecture - presents a new set of design problems. This level of design has been addressed in a number of ways including informal diagrams and descriptive terms, module interconnection languages, templates and ... |
|
| An Introduction to Software Architecture |
JAN 94 |
|
| Authors:
David Garlan; Mary Shaw; CARNEGIE-MELLON UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST
|
 | 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 organization of the overall system-the software architecture-presents a new set of design problems. This level of design has been addressed in a number of ways, including informal diagrams and descriptive terms, module interconnection languages, templates, and frameworks for systems that ... |
|
| The CMU Masters in Software Engineering Core Curriculum |
06 AUG 93 |
|
| Authors:
David Garlan; Alan Brown; Daniel Jackson; Jim Tomayko; Jeannette Wing; CARNEGIE-MELLON UNIV PITTSBURGH PA DEPT OF COMPUTER SCIENCE
|
 | 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 leaders in industrial software engineering. Students entering the program have at least two years industrial experience, and normally complete the program in sixteen months of full-time study. The MSE program is centered on a Software Development Studio, supported by a ... |
|
| Architectures for Software Systems: A Curriculum Development Proposal in Undergraduate Software Engineering |
MAY 93 |
|
| Authors:
David Garlan; Mary Shaw; CARNEGIE-MELLON UNIV PITTSBURGH PA DEPT OF COMPUTER SCIENCE
|
 | 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 architectural level of software design. Specifically, Architectures for Software Systems would: (1) Teach students how to understand and evaluate designs of existing software systems from an architectural perspective; (2) Provide students with the intellectual building blocks for designing new systems in principled ... |
|
| Reactive Integration for Traditional Programming Languages |
DEC 92 |
16 pages |
| Authors:
David Garlan; Curtis Scott; CARNEGIE-MELLON UNIV PITTSBURGH PA SCHOOL OF COMPUTER SCIENCE
|
 | 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 - in which tools exist as independent processes - and special-purpose languages - in which specialized forms of event broadcast are designed into the language from the start. This paper broadens the class of systems that can benefit from this approach by ... |
|
| Experience With a Course on Architectures for Software Systems. Part 1. Course Description |
AUG 92 |
|
| Authors:
David Garlan; Mary Shaw; Chris Okasaki; Curtis M. Scott; Roy F. Swonger; CARNEGIE-MELLON UNIV PITTSBURGH PA SCHOOL OF COMPUTER SCIENCE
|
 | 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 computer science curricula. Although courses about specific systems are usually available, there is no systematic treatment of the organizations used to assemble components into systems. These issues - the software architecture level of software design - are the subject ... |
|