Re: On formal HAS-A definition

From: Nilone <reaanb_at_gmail.com>
Date: Thu, 13 May 2010 01:07:25 -0700 (PDT)
Message-ID: <b209ee8e-6126-4dfa-8eb4-700de42ae7d7_at_l28g2000yqd.googlegroups.com>


On May 12, 6:26 pm, Tegiri Nenashi <tegirinena..._at_gmail.com> wrote:
> On May 12, 12:53 am, Nilone <rea..._at_gmail.com> wrote:
>
> > On May 12, 12:30 am, Tegiri Nenashi <tegirinena..._at_gmail.com> wrote:
>
> > > Again, the IS-A case seems easier because we
> > > already have subset relationship defined for each pair of "attribute-
> > > compatible" relations.
>
> > I consider x IS-A y as a relation named y with a unique constraint on
> > x.  Your thoughts?
>
> I'm lost. Example, please?

This definition of IS-A differs from the one I previously gave in this thread ("IS-A is an isomorphism between domains of entities"). The two uses correspond to the 'is' of identity and the 'is' of predication, resp (see Korzybski). For example:

// 'is' of identity
Flower = [x: Name]

        Rose
        Violet

// 'is' of predication
FlowerColor = [x : Animal, y : Color]

        Rose, Red
        Violet, Blue

>
> > > I'm not that sure about the HAS-A.
>
> > I consider x HAS-A y as a relation which includes attributes x and y.
> > A unique constraint on y denotes aggregation, the lack of it
> > association.
>
> Well, I was impressed by Smith&Smith "Aggregation and Generalization"
> paper a while while ago, but since the rise of UML avoid using these
> terms. Again, example, please.

Aren't those terms still used in UML, e.g. http://en.wikipedia.org/wiki/Class_diagram#Instance_Level_Relationships?

I messed up 'aggregation' and 'association' there. Let me try again: a lack of unique constraints imply aggregation, a unique constraint on x denotes the composition of y from x, and vice-versa for a unique constraint on y. Unique constraints on both implies a binary association relation. For example:

// aggregation
StudentClass = [x : Student, y : Class]

        John, Math
        John, Biology
        Mary, Math
        Mary, History

// composition, unique constraint on y
SubjectModule = [x : Subject, y : Module]

        Math, Geometry 1
        Math, Algebra 1
        Biology, Evolution 1

// association, unique constraint on (x, y) DepartmentHead = [x : Department, y : Professor]

        Physics, Frank
        History, Susan

> Well, how about "Gentle introduction to relational lattice"? Better
> yet, you appears to have solid programming background, so I assume
> downloadinghttp://qbql.googlecode.com/svn/trunk/dist/qbql.jar
> or even checking in QBQL project in Eclipse wouldn't be a problem?

Will do, as soon as I can. There's just too much to read and too little time. Received on Thu May 13 2010 - 10:07:25 CEST

Original text of this message