3. - Moduleco, an object oriented modular Framework,
3.1.2. Concepts of object oriented programming and multi-agent systems

page précédentesommairepage suivante

conceptual framework :

Object and encapsulation : data, methods (computation - behavior)

ModelInfo.jpg (84336 octets)

Inheritance (from abstraction towards implementation) and modular architecture

Diagramatic presentation of UML (= Unified Modeling Language) : to make the dialog between computer scientist and economist easier, and to enhance the economic model semantics.



Classes define object structure and behaviour. The structure of objects is made of local information such as integer values, or of references to other objects called references. The behaviour of objects is defined by methods (function names and parameters) and their body (the code being executed when the method is invoked).
The figure above shows how classes, objects, attributes and methods are represented using the UML standard.
A box is a class, the name in the top of the box is the class name. Under the class name, the first rectangle contains the attributes (here a medium in the grey class EAgent), the second rectangle contains the methods (compute() in EAgent).
The second class Agent is linked to the grey one by an arrow meaning that Agent is a subclass of EAgent. This relationship makes Agent inherit all properties from EAgent : attributes and methods.
Note that when a method inherited from a super-class is defined again in a subclass, the latter masks the former. Then, when compute() is invoked for an Agent the actual executed method is found in Agent, even if EAgent defined its own method compute().



Four (non exclusive) levels for multi-agent systems :
  1. "Cell within array" (or spreadsheet)
  2. Software object (i.e. objects in array list - this model)
  3. Active (software) objects (i.e. threads)
  4. Autonomous (software) objects (the real "agents") > threshold effects and individual deterministic auto-regulation (i.e. viability principle : Aubin [1991] cf. Varela, Bourgine [1992])

Denis.Phan@enst-bretagne.frAntoine Beugnard@enst-bretagne.fr