December
2001 Issue: 23
Journal of Conceptual Modeling
www.inconcept.com/jcm
Precise
Meaning of Object Oriented Models
By Dr. John K. Sharp
I have had an opportunity to review several object-oriented models in the past few months. The value added from these reviews has been to help the analyst understand the precise meaning of the model and to convert the model to a form that a subject matter expert can validate. Experienced analysts trained in an object-oriented method can create models that usually allow for the population of the subject area data. This is a requirement because the data must be placed somewhere. This minimum level of precision is not sufficient for establishing a high quality system that does not require significant rework during the implementation process or maintenance to correct errors after the system is released.
Business rules restrict the allowed data populations. Analysts need to understand all of the business rules that are being enforced by the model. Once the analysts precisely understand the rules, they can then have the subject matter experts agree that these are the rules that need to be supported.
Example Model
The objected-oriented model in Figure 1 comes from an association class example in a recent book by Rumbaugh, Jacobson, and Booch [1]. I am not showing that this model is incorrect as presented because the model only intends to show an example of an association class. However, this model does contain specific rules that need to be understood by both the analysts and the subject matter expert.

Figure 1: Association Class (Full Size Image)
Establish the rules presented in Figure 1 and then determine the questions that you would ask a subject matter expert in order to validate these rules. This example will be analyzed here using a portion of the Natural Language Modeling (NLM) procedure. The NLM procedure uses deterministic steps to ensure that all of the appropriate questions are asked.
The NLM validation procedure starts by creating instance sentences from the model. The model in Figure 1 has the following two sentences:
Sentence 1 Analysis
Sentence 1 will be analyzed using the class diagram to answer specific NLM questions and then the subject matter expert will answer the same questions.
The sentence is first rewritten as a type sentence with the initial instances listed below the sentence. A matrix is then constructed below the initial instances that removes one instance along the diagonal. A question is then asked to determine if the original instance sentence can exist at the same time for each sentence in the matrix.
<CompanyName> has an employee identified by the ssn <SSN> who receives a salary of <SalaryAmount>.
Boeing |
444-55-6666 |
$34,000 |
|
--------- |
---------------- |
---------- |
Allowed? |
another |
444-55-6666 |
$34,000 |
? |
Boeing |
another |
$34,000 |
? |
Boeing |
444-55-6666 |
another |
? |
The long form of a matrix question is: "Given that the sentence, 'Boeing has an employee identified by the ssn 444-55-6666 who receives a salary of $34,000.' is true, then is it allowed for another company name [for example 'Intel'] to exist such that the sentence, 'Intel has an employee identified by the ssn 444-55-6666 who receives a salary of $34,000.' is also true?"
Sentence 1 Answers from the Class Diagram:
<CompanyName> has an employee identified by the ssn <SSN> who receives a salary of <SalaryAmount>.
Boeing |
444-55-6666 |
$34,000 |
|
--------- |
---------------- |
---------- |
Allowed? |
another |
444-55-6666 |
$34,000 |
Yes |
Boeing |
another |
$34,000 |
Yes |
Boeing |
444-55-6666 |
another |
No |
These answers follow the standard convention that when an association exists off a many-to-many relationship then only one attribute is allowed for each object pair.
Sentence 1 Answers from the Subject Matter Expert:
<CompanyName> has an employee identified by the ssn <SSN> who receives a salary of <SalaryAmount>.
Boeing |
444-55-6666 |
$34,000 |
|
--------- |
---------------- |
---------- |
Allowed? |
another |
444-55-6666 |
$34,000 |
Yes |
Boeing |
another |
$34,000 |
Yes |
Boeing |
444-55-6666 |
another |
No |
Sentence 1 Analysis Results:
Both the class diagram's answers and the subject matter expert's answers are the same. The subject matter expert has now validated this model rule.
Sentence 2 Analysis:
The type sentence and the associated matrix for the second sentence is:
The <CompanyName> employee identified by the ssn <SSN> manages the <CompanyName> employee identified by the ssn <SSN>.
Boeing |
444-55-6666 |
Boeing |
777-88-9999 |
|
--------- |
---------------- |
--------- |
---------------- |
Allowed? |
another |
444-55-6666 |
Boeing |
777-88-9999 |
? |
Boeing |
another |
Boeing |
777-88-9999 |
? |
Boeing |
444-55-6666 |
another |
777-88-9999 |
? |
Boeing |
444-55-6666 |
Boeing |
another |
? |
Answers from the Class Diagram:
The <CompanyName> employee identified by the ssn <SSN> manages the <CompanyName> employee identified by the ssn <SSN>.
Boeing |
444-55-6666 |
Boeing |
777-88-9999 |
|
--------- |
---------------- |
--------- |
---------------- |
Allowed? |
another |
444-55-6666 |
Boeing |
777-88-9999 |
No |
Boeing |
another |
Boeing |
777-88-9999 |
No |
Boeing |
444-55-6666 |
another |
777-88-9999 |
Yes |
Boeing |
444-55-6666 |
Boeing |
another |
Yes |
Answers from the Subject Matter Expert:
The <CompanyName> employee identified by the ssn <SSN> manages the <CompanyName> employee identified by the ssn <SSN>.
Boeing |
444-55-6666 |
Boeing |
777-88-9999 |
|
--------- |
---------------- |
--------- |
---------------- |
Allowed? |
another |
444-55-6666 |
Boeing |
777-88-9999 |
No |
Boeing |
another |
Boeing |
777-88-9999 |
No |
Boeing |
444-55-6666 |
another |
777-88-9999 |
No |
Boeing |
444-55-6666 |
Boeing |
another |
Yes |
Sentence 2 Analysis Results:
The answer in the third row is different between the class diagram and the subject matter expert. The NLM procedure defines the next sentence to be analyzed given the Yes/No answer pattern for the matrix. The following steps in the NLM procedure are needed to allow the subject matter expert to precisely state the knowledge contained in this sentence.
The first step required for this example is that the 'Yes' placeholder from the subject matter expert's answer vector be dropped from the sentence. The sentence is modified to allow for the management of a generic worker. The subject matter expert answers the questions for this new sentence.
The <CompanyName> employee identified by the ssn <SSN> manages a <CompanyName> employee.
Boeing |
444-55-6666 |
Boeing |
|
--------- |
---------------- |
---------- |
Allowed? |
another |
444-55-6666 |
Boeing |
No |
Boeing |
another |
Boeing |
Yes |
Boeing |
444-55-6666 |
another |
No |
The next step requires that the new 'Yes' placeholder is removed from the next sentence. This sentence is modified to allow for a generic boss. Again the subject matter expert answers the questions for this sentence.
A <CompanyName> employee manages a <CompanyName> employee.
Boeing |
Boeing |
|
--------- |
--------- |
Allowed? |
another |
Boeing |
No |
Boeing |
another |
No |
This result means that there is an equality constraint in the original sentence. The real world rule that gives this result is: 'An employee can only be managed by another employee if they both work for the same company.' If the analysts had asked about this rule directly, then the subject matter expert would have confirmed it directly. The NLM procedure allows for the proper expression of all rules contained in the sentence, no matter what the experience and talent of the analyst given that the subject matter expert can answer the questions.
Each fact type produced by the NLM procedure is an expression of an elementary sentence. The procedure requires the original sentence be modified to include only one company. The constraint determined above must be enforced in sentence 2'.
2') At Boeing, the employee identified by the ssn 444-55-6666 manages the employee identified by the ssn 777-88-9999.
At <CompanyName>, the employee identified by the ssn <SSN> manages the employee identified by the ssn <SSN>.
Boeing |
444-55-6666 |
777-88-9999 |
|
--------- |
---------------- |
---------------- |
Allowed? |
another |
444-55-6666 |
777-88-9999 |
Yes |
Boeing |
another |
777-88-9999 |
No |
Boeing |
444-55-6666 |
another |
Yes |
This equality constraint is shown in Figure 2 as a note added to the original model.

