Domain Engineering: A Key Enabling Technology for Web-based Software Object Brokers Position Paper: Joint W3C/OMG Workshop on Distributed Objects and Mobile Code Mark Simos Dean Allemang Jon Anthony Organon Motives, Inc. Domain Engineering Methods and Technology 1 Williston Road Suite #4 Belmont, MA 02178 (617) 484-3383 office; (617) 484-3363 fax simos@organon.com A broad vision is emerging of how software applications might be developed in an environment with mature integration of object and web technologies. While specific architectures, languages and platforms will vary and will evolve rapidly, one common element of this vision is that a software developer will select and configure tools and components needed for his or her specific application from a global network of component broker sites; it may even become possible for component selection and binding to be dynamic during program execution. But what will be the design process for individual component bases? This will require more than conventional (even object-oriented) software engineering techniques, since component bases will not be systems or applications in the conventional sense. It is similar to the challenge involving the shift of emphasis towards "content providers" well under way in the web community. In the object community, it is reflected in attempts to define frameworks where application level components can be constructed by "extending" from a suite of base level components "living" in a kind of scaffolding structure built on the extensive infrastructural "plumbing" levels implemented to date. In the software reuse field, the term "domain" denotes a well-scoped area of functionality within a set or class of software systems. Domain engineering involves designing software, not for individual applications, but for suites of "related" applications both within and across domains--that is, for a specified multi-use scope of intended applicability. Currently, software organizations developing large-scale vertical applications most clearly see the need for formal domain engineering methods and tools. We believe a formal notion of "domains" and an understanding of how domains are conceived, scoped, modeled and realized via component collections (whether of software or of other web-accessible information assets) is a critical missing link in the web/object technology vision. Without the semantic context for interoperability provided by a domain definition and domain model, there is no way to guarantee the meaning of a service in a useful way (e.g., the "gopher" as animal vs. software tool problem). Organon Motives has developed a comprehensive, systematic domain engineering methodology called Organization Domain Modeling (ODM) [1,2]. ODM offers a systematic, exemplar-based approach to analysis of commonality and variability within both legacy systems and requirements for new systems. We are currently extending this methodology to address the challenges of web and object based architecture. Design and/or discovery of optimal boundaries for domains within specified business contexts ("organization domains") is a core aspect of ODM. The method can be applied in a decentralized process rather than requiring net-wide global consensus or control (impractical on the web). At the same time, it provides detailed steps for identifying and stabilizing domain boundaries and interactions (the domain "neighborhood") which will enable incremental evolution of larger networks of well-scoped, efficiently co-referencing "domain brokers." In partnership with WPL Laboratories, Inc. and with seed funding from ARPA, Organon Motives is also developing support technology that applies structured inheritance network and knowledge based representation techniques to provide an extensible framework for web and distributed object domain engineering. The system will utilize World Wide Web and Object Request Broker (ORB) technology in order to integrate within both ORB based environments and the current WWW environment, as well as possible future mixtures of these. (1) Software Technology for Adaptable Reliable Systems (STARS). Organization Domain Modeling (ODM) Guidebook, Version 1.0. Unisys STARS Technical Report STARS-VC-A023/011/00, Reston VA, March 1995. (2) Simos, M., "Organization Domain Modeling (ODM): Formalizing the Core Domain Modeling Life Cycle". SIGSOFT Software Engineering Notes, Special Issue on the 1995 Symposium on Software Reusability, Aug 1995.