Computer Science Department
School of Computer Science, Carnegie Mellon University
Modeling and Simulating a
Charles W. Krueger
It can be difficult for application developers to determine which approach is best for their application. Do any of the existing off-the-shelf systems sufficiently satisfy the application requirements? If so, which ones provide the best match? Would a custom implementation be sufficiently better to justify the cost difference between an off-the-shelf solution? These difficult buy-versus-build decisions are extremely important in today's fast-paced, competitive, unforgiving software application market.
In this thesis we propose and study a software engineering approach for evaluating how well off-the-shelf and custom software architectures within the design space of a class of object-oriented database (OODB) systems satisfy the requirements for different applications. We demonstrate that modeling and simulation of OODB software architectures can be used to help software developers rapidly converge on OODB requirements for an application and identify OODB software architectures that satisfy those requirements.
The technical focus of this work is on the circular relationships between requirements, software architectures, and system properties such as OODB functionality, size, and performance. We capture these relationships in an OODB simulation and modeling tool that allows software developers to refine application requirements on an OODB, identify corresponding custom and off-the-shelf OODB software architectures, evaluate how well the software architecture properties satisfy the application requirements, and identify potential refinements to requirements.