EDUCE Details
Nik Boyd
Domain Elicitation
Closely Record Source
Discussions
- Capture domain expert thoughts and usage stakeholder needs as closely
as possible.
- Use video or audio tapes to record observations and dialogs if
possible.
Rationale:
- Serves as touchstone and grist for the analytic mill
- Source of accountability and traceability
Ask Leading Questions
- Use the Socratic Method to elicit usage
requirements and domain knowledge.
- If needed, ask the domain expert or usage stakeholder: What are the
right questions?
- What's the story? What are the important metaphors?
Rationale:
- The essence of meaning can be found in the web of relationships
between concepts.
Elicit the Vocabulary
- Track the introduction of new terms.
- Obtain the definitions of the terms.
- Expand the term definitions as new facets emerge.
Rationale:
- Domain vocabularies will naturally tend to focus more on nouns.
- Usage vocabularies will naturally tend to focus more on verbs.
- We want both! We want to make sure that both views are accurately
captured.
Generate and Review Initial
Narrative
- Transcribe and collate the discussions into an initial
narrative.
- Filter out extraneous artifacts of the discussions - banter,
planning, etc.
- Review the narrative with the stakeholder and domain expert.
Rationale:
- Verify that the essential information was faithfully captured.
- The information captured is critical to the remaining
processes.
Syntactic Normalization
Use Nuclear Sentences
- Use simple subject - verb - object (SVO) sentences with:
- a single subject and
- a single active verb
Rationale:
- Reduces ambiguity
- Identifies the subject of an action or a relation
Use Singular Nouns
- Always change sentence subjects from plural to
singular
- Whenever possible, make other sentence nouns singular
as well
Rationale:
- Nouns are often used as
- the names of instances and/or
- the names of classes (esp. when singular abstract nouns)
- Sentence subjects often identify the names of software object
classes
- Therefore, sentence subjects should be singular
- Instance names may be singular or plural
- Plural instance names identify collections (of the singular noun
forms)
- Collective nouns also identify collections (e.g., jury, herd)
- Statements should preferably discuss instances.
- Concrete subjects identify facts.
- Abstract subjects identify relations or actions.
Eliminate Adjective
Prepositions
- An adjective preposition relates two nouns.
- Find the appropriate replacement verb or adjective phrase.
Rationale:
- Adjective prepositions can usually be simplified.
- Some adjective prepositions hide relations such as ownership or
containment.
Examples:
a book of the library = the library book = the
library owns (has) a book
drums of chemicals = chemical drums = drums
that contain chemicals
storage of hazardous chemicals = hazardous
chemical storage
Isolate Verbs
- Decompose complex sentences, especially dependent clauses.
- Separate each verb into its own sentence.
Rationale:
- Each verb represents a distinct predicate.
- The meanings of some verbs are defined in terms of other conceptual
relations.
Use Active Verbs
- Change verb voice from passive to
active
- Change verb tense from past to
present (when sensible)
Rationale:
- The conversion from passive to active voice preserves meaning.
- Active verbs identify
- the actions of subjects and/or
- the relations between subjects and objects

Example:
The drums are stored in special storage
buildings.
Special storage buildings store drums.
Each
storage building stores drum(s).
Use Complete Predicates
People, Roles Places, Locations,
Directions Time Quantities Passive Qualities Active
Qualities |
Who? Whose? Where? Whence? Whither? When? How long? How
often? How many times? How many? How far? How much? What portion?
Which? Whether? What kind? What state? How? Why? |
Rationale:
- Each verb may relate several objects
- The number of actants
in a verb phrase = verb valence
- Prepositions often indicate actants of a verb with valence >
2.
- Intransitive verbs only need a subject
- However, transitive verbs also need:
- a direct object (mandatory),
- an indirect object (optional),
- an instrument or medium (optional)
Examples of Valence |
Verb |
Actants |
1: heart throbs |
throbs |
heart |
2: cat eats mouse |
eats |
cat, mouse |
3: giver gives gift to receiver |
gives to |
giver, gift, receiver |
4: sender transmits message to receiver by
medium |
transmits to by |
sender, message, receiver, medium |
Semantic Exploration
The following model provides a simplified
view of the relationships between the various word classes found in natural
languages.

Simplified Language Model
The following model shows some of the
transformations that can be obtained by appending a suffix to a given word
class. Note that the operation of appending a suffix is also reversible.

