Information engineering of parallel and distributed systems using an object-oriented design model

Date of Completion

January 1997


Information Science|Computer Science




In the past few years, the object-oriented paradigm has been occupying a central position in the software engineering, design, programming, and database areas. During this same time period, the increasing demand of information processing has resulted in the spread of parallel and distributed platforms with an emphasis on client-server architectures. This has naturally led to an investigation of the merging of the object-oriented paradigm and the parallel/distributed client-server model, typically through the development of parallel/distributed object-oriented programming languages, and very recently through the definition of distributed object computing models and environments. However, while there has been extensive work on programming language solutions and distributed object computing implementations, there is minimal evidence that the merging of these two concepts has been considered at the design level. This is a fundamental issue that must be addressed in order to successfully bridge these two concepts, and represents the core research thrust of our research effort.^ Specifically, the overwhelming majority of the publicized object-oriented design approaches are sequential in essence. The mapping from a sequential object-oriented design (for an application which has used one of those approaches) to a given parallel object-oriented programming language or a particular distributed object computing framework is left to the creativity and/or expertise of software engineers. The purpose of our work is to elaborate a solution that facilitates and promotes the incorporation of parallel/distributed requirements into an object-oriented design model/methodology. By following a rigorous design approach, and applying an appropriate set of quantitative measures and analysis techniques, we smooth the transition from a high-level design with parallel/distributed constraints to its realization into an object-oriented programming language. To assist in this effort, we utilize the object-oriented environment ADAM (short for Active Design and Analyses Modeling), that is capable of both supporting the design process and generating compilable code in multiple languages. ^