|
3. - Moduleco, an object oriented modular Framework,
3.1.2. Concepts
of object oriented programming and multi-agent systems
|
|
conceptual framework :
Object and encapsulation :
data, methods (computation - behavior)
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 :
-
"Cell
within array" (or spreadsheet)
-
Software object
(i.e. objects in array list - this model)
-
Active (software) objects
(i.e. threads)
-
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.fr,
Antoine Beugnard@enst-bretagne.fr