Word Class Transformations
Note that there is no canonical transformation from a noun to a
verb. The only situations where nouns are transformed into verbs is when the
noun is used as a verb, especially when a name comes to mean an action -
e.g., lynch, boycott. Finally, some nouns can be transformed into verbs by
adding the prefix be- as in begrime, bewitch, etc. However, such usage
could be considered archaic.
Explore Terms
- Identify the root of each domain term.
- The root may be a noun, verb, or adjective.
Rationale:
- You may discover more nouns (concepts) and verbs (predicates).
- You may discover significant additional concepts, which may fit
together better.
- Some relations, actions and descriptions are more easily modeled as
concepts.
Exploration Examples
- manage, v.
- manager, n.
- manageable, adj.
- manageability, n.
- initial, adj.
- initially, adv.
- initialize, v.
- injure, v.
- injury, n.
- injurer, n.
- injurious, adj.
Explore Concepts: Nouns + Verbs
- Identify the predicates (verbs) associated with each concept
(noun)
- Explore whether any other useful nouns can be derived from the
verbs
Rationale:
- The meaning of a word is nothing more than the context of its usage -
its signification.
Example:
Speculator speculates on speculation.
Explore Predicates: Verbs + Nouns
- A verb may indicate the existence of a domain element.
- Replace such a verb with the corresponding noun.
Rationale:
- The noun form of a verb identifies a physical object, OR
- The noun form of a verb identifies an important domain concept.
Example:
The EPA licenses a hazardous chemical storage
facility to store hazardous chemical drums.
The EPA issues a hazardous
chemical storage license to a hazardous chemical storage facility.
Explore Concepts: Descriptive
Adjectives + Nouns
- Explore whether any useful nouns can be derived from adjectives.
Rationale:
- Some descriptions may be defined in terms of relations between
concepts.
- If so, they are more easily represented using nouns.
Example:
A depot is vulnerable if any two neighboring
buildings are full.
A depot vulnerability exists if any two
neighboring buildings are full.
Explore Quantities: Limiting
Adjectives
- Determine whether a limiting adjective indicates a class or a
collection.
Rationale:
|
instance of a class member of a collection |
|
instances of a class members of a collection |
|
instance of a class member of a collection |
|
instances of a class members of a collection |
Explore Qualities: Adverbs +
Adjectives
- Where possible, reduce an adverb to its corresponding adjective
- This transformation also requires the conversion of the associated
verb to a noun
Rationale:
- Adverbs describe the qualities of their associated verbs
- Adjectives describe the qualities of their associated nouns
- A limiting adjective may identify a scalar attribute of an
object
Explore Quantities: Articles
- Determine whether articles identify cardinality or generality.
Rationale:
- Definite article "the" can indicate concrete or specific -
e.g., a singleton, the sole instance of a class.
- Indefinite article "a" can indicate abstract or general -
e.g., a member of a class.
Condense Higher-Order Predicates into
Concepts
- Convert verbs with valences > 2 into their corresponding
nouns
- The verb actants become associated with the noun as properties
Rationale:
- Such verb nominalization preserves meaning.
- Nouns are semantically
denser than verbs.
- Hence, we term conversions from verbs to nouns condensation.
- Verbs with valence = 3 would become ternary relations.
- Verbs with valence = 4 would become quaternary relations.
- Condensation reduces higher-order relations to simpler binary
relations between concepts.
Precedents:
- UML/OMT - Association as Class
- Sowa - Conceptual Graphs of Case Relations
- MIT - Process Generalizations
- Smalltalk - Blocks and Methods are First-Class
- Java - Inner Classes
Example:
sender transmits message to receiver by medium |
transmission =
- sender
- message
- receiver
- medium
|
Another way of describing this transformation:
The expression is
being rotated 90° from a horizontal (functionally-oriented) view to a
vertical (object-oriented) view.
Semantic Organization
Identify Stable Concepts
- Organize and group domain/usage statements by subject.
- Identify those subjects that have several statements.
Rationale:
- The meaning of each concept (noun) is supported by a spectrum of
associated predicates (verbs).
- The verbs stabilize the meaning of their associated nouns =
conceptual stability.
- Stable concepts will almost surely become essential domain/usage
elements.
Construct Initial Conceptual Models
- Diagram the relationships that surround each stable concept.
- Name the relationships using the verbs from the organized
statements.
- Keep the pictures simple - limit the number of relations per page
<= 7
Rationale:
- Pictures often help provide an overview of relationships between
concepts.
- The Unified Modeling Language (UML) provides a useable notation.
Construct a Glossary
- Enumerate and define the meaning of each term in the vocabulary.
- Highlight the relationships between the stable concepts in the
definitions.
Rationale:
- Pictures are not sufficient by themselves.
- Some people prefer the audio sensory modality over the visual.
Model Validation
Validate the Conceptual Models
- Review the conceptual models with the appropriate authorities.
- Reframe and revise them as needed based on authority feedback.
- Compare conceptual alternatives for fitness against other stable
concepts
- Select conceptual alternatives with best fitness for integration
- Record why selected alternatives were chosen
Rationale:
- Different people may have complementary or even opposing views.
- Account for any such differences of opinion explicitly with
alternative models.
- They may become important later during follow-on OO analysis and
design.
Assemble the Vocabulary
- Review the terms and their definitions with the appropriate
authorities.
- Revise the terminology if needed based on authority feedback.
- Assemble a complete domain/usage vocabulary from the selected
concepts
Rationale:
- Terminology can be extremely important for explanation.
- Well-formed terms reveal intended meaning and use.
- Ill-formed terms obscure or confuse.
Model Integration
Integrate the Conceptual Models
- Develop an overview of the domain/usage.
- Diagram the key relationships between the key
concepts/activities.
Rationale:
- Domain models will naturally focus on the key concepts.
- Usage models will naturally focus on the goals and activities.
Regenerate the Narrative
- Generate a narrative discussion of the domain/usage from the
organized statements.
- Identify which statements represent facts, rules, relations,
responsibilities, qualities, goals and constraints.
- If possible, use HTML to link the narrative statements to the related
models and the terms to their vocabulary definitions.
Rationale:
- Concepts naturally form a web of relationships.
- HTML provides a natural way of organizing this information.