Presentation is loading. Please wait.

Presentation is loading. Please wait.

Foundations for the Study of Software Architecture by Dewayne Perry & Alexander Wolf ACM SIGSOFT, Oct. 1992 Presented by Charles Reid 2/7/2005.

Similar presentations


Presentation on theme: "Foundations for the Study of Software Architecture by Dewayne Perry & Alexander Wolf ACM SIGSOFT, Oct. 1992 Presented by Charles Reid 2/7/2005."— Presentation transcript:

1 Foundations for the Study of Software Architecture by Dewayne Perry & Alexander Wolf ACM SIGSOFT, Oct. 1992 Presented by Charles Reid 2/7/2005

2 Dewayne E. Perry Undergrad degree in Philosophy with a M.S. and Ph.D. in Computer Science Long list of academic employment including UCLA (philosophy), CMU, and University of Texas at Austin Tons of professional research on software processes and software engineering Board member of International Software Process Association (ISPA).

3 Alexander L. Wolf Prof. of Computer Science at the University of Colorado at Boulder Director of Software Engineering Research Lab Chair of the ACM Special Interest Group in Software Engineering (SIGSOFT) Several publications in several areas – Networking, Distributed Systems, Software Architecture, Software Process, Security, Component Management, …

4 Purpose of the Paper The purpose is “to build the foundation for software architecture”. They look at other architectural disciplines to gain an intuition for software architecture. The paper proposes a model for software architecture and provides an example

5 Where Does Architecture Fit? Requirements Determine what information, processing, and characteristics of the information processing are needed Architecture Determines architectural elements, their interactions, and the constraints they are subject to Design Modularization and detailed interfaces, algorithms, and data types to support the architecture Implementation Representations of elements from the design

6 Why are they doing this? The authors expect that disciplined software architecture will: Provide an architectural framework for satisfying requirements Provide a basis for design, cost estimation, and process management Promote reuse Provide a basis for consistency and dependency analysis Provide a way to separate aesthetics from engineering

7 Architectural Erosion and Drift Architectural Erosion The system becomes more brittle due to violations of the original architecture Architectural Drift Due to “insensitivity about the architecture” They claim this leads to inadaptability which can lead to lack of clarity or coherence

8 Gaining the Intuition for Software Architecture Computer Architecture Not a useful basis for software architecture due to fundamental differences Relatively small number of design elements and scale is achieved through replication Network Architecture Also not too useful Focuses on nodes and connections and deals with a small number of topologies

9 Gaining the Intuition for Software Architecture Building Architecture Provides useful insight Multiple views of same structure Architectural styles Style and engineering Style and materials

10 The Architectural Model Software Architecture = {Elements, Form, Rationale} Elements can be processing elements, data elements, or connecting elements Form consists of weighted properties and relationships Weighting indicates importance or necessity of the relationship Rationale is the reasoning behind the architectural decisions

11 Compiler Example Compiler with 5 phases Processing elements = {lexer, parser, semantor, optimizer, code generator} Data elements = {characters, tokens, phrases, annotated phrases, object code} Connecting Elements = {procedure calls, parameters}

12 Compiler Example cont. Form might dictate that the optimizer and annotated phrases must accompany each other but they are not necessary elements Form might also dictate relationship between data elements

13 Processing Architectural View

14 Architectural Data View

15 Comparing Different Compiler Models

16 Conclusions They believe that they’re model and the use of application-oriented properties will: Make it easier to compare architectures Make it easier to determine which architectural components can be reused Better illustrate the dependencies and consistency between architectural elements


Download ppt "Foundations for the Study of Software Architecture by Dewayne Perry & Alexander Wolf ACM SIGSOFT, Oct. 1992 Presented by Charles Reid 2/7/2005."

Similar presentations


Ads by Google