Slaidi par aģentu izstrādi

Download Report

Transcript Slaidi par aģentu izstrādi

Aģentu izstrāde
Priekšmets “Mākslīgais intelekts”
Egons Lavendelis
Mērķis (1/2)



Līdz šim runāts par dažādiem aģentiem
Nav runāts, kā tos praktiski realizēt
Mēģināšu atbildēt uz jautājumu: kā praktiski
izstrādāt aģentus, kas realizē lietas, ko
kursa ietvaros apguvāt
2
Mērķis (2/2)
Mērķis ir parādīt, kā aģentus var izstrādāt un
dot informāciju par to, kas ir nepieciešams, lai
varētu izstrādāt aģentus
NEVIS
Vienas lekcijas laikā iemācīt izstrādāt aģentus
kādā konkrētā vidē
3
Lekcijas plāns

Ievads: kādi aģenti praktiski tiek realizēti?



1. daļa: Aģentu izstrādes iespējas




Daudzaģentu sistēmas
Aģentu īpašības no izstrādes viedokļa
Aģentu realizācijas platformas (vides)
Aģentorientētas programmēšanas valodas
Kopsavilkums un praktiski ieteikumi, kā sākt aģentu realizāciju
2. daļa: Aģentorientēta programmatūras inženierija

Lekcijas beigās ieteikumi, kā sākt aģentu izstrādi
4
Daudzaģentu sistēmas



Reāli viena aģenta sistēmas neeksistē
(M.Vuldridžs)
Sistēmas, kas sastāv no savā starpā
sadarbojošām sastāvdaļām, ir skaitļošanas
pasaules ikdiena
Efektīvākais aģentu pielietojums ir
daudzaģentu sistēmu ietvaros
5
Tipiska daudzaģentu sistēmas struktūra
6
Kas tad ir jāizstrādā?



Secinājums: Izstrādājot aģentus, jādomā arī
par aģentu mijiedarbību
Risinājums tiek iegūts aģentu mijiedarbības
rezultātā
Jāizstrādā:



Intelekts aģentos
Aģentu mijiedarbība savā starpā
Aģentu mijiedarbība ar ārējo vidi (t.sk. lietotāju)
7
Aģenti vs objekti - līdzības

Iekapsulēšana – gan objektos, gan aģentos
ir apslēpti gan dati, gan uzvedība
Objektiem ir privātas metodes un atribūti, aģentiem - pārliecības un
darbības


Gan aģentiem, gan objektiem ir iekšējais
stāvoklis. Gan aģentu, gan objektu uzvedību
ietekme vēsture
Līdzīgi kā objekts, aģents (parasti) ir klases
instance
8
Aģenti vs objekti – atšķirības





Aģenti balstās uz stingrākiem iekapsulēšanas
principiem kā objekti – tiem nav citiem aģentiem
pieejamu metožu un redzamu atribūtu, izņemot aģenta
identifikatoru
Objekti mijiedarbojas ar metožu izsaukumiem, bet
aģenti nosūta ziņojumus, izmantojot strukturētas
valodas, piemēram FIPA ACL
Aģentiem piemīt sociālas īpašības, objektiem nav
organizācijas vai sociālo spēju
Aģenti spēj sadarboties un sacensties, lai sasniegtu
savus mērķus, objekti nespēj darboties uz mērķi
Aģenti nevar tikt brīvi izveidoti un iznicināti, kā to var
veikt ar objektiem
9
Aģentu dažādība


Racionāli aģenti vs Programmatūras aģenti
Refleksu aģenti vs BDI aģenti
(BDI-pārliecības, vēlmes, nodomi)

Bieži vien sistēmas heterogēnas
“Man ir vienalga, vai mans aģents ir
intelektuāls, man ir svarīgi, vai tas atrisina
problēmu” (F. Dignum)
10
1. daļa: Aģentu izstrādes
iespējas
11
Kā realizēt aģentus?


Asamblerā 
Objektorientētā programmēšanas valodā



Eksistē platformas, kas vienkāršo aģentu izstrādi
Gandrīz visi risinājumi balstās uz valodas Java
Aģentorientēta programmēšanas valoda



