From: sally@projtech.com (Sally Shlaer)
Subject: Re: SHlaer-Mellor OOA Model, Problem with definition of Object
Organization: Project Technology, Inc., Berkeley, CA
Date: Tue, 21 Jul 1992 17:51:38 GMT

>> [from sally@projtech.com (Sally Shlaer):]
>> In summary, in OOA we are interested in the typical instance.  
Because we
>> are dealing with analysis, we are not interested in particular 
instances.

> [from johnson@m.cs.uiuc.edu (Ralph Johnson) :]
> It seems to me that there are plenty of times in analysis where you 
are
> concerned with individual instances.  [Then a pretty example follows.]

Yes, you are right.  I was not clear.  I should have said we are not 
interested in *specified* instances.  We are obviously interested in 
individual unspecified instances that meet certain criteria.  There are 
many examples of this in Object Lifecycles.

===================================
On the terminology discussion :
>> [from sally@projtech.com (Sally Shlaer):]
>> In OOA, we use "object" to mean a single, typical but *unspecified* 
instance.
>> So a Car object means a single car, I don't care which one.  Most 
OODers
>> today (I think) would find this a reasonable use of the word object

> [from johnson@m.cs.uiuc.edu (Ralph Johnson) :]
> If I did, I wouldn't have complained!

Fair enough  :-).

>> [from Sally]  Now let us switch over into OOD land.  As I see it,
>> the word "class" today combines two ideas:
>>  +    the typical unspecified instance (I don't care which instance
>> you are thinking about, this operation works the same way on any 
instance).
>>  +    the collection of all existing instances (as in class data, 
iterators
>> and similar class methods)

> {from Ralph]  I only use "class" for the first concept.

OK.  Then I think this is what we are saying:  A typical unspecified 
instance is a class to Ralph (who I am taking to be a spokesman for 
OOD), and an object in S-M OOA.  OOA does not have a word for the 
collection of existing instances.

Questions:  1.  Do you have a word for the collection of existing 
instances?
2.  What do you mean when you say "object"?  Can you answer in terms of  
"how many" and specified vs. unspecified -- or is there another 
dimension that we need to take into account? 
3.  When you said "Like you, I consider a collection of instances to be 
an object", you were using the OOA definition of object -- right?
4.  When you said "Moreover, I don't consider a class to be an object 
during high level design", were you using the same or a different 
definition?  (This one has me somewhat more puzzled.)

======================================

Now, since you asked earlier, here is the historical truth on why we 
chose the word "object" to mean typical unspecified instance.

In 1986-87, when we were writing the first book on S-M OOA, there were 
three terminologies current:  the structured methods terminology, the 
database terminology, and oo terminology.

The structured methods people (the Yourdon courses of that era and Matt 
Flavin's book) used "object" to mean typical unspecified instance.  So 
"object" was closely associated with analysis.

The database people were using "entity".  These people were somewhat 
more closely associated with design.  Based on this, we were slightly 
more inclined to use "object" for the concept in an analysis context.

But as you may remember, the terminology in the OO community was fairly 
variable at this time, particularly when dealing with concepts that were 
not strictly tied to a particular OOPL.  We read copious amounts of the 
literature, attended conferences, and talked to everyone we could locate 
to try to find the center of mass -- and "object" or "object-instance" 
seemed to be the center of mass for "typical unspecified instance", as 
well as we could tell.

So the choice was made in 1986-87 taking into consideration all the 
factors we could think of that might be relevant.  Now we are now stuck 
with this choice (can you imagine the outrage of our clients if we were 
to try to change it now??  Or the bizarre nature of this discussion if 
we weren't consistent from one book or paper to the next??).  So the 
right thing for us to do is to be careful to define our terms and to 
write as clearly and consistently as we can.  It is also right for us to 
understand exactly how our terms bother/confuse/irritate others -- hence 
my interest in this discussion.

Sincerely
Sally Shlaer      sally@projtech.com
From: antles@hpspkla.spk.hp.com (Tom L. Antles)
Date: Tue, 28 Jul 1992 21:28:51 GMT
Subject: OO Systems Design books/info available?
Organization: Hewlett Packard Company, Spokane, Wa.