A performance-engineered object-oriented design framework

Date of Completion

January 2000


Computer Science




A methodology and related software design environment for the development of performance-engineered object-oriented systems is essential. In the absence of such environments, engineers must design and implement systems before detecting critical performance defects. Waiting to identify performance defects until implementation/integration results in reduced productivity, increased project costs, slipped schedules, and the redesign of software that may cause functional defects to be injected into the system. An approach for performance modeling and evaluation that is in concert with current object-oriented design methodologies needs to be specified in which the object-oriented design and performance model generation efforts are performed simultaneously during software development. ^ In this research, a performance-engineered object-oriented design framework that utilizes the object-oriented design techniques of the Unified Modeling Language (UML) and the architecture of the Hierarchical Performance Model (HPM) is developed to assist designers in evaluating alternatives for performance enhancement. ^ The methodology integrates the solution to performance modeling into the design and development process. The developed object-oriented performance modeling framework coalesces the object-oriented software constructs (defined within the Class, Deployment and Activity Diagrams of UML) with the performance parameters required for performance model generation. This framework integrates the architectural, structural and behavioral components of an application and interrelates the object-oriented design structure of UML with the Hierarchical Performance Model. ^ Performance model generation techniques to support one-moment and two-moment analyses at each level of the Hierarchical Performance Model are specified along with the primary extensions required for the performance modeling of object-oriented systems. Performance Views are constructed for the presentation of model generation results for (critical) path scenarios, at various levels of abstraction. Sequence Diagrams are utilized to represent the path or sub-path that is selected from within the Performance View. The performance modeling framework, Performance Views and scenarios together support the evaluation of architectural, behavioral and structural strategies. This approach can enable an engineer to explore software restructuring, partitioning, refactoring, software process allocation and hardware architecture alternatives, during the software design process. ^