Figure 2: Association class with additional constraint (Full Size Image)
Conclusion
The subject matter expert knew that it would never be allowed for an employee in one company to be managed by an employee in another company. The expert would not volunteer this information when he/she looks at this diagram, because this result could not be foreseen. An analyst may not see the implication of the model or even think to ask the subject matter expert about a person managing an employee of another company. I am not being critical of the knowledge content of this small example, but I do want it to be understood that it is important for the subject matter expert to know all of the knowledge contained in his/her class diagram. The complete knowledge set contained in the sentences from the subject matter expert's view is listed below:
Happy Modeling!
[1] James Rumbaugh, Ivar Jacobson, and Grady Booch, The Unified Modeling Language Reference Manual, Addison-Wesley, 1999
![]()
Dr. John Sharp is the founder and principal consultant for Sharp Informatics.Before starting Sharp Informatics in 1997 he was employed by Sandia National Laboratories in Albuquerque, NM for 18 years. While at Sandia he held staff and management positions in all areas of information technology, including analysis, design, implementation, maintenance, information architecture, data administration, and information technology research. He has worked closely with Prof. Shir Nijssen of The Netherlands to improve the NIAM analysis methodology. Dr. Sharp is the creator of the first information analysis procedure known to be mathematically precise.This procedure reformulates the usual (imprecise and inaccurate) statements and examples from a subject area into verified fact types. The output of this productivity enhancing process (a set of information requirements) is compatible with all the latest and most productive database application creation tools. John is the editor of the international standard for conceptual schemas. He has co-chaired two international conferences on natural language modeling and he has presented numerous papers and seminars at professional conferences.
Contact information:
Dr. John Sharp
Sharp Informatics
1604 Vassar SE
Albuquerque, NM 87106
sharp@sharp-informatics.com
505-243-1498
fax 505-248-0345
http://www.sharp-informatics.com
![]()
© Copyright, 1998-2004 InConcept
(Information Conceptual Modeling, Inc.) All
Rights Reserved. Privacy Statement.
ISSN: 1533-3825