Friday, December 27, 2013

Object Oriented VS Agent-Based Software Engineering



Found a nice explanation that points out the difference between object-orientation and agent-based software while I was reading a thesis entitled "Multi-agent Systems for Transportation Planning and Coordination" written by Moonen (2009).  

He wrote, "From a software engineering design perspective, it is good to understand where agent-based approaches differ from traditional Object Orientation (OO) development methods. ...

Jennings (2001) listed the most compelling differences between agent-based and OO: 
  •  Objects are generally passive in nature – they need to be send a message before they become active;
  • Objects do encapsulate state and behaviour realisation, they do not encapsulate behaviour activation (action choice) – more specifically, an agent can have behaviours which are reactive, proactive, and/or social in nature;
  • OO fails to provide an adequate set of concepts and mechanisms for modelling complex systems;
  • OO approaches provide minimal support for specifying and managing organisational relationships;
  • Agents have at least one thread of control but may have more, whereas Objects have solely one thread of control (Wooldridge, 1999)."  
little robot by annares - source openclipart.org
 
Just exactly what I have been looking for, maybe it is the case for you too ;)



References
Jennings, N. R. (2001). An Agent-based Approach for Building Complex Software Systems. Communications of the ACM, 44(4), 35–41.
Moonen, H. (2009). Multi-Agent Systems for Transportation Planning and Coordination. Erasmus University Rotterdam.
Wooldridge, M. J., & Jennings, N. R. (1995). Intelligent Agents: Theory and Practice. Knowledge Engineering Review, 10(2), 115–152.

No comments:

Post a Comment