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.