DOC PREVIEW
MSU CSE 870 - intro_softarch-Garlan-Shaw

This preview shows page 1-2-3-20-21-40-41-42 out of 42 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 42 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 42 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 42 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 42 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 42 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 42 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 42 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 42 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 42 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

An Introduction to Software ArchitectureDavid Garlan and Mary ShawJanuary 1994CMU-CS-94-166School of Computer ScienceCarnegie Mellon UniversityPittsburgh, PA 15213-3890Also published as “An Introduction to Software Architecture,” Advances in Software Engineeringand Knowledge Engineering, Volume I, edited by V.Ambriola and G.Tortora, World ScientificPublishing Company, New Jersey, 1993.Also appears as CMU Software Engineering Institute Technical ReportCMU/SEI-94-TR-21, ESC-TR-94-21.©1994 by David Garlan and Mary ShawThis work was funded in part by the Department of Defense Advanced Research Project Agency under grantMDA972-92-J-1002, by National Science Foundation Grants CCR-9109469 and CCR-9112880, and by a grantfrom Siemens Corporate Research. It was also funded in part by the Carnegie Mellon University School ofComputer Science and Software Engineering Institute (which is sponsored by the U.S. Department of Defense).The views and conclusions contained in this document are those of the authors and should not be interpretedas representing the official policies, either expressed or implied, of the U.S. Government, the Department ofDefense, the National Science Foundation, Siemens Corporation, or Carnegie Mellon University.Keywords: Software architecture, software design, software engineeringAbstractAs the size of software systems increases, the algorithms and data structures ofthe computation no longer constitute the major design problems. Whensystems are constructed from many components, the organization of theoverall system—the software architecture—presents a new set of designproblems. This level of design has been addressed in a number of waysincluding informal diagrams and descriptive terms, module interconnectionlanguages, templates and frameworks for systems that serve the needs ofspecific domains, and formal models of component integration mechanisms.In this paper we provide an introduction to the emerging field of softwarearchitecture. We begin by considering a number of common architecturalstyles upon which many systems are currently based and show how differentstyles can be combined in a single design. Then we present six case studies toillustrate how architectural representations can improve our understanding ofcomplex software systems. Finally, we survey some of the outstandingproblems in the field, and consider a few of the promising research directions.Contents1. Introduction ..................................................................................................... 22. From Programming Languages to Software Architecture..................... 32.1. High-level Programming Languages ................................................................... 32.2. Abstract Data Types........................................................................................... 42.3. Software Architecture........................................................................................ 43. Common Architectural Styles...................................................................... 53.1. Pipes and Filters ................................................................................................ 63.2. Data Abstraction and Object-Oriented Organization ........................................... 83.3. Event-based, Implicit Invocation ........................................................................ 93.4. Layered Systems ................................................................................................ 113.5. Repositories....................................................................................................... 123.6. Table Driven Interpreters ................................................................................... 133.7. Other Familiar Architectures............................................................................. 143.8. Heterogeneous Architectures............................................................................... 154. Case Studies...................................................................................................... 164.1. Case Study 1: Key Word in Context ..................................................................... 164.2. Case Study 2: Instrumentation Software .............................................................. 224.3. Case 3: A Fresh View of Compilers..................................................................... 264.4. Case 4: A Layered Design with Different Styles for the Layers ........................... 284.5. Case 5: An Interpreter Using Different Idioms for the Components........................ 304.6. Case 6: A Blackboard Globally Recast as Interpreter ........................................... 335. Past, Present, and Future ............................................................................... 36Acknowledgements.................................................................................................... 37Bibliography ................................................................................................................. 37Garlan & Shaw: An Introduction to Software Architecture 1List of Figures1 Pipes and Filters ....................................................................................................... 72 Abstract Data Types and Objects............................................................................ 83 Layered Systems ..................................................................................................... 114 The Blackboard....................................................................................................... 135 Interpreter................................................................................................................ 146 KWIC - Shared Data Solution............................................................................. 187 KWIC - Abstract Data Type Solution................................................................. 198 KWIC - Implicit Invocation Solution ............................................................... 209 KWIC - Pipe and Filter Solution ........................................................................ 2010 KWIC - Comparison of


View Full Document

MSU CSE 870 - intro_softarch-Garlan-Shaw

Documents in this Course
HW2

HW2

3 pages

splc1

splc1

21 pages

Lessons

Lessons

3 pages

revision

revision

13 pages

ft1

ft1

12 pages

john.dsn

john.dsn

21 pages

Survey

Survey

2 pages

revision

revision

38 pages

Load more
Download intro_softarch-Garlan-Shaw
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view intro_softarch-Garlan-Shaw and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view intro_softarch-Garlan-Shaw 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?