Grūti atšķirt OO paplašinājumus no AO valodām
Vāji attīstītas
AgentSpeak – programmē BDI aģentus
12
Aģentu izstrādes platformu
piemēri














JADE
JADEX
JACK
Jason
FIPA OS
AgentBuilder
ZEUS
RETSINA
JatLite
IMPACT
ABLE
Aglets
Spade
Utt.
13
Aģentu realizācija
objektorientētās valodās
14
Aģents šajā kontekstā



Process vai pavediens
Katram unikāls identifikators
Asinhrona mijiedarbība (parasti Java RMI)
15
Aģentu realizācijas/izstrādes
platformas piedāvā


Infrastruktūru, kas kopīga visiem aģentu
projektiem
Dažādus rīkus, šablonus, klases
16
Aģenta iekšējā
struktūra
Vide
Aģents
Mijiedarbība
Mijiedarbība
Aģents
Mijiedarbība
Aģents
Augsta līmeņa servisi (piem., aģentu komunikācijas valoda,
starpniekaģenti, koordinācija)
Zema līmeņa servisi (piem., aģentu vārdu serviss, ziņojumu
nosūtīšana)
Aģentu izstrādes rīki
(piem., grafiski
izstrādes rīki)
Vadības servisi
(piem., vizualizācija)
FIPA standarti
Aģentu testēšanas rīki
17
Aģentu realizācijas platformu
veidi

Sākotnēji divu veidu platformas:



Platformas aģentu mijiedarbības realizēšanai
Platformas spriest spējīgu (BDI) aģentu
realizēšanai
Patlaban cenšas iekļaut labāko no abiem
veidiem

Piemēram, JADEX pievieno BDI arhitektūru JADE
18
FIPA Standarti

FIPA - Foundation for Intelligent Physical Agents
Specificē platformas īpašības, lai platformas būtu
savietojamas

Standarti iekļauj:







Aģentu dzīves cikla vadību
Ziņojumu transportu
Ziņojumu struktūru
Aģentu mijiedarbības protokolus
Ontoloģijas
Drošības jautājumus
19
FIPA standarti padara dažādas
platformas savietojamas
Aģentu platforma 1
Aģenti
Dzeltenās
lapas
Baltās
lapas
Ziņojumu transporta
serviss
Aģentu platforma 2
Aģenti
Dzeltenās
lapas
Baltās
lapas
Ziņojumu transporta
serviss
20
Platformas piedāvātie servisi

Aģentu vadības serviss



Jeb balto lapu serviss
Uztur informāciju par aģentiem
 Nosaukums, īpašnieks, stāvoklis
Dzelteno lapu serviss



Directory facilitator (DF), Yellow pages
Operācijas
 Piereģistrēties
 Atsaukt reģistrāciju, mainīt reģistrāciju
 Meklēt
Uztur aģentu aprakstus
 Nosaukums, atrašanās vieta (adrese), protokoli, ontoloģija,
kompetence
21
Ziņojuma struktūra
Aploksne (Envelope)
Transporta informācija
Derīgā daļa (Payload)
Ziņojums iekodētā formā
Ziņojums (Message)
Ziņojuma parametri
Saturs (Contact)
Ziņojuma saturs
22
Aploksnes parametri







No, uz
Reprezentācija (String, XML, utt.)
Datums
Kodējums
Garums
Saņemšanas zīmogs
Drošības objekts (sertifikāts)
23
Derīgās daļas kodēšana


FIPA ACL valoda kļuvusi par standartu
Elements
Skaidrojums
Lauki:
mērķis (performative)
Kādu darbību šis ziņojums veic?
sūtītājs (sender)
Ziņojuma sūtītājs
saņēmējs (receiver)
Ziņojuma saņēmējs
atbildēt kam (reply-to)
Atbildes uz šo ziņojumu saņēmējs
saturs (content)
Ziņojuma saturs
valoda (language)
Valoda, kas izmantota satura izteikšanai
kodējums (encoding)
Kodējums
ontoloģija (ontology)
Ziņojuma ontoloģiskais konteksts
protokols (protocol)
Protokols, kam ziņojums pieder
sarunas id (conversation-id)
Saruna, kam pieder ziņojums
atbildēt ar (reply-with)
Atbildēt ar šādu izteikumu
atbilde uz (in-reply-to)
Darbība, uz kuru šis ziņojums atbild
atbildēt līdz (reply-by)
Laiks, līdz kuram tiek gaidīta atbilde
24
Ontoloģiju pielietojums

Ontoloģijas ļauj apmainīties ar zināšanām




Ontoloģiju izveides rīki



Ontoloģija nodrošina problēmsfēras konceptu un predikātu
vienādu izpratni starp aģentiem
Ontoloģija ļauj zināšanas iekodēt satura laukā
Satura laukā parasti tiek nosūtīti predikāti
Protégé http://protege.stanford.edu/
Integrēti aģentu izstrādes rīkos (piemēram, MASITS)
Ziņojuma saturu visbiežāk kodē FIPA-SL valodā

Faktiski var kodēt jebkādā valodā (KIF, Prolog, SQL, FIPASL, FIPA-CCL, FIPA-RDF, FIPA-KIF)
25
JADE ontoloģiju atbalsts
Ziņojuma satura
lauks
Informācija ir
reprezentēta kā simbolu
vai baitu virkne
(vienkārši nosūtīt)
Aģenta iekšiene
JADE satura valodu
un ontoloģiju atbalsts
Informācija ir reprezentēta
kā Java objekti
(vienkārši apstrādāt)
26
Ziņojuma piemērs

Aģents i pieprasa aģentam j (robotam)
nogādāt konkrētu kasti konkrētā vietā
(request
:sender (agent-identifier :name i)
:receiver (set (agent-identifier :name j))
:content ((action (agent-identifier :name j)
(deliver box017 (loc 12)))
:protocol fipa-request
:language fipa-sl
:reply-with order567 )
27
Ārpus FIPA standartiem paliek

Paši aģenti
Respektīvi, standarti nosaka to, kādi ir aģentu
“interfeisi”, bet aģentu realizācijas paliek
platformas izstrādātāju ziņā
28
Komunikāciju nodrošinošas
platformas



Nodrošina FIPA standartiem atbilstošu
ziņojumu apmaiņu
Piedāvā FIPA standartiem atbilstošus
servisus
Piedāvā dažādus rīkus




Aģentu izstrādes rīki
Aģentu vadības rīki
Aģentu testēšanas rīki
Aģentu “iekšieni” realizē (parasti Java) kodā
29
Kā tas izskatās reāli?
JADE aģents




Klases jade.core.Agent apakšklase
Katram aģentam ir ziņojumu rinda
Aģenti izpilda uzvedības
Aģents ar lietotāja saskarni reaģē uz
notikumiem saskarnē
30
Aģenta klases piemērs
31
Uzvedības


Klases Behaviour apakšklases
Šādas metodes:


action() – veic uzvedībai atbilstošo darbību
done () – atgriež atbildi, vai uzvedība savu darbu
ir beigusi
32
Ziņojumu saņemšana

Ziņojumi tiek ievietoti rindā (“pastkastē”)

Aģents “pastkasti” pārbauda ar speciālu
ciklisku uzvedību

Aģents var arī lasīt ziņojumus, kas atbilst
kādam kritērijam
33
JADE piedāvātie rīki


Dzelteno lapu un balto lapu servisi
Uzraudzības aģents






Kontrolē platformas, konteineru un aģentu dzīves ciklu
Ļauj palaist, “nogalināt” aģentus, apturēt un atsākt to
darbu, migrēt aģentus, nosūtīt aģentam ziņojumu
Butaforijas aģents (Dummy Agent)
Okšķera aģents
Introspekcijas aģents
Testēšanas rīki (JADE Test Suite)
34
Uzraudzības aģents
35
Okšķera aģents
36
Introspekcijas aģents
37
Testēšanas rīki
JADE Test Suite
Automatizēta testu izpilde, ko veic
testētājaģents
 Testi tiek veidoti divos līmeņos


Testu grupa kādai funkcionalitātei


Piemēram, komunikācijai starp aģentiem no dažādām
platformām
Atomāri testi specifiskam funkcionalitātes
aspektam

Piemēram, ziņojumu saņemšana no citas platformas
38
Platformas, kas realizē spriest
spējīgus aģentus
39
BDI aģenta definīcija
Intelektuāls aģents ir autonoma
programmatūras vienība, kam ir skaidri
formulēti mērķi, ko tai jāsasniedz, vai
notikumi, ko tai jāapstrādā
40
BDI Aģenti



Uz mērķi balstīti aģenti
Balstīts cilvēku spriešanas procesos
Izmanto trīs pamatkonceptus




Beliefs – pārliecības
Desires - mērķi jeb vēlmes
Intentions – tālākās darbības jeb nodomi
Trīs pamatkoncepti realizēti kā primāri
objekti, ar ko var manipulēt aģentu iekšienē
41
Kā realizē BDI arhitektūru?
Pārliecības



Jebkāda veida Java objekti
Glabā pārliecību bāzē
Piemēram, JADEX pārliecību bāze



Satur pārliecību identifikatorus simbolu virkņu
formā
Identifikatori tiek attēloti pārliecību vērtībās, kas ir
patvaļīgi Java objekti
Izmanto vaicājumu valodu, līdzīgu OQL
42
Kā realizē BDI arhitektūru?
Mērķi



Attēlo konkrētu motivāciju, kas ietekmē aģenta
darbības
Piemēram, konkrēti stāvokļi, ko jāsasniedz
JADEX




Mērķi ir centrālais koncepts
Mērķi ir konkrētas un momentānas aģenta vēlmes
Katram mērķim, kas ir aģentam, tas veiks atbilstošas
darbības, līdz tas zinās, ka mērķis ir sasniegts,
nesasniedzams vai vairs nevajadzīgs
Mērķi dažādi: paveikt, sasniegt, iegūt informāciju,
uzturēt
43
Kā realizē BDI arhitektūru?
Nodomi, plāni




Lai sasniegtu mērķus, aģents izpilda plānus
Plāni apraksta konkrētas darbības, ko aģenti
var veikt, lai sasniegtu savus mērķus
Plāni ir (parasti Javā kodētas) procedurālas
darbību secības
JADEX



Plāns sastāv no galvas un ķermeņa
Galva specificē nosacījumus, kādos plāns var
tikt izpildīts
Ķermenis ir Javā kodēta darbību secība
44
Spriešana

Spriešana balstās (plānošanas terminos)
 Pašreizējā stāvokļa apraksts
 Vēlamā stāvokļa apraksts
 Iespējamās darbības


Kādā stāvoklī tās var veikt?
Kādi ir to rezultāti?

Aģents reaģē uz saņemtajiem ziņojumiem, iekšējiem notikumiem
un mērķiem
 Līdzekļu-rezultātu (means-end) spriešana

Aģents nepārtraukti pārskata mērķus, uzturot nepretrunīgu mērķu
apakškopu, ko jāsasniedz
45
BDI aģentu spriešanas cikls

Oriģināli Rao un Georgijevs piedāvāja šādu
ciklu (90-to gadu sākums!)
46
JADEX interpretācija
47
Aģentu definēšana JADEX


Aģentu īpašības (pārliecības, mērķus un plānus)
definē programmētājs
Aģentu apraksta XML failā, ko sauc par aģenta
definīcijas failu
48
Aģentorientētas
programmēšanas valodas
49
Java valodas paplašinājums JACK aģentu izstrādes platforma

JACK aģentu valoda
Paplašina Java valodu aģentu realizēšanai




Definē jaunas klases, interfeisus un metodes
Paplašina Java sintaksi, lai atbalstītu aģentorientētas
klases
Paplašina java semantiku (izpildes atšķirības), lai
atbalstītu aģentorientētai sistēmai nepieciešamo
izpildes modeli
JACK aģentu kompilators
Kompilē JACK aģentu valodā rakstītu kodu uz “īstu”
Java kodu
50
Klašu paplašinājumi





Aģents (Agent)
Spēja (Capability)
Pārliecību kopa (BeliefSet)
Notikums (Event)
Plāns (Plan)
51
Sintakses paplašinājumi

Piemēram, plāna
funkcionalitāte ir
realizēta klasē
Plan. Konkrēta
plāna deklarācija
tikai norāda, kā
tas tiks lietots
# apzīmē AO konceptus
52
AgentSpeak(L) valoda


Loģiskās programmēšanas paplašinājums BDI
aģentiem
Aģents tiek izveidots, norādot



Aģentam var būt 2 veidu mērķi



Sākotnējo pārliecību kopu
Pārliecība ir vienkāršs 1. kārtas predikāts
Plānu kopu
Vienkāršas darbības
Sasniegšanas mērķi
Pārbaudes mērķi
Jason interpretators
53
AgentSpeak plāna piemērs

Biļešu rezervēšana māksliniekam A vietā V
54
1. daļas kopsavilkums

Platformas iekļauj gatavas klases, no kurām mantot



JADE: Agent, Behaviour, ACLMessage, utt.
Piedāvā rīkus
Pievieno atsevišķus valodu paplašinājumus vai
pielieto citas valodas, lai aprakstītu aģentu
konceptus




Līdzīgi kā C++ paplašina C
JADEX: Aģenta apraksts XML valodā
JACK Aģentu valoda paplašina Javu
AgentSpeak izmanto loģisko programmēšanas valodu
55
Kādi praktiski ieteikumi?


Eksistē dažādas pieejas aģentu izstrādē. Kā izvēlēties?
Vienkāršākaissarežģītākais apgūšanai
 Komunikāciju nodrošinošās platformas


Dažādi valodu paplašinājumi vai vairāku valodu apvienojumi



JADE nepieciešams zināt tikai aģentu būtību un Java
JACK lietošanai jāzina Java un nedaudz papildus
JADEX lietošanai jāzina Java un XML
Specifiskās valodas

Lai lietotu Jason, jāzina loģiskā programmēšana, AgentSpeak iekļautie
paplašinājumi un Java

Tomēr ne vienmēr var izvēlēties vienkāršāko

Platformas ir brīvi pieejamas
 JADE+Brīvi pieejama Java izstrādes vide nemaksā neko

Bez Java zināšanām gandrīz neiespējami...
56
2. daļa: Aģentorientēta
programmatūras inženierija
57
Vēsture
Aspektorientēta
programmēšana
Programmēšana
assemblerā
Procedurālā
programmēšana
Objektorientēta
programmēšana
Aģentorientēta
programmēšana
...
58
Jēdzieni

Aģentorientēta (AO) programmatūra –
programmatūra, kas sastāv no aģentiem
AO programmatūras inženierija – Agent
Oriented Software Engineering (AOSE)
OO programmēšana  AO programmēšana
OO sistēmanalīze  AO sistēmanalīze

Tiek veikts viss tas pats, kas OO gadījumā



59
Aģents šajā kontekstā

Intelektuāla programmatūras vienība

Programmatūras aģentu definē šādi:
“Aģents ir patstāvīga programmatūras
vienība, kas uztver, realizē spriešanu, veic
darbības un mijiedarbojas ar citiem aģentiem”
60
AOSE metodoloģijas

AOSE ir sarežģīts process, ko ir grūti veikt
bez metodoloģiska atbalsta

Definīcija: AO programmatūras izstrādes
metodoloģija ir metožu kopums, ko izmanto
AO programmatūras izstrādē
61
Metodoloģijai jāiekļauj






Precīzi definētu izstrādes procesu
Tehnikas katra soļa veikšanai
AOSE atbilstošus konceptus
Diagrammu notāciju
CASE rīkus
Mehānismus/algoritmus, kā no projektējuma
iegūt sistēmas realizāciju
62
Zināmākās AOSE
metodoloģijas













Prometheus
Gaia
MaSE
INGENIAS
AUML
MESSAGE
ADELFE
Tropos
MAS-CommonKADS
DESIRE
COMOMAS
Styx
OPEN procesu ietvars

PASSI
MASSIVE
RAP
AOMT
Metodoloģija daudzaģentu
sistēmu izstrādei
organizācijas integrācijai
ARCHON ietvars
Cassiopeia
Augsta līmeņa un vidēja
projektējuma pieeja
BDI aģentu modelēšana

MASITS








63
Dzīves cikls



Pēc būtības tāds pats, kā OO
Dažas metodoloģijas izmanto modificētu RUP,
pārējās ~iteratīvu ūdenskritumu
Aplūkosim šādas fāzes:






Analīze
Projektēšana
Realizācija
Testēšana
Ieviešana
Uzturēšana
64
Analīze


Prasības jāiegūst tādā formā, kā tās tālāk ir
nepieciešamas
Analīzes fāzē pielieto šādas tehnikas:




Lietošanas gadījumu modelēšana
Mērķu hierarhija
Uzdevumu hierarhija
Problēmsfēras modelēšana/Ārējās vides analīze,
organizācijas modelēšana
Ontoloģijas
65
Lietošanas gadījumu
modelēšana



Lietošanas gadījumu diagramma
Lietošanas gadījumu scenāriji
Lietošanas gadījumu kartes



Parāda, kā lietošanas gadījums izpildās pa aģentiem
Var izmantot, lai identificētu komunikācijas nepieciešamību
starp aģentiem
Iekšējie lietošanas gadījumi
66
Iekšējie lietošanas gadījumi

Parāda, kā aģenti izmanto citus aģentus
Atbilstošā ziņojumu
secības karte (MSC)
67
Mērķu modelēšana




Īpaši noderīga, veidojot mērķos sakņotus
aģentus
Labi saprotama problēmsfēras ekspertiem
Mērķi izstrādes gaitā mainās reti
Rezultātā mērķu
hierarhija
68
Uzdevumu dekompozīcija







Līdzīga mērķu modelēšanai
Uzdevumi parasti konkrētāki un zemākā līmenī par
mērķiem
Mērķu modelis piemērotāks BDI (Belief, Desire,
Intention) aģentiem
Uzdevumu modelis izmantojams JADE aģentiem
Uzdevumiem var veidot atbilstošas aģentu
darbības/uzvedības
Mērķiem parasti atbilst lomas
Mērķiem var veidot atbilstošus lietošanas gadījumus
69
Organizācijas modelēšana



Modelē organizācijas struktūru
Noderīga, ja sistēmai ir jāiekļaujas
organizācijā
Nosaka iesaistītās puses, organizācijas to
vienības un lomas, kā arī mijiedarbību un
hierarhiju starp tām
70
Problēmsfēras modelēšana


Analizē vidi, kurā aģentiem jādarbojas
Iegūst problēmsfēras klašu modeli

No klašu modeļa parasti iegūst
problēmsfēras ontoloģiju

Ontoloģiju aģenti izmanto savu zināšanu
aprakstīšanai un komunikācijā
71
Projektēšana

Projektēšana ir visvairāk no OO atšķirīgā fāze

Parasti iedala divās stadijās

1. stadija atbild uz jautājumiem: kas aģentiem ir jādara un
kā tie mijiedarbojas?





Aģentu ārējā projektēšana
Augsta līmeņa projektējums
Arhitektūras projektējums
Var uzskatīt par daudzaģentu sistēmas projektēšanu
2. stadija atbild uz jautājumu: kā aģenti sasniegs savu
funkcionalitāti?



Aģentu iekšējās struktūras projektēšana
Zema līmeņa projektējums
Detalizēts projektējums
72
Aģentu definēšana

Var tikt iekļauta



Analīzes fāzē, ja aģenti ir prasības
Projektēšanas fāzē, ja aģenti ir veids, kā realizēt prasības
Aģentus definē atbilstoši







Lietotājiem
Organizācijām/iesaistītajām pusēm
Mantotām sistēmām
Lomām
Lietošanas gadījumiem
Uzdevumiem
Zināšanām
73
Mijiedarbības projektēšana


Specificē, kā aģenti mijiedarbojas
3 detalizācijas pakāpes



Pazīšanās (acquaintance) līmenis
Nosūtīto ziņojumu līmenis
Formālu mijiedarbības protokolu līmenis


Request Protocol
FIPA Contract Net
74
Pazīšanās diagramma



Norāda tikai to, starp kuriem aģentiem
eksistē mijiedarbība
Ļoti vienkārša
Bieži nepietiekama
75
Nosūtītie ziņojumi


Norāda, kādi ziņojumi tiek nosūtīti starp
kādiem aģentiem
Nenorāda ziņojumu secību un kontekstu
76
Mijiedarbības protokoli




Specificē nosūtāmos
ziņojumus to secību un
līdz ar to kontekstu
Katram ziņojumam ir
norādītas iespējas, kā
uz to var atbildēt
Faktisks standarts UML
protokolu diagramma
Protokoli ir atkārtoti
lietojami
77
Projektēšanas otrā stadija

Katram aģentam specificē:

Uztveres (t.sk. saņemtie ziņojumi)
Darbības ar ārējo vidi (t.sk. nosūtītie ziņojumi),
plāni
Zināšanas, pārliecības
Spriešanas process
Arhitektūra

Iespējams: lomas, spējas, uzdevumi, mērķi




78
Aģenta iekšējais projektējums
Aģents
Mērķi
Ziņojumi
Notikumi
Spriešanas
mehānisms
Darbības ar
ārējo vidi
Ziņojumi
Pārliecības
Plāni
79
Realizācija



Jāizvēlas izstrādes platforma
Jāpāriet no projektēšanā izmantotajiem
konceptiem realizācijas platformā
izmantotajos
Jārealizē sistēma konkrētā platformā


Jāveic koda ģenerēšana
Jāpapildina ģenerētais kods
80
Izstrādes rīki




Rīki diagrammu zīmēšanai
Projektējuma integritātes uzturēšana
Diagrammu transformācijas/elementu
ģenerēšana
Galvenā funkcija: koda ģenerēšana
81
Rīku piemēri: PDT un agentTool
82
Rīku piemēri: MASITS un IDK
83
Testēšana

Visvājāk attīstītā fāze

Vienlaikus izkliedētu sistēmu testēšana un
atkļūdošana ir sarežģīta

Lielākoties izmanto (pielāgotas) klasiskās
pieejas

Ir specifiski rīki: JADE Test Suite
84
Ieviešana


Norāda konkrētas aģentu instances, to
atrašanās vietas un migrāciju
Ļauj viegli izmainīt sistēmu, nemainot
projektējumu
A1: Author
PCM1:
PCMember
DataBase:
DB
A2: Author
A3: Author
Chair:
PCChair
85
Uzturēšana

Principā neatšķiras no OO

Aģenti dod sistēmām atvērtību un augstu
modularitāti


Atvērtība ļauj izmainīt funkcionalitāti
pievienojot/izslēdzot aģentus
Modularitāte atvieglo izmaiņu ieviešanu
atsevišķās sistēmas daļās
86
Kā tas viss izskatās kopā:
Prometheus metodoloģija
87
2. daļas kopsavilkums




AOSE metodoloģijas izmanto labi zināmas
OO tehnikas, pielāgojot tās AO
Visvairāk atšķiras projektēšana
AOSE ir attīstījusies līdz līmenim, kad to var
industriāli pielietot
Jautājums atklāts: vai to industrijai vajadzēs?
88
Kādi praktiski ieteikumi?



Metodoloģijām ir brīvi pieejami apraksti/pamācības
Metodoloģijas ļoti atšķirīgas, bet saprotot
pamatlietas, var saprast visas metodoloģijas
Nav absolūti universālu metodoloģiju
Izvēlieties konkrētam projektam/darbības sfērai piemērotu
metodoloģiju

Metodoloģijas vēl tālu no perfektām, bet attīstība
notiek
Izvēlieties tādu, kuru turpina attīstīt


Pievērsiet uzmanību vienkāršai pārejai no
projektējuma uz izstrādi
Izvēlieties metodoloģiju ar atbilstošiem rīkiem
89
Paldies par uzmanību!!!
Jautājumi, atsauces:
[email protected]
90