[Modeling] Modeling an Agent Class- register your opinion

Joaquin Peņa joaquinp@us.es
Mon, 23 Jun 2003 11:05:33 +0200

Hi Jim:

> If all the employees for a department lose their jobs, they 
> just have one less role that they are instances of.  They do 
> not "become" persons; they already are persons.  So, is Juan 
> was an instance of Employee, Homeowner, and Father before his 
> department was "destroyed," he is still a Homeowner and Father after.

I'm sorry, "become" is not the most appropriate word. I wanted to
mean what you have pointed out. 

> > What is a role in object orientation? According to the OO 
> philosophy 
> > that 'everything is object', the answer can only be that roles are 
> > objects. Of course, they are defined through class, i.e. 
> instances of 
> > class. This hights why OO does not modelling the world in a 
> > straightforward way, but one needs to twist their minds and arms to 
> > view the world.
> Hong, excuse me: this is what metamodeling --not OO-- is 
> about.  Why do you make the claim that this "does not 
> modelling (sic) the world in a straightforward way"?  
> Metaclasses are classifiers whose instances are classifiers.  
> This is very straightforward -- and is certainly not about 
> twisting the arm of "the world."  Individual roles, then, can 
> quite easily be expressed as instances of the class Role.  
> Employee is an instance of
> Role, Homeowner is an instance of Role, etc..   In this context, then,
> Employee and Homeowner *are* objects, which are instances of 
> the class Role. If you believe that Employee and Homeowner 
> roles should be treated as autonomous, interactive entities 
> (i.e., agents), they are *still* instances of Role. 
>      In short, this has nothing to do with OO causing people 
> to "twist their
> minds and arms to view the world."   Therefore -- with all 
> due respect -- I
> strongly suggest we have heard enough of the OO bashing.  
> Instead, I recommend that we all start recommending 
> *solutions*.  At the end of the day, it will be solutions 
> that build systems.  So, please let's be constructive here.

Are we speaking about , Analysis?  Desing? Implementation of roles?

> >> There are a lot of papers on how to implement roles in the OO 
> >> paradigm, but we think most appropriate approach is such that use 
> >> Aspect-Oriented Programming where functionality and behaviour are 
> >> orthogonal in the implementation.
> If I understand the point you are making, I don't agree. Both 
> OO and AO make the distinction "where functionality and 
> behaviour are orthogonal in the
> implementation."    Again: I think it's time to start 
> recommending solutions
> that will solve the problems we need for agent-based systems. 
>  Then, if the solutions look good, we can look back to see if 
> they are different from OO or not.  Does that make sense?

That's right. But we recommend AOP until we have programming
languages which can implement directly dynamic and multiple
classification. That it is to say, a weaver (like a pre-compiler)
that apply design patterns to support dynamic changes of role and
multiple role assignment to the same agent.


> -Jim 
> _______________________________________________
> Modeling mailing list
> Modeling@www.fipa.org
> http://fipa.org/mailman/listinfo/modeling