HDTenEightyP/NetNews huggingface dataset:
From: davidm@consilium.com (David S. Masterson)
Newsgroups: comp.object
Subject: Relationships (was Re: Object-Oriented Methodologies...)
Date: 4 Sep 92 21:15:23 GMT
	<rmartin.715531162@thor>
Organization: Consilium Inc., Mountain View, California
In-reply-to: rmartin@thor.Rational.COM's message of 3 Sep 92 14:39:22 GMT
X-Posting-Software: GNUS 3.13  [ NNTP-based News Reader for GNU Emacs ]

>>>>> On 3 Sep 92 14:39:22 GMT, rmartin@thor.Rational.COM (Bob Martin) said:

> A circle, in and of itself, should not need to know anything about a Line.
> However, if that Circle is part of a family of objects, all of which know
> how to find their intersection with a Line, then the knowledge of Line is an
> attribute of the family which is inherited by its members.  This is proper.

Is it?

Is a relationship between two objects an attribute of one of the objects or is
the relationship an object in its own right?  In this case, would it be better
to write a comparison operator on the geometric object that figures out how
to compare itself with another geometric object or is it more intuitively
correct to write the operator as a separate function that takes two objects as
input.  I know you could syntactically think of these as the same thing, but
I'm asking from the semantic point of view.
--
====================================================================
David Masterson					Consilium, Inc.
(415) 691-6311					640 Clyde Ct.
davidm@consilium.com				Mtn. View, CA  94043
====================================================================
"In addition I think science has enjoyed an extraordinary success
 because it has such a limited and narrow realm in which to focus its
 efforts.  Namely, the physical universe."
-- Ken Jenkins
Newsgroups: comp.object
From: tnr@csd.cri.dk (Torben N. Rasmussen)
Newsgroups: comp.object
Subject: Object Oriented Environment ?  ObjectPlus ?, Adagen ?
Keywords: ooa design tools
Date: 15 Sep 92 12:17:10 GMT
Organization: Computer Resources International A/S


Does anybody knows about the following 3 product ?

	1)	Object Oriented Environment
	2)	ObjectPlus
	3)	Adagen

I'm looking for telephone number, mail adrresses
etc to get info, demo version or even the product.

If you can recomment another tool for OOA I would also be thankfull.

Karsten B. Andersen

e-mail:  kba@pfd.cri.dk  
-- 
Newsgroups: comp.object
From: curzon@trooa.enet.dec.com (Richard Curzon)
Subject: Re: where was this paper OTHER published?
Organization: Digital Equipment Corporation
Date: Mon, 14 Sep 1992 21:18:14 GMT


In article <D2150022.dhefnq@bse.bse.com>, eberard@bse.com (Edward V. Berard) writes...

I have the last issue of SCOOP, the Digitalk newsletter.  It has an excerpt
from a paper from Mr. Berard's company, called "A Complete Ojbect-Oriented 
Design Example".  Can someone from the BSE give ordering information 
price, address, etc.  -- and can it be ordered over the net?

                                Richard Curzon, Digital Equipment of Canada
				Toronto
   (from INTERNET)     curzon@trooa.ENET.dec.com 
   (from COMPUSERVE)   71371,2521  OR  >INTERNET:curzon@trooa.ENET.dec.com
Newsgroups: comp.object
Subject: Re: Object-Oriented Methodologies - Class Specifications
From: stuart@spss.com (Stuart Schmukler)
Date: Sun, 6 Sep 1992 23:08:35 GMT
Organization: SPSS Inc.


I'll put my two cents into the fray.  So, IMHO:

Maybe an ellipse is a subclass of a circle, maybe not.  It epends on
the _Point_Of_View_ (POV) that is required for the project at hand.
Inheritance is not the only way to get to the goal of modular
behaviours.

Stuart
From: santas@inf.ethz.ch (Philip Santas)
Newsgroups: comp.object
Subject: Re: Object-Oriented Methodologies - Class Specifications
Date: 7 Sep 92 00:16:34 GMT
Organization: Dept. Informatik, Swiss Federal Institute of Technology (ETH), Zurich, CH


In article <65380@cup.portal.com> James_-_Odell@cup.portal.com writes:
>
>As I recall my mathematics, set and class are equivalent--at least
>according to Quine.  (Although for Bertrand Russell, the difference is
>that a set can be an object and a class cannot.)

Russell did not say this. A  Class is a set of elements 
which obey to a certain relationship.

>    In OO programming, a class implements a structure whose
>extension is a set.  Additionally, in classical OO programming
>(whatever that is) a set cannot exist without a corresponding class.
>In other words, whenever you have a set, you have a class; and
>whenever you have a class, you have a set.  Therefore, having a
>subset would *seem* to imply having a corresponding subclass.
>However, this is not *necessarily* true.  While having a subset
>implies having a corresponding class, a subclass is not *required*.

You make a good point, but since classical OOP has _nothing_
to do with mathematical classifications (at least as one 
understands from the discussions so far), I'm wondering
why it should be required.

>A programmer may choose to implement the Circle subset with an
>Ellipse class.  Instances of circles would then be indicated with an
>instance variable or some other mechanism--instead of a Circle
>subclass.

Yes he can :-( 
He can also just say that instances of Cicles
are instances of the class Geometrical Object and just use
some instance variables for linearity, number of sides etc.
(for ellipses the number of sides is oo :-)

But notice that this is in _some_ cases _very_ correct.
I have seen papers in OOP, where they accept the current definition of
classes in OOP, and they say that Integer is a subclass of Real,
while they mean that every instance of the class Integer, is also
an instance of the class Real (given always the current definition
of class in OOP: this remark is important), and they do this 
without including any form of coercions.

Now, how can 1 be the same as 1.0000... (without coercions!)
this is another story, which is carefully not explained... :-(

>   Does this make sense, or am I way off base?

Your point does make sence. But unfortunately very few people 
are going to appreciate it.

Philip Santas

  "In an evolving universe those who stand still are really moving backwards"
--------------------------------------------------------------------------------
email: santas@inf.ethz.ch				 Philip Santas
Mail: Dept. Informatik				Department of Computer Science
      ETH-Zentrum			  Swiss Federal Institute of Technology
      CH-8092 Zurich				       Zurich, Switzerland
      Switzerland
Phone: +41-1-2547391
From: haim@dancer.uucp (24103-kilov)
Subject: Re: Object-Oriented Methodologies - Class Specifications
Organization: Bellcore, Livingston, NJ
Date: Tue, 8 Sep 92 15:58:34 GMT

Eric Smith says:

The trick is to see that relationships are themselves objects.  For example,
the ways a line and a circle can relate to each other are the line-circle
relationship, which is a subclass of the two-geometric-figure relationship.
Intersections are a feature of geometric figures, and the intersections of
a line and a circle are a feature of the line-circle-relationship subclass
of the two-geometric-figure relationship.
---

Of course! And, moreover, a relationship is defined exactly like any other
class is defined, i.e., by using available operations. Note that these
operations will be jointly owned by more than one object class (in this
example, by a line and a circle...).

And an operation is defined by appropriate pre- and postconditions that act
within the context specified by an invariant.

This approach is close to the one used in the OSI Managed Relationship 
Draft Standard.

We use it for a while in information modeling, and we have a library of
generic relationships used for this purpose (dependencies, compositions,
references, "traditional" (Chen-like) relationships, etc. The framework
of this approach is described in "The Framework" (of course), a Bellcore
publication, and in some papers at conferences like TOOLS '91, TINA '92, etc.

Hope this helps.

-Haim Kilov
haim@bcr.cc.bellcore.com      or
haim@dancer.cc.bellcore.com
Newsgroups: comp.object
From: jrobbins@oahu.cs.ucla.edu (Jason Robbins)
Newsgroups: comp.object
Subject: Re: Why is GC needed?
Date: 15 Sep 92 20:44:14 GMT
Organization: UCLA Computer Science Department
Originator: jrobbins@oahu.cs.ucla.edu

In article <1992Sep15.165046.27403@m.cs.uiuc.edu> you write:
>st1lv@rosie.uh.edu (McLeod, Stephen) writes:
>>Hi.  I'm boning up on OOPS right now and the book I'm using said that without
>>automatic garbage collection, it is not OOP/OOD.  Why is this the case?  The
>>book is rather unclear on this particular point.
>...
>This is a question that has intrigued me for some time. ...
>However, it has always been hard for
>me to see why Object Pascal, Objective C, or C++ aren't object-oriented, 
>because the same design patterns that work well with Smalltalk or Eiffel
>also work well with them.  I have come to the conclusion (right or wrong)
>that people see g.c. as integral to OOP because g.c. makes software much
>more reusable, and reuse is a major motivation for OOP.  G.c. makes it
>much easier to think about objects as independent entities that control
>their own destiny.

  I think that Ralph has hit the nail on the head: GC makes objects
seem more self-contained, that is to say, more object oriented.

  I must disagree on the point about C++ and other hybrid languages
being OO. Those languages are meant for dealing with algorithms, they
support objects as ADT's or "smart data structures".  When you think
of a C++ program you think of a big call graph rooted in main() and
here and there are transitory objects are created as local variables
inside individual functions. The idea that objects are better ADT's is
productive but I think that the real OO paradigm has more to offer.

  I think of real OO programs as big graphs of objects (instances, not
classes, classes are just the way you organizes code, the object-graph
is where the real information is located, and it is what should drive
your choice of class decomposition) with each object having little
transitory algorithms hanging off of it. The running of the program is
not so much determined by the progress of the program counter through
control structures as it is by the propagation of state-changing
messages through the object-graph.

  If you go for the second view of the OOP then you would tend to have
all the algorithms working at the object's-eye-level. There is no good
place to put explicit storage management is such a system, so language
provided GC is needed. Of course, you could have a malloced
object-graph in C++ and write your own storage management system. But
as the project gets more complex, and your storage management system
is made more reusable or made to work with more reusable components, it
will just approach the generic GC algorithms (but slower).

-jason
Newsgroups: comp.object
From: quandt@mcs213c.cs.umr.edu (Brian Quandt)
Subject: design tools
Date: Sat, 12 Sep 1992 15:07:52 GMT
Organization: University of Missouri - Rolla

What OO or strucutred design tools are available (public domain) for the
UNIX world?  I know that a tool 'easycase' is availbe for the DOS world.
From: dkulkarn@handel.helios.nd.edu (Dinesh Kulkarni)
Newsgroups: comp.object
Subject: Inheritance and Reflection: Where Is the Boundary ?
Date: 9 Sep 92 16:21:52 GMT
Organization: University of Notre Dame, Notre Dame

Here is a comment-cum-question about some of the basic features of OOP.
Any amplifications/contradictions welcome.

The *effect* of meta-abstraction can often be achieved through super-abstraction
(inheritance).  For instance, an object with a different behavior could be
obtained by specializing an existing object through subclassing or through
metacomputation.  Especially in case of dynamic inheritance and prototype-
based languages (instead of classes), the distinction is very fuzzy.  So where
is the boundary ?  I understand that the mechanisms used may be drastically
different in these two cases, but is there any way to tell what was used or
should have been used to achieve a particular change in object behavior
(where metacomputation leads to such a change) from the result ?

Thanks.

Dinesh
Newsgroups: comp.object
From: smissura@inf.ethz.ch (Stephan Albert Missura)
Subject: Re: Object-Oriented Methodologies - Class Specifications
Organization: Dept. Informatik, Swiss Federal Institute of Technology (ETH), Zurich, CH
Date: Sun, 6 Sep 1992 11:26:34 GMT

In article <PFKEB.92Sep5213354@kaon.SLAC.Stanford.EDU> pfkeb@kaon.SLAC.Stanford.EDU (Paul Kunz) writes:
>In article <715276480.1.p00058@mail.psi.net> p00058@mail.psi.net (Ronald C. Schultz) writes:
>
>This post started a lot of discussion, but nobody seemed to notice
>what I consider a much more fundamental mistake...

the mistake is that you can't model Circles as a
subclass of the Ellipses in the OO languages I know
(ok, ok, we had this already some weeks ago 
with Rectangles and Squares...).

>
>   ---- start of quote -------------------------
>   Class Description
>   Class Name: Circle
>   Version: 1.0
>   Description: Ellipse whose major and minor axes are equal
>   Super Classes: Ellipse
>   Features:
>	   Public Attributes:
>		   center: Point - location of its center
>		   radius: Real - its radius
>	   Public Methods: 
>		   draw (Window) - draws a circle in the window
>		   intersectLine (Line): Set of Points - finds the 
>   intersection of a line and a circle, returns set 0-2 points
>		   area(): Real - calculates area of circle
>		   perimeter(): Real - calculates circumference of circle
>	   Private Methods: none
>   ---- end of quote --------------------------
>
>Nonsense.   

is a bit strong :-)

>A Circle is not a *subclass* of Ellipse, it is a *subset*
>of all possible Ellipses.   There's no need to define such a class.
>Confusion between subset and subclass is happening here.

every set is also a class (at least in mathematics),
so a subset is also a subclass (but perhaps not in OO :-)

>--
>Paul F. Kunz	pfkeb@slac.stanford.edu (NeXT mail ok)
>Stanford Linear Accelerator Center, Stanford University
>Voice: (415) 926-2884   (NeXT) Fax: (415) 926-3587

stephan

-- 
  //  Stephan Missura,  smissura@iiic.ethz.ch,  CS-student -  ETH Zuerich  \\
\X/              "There is no progress without discussion"                  \X/
Newsgroups: comp.object
From: eric@tfs.com (Eric Smith)
Subject: Re: Object-Oriented Methodologies - Class Specifications
Organization: TFS
Date: Mon, 7 Sep 1992 03:42:45 GMT

In article <graham.715829976@galois> graham@maths.su.oz.au (Graham Matthews) writes:
>still ... the challenge is in modelling the relationships between objects,
>not in modelling the objects themselves. In my opinion OO does a good job
>of the latter and a poor job of the former.

The trick is to see that relationships are themselves objects.  For example,
the ways a line and a circle can relate to each other are the line-circle
relationship, which is a subclass of the two-geometric-figure relationship.
Intersections are a feature of geometric figures, and the intersections of
a line and a circle are a feature of the line-circle-relationship subclass
of the two-geometric-figure relationship.
Newsgroups: comp.object
From: ede978e@monu6.cc.monash.edu.au (Robert D. Nicholson)
Subject: Re: Why is garbage collecting considered intregral to OOPS?
Organization: Monash University, Caulfield Campus
Date: Tue, 15 Sep 1992 17:02:06 GMT

st1lv@rosie.uh.edu (McLeod, Stephen) writes:

>Hi.  I'm boning up on OOPS right now and the book I'm using said that without
>automatic garbage collection, it is not OOP/OOD.  Why is this the case?  The
>book is rather unclear on this particular point.
>---
>Stephen McLeod         6 days til next chemo session.  bleh
>The Eternal? Student

OOP is all about abstraction, ie. focusing on the problem rather than the implementation.  Thus garbage collection takes away the chore of managing memory yourself.



Newsgroups: comp.object
From: santas@inf.ethz.ch (Philip Santas)
Subject: Re: Object-Oriented Methodologies - Class Specifications
Organization: Dept. Informatik, Swiss Federal Institute of Technology (ETH), Zurich, CH
Date: Mon, 7 Sep 1992 03:05:02 GMT



In article <1992Sep6.112634.9430@neptune.inf.ethz.ch> smissura@inf.ethz.ch (Stephan Albert Missura) writes:
>
>every set is also a class (at least in mathematics),
>so a subset is also a subclass (but perhaps not in OO :-)

I think you mean that every subset _can_ be seen as a subclass.
There are cases in which I want to deal with just sets and subsets, but
I do not want to add subclass relationships among them.

On the other hand it is important to distinguish between subclasses and subsets.
You can define subclasses by means of embeddings or injective coercions, but this 
means that you just define a mapping from elements of one class to another and 
not a subset relationship.

Philip Santas

  "In an evolving universe those who stand still are really moving backwards"
--------------------------------------------------------------------------------
email: santas@inf.ethz.ch				 Philip Santas
Mail: Dept. Informatik				Department of Computer Science
      ETH-Zentrum			  Swiss Federal Institute of Technology
      CH-8092 Zurich				       Zurich, Switzerland
      Switzerland
Phone: +41-1-2547391
From: csp48@seq1.keele.ac.uk (J.W. Kirriemuir)
Newsgroups: comp.object
Subject: Re: Object-Oriented Methodologies - Class Specifications
Date: 8 Sep 92 10:34:37 GMT
Organization: University of Keele, England

Could someone please e-mail me the original query that generated this
thread; our system only has a one-week retention of postings, so it is
lost in the midsts of time for us here at Keele.

Come to think of it, it might be a good idea to repost it to the
newsgroup; after x hundred postings to this thread, it might be good to
refresh our memories of what the original problem was.

--
From: kers@hplb.hpl.hp.com (Chris Dollin)
Date: Mon, 7 Sep 1992 09:08:21 GMT
Subject: Re: Re: Object-Oriented Methodologies - Class Specifications
Organization: Hewlett-Packard Laboratories, Bristol, UK.
From: rka@fct.unl.pt (Rafaela Kufahl Azinhal)
Subject: OOA/OOD CASE tools for IBM RS6000, AIX v3.2
Organization: Universidade Nova de Lisboa -- Lisbon, Portugal
Distribution: comp
Date: Thu, 10 Sep 1992 19:03:15 GMT


I've been in contact with Interactive Development Environments because
of their CASE product "Software through Pictures". This product is
supposed to support (Object-oriented Structured Design) OOSD/Ada and
OOSD/C++ on several platform. Unfortunately, OOSD/C++ exists only on 
SUN Sparc. As our university mantains mainly IBM RS6000 running AIX v3.2,
we have a problem here. 

My purpose of posting this, is to ask if anyone has had experience
using an OOA/OOD CASE tools running on IBM RS6000 under AIX v3.2,
and which generates C++ code.

If yes, I need the contact of their headquarters, preferably with fax
number.

Thanks in advance.
--
+---------------------------------------------------------------------+
| Rafaela Kufahl Valente Azinhal    | BITNET/Internet: rka@fct.unl.pt |
| Universidade Nova de Lisboa       |          UUCP: rka@unl.uucp     |
| FCT - Dpto. de Informatica        | Fax:   (+351) (1) 295-5641      |
| Quinta da Torre                   | Telex: 14 542 FCTUNL P          |
| 2825 Monte Caparica, PORTUGAL     | Phone: (+351) (1) 295-4464      |
+---------------------------------------------------------------------+
Newsgroups: comp.object
From: jeffery@flood.com (Jeffery Cavallaro)
Subject: A FUNNY THING HAPPENED AT THE BOOKSTORE
Organization: The Flood Group, Inc.  Torrance, Ca.
Distribution: ca
Date: Wed, 9 Sep 92 17:14:44 GMT


A funny thing happened while in the OO* section of my favorite technical
bookstore (OP-AMP for all you LA people).  I picked up a book that supposedly
dealt with distributed object systems.  On the cover was a chart evincing an
algorithmic decomposition of some problem.  Talk about truth in advertising!
Newsgroups: comp.object,comp.databases,comp.benchmarks
From: schreib@fzi.de (Hartmut Schreiber)
Subject: "Agent Orange": How to uncover hidden information paths
Followup-To: comp.benchmarks
Keywords: 2-4-5-T
Reply-To: schreiber@fzi.de
Organization: Forschungszentrum Informatik (FZI), Karlsruhe, Germany
Date: Tue, 8 Sep 1992 06:33:55 GMT

Hello Netters,

recently, I received mail from someone, who received it from someone, who
received it from dbowner@cs.wisc.edu which in turn is a mail server for
topics related to database technology. This mail turned out to be very
useful for me.

Now I'm wondering, whether there are more interesting mail aliases, which
might be of use for my research in the fields of object technology, database
systems and benchmarking.

If you receive mail from any mail server, I'd greatly appreciate if you
sent me the mail address or told me the way to subscribe for that server.

advTHANKSance.

--
Computer Science Research Center at the University of Karlsruhe
                Database Systems Division
Hartmut Schreiber               e-mail: schreiber@fzi.de
Haid-und-Neu-Str. 10-14         phone: (+49) 721 9654 744
W7500 Karlsruhe 1 (Germany)     fax:   (+49) 721 9654 709
Newsgroups: comp.object
From: Bob Hathaway <objsys@netcom.com>
Subject: Re: Inheritance and Reflection: Where Is the Boundary ?
Date: Sat, 12 Sep 92 23:36:27 GMT
Organization: Object Systems

In article <1992Sep9.162152.23891@news.nd.edu> dkulkarn@handel.helios.nd.edu (Dinesh Kulkarni) writes:
>The *effect* of meta-abstraction can often be achieved through super-abstraction
>(inheritance).  For instance, an object with a different behavior could be
>obtained by specializing an existing object through subclassing or through
>metacomputation.  Especially in case of dynamic inheritance and prototype-
>based languages (instead of classes), the distinction is very fuzzy.  So where
>is the boundary ?  I understand that the mechanisms used may be drastically
>different in these two cases, but is there any way to tell what was used or
>should have been used to achieve a particular change in object behavior
>(where metacomputation leads to such a change) from the result ?

To my knowledge, (intercessory) reflection is used for language extensibility,
meaning to extend the language.  This is a systemic or framework change such
as accepting or implementing alternative object structures or providing a
new inheritance framework.  This is a *very* nice way of providing these
services by allowing a kind of language or compiler reuse thru inheritance.
    [Non-Disclaimer: I am in the reflection camp.]

Inheritance is used within an application - a class is-a-kind-of another class
(at least classically).  Reflection then works by inheriting from the new
framework instead of the old one thereby "inheriting" the new framework.  I
believe reflection was considered a questionable practice years ago because of
feared intrusion with the existing system but with reuse thru derivation
reflection is not only considered acceptable but quite elegant.

bob
objsys@netcom.com
Newsgroups: comp.object