Page 159 -
P. 159
144 NGUYEN AND DILLON
Any domain modeling engaged in by XP could be said to be bottom-up and text analysis (at least
in identifying classes).
Recognizing the challenge of domain modeling for data-intensive systems, the use of analysis
patterns, such as those proposed in Fowler (1977), has been seen as a way to improve productiv-
ity. Works on analysis patterns seek to describe commonly recurring analysis situations and their
associated solutions, forming an explicit, shareable knowledge-base. Analysis patterns are a form
of knowledge reuse, which derives its inspiration from the influential works on design patterns
(Gamma et al., 1995). Despite being analogous to design patterns, the impact of analysis patterns has
been quite moderate. Most likely, this lack of impact is due to the fact that in practice we encounter
a great variety of situations, which, after all, reflects the great variety of human activities.
Quite distinct from the approaches mentioned so far is the fact-based modeling approach,
formally known as Object-Role Modeling (Halpin, 2001). The fact-based approach captures
information structure in terms of elementary fact types and the constraints on these fact types. In
simple terms, elementary fact types are types of sentences that allow us to describe the state of
the application domain (often referred to as the universe of discourse). The elementary fact types
effectively form a well-defined ontology. This ontology, in turn, allows the analyst to precisely
express, as logical statements, the constraints (invariants) on the possible states of the universe
of discourse. A distinguishing feature of ORM is that its key abstraction mechanism is attribute-
free. Though in ORM parlance elementary fact types are about “objects” playing roles, objects in
ORM can correspond to both objects and attributes in object-oriented models. This attribute-free
property is the key factor that allows ORM to be used effectively to construct the domain models
in an incremental and stable manner. ORM strongly advocates the bottom-up approach, working
with user views of the data (reports, forms, etc.) rather than with the general description of the
application domain. The practice of working with user views of data can naturally be adopted to
work with use cases, as will be shown. Thus, ORM can be characterized as being bottom-up in
its perspective and fact-based in its discovery technique.
Another well-known attribute-free approach is that proposed by Embley (1998). While ORM
is concerned more or less exclusively with the information structure, Embley’s method includes
the dynamic aspect of the system.
Though it is not normally regarded as being in the field of domain modeling, Resource Descrip-
tion Framework or RDF (Beckett, 2004), is closely related to ORM. RDF expresses information
in terms of RDF triples, which consist of a subject, a predicate, and an object. The “subjects” and
“objects” of RDF closely correspond to “objects” of ORM, and RDF triples are a form of ORM
binary fact type.
Given the important role played by natural language in the modeling process, techniques
developed for natural language processing, such as part-of-speech tagging, pronoun resolution,
sentence normalization, and so on, have been applied to facilitate object-oriented modeling (e.g.,
see Delisle, Barker, and Biski, 1999; Overmyer, Lavoie, and Rambow, 2001; Rayson et al., 2000).
These tools use as their major input various sorts of textual descriptions about the domain and
the system, such as requirements statement, use case descriptions (or task scripts), transcripts
of interviews, and so on. The tools can annotate the textual descriptions with part-of-speech
tags, and extract and present the analyst with sets of content words in context, which helps the
analyst determine candidate elements for the domain model. The combination of the techniques
of tagging, pronoun resolution, and sentence transformation can produce descriptions made up
of sentences that clearly indicate the information structure (e.g., customer/NN has/VBZ ID/NN)
or various kinds of relevant behavior (e.g., customer/NN can/MD reserve/VBZ ticket/NN). The
treatment of attributes may be more complicated. The consideration of adjectives for attributes