This preview shows page 1-2-3-4-5-6-7-8-52-53-54-55-56-57-58-106-107-108-109-110-111-112-113 out of 113 pages.
Composing Heterogeneous Software ArchitecturesAhmed Abd-Allah, [email protected] Center for Software EngineeringUSC-CSE Technical Report 95-502Draft: April 13th, 1995(Qualifying Proposal)1Part I: Introduction.............................................................................................................41.0 Introduction..............................................................................................................51.1 Problem Statement.............................................................................................................. 71.2 Approach............................................................................................................................. 71.3 Key Contributions............................................................................................................... 8Part II: Related Work..........................................................................................................92.0 Defining Software Architectures and Styles..........................................................102.1 Perry and Wolf .................................................................................................................. 102.2 Garlan and Shaw............................................................................................................... 102.3 The DSSA Program .......................................................................................................... 112.4 Gacek, Abd-Allah, Clark, and Boehm.............................................................................. 123.0 Architectural Composition.....................................................................................143.1 Composition Using Architecture Description Languages ................................................ 143.1.1 Rapide................................................................................................................. 143.1.2 ArTek .................................................................................................................. 153.1.3 Other ADL’s........................................................................................................ 163.2 Composition Using Architecting CASE Tools ................................................................. 163.2.1 UniCon................................................................................................................ 163.2.2 Aesop.................................................................................................................. 173.2.3 UNAS ................................................................................................................. 183.3 Theoretic Approaches to Composition ............................................................................. 183.3.1 Moriconi and Qian.............................................................................................. 18Part III: Contribution.......................................................................................................204.0 Understanding Architectural Styles.......................................................................214.1 Formally Specifying Architectural Styles......................................................................... 214.1.1 Modeling Static and Dynamic Structures........................................................... 224.1.2 Modeling Behavior............................................................................................. 254.1.3 Modeling Resource Usage.................................................................................. 284.1.4 Tying the Models Together................................................................................. 304.1.5 Modeling the Underlying Platform..................................................................... 315.0 A Formal Description of Four Styles.....................................................................335.1 Distributed Processes and Threads Style .......................................................................... 335.1.1 Data Structures.................................................................................................... 335.1.2 Sockets and Circuits ........................................................................................... 355.1.3 Threads and Processes........................................................................................ 375.1.4 Systems............................................................................................................... 415.2 Main/Subroutine Style ...................................................................................................... 475.2.1 Data Structures.................................................................................................... 485.2.2 Procedures........................................................................................................... 495.2.3 Systems............................................................................................................... 515.3 Pipe and Filter Style.......................................................................................................... 535.3.1 Data..................................................................................................................... 535.3.2 Sockets and Pipes ............................................................................................... 545.3.3 Filters.................................................................................................................. 565.3.4 Systems............................................................................................................... 5825.4 Event-Based Style............................................................................................................. 595.4.1 Data Structures and Procedures.......................................................................... 605.4.2 Events ................................................................................................................. 605.4.3 Event Queues...................................................................................................... 605.4.4 Event Based Objects........................................................................................... 625.4.5 Systems............................................................................................................... 646.0