Objecten en agents
[]
inleiding,
technologie
programmertaal
objecten
metafoor
conclusies
naschrift
literatuur
Ook bij de introductie van object-georienteerde technologie,
eerst in 1967 met Simula
en later meer succesvol met Smalltalk begin tachtiger jaren,
werd een nadrukkelijk beroep gedaan op
een metafoor.
Objecten zijn te zien als de dingen die we in de werkelijkheid
om ons heen zien, dingen waar we dagelijks mee omgaan.
Dingen met eigenschappen en gedrag [OO].
Voor het ontwikkelen van systemen hoefden we slechts
de werkelijkheid te bestuderen om de objecten van
ons systeem te leren kennen.
Ook later, toen de aandacht verschoof
van object-georienteerde talen
en de implementatie van object-georienteerde systemen
naar analyse, ontwerp en object-georienteerde modellering
bleef deze metafoor nog lange tijd van kracht.
Nu de technologie zelf meer volwassen is, en mede door
de introductie van gedistribueerde object-technologie,
wordt de oorspronkelijk naieve metafoor met wat meer terughoudendheid
gehanteerd en is er ook aandacht
voor objecten die hun oorsprong niet vinden in de
werkelijkheid maar geintroduceerd worden ten behoeve
van de modellering of de software architectuur zelf.
De metafoor blijft desalniettemin onverkort van kracht
in de mate waarin zij de karakterisering van eigenschappen en gedrag
benadrukt, zoals vastgelegd in interfaces.
Ten overvloede, het voordeel daarvan is
de afscherming van implementatie-details en data-structuren!
Van een object, als representant van een ding
uit een al dan niet imaginaire werkelijkheid,
met eigenschappen en gedrag,
naar een 'agent' als
autonome entiteit met
eigenschappen en wellicht wat meer intelligent gedrag is
het maar een kleine stap.
Hooguit zal het gedrag van een agent op een wat
meer antropomorfe manier beschreven worden
en zullen de eigenschappen wellicht betrekking
hebben op geloof, wensen en intenties! (Zie [Survey])
Autonomie, noch communicatie is daarbij een onderscheidend
kenmerk.
Deze aspecten behoren wezenlijk tot de
moderne object-technologie zoals bijvoorbeeld belichaamd in
Java en CORBA.