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.