Modeling and Simulating a Software Architecture Design Space Charles W
Total Page:16
File Type:pdf, Size:1020Kb
University of Massachusetts Amherst ScholarWorks@UMass Amherst Computer Science Department Faculty Publication Computer Science Series 1997 Modeling and Simulating a Software Architecture Design Space Charles W. Krueger Carnegie Mellon University Follow this and additional works at: https://scholarworks.umass.edu/cs_faculty_pubs Part of the Computer Sciences Commons Recommended Citation Krueger, Charles W., "Modeling and Simulating a Software Architecture Design Space" (1997). Computer Science Department Faculty Publication Series. 61. Retrieved from https://scholarworks.umass.edu/cs_faculty_pubs/61 This Article is brought to you for free and open access by the Computer Science at ScholarWorks@UMass Amherst. It has been accepted for inclusion in Computer Science Department Faculty Publication Series by an authorized administrator of ScholarWorks@UMass Amherst. For more information, please contact [email protected]. Modeling and Simulating a Software Architecture Design Space Charles W. Krueger December 1997 CMU-CS-97-158 School of Computer Science Computer Science Department Carnegie Mellon University Pittsburgh, PA Thesis Committee: A. Nico Habermann, deceased, Co-Chair David Garlan, Co-Chair Jeannette Wing Mahadev Satyanarayanan Lori Clarke, University of Massachusetts at Amherst Submitted in partial fulÞllment of the requirements for the Degree of Doctor of Philosophy © 1997 by Charles W. Krueger This research was sponsored by the Wright Laboratory, Aeronautical Systems Center, Air Force Materiel Command, USAF, and the Defense Advanced Research Projects Agency (DARPA) under grant number F33615-93-1-1330; by the Defense Advanced Research Projects Agency, and Rome Laboratory, Air Force Materiel Command, USAF, under agreement number F30602-97-2-0031; by the Defense Modeling and Simulation OfÞce; by ZFE of Siemens Corporation; and by National Science Foundation Grant No. CCR 9357792. Views and conclusions contained in this document are those of the author and should not be interpreted as necessarily representing the ofÞcial pol- icies, either expressed or implied, of the US Department of Defense, Wright Laboratory, Rome Laboratory, the United States Government, Siemens Corporation, or the National Science Foundation. The U.S. Government is authorized to reproduce and distribute reprints for Government purposes, notwithstanding any copyright notation thereon. Keywords: software engineering, software architecture, domain-speciÞc software architecture, parameterized soft- ware architecture, software framework, software reuse, requirements engineering, object-oriented database, simula- tion page i Table of Contents Chapter 1. Introduction . .1 1.1. Overview . 1 1.2. The Problem . 1 1.3. Classes of Similar Systems . 3 1.4. The Thesis . 3 1.4.1. Overview of the Solution . 4 1.5. Challenges . 9 1.6. Contributions . 9 Chapter 2. Related Work . .11 2.1. Software Architecture . 11 2.2. Domain-speciÞc Software Architectures . 12 2.3. OODB Toolkits and Extensible OODBs . 12 2.4. Requirements and Software Architecture . 13 2.5. Simulation of Software Architectures . 14 2.6. Software Engineering Environments . 15 Chapter 3. Overview of Approach . .17 3.1. Software Development Cycle using Software Architecture Modeling and Simulation . 17 3.2. DeÞning Requirements . 18 3.3. Mapping Requirement Variables to Architectural Parameters . 20 3.4. Instantiating the Parameterized Software Architecture . 22 3.5. Realizing the Software Architecture Simulator . 25 3.6. Validation of the Technology . 27 Chapter 4. Case Study . .29 4.1. Introduction to the Problem . 29 4.2. Part 1: Prototyping OODB Requirements for the Graphical Editor . 30 4.2.1. Prototype Application Source Code and Simulation Scripts . 30 4.2.2. Defining the Requirement Variable Values . 30 4.2.3. Mapping Requirement Variables to Architectural Parameters . 34 4.2.4. Mapping Architectural Parameters to Software Architecture Instances . 36 4.2.5. Mapping Software Architecture Instances to Executable Simulations . 39 4.2.6. Evaluating Requirements with Modeling and Simulation Feedback . 39 4.3. Part 2: Selecting an Off-the-Shelf OODB for the Graphical Editor . 43 4.3.1. Objectivity Evaluation . 43 4.3.2. ObjectStoreLite Evaluation . 48 4.4. Wrapping up the OODB Evaluation . 51 Chapter 5. High-Level System Design Rationale . .53 5.1. Capturing the Class of OODB Systems in the UFO Parameterized Software Architecture . 53 5.1.1. OODB Domain Analysis . 54 5.1.2. Generalized OODB Concepts in UFOÕs Virtual OODB Language . 56 5.1.3. Generalizing OODB Implementations in the UFO Reference Architecture . 61 5.1.4. Discriminating Among OODB Instances . 65 5.1.5. Architectural Building Blocks: UFO Configuration Nodes . 67 5.1.6. Abstracting Architectural Variability: Architectural Parameters . 72 page ii 5.1.7. Mapping Architectural Parameters to Configuration Nodes . 74 5.1.8. Abstracting Architecture Requirements Variability: Requirement Variables . 75 5.1.9. Mapping Requirement Variables to Architectural Parameters . 78 5.2. Design of the OODB Architecture Modeler and Simulator . 79 5.2.1. The Modeler . 80 5.2.2. The Simulator . 81 5.2.3. Dynamic Simulation Profiles . 83 5.2.4. Inconsistency Detection . 86 5.3. Adapting Software Architecture Modeling and Simulation Techniques to OODB Architectures 87 5.3.1. Conventional Application Development with OODBs . 88 5.3.2. Application Development with UFO . 88 Chapter 6. Implementation of the UFO Tool Set . 93 6.1. Overview of the Implementation . 93 6.1.1. Objectives . 93 6.1.2. Base Technology . 94 6.2. The Integrated Data Model and Tools . 94 6.3. Brief Introduction to the Gandalf System . 96 6.3.1. Data Management . 96 6.3.2. Data Visualization . 97 6.3.3. Computation . 98 6.4. UFO Language Editor . ..