A SEAMLESS MODEL FOR OBJECT-ORIENTED SYSTEMS DEVELOPMENT Stephen W. Liddle (liddle@byu.edu) David W. Embley (embley@cs.byu.edu) Scott N. Woodfield (woodfiel@cs.byu.edu) Department of Computer Science Brigham Young University Provo, UT 84602 USA ABSTRACT Existing approaches to object-oriented system development are poorly integrated in several ways. This inadequate integration is ubiquitous and causes numerous inefficiencies in the object-oriented development process. These problems can be addressed by abandoning typical object-oriented models in favor of a single, seamless system model. By using a seamless model, such as the one we propose, not only do we overcome the integration inefficiences to which we allude, but we also raise the level of abstraction for object-oriented system implementation and enable same-paradigm system evolution. 1. INTRODUCTION Object-oriented development systems are poorly integrated across several spectrums. These include: (1) the software development lifecycle and the models, languages, and tools used to develop software; (2) the impedance mismatch between the semantics of persistent objects and the behavioral protocols for objects, between declarative and imperative programming paradigms, and between visual and textual styles of programming; and (3) the reification of abstract objects -- particularly, meta-information and high-level abstractions of low-level modeling components. Poor integration over the software development spectrum causes unnecessary difficulties in making transitions from one phase of development to another, from one model to another, from one language to another, and from one tool to another. Impedance mismatches cause users to devise interoperability interfaces among mismatched views or to suffer difficulties that arise such as switching from associative to record-based access, implementing naturally declarative subapplications imperatively and vice versa, and converting diagrammatic specifications into