[Modeling] Modeling an Agent Class- composition

James Odell email@jamesodell.com
Thu, 26 Jun 2003 13:59:11 -0400


Very good!  Now you are beginning to identify an important notion in
enterprise modeling: that association classes often carry the meaning you
want for roles rather that just subtypes of Person, Organization, and Party.

The notion of being an employee is bound up in the notion of an association
between a person and an organization.  If you are an employee with two
employers, the person actually has two different roles -- qualified by the
employer organization.   Also, being a customer is yet another association,
except it is an association class the exists between two parties (where a
"party" is an person or organization).

-Jim


On 6/26/97 2:40 PM, "Joaquin Peņa" indited:

> I agree someway with you Hong.
> 
> I think, an employee can not be a class. It is a role that object in the
> class person can perform.
> 
> Can be a solution to put such kind of relations between roles? That it
> is to say, our idea is:
> 
> ********  play  -----------         interact    ----------  play
> *************
> CLASS  *------->* ROLE    * ------------------- * ROLE   *<------  CLASS
> Person *        * employee*                     * Manager*
> Department
> ********        -----------                     ----------
> *************
> 
> Thus, the implementation of Role is a set of method-calls of the
> class person (note if you are a person who works for a company and
> you lose your job, you still knows how to work, thus, method for
> work must be maintain in class person). Then, if you destroy the
> department, you can delete such roles.
> 
> Thus, we decouple behaviour from functionality. We need a relation
> interact, and a relation play (can be also uses).
> 
> Does it makes sense?