[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.


Joaquin.

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