You are on page 1of 118

1

1. Hpooo .................................................................................................................... 4
2. Eioueq .................................................................................................................... 5
2.1. Eaiokoaqoq ........................................................................................................ 5
2.2. Kivqtpu iu tov opioo tq UML...................................................................... 6
2.3. Ltooi tq UML.................................................................................................. 7
2.4. Hcoio cupoq tq UML.............................................................................. 10
2.5. Xupuktqpiotiku tq UML................................................................................ 13
2.6. UML Hupc0ov, Hupov kui Mcov ............................................................ 15
3. Luoiooi otq UML............................................................................................. 17
4. Ltoiciu tev oiupuutev ..................................................................................... 17
4.1. Oi puoi kui to acpicocvo tou .................................................................. 17
4.2. Lcoiuoo ukev ............................................................................................ 18
4.3. Mq oputoi uacpouvocooi kui o poo tev cpuciev ................................... 19
4.4. Eaioc aupouoiuoq...................................................................................... 19
4.5. Luooocipu String ..................................................................................... 19
4.6. Ovou Name .................................................................................................. 20
4.7. Etikctu Label ................................................................................................. 21
4.8. 1kpuoq Expressions.................................................................................... 22
4.9. Lqcieoq Note............................................................................................... 23
4.10. Lcoq tuaou-otiiotuaou ........................................................................... 23
5. Aiucipioq ovtcev ................................................................................................ 24
5.1. Hukcto Package............................................................................................. 24
5.2. Yaoouotqu Subsystem................................................................................ 26
5.3. Movtco model .............................................................................................. 30
6. Icvikoi quviooi cacktuoq ................................................................................. 31
6.1. Hcpiopioo kui Loio Constraint and Comment ....................................... 32
6.2. Ioiotqtc otoiciev........................................................................................... 33
6.3. Ltcpcotuau Stereotypes................................................................................. 33
7. Aiupuutu otutikq ooq................................................................................... 35
7.1. Aiupuu kuoq Class diagram................................................................. 35
7.2. Aiupuu uvtikcicvev Object diagram..................................................... 36
7.3. Classifier ........................................................................................................... 36
7.4. Kuoq Class................................................................................................... 36
7.5. Tqu ovouto Name Compartment........................................................... 38
7.6. Tqu iotu List compartment.................................................................... 38
7.7. Ioioupuktqpiotiko Attribute ........................................................................ 39
7.8. Hpuq Operation............................................................................................ 40
7.9. Aiuouvocoq Interface..................................................................................... 42
7.10. Hupuctpoaoiqcvq kuoq (Hpotuao) - Parameterized Class (Template) . 43
7.11. Mctukuoq Metaclass ............................................................................... 45
7.12. Ltcpcotuao Stereotype............................................................................... 45
7.13. Hpooacuoq q cioueq aukctou................................................................ 46
7.14. Avtikcicvo Object .................................................................................... 47
2
7.15. Luoctioq Association............................................................................... 48
7.16. Auuoikq ouoctioq - Binary Association..................................................... 48
7.17. Akpo ouoctioq - Association End............................................................ 50
7.18. Houaotqtu Multiplicity ....................................................................... 53
7.19. Hpoooiopiotq Qualifier............................................................................ 54
7.20. Kuoq ouoctioq - Association Class ........................................................ 55
7.21. N-oikq ouoctioq N-ary association ......................................................... 56
7.22. Luv0coq Composition................................................................................ 57
7.23. Luvocoo Link ......................................................................................... 59
7.24. Icvikcuoq Generalisation .......................................................................... 60
7.25. Euptqoq Dependency .............................................................................. 62
8. Aiupuu acpiateocev pqoq Use Case Diagram............................................ 64
8.1. Aiupuu acpiateocev pqoq Use Case Diagram................................... 64
8.2. Hcpiateoq pqoq Use Case......................................................................... 65
8.3. Actor ................................................................................................................. 66
8.4. Lcoci acpiateocev pqoq Use Case Relationships ................................. 66
8.5. Lcoci ctuu actor Actor Relationships ..................................................... 67
9. Aiupuutu ukoou0iu Sequence Diagrams ..................................................... 68
9.1. Eioq oiupuutev uqcaiopuoq ............................................................... 68
9.2. Aiupuu ukoou0iu Sequence Diagram................................................... 69
9.3. Ipuq eq uvtikcicvou Object Lifeline .................................................. 71
9.4. Evcpoaoiqoq Activation............................................................................... 72
9.5. Mqvuutu kui cpc0ioutu Message and Stimulus ....................................... 73
9.6. Xpovoi ctuuoq Transition times .............................................................. 75
10. Aiupuutu ouvcpuoiu Collaboration Diagrams......................................... 75
10.1. Luvcpuoiu Collaboration.......................................................................... 76
10.2. Aiupuu ouvcpuoiu Collaboration Diagram...................................... 77
10.3. Aoq pattern Pattern structure ................................................................... 80
10.4. Hcpicocvu ouvcpuoiu Collaboration Contents ................................... 81
10.5. Aqcaiopuoci Interactions.................................................................... 82
10.6. Pooi ouvcpuoiu Collaboration Roles.................................................... 83
10.7. Evcpo uvtikcicvo Active Object ............................................................ 85
10.8. Mqvuutu kui cpc0ioutu Message and stimulus .................................... 86
10.9. Lqcieoq oqioupiu-kutuotpoq........................................................... 90
11. Aiupuutu kutuotuoq Statechart Diagrams................................................ 91
11.1. Aiupuu kutuotuoq Statechart Diagram............................................. 91
11.2. Kutuotuoq State........................................................................................ 92
11.3. Luv0ctq kutuotuoq Composite State........................................................ 94
11.4. Luuvtu Events........................................................................................ 96
11.5. Aac ctuuoci Simple Transitions....................................................... 98
11.6. Mctuuoci uao kui apo ouvtpcouoc kutuotuoci ................................ 99
11.7. Mctuuoci uao kui apo ouv0ctc kutuotuoci ...................................... 100
11.8. Hupuovtoaoiqcvc ctuuoci kutuotuocev ........................................ 103
11.9. Kutuotuoci uaoquvq Submachine states ......................................... 104
11.10. Kutuotuoci oupovioou Synch states................................................ 106
3
12. Aiupuutu opuotqpiotqtu Activity diagrams ........................................... 107
12.1. Aiupuu opuotqpiotqtu Activity diagram ........................................ 107
12.2. Kutuotuoq opuoq Action state.............................................................. 108
12.3. Kutuotuoq uaoopuotqpiotqtu Subactivity state .................................. 109
12.4. Aaouoci Decisions............................................................................... 110
12.5. Swimlanes................................................................................................... 111
13. Aiupuutu uoaoiqoq Implementation diagrams...................................... 112
13.1. Aiupuu ouvioteou Component diagram.......................................... 112
13.2. Aiupuu deployment Deployment diagram......................................... 113
13.3. Koo Node ........................................................................................... 114
13.4. Luvioteou Component ............................................................................ 115
14. Biiopuiu ...................................................................................................... 118

4
1. HpKoyo
Oi ukoou0c oqcieoci couv puci iu to u0qu Avtikcicvootpuq Avuatuq
Aoioikou tou apoatuiukou apopuuto oaouoev tou Tquto Hqpoopikq.
Hpokcitui iu ctupuoq oukckpicvev tqutev uao ti apooiupuc tq eoou
ovtcoaoiqoq UML [1].
5
2. Eooymyq
2.1. Enoknqoq
H Unified Modeling Language (UML) civui iu eoou aou pqoioaoicitui iu
apooiupuc, uvuaupuotuoq c oatiko tpoao (visualizing), oqioupiu kui tckqpieoq
tev tqutev tev ouotqutev oioikou, ku0e kui iu ovtcoaoiqoq ctuipikev kui
uev ouotqutev aou ocv uopouv oioiko. H UML uaotcci cvu ouvouuoo tev
kuutcpev apuktikev, oi oaoic qoq couv uaoocici aooo caituqcvc qtuv otq
ovtcoaoiqoq cuev kui ouv0ctev ouotqutev.
2.1.1. Kpid ooisid q UML
H caioq octiku c to aoiu ovtcu kui aoiu oiupuutu 0u oqioupq0ouv
caqpcuci oquvtiku tov tpoao apoocioq kui caiuoq tou apoquto. To uoiko
otoicio otqv apooau0ciu caikoiveviu kui u0qoq civui q cvvoiu tq ooiocop, vu
cotiuouc oquoq oc octikc catocpcic, cve uvoouc ti uaooiac. Luvcaciu
uutou civui tu ukoou0u:
Ku0c ouv0cto ouotqu apoocictui kuutcpu pqoioaoievtu cvu ikpo
ouvoo uvcuptqtev ocev tou ouotquto. Acv upkci iu oq.
Ku0c ovtco aopci vu ckpuotci oc oiuopctiku caiacou aiototqtu.
Tu kuutcpu ovtcu ouvocovtui c tqv apuutikotqtu.
Lc o,ti uopu ti oci cvo ovtcou, q UML opici tu ukoou0u puiku
oiupuutu:
Aiupuu acpiateocev pqoq (use case)
Aiupuu kuocev (class)
Aiupuutu ouacpiopu
Aiupuu kutuotuocev (statechart)
Aiupuu opuotqpiotqtev (activity)
Aiupuutu uqcaiopuoq
Aiupuu ukoou0iu (sequence)
Aiupuu ouvcpuoiu (collaboration)
Aiupuutu uoaoiqoq
Aiupuu ouvioteou (component)
Aiupuu deployement
Tu oiupuutu aou aupouoiuotqkuv otqv aio auve iotu aopouv vu cuviotouv kui
c oiuopctiku ovoutu.
Tu oiupuutu uutu aupcouv oiuopctikc uaoci tou ouotquto kutu tq uoq
tq uvuuoq kui tq uvuatuq. To uaokcicvo ovtco ookqpevci ti uaoci
6
uutc, oute eotc vu aopci vu uvuu0ci kui vu ooq0ci cvu aqpc, ouvcac c tov
cuuto tou ouotqu. Tu oiupuutu uutu, ku0e kui q octikq tckqpieoq civui tu
uoiku otoiciu aou caci uuto aou ovtcoaoici, uv kui q UML kui tu cpuciu aou
tqv uaootqpiouv 0u aupcouv kui cvu aq0o aupuocvev ocev. Tu oiupuutu
uutu 0u uvuu0ouv otq ouvcciu.
Miu ouvu cuviocvq cpetqoq civui iuti q UML ocv uaootqpici oiupuutu
poq ocoocvev. H uauvtqoq civui oti tu oiupuutu poq ocoocvev oae kui
aou uu uao tu oiupuutu aou ocv uaupouv otq UML ocv tuipiuouv oto
ku0upo uvtikcicvootpuc ovtco. Tu oiupuutu opuotqpiotqtev kui ouvcpuoiu
caituuvouv tu acpioootcpu ua oou uvucvouc uao cvu oiupuu poq ocoocvev.
Tu oiupuutu opuotqpiotqtev civui pqoiu caioq iu ovtcoaoiqoq poev
cpuoiu (workflow).
2.2. Kvqrpd yd rov opop rq UML
H uvuatuq cvo ovtcou iu cvu ouotqu oioikou aou 0u aopcoci vu
pqoioaoiq0ci otq ioquviu, apotou ooq0ci q cauvuocoiuotci to ouotqu, civui
tooo uaupuitqto ooo to vu uaupouv tu upitcktoviku ocoiu iu cvu cuo ktiou.
Tu kuu ovtcu civui uaupuitqtu iu tqv caikoiveviu uvucou oti ouoc cvo cpou
kui caioq iu vu uaupci iu op0q upitcktovikq tou ouotquto. Aqioupouc
ovtcu tev ouv0ctev ouotqutev iuti ocv aopouc vu tu kutuvoqoouc otqv
ootqtu tou. Ooo uuuvci q aouaokotqtu tev ouotqutev, uuuvci kui q oquoiu
tq uaupq kuev tcvikev ovtcoaoiqoq. Yaupouv kui uoi aupuovtc iu tqv
caituiu cvo cpou, uu q uaupq iu apotuaq, aouoiu eoou ovtcoaoiqoq
civui uaupuitqto aupuovtu. Miu eoou ovtcoaoiqoq apcaci vu acpiuuvci:
Ltoiciu ovtcev otoicieoci cvvoic ovtcoaoiqoq kui tq oquoiooiu
tou.
Luoioo oatikc uvuaupuotuoci tev otoiciev ovtcoaoiqoq.
Ooqic tpoaou pqoq otqv apuq.
Ltqv acpiateoq tev oo kui aio aouaokev ouotqutev q oatikq uvuaupuotuoq kui
q ovtcoaoiqoq ivovtui uaupuitqtc. H UML civui iu kuu opiocvq kui cviku
uaoocktq uauvtqoq iu tqv uvukq uutq.
Ooo uuuvci iu aoc ctuipic q otputqikq uiu tou oioikou, q ioquviu
uvuqtu vcc tcvikc iu uutoutoaoiqoq tq aupueq tou oioikou. Avuqtouc
tcvikc iu vu ctie0ci q aoiotqtu kui vu cie0ci to kooto kui o povo cpi tqv
uopu. Oi tcvikc uutc acpiuuvouv tqv tcvooiu tev ouvioteoev, tov oatiko
apopuutioo (visual programming), tu patterns kui tu auioiu (frameworks). Eaioq
uvuqtouc tcvikc iu vu oiucipiouotc tqv aouaokotqtu tev ouotqutev, ooo
uuuvouv oc kiuku. Lukckpicvu, uvuvepiouc tqv uvukq iu caiuoq
cauvuuuvocvev apoqutev upitcktovikq, oae q uoikq kutuvoq, q
ouvopoikotqtu (concurrency), q uaupq uvtipuev (replication), q uouciu, q
kutuvoq optiou kui q uvoq oc ouutu.
H aouaokotqtu aopci vu oiucpci oc oiuopu acoiu cupoq kui uoci
caccpuoiu. 1vu uao tu uoiku kivqtpu kutu tqv uvuatuq tq UML qtuv q
7
oqioupiu cvo ouvoou oquoiooiu kui ouoioou aou vu uvticteaici
caupke ou tu caiacou upitcktovikq aouaokotqtu, oc ou tu acoiu.
Hpiv tq UML ocv uaqpc iu eoou ovtcoaoiqoq aou vu cci cvu ouc
apouoiou. Oi pqotc caccuv ctuu aoev aupooiev eooev, oi oaoic ciuv
cuiotc oiuopc otqv oikq ckpuotikotqtu tou. Oi acpioootcpc eooc
ovtcoaoiqoq ciuv cvu ouvoo koivu uaoocktev cvvoiev, oi oaoic ckpuovtuv io
oiuopctiku uao eoou oc eoou. Autq q cciq oueviu uao0uppuvc tou
vcou pqotc uao to vu pqoioaoiqoouv tqv uvtikcicvootpuq tcvooiu. Oi
pqotc q0cuv vu uio0ctqoci q ioquviu iu q cuiotc koivu uaootqpiocvc
kui uaoocktc eooc ovtcoaoiqoq, oi oaoic 0u qtuv kutuqc iu cvikq
pqoq.
Opiocvoi aeqtc uao0uppuvovtuv uao to vu cioc0ouv otqv acpioq tq
uvtikcicvootpuou ovtcoaoiqoq c uitiu tq uvukq uaootqpiq aoev,
aupooiev eooev ovtcoaoiqoq. Lukckpicvu, q uvukq iu cpuciu cic
cie0ci iuti oi ikpocouic caicipqoci ocv aopououv (oe kootou) vu
uaootqpiouv ou tu uvukuiu formats tev oiuopctikev cpuciev ovtcoaoiqoq.
To uuuvocvo kooto pqoq kui uaootqpiq aoev eooev ovtcoaoiqoq
coeoc to kivqtpo oc aoc uao ti ctuipcic aou apoe0ouv to uvtikcicvootpuc
ovtco vu uaootqpiouv kui vu apoe0qoouv tq UML. Eve q UML ocv cuutui tqv
caituiu cvo cpou, ctievci aou apuutu. Iiu aupuociu, cievci oquvtiku to
kooto cku0qoq kui pqoioaoiqoq vcev cpuciev otuv ivovtui ctuopc uao
cpo oc cpo q uao ctuipiu oc ctuipiu. Eaioq aupcci tq ouvutotqtu ookqpeoq
uvucou oc vcu cpuciu, vcc oiuoikuoic kui vcc acpioc.
2.3. Zryo rq UML
Oi uoikoi otooi ocoiuoou tq UML civui oi ukoou0oi:
Nu aupcci otou pqotc iu ctoiq apo pqoq, oatikq eoou
ovtcoaoiqoq, eotc uutoi vu aopouv vu uvuatuouv kui vu uvtuuouv
kutuvoqtu ovtcu.
Nu aupcci quvioou cacktuoq kui ccioikcuoq, eotc vu civui ouvutq q
cacktuoq tev uoikev cvvoiev.
Nu uaootqpici apooiupuc oi oaoic civui uvcuptqtc uao oukckpicvc
eooc apopuutioou q oiuoikuoic uvuatuq.
Nu aupcci iu tuaikq uoq iu tqv kutuvoqoq tq eoou ovtcoaoiqoq.
Nu cv0uppuvci tqv uvuatuq tq uopu uvtikcicvootpuev cpuciev.
Nu uaootqpici uqotcpou caiacoou cvvoic uvuatuq, oae ouvioteoc,
ouvcpuoic, auioiu kui patterns.
Nu cvoaoici ti kuutcpc apoocioci.
Oi otooi uutoi aupouoiuovtui c cuutcpq catocpciu otq ouvcciu.
8
Hopr otou pqotr o toq npo pqoq, ontkq yKmooo
ovtrKonoqoq, motr outo vo nopov vo ovont{ouv ko vo
ovtoKK{ouv kotovoqt ovtKo.
Eivui oquvtiko to apotuao Avuuoq kui Lcoiuoou uvtikcicvev (Object Analysis
& Design OA&D) vu uaootqpici iu eoou ovtcoaoiqoq, q oaoiu aopci vu
pqoioaoiq0ci kutcu0ciuv uao to kouti iu ouvq0q, cvikq pqoq, ovtcoaoiqoq.
Av to apotuao uau apoocpci iu ctu-ctu-acpipuq aou pciuctui apooupoq oc
ku0c oukckpicvo ouvoo cvvoiev ovtcoaoiqoq, totc oc 0u caituci to otoo tou
vu caitpcactui otou pqotc vu uvtuuooouv ovtcu epi vu uvctui aqpoopiu
kui epi vu caiuctui caiacov cpuoiu iu tqv uacikovioq tev ovtcev otqv
uqpqcvq opq. H UML ouvouuci cvu ouvoo uoikev cvvoiev c0ooooiu, oi
oaoic civui cviku uaoocktc oc oiuopc c0ooou kui cpuciu ovtcoaoiqoq. Oi
cvvoic uutc uauitouvtui oti acpioootcpc cuc cupoc, uv kui uuto oc
oquivci oti ku0c cupoq 0u pciuotci oc uutc ti cvvoic. To vu ku0opiotci cvu
format ctu-ctu-caiacoou iu ku0c iu uao ti cvvoic ocv civui upkcto iu tou
pqotc tou ovtcou, iuti oi cvvoic apcaci vu civui ouci iu vu uaupci apuutikq
ovtcoaoiqoq. Av oi cvvoic otu oiuopctiku acoiu cupoq qtuv oquvtiku
oiuopctikc, totc 0u aopouoc vu citoupqoci iu tctoiu apoocioq, uu oi uoikc
cvvoic aou uauitouvtui uao ti acpioootcpc cupoc civui aupooic kui 0u apcaci
vu uaootqpiovtui ucou, epi tqv uvukq cvo ukou caiacoou.
No nopr qovoo rnktooq ko r{rkruoq, motr vo rvo uvotq
q rnktooq tmv ookmv rvvomv.
To OMG uvucvci oti q UML 0u apooupoctui ku0e 0u uvukuuatovtui vcc
uvukc iu oukckpicvu acoiu. Tqv ioiu otiq oc 0couc vu caiuouc tov
cauvopioo q cauvu-uoaoiqoq tev koivev uoikev cvvoiev iu ku0c vco acoio. Iiu to
oo uuto, aiotcuouc oti apcaci vu uaootqpiovtui quviooi cacktuoq iu vu
uaootqpiovtui oi uaokioci uao tq ouvq0q acpiateoq, uvti vu uauitcitui q uoaoiqoq
tev ioiev tev uoikev cvvoiev ovtcoaoiqoq. Oi uoikc cvvoic oc 0u apcaci vu
uuouv aupu ovo otuv uuto civui uaoute uaupuitqto. Oi pqotc 0u apcaci vu
aopouv:
vu oqioupouv ovtcu pqoioaoievtu ti uoikc cvvoic, epi tou
quvioou cacktuoq iu ti uac cupoc,
vu apoo0ctouv vcc cvvoic kui ouoioou iu qtqutu aou ocv
kuuatovtui,
vu caicouv uvucou oti oiuopctikc oicpqvcuoci tev uaupouoev
cvvoiev, otuv ocv uaupci oueviu, kui
vu ccioikcuouv ti cvvoic, tou ouoioou kui tou acpiopioou iu
oukckpicvu acoiu cupoq.
9
No unootqp(r npooypo o onor rvo ovr{ptqtr on
ouykrkpvr yKmoor npoypootoo q okoor ovntu{q.
H UML apcaci kui aopci vu uaootqpici oc ti ai0uvc eooc apopuutioou.
Eaioq 0u apcaci kui aopci vu uaootqpici oiuopctikc c0ooou kui oiuoikuoic iu
tq oqioupiu tev ovtcev. H UML aopci vu uaootqpici aoc eooc
apopuutioou kui c0ooou uvuatuq epi cuq ouokoiu.
No nopr o tunkq oq yo tqv kotovqoq tq yKmooo
ovtrKonoqoq.
Ku0e oi pqotc 0u pqoioaoiqoouv tuaikou opioou iu vu aopcoouv vu
kutuvoqoouv tq eoou, apcaci vu civui tooo ukpiq, ooo kui apoocioiq. H
cciq iu uao ti ouo oiuotuoci uatci tq pqoiotqtu tq. Oi tuaikoi opiooi oc
0u apcaci vu uauitouv uacpoiku caiacou ccootqtu, pqoq uqou caiacoou
u0qutikev ouoioev aou uacouv uao to acoio ovtcoaoiqoq, oae
ouvoo0cepqtikoi ouoiooi q opioou citoupikotqtu, oi oaoioi civui
iooouvuoi c tqv uoaoiqoq. H UML aupcci tuaiko opioo iu tq otutikq opq tou
ovtcou c pqoq cvo ctuovtcou aou ckpuctui c pqoq oiupuutev
kuocev tq UML. Autq civui iu ouvq0iocvq kui cviku uaoocktq apoocioq iu
ku0opioo tq opq tou ovtcou kui ooqci ucou otqv uoaoiqoq opev
uvtuuq. H UML ckpuci kuu opiocvou acpiopioou oc uuotqpq uoikq
eoou c pqoq tev ckpuocev tq Object Constraint Language OCL. H UML
ckpuci tq citoupikq cvvoiu tev acpioootcpev ooev oc uuotqpq uoikq eoou.
H aqpe tuaikq apoocioq, q oaoiu pqoioaoiq0qkc iu tqv apooiupuq eooev
oae q Algol-68 ocv civui upkctu apoocioiq iu ti acpioootcpc apuktikc pqoci.
No rv0oppvr tqv ovntu{q tq oyop ovtkrrvootpomv rpyoKrmv.
Eaitpcaovtu otou aeqtc vu uaootqpiouv iu apotuaq eoou ovtcoaoiqoq
aou pqoioaoicitui uao tou acpioootcpou pqotc kui cpuciu, caeccitui q
ioquviu. Av kui oi aeqtc aopouv ukou vu apoo0ctouv oti uoaoiqoci tev
cpuciev tou vcu upuktqpiotiku, civui uaupuitqtq q ouvutotqtu
oiucitoupikotqtu. H oiucitoupikotqtu uauitci vu uvtuuooctui to ovtco
uvucou otou pqotc kui tu cpuciu epi vu uvctui aqpoopiu. Auto aopci vu
ouci ovo uv tu cpuciu couv ouevqoci oc iu koivq opq kui cvvoiu iu oc
ti octikc cvvoic. H pqoq cvo uqotcpou ctu-caiacoou ocv civui uoq, ckto uv
acpiuuvctui oto apotuao kui q uacikovioq tou oti cvvoic tou pqotq.
No unootqp(r ugqKtrpou rnnou vvor ovntu{q, nm
ouvotmor, ouvrpyoor, nKooo ko patterns.
Eivui uaupuitqtq q oue opiocvq oquoiooiu eotc vu ecq0ouc aqpe uao
tqv uvtikcicvootpcciu kui tqv cauvupqoioaoiqoq. O opioo tq cou oto auioio
tq eoou ovtcoaoiqoq civui ovuoikq ouvcioopu tq UML.
10
No oKokKqpmvr t koKtrpr npooryyor.
Buoiko kivqtpo iu tqv uvuatuq tq UML qtuv q ookqpeoq tev kuutcpev
apoociocev otq ioquviu, aou acpiuuvouv cupce uaoocktc oci aou
uoiovtui oc caiacou uuipcoq, acoiu, upitcktovikc, otuoiu kukou eq, tcvikc
uoaoiqoq ka. H UML apuuti ookqpevci ti kuutcpc uao uutc ti
apoocioci.
2.4. Hso sdppoyq rq UML
Kut upu apcaci vu toviotci oti q UML ouvouuci ti cvvoic tev tcvikev Booch,
OMT kui OOSE. To uaotccou civui iu, koivq kui cupce pqoioaoiqoiq eoou
ovtcoaoiqoq iu tou pqotc uutev kui uev c0ooev.
Acutcpov, q UML apoepuci aio acpu to qtqu tou ti aopci vu kuvci kuvci c ti
c0ooou uutc. Iiu aupuociu, oi oupuci tq UML coeouv oquoiu otq
ovtcoaoiqoq tuutopovev kui kutuvcqcvev ouotqutev, eotc vu caicuieoouv
oti q UML 0u aopci vu uvticteaioci c cukoiu uutu tu acoiu cupoev.
Tpitov, q UML cotiuci oc iu apotuaq eoou ovtcoaoiqoq, oi oc iu apotuaq
oiuoikuoiu ovtcoaoiqoq. Av kui q UML apcaci vu cupoctui otu auioiu iu
oiuoikuoiu, uao acipu aopouc vu kutuuouc oti oiuopctikoi opuviooi kui
acoiu cupoq uauitouv oiuopctikc oiuoikuoic. Iiu aupuociu, q oiuoikuoiu
uvuatuq cvo auivioiou iu uaooiotc civui cvoiucpouou, uu oiucpci uao tq
oiuoikuoiu uvuatuq cvo ouotquto apuutikou povou aou iu tqv ucpoaopiu uao
tqv kuq citoupiu tou oaoiou cuptevtui uv0peaivc ec. Iiu tou oou uutou,
oi apooau0cic couv caikcvtpe0ci apetu otq oqioupiu cvo koivou ctu-ovtcou
(aou 0u cvoaoici tq oquoiooiu) kui otq ouvcciu otq oqioupiu cvo koivou
ouoioou (aou 0u aupcci tqv uaoq tev utoev iu tq oquoiooiu). Oi
oupuci tq UML apoe0ouv iu oiuoikuoiu uvuatuq aou apoouvutoictui oc
acpiateoci pqoq, cuptutui uao tqv upitcktovikq, civui cauvuqatikq kui uuqtikq.
H UML apooiupuci iu eoou ovtcoaoiqoq aou acpiuuvci tq oueviu tq
uvtikcicvootpuou koivotqtu octiku c uoikc cvvoic ovtcoaoiqoq. Eaitpcaci
vu ckpuovtui oi uaokioci c pqoq tev quvioev cacktuoq kui aupcci tu
ukoou0u:
Lquoiooiu kui ouoioo iu vu uvticteaictui cvu cupu uou
oupovev 0cutev ovtcoaoiqoq c ucoo kui oikovoiko tpoao.
Lquoiooiu iu vu uvticteaiotouv opiocvu uao tu uvucvocvu covtiku
qtqutu ovtcoaoiqoq, tu oaoiu octiovtui c tqv tcvooiu ouvioteoev,
tou kutuvcqcvou uaooioou, tu auioiu kui tqv cktccoiotqtu.
Mquvioou cacktuoq eotc oukckpicvu cpu vu aopouv vu cacktcivouv to
ctuovtco iu tqv cupoq tou c uqo kooto. Ac 0couc vu uuouv
oi pqotc ua cu0ciu to ctuovtco tq UML.
Mquvioou cacktuoq, eotc vu civui ouvuto vu cvoeute0ouv oi covtikc
apoocioci ovtcoaoiqoq cou otq UML.
11
Lquoiooiu iu vu oicukouvctui q uvtuuq ovtcev oc oiuopctiku
cpuciu.
Lquoiooiu aou vu ku0opici tq oiuouvocoq c uao0qkcutikou epou, iu
oiuoipuoo kui uao0qkcuoq tev otoiciev ovtcoaoiqoq.
2.4.1. Ek siou sdpoyq q UML
FKmoor npoypootoo
H UML civui iu eoou iu oatikq ovtcoaoiqoq kui ocv cci e otoo vu civui iu
oatikq eoou apopuutioou, c tqv cvvoiu oti aupcci oq tqv uaupuitqtq oatikq
kui oquoiooikq uaootqpiq iu vu uvtikutuotqoci ti eooc apopuutioou. H
UML civui iu eoou iu oatikoaoiqoq, ku0opioo, ooqoq kui tckqpieoq tev
otoiciev cvo ouotquto oioikou, uu oiuepici tq 0coq tq otuv tuvci oto
caiacoo tou keoiku. Iiu aupuociu, oi ouv0ctoi kuooi kui oi ouvococi ckpuovtui
kuutcpu oc iu eoou apopuutioou c pqoq kcicvou. H UML, aup ou uutu,
aupcci iu uacikovioq oc oikocvcic uvtikcicvootpuev eooev, eotc vu
uaupouv tu acovcktqutu kui tev ouo uaocev.
EpyoKro
H tuaoaoiqoq tq eoou civui to uaupuitqto otoicio iu tq oqioupiu cpuciev
kui oiuoikuoiev aou vu tqv uaootqpiouv. Tu cpuciu kui q oiucitoupikotqtu tou
cuptevtui kutu aou uao ioupou opioou oquoiooiu kui ouoioev, oae
uutou aou aupcci q UML. H UML opici cvu oquoiooiko ctuovtco, oi iu
oiuouvocoq apo cpuciu, uao0qkcutikou epou q ovtcu povou cktccoq, uv kui
ou uutu 0u apcaci vu civui aou kovtu ctuu tou.
H tckqpieoq tq UML acpiuuvouv opiocvc ououc iu ti caioc
uoaoiqoq aou 0u apcaci vu kuvouv oi aeqtc cpuciev, uu ocv uvticteaici ou
oou pciuovtui. Iiu aupuociu, ocv uvticteaici qtqutu oae peutioo tev
oiupuutev, aoqqoq tou pqotq, cikovu c kivqoq, ovtcu uao0qkcuoq kui
uoaoiqoq kui uu upuktqpiotiku.
Aokooo
Hooi opuviooi 0u pqoioaoiqoouv tq UML e iu koivq eoou iu tu otoiciu
tev cpev tou, uu 0u pqoioaoiqoouv tou ioiou tuaou oiupuutev tq UML
oc oiuopctiku auioiu uao ti uc oiuoikuoic. H UML civui caitqoc uvcuptqtq
oiuoikuoiu ku0e o opioo cvo apotuaou oiuoikuoiu civui ce uao tou otoou
tq.
Oi oupuci tq UML uvuvepiouv tq oquoiu tq oiuoikuoiu. H uaupq iu
kuu opiocvq kui kuu oiucipioiq oiuoikuoiu civui to uoiko oqcio aou
oiuepici tu uacp-aupueiku cpu uao tu uaotuqcvu. To vu uoiotouc oc cvuv
qpeiko apopuutiotq ocv civui kuq ctuipikq apuktikq. Miu oiuoikuoiu
aupcci ooqic octiku c tq ocipu aou apcaci vu ivouv oi opuotqpiotqtc tq
ouou,
12
ku0opici aoiu otoiciu 0u apcaci vu uvuatu0ouv
ooqci ti cpuoic ku0c cou kui ookqpq tq ouou, kui
apoocpci kpitqpiu iu aupukoou0qoq kui ctpqoq tev apoovtev kui tq
opuotqpiotqtu tou cpou.
Oi oiuoikuoic uao tq uoq tou apcaci vu apooupoovtui otov opuvioo, tqv
koutoupu kui to acoio tou apoquto aou uvticteaiouv. Kuti aou ooucuci oc cvu
auioio (a.. q uvuatuq cvo auivioiou iu uaooiotq) aopci vu civui kutuotpoiko
oc kuaoio uo (a.. ouotqutu apuutikou povou c cvtovq uqcaiopuoq c tov
uv0peao). H caioq iu oukckpicvq oiuoikuoiu cuptutui oquvtiku uao
qtqutu oae to acoio apoquto, q tcvooiu uoaoiqoq kui tu apooovtu tev
cev tq ouou.
Oi c0ooooic Booch, OMT, OOSE kui uc couv kuu opiocvc oiuoikuoic kui q
UML aopci vu uaootqpici ti acpioootcpc uao uutc. Yaupci kuaoiu oukioq oti
apuktikc oiuoikuoiev uvuatuq, uu ocv uaupci ukou oueviu octiku c tqv
tuaoaoiqoq. Auto aou civui to aio ai0uvo vu apokuci civui iu koivq oueviu iu ti
kuutcpc apuktikc kui cv ouvuci vu ivci uaoockto cvu auioio oiuoikuoiu, cou
oto oaoio 0u otiiotuaouvtui oi oiuopctikc oiuoikuoic. Av kui q UML ocv caiuci
iu oiuoikuoiu, cci uvuvepiotci q uiu iu oiuoikuoiu aou apoouvutoictui oc
acpiateoci pqoq, uoictui otqv upitcktovikq, civui cauvuqatikq kui uuqtikq kui
ouvcae uutq oicukouvctui (uv kui ocv caiuctui uao tq UML).
2.4.2. Zykpioq q UML kdi //ov y/oooov ovs/ooiqoq
Ou apcaci vu ivci ouc oti q UML ocv civui piiku oiuopctikq uao ti Booch, OMT
kui OOSE, uu iu oiuooo kutuotuoq tou. Auto oquivci oti cvu pqotq iu
uao ti aio auve c0ooooic 0u aopcoci vu pqoioaoiqoci ti uaupouoc veoci
tou otq UML, ku0e uaotcci cvu cciktiko qu. Oi pqotc uev c0ooooiev 0u
aopouv caioq vu u0ouv cukou UML, uu 0u apcaci vu caicouv ovoi tou uv 0u
pqoioaoiqoouv ti cvvoic kui tou ouoioou tq UML kute uao ti oikc tou
c0ooooic.
H UML civui aio ckpuotikq, uu kui aio cku0upq kui cvoaoiqcvq uao
c0ooooic oae q Booch, OMT kui OOSE. Auto oquivci oti otuv ctucpouotc
otq UML kcpoiouc iuti aopouc vu ovtcoaoiqoouc cpu aou ocv aopououc
apiv. Eaioq uaupci kcpoo iuti uuipouvtui oi upqotc oiuopc oto ouoioo
kui tqv opooiu aou ocv uqvouv vu uvouv oi ooiotqtc tev apoociocev uutev.
Lc ocoq c uc oatikc eooc ovtcoaoiqoq, ouacpiuuvocvev tq
ovtcoaoiqoq ovtotqtev-ouoctiocev, tq Business Reengineering Process (BRP),
tev oiupuutev poq kui tev eooev aou apoouvutoiovtui oti kutuotuoci, q
UML apoocpci caiacov ckpuotikotqtu ku0e kui oiotikq ukcpuiotqtu.
Oi pqotc tev uaupouoev c0ooooiev 0u uvticteaioouv ikpouuc otou
ouoioou, uu uuto oc oquivci tooo oti apcaci vu u0ouv ck vcou kuaoiu
apuutu, ooo vu cku0upioouv kuaoic cvvoic otqv uaokcicvq oquoiooiu. Av
couv caitcu0ci oi otooi tq cvoaoiqoq, q UML uaotcci tqv apouvq caioq iu vu
ckivqoci kuaoio cvu vco cpo, cioiku ooo uaupouv oo kui acpioootcpu cpuciu,
13
iiu kui aupoq kutuptioq. Hou uao tu cpuciu oatikq ovtcoaoiqoq
uaootqpiouv uaupovtc ouoioou, oae Booch, OMT, OOSE kui uou, e
oci tou uaokcicvou ovtcou. Otuv tu cpuciu uutu apoocpouv kui tqv
uaootqpiq otq UML, oi pqotc 0u aopouv vu ctucpouv tu uaupovtu ovtcu
tou oto ouoioo tq UML epi vu uoouv aqpoopiu.
2.5. Xdpdkrqporkd rq UML
Oi otooi tq apooau0ciu cvoaoiqoq qtuv vu oiutqpq0ci uaq, vu ckciouv tu
otoiciu aou uaqpuv oti tpci c0ooooic kui oc citoupououv otqv apuq, vu
apootc0ouv otoiciu uao uc c0ooooic, tu oaoiu qtuv aio uaoootiku kui vu
uvukuu0ouv vcu otoiciu ovo oti acpiateoci aou ocv uaqpc qoq uoq. Ku0e oi
oupuci tq UML ocoiuuvc ouoiuotiku iu eoou (cote puikq) capcac vu
caicouv uvucou otu cuiotu (tu auvtu civui kcicvo kui koutiu) kui otqv uacpoq
(uaupci cvu cikovioio iu ku0c ai0uvo otoicio ovtcoaoiqoq). 1ovtu uuto kutu
vou qtuv ioiuitcpu apoocktikoi otuv capcac vu apoo0coouv cvu vco otoicio, ku0e oc
0cuvc vu kuvouv tq UML aouaokq uvcu oou. Ltq oiuoikuoiu cuiu,
uvukuu0qkc oti qtuv acovcktqu vu apootc0ouv opiocvu apuutu aou ciuv
uaoocitci pqoiu otqv apuq, pqoioaoievtu uc ovtcoaoiqoci.
Yaupouv upkctc vcc cvvoic aou acpiuuvovtui otq UML, ouacpiuuvocvev:
quviooi cacktuoq (otcpcotuau, upuktqpiocvc tic kui acpiopiooi),
vqutu kui oicpuoic,
kutuvoq kui ouvopoikotqtu (iu ovtcoaoiqoq a.. ActiveX/DCOM kui
CORBA),
patterns/ouvcpuoic,
oiupuutu opuotqpiotqtev (iu ovtcoaoiqoq business process),
ckcatuvoci (iu oiucipioq ococev ctuu caiacoev uuipcoq),
oiuouvococi kui ouvioteoc, kui
iu eoou acpiopioev.
Hoc uao ti iocc uutc aupouoiuotqkuv apetu uao uc c0ooooic kui 0cepic,
uu q UML ti ouvouuci oc cvu ouvcac ovtco. Eaiapoo0ctu oc uutc ti ciovc
uuc, uaupouv kui aoc ikpc ctieoci oc ocoq c tq oquoiooiu kui tou
ouoioou tev Booch, OMT kui OOSE.
H UML uaotcci cciq tev Booch, OMT, OOSE, uev uvtikcicvootpuev
c0ooooiev kui aoev uev aqev. Oc uutc oi ouvouuocvc aqc
cvoeutevouv oiuopctiku otoiciu, aou apocpovtui uao oiuopou oupuci, tu
oaoiu acpiuuvouv kui caippoc uao q-uvtikcicvootpuq otoiciu. O ouoioo
tq UML civui iu ouatuq tou puikou ouvtuktikou tev oiuopev aqev, ua oaou
couv uuipc0ci opiocvu ouou (iuti acpocuuv, pqoioaoiouvtuv io q
acovuuv) kui couv apootc0ci cpiku ukou. Oi iocc otq UML apocpovtui uao ti
iocc aou uvuatu0qkuv uao aoou uv0peaou otov uvtikcicvootpuq epo. Oi
oupuci tq UML ocv civui ti acpioootcpc opc uutoi uvukuuuv iu iocu,
14
uau couv caicci kui couv ookqpeoci ti kuutcpc iocc uao tqv
uvtikcicvootpuq ovtcoaoiqoq kui ti apuktikc tq caiotqq uaooiotev. H
apuutikq cvcuoiu tou ouoioou kui tq uaokcicvq catocpou
oquoiooiu civui upkctu ouv0ctq kui oto oqcio uuto aupouoiuctui uau e iu
uaoq tou ti ouvcq.
Tu oiupuutu acpiateocev pqoq civui aupooiu otqv cuvioq c uutu tou
OOSE.
Tu oiupuutu kuocev civui ouvouuoo uutev tou OMT, tou Booch kui tev
oiupuutev kuocev uev c0ooooiev. Iiu oiuopu oiupuutu aopouv vu
opiotouv otcpcotuau kui tu uvtiotoiu cikovioiu, eotc vu uaootqpiovtui uu otu
ovtcoaoiqoq. Tu otcpcotuau, oi acpiopiooi kui oi upuktqpiocvc tic civui
upuktqpiotiku aou couv apootc0ci otq UML epi vu uaupouv oc uc ciovc
eooc ovtcoaoiqoq.
Tu oiupuutu kutuotuocev oc cuo u0o uoiovtui otu oiupuutu
kutuotuocev tou David Harel c ikpc uuc. Tu oiupuutu puev
opuotqpiotqtev civui aupooiu c tu oiupuutu poq cpuoiu aou uvuatu0qkuv
uao aoc aqc ku0e kui uao aoc aqc aou apoaqpuv tou
uvtikcicvootpuou ovtcou.
Tu oiupuutu ukoou0iu cuviovtui oc aoc uvtikcicvootpuci c0ooooic
c oiuopu ovoutu (uqcaiopuoq, aupukoou0qoq qvuutev kui
aupukoou0qoq ouuvtev) kui caioq aquivouv aioe apiv tqv uaupq tou
uvtikcicvootpuou ovtcou. Tu oiupuutu ouvcpuoiu apooupootqkuv uao tov
Booch (oiupuutu uvtikcicvev), to Fusion (puo uqcaiopuoq oiupuutev)
kui uao aoc uc aqc.
Oi ouvcpuoic uaotcouv acov ovtotqtc ovtcoaoiqoq apetq tuq kui ouvu
uaotcouv tq uoq iu tu patterns.
Tu oiupuutu uoaoiqoq (oiupuutu ouvioteoev kui deployment) apokuatouv
uao tu oiupuutu tqutev (module) kui oicpuoiev tou Booch, uu acov
caikcvtpevouv oti ouvioteoc, uvti otu tqutu kui civui kuutcpu oiuouvococcvu..
Tu otcpcotuau civui cvu uao tou quvioou cacktuoq kui cacktcivouv tq
oquoiooiu tou ctuovtcou. Eikovioiu aou opiovtui uao to pqotq aopouv vu
pqoioaoiq0ouv c oukckpicvu otcpcotuau iu apooupoq tq UML oc
oukckpicvc oiuoikuoic.
H eoou acpiopioev uvtikcicvev (Object Constraint Language OCL)
pqoioaoicitui uao tq UML iu ku0opioo tq oquoiooiu kui aupcctui e iu
eoou iu ckpuoci kutu tq ovtcoaoiqoq. H OCL civui iu eoou ckpuocev
aou cci ti pic tq otq c0ooooiu Syntropy kui cci caqpcuotci uao eooc
ckpuocev uev c0ooooiev oae q Catalysis. H q tuaikq aoqqoq otqv OMT
cci tov ioio otoo, uu q OCL civui tuaikq kui acpioootcpo cktctucvq.
Ku0c iu uao ti upc uutc cci kui uou apoovou kui caiacov caippoc. H
aupouoiuoq aou oi civc ocv civui aqpq.
15
2.6. UML - HdpsA0v, Hdpv kd MAAov
H UML cci uvuatu0ci uao tq Rational Software kui tou ctuipou tq. Eaioq aoc
ctuipic couv cvoeuteoci tq UML e apotuao otq oiuoikuoiu uvuatuq tou kui
otu apoovtu tou, tu oaoiu kuuatouv acpioc oae q business modeling, q oiucipioq
uauitqocev, q uvuuoq kui o ocoiuoo, o apopuutioo kui o cco.
2.6.1. UML 0.8 0.91
Hpv tq UML
Aao tu cou tq ockuctiu tou 70 ce tu tcq tq ockuctiu tou 80 upiouv vu
cuviovtui uvtikcicvootpuci eooc ovtcoaoiqoq, ku0e oi oiuopoi
cpcuvqtc ciuv upioci vu acipuutiovtui c oiuopctikc apoocioci otqv
uvtikcicvootpuq uvuuoq kui ocoiuoo. Oi eooc uutc caqpcuotqkuv uao uc
tcvikc, oae q ovtcoaoiqoq Ovtotqtev-Luoctiocev, q Ieoou apooiupuev kui
acpipuq (Specification & Description Language SDL, acpiaou 1976, CCITT) kui
uc tcvikc. To aq0o tev eooev ovtcoaoiqoq uuq0qkc uao iotcpc uao
10 oc auve uao 50 otqv acpiooo 1989-1994. Hooi uao tou pqotc tev
uvtikcicvootpuev c0ooev ocv ikuvoaoiouvto aqpe uao iu uao uutc ti eooc
ovtcoaoiqoq, oqioupevtu aocou c0ooooiu. Ltu cou tq ockuctiu tou
90, ciuv upioci vu cuviovtui vcc ckoooci tev c0ooooiev uutev, oae q
Booch 93, q ouvciocvq cciq tq OMT kui q Fusion. Oi c0ooooic uutc
upiouv vu cvoeutevouv q iu ti tcvikc tq uq kui upiouv vu cuviovtui
c0ooooic aou qtuv upkctu uaooocvc oae oi OOSE, OMT-2 kui Booch 93.
Ku0c iu uao uutc qtuv iu aqpq c0ooooiu kui cic tu oiku tq ioupu oqciu.
Mc uau oiu, q OOSE qtuv iu apoocioq aou uoiotuv oc acpiateoci pqoq kui
apooccpc upiotq uaootqpiq iu business engineering kui uvuuoq uauitqocev. H
OMT-2 qtuv ioiuitcpq ckpuotikq iu uvuuoq kui iu aqpoopiuku ouotqutu c
cuoq otu ocoocvu. H Booch 93 qtuv ioiuitcpu ckpuotikq kutu ti uoci tou
ocoiuoou kui tq uoaoiqoq iu cpu, cve qtuv oiuoqq iu cupoc aou ciuv
cuoq otqv tcvooiu.
O Booch, Rumbaugh ko Jacobson rvmvouv t uvr tou
H uvuatuq tq UML ckivqoc tov Oktepio tou 1994 otuv oi Grady Booch kui Jim
Rumbaugh tq Rational Software Corporation upiouv vu ooucuouv iu tqv cvoaoiqoq
tev c0ooooiev Booch kui OMT (Object Modeling Technique). Acoocvou tou oti oi
ouo c0ooooic qoq uvuatuooovtuv cepiotu kui uvuvepiovtuv qoq e oi
kupiupc uvtikcicvootpuci c0ooooic aukooiu, oi Booch kui Rumbaugh
cveouv ti ouvuci tou iu vu caitcu0ci iu aqpq cvoaoiqoq tev c0ooooiev
tou. To apeto ocoio tq ckoooq 0.8 tq Unified Method, oae ovouotuv totc,
cuviotqkc tov Oktepio tou 1995. Lto 0ivoaepo tou 1995 o Ivar Jacobson kui q
ctuipiu tou Objectory cve0qkc c tqv Rational kui tqv apooau0ciu cvoaoiqoq,
ouvouuovtu kui tq c0ooooiu OOSE (Object-Oriented Software Engineering). To
ovou tq Objectory pqoioaoicitui acov otq Rational kupie iu vu oqe0ci q
ouutq c tq UML oiuoikuoiu aou aupcci, q Rational Unified Process.
16
O uoikoi oupuci tev c0ooooiev Booch, OMT kui OOSE, oi Grady Booch, Jim
Rumbaugh kui Ivar Jacobson ciuv to kivqtpo iu vu oqioupqoouv iu cvoaoiqcvq
eoou ovtcoaoiqoq iu tpci oou. Kut upu oi c0oooi qoq cciooovtuv apo
ti uc uvcuptqtu. Eic voqu vu ouvcioouv tqv apooau0ciu cciq ui, uvti vu
to kuvouv o ku0cvu cepiotu, uauciovtu ctoi tqv ai0uvotqtu iu oiuopc aou oc
0u ciuv voqu kui uau 0u acpocuuv tou pqotc. Acutcpov, cvoaoievtu tq
oquoiooiu kui to ouoioo 0u uaqpc iu otu0cpotqtu otqv uvtikcicvootpuq
uopu, aou 0u cactpcac otu cpu vu pqoioaoiqoouv iu epiq eoou
ovtcoaoiqoq kui vu uqoouv ooou 0u ctiuvuv tu cpuciu vu oeoouv upo oto
ae 0u aupcouv tu pqoiu upuktqpiotiku. Tpitov, acpicvuv oti q ouvcpuoiu tou
0u apooccpc ctieoci kui oti tpci apoqoucvc c0ooou, oq0evtu tou vu
ouuouv tu u0qutu aou ciuv qoq aupci kui vu uvticteaioouv apoqutu aou
ocv aopouoc vu cipiotci op0u kuiu uao ti apoqoucvc c0ooooic.
Ku0e ckivqouv tq oiuoikuoiu cvoaoiqoq, cuuv tcoocpi otoou iu vu cotiuoouv
ti apooau0cic tou:
1. Nu oicukouvouv tq ovtcoaoiqoq tev ouotqutev (oi ovo tou oioikou)
pqoioaoievtu uvtikcicvootpuci cvvoic.
2. Nu oqioupqoouv iu pqtq oucuq apo tu oquoiooiku uu kui tu
cktccoiu otoiciu.
3. Nu uvticteaioouv qtqutu kiuku aou civui cutu otu ouv0ctu kui
kpioiu ouotqutu.
4. Nu oqioupqoouv iu eoou ovtcoaoiqoq aou 0u aopouv vu
pqoioaoiqoouv tooo uv0peaoi ooo kui quvc.
To vu uvukuuatci kuaoio cvu ouoioo iu pqoq otqv uvtikcicvootpuq
uvuuoq kui ocoiuoo oc oiucpci kui aou uao to ocoiuoo iu apopuutiotikq
eoou. Hpetov apcaci vu uvticteaiotci cvu apoqu: 0u apcaci o ouoioo vu
cvoeutevci tov ku0opioo tev uauitqocev; (Nui, cv cpci.) Ou apcaci o ouoioo
vu cacktcivctui oto caiacoo iu oatikq eoou apopuutioou; (Oi.) Acutcpov,
0u apcaci vu uaupci iu iooppoaiu uvucou oc uaotqtu kui ckpuotikotqtu: cvu
aou uao ouoioo 0u acpiopioci to aq0o tev apoqutev aou 0u aopouv vu
caiu0ouv, cvu aou ouv0cto 0u acpiacci tov uao uvuutq. Ltqv acpiateoq tq
cvoaoiqoq uaupouoev c0ooooiev, 0u apcaci vu uaupci iu cuuio0qoiu e apo
tqv uaupouou uoq pqotev: uv uaupouv aoc uuc 0u acpocutouv oi
uaupovtc pqotc. Av ocv apoe0q0ci o ouoioo 0u u0ci q cukuipiu vu aopci vu
uacu0uv0ci oc cuutcpo ouvoo pqotev. O opioo tq UML apooau0ci vu actuci
cou oc oc uutc ti acpioc.
Oi apooau0cic tev Booch, Rumbaugh kui Jacobson ciuv e uaotccou tqv cuvioq
tq tckqpieoq tq UML 0.9 kui 0.91 tov Iouvio kui tov Oktepio tou 1996. To 1996
oi oupuci tq UML qtqouv kui cuuv ooiu uao tqv koivotqtu. Evoeuteouv
tu ooiu uu qtuv ouc oti qtuv uaupuitqtq caiacov cotiuocvq apoooq.
17
2.6.2. Edipoi q UML
To 1996 civc ouc oti upkctoi opuviooi ccauv tq UML e otputqikq caioq
iu ti ctuipic tou. Miu uitqoq iu apotuoci (Request for Proposal RFP) uao to
Object Management Group (OMG) qtuv o kutuutq eotc oi opuviooi uutoi vu
cveoouv ti ouvuci tou kui vu aupouoiuoouv iu koivq uauvtqoq oto RFP. H
Rational oqioupqoc tqv koivoapuiu tev ctuipev tq UML c upkctou opuvioou
aou ciuv tq oiu0coq vu oiu0coouv tou aopou iu vu oqioupq0ci cvu ioupo
opioo tq UML. Ekcivoi aou ouctciuv acpioootcpo otov opioo tq UML
acpiuuvouv tou: Digital Equipment Corp., HP, i-Logix, IntelliCorp, IBM, ICON
Computing, MCI Systemhouse, Microsoft, Oracle, Rational Software, TI kui Unisys. H
ouvcpuoiu uutq aupquc tq UML, iu eoou ovtcoaoiqoq aou qtuv kuu
opiocvq, ckpuotikq, ioupq kui cviku cupooiq.
Tov Iuvouupio tou 1997 q IBM c tqv ObjecTime, q Platinum Technology, q Ptech, oi
Taskon kui Reich Technologies kui tco q Softeam uacuuv c tq ocipu tou
uauvtqoci oto RFP tou OMG. Oi ctuipic uutc cve0qkuv c tou ctuipou tq UML
iu vu uaououv ti iocc tou kui to uaotccou qtuv q UML 1.1. H UML 1.1
cotiuoc oto vu cku0upiotci q oquoiooiu tq UML 1.0 kui vu cvoeute0ouv oi
ouvcioopc tev vcev ctuipev.
3. ZuoKoo otq UML
Ltq ouvcciu 0u uooq0ouc c ti oquoiooikc cvvoic ti oaoic 0u
aupouoiuoouc uvuou c tou tuaou tev oiupuutev. Iiu ku0c tuao
oiupuuto aupouoiuovtui tu otoiciu ovtcoaoiqoq aou cuviovtui ku0e kui
q uvuaupuotuoq tou. Hou uao tu otoiciu ovtcoaoiqoq cuviovtui oc auve
uao cvu oiupuutu. 1ci ivci apooau0ciu vu cuvictui ku0c otoicio oto
oiupuu aou cuvictui aio ouvu. Eaioq uaupouv ouvu capoo0ic uvuopc,
ku0e apokcitui iu kcicvo uvuopu.
4. Ztoro tmv oypotmv
4.1. O ypdo kd ro nspsypsv rou
Tu acpioootcpu uao tu oiupuutu tq UML kui opiocvu uao tu ouv0ctu ouou
tq civui puoi c kopuc oi oaoic cvevovtui coe ukev. H aqpoopiu piokctui
acpioootcpo otqv toaooiu, aupu oto cc0o q otq 0coq tev ouoev (uaupouv
cpikc cuipcoci oae tu oiupuutu ukoou0iu c uovu tou povou). Yaupouv
tpiu cioq oatikq ocoq aou u cvoiucpouv:
1. ouvocoq (ouvq0e puc oc ouooiuotutu oqutu),
2. cvoeuteoq (containment) (ouoev uao ouooiuotutu oqutu aou couv
opiu), kui
3. oatikq apookoqoq (visual attachment) (cvu cuo ouoo civui kovtu oc
kuaoio uo oc cvu oiupuu).
Autc oi oatikc ococi uacikoviovtui oc ouvococi koev oc cvu puo.
18
O ouoioo tq UML cci tiutci iu ocoiu oc ouo oiuotuoci. Opiocvu uao tu
ocoiu civui ouooiuotutc apooc tpiooiuotutev ocoiev (oae kuoi), uu
ouvciouv vu uvuaupiotevtui e cikovioiu oc ouooiuotutc caiuvcic. Luvtou
aopci vu civui cikto vu couc tpiooiuotutq uacikovioq kui aoqqoq oc
ouvq0iocvou uaooiotc, uu uuto oc ouuivci ukou.
Yaupouv tcoocpu uoiku cioq puikev ooev aou pqoioaoiouvtui oto ouoioo
tq UML:
1. Eikovioio 1vu cikovioio civui cvu puiko oqu oukckpicvou cc0ou kui
opq. Acv cacktcivctui iu vu epcoci tu acpicocvu tou. 1vu cikovioio
aopci vu cuviotci cou oc ouou acpioq (area symbols), oae
tcputioou (terminators), oc ukc q e uutoouvuo ouoo aou aopci vu
ouvocctui q oi c ukc.
2. Acooioo:o:o onoo Tu ouooiuotutu ouou couv ctuqtc oiuotuoci,
eotc vu aopouv vu epuvc uu otoiciu, oae iotc ouooocipev q uu
ouou. Hou uao uutu oiuipouvtui oc aupooiu q oiuopctiku tqutu
(compartments). Oi ukc ouvocovtui c tu ouooiuotutu ouou tcputiovtu
tqv ukq oto opio tou ouoou. H ctuopu q oiupuq cvo ouooiuotutou
ouoou caqpcuci tu acpicocvu tou ouoou kui ti ukc aou ouvocovtui
c uuto.
3. Akn/ Eivui ukoou0ic tqutev puev tev oaoiev tu tciku oqciu civui
apookoqcvu. Evvoiooiku iu ukq civui iu toaooikq ovtotqtu, uv kui
aopouc vu cipiotouc puiku tu tqutu. 1vu tqu ocv aopci vu uaupci
uvcuptqtu uao tqv ukq tou. Oi ukc civui auvtu apookoqcvc oc uu
puiku ouou kui otu ouo ukpu (ocv uaupouv dangling puc). Oi ukc
aopouv vu couv :cono:iono (terminators), oquoq, cikovioiu aou
cuviovtui c kuaoiu ocipu oto tco tq ukq kui apoooiopiouv tqv cvvoiu
tou ouoou tq ukq.
4. lcnooocio/ Avuaupiotouv oukckpicvo cioo aqpoopiu oc iu q
caccpuocvq (unparsed) opq, q oaoiu uao0ctci oti ku0c pqoq iu
ouooocipu oto ouoioo cci oukckpicvq ouvtuq q oaoiu aopci vu
caccpuotci ouvtuktiku (parsed) otqv aqpoopiu tou uaokcicvou ovtcou.
Iiu aupuociu, q ouvtuq iu tu ioioupuktqpiotiku (attributes), ti apuci
(operations) kui ti ctuuoci (transitions). Autoi oi tpoaoi ouvtuq aopci vu
oiucpouv otu cpuciu, e caioc aupouoiuoq. Oi ouooocipc uaupouv
e uutovou otoiciu tev ouoev q tev tqutev (compartments) tev
ouoev, e otoiciu oc iotc (otqv oaoiu acpiateoq q 0coq tou otq iotu
oqevci kuaoiu aqpoopiu), e ctikctc oi oaoic couv apookoq0ci oc
ouou q ukc q e uutoouvuu otoiciu oc cvu oiupuu.
4.2. Zysdop dkp6v
Miu ukq uaotccitui uao iu ocipu uao tqutu puev tu oaoiu civui ouvococcvu
ctuu tou. Oq q ukq civui iu toaooikq ovuou. Tu tqutu aopci vu civui
cu0upuu tqutu, oblique puc q kuauc. To otu tq puq aopci vu
0cepq0ci e acpiopioo tou cpuciou. Av ouo puc oiuotuupevovtui aopci vu
19
pqoioaoiq0ci cvu ikpo qikukio iu vu oqeoci oti oi ukc ocv cvevovtui (oae
ouuivci kui oc cvu oiupuu qcktpikev kukeutev).
Lc aoc ococi (oae q ouvu0poioq q q cvikcuoq) aoc ukc tou ioiou cioou
aopouv vu ouvocovtui c cvu koivo ouoo. Lc opiocvc acpiateoci ti oaoic 0u
aupouoiuoouc otq ouvcciu oi puc aou ouvocovtui aopouv vu ouvouuotouv oc
cvu ovo tqu puq, eotc otq ouvcciu q ukq uao to ouoo vu oiukuoictui
oc upkctc uc ukc uao opq ocvopou. Hpokcitui iu iu caioq aou cci vu
kuvci ovo c tqv aupouoiuoq kui ocv aopci vu pqoioaoiq0ci uv q aqpoopiu
ovtcoaoiqoq aou acpicctui otu tqutu ocv civui tuutooqq.
4.3. Mq opdro unspovsopo kd o pAo rmv spydAsmv
Miu oqcieoq oto upti ocv cci kpucvq aqpoopiu. Avti0ctu iu oqcieoq otqv
o0ovq uaooiotq aopci vu acpicci caiacov uoputou uacpouvocoou oi oaoioi ocv
civui cuvci otqv otutikq oq, uu aopouv vu cvcpoaoiq0ouv ouvuiku, eotc vu
apooacuotci uq aqpoopiu citc oc puikq oq citc e aivuku. Tctoiou cioou
ouvuikoi ouvocooi uaotcouv cpo tou ocvoniko ouoioou, uu q UML ocv
ku0opici tq opq tou, 0cepevtu to e upooiotqtu tou pqoioaoioucvou
cpuciou.
4.4. EnAoy ndpouodoq
Ku0c cuvioq cvo ouoou kuoq oc cvu q oiuopctiku oiupuutu aopci vu
cci oiuopctikc caioc aupouoiuoq. Iiu aupuociu, oc cvu ouoo kuoq
aopci vu aupouoiuovtui tu ioioupuktqpiotiku kui oi apuci, cve oc cvu uo iu
tqv ioiu kuoq vu qv cuviovtui ku0oou. Tu cpuciu aupcouv ouoc otu, oi
oaoic aopouv vu apookoq0ouv citc oc uutovou ouou, citc oc ookqpu
oiupuutu, eotc vu ku0opiouv ti caioc aupouoiuoq.
H puikq uvuaupuotuoq ocv civui pqoiq iu ou tu cioq aqpoopiu
ovtcoaoiqoq. Opiocvu tqutu tq aqpoopiu aupouoiuovtui kuutcpu c
kcicvo q c aivukc. Iiu aupuociu, aqpoopiu c cuq catocpciu octiku c
tov apopuutioo aupouoiuctui kuutcpu e iotu kcicvev. H UML ocv uao0ctci
oti oq q aqpoopiu ckpuctui oc oiupuutu, uu ocv ku0opici pqtu tq opq
aupouoiuoq tev pqoioaoioucvev aivukev. Iivctui q uao0coq oti aopci vu
uaupouv uoputoi ouvocooi uao tu puiku otoiciu oc otoiciu oc aivukc.
4.5. ZupoAoospd - String
Miu ouooocipu civui iu ukoou0iu upuktqpev oc kuaoio kutuqo ouvoo
upuktqpev aou pqoioaoicitui iu vu aupouoiuoci aqpoopiu octiku c to
ovtco. Oi pqoioaoioucvoi upuktqpc ocv civui uaupuitqto vu apocpovtui ovo
uao to Autiviko uuqto.
4.5.1. Zqdoio/oyid
Tu oiupuutu ouooocipev ouvq0e uacikoviouv ouooocipc tou uaokcicvou
ovtcou, oi oaoic acpicouv aqpoopiu octiku c to ovtco, uv kui aopci vu
uaupouv ouooocipc oi oaoic cuviovtui uaokciotiku otu oiupuutu. H
20
UML uao0ctci oti aupcctui q ouvutotqtu iu uvuaupuotuoq kui uao0qkcuoq
upuktqpev aou uaotcouvtui uao acpioootcpu uao cvu byte, eotc vu aopouv vu
pqoioaoiq0ouv oc oi ai0uvc eooc.
4.5.2. Zuo/io
H ouooocipu aupouoiuctui e cci. Av uaupouv cioikoi upuktqpc q aupouoiuoq
tou cuptutui uao tqv autopu citoupiu. Avuou c to okoao uaupq tq q
ouooocipu aopci vu cuvictui oc iu puq q oc aupupuo. H puutoocipu
aou pqoioaoicitui ocv cuptutui uao tq ouooocipu.
4.5.3. Ei/oy dpouoidoq
To cpucio aopci vu aupouoiuoci tq ouooocipu c oiuopou tpoaou, upkci
auvtu vu aopouc vu uvuktqoouc tqv upikq ouooocipu.
4.5.4. Hdpsiyd
BankAccount
ntegrate(f: Function, from: Real, to: Real)
{ author = "Joe Smith, deadline = 31-March-1997, status = analysis}
Zko q pq shuffle (dvdksd) sivdi vd d//si udid q osip ov
dpiov. Oo, yid vd sisu0si syd/spq syyqd s qv pdydikq
idikdoid, kd qv ooid opiovd dpi opsi vd ouvsioouv vd piokovdi
ko//qvd s d dpks dvdkddd, q pq pooooiovsdi 0sopovd
i kous d dpi kdi oq ouvsid d svovous s id q /sid pq
merge.
4.6. Ovopd - Name
4.6.1. Zqdoio/oyid
To ovou civui iu ouooocipu aou pqoioaoicitui iu vu apoooiopiotci ovuoiko
cvu otoicio ovtcoaoiqoq, oc kuaoio caiacoo uvuopu (scope). 1vu ovou
oiuopoq (pathname) pqoioaoicitui iu tqv uvcupcoq cvo otoiciou
ovtcoaoiqoq ckivevtu uao tq piu (upq) tou ouotquto (q uao kuaoio uo
oqcio). 1vu ovou civui apoooiopiotq oc kuaoio caiacoo uvuopu (scope). 1vu
ovou oiuopoq uaotccitui uao iu ocipu ovoutev aou ouvocovtui ctuu tou c
kuaoiov oiuepiotq (a.. ::). Yaupouv aou cioq ovoutev oiuopoq kui 0u
acpipuouv otq ouvcciu.
4.6.2. Zuo/io
1vu ovou aupouoiuctui e iu ouooocipu. Kuvoviku to ovou aupouoiuctui oc
iu puq kui ocv cci cioikou upuktqpc. Avuoe tou cpuciou kui tq eoou
aopci vu uaupouv acpiopiooi oto qko tq ouooocipu kui oto aoio ouvoo
upuktqpev aopci vu pqoioaoiq0ci.
21
4.6.3. Hdpsiyd
Ovoutu:
BankAccount
ntegrate
Controller
Abstract
this_is_a_very_long_name_with_underscores
Ovou oiuopoq:
MathPak::Matrices::BandedMatrix
4.7. Erkrd - Label
H ctikctu civui iu ouooocipu aou cci apookoq0ci oc kuaoio otoicio.
4.7.1. Zqdoio/oyid
Miu ctikctu civui cvu opo iu oukckpicvq pqoq ouooocipu oc oiupuu.
Hpokcitui iu opo ouoioou.
4.7.2. Zuo/io
Miu ctikctu civui iu ouooocipu aou apookoutui puiku oc kuaoio uo
ouoo tou oiupuuto. Oatiku q apookoqoq ivctui acpikciovtu tq
ouooocipu cou oto ouoo q toao0ctevtu tqv ctikctu kovtu oto ouoo.
Opiocvc opc q ctikctu toao0ctcitui oc oukckpicvu oqciu (a.. kute uao to
ouoo), uu ti acpioootcpc opc upkci vu piokctui kovtu oto ouoo. To
cpucio oiutqpci to ouvocoo uvucou otqv ctikctu kui to puiko ouoo, eotc q
ctikctu vu ctukivcitui ui c to ouoo, uu q tcikq cuvioq tou oiupuuto
civui qtqu uio0qtikq kui uau 0u apcaci vu uuvctui uaoq oti ocv apcaci vu
apokucitui ouuoq otou pqotc. Av kui q apookoqoq aopci vu qv civui ucou
cuvq uao tqv oatikq aupouoiuoq tou oiupuuto, q apookoqoq 0u apcaci vu
civui cku0upq kui ouq oto puiko caiacoo (kui vu ouvcici vu civui ouq otqv
oquoiooikq uacikovioq).
4.7.3. Hdpsiyd

Lqo 1: Hookqoq ye ovncqq kot nookqoq ye yctxvooq
22
4.7.4. Asi k/sii
H upi0qoq tev cukou uvuvepioiev oatikev ouoev civui acpiopiocvq. O
ouoioo tq UML pqoioaoici cci kcioiu iu vu uvuvepici aupuuc tou
ioiou 0cuto, acpiuuvocvev uaokuocev tou ctuovtcou iu uoikq kuoq,
otcpcotuaev iu uoikq kuoq tou ctuovtcou kui ouoev uao otoiciu iotu.
Aao tqv acupu tou pqotq, o oiuepioo uvucou oc uaokuoci kui otcpcotuau tou
ctuovtcou civui ouvu uvcu oquoiu, uv kui civui oquvtiko iu ooou uoaoiouv
tu cpuciu kui to ctuovtco.
O cviko ouoioo iu tq pqoq iu cq kcioiou civui vu toao0ctq0ci oc
cqviku cioueiku (...): cq-kcioi. Yaupouv opiocvc apoku0opiocvc
cci kcioiu oi oaoic acpipuovtui otq ouvcciu kui oi oaoic apcaci vu
uvticteaiovtui e ococucvc cci oc ocoq c to ouoioo. Yaupouv
oiu0coic kui uc, iu vu ti pqoioaoici o pqotq iu tu otcpcotuau. Acv
caitpcactui q pqoq iu apoku0opiocvq cq kcioiou e ovou oc otcpcotuao.
4.8. Tkpdoq - Expressions
4.8.1. Zqdoio/oyid
Oi oiuopc ooc tq UML uauitouv ckoooci, oi oaoic civui eooooikoi tuaoi oi
oaoioi uaooiovtui kutu to povo cktccoq. Maopci vu civui ckpuoci iu tuaou,
oikc tic q upi0ou. H UML ocv cci eooooiko uvuutq iu ti ckpuoci kui
uutc ckpuovtui e ouooocipc iu oukckpicvq ycooo. Iiu to
oquoiooiko opioo tq UML pqoioaoicitui q eoou acpiopioev OCL kui
aopci vu tq pqoioaoiqoci kui o pqotq, oae ouuivci kui c oaoiuoqaotc uq
eoou. H UML uaocuci vu ku0opioci to ouvtuktiko iu ti ckpuoci tuaev iuti
cuptevtui aou uao tq eoou.
4.8.2. Zuo/io
Miu ckpuoq aupouoiuctui e iu ouooocipu opiocvq oc iu oukckpicvq
eoou. H ouvtuq tq civui upooiotqtu tou cpuciou kui tou eooooikou
uvuutq tq eoou. Iivctui q uao0coq oti o uvuutq aopci vu uaotiqoci ti
ouooocipc kutu to povo cktccoq kui vu oeoci tic tou kutuqou tuaou q
aopci vu caiotpcci oquoiooikc ooc iu vu ouq0ci q cvvoiu tq ckpuoq.
Iiu aupuociu, iu oikq ckpuoq oc uq0c q cuoc. H ioiu q eoou civui veotq
oc cvu cpucio ovtcoaoiqoq, uu civui ccou opiocvq oto oiupuu c tqv
uao0coq oti q opq tq ckpuoq cku0upici to okoao tq.
4.8.3. Hdpsiyd
BankAccount
BankAccount * (*) (Person *, int)
Array[1..20] of reference to range (-1.0..1.0) of Real
[ i > j and self.size > i]
23
4.9. Zqpsmoq - Note
Miu oqcieoq civui cvu puiko ouoo aou acpicci aqpoopiu kcicvou (ai0uvu
kui cvoeutecvc cikovc). Eivui cvu tpoao ouoioou iu vu pc0ouv oiuopu
cioq aqpoopiu kcicvou uao to ctu-ovtco oae acpiopiooi, ooiu, kcicvu
c0ooev kui upuktqpiocvc tic.
4.9.1. Zqdoio/oyid
Miu oqcieoq civui cvu otoicio ouoioou. Hupouoiuci aqpoopiu kcicvou cou
oc kuaoio oquoiooiko otoicio.
4.9.2. Zuo/io
Miu oqcieoq aupouoiuctui e cvu op0oevio c toukiocvq tqv auve ociu eviu.
Hcpicci oaoiooqaotc kcicvo. Hupouoiuctui oc cvu oiupuu kui aopci vu civui
apookoqcvq oc qocv q acpioootcpu otoiciu c oiukckocvc puc.
4.9.3. Ei/oy dpouoidoq
Miu oqcieoq aopci vu cci cvu otcpcotuao.
Miu oqcieoq c tq ococucvq cq constraint q c kuaoio aio acpiopiotiko
otiiotuao acpiopioou (oae oeu keoiku iu c0ooou) ku0opici cvuv acpiopioo
aou uaotcci cpo tou ovtcou kui oi uau cpo tq oq tou oiupuuto. Miu
tctoiu oqcieoq civui q oq tou otoiciou ovtcoaoiqoq (o acpiopioo).
4.9.4. Hdpsiyd

Lqo 2: Lqceoq
4.10. Zyoq rnou-oryprunou
1vu uoiko otoo tq ovtcoaoiqoq civui vu apoctoiuoci cvikc acpipuc aou
acpipuouv aou oukckpicvu otoiciu. Auto civui veoto e oi,o:onio :aoc-
o:iynio:aoc (type-instance dichotomy). Hoc uao ti cvvoic ovtcoaoiqoq tq
UML aou couv uuto to oitto upuktqpu ouvq0e ovtcoaoiouvtui c cuq
otoiciev ovtcoaoiqoq, cvu aou uvuaupiotu tq cvikq acpipuq kui cvu aou
acpipuci tu oukckpicvu otoiciu. Hupuociutu tctoiev cuev otq UML civui tu:
Kuoq-Avtikcicvo, Luoctioq-Luvocoq, Hupuctpo-Tiq, Hpuq-Kqoq k.o.k.
Av kui tu oiupuutu iu tu otoiciu tuao kui iu tu otoiciu otiiotuao ocv
civui ukpie tu ioiu, couv kuaoiu koivu oqciu. Iiu to oo uuto civui oiko vu
caicctui tctoio ouoioo iu tu cuq tev otoiciev eotc q uvtiotoiiu tou vu
civui ucou apouvq oatiku. Yaupci acpiopiocvo upi0o tpoaev iu vu caitcu0ci
uuto, ku0c cvu uao tou oaoiou cci acovcktqutu kui ciovcktqutu. Ltq UML, o
24
oiuepioo tuaou-otiiotuaou aupouoiuctui pqoioaoievtu to ioio cectpiko
ouoo kui uaopuiovtu to ovou tou otoiciou tou otiiotuaou. Auto o
oatiko oiuepioo civui cviku cukou kutuvoqto.
Oi pooi (oti ouvcpuoic) civui kuti uvucou oc otiiotuau kui tuaou. Oae kui tu
otiiotuau apoooiopiouv oiukpitc cuvioci tou ioiou classifier. Oae kui oi tuaoi
acpipuouv cvu cauvupqoioaoiqoio otoicio to oaoio aopci vu cci oiukpitu
otiiotuau. 1vu poo civui iu cioikq acpiateoq classifier. 1vu uvtikcicvo oto
povo cktccoq aopci vu uvtiotoici oc qocv q acpioootcpc kuoci kui oc qocv q
acpioootcpou poou. O ouoioo tou poou caitpcaci tqv cvociq tev uoikev
classifiers tou. O ouoioo iu cvu otiiotuao caitpcaci tov ku0opioo tev
classifiers tou, tev poev tou q kui tev ouo.
1vu poo aupouoiuctui c cvu ovou, uve kute tcciu (:) kui tov tuao, epi
uaopuioq kui e cpo tq ouvcpuoiu. 1vu otiiotuao aupouoiuctui c
apouipctiko ovou, apouipctikq ku0cto (/) ukoou0oucvq uao tq iotu tev poev,
uve kute tcciu (:) kui iotu tev tuaev, ou uaopuiocvu.
5. Aorpoq ovtKmv
5.1. Hdkro - Package
5.1.1. Zqdoio/oyid
1vu aok/:o civui iu ouooaoiqoq tev otoiciev ovtcoaoiqoq. Tu ioiu tu aukctu
aopouv vu civui cv0ctu (nested) oc uu aukctu. 1vu aukcto aopci vu acpicci
uiotucvu aukctu, ku0e kui uu otoiciu ovtcoaoiqoq. Ou tu cioq tev
otoiciev ovtcoaoiqoq tq UML aopouv vu opuve0ouv oc aukctu.
Lqcieotc oti tu aukctu civui ioiok:p:c tev otoiciev ovtcoaoiqoq kui civui q
uoq iu cco ouv0coq (configuration control), uao0qkcuoq kui cco apooacuoq.
Ku0c otoicio aopci vu uvqkci oc cvu ovo aukcto, ouvcae q icpupiu tev aukctev
civui cvu ocvtpo. Oe, tu aukctu aopouv vu uvucpovtui oc uu aukctu, tu oaoiu
couv ovtcoaoiq0ci c pqoq tev otcpcotuaev import kui access tev
cuptqocev, ouvcae to oiktuo pqoq civui cvu puo. Au cioq cuptqocev
uvucou oc aukctu ouvq0e uaovoouv oti uaupouv iu q acpioootcpc cuptqoci
uvucou otu otoiciu.
5.1.2. Zuo/io
1vu aukcto aupouoiuctui e cvu cuo op0oevio c apookoqcvo oc uuto cvu
ikpo op0oevio (cvu tab) otqv auve upiotcpq eviu tou. Eivui to koivo cikovioio
tou ukcou (folder). Tu acpicocvu tou aukctou aopouv vu aupouoiuovtui oto
cuo op0oevio. Tu acpicocvu aopouv caioq vu aupouoiuovtui c
oiukuoiocvc puc apo tu acpicocvu otoiciu, ckto tou aukctou, oae
aupouoiuctui oto aupuociu otq ouvcciu. Ltqv acupu tq puq aou civui
apookoqcvq oto acpicov uvtikcicvo ocoiuctui cvu ouoo ouv (+) cou oc
kuko.
25
Av tu acpicocvu tou aukctou ocv aupouoiuovtui cou oto cuo op0oevio, totc
to ovou tou aopci vu toao0ctq0ci oto cuo op0oevio, oiuopctiku aopci vu
toao0ctq0ci oto tab. Huve uao to ovou tou aukctou aopci vu uaupouv cci
kcioiu. Tu apoku0opiocvu otiiotuau faade, framework, stub kui topLevel
acpicovtui oc cqviku cioueiku. Miu iotu uao ioiotqtc aupouoiuovtui ctu q
kute uao to ovou tou aukctou cou oc ukiotpu, a.. {abstract}. H ouvtuq tev
ioiotqtev aupouoiuctui otq ouvcciu. H oputotqtu tou aukctou ouoictui c
pqoq tev ouoev oputotqtu apiv to ovou tou aukctou (+ iu oqooiu, - iu
ioietikq kui # iu apootutcucvq).
Maopouv vu uaupouv ococi uvucou oc aukctu kui oqevouv oti uaupci q
uvtiotoiq ocoq uvucou oc otoiciu tev ouo aukctev. Miu ocoq cioueq (import)
q apooacuoq (access) uvucou oc ouo aukctu aupouoiuctui c oiukckocvq
puq kui co c uvoitq kcuq kui tqv ctikctu import q access, uvtiotoiu.
Tu otoiciu uao ciou0cvtu q apooacuoiu aukctu aopouv vu cuviovtui ce uao
to ouoo tou aukctou. Ku0e tu (oqooiu) otoiciu tev ciou0cvtev aukctev
apooti0cvtui oto epo ovoutev tou cuaqpctoucvou, aopouv cvuuktiku vu
aupouoiuovtui cou oto ouoo tou aukctou.
5.1.3. Ei/oy dpouoidoq
1vu cpucio aopci vu aupouoiuci tqv oputotqtu aupouoiuovtu ovo tu otoiciu
oukckpicvq oputotqtu, a.. ovo tu oqooiu otoiciu. 1vu oiupuu aou cci cvu
aukcto ocv civui uaupuitqto vu ocivci ou tu acpicocvu tou, upkci vu ocivci cvu
uaoouvoo c uoq kuaoiu kpitqpiu.
5.1.4. Hdpsiyd

Lqo 3: Hokcxo kot ot ococt nooncooq kot ctooyeyq
26

Lqo 4: Otocvo on xo nctccvo xov nokcxov Editor vn cvtkq oq
5.2. Ynooorqpd - Subsystem
5.2.1. Zqdoio/oyid
Eve cvu aukcto civui cvu cvikcucvo quvioo iu opuveoq tev otoiciev cvo
ovtcou, cvu caooo:pno uvuaupiotu iu ovuou ouacpiopu oto uoiko ouotqu
kui ouvcae kui oto ovtco. 1vu uaoouotqu apoocpci iu oiuouvocoq kui cci
apuci kui tu acpicocvu tou oiucpiovtui oc otoiciu apooiupuev kui
uoaoiqoq/ apuutoaoiqoq. Oi apooiupuc cvo uaoouotquto uaotcouvtui uao
apuci oto uaoouotqu, ui c otoiciu apooiupuev oae acpiateoci pqoq,
quvc kutuotuocev (state machines), ka. Tu uaoouotqutu aopci vu couv q vu
qv couv otiiotuau. 1vu uaoouotqu aou ocv cci otiiotuau pqoicuci uau e
ovuou apooiupuq iu tq ouacpiopu tev acpicocvev otoiciev
ovtcoaoiqoq.
5.2.2. Zuo/io
1vu uaoouotqu ouoictui c tov ioio tpoao oae cvu aukcto, c tqv apoo0qkq
cvo ouoou aipouviou (fork symbol) otqv auve ociu eviu tou cuou
op0oeviou. To ovou tou uaoouotquto (ui c tu apouipctiku cci kcioiu,
otcpcotuau ka) toao0ctouvtui oto cuo op0oevio. Hpouipctiku, cioiku uv tu
acpicocvu tou uaoouotquto aupouoiuovtui oto cuo op0oevio, to ovou tou
uaoouotquto kui to aipouvi cuviovtui oto ikpo op0oevio.
1vu uaoouotqu aou aopci vu cci otiiotuau cci tq ouooocipu instantiable
auve uao to ovou tou.
To cuo op0oevio epictui oc tpiu tqutu, cvu iu apuci, cvu iu tu otoiciu
apooiupuev kui cvu iu tu otoiciu uoaoiqoq /apuutoaoiqoq. Autu ouvq0e
aupouoiuovtui epiovtu to op0oevio c iu kutukopuq puq kui oiuipevtu
otq ouvcciu tqv upiotcpq acpioq oc ouo tqutu coe iu opiovtiu puq. Oi
apuci aupouoiuovtui oto auve upiotcpo tqu, tu otoiciu apooiupuev oto uao
kute tqu kui tu otoiciu uoaoiqoq/ apuutoaoiqoq oto oci tqu. Tu ouo
tccutuiu tqutu couv ti ctikctc Specification Elements kui Realization
Elements, uvtiotoiu, eotc vu qv uaupci ouuoq. To tqu tev apucev aupucvci
epi ctikctu. Auto civui to cviko ocoio iu to ouoioo tev uaoouotqutev, uv
27
kui uaupouv aooi oiuopctikoi tpoaoi iu apooupoq tou oukckpicvou
oiupuuto.

Lqo 5: Ynoooxqo
H uacikovioq uao to tqu tq uoaoiqoq oto tqu tev apooiupuev, oquoq oc
apuci kui otoiciu apooiupuev ivctui c oiukckocvc puc c cq c
kciotc kui cutc kcuc. Iiu ouvcpuoic, q uacikovioq aopci vu ckpuotci kui
coe kcicvou.
5.2.3. Ei/oy dpouoidoq
To ouoo tou aipouviou aopci vu uvtikutuotu0ci uao tq cq kcioi subsystem
auve uao to ovou tou uaoouotquto. 1vu q acpioootcpu uao tu tqutu aopouv
vu ouvcve0ouv q vu aupuci0ouv. Lc acpiateoci aou pqoioaoiouvtui auve uao cvu
oiupuutu iu vu aupouoiuotci q aqpoopiu octiku c cvu uaoouotqu, ku0c
oiupuu aupouoiuci cvu uaoouvoo tq aqpoopiu kui ouvcae tu q octiku
tqutu aopouv vu aupuq0ouv.
Ou tu otoiciu aou acpicovtui oc cvu uaoouotqu aopouv vu aupouoiuotouv ui
oc cvu tqu epi ctikctu, oquoq ocv uaupci kuaoiu oatikq oiuopoaoiqoq uvucou
otu otoiciu apooiupuev kui oc uutu uoaoiqoq/ apuutoaoiqoq
Tu cpuciu aopouv vu aupcouv cvuuktikou tpoaou iu oiuopoaoiqoq tev
otoiciev apooiupuev uao uutu uoaoiqoq/ apuutoaoiqoq, oae c pqoq
oiuopctikev peutev q c tq cq kcioi specification iu tu otoiciu
apooiupuev ka.
Oae ouuivci kui c tu aukctu, tu acpicocvu cvo uaoouotquto aopci vu
aupouoiuovtui c pqoq ouoioou ocvtpou. O oiuepioo uvucou oc otoiciu
apooiupuev kui uoaoiqoq/ apuutoaoiqoq aopci vu ivci covtu iu
aupuociu ouo oiuopctikou kuoou c ctikctc q aupouoiuovtu ku0c kutqopiu
epiotu iu ku0c otoicio oto ocvtpo.
5.2.4. Hdpsiyd
Lto caocvo oqu aupouoiuctui cvu oiupuu c uaoouotqutu c oiuouvococi kui
ti cuptqoci ctuu tou.
28

Lqo 6: Ynoovoxqoxo c toovvcoct kot coxqoct
Lto caocvo oqu ou tu acpicocvu oto uaoouotqu uvtikcicvu aupouoiuovtui
ui epi oiuepioo oc tqutu. Eoe to uaoouotqu aupcci iu apuq
operation1() uv kui ocv aupouoiuctui pqtu.

Lqo 7: Ynoooxqo e xqoxo
Oi caocvc tpci cikovc civui oqutiku aupuociutu otu oaoiu o oiuepioo
uvucou oti apooiupuc kui tqv uoaoiqoq civui oiukpito. Oi tpci uutc cikovc
aupouoiuouv cvu aupuociu tou ae aopci vu pqoioaoiq0ci o uoiko
ouoioo iu tu uaoouotqutu iu vu uvuaupuotu0ouv oiuopctikc oci cvo
uaoouotquto c oiuopctiku oiupuutu, aupouoiuovtu kui ookqpq tqv cikovu
tou uaoouotquto.
29

Lqo 8: To xqo xev notoyoev cv vnoovoxqoxo. To koxt xq
vonoqoq cct nooq0c. Tcoo noovotcxot oxo tyoo
xt q operation4() cvot cxc o nq cxc oxotco xq
notoyoq xov vnoovoxqoxo (xq UseCase1 q xq UseCase2) q
xov tov xov vnoovoxqoxo. Entncov oxt nctnxeoct ckcvc nov
c qotonotovxot nct yto xt notoyoc o vo xo
nctccvo oxotco xev notoyoev, cv vnct xqo ncev,
kot ovxoxoo.

Lqo 9: To xqo vonoqoq xov vnoovoxqoxo. To xqoxo yto xt
notoyoc (q. ot nct kot xo oxotco notoyoev) covv
nooq0c. Evookxtk, ot ovvcyooc 0o noooov vo
covovxot oc toocxtk tyoo.
30

Lqo 10: H onctkvtoq ovcoo oxo xqoxo notoyoev kot vonoqoq
noovotcxot kot oxo xo xqoxo, o noovotovxot vo
ckcvo xo oxotco vonoqoq nov covv ocoq c xqv onctkvtoq.
Enoq qotonotovxot toocxtko xnot yto xqv ckooq xq
onctkvtoq.
5.3. MovrAo - model
5.3.1. Zqdoio/oyid
1vu ovtco civui iu uuipcoq cvo uoikou ouotquto c oukckpicvo okoao.
Hcpipuci to uoiko ouotqu uao oukckpicvq oq kui oc oukckpicvo caiacoo
uuipcoq. 1vu ovtco acpicci ou tu uauitoucvu otoiciu ovtcoaoiqoq iu
aqpq uvuaupuotuoq tou uoikou ouotquto, c tu kpitqpiu tou oukckpicvou
ovtcou. Tu otoiciu ovtcoaoiqoq opuvevovtui cou oto ovtco oc iu icpupiu
aukctev/ uaoouotqutev, oaou to apeto aukcto/ uaoouotqu uvuaupiotu tu opiu tou
uoikou ouotquto.
Aiuopctiku ovtcu tou ioiou uoikou ouotquto aupouoiuouv oiuopctikc
acupc tou ouotquto, uao oiuopctikc oci q/ kui caiacou uuipcoq. Lc cvu
ovtco aou acpicci oo to ouvoo ovtcev iu cvu aqpc uoiko ouotqu aopci
vu cupootci to apoku0opiocvo otcpcotuao systemModel.
Oi ococi uvucou oc otoiciu oiuopctikev ovtcev ocv couv kuiu oquoiooikq
caippoq otu acpicocvu tev ovtcev c uitiu tq uutotcciu (self-containment) tev
ovtcev. Oe, civui pqoiu iu vu pc0ouv oi ckcatuvoci (refinements) kui vu
aupukoou0ouvtui oi uauitqoci uvucou otu ovtcu. Oi ococi uvucou otu
ovtcu ckpuouv ckcatuvoq, cioueq ka.
5.3.2. Zuo/io
1vu ovtco ouoictui pqoioaoievtu to ouvq0c ouoo aukctou c cvu ikpo
tpievo otqv uve ociu eviu tou cuou op0oeviou. Hpouipctiku, cioiku uv
31
aupouoiuovtui tu acpicocvu tou ovtcou oto cuo op0oevio, to tpievo aopci
vu ocoiuotci otu ociu tou ovouto tou ovtcou cou oto tab.
Oi ococi uvucou otu ovtcu, oae kui oi ococi uvucou oc otoiciu
oiuopctikev ovtcev, aupouoiuovtu pqoioaoievtu to ouoioo iu to
oukckpicvo cioo ocoq. Lukckpicvu oi cuptqoci aupukoou0qoq (trace)
aupouoiuovtui c oiukckocvq puq, c apouipctiko co c uvoiktq kcuq kui
tq cq kcioi trace.
5.3.3. Ei/oy dpouoidoq
1vu ovtco aopci vu ouoictui e aukcto, pqoioaoievtu to ouvq0c ouoo
tou aukctou kui tq cq kcioi model auve uao to ovou tou ovtcou.
5.3.4. Hdpsiyd

Lqo 11: Tvo systemModel nov nctcct cvo ovxco ovvoq kot cvo
ovxco octooo.

Lqo 12: Ao noocyoxo tcotev ovncqq (containment) c
ovxco kot vnoovoxqoxo nov noovotovxot c tokotcvc
yoc. H otoxcq tcoo oocxot oxo Model, cve q ct oxo
Subsystem.
6. Frvko qovoo rnktooq
Ltq ouvcciu 0u acpipuouc acpiqatiku tou cvikou okoaou quvioou aou
aopouv vu cupootouv oc oaoiooqaotc otoicio ovtcoaoiqoq. H oquoiooiu
tq oukckpicvq pqoq cuptutui uao iu ouuoq c to pqotq q tq oicpqvcuoq
32
tq oukckpicvq eoou acpiopioev q tq oukckpicvq eoou
apopuutioou, ouvcae uaotcouv to quvioo cacktuoq tq UML.
6.1. Hspopop kd ZyAo - Constraint and Comment
6.1.1. Zqdoio/oyid
1vu acoiooiono civui iu oquoiooikq ocoq ctuu otoiciev ovtcoaoiqoq aou
ku0opici ouv0qkc kui apotuoci aou apcaci vu oiutqpouvtui uq0ci, oiuopctiku to
acpipuocvo ouotqu ocv civui ckupo. Yaupouv apoku0opiocvoi acpiopiooi (a..
{xor}), cve uoi aopouv vu opiotouv uao to pqotq. Ltq ocutcpq acpiateoq
acpipuovtui uao to pqotq oc iu eoou, q oicpqvcuoq tq oaoiu civui
uaopceoq tou cpuciou.
1vu o,oio civui cvu kcicvo aou civui ua cu0ciu apookoqcvo oc cvu otoicio
ovtcoaoiqoq kui apookou oaoiuoqaotc aqpoopiu kcicvou oto otoicio. H
aqpoopiu cci cvikq oquoiu uu oi oquoiooikq iou. Tu ooiu aopouv vu
pqoioaoiq0ouv iu vu cacqqoouvc tou oou iu kuaoic uaouoci, ctuu
uev.
6.1.2. Zuo/io
1vu acpiopioo uvuaupiotutui c kcicvo oc ukiotpu ({}). Tu cpuciu 0u apcaci vu
aupcouv iu eoou iu ckpuoq tev acpiopioev, c ai0uvq caioq tqv OCL. Lc
oiuopctikq acpiateoq o acpiopioo aopci vu ckpuctui oc uoikq eoou. Ku0c
acpiopioo cci puci oc oukckpicvq eoou q oaoiu oc pciuctui vu
aupouoiuctui. Av to otoicio ovtcoaoiqoq civui kcicvo, q ouooocipu tou
acpiopioou aopci vu ukoou0ci to kcicvo tou otoiciou, cou oc ukiotpu. Av
apokcitui iu iotu otoiciev, o acpiopioo aopci vu cuviotci e otoicio tq
iotu kui o acpiopioo iouci iu ou tu caocvu otoiciu tq iotu cpi citc vu
cuviotci vco acpiopioo citc vu tccieoci q iotu. 1vu acpiopioo aou cci
apookoq0ci oc cvu oukckpicvo otoicio ocv kutupci cvu aio cviko acpiopioo,
uu aopci vu tov cacktcivci kui aopci vu ctuuci oukckpicvu otoiciu tou. Iiu
cvu ovo puiko ouoo, o acpiopioo aopci vu toao0ctq0ci kovtu oto ouoo,
kutu apotiqoq oiau oto ovou tou uv uaupci. Av uaupouv ouo puiku ouou, o
acpiopioo cuvictui e iu oiukckocvq puq c co uao to cvu otoicio
apo to uo kui c ctikctu tov acpiopioo (oc ukiotpu). H kutcu0uvoq tou cou
acpicci aqpoopiu octikq c tov acpiopioo. O cuaqpctoucvo (oupu tou cou)
uacikovictui otqv apetq 0coq kui o aupocu (kcuq tou cou) otq ocutcpq 0coq
tou acpiopioou. Iiu auve uao ouo puiku ouou, q ouooocipu tou acpiopioou
aupouoiuctui oc iu oqcieoq aou apookoutui oc ku0c cvu uao tu ouou c
oiukckocvq puq. Iiu auve uao tpci oiuopoc ioiou tuaou oi acpiopiooi
aopouv vu cuviotouv e iu oiukckocvq puq aou oiuotuupevctui c oc ti
oiuopoc.
1vu ooio aupouoiuctui e kcicvo cou oto cikovioio iu oqcieoq. Acv
ku0opictui oukckpicvq ouvtuq uao tq UML octiku c tu ooiu uu aopci vu
caiuctui uao to cpucio iu oukckpicvq eoou.
33
6.1.3. Hdpsiyd

Lqo 13: Hoocyoxo nctotoev kot ooev.
6.2. Irqrs oroysmv
Opiocvu otoiciu couv oukckpicvc catocpci ioiotqtc aou ocv couv kuaoiu
puikq uvuaupuotuoq. Eaiacov, oi pqotc aopouv vu opioouv oikc tou ioiotqtc
otoiciev coe tou quvioou tev ,oook:poion/vcv :incv (tagged values). Oi
ioiotqtc uutc uvuaupiotevtui c pqoq ouooocipu kui apookoevtui oto
otoicio ovtcoaoiqoq. Hcpiuuvovtui kui oi ioiotqtc aou uvuaupiotevtui e
ioioupuktqpiotiku oto ctuovtco, ku0e kui apoku0opiocvc kui opiocvc uao to
pqotq upuktqpiocvc tic.
H ioiotqtu civui oaoiuoqaotc tiq aou uvtiotoici oto otoicio ovtcoaoiqoq kui
ouacpiuuvci ouvcae kui oaoic tic civui apooacuoic uao to oukckpicvo
otoicio. Miu upuktqpiocvq tiq civui cvu cuo cq-kcioiou kui tiq tq kui
uvtiotoici oc cvu otoicio ovtcoaoiqoq. H cq kcioi ovouctui ,oook:poiono
(tag) kui aupouoiuctui oae kui q tiq e ouooocipu. Hpokcitui iu quvioo
cacktuoq aou caitpcaci vu apookoq0ci otu otoiciu ovtcoaoiqoq oaoiuoqaotc
aqpoopiu.
H ioiotqtu (citc e ioioupuktqpiotiko tou ctuovtcou, citc e upuktqpiocvq tiq)
uacikovictui cou oc ukiotpu, epiocvq uao kou uao uc aoooioyoo/
ioio:p:cv. Miu apooiupuq ioiotqtu cci tq opq
name = value
oaou name civui to ovou tq ioiotqtu kui value q tiq tq. Luvq0e oi oikc
ioiotqtc otuv cuviovtui cvvocitui q tiq true, cve otuv ocv cuviovtui cvvocitui q
tiq false.
6.3. Zrspsrund - Stereotypes
6.3.1. Zqdoio/oyid
1vu otcpcotuao civui iu vcu kuoq cvo otoiciou tou ctu-ovtcou aou ciouctui
kutu to povo ovtcoaoiqoq. Avuaupiotu iu uaokuoq cvo uaupovto otoiciou
34
tou ctuovtcou c tqv ioiu opq uu oiuopctiko otoo. Icviku, cvu otcpcotuao
uvuaupiotu cvu oiuepioo pqoq. 1vu otoicio otcpcotuao aopci vu cci caiacov
acpiopioou uao tq uoikq kuoq tou ctuovtcou kui aopci caioq vu cci
uauitoucvc upuktqpiocvc tic, oi oaoic apoo0ctouv aqpoopiu aou pciuovtui
tu otoiciu c to otcpcotuao. Avucvctui oti oi cvvqtpic keoiku kui tu uu
cpuciu 0u cipiovtui tu otcpcotuau c cioiko tpoao.
6.3.2. Zuo/io
H cvikq aupouoiuoq cvo otcpcotuaou civui c pqoq tou ouoou iu to uoiko
otoicio tou ctuovtcou, uu toao0ctevtu caiacov auve uao to ovou tou
otoiciou (cooov uaupci) iu ouooocipu c tq cq kcioi, aou civui to ovou tou
otcpcotuaou kui to oaoio piokctui cou oc cqviku cioueiku. H cq kcioi cviku
toao0ctcitui auve q apootu uao to ovou tou otoiciou ovtcoaoiqoq aou
acpipuctui. Maopci caioq vu pqoioaoiq0ci e otoicio oc iu iotu, oaotc
cupoctui otu caocvu otoiciu tq iotu cpi vu uvtikutuotu0ci uao cvu uo
otcpcotuao q tccieoci q iotu q to ukupeoci cvu kcvo otcpcotuao (). Lqcieotc oti
to ovou tou otcpcotuaou ocv aopci vu civui to ioio c iu apoku0opiocvq cq-
kcioi aou cupoctui otov ioio tuao otoiciou.
Iiu vu caitpuaci acpiopiocvq puikq cacktuoq kui tou ouoioou tq UML aopci
vu octiotci c cvu otcpcotuao cvu puiko cikovioio q cvu uo puiko tpoao
oqcieoq (a.. oqu q peu). H UML ocv ku0opici ae apcaci vu civui uutq q
puikq apooiupuq uu uaupouv aoc apotuoci, q ctucpoiotqtu tev oaoiev
civui cvu ouokoo apoqu. To cikovioio aopci vu pqoioaoiq0ci c cvu uao ouo
tpoaou:
1. Maopci vu pqoioaoiq0ci otq 0coq, q oc ouvouuoo c tq cq kcioi tou
otcpcotuaou, e cpo tou ouoou tou uoikou otoiciou ovtcoaoiqoq
oto oaoio uoictui to otcpcotuao. Iiu aupuociu, oc cvu op0oevio kuoq
toao0ctcitui otqv auve ociu eviu tou tquto tou ovouto kui otq opq
uutq civui oputu tu kuvoviku acpicocvu tou otoiciou.
2. Ookqpo to ouoo tou uoikou otoiciou ovtcoaoiqoq aopci vu
ouatu0ci oc cvu cikovioio aou acpicci to ovou tou otoiciou q c to ovou
vu piokctui auve q kute uao to cikovioio. Oq q uaooiaq aqpoopiu tou
uoikou otoiciou ovtcoaoiqoq uaokpuatctui.
H icpupiu kutqopioaoiqoq tev otcpcotuaev aopci vu uvuaupuotu0ci coe cvo
oiupuuto kuocev, uv kui uuto ocv civui uaupuitqto cioiku otuv pqoioaoiouvtui
ovo tu apoku0opiocvu otcpcotuau kui oc oqioupouvtui vcu.
35
6.3.3. Hdpsiyd

Lqo 14: Hoocyoxo toev ovotoev yto xo oxccxvno.
7. Aoypoto ototkq oq
Tu oiupuutu kuoq (class diagrams) aupouoiuouv tq otutikq ooq tou ovtcou
kui oukckpicvu tu uaupovtu otoiciu (oae kuoci kui tuaoi), tqv coetcpikq tou
ooq kui tq ocoq tou c uu otoiciu. Tu oiupuutu kuoq ocv aupouoiuouv
povikq aqpoopiu, uv kui aopouv vu acpicouv cuvioci otoiciev aou couv q
otoiciu aou acpipuouv povikq ouacpiopu. 1vu oiupuu uvtikcicvev (object
diagram) aupouoiuci otiiotuau ouutu c cvu oukckpicvo oiupuu kuoq.
To tqu uuto aupouoiuci ti kuoci kui ti aupuuc tou, ouacpiuuvocvev
tev apotuaev kui tev kuocev aou aopouv vu couv otiiotuau, kui ti ococi
uvucou oc kuoci (ouoctioq kui cvikcuoq) kui tu acpicocvu tev kuocev
(ioioupuktqpiotiku kui apuci).
7.1. dypdppd kAdoq - Class diagram
1vu oiupuu kuoq civui cvu puo uao otoiciu classifier aou ouvocovtui c
oiuopc otutikc ococi. Lqcieotc oti cvu oiupuu kuoq aopci vu acpicci
oiuouvococi, aukctu, ococi ukou kui otiiotuau oae uvtikcicvu kui ouvocoou.
1oe cvu kuutcpo ovou vu qtuv to oiupuu otutikq ooq uu to oiupuu
kuoq civui ikpotcpo kui cci qoq ivci uaoockto.
7.1.1. Zqdoio/oyid
1vu oiupuu kuoq civui q puikq oq tou ovtcou otutikq ooq. Tu
cepiotu oiupuutu kuoq ocv uvuaupiotouv oiuipcoci oto uaokcicvo ovtco.
36
7.1.2. Zuo/io
1vu oiupuu kuoq civui iu ouoq (otutikev) oqetikev otoiciev
ovtcoaoiqoq, oae kuoci, oiuouvococi kui oi ococi tou aou ouvocovtui e
cvu puo. Tu oiupuutu kuoq aopouv vu opuve0ouv oc aukctu citc c tu
uaokcicvu ovtcu citc e epiotu aukctu aou oqioupouvtui auve uao tu aukctu
tou uaokcicvou ovtcou.
7.2. dypdppd dvrkspvmv - Object diagram
1vu oiupuu uvtikcicvev civui cvu puo otiiotuaev, acpiuuvocvev
uvtikcicvev kui tiev ocoocvev. 1vu oiupuu otutikev uvtikcicvev civui cvu
otiiotuao cvo oiupuuto kuoq kui aupouoiuci cvu otiiotuao tq
catocpou kutuotuoq cvo ouotquto oc iu oukckpicvq povikq otiq. H
pqoq tev oiupuutev uvtikcicvev civui octiku acpiopiocvq kupie oto vu
aupouoiuci aupuociutu ooev ocoocvev.
Tu cpuciu oc pciuctui vu uaootqpiouv oiuopctikq opq iu tu oiupuutu
uvtikcicvev. Tu oiupuutu kuocev aopouv vu acpicouv uvtikcicvu, ouvcae
cvu oiupuu kuocev epi kuoci civui cvu oiupuu uvtikcicvev.
7.3. Classifier
O classifier civui q cvikq acpiateoq iu ti kuoci, tou tuaou ocoocvev kui ti
oiuouvococi. Ou couv aupooiu ouvtuq kui ouvcae uvuaupiotevtui c to
ouoo tou op0oeviou kui ti uauitoucvc cci-kcioiu. Ku0e tu aio
ouvq0iocvu oiupuutu civui oi kuoci, iu kuoq uvuaupiotutui c cvu op0oevio
epi cq-kcioi, cve oi uaooiaoi classifier oqevovtui c pqoq cq-kcioiou.
7.4. KAdoq - Class
Miu koop civui cvu acpipucu iu cvu ouvoo uvtikcicvev c koivq ooq,
ouacpiopu kui ococi. To ovtco cvoiucpctui c tqv acpipuq tev kuvovev aou
acpipuouv tqv kuoq. Kutu tqv cktccoq aupcovtui tu otiiotuau tq kuoq. H
UML aupcci ouoioo iu tov opioo tq kuoq kui tov ku0opioo tev ioiotqtev
tq, ku0e kui iu tq pqoioaoiqoq tev kuocev c oiuopou tpoaou. Opiocvu
otoiciu ovtcoaoiqoq aou civui aupooiu otq opq c ti kuoci (oae oi
oiuouvococi) ouoiovtui c pqoq ccev-kcioiev otu ouou tq kuoq. Oi
kuoci opiovtui otu oiupuutu kuocev kui pqoioaoiouvtui otu acpioootcpu
uu oiupuutu. H UML aupcci puiko ouoioo iu tov opioo kui tq pqoq
kuocev, ku0e kui ouoioo coe kcicvou iu uvuopu oc kuoci coe tq
acpipuq uev otoiciev ovtcoaoiqoq.
7.4.1. Zqdoio/oyid
Miu kuoq uvuaupiotu iu cvvoiu tou ovtcoaoioucvou ouotquto. Oi kuoci
couv ooq ocoocvev kui ouacpiopu, ku0e kui ococi apo uu otoiciu. To
ovou iu kuoq cci scope cou oto aukcto aou cci opiotci kui apcaci vu civui
ovuoiko cou oto aukcto.
37
7.4.2. Bdoik ouo/io
Miu kuoq ocoiuctui e cvu op0oevio c tpiu tqutu tu oaoiu oiuepiovtui uao
opiovtic puc. To auve tqu, to tqu ovouto, acpicci to ovou tq kuoq
kui uc cvikc ioiotqtc tq (ouacpiuuvocvev tou otcpcotuaou). To couio
tqu acpicci iu iotu ioioupuktqpiotikev, cve to tccutuio tqu acpicci iu
iotu apucev.
E opioou, iu kuoq aou cuvictui oc cvu aukcto 0cepcitui oti cci opiotci oc
uuto. Iiu vu ociouc oti iu kuoq civui iu uq kuoq aou cci opiotci oc uo
aukcto pqoioaoiouc tq ouvtuq:
Package-name::Class-name
iu to ovou tq kuoq oto apeto tqu. To aqpc ovou ku0opictui toao0ctevtu
ui tu ovoutu tev aukctev, tu oaoiu apcaci vu epiovtui c ouo uve-kute tccic
(::).
7.4.3. Ei/oy dpouoidoq
1vu uao tu tqutu ioioupuktqpiotikev kui apucev, q uotcpu, aopouv vu
aupuq0ouv. H oiuepiotikq puq iu to aupuciaocvo tqu oc ocoiuctui. Av
cci aupuq0ci cvu tqu ocv aopci vu ivci kuiu uao0coq octiku c tqv uaupq q
oi otoiciev oc uuto. Maopouv vu pqoioaoiq0ouv cooov civui uaupuitqto ovoutu
tqutev iu vu qv uaupci ouuoq.
Opiocvc ooqic:
To ovou tq kuoq civui kuo vu civui bold kui kcvtpupiocvo.
Oi cci kcioiu (kui tu otcpcotuau) civui kuo vu civui kcvtpupiocvc c
uaq opq, cou oc cqviku cioueiku auve uao to ovou tq kuoq.
Tu ovoutu tq kuoq vu ckivuvc c kcuuio puu.
Tu ioioupuktqpiotiku kui oi apuci vu cuviovtui otoiiocvu otu
upiotcpu, oc uaq puutoocipu.
Tu ovoutu tev ioioupuktqpiotikev kui tev apucev vu ckivuvc c aco
puu.
Tu ovoutu tev uqpqcvev kuocev q oi uaopuc tev uqpqcvev
apucev vu civui c auiu puutu.
38
7.4.4. Hdpsiyd

Lqo 15: Lvoto xq koq: (o) ot cnxocctc covv nooq0c, () c
cnxocctc cntncov ovvoq, (y) c cnxocctc cntncov
vonoqoq.
7.5. Tpqpd ovpdro - Name Compartment
To tqu ovouto aupouoiuci to ovou tq kuoci kui uc ioiotqtc oc cpi tpiu
tqutu:
1. Miu apouipctikq cq kcioi otcpcotuaou aopci vu toao0ctq0ci auve uao to
ovou tq kuoq oc cqviku cioueiku, q/ kui aopci vu toao0ctq0ci cvu
cikovioio otcpcotuaou otqv auve ociu eviu tou tquto. To ovou tou
otcpcotuaou ocv aopci vu civui iu apoku0opiocvq cq kcioi.
2. Ltq ouvcciu cuvictui to ovou tq kuoq. Av q kuoq civui uqpqcvq, to
ovou tq aupouoiuctui c auiu puutu.
3. Kute uao to ovou tq kuoq, cou oc ukiotpu, aopci vu uaupci iu iotu
ouooocipev aou oqevouv ioiotqtc. H iotu aopci vu aupouoiuci
ioioupuktqpiotiku caiacoou kuoq iu tu oaoiu ocv uaupci ouoioo otq
UML q aopci vu ocivci upuktqpiocvc tic. H uaupq iu cq kcioiou
oikou tuaou epi tiq oqevci uq0c. H iotc otcpcotuaev kui ioiotqtev
civui apouipctiku.

7.6. Tpqpd Aord - List compartment
1vu tqu iotu oiutqpci iu iotu ouooocipev ku0c cvu uao tu oaoiu civui iu
keoikoaoiqcvq uvuaupuotuoq cvo upuktqpiotikou, oae cvu ioioupuktqpiotiko q
iu apuq. Oi ouooocipc aupouoiuovtui iu uvu puq. Tu uvtikcicvu otq
iotu civui tuivoqcvu kui q ocipu tou aopci vu uuci uao to pqotq. Tpci
39
tccic oto tco tq iotu (...) oqevouv oti uaupouv caiacov otoiciu oto ovtco
aou ikuvoaoiouv to kpitqpio caioq uu ocv aupouoiuovtui otq iotu.
7.7. Ioydpdkrqpork - Attribute
Oi ouooocipc oto tqu tev ioioupuktqpiotikev pqoioaoiouvtui iu vu
aupouoiuoouv tu ioioupuktqpiotiku iu kuoq.
7.7.1. Zqdoio/oyid
Lqcieotc oti cvu ioioupuktqpiotiko civui oquoiooiku iooouvuo c iu ouoctioq
ouv0coq, oe o okoao kui q pqoq tou civui ouvq0e oiuopctikq. Maopci vu
uaotiutui oto ovou iu kuoq q aopci vu civui ouv0cto, oae array[String] of
Point. Lc ku0c acpiateoq, oi catocpcic tou tuaou tev ioioupuktqpiotikev ocv
ku0opiovtui uao tq UML. Euptevtui uao tqv ouvtuq ckpuoq aou uaootqpictui
uao tq oukckpicvq apooiupuq q eoou apopuutioou aou pqoioaoicitui.
7.7.2. Zuo/io
1vu ioioupuktqpiotiko aupouoiuctui e iu ouooocipu q oaoiu aopci vu
uvuu0ci ouvtuktiku oc oiuopc ioiotqtc cvo otoiciou. H c opioou ouvtuq civui:
visibility name [ multiplicity ] : type-expression = initial-value { property-string }
oaou visibility civui cvu uao tu:
+ oqooiu oputotqtu
# apootutcuocvq oputotqtu
- ioietikq oputotqtu
H cvociq oputotqtu aopci vu aupuq0ci. H cciq tq oqevci oti ocv
aupouoiuctui q oputotqtu kui oi oti ocv cci opiotci q oti civui oqooiu.
Eaioq q oputotqtu aopci vu apoooiopiotci c ti cci kcioiu {public,
protected, private}
oaou name civui to ovou tou ioioupuktqpiotikou
oaou [ multiplicity ] civui q aouaotqtu tou ioioupuktqpiotikou. O opo
aopci vu aupuq0ci, oaotc q tiq civui 1..1 (ukpie cvu).
oaou type-expression civui o tuao uoaoiqoq tou ioioupuktqpiotikou,
cuptecvo uao tq eoou.
oaou initial-value civui iu ckpuoq iu tqv upikq tiq cvo vcou uvtikcicvou
kui cuptutui uao tq eoou. H upikq tiq civui apouipctikq kui caioq aopci
vu aupuq0ci kui to ouoo iootqtu.
oaou property-string oqevci tic ioiotqtev aou cupoovtui oto uvtikcicvo.
Eivui apouipctiko (tu ukiotpu aupuciaovtui kui ocv ku0opiovtui ioiotqtc).
40
1vu ioioupuktqpiotiko aou uvqkci otqv kuoq aupouoiuctui c uaopuiocvo to
ovou kui tov tuao, oiuopctiku apokcitui iu ioioupuktqpiotiko aou uvucpctui oto
otiiotuao.
class-scope-attribute
7.7.3. Ei/oy dpouoidoq
O tuao tq ckpuoq aopci vu aupuq0ci, uv kui ouvcici vu cci tiq oto ovtco.
7.7.4. Hdpsiyd
+ size: Area = (100, 100)
#visibility: Boolean = invisible
+ default-size: Rectangle
# maximum-size: Rectangle
- xptr: XWindowPtr
7.8. Hpd(q - Operation
Oi kutuepqoci oto tqu apucev civui ouooocipc aou opiouv apuci aou
opiovtui oti kuoci kui c0ooou aou aupcouv oi kuoci.
7.8.1. Zqdoio/oyid
Miu apuq civui iu uaqpcoiu aou kucitui vu apuutoaoiqoci cvu otiiotuao iu
kuoq. 1ci cvu ovou kui iu iotu opioutev.
7.8.2. Zuo/io
Miu apuq aupouoiuctui e iu ouooocipu, tq oaoiu q c opioou ouvtuq civui:
visibility name (parameter-list) : return-type-expression { property-string }
Oaou visibility opictui oae iu tu ioioupuktqpiotiku.
Oaou name civui o apoooiopiotq tq apuq.
Oaou return-type-expression civui o ku0opioo tou q tev tuaev tev tiev aou
caiotpcci q apuq kui cuptutui uao tq eoou. Av q apuq ocv caiotpcci
kuaoiu tiq aupuciaovtui q uve-kute tcciu kui o tuao caiotpoq. Av
caiotpcovtui aouac tic aopci vu pqoioaoiq0ci iu iotu.
Oaou parameter-list civui iu iotu tuaikev aupuctpev oi oaoic epiovtui
ctuu tou c kou kui ku0c iu cci tq ouvtuq
kind name : type-expression = default-value
Oaou kind civui in, out q inout, c c opioou to in.
Oaou name civui to ovou tq tuaikq aupuctpou.
41
Oaou type-expression civui q (cuptecvq uao tq eoou) apooiupuq
tou tuaou uoaoiqoq.
Oaou default-value civui iu apouipctikq ckpuoq aou uvtiotoici oc
tiq iu tqv aupuctpo, kui q oaoiu ckpuctui kui uaokcitui otou
acpiopioou tq tcikq eoou.
Oaou property-string civui oae otqv acpiateoq tou ioioupuktqpiotikou.
Miu apuq aou cupoctui otqv kuoq aupouoiuctui uaopuiocvq, cve q c
opioou apuq oc otiiotuau ocv cci kuaoio cioiko oquoi. Miu apuq aou ocv
tpoaoaoici tqv kutuotuoq tou ouotquto ku0opictui uao tqv ioiotqtu {query},
oiuopctiku, q apuq aopci vu uuci tqv kutuotuoq tou ouotquto, uv kui ocv
civui uaupuitqto oti 0u to kuvci.
H oquoiooiu tuutopovioou iu apuq ku0opictui uao iu ouooocipu
ioiotqtev tq opq {concurrency = name}, oaou name civui cvu uao tu ukoou0u:
sequential, guarded q concurrent. Eaioq tu ovoutu aopouv vu pqoioaoiq0ouv ua
cu0ciu iu vu uaoociouv to kutuqo cioo tuutopovioou. Av ocv uaupci cvociq
q kutuotuoq tuutopovioou ocv civui ku0opiocvq kui apcaci vu 0cepcitui oti otq
cipotcpq acpiateoq civui ocipiukq.
H apetq cuvioq tq uaopuq iu apuq oqevci tqv apuq otq kuoq (kui tqv
kqpoootci oc oou tou uaoovou tq). Av q kuoq ocv uoaoici tqv apuq (oquoq
ocv aupcci tq c0ooo) totc q apuq oqcievctui e {abstract} q q uaopuq tq
apuq oqcievctui c auiu puutu iu vu oqeoci oti civui uqpqcvq. Miu
caocvq cuvioq tq uaopuq tq apuq (oc kuaoiu uiotucvq kuoq) epi tqv
ioiotqtu {abstract} oqevci oti q uiotucvq kuoq uoaoici tq c0ooo tq apuq.
To apuutiko kcicvo q o uopi0o tq apuq aopci vu aupouoiuctui oc iu
oqcieoq, apookoqcvq otqv kutuepqoq tq apuq.
Av tu uvtikcicvu iu kuoq uaoocovtui kui uvtiopouv oc kuaoio oqu, totc iu
kutuepqoq apuq c tq cq-kcioi signal oqevci oti q kuoq occtui to
oukckpicvo oqu. H ouvtuq civui q ioiu c iu apuq. H uvtiopuoq tou uvtikcicvou
otqv uaoooq tou oquto aupouoiuctui c iu quvq kutuotuocev. Avucou otu
uu, o ouoioo uuto aopci vu ocici tqv uvtiopuoq tev uvtikcicvev iu
kuoq oc kutuotuoci ouuto kui oc cuipcoci, oi oaoic apcaci vu
ovtcoaoiouvtui e oqutu.
O ku0opioo tq ouacpiopu iu apuq aupouoiuctui e oqcieoq aou
apookoutui otqv apuq. To kcicvo tou ku0opioou apcaci vu acpikcictui oc
ukiotpu uv apokcitui iu tuaiko ku0opioo oc kuaoiu eoou. Aiuopctiku apcaci vu
civui uao kcicvo uv apokcitui iu acpipuq tq ouacpiopu oc uoikq eoou.
Ltqv apetq acpiateoq apokcitui iu acpiopioo, cve otq ocutcpq iu ooio.
7.8.3. Ei/oy dpouoidoq
H iotu opioutev kui o tuao caiotpoq aopouv vu aupuq0ouv ui.
H ouvtuq iu tqv uaopuq tq apuq apcaci vu ukoou0ci to ouvtuktiko tq
eoou apopuutioou otqv oaoiu 0u ivci tciku uacikovioq tq apuq.
42
To oeu tq c0ooou aopci vu civui oc cvu oqcieu aou apookoutui otqv apuq
coe iu oiukckocvq puq, oae uivctui oto caocvo oqu. H apoocioq
uutq civui pqoiq iu vu aupouoiuovtui c0oooi c ikpu oeutu.

Lqo 16: Xqoq oqctexev oc c0ov
7.8.4. Hdpdsiydd
+ display () : Location
+ hide()
+ create()
- attachXWindow(xwin: Xwindow *)
7.9. dovsoq - Interface
7.9.1. Zqdoio/oyid
Miu oiuouvocoq ku0opici ti cetcpiku oputc apuci iu kuoq, iu ouvioteou
q cvo uou classifier (ouacpiuuvocvev tev uaoouotqutev) epi vu
ku0opictui q coetcpikq ooq. Ku0c oiuouvocoq ku0opici ouvu ovo cvu
acpiopiocvo cpo tq ouacpiopu tq apuutikq kuoq. Oi oiuouvococi ocv
couv uoaoiqoq, ioioupuktqpiotiku, kutuotuoci q ouoctioci, uu ovo apuci.
Hup ou uutu caitpcactui iu oiuouvocoq vu uaotcci to otoo iu ovoopoq
ouoctioq, uu ocv aopci vu cci iu ouoctioq coe tq oaoiu vu aopci vu
uaupci aoqqoq. Oi oiuouvococi aopouv vu couv ococi cvikcuoq. Tuaiku iu
oiuouvocoq civui iooouvuq c iu uqpqcvq kuoq epi ioioupuktqpiotiku kui
c0ooou, aupu ovo uqpqcvc apuci.
7.9.2. Zuo/io
Miu oiuouvocoq aupouoiuctui c cvu op0oevio c tqutu, oae kui oi kuoci, c
tq cq-kcioi interface. H iotu tev apucev aou uaootqpici q oiuouvocoq
aupouoiuctui oto uvtiotoio tqu. To tqu tev ioioupuktqpiotikev aupuciactui
iuti civui auvtu kcvo.
Miu oiuouvocoq aopci caioq vu aupouoiuotci e cvu ikpo kuko c to ovou tq
oiuouvocoq vu piokctui kute uao to ouoo. O kuko aopci vu civui
43
apookoqcvo coe iu puq otou classifiers aou uaootqpiouv tq oiuouvocoq.
Auto oqevci oti q kuoq aupcci oc ti apuci tq oiuouvocoq (kui ai0uvotutu kui
uc). Oi aupcocvc apuci ocv aupouoiuovtui otuv pqoioaoicitui o kuko. Miu
kuoq aou pqoioaoici q uauitci ti apuci aou aupcci iu oiuouvocoq aopci vu
apookoq0ci otov kuko coe iu oiukckocvq puq c co aou ocivci apo
tov kuko. H oiukckocvq puq c to co uaovoci oti q kuoq ocv uauitci tiaotu
acpioootcpo uao ti apuci aou ku0opiovtui uao tq oiuouvocoq, epi oe vu civui
uaopcecvq vu ti pqoioaoiqoci oc.
H ocoq Realization uao tov classifier apo tq oiuouvocoq aou uuto uaootqpici
aupouoiuctui c iu oiukckocvq puq c tpieviko cuto co (cvu
oiukckocvo ouoo cvikcuoq). Ltqv apuq, oaotc to ouoo uuto
pqoioaoicitui uvucou oc ouo ouou classifiers oqevci oti o cuaqpctoucvo
(uuto aou piokctui otqv oupu) uaootqpici touuiotov oc ti apuci aou
opiovtui otov aupocu (uuto aou piokctui otqv kcuq tou cou), uu ocv cci
kuiu uaopceoq vu uaootqpici ti ooc ocoocvev tou aupocu (ioioupuktqpiotiku
kui ouoctioci).
7.9.3. Hdpsiyd

Lqo 17: O ovoto o toovcoq oc cvo tyoo koq
7.10. Hdpdpsrponoqpvq kAdoq (Hpruno) - Parameterized Class
(Template)
7.10.1. Zqdoio/oyid
1vu apotuao civui cvu acpipucu iu iu kuoq c iu q acpioootcpc q
ococucvc tuaikc aupuctpou. Opici iu oikocvciu kuocev, ku0c iu uao ti
oaoic ku0opictui ouvocovtu ti aupuctpou oc apuutikc tic. Tuaiku, oi
aupuctpoi uvuaupiotouv tuaou ioioupuktqpiotikev, uv kui aopouv vu aupiotuvouv
caioq ukcpuiou, uou tuaou, q ukou kui apuci. Tu ioioupuktqpiotiku kui oi
apuci cou oc cvu apotuao opiovtui c uoq ti tuaikc aupuctpou, ouvcae kui
uutu ouvocovtui otuv to ioio to apotuao ouvoc0ci oti apuutikc tou tic.
44
1vu apotuao ocv civui iu ucou pqoioaoiqoiq kuoq iuti cci q ococucvc
aupuctpou. Oi aupuctpoi tou apcaci vu ouvoc0ouv c ti apuutikc tic iu vu
oqioupq0ci iu ouvococcvq opq tou aou uaotcci iu kuoq. Movo iu kuoq
aopci vu civui uacpkuoq q otoo iu ouoctioq. Hup ou uutu caitpcactui iu
ovoopoq ouoctioq oao cvu apotuao aoo iu uq kuoq. 1vu apotuao aopci vu
civui uaokuoq iu ouvq0iocvq kuoq. Auto uaooqevci oti oc oi kuoci aou 0u
aupu0ouv uao tq ouvocoq civui uaokuoci tq oukckpicvq uacpkuoq.
H aupuctpoaoiqoq aopci vu cupootci kui oc uu otoiciu ovtcoaoiqoq, oae
ouvcpuoic q ukou kui ookqpu aukctu. H acpipuq aou ivctui iu ti kuoci
iouci kui iu ti uaooiac acpiateoci.
7.10.2. Zuo/io
Ltqv auve ociu eviu tou op0oeviou aou uvuaupiotu tqv kuoq (q to oaoiooqaotc
otoicio ovtcoaoiqoq) toao0ctcitui cvu ikpo op0oevio c oiukckocvq puq.
To op0oevio c tq oiukckocvq puq acpicci iu iotu aupuctpev c ti tuaikc
aupuctpou iu tqv kuoq kui tou tuaou uoaoiqoq tq. H iotu ocv aopci vu
civui kcvq, uv kui aopci vu aupuq0ci iu oou aupouoiuoq. To ovou, tu
ioioupuktqpiotiku kui oi apuci tq aupuctpoaoiqcvq kuoq cuviovtui
kuvoviku oto op0oevio tq kuoq., oe aopouv vu acpicouv ti tuaikc
aupuctpou.
7.10.3. Ei/oy dpouoidoq
H iotu tev aupuctpev aopci citc vu pqoioaoici kou e oiuepiotiko citc vu
aupouoiuctui iu aupuctpo uvu puq. Oi aupuctpoi civui acpiopiocvu
ioioupuktqpiotiku c ouvtuq:
name : type = default-value
oaou name civui o apoooiopiotq tq tuaikq aupuctpou cou oto apotuao.
Oaou type civui o tuao tq aupuctpou.
Oaou default-value civui q c opioou tiq iu tqv aupuctpo, q oaoiu
pqoioaoicitui uv ocv uaupci ouvocoq iu tq oukckpicvq aupuctpo. Av ocv
uaupci c opioou tiq to ioov kui q tiq aupuciaovtui.
Av aupuq0ci o tuao, totc uaoti0ctui oti o tuao tq aupuctpou civui classifier kui
ouvcae apcaci vu aupuoc0ci tiq iu tov tuao uuto kutu tq ouvocoq. Oi uaooiaoi
tuaoi apcaci vu oqevovtui pqtu kui oi tic aou oivovtui kutu tq uoq tq ouvocoq
apcaci vu civui tou tuaou uutou.
45
7.10.4. Hdpsiyd

Lqo 18: Lvoto xov noxnov c qoq xq noocxov e ovoo.
7.11. MsrdkAdoq - Metaclass
7.11.1. Zqdoio/oyid
Miu ctukuoq civui iu kuoq tu otiiotuau tq oaoiu civui kuoci.
7.11.2. Zuo/io
Miu ctukuoq aupouoiuctui c to otcpcotuao metaclass e kuoq.
7.12. Zrspsruno - Stereotype
7.12.1. Zqdoio/oyid
1vu otcpcotuao civui cvu ctu-otoicio aou opictui uao to pqotq kui q ooq tou
oaoiou tuipiuci c uutq cvo uaupovto ctu-otoiciou tq UML.
7.12.2. Zuo/io
1vu otcpcotuao aupouoiuctui c to ouoioo cvo classifier (cvu op0oevio) c
pqoq tq cq-kcioiou stereotype. To ovou tou otcpcotuaou toao0ctcitui oto
auve tqu. Oi acpiopiooi otu otoiciu aou acpipuovtui uao to otcpcotuao
aopouv vu toao0ctq0ouv oc cvu tqu c to ovou Constraints. Tu uauitoucvu tags
toao0ctouvtui oc cvu tqu c to ovou Tags.
To uoiko otoicio aopci vu aupouoiuctui oc iu ioiotqtu e {baseElement = name}.
Maopci vu opiotci cikovioio iu to otcpcotuao, uu o puiko tou opioo civui ckto
UML kui ku0opictui uao to cpucio.
46
7.13. HpoonAdoq q sodymyq ndkrou
7.13.1. Zqdoio/oyid
1vu otoicio aopci vu uvucpctui oc cvu otoicio aou uvqkci oc uo aukcto. Lto
caiacoo tou aukctou, q cuptqoq access oqevci oti tu acpicocvu tou aukctou
otoou aopouv vu uvucp0ouv uao to cuaqpctoucvo aukcto q tu aukctu aou civui
uvuopoiku cvoeutecvu oc uuto. Oi uvuopc tou otoou apcaci vu couv
kutuqq oputotqtu iu tou uvucpocvou: oqooiu oputotqtu iu cvu uocto
aukcto, oqooiu q apootutcuocvq iu cvu aukcto uaoovo tou aukctou otoou q
oaoiuoqaotc oputotqtu iu cvu aukcto aou civui cv0cto oto aukcto otoo, oaotc kui
ocv civui uaupuitqtq q cuptqoq access. 1vu aukcto cv0cto oc cvu uo aou kuvci
tqv apooacuoq cci tu ioiu oikuieutu apooacuoq.
Lqcieotc oti iu cuptqoq apooacuoq ocv ctutpcaci to epo ovoutev tou
cuaqpctoucvou kui ocv oqioupci c kuvcvuv uov tpoao uutoutu uvuopc, uau
oivci tqv uociu iu vu oqioupq0ouv oi uvuopc. Lqcieotc caioq oti to cpucio
aopci vu oqioupci uutoutu cuptqoci apooacuoq uutoutu cooov civui
cai0uqto otuv o pqotq oqioupqoci iu uvuopu.
Miu cuptqoq cioueq (import) aupcci tqv uociu apooacuoq kui caioq optevci
tu ovoutu aou couv tqv kutuqq oputotqtu oto epo ovoutev tou otoou oto
aukcto aou to apooacuuvci, oquoq ocv pciuctui acov aqpc ovou iu vu ivci q
apooacuoq. Oe tu ovoutu uutu ocv cauvcuovtui uutoutu. Av uuci cvu
ovou q q oputotqtu tou apcaci vu cauvcu0ci.
7.13.2. Zuo/io
H cuptqoq apooacuoq aupouoiuctui c cvu co cuptqoq uao to uvucpocvo
(cuaqpctoucvo) aukcto apo to aukcto otoo (aupocu), to oaoio acpicci tov otoo
tev uvuopev. To co cci tq cq-kcioi otcpcotuaou access. H cuptqoq
oqevci oti otoiciu tou cuaqpctoucvou aukctou aopouv vu uvucp0ouv voiu otu
otoiciu aou piokovtui otov aupocu. Oi uvuopc apcaci caioq vu ikuvoaoiouv tou
acpiopioou oputotqtu aou ku0opiovtui uao tov aupocu. Lqcieotc caioq oti q
cuptqoq oc oqioupci uutoutu ti uvuopc, uau caitpcaci tq oqioupiu tou.
47
7.13.3. Hdpsiyd

Lqo 19: Exqoq nooncooq ovcoo oc nokcxo.
7.14. Avrkspsvo - Object
7.14.1. Zqdoio/oyid
1vu uvtikcicvo uvuaupiotu cvu oukckpicvo otiiotuao iu kuoq. 1ci oikq tou
tuutotqtu kui tic ioioupuktqpiotikev. Hupooio ouoioo pqoioaoicitui kui
iu tou poou oc ouvcpuoic ku0e oi pooi couv upuktqpiotiku otiiotuaev.
7.14.2. Zuo/io
O ouoioo tou uvtikcicvou apocpctui uao to ouoioo tq kuoq
uaopuiovtu tu otoiciu caiacoou otiiotuaou. 1vu uvtikcicvo aupouoiuctui c
cvu op0oevio c ouo tqutu. To auve tqu aupouoiuci to ovou tou uvtikcicvou
kui tqv kuoq tou, ou uaopuiocvu c pqoq tou ouvtuktikou:
objectname : classname
To classname aopci vu acpiuuvci aqpc ovou pqoioaoievtu kui to acpicov
aukcto, uv uuto civui uaupuitqto. Tu ovoutu tev aukctev apoqouvtui tou classname
kui epiovtui uao uuto c oiac uve-kute tccic. Iiu aupuociu:
display_window : WindowingSystem::GraphicWindows::Window
Ltqv auve ociu eviu aopci vu aupouoiuctui cvu otcpcotuao tq kuoq citc e
kcicvo (oc cqviku cioueiku auve uao to ovou) q c pqoq cikovioiou. To
otcpcotuao tou uvtikcicvou apcaci vu tuutictui c to otcpcotuao tq kuoq tou.
Iiu vu oci0ci oti to uvtikcicvo civui otiiotuao auve uao iu kuocev,
pqoioaoiouvtui koutu e oiuepiotc. Tu ovoutu tev kuocev apcaci vu civui
voiu iu aouaq kutqopioaoiqoq (oquoq caitpcactui ovo iu uoaoiqoiq
kuoq kui aou ovoutu tuaev).
Iiu vu aupouoiuotci oti to uvtikcicvo uaupci oc iu oukckpicvq kutuotuoq tq
kuoq pqoioaoicitui q ouvtuq:
objectname : classname '[' statename-list ']'
48
H iotu tev kutuotuocev apcaci vu epictui c kou kui oi kutuotuoci apcaci vu
aopouv vu uaupouv tuutopovu.
To ocutcpo tqu aupouoiuci tu ioioupuktqpiotiku tou uvtikcicvou kui ti tic
tou oc iu iotu. Ku0c puq tiq cci tq ouvtuq:
attributename : type = value
O tuao civui acovuotiko ku0e uaupci o opioo tou ioioupuktqpiotikou uao tqv
kuoq kui aopci vu aupuq0ci. H tiq ku0opictui e literal tiq. H UML ocv
ku0opici tq ouvtuq tq ckpuoq tq tiq, uu uvucvctui oti to cpucio 0u
ku0opioci aoiu ouvtuq 0u pqoioaoiq0ci uvuou c tq eoou apopuutioou.
7.14.3. Hdpsiyd

Lqo 20: Avxtkccvo
7.15. Zuoyroq - Association
Oi ouuoikc ouoctioci uvuaupiotevtui e puc aou ouvocouv ouo ouou
classifier. Oi puc aopouv vu couv iu ocipu uao upuktqpiotiku aou
apoooiopiouv ti ioiotqtc tou. Oi tpiuoikc kui uqotcpou u0ou ouoctioci
aupouoiuovtui c pqoq poev c tou oaoiou ouvocovtui coe puev tu
ouou kuocev.
7.16. udkq ouoyroq - Binary Association
7.16.1. Zqdoio/oyid
Miu ouuoikq ouoctioq civui iu ouoctioq uvucou oc ukpie ouo classifiers
(ouacpiuuvocvq kui tq ai0uvotqtu vu uaupci iu ouoctioq uao cvuv
classifier apo tov cuuto tou).
7.16.2. Zuo/io
Miu ouuoikq ouoctioq ocoiuctui c iu puq aou ouvocci tu ouo ouou
classifier. Ltqv acpiateoq aou ouvocctui c iu ouoctioq o ioio classifier, tu ouo
ukpu tq puq civui oiukpitu. H oiuopoq aopci vu uaotccitui uao cvu q
49
acpioootcpu cu0upuu tqutu. Tu tqutu ocv couv kuaoiu oquoiooiu, uau
pqoioaoiouvtui iu oou cuvioq.
Lc iu ouuoikq ocoq oae uvucp0qkc tu ouo ukpu aopouv vu ouvocovtui otov
ioio classifier. Oi ouvocooi iu tctoiu ouoctioq aopci vu ouvocouv ouo
oiuopctiku otiiotuau tou ioiou classifier q cvu otiiotuao c tov cuuto tou. H
ocutcpq acpiateoq aopci vu uauopcuctui coe acpiopioev. To tco iu
ouoctioq, oto oqcio aou ouvocctui c tov classifier ovouctui okoo oco,/:iop
(association end) kui oto oqcio uuto uaupci ouvq0e q aio cvoiucpouou aqpoopiu
octiku c tq ouoctioq.
H oiuopoq aopci caioq vu cci puiku ouou apookoqcvu oc uutq. Tu
ouou uutu oqevouv ioiotqtc ookqpq tq ouoctioq kui aopouv vu
toao0ctq0ouv oc oaoiooqaotc cu0upuo tqu tq oiuopoq, upkci vu ouvcioouv
vu civui apookoqcvu otq oiuopoq. Lc iu oiuopoq aopci vu uaupouv tu
ukoou0u ouou:
Ovoo ouotoq
Ku0opici to (apouipctiko) ovou tq ouoctioq. Hupouoiuctui e ouooocipu
kovtu otq oiuopoq, uu oi tooo kovtu eotc vu aopci vu uaupci ouuoq c cvu
ovou poou. H ouooocipu tou ovouto aopci apouipctiku vu cci cvu ikpo
cuto uupo tpievo, q kcuq tou oaoiou oqevci tqv kutcu0uvoq apo tqv oaoiu
apcaci vu oiuuotci to ovou. To ovou ui c tqv kutcu0uvoq tou ocv couv kuiu
oquoiooiu kui civui uau acpipuiku. Oi classifiers tq ouoctioq tuivoouvtui
oae ku0opici to co kutcu0uvoq. Huve q apiv to ovou tq ouoctioq aopci vu
toao0ctq0ci iu cq-kcioi otiiotuaou, cou oc cqviku cioueiku. Eaioq ctu
to ovou tq ouoctioq aopci vu toao0ctq0ci iu ouooocipu ioiotqtev.
ZoKo kKoq ouotoq
Ku0opici iu ouoctioq aou cci ioiotqtc tuaou kuoq, oae ioioupuktqpiotiku,
apuci kui uc ouoctioci. Yaupci totc kui ovo totc uv q ouoctioq civui iu
kuoq ouoctioq. Hupouoiuctui e ouoo kuoq aou apookoutui otq oiuopoq
ouoctioq coe iu oiukckocvq puq.
H oiuopoq ouoctioq kui to ouoo kuoq ouoctioq uvuaupiotouv to ioio
uaokcicvo otoicio ovtcoaoiqoq, c to ioio ovou. To ovou aopci vu toao0ctq0ci
otq oiuopoq, oto ouoo tq kuoq q kui otu ouo (uu apcaci vu civui to ioio).
Aoiku iu kuoq ouoctioq kui q ouoctioq civui q ioiu oquoiooikq ovtotqtu,
uu oiucpouv puiku.
7.16.3. Ei/oy dpouoidoq
Otuv ouo oiuopoc oiuotuupevovtui totc aopci vu pqoioaoiq0ci apouipctiku cvu
ikpo qikukio iu vu oqeoci oti ocv uaupci ouvocoq uvucou oti oiuopoc (oae
kui otu oiupuutu qcktpooikev kukeutev). Oi puc aopouv vu
ocoiuotouv c oaoiooqaotc tpoao kui uuto uaotcci caioq tou pqotq.
50
7.16.4. Ei/oy
Zuotoq onokKrotkq (ru{q - xor association
1vu acpiopioo uaokciotikq oiucuq oqevci iu kutuotuoq otqv oaoiu ovo iu
uao ti aoc ai0uvc ouoctioci aopci vu cci otiiotuau oc ku0c povikq otiq.
Auto aupouoiuctui c iu oiukckocvq puq q oaoiu ouvocci ouo q acpioootcpc
ouoctioci, aou oc apcaci vu couv cvuv koivo classifier, c tq ouooocipu
acpiopioou {xor} e ctikctu otq oiukckocvq puq. Ku0c otiiotuao tou
classifier aopci vu acpicci oc ku0c povikq otiq oc iu ovo uao ti ouoctioci.
Ku0c ovou poou apcaci vu civui oiuopctiko. Hpokcitui iu apoku0opiocvq pqoq
tou ouoioou tou acpiopioou.
7.16.5. Hdpsiyd

Lqo 21: Lvoto ovocxtoq.
7.17. Akpo ouoyroq - Association End
7.17.1. Zqdoio/oyid
1vu ukpo ouoctioq civui uau to oqcio aou q ouoctioq ouvocctui c tov classifier.
Aaotcci cpo tq ouoctioq kui oi tou classifier. Ku0c ouoctioq cci ouo q
acpioootcpu ukpu kui oc uutu apookoutui q aio oquvtikq aqpoopiu octiku c
tq ouoctioq. To ukpo tq ouoctioq ocv uaotcci cepioto otoicio, apokcitui uau
iu quviko cpo tq ouoctioq.
7.17.2. Zuo/io
H oiuopoq aopci vu cci puiku ouou oc ku0c ukpo aou ouvocctui c tou
classifiers. Tu ouou uutu uaooqevouv ioiotqtc aou octiovtui c tov classifier.
Tu ouou uaotcouv cpo tou ouoou tq ouoctioq kui oi uutou tou classifier.
Maopouv vu cuviovtui tu caocvu cioq ouoev:
51
HoKKonKtqto
Ku0opictui c kcicvo kui aopci vu aupuq0ci. Av to ovtco ocv civui aqpc totc
aopci vu qv civui ku0opiocvq.
To{vqoq
Av q aouaotqtu civui cuutcpq tq ovuou, totc to ouvoo tev octiocvev
otoiciev aopci vu civui q vu qv civui tuivoqcvo. Av ocv uaupci kuaoiu cvociq
totc civui q tuivoqcvo (tu otoiciu oqioupouv cvu ouvoo). Lto ukpo tq
ouoctioq aopouv vu ku0opiotouv oiuopu cioq tuivoqoq c opq acpiopioou.
O opioo ocv ku0opici ae 0u oqioupq0ci kui 0u ouvtqpq0ci q tuivoqoq. Oi
apuci aou 0u ciououv vcu otoiciu 0u apcaci vu povtiouv vu ku0opiouv tq 0coq
tou citc ccou (oae oto tco) citc pqtu. Hi0uvc tic tq tuivoqoq
acpiuuvouv:
unordered tu otoiciu oqioupouv cvu q tuivoqcvo ouvoo. Eivui q c
opioou ouacpiopu kui oc pciuctui vu oci0ci pqtu.
ordered tu otoiciu tou ouvoou couv iu tuivoqoq, uu ouvciouv vu
uauopcuovtui tu oiaotuau. Autq q cvikq apooiupuq kui acpiuuvci ou
tu cioq tuivoqoq. Auto aopci vu ku0opiotci uao to {ordered}.
Miu tuivoqcvq ocoq aopci vu uoaoiq0ci c oiuopou tpoaou, kui uuto civui
kuti aou ouvq0e ku0opictui e ioiotqtu tq cvvqtpiu keoiku tq oukckpicvq
uoaoiqoq. Miu cacktuoq uoaoiqoq aopci vu uvtikutuotqoci tq ooq ocoocvev
iu tq oiutqpqoq tev otoiciev. Lto caiacoo tq uoaoiqoq aopci vu ku0opiotci kui
to ukoou0o e ocoiuotikq uaouoq:
sorted tu otoiciu civui tuivoqcvu c uoq ti coetcpikc tou tic. O
apuutiko kuvovu tuivoqoq ku0opictui e cepioto acpiopioo.
QuaIifier
1vu qualifier civui apouipctiko, uu uv uaupci ocv aopci vu aupuq0ci.
HKoqyqoq
1vu co apookoqcvo oto ukpo tq oiuopoq iu vu oqeoci oti uaootqpictui
aoqqoq apo tqv kutcu0uvoq aou ocivci to co. Bcq aopouv vu uaupouv oc
ouo, iu q kui ti ouo ukpc tq oiuopoq. Iiu vu civui cvtce pqtq q oqeoq tu cq
aopouv vu aupouoiuovtui oaouoqaotc uaootqpictui aoqqoq apo tq oukckpicvq
kutcu0uvoq. Ltqv apuq civui ouvu oiko vu qv cuviovtui opiocvu uao tu cq
kui vu aupouoiuovtui ovo oi cioikc acpiateoci.
Tvr{q ouv0pooq
1vu kcvo poo oc cvu ukpo tq ouoctioq oqevci ouvu0poioq. O poo ocv
aopci vu uaupci kui otu ouo ukpu, uu aopci vu qv uaupci oc kuvcvu uao tu ouo.
Hpookoutui otqv kuoq aou apokcitui vu ouvu0poiotci. H ouvu0poioq civui
apouipctikq, uu uv iouci ocv aopci vu aupuq0ci.
52
Ovoo pKou
Eivui iu ouooocipu kovtu oto ukpo tq oiuopoq kui oqevci to poo aou auici
q kuoq aou civui apookoqcvq oto ukpo uuto. To ovou tou poou civui
apouipctiko uu uv uaupci ocv aopci vu aupuq0ci.
Hpooopotq oovroq
To ovou cvo classifier c tq ouvtuq:
':' classifiername ...
Aqevci tq ouacpiopu aou uvucvctui vu cci to octiocvo uvtikcicvo eotc vu
iouci q ouoctioq. Ltqv acpiateoq uutq o apuutiko classifier ouvq0e apoocpci
acpioootcpq citoupikotqtu uao uutq aou uauitcitui uao tq oukckpicvq ouoctioq
(ku0e aopci vu cci kui uc upooiotqtc).
H pqoq cvo ovouto poou kui cvo apoooiopiotq oiuouvocoq civui iooouvuq c
tq oqioupiu iu ikpq ouvcpuoiu aou acpiuuvci iu ouoctioq kui ouo
poou, q ooq tev oaoiev ku0opictui uao to ovou poou kui tov classifier aou civui
apookoqcvo otqv upikq ouoctioq. Luvcae, q upikq ouoctioq kui oi classifiers
civui iu pqoq tq ouvcpuoiu. O upiko classifier apcaci vu civui ouuto c tov
apoooiopiotq tq oiuouvocoq. Av aupuq0ci o apoooiopiotq oiuouvocoq, totc q
ouoctioq aopci vu pqoioaoiq0ci iu vu uaupci aqpq apoouoq otq
ouoctiocvq kuoq.
Auvottqto oKKoyq
Av oi ouvocooi aopouv vu uuouv (aopouv vu apootc0ouv, vu oiupuouv q vu
ctukivq0ouv) totc ocv uauitcitui kuaoiu cvociq. H ioiotqtu {frozen} oqevci oti ocv
aopouv vu apootc0ouv, oiupuouv q ctukivq0ouv ouvocooi uao to uvtikcicvo
(aou piokctui apo to tco tou ouoou) uao tq otiq aou to uvtikcicvo cci
oqioupq0ci kui upikoaoiq0ci. H ioiotqtu {addOnly} oqevci oti aopouv vu
apootc0ouv vcoi ouvocooi (c tqv apoao0coq oti q aouaotqtu civui ctuqtq),
uu ocv aopouv vu oiupuouv q vu ctukivq0ouv.
Opottqto
Ku0opictui uao tqv cvociq oputotqtu (+, -, # q pqtu to ovou tq ioiotqtu oae
{public}) apootu uao to ovou tou poou. Ku0opici tqv oputotqtu tq ouoctioq
otuv ivctui ctukivqoq apo tqv kutcu0uvoq tou oukckpicvou ovouto poou.
Maopouv vu oqe0ouv kui uc ioiotqtc iu tu ukpu tq ouoctioq uu ocv
uaupci puikq ouvtuq iu uutc. Iiu vu ku0opiotouv oi ioiotqtc uutc
pqoioaoicitui q ouvtuq tev acpiopioev kovtu oto ukpo tq ouoctioq.
7.17.3. Ei/oy dpouoidoq
Av uaupouv ouo q acpioootcpc ouvu0poioci apo to ioio ouvu0poiotq aopouv vu
ocoiuotouv e ocvopo aou oucci ou tu ukpu ouvu0poioq oc cvu kui ovo
cu0upuo tqu. Auto uauitci vu civui ouvcaq ctuu tou ou tu ouou aou
53
cuviovtui otu ukpu tev ouvu0poiocev. Hpokcitui iu ku0upu caioq aupouoiuoq
aou ocv cci kuiu uq oquoiooiu.
Yaupouv oiuopc caioc iu vu aupouoiuotouv tu cq aoqqoq oto oiupuu/
Maopouv vu uuouv uao kuipo oc kuipo, uvuou c ti uauitqoci tou pqotq, q vu
uuouv uao oiupuu oc oiupuu.
1
q
caioq aupouoiuoq: vu aupouoiuovtui ou tu cq. H cciq cvo cou
oqevci oti ocv uaootqpictui q aoqqoq.
2
q
caioq aupouoiuoq: vu aupuq0ouv ou tu cq. Acv aopci vu uaupci
kuvcvu ouacpuou octiku c tqv aoqqoq. Eivui aupooiu acpiateoq c
oaoiuoqaotc uq kutu tqv oaoiu aupuciactui q aqpoopiu uao tqv oq.
3
q
caioq aupouoiuoq: vu aupuq0ouv tu cq iu ti ouoctioci c
aoqqoq apo uotcpc ti kutcu0uvoci, vu aupouoiuovtui tu cq ovo iu
ti ovoopoc ouoctioci. Ltqv acpiateoq uutq, ocv aopci vu ivci
oiuepioo uvucou otqv uiopoq aoqqoq kui tqv cciq aoqqoq,
uu q ocutcpq acpiateoq civui kuvoviku oauviu q kui uvuaupktq otqv apuq.
Kui aui apokcitui iu cvu aupuociu kutu to oaoio aqpoopiu aupuciactui
uao tqv oq.
7.17.4. Hdpsiyd

Lqo 22: Atoo octo oc ov ovocxtoq.
7.18. HoAAdnArqrd - Multiplicity
7.18.1. Zqdoio/oyid
1vu otoicio aouaotqtu ku0opici to cupo tev caitpcatev aq0upi0ev aou
aopci vu cci to ouvoo. Oi ku0opiooi aouaotqtu aopouv vu oivovtui iu
poou cou oti ouoctioci, iu tqutu cou oc ouv0ctu uvtikcicvu, cauvuqci
kui iu uou okoaou. Ouoiuotiku cvu ku0opioo aouaotqtu civui cvu
uaoouvoo tou uvoiktou ouvoou tev q upvqtikev ukcpuiev.
7.18.2. Zuo/io
H aouaotqtu uvuaupiotutui c iu ouooocipu aou acpicci iu ocipu uao
oiuotqutu ukcpuiev tu oaoiu epiovtui ctuu tou c kou, oaou ku0c oiuotqu
uvuaupiotu cvu ai0uvu uacipo cupo ukcpuiev c tq opq:
lower-bound .. upper-bound
54
oaou lower-bound kui upper-bound civui ukcpuioi upi0oi aou ku0opiouv cvu kcioto
oiuotqu ukcpuiev. Eaiacov, aopci vu pqoioaoiq0ci o upuktqpu uotcpuki (*) iu
vu oqeoci to uve puu, oqevovtu oti ocv uaupci uve puu. Lc cvu
aupuctpoaoiqcvo auioio (oae cvu apotuao), tu opiu aopouv vu civui ckpuoci oi
oaoic 0u apcaci vu uaotiq0ouv apiv tqv apuutikq tou pqoq. Acv caitpcaovtui q
ococucvc ckpuoci oi oaoic vu qv uaotievtui oc literal tic ukcpuiev.
Av apoooiopictui iu ovo ukcpuiu tiq, totc to cupo tev ukcpuiev acpicci ukpie
uutq tqv tiq. Av o apoooiopioo tq aouaotqtu acpicci cvu ovo uotcpioko (*),
totc oqevci cvu uacpiopioto cupo q upvqtikev ukcpuiev kui civui iooouvuo c to
0..* (qocv q acpioootcpu). H aouaotqtu 0..0 ocv cci voqu, ku0e oqevci oti ocv
aopouv vu uaupouv otiiotuau. Maopouv vu pqoioaoiq0ouv iu tov ku0opioo
tq aouaotqtu kui ckpuoci oc kuaoiu eoou apooiupuev, upkci vu
uaotievtui oc otu0cpo cupo ukcpuiev tou ovtcou (oquoq uauopcuovtui
ouvuikc ckpuoci).
7.18.3. Hdpsiyd
0..1
1
0..*
*
1..*
1..6
1..3,7..10,15,19..*
7.19. Hpoooporq - Qualifier
7.19.1. Zqdoio/oyid
1vu apoooiopiotq civui cvu ioioupuktqpiotiko q iotu ioioupuktqpiotikev oi tic
tev oaoiev pqoioaoiouvtui iu vu oiuipc0ci to ouvoo tev ouvoev aou
ouoctiovtui c cvu otiiotuao coe tq ouoctioq. Oi apoooiopiotc civui
ioioupuktqpiotiku tq ouoctioq.
7.19.2. Zuo/io
1vu apoooiopiotq aupouoiuctui c cvu ikpo op0oevio aou apookoutui oto
ukpo tq oiuopoq ouoctioq uvucou oto tciko cu0upuo tqu kui to ouoo
tou classifier otov oaoio ouvocctui. To op0oevio tou apoooiopiotq uaotcci cpo tq
ouoctioq kui oi tou classifier. O apoooiopiotq civui apookoqcvo oto aquio
ukpo tq ouoctioq. 1vu otiiotuao tou aquiou classifier ui c iu tiq tou
apoooiopiotq caicouv ovuoiku iu uao ti oiucpioci tou ouvoou tev
otiiotuaev tou classifier otoou oto uo ukpo tq ouoctioq, oquoq ku0c otoo
uvqkci oc iu ovo oiucpioq.
55
H aouaotqtu aou civui apookoqcvq oto tciko ukpo oqevci tou ai0uvou
aq0upi0ou tou ouvoou tev tcikev otiiotuaev aou caicovtui uao to
ouvouuoo cvo aquiou otiiotuaou kui iu tiq tou apoooiopiotq. Oi ukoou0c
civui cpikc uao ti ouvq0iocvc tic:
0..1 (aopci vu caic0ci ovo iu tiq, uu ocv civui uaupuitqto oti ku0c
ai0uvo apoooiopiotq caicci iu tiq).
1 (ku0c ai0uvo apoooiopiotq caicci ukpie cvu otiiotuao, ouvcae to
acoio opioou tev apoooiopiotev apcaci vu civui acacpuocvo).
* (q tiq tou apoooiopiotq civui cvu ociktq aou oiucpici tu otiiotuau
otoou oc uaoouvou).
Tu ioioupuktqpiotiku tou apoooiopiotq ocoiuovtui cou oto auioio tou
apoooiopiotq. Maopci vu uaupouv cvu q acpioootcpu ioioupuktqpiotiku aou
aupouoiuovtui cvu oc ku0c puq. Tu ioioupuktqpiotiku tev apoooiopiotev couv
tov ioio ouoioo c tu ioioupuktqpiotiku tev classifiers, c ovq oiuopu oti ocv
cci voqu q uaupq upikq (c opioou) tiq.
Av kui civui oauvio, caitpcactui vu uaupci apoooiopiotq oc ku0c ukpo tq
ouoctioq.
7.19.3. Ei/oy dpouoidoq
O apoooiopiotq ocv aopci vu aupuq0ci ku0e aupcci ouoiuotikq aqpoopiu kui
q aupuciq tq 0u aopouoc vu uuci to upuktqpu tq ouoctioq. Yaupci q
ouvutotqtu cvu cpucio vu pqoioaoici aio catq puq iu tu op0oeviu tou
apoooiopiotq eotc vu oiuepiovtui uao uutu tev classifiers.
7.19.4. Hdpsiyd

Lqo 23: Hoototocvc ovocxoct
7.20. KAdoq ouoyroq - Association Class
7.20.1. Zqdoio/oyid
Miu kuoq ouoctioq civui iu ouoctioq q oaoiu cci caioq ioiotqtc kuoq (q iu
kuoq aou cci ioiotqtc ouoctioq). Akou kui uv ocoiuctui e iu ouoctioq kui
iu kuoq, apokcitui otqv apuq iu cvu ovo otoicio ovtcoaoiqoq.
56
7.20.2. Zuo/io
Miu kuoq ouoctioq aupouoiuctui e cvu ouoo kuoq (op0oevio) to oaoio
civui apookoqcvo coe iu oiukckocvq puq otq oiuopoq tq ouoctioq.
To ovou oto ouoo tq kuoq kui to ovou otq ouoctioq civui acovuovtu kui
apcaci vu civui tu ioiu. H oiuopoq tq ouoctioq aopci vu cci tu veotu ouou
oc ku0c cvu uao tu ukpu tq. To ouoo tq kuoq aopci vu cci tu ouvq0q
acpicocvu tou. Acv uaupouv ouou otq oiukckocvq puq.
7.20.3. Ei/oy dpouoidoq
To ouoo tq kuoq aopci vu aupuq0ci. Hupcci uiotucvq catocpciu q
aupuciq tq oaoiu ocv uuci tqv oq ocoq. H oiuopoq tq ouoctioq ocv
aopci vu aupuq0ci.
7.20.4. Hdpsiyd

Lqo 24: Koq ovocxtoq
7.21. N-kq ouoyroq - N-ary association
7.21.1. Zqdoio/oyid
Miu v-oikq ouoctioq civui iu ouoctioq uvucou oc tpci q acpioootcpou classifiers
(cvu classifier aopci vu cuvictui acpioootcpc uao iu opc). Ku0c otiiotuao
tq ouoctioq civui iu aciuou tiev uao tov uvtiotoio classifier. H ouuoikq
ouoctioq civui cioikq acpiateoq kui cci to oiko tq ouoioo.
Maopci vu opiotci aouaotqtu iu ti v-oikc ouoctioci, uu civui iotcpo
cuvq uao o,ti iu ti ouuoikc. H aouaotqtu oc cvu poo uvuaupiotu to ai0uvo
aq0o tev otiiotuaev tev aciuoev otq ouoctioq otuv oi uaooiac v-1 tic civui
otu0cpoaoiqcvc.
Miu v-oikq ouoctioq aopci vu ivctui ouvu0poioq oc oaoiooqaotc poo.
7.21.2. Zuo/io
Miu v-oikq ouoctioq aupouoiuctui e cvu cuo poo (to cc0o oivctui oc
ocoq c to ouoo tq ouvu0poioq) c iu oiuopoq uao to poo apo ku0c
ouctcouou kuoq. To ovou tq ouoctioq (cooov uaupci) aupouoiuctui kovtu
oto poo. Lc ku0c oiuopoq aopouv vu cuviovtui ouou octiku c tou
57
poou, oae ouuivci kui c ti ouuoikc ouoctioci. Maopci vu aupouoiuctui q
aouaotqtu, uu ocv caitpcaovtui q ouvu0poioq kui oi apoooiopiotc. To ouoo
iu kuoq ouoctioq aopci vu apookoq0ci oto poo coe iu oiukckocvq
puq. Auto oqevci oti q v-oikq ouoctioq cci ioioupuktqpiotiku, apuci q/kui
ouoctioci.
7.21.3. Hdpsiyd

Lqo 25: Ttotkq ovocxtoq c qoq ovocxtoq koq.
7.22. Zv0soq - Composition
7.22.1. Zqdoio/oyid
H ouv0coq civui iu opq ouvu0poioq c ioupq ioioktqoiu kui tuutopovo povo
eq uvucou otu cpq kui to oo. H aouaotqtu oto ukpo tq ouvu0poioq ocv
aopci vu civui auve uao 1 ku0e tu cpq ocv civui oiuoipuoiu. Tu cpq iu
ouv0coq aopouv vu acpiuuvouv kuoci kui ouoctioci (oi oaoic aopouv
cooov civui uvukuio vu couv ctutpuaci oc ouoctioci kuocev). H oquoiu iu
ouoctioq kutu tq ouv0coq civui oti ku0c aciuou uvtikcicvev aou ouvocovtui c
cvuv uao ouvocoo apcaci vu uvqkouv oto ioio acpicov uvtikcicvo.
7.22.2. Zuo/io
H ouv0coq aopci vu aupouoiuotci e cvu cuto poo e ouoo oto ukpo tq
ouoctioq. Evuuktiku, q UML aupcci tq ouvutotqtu tq puikq cv0coq q oaoiu
civui aoc opc aio oikq iu vu aupouoiuctui q ouv0coq. Ltqv acpiateoq uutq tu
ouou tev cpev aupouoiuovtui cou oto ouoo tou ouv0ctou otoiciou. 1vu
cv0cto otoicio c opq kuoq aopci vu cci aouaotqtu cou oto ouv0cto
otoicio tou q oaoiu aupouoiuctui otqv auve ociu eviu tou cv0ctou ouoou. Av
ocv aupouoiuctui cvociq aouaotqtu, totc q c opioou aouaotqtu civui
aou. 1vu cv0cto otoicio aopci vu cci cvu ovou poou cou otq ouv0coq, to oaoio
aupouoiuctui apootu uao tov tuao tou c tq ouvtuq:
rolename ':' classname
58
Evuuktiku, q ouv0coq aopci vu aupouoiuotci oae uvucp0qkc c pqoq cvo
cutou poou oto ukpo tq ouoctioq aou apookoutui oto oov. H aouaotqtu
uvuaupiotutui c to ouvq0q tpoao. Lqcieotc oti tu ioioupuktqpiotiku civui otqv
apuq ococi ouv0coq uvucou oc cvuv classifier kui tou classifiers tev
ioioupuktqpiotikev tou.
Miu ouoctioq aou ocoiuctui c ookqpou cou otu opiu cvo ouv0ctou 0cepcitui
oti uaotcci cpo tq ouv0coq. Oaoiuoqaotc otiiotuau piokovtui oc uao
ouvocoo apcaci vu apocpovtui uao to ioio ouv0cto uvtikcicvo. Miu ouoctioq aou
ocoiuctui eotc q oiuopoq tq vu uivci ckto tou opiou tq ouv0coq, 0cepcitui oti
ocv uaotcci cpo tq ouv0coq. Tu otiiotuau oc cvu uao ouvocoo aopci vu civui
uao to ioio q oiuopctiku ouv0ctu uvtikcicvu.
Lqcieotc oti o ouoioo iu tq ouv0coq oiuci c to ouoioo iu ouvcpuoiu.
Miu ouv0coq aopci vu 0cepq0ci e ouvcpuoiu otqv oaoiu ooi oi ouctcovtc civui
cpq cvo ovuoikou ouv0ctou uvtikcicvou.
Lqcieotc caioq oti o cv0cto ouoioo ocv civui o kutuqo tpoao iu vu
oqe0ci iu kuoq cou oc iu uq kuoq. Miu kuoq aou oqevctui kut uuto tov
tpoao ocv civui cvu ooiko cpo tq acpikciouou kuoq, uau q acpioq tq
uvuopu tq piokctui cou oto epo ovoutev tq acpikciouou kuoq, kuti aou
citoupci ouv aukcto iu tqv coetcpikq kuoq. Miu tctoiu cvoeuteoq c uoq tqv
acpioq uvuopu tev ovoutev aopci vu aupouoiuotci toao0ctevtu cvu ouoo
aukctou otqv auve ociu eviu oto ouoo tq kuoq.
59
7.22.3. Hdpsiyd

Lqo 26: Atoocxtko xnot noovoooq xq ov0coq.
7.23. Zvsopo - Link
7.23.1. Zqdoio/oyid
Miu ouvocoq civui iu aciuou (iotu) uvuopev oc uvtikcicvu. Hio ouvu civui cvu
cuo uvuopev oc uvtikcicvu. Hpokcitui iu otiiotuao tq ouoctioq.
7.23.2. Zuo/io
1vu ouuoiko ouvocoo aupouoiuctui e iu oiuopoq uvucou oc ouo otiiotuau.
Ltqv acpiateoq aou o ouvocoo civui uao cvu otiiotuao apo tov cuuto tou, totc
aopci vu acpiuuvci cvu poo c cvu ovo otiiotuao. Lto ku0c ukpo tou
ouvocoou aopci vu uaupci to ovou cvo poou. To ovou iu ouoctioq aopci
vu aupouoiuctui kovtu otq oiuopoq kui uv uaupci civui uaopuiocvo iu vu
oqeoci otiiotuao. Oi ouvocooi ocv couv ovoutu otiiotuaev kui uuvouv tqv
tuutotqtu tou uao tu otiiotuau aou octiouv. H aouaotqtu ocv aupouoiuctui
iu tou ouvocoou, ku0e apokcitui iu otiiotuau. Maopouv caioq vu
aupouoiuovtui kui tu uaooiau ouou tev ouoctiocev (ouvu0poioq, ouv0coq,
aoqqoq) otu ukpu tev ouvocoev.
Lc cvu ouvocoo aopci vu uaupci apoooiopiotq. Lto auioio tou apoooiopiotq
aopci vu aupouoiuctui q tiq tou.
60
7.23.3. Zspsud u/ooiqoq
1vu otcpcotuao aopci vu civui apookoqcvo oc cvu ukpo ouvocoou iu vu oqeoci
oiuopctiku cioq uoaoiqoq. Maopouv vu pqoioaoiq0ouv tu ukoou0u otcpcotuau:
association Luoctioq (c opioou, oc pciuctui vu oqe0ci, aupu ovo iu
oou cuoq)
parameter Hupuctpo c0ooou
local Toaikq ctuqtq oc c0ooo
global Ku0oikq ctuqtq
self Luvocoo c tov cuuto tou (q ouvutotqtu cvo otiiotuaou vu
otcvci qvuu otov cuuto tou)
7.23.4. N-ik ovsoo
1vu v-oiko ouvocoo aupouoiuctui e poo c iu oiuopoq apo ku0c
ouctcov otiiotuao. Lc o,ti uopu tu uaooiau ouou iu tq ouoctioq kui tu
ukpu tq ouoctioq, uaupouv oi ioic ai0uvotqtc auve oc ouuoikou ouvocoou.
7.23.5. Hdpsiyd

Lqo 27: Lvcoot
7.24. Fsvksuoq - Generalisation
7.24.1. Zqdoio/oyid
H cvikcuoq civui iu ocoq kutqopioaoiqoq uvucou oc cvu aio cviko otoicio (to
ovcu) kui cvu aoio ccioikcucvo otoicio (to tckvo) aou civui aqpe ouvcac c to
apeto otoicio kui otq ouvcciu apoo0ctci vcu aqpoopiu. Xpqoioaoicitui oc
kuoci, aukctu, acpiateoci pqoq kui uu otoiciu.
7.24.2. Zuo/io
H cvikcuoq aupouoiuctui e iu oiuopoq uao to tckvo (to aio ccioikcucvo
otoicio, oae q uaokuoq) oc cvu ovcu (to aio cviko otoicio, oae q uacpkuoq),
c cvu cuo kcvo tpievo oto ukpo tq oiuopoq, oto oqcio aou ouvuvtu to aio
cviko otoicio.
61
Miu oiuopoq cvikcuoq aopci vu cci iu ctikctu, q oaoiu cctui discriminator, c
to ovou tq oiucpioq tev tckvev oto ovcu. To tckvo oqevctui vu uvqkci otq
oukckpicvq oiucpioq. H cciq tq ctikctu oqevci tov kcvo discriminator, q
oaoiu civui q c opioou tiq.
H cvikcuoq aopci vu cupootci oc ouoctioci uu kui oc kuoci, uv kui o
ouoioo aopci vu civui acpoccvo, oe tev aoev puev. Miu ouoctioq
aopci vu aupouoiuotci e kuoq ouoctioq iu vu civui ouvuto vu toao0ctq0ci oc iu
cvikcuoq.
H uaupq caiacov tckvev oc cvu ovtco, tu oaoiu ocv aupouoiuovtui oto
oukckpicvo oiupuu aopci vu aupouoiuo0ci c tpci tccic (...) otq 0coq tou
tckvou. Lqcieotc oti uuto oc oqevci oti aopci vu apootc0ouv tckvu oto cov.
Aqevci oti uaupouv tepu caiacov tckvu, uu uau ocv aupouoiuovtui. Hpokcitui
iu ouuoq ouoioou iu vu aupouoiuotci oti uaupci aqpoopiu q oaoiu cci
aupuq0ci kui ocv apokcitui iu oquoiooikq oqeoq.
Yaupouv apoku0opiocvoi acpiopiooi iu vu oqe0ouv oi oquoiooikoi
acpiopiooi uvucou otu tckvu. Aivctui q ouvutotqtu vu toao0ctq0ci iu iotu
acpiopioev, oi oaoioi piokovtui cou oc ukiotpu kui epiovtui uao kou, citc
oiau oto koivo tpievo (uv aoc oiuopoc oipuovtui cvu tpievo) q kovtu oc iu
puq uao oqciu aou oiuotuupevctui c oc ti puc cvikcuoq ti oaoic
uopu. Avucou oc uu aopouv vu pqoioaoiq0ouv oi ukoou0oi apoku0opiocvoi
acpiopiooi:
overlapping 1vu otoicio aopci vu cci ouo q acpioootcpu tckvu tou ouvoou e
apoovou. 1vu otiiotuao aopci vu ucou q ccou otiiotuao ouo
q acpioootcpev tckvev.
disjoint Acv uaupouv otoiciu aou vu couv ouo tckvu e apoovou. Acv
uaupci otiiotuao aou vu civui ucoo q ccoo otiiotuao ouo q
acpioootcpev tckvev.
complete Ou tu tckvu couv qoq ku0opiotci (citc aupouoiuovtui citc oi). Acv
uvucvctui vu uaupouv caiacov tckvu.
incomplete 1ouv ku0opiotci opiocvu uao tu tckvu, kui civui veoto oti q iotu
tou ocv civui aqpq. Yaupouv caiacov auioiu aou ocv couv ukou
toao0ctq0ci oto ovtco. Hpokcitui iu oqeoq aou uopu to ioio to
ovtco. Lqcieotc oti ocv civui to ioio c tqv uaupq tev tpiev
tcciev, q oaoiu oqevci oti tu auioiu uaupouv oto ovtco uu ocv
cuviovtui oto tpcov oiupuu.
O discriminator apcaci vu civui ovuoiko uvucou otu ioioupuktqpiotiku kui tou
poou ouoctioq tou oukckpicvou ovcu. Eaitpcaovtui aouac cuvioci tou
ioiou ovouto discriminator kui oqevouv oti tu tckvu uvqkouv otqv ioiu oiucpioq.
H pqoq aouaq kutqopioaoiqoq q ouvuikq kutqopioaoiqoq caqpcuci tq
ouvuikq cktccoq tq oquoiooiu tq eoou, uu ouvq0e ocv civui cuvc
uao to otutiko ovtco.
62
7.24.3. Ei/oy dpouoidoq
Miu ouou oiuopoev cvikcuoq uao cvu oukckpicvo ovcu aopci vu aupouoiuotci
e cvu ocvopo c koivo
7.25. E(dprqoq - Dependency
7.25.1. Zqdoio/oyid
Miu cuptqoq oqevci iu oquoiooikq ouoctioq uvucou oc ouo otoiciu
ovtcoaoiqoq (q ouo ouvou otoiciev ovtcoaoiqoq). Lctici tu ioiu tu otoiciu
ovtcoaoiqoq kui ocv uauitci cvu ouvoo otiiotuaev. Aqevci iu kutuotuoq kutu
tqv oaoiu iu uuq oto otoicio otoo aopci vu uauitci iu uuq oto aquio
otoicio tq cuptqoq.
7.25.2. Zuo/io
Miu cuptqoq aupouoiuctui e iu oiukckocvq puq c co uvucou oc ouo
otoiciu ovtcoaoiqoq. To otoicio ovtcoaoiqoq aou piokctui otqv oupu tou
cou (o cuaqpctoucvo) cuptutui uao to otoicio ovtcoaoiqoq otqv kcuq
tou cou (o aupocu). To co aopci vu cci ctikctu c apouipctiko otcpcotuao
kui cvu apouipctiko ovou.
Eivui ai0uvo o cuaqpctoucvo q o aupocu vu civui cvu ouvoo otoiciev. Ltqv
acpiateoq uutq, iu q acpioootcpc puc c cq, oi oupc tev oaoiev piokovtui
otov q tou cuaqpctoucvou cvevovtui oc cvu oqcio c iu q acpioootcpc puc
c cq, oi kcuc tev oaoiev piokovtui otov q tou aupoci. Lto oqcio toq
aopci vu uaupci iu ikpq tcciu. Av uaupci oqcieoq octiku c tqv cuptqoq 0u
apcaci vu toao0ctq0ci oto oqcio toq.
Tu ukoou0u cioq cuptqoq civui apoku0opiocvu kui aopouv vu oqe0ouv c pqoq
ccev kcioiev. Lqcieotc oti opiocvc uao uutc uvtiotoiouv oc apuutikc
kuoci tou ctuovtcou kui uc oc otcpcotuau kuocev tou ctuovtcou. Oc
cuviovtui e oiukckocvc puc c cq kui c cci-kcioiu cou oc cqviku
cioueiku.
Acq kct Hctyoq
access H uociu cvu aukcto vu aopci vu uvucpctui otu oqooiu otoiciu aou
uvqkouv oc cvu uo aukcto (uaokcicvo otqv kutuqq oputotqtu).
bind Miu ouvocoq tev aupuctpev cvo apotuaou oc apuutikc tic iu
vu oqioupq0ci cvu q aupuctpoaoiqcvo otoicio.
derive Miu uaooioiq ocoq uvucou oc otoiciu.
import H uociu vu uvucpctui cvu aukcto otu oqooiu otoiciu cvo uou,
ku0e caioq vu apoo0ctci tu ovoutu tev oqooiev otoiciev tou
aukctou aupocu oto cuaqpctoucvo aukcto.
refine Miu iotopikq ouvocoq uvucou oc ouo otoiciu uvucou otu oaoiu
uaupci iu (cote kui oi aqpq) uacikovioq. Ltqv cuptqoq aopci vu
63
Acq kct Hctyoq
uaupci iu oqcieoq aou vu acpipuci tqv uacikovioq. 1ouv
apotu0ci oiuopu cioq ckcatuvoq kui aopouv vu oqcie0ouv c
caiacov pqoq otcpcotuaev.
trace Miu iotopikq ouvocoq uvucou oc ouo otoiciu tu oaoiu uvuaupiotouv
tqv ioiu cvvoiu oc oiuopctiku caiacou oquoiu.
use Miu kutuotuoq kutu tqv oaoiu cvu otoicio uauitci tqv aupouoiu cvo
uou otoiciou iu tqv op0q uoaoiqoq q citoupiu tou. Maopci vu
cci caiacov otcpcotuau iu vu oqe0ci q ukpiq uoq tq cuptqoq,
oae kqoq iu apuq uao uq kuoq, otqv oaoiu oivci uociu
apooacuoq, q uaupq otiiotuaou cvo uvtikcicvou uq kuoq,
ka.
7.25.3. Ei/oy dpouoidoq
Lqcieoq: H ouvocoq uvucou oc cvu oqcieu q cvuv acpiopioo kui to otoicio
aupouoiuctui c pqoq oiukckocvq puq epi co. Acv apokcitui iu ocoq
cuptqoq.
7.25.4. Hdpsiyd

Lqo 28: Atoc coxqoct ovcoo oc koct.
64

Lqo 29: Eoxqoct ovcoo oc nokcxo.
8. Aypoo nrpntmormv pqoq - Use Case Diagram
1vu oiupuu acpiateocev pqoq aupouoiuci tq ocoq uvucou otou actors kui ti
acpiateoci pqoq cvo ouotquto.
8.1. dypdppd nspnr6osmv ypqoq - Use Case Diagram
8.1.1. Zqdoio/oyid
Tu oiupuutu acpiateocev pqoq aupouoiuouv tou actors kui ti acpiateoci
pqoq cvo ouotquto ui c ti ococi ctuu tou. Oi acpiateoci pqoq
uvuaupiotouv citoupikotqtu cvo ouotquto q cvo classifier, oae cvu uaoouotqu
q iu kuoq, oae aupouoiuctui oc ooou uqcaiopouv c to ouotqu q tov
classifier, cve piokovtui ckto tou.
8.1.2. Zuo/io
1vu oiupuu acpiateocev pqoq civui cvu puo uao actors, cvu ouvoo
acpiateocev pqoq, ai0uve opiocvc oiuouvococi kui ti ococi uvucou oc uutu
tu otoiciu. Oi ococi civui ouoctioci uvucou otou actors kui ti acpiateoci
pqoq, cvikcuoci uvucou oc actors kui cvikcuoci, cacktuoci (extends) kui
acpiqci (includes) uvucou oc acpiateoci pqoq. Oi acpiateoci pqoq
apouipctiku aopouv vu acpikciovtui oc cvu op0oevio, to oaoio uvuaupiotu tu opiu
tou acpicovto ouotquto q tou classifier.
65
8.1.3. Hdpsiyd

Lqo 30: Atyoo nctnxeocev qoq.
8.2. Hspnrmoq ypqoq - Use Case
8.2.1. Zqdoio/oyid
Miu acoia:cop ,opop (use case) civui cvu cioo classifier aou uvuaupiotu iu ouvcaq
ovuou citoupikotqtu aou aupcctui uao to ouotqu, cvu uaoouotqu, q iu kuoq,
oae aupouoiuctui uao ukoou0ic qvuutev aou uvtuuooovtui uvucou oto
ouotqu kui cvuv q acpioootcpou cetcpikou pqotc (oi oaoioi ovouovtui actors)
ui c ti apuci aou 0u apuutoaoiq0ouv uao to ouotqu.
1vu opncio ca/k:oop (extension point) civui iu uvuopu oc iu acpioq cou otqv
acpiateoq pqoq otqv oaoiu aopouv vu ciou0ouv ukoou0ic apucev uao uc
acpiateoci pqoq. Ku0c oqcio cacktuoq cci cvu ovuoiko ovou cou otqv
acpiateoq pqoq kui iu acpipuq tq acpioq cou otq ouacpiopu tq
acpiateoq pqoq.
8.2.2. Zuo/io
Miu acpiateoq pqoq aupouoiuctui c iu cciq q oaoiu acpicci to ovou tq
acpiateoq pqoq. Huve uao to ovou aopci vu toao0ctq0ci iu apouipctikq cq
kcioi otcpcotuaou, cve kute uao to ovou ouacpiuuvctui iu iotu ioiotqtev. O
classifier, q acpiateoq pqoq aopci vu cci caioq tqutu aou aupouoiuouv
ioioupuktqpiotiku kui apuci.
Tu oqciu cacktuoq aopouv vu aupouoiuovtui oc cvu tqu tq acpiateoq pqoq
c tqv caikcuiou extension points. H acpipuq tq acpioq tou oqciou cacktuoq
aupouoiuctui otqv kutuqq opq, ouvq0e e uao kcicvo, uu aopci caioq
vu aupouoiuotci c uc opc, oae to ovou iu kutuotuoq oc iu quvq
kutuotuoq q c iu pre-condition q post-condition.
H ouacpiopu iu acpiateoq pqoq aopci vu acpipuci c upkctou
oiuopctikou tpoaou, uvuou c to ti ocuci: ouvu pqoioaoicitui uao kcicvo,
66
cve uoi tpoaoi iu acpipuq tq ouacpiopu tq acpiateoq pqoq civui oi
quvc kutuotuoq, oi apuci kui oi c0oooi.
8.2.3. Ei/oy dpouoidoq
To ovou tq acpiateoq pqoq aopci vu toao0ctq0ci kute uao tqv cciq. To
ovou iu uqpqcvq acpiateoq pqoq 0u aupouoiuotci c auiu puutu. H
cciq aopci vu acpicci q vu aupucici tu tqutu aou uvuaupiotouv
ioioupuktqpiotiku, apuci kui tu oqciu cacktuoq tq acpiateoq pqoq.
8.3. Actor
8.3.1. Zqdoio/oyid
1vu actor opici cvu ouvcac ouvoo poev tou oaoiou aopouv vu auiouv oi
pqotc iu ovtotqtu otuv uutoi uqcaiopouv c tqv ovtotqtu. 1vu actor aopci
vu 0cepq0ci oti auici cvu cepioto poo oc ocoq c ku0c acpiateoq pqoq c tqv
oaoiu caikoivevci.
8.3.2. Zuo/io
To kuoiko cikovioio otcpcotuaou iu cvuv actor civui cvu oqu aou ocivci cvu
uv0peauki c to ovou tou actor kute uao to oqu. O actor aopci ukou vu
uvuaupuotu0ci e cvu op0oevio kuoq, c tq cq kcioi actor kui to ouvq0q
ouoioo iu tu tqutu.
8.4. Zyos nspnr6osmv ypqoq - Use Case Relationships
8.4.1. Zqdoio/oyid
Yaupouv upkctc apotuac ococi uvucou oti acpiateoci pqoq q uvucou oc
actors kui oc acpiateoci pqoq:
Luoctioq (association) H ouctoq cvo actor oc iu acpiateoq pqoq,
oquoq tu otiiotuau tou actor kui tu otiiotuau tq acpiateoq pqoq
caikoivevouv ctuu tou. Eivui q ovq ocoq uvucou oc actors kui oc
acpiateoci pqoq.
Eacktuoq (extend) Miu ocoq cacktuoq uao tqv acpiateoq pqoq A otqv
acpiateoq pqoq B oqevci oti cvu otiiotuao tq acpiateoq pqoq B
aopci vu uuq0ci (uaokcicvq oti oukckpicvc ouv0qkc aou ku0opiovtui
uao tqv cacktuoq) uao tq ouacpiopu aou ku0opictui uao tqv A. H
ouacpiopu ciouctui otq 0coq aou ku0opictui uao to oqcio cacktuoq otq
B, oto oaoio uvucpctui uao tq ocoq extend.
Icvikcuoq (generalization) - Miu cvikcuoq uao tqv acpiateoq pqoq A otqv
acpiateoq pqoq B oqevci oti q A civui iu ccioikcuoq tq B.
Luacpiqq (include) Miu ocoq ouacpiqq uao tqv acpiateoq pqoq A
otqv acpiateoq pqoq B oqevci oti cvu otiiotuao tq acpiateoq pqoq A
67
0u acpicci caioq tq ouacpiopu aou ku0opici q B. H ouacpiopu
acpiuuvctui otq 0coq aou ku0opici q A.
8.4.2. Zuo/io
Miu ouoctioq uvucou oc cvuv actor kui iu acpiateoq pqoq aupouoiuctui e iu
puq uvucou oc cvuv actor kui iu acpiateoq pqoq. Maopci vu cci otu ukpu
ouou oae aouaotqtu.
Miu ocoq cacktuoq uvucou oc acpiateoci pqoq aupouoiuctui c iu
oiukckocvq puq c co c uvoiktq kcuq, uao tqv acpiateoq pqoq aou
aupcci tqv cacktuoq otq uoikq acpiateoq pqoq. To co cci ctikctu c tq cq
kcioi extend. H ouv0qkq tq ocoq aupouoiuctui apouipctiku kovtu otq cq
kcioi.
Miu ocoq ouacpiqq uvucou oc ouo acpiateoci pqoq aupouoiuctui c iu
puq c oiukckocvo co c uvoiktq kcuq uao tq uoikq acpiateoq pqoq
otq ouacpiuuvocvq. To co cci ctikctu c tq cq kcioi include.
Miu cvikcuoq uvucou oc ouo acpiateoci pqoq aupouoiuctui c cvu co
cvikcuoq, oquoq iu puq c cvu kcioto, uocio co aou ocivci otq ovikq
acpiateoq pqoq.
H ocoq uvucou oc iu acpiateoq pqoq kui ti ukoou0ic cetcpikq
uqcaiopuoq opictui ouvq0e c cvuv uoputo uacpouvocoo apo cvu oiupuu
ukoou0iu. H ocoq uvucou oc iu acpiateoq pqoq kui tqv uoaoiqoq tq aopci
vu aupouoiuotci c ococi ckcatuvoq apo ti ouvcpuoic, uu aopci caioq vu
opiotci kui c uoputou uacpouvocoou.
8.4.3. Hdpsiyd

Lqo 31: Lcoct ovcoo oc nctnxeoct qoq.
8.5. Zyos psrd( actor - Actor Relationships
8.5.1. Zqdoio/oyid
Yaupci iu ocoq uvucou oc actors kui iu ocoq uvucou actors kui acpiateoci
pqoq:
68
Luoctioq (association) H ouctoq cvo actor oc iu acpiateoq pqoq,
oquoq otiiotuau tou actor kui tq acpiateoq pqoq caikoivevouv ctuu
tou. Autq civui q ovq ocoq uvucou actors kui acpiateoci pqoq.
Icvikcuoq (generalization) H cvikcuoq uao cvuv actor A oc cvuv actor B
oqevci oti cvu otiiotuao tou A aopci vu caikoivevqoci c tu ioiu
otiiotuau acpiateocev pqoq oae cvu otiiotuao tou B.
8.5.2. Zuo/io
Miu ouoctioq uvucou oc cvuv actor kui iu acpiateoq pqoq aupouoiuctui e iu
puq uao tov actor apo tqv acpiateoq pqoq.
Miu cvikcuoq uvucou oc ouo actors aupouoiuctui c cvu co cvikcuoq, oquoq
iu puq c cvu kcioto, uocio co. H kcuq tou cou ocivci otov aio cviko
actor.
8.5.3. Hdpsiyd

Lqo 32: Lcoct cxo actors.
9. Aoypoto okoKou0o - Sequence Diagrams
9.1. Eq dypdppdrmv dAAqAsnpdoq
1vu ocoio uqcaiopuoq uvucou oc otiiotuau aupouoiuctui c pqoq cvo
oiupuuto uqcaiopuoq. Tu oiupuutu uqcaiopuoq couv ouo opc iu
tqv ioiu uoikq aqpoopiu q oaoiu ku0opictui uao tqv uqcaiopuoq, uu ku0c
opq oivci cuoq oc iu oukckpicvq oq tq uqcaiopuoq. Oi ouo opc civui:
tu oioyoonno:o okooc0io (sequence diagrams) kui tu oioyoonno:o ocvcoyooio
(collaboration diagrams). Tu oiupuutu ukoou0iu aupouoiuouv tq pqtq ukoou0iu
tev cpc0iou kui civui kuutcpu iu apooiupuc apuutikou povou kui ouv0ctu
ocvupiu. Tu oiupuutu ouvcpuoiu aupouoiuouv ti ococi uvucou otu
otiiotuau kui civui kuutcpu iu tqv kutuvoqoq oev tev caiateocev oc cvu
oukckpicvo otiiotuao kui iu oiuoikuotiko ocoiuoo. Tu oiupuutu
ouvcpuoiu 0u aupouoiuotouv otq ouvcciu.
1vu oioyoonno okooc0io aupouoiuci tqv uqcaiopuoq oae uutq aupouoiuctui
oc povikc ukoou0ic. Lukckpicvu, aupouoiuci tu otiiotuau aou ouctcouv
69
otqv uqcaiopuoq c ti puc eq tou kui tu cpc0ioutu aou uvtuuooouv
toao0ctqcvu otq povikq ukoou0iu. Acv aupouoiuci ti ouoctioci uvucou otu
uvtikcicvu.
Tu oiupuutu ukoou0iu couv io oiuopctikc opc uvuou c tou
oiuopctikou okoaou, oae vu oivctui cuoq otov cco cktccoq, otq
ouvopoikotqtu ka. 1vu oiupuu cktccoq aopci vu uaupci oc cvikq opq
(aou acpipuci oc ti ai0uvc ukoou0ic) kui oc opq otiiotuaou (aou
acpipuci iu oukckpicvq ukoou0iu ouvcaq c tq cvikq opq). Lc acpiateoci
epi poou q oiukuoeoci oi ouo opc civui iooopc.
Ltq ouvcciu 0u pqoioaoicitui o opo ov:ikcincvo, uu aopci vu pqoioaoiq0ci
oaoiooqaotc otiiotuao.
9.2. dypdppd dkoAou0d - Sequence Diagram
9.2.1. Zqdoio/oyid
1vu oiupuu ukoou0iu uvuaupiotu tqv uqcaiopuoq, oquoq iu ocipu uao
qvuutu uvucou oc classifiers cou oc iu ouvcpuoiu eotc vu apuutoaoiq0ci iu
cai0uqtq apuq q uaotccou.
9.2.2. Zuo/io
1vu oiupuu ukoou0iu cci ouo oiuotuoci: 1) tqv ku0ctq oiuotuoq aou
uvuaupiotu to povo kui 2) tqv opiovtiu oiuotuoq aou uvuaupiotu tu oiuopu
uvtikcicvu. Kuvoviku o povo apoepu apo tu kute. Av civui cai0uqto oi
oiuotuoci aopouv vu uuouv 0coq. Luvq0e cci oquoiu ovo q ukoou0iu tou
povou, uu oc cupoc apuutikou povou o uovu tou povou aopci vu civui
oaoiooqaotc ctpo. Acv uaupci kuiu oquoiu otqv tuivoqoq tev uvtikcicvev
otov opiovtio uovu. Tu uvtikcicvu aopouv vu ouooaoiq0ouv oc swimlanes oc
cvu oiupuu.
9.2.3. Ei/oy dpouoidoq
H opiovtiu tuivoqoq tev puev eq civui tuuiu. Luvu tu cq kqocev
toao0ctouvtui ctoi eotc vu aquivouv apo iu kutcu0uvoq oc oq tq ociou, oe ocv
civui uuto auvtu cikto kui q ocipu tev uvtikcicvev oc oivci kuiu aqpoopiu.
Oi uovc aopouv vu uuouv 0coq, oaotc o povo 0u apoepuci opiovtiu apo tu
ociu kui tu oiuopu uvtikcicvu 0u aupouoiuovtui e opiovtic puc.
Oi oiuopc ctikctc (oae povikoi acpiopiooi, oi acpipuc tev opuotqpiotqtev
kutu tqv cvcpoaoiqoq tou, ka) aopouv vu aupouoiuotouv citc oto acpi0epio q
kovtu oti ctuuoci kui ti cvcpoaoiqoci aou oqcievouv.
Oi povikoi acpiopiooi aopouv vu ckpuotouv c povikc ckpuoci oc ovoutu
qvuutev. Oi ouvuptqoci sendTime (o povo kutu tov oaoio uacotuq to qvuu
uao kuaoio uvtikcicvo) kui receiveTime (o povo kutu tov oaoio q0qkc to qvuu
uao to uvtikcicvo) aopouv vu cupootouv oc ovoutu qvuutev iu vu q0ci
cvu povo. To ouvoo tev ouvuptqocev tev povev civui uvoikto, ouvcae oi
70
pqotc aopouv vu uvukuuouv vcc oae ti pciuovtui iu cioikc acpiateoci q
iu oiuepioou uoaoiqoq (oae elapsedTime, executionStartTime, queuedTime,
handledTime).
Tu oquoiu ooqoq, oae uutu cuviovtui otu ocoiu aopouv vu pqoioaoiq0ouv
iu vu oqeoouv to poviko oiuotqu kutu to oaoio cupoctui o acpiopioo. O
ouoioo uuto civui oatiku ckuotiko, uu oqioupci uoucic uv q puq tev
qvuutev civui opiovtiu, cacioq ocv aopci vu ivci oiukpioq uvucou oto povo
uaootoq kui to povo qq. Lc aoc acpiateoci o povo ctuoooq aopci vu
uvoq0ci, ouvcae q uouciu oc oqioupci apoqu, uu cvu cpucio 0u apcaci vu
uacikovioci cvuv aupooio ouoioo epi uouciu oc iu ckpuoq otu ovoutu
qvuutev apiv toao0ctq0ci q aqpoopiu oto oquoiooiko ovtco.
9.2.4. Hdpsiyd

Lqo 33: An toyoxo okoov0o c xovxovo ovxtkccvo.
71

Lqo 34: Atyoo okoov0o c coxooq oxov ccyo, xq ovv0qkq, xqv
ovooq, xq qtovyo kot xqv koxooxoq.
9.3. Fpdppq (mq dvrkspvou - Object Lifeline
9.3.1. Zqdoio/oyid
Lc cvu oiupuu ukoou0iu q puq eq uvtikcicvou oqevci cvu uvtikcicvo aou
auici cvu oukckpicvo poo. Tu cq uvucou oti puc eq oqevouv
caikoiveviu uvucou otu uvtikcicvu aou auiouv uutou tou poou. Mcou oc cvu
oiupuu ukoou0iu aupouoiuovtui q uaupq kui q oiupkciu cvo uvtikcicvou oc
cvu poo, uu oi oi ococi uvucou otu uvtikcicvu.
9.3.2. Zuo/io
1vu uvtikcicvo uvuaupiotutui c iu oiukckocvq ku0ctq puq aou ovouctui
puq eq (lifeline). H puq eq aupiotuvci tqv uaupq tou uvtikcicvou oc cvu
oukckpicvo povo. Av to uvtikcicvo oqioupcitui q kutuotpcctui otq povikq
acpiooo aou uvuaupiotu to oiupuu, totc q puq eq tou ckivu q otuutu oto
kutuqo oqcio, oiuopctiku aquivci uao tqv kopuq apo to tco tou
oiupuuto. To ouoo tou uvtikcicvou ocoiuctui otqv kopuq tq puq
uvtikcicvou. Av to uvtikcicvo oqioupcitui kutu tq oiupkciu tou oiupuuto, totc
to co aou uacikovici to cpc0iou aou oqioupci to uvtikcicvo, ocoiuctui c tqv
kcuq tou auve oto ouoo tou uvtikcicvou. Av to uvtikcicvo kutuotpcctui kutu
tq oiupkciu tou oiupuuto, totc q kutuotpoq oqcievctui c cvu cuo X, citc
otqv uacikovioq tou cou oto cpc0iou aou apokuci tqv kutuotpoq citc (otqv
acpiateoq uutokutuotpoq) oto tciko co caiotpoq uao to kutcotpucvo
uvtikcicvo. 1vu uvtikcicvo aou uaupci otuv ckivu q ooooqiu aupouoiuctui otqv
72
kopuq tou oiupuuto (auve uao to apeto co), cve cvu uvtikcicvo aou uaupci
otuv qci q ooooqiu q puq eq tou ouvcici ctu to tciko co.
H puq eq aopci vu oiuepiotci oc ouo q acpioootcpc ouvtpcouoc puc
eq iu vu ociouv uaupq ouv0qkq. Ku0c cepiotq puq uvtiotoici oc cvu
kuoo ouv0qkq otqv caikoiveviu. Lc caocvo oqcio oi puc eq aopouv vu
uvucvevovtui.
9.4. Evspyonoqoq - Activation
9.4.1. Zqdoio/oyid
Miu cvcpoaoiqoq (cotiuoq otov cco) aupouoiuci tq povikq acpiooo kutu tqv
oaoiu to uvtikcicvo apuutoaoiouoc, citc ucou citc coe iu uiotucvq
oiuoikuoiu, iu opuotqpiotqtu. Avuaupiotu tooo tq oiupkciu ooo kui tqv
apuutoaoiqoq iu opuotqpiotqtu oto povo kui tq ocoq ccou uvucou otqv
cvcpoaoiqoq kui tou kuouvtc (auioio otoiu).
9.4.2. Zuo/io
Miu cvcpoaoiqoq uvuaupiotutui e cvu qo cato op0oevio q kopuq tou oaoiou
cu0upuictui c to povo ckkivqoq kui to kute cpo tou cu0upuictui c to
povo ookqpeoq. H opuotqpiotqtu aou apuutoaoicitui aopci vu cci ctikctu
oiau oto ouoo cvcpoaoiqoq q oto upiotcpo acpi0epio, uvuou c to otu.
Evuuktiku, to ciocpocvo co aopci vu oqevci tq opuotqpiotqtu, otqv oaoiu
acpiateoq uutq aopci vu aupuq0ci uao tqv cvcpoaoiqoq. Lc oiuoikuotikq poq
ccou, to auve cpo tou ouoou cvcpoaoiqoq piokctui otqv ukpq tou
ciocpocvou cou (ckcivou aou ckivu tq opuotqpiotqtu) kui q uoq tou ouoou
piokctui otqv oupu tou caiotpcovto cou.
Ltqv acpiateoq tuutopovev uvtikcicvev oaou ku0c cvu cci to oiko tou vqu
ccou, iu cvcpoaoiqoq oqevci tq oiupkciu kutu tqv oaoiu ku0c uvtikcicvo
apuutoaoici iu apuq. Oi apuci tev uev uvtikcicvev ocv couv oquoiu. Av
ocv cci oquoiu q oiukpioq uvucou oc ucoo kui ccoo uaooioo (c pqoq
cv0ctq oiuoikuoiu), totc oq q puq eq aopci vu civui iu cvcpoaoiqoq.
Ltqv acpiateoq oiuoikuotikou keoiku, iu cvcpoaoiqoq ocivci tq oiupkciu kutu tqv
oaoiu q oiuoikuoiu civui cvcpq oto uvtikcicvo q q uiotucvq oiuoikuoiu civui
cvcpq, ai0uve oc kuaoio uo uvtikcicvo. Mc uu oiu, oc oi cvcpoaoiqoci
tev cvcpev cv0ctev oiuoikuoiev civui oputc tq ocoocvq povikq otiq. Ltqv
acpiateoq uvuopoikq kqoq oc cvu uvtikcicvo c iu uaupouou cvcpoaoiqoq, to
ocutcpo ouoo cvcpoaoiqoq ocoiuctui io apo tu ociu tou apetou, eotc vu
uivctui oti otoiuovtui oatiku.
73
9.5. Mqvpdrd kd sps0opdrd - Message and Stimulus
9.5.1. Zqdoio/oyid
1vu cpc0iou civui iu caikoiveviu uvucou oc ouo uvtikcicvu q oaoiu ctucpci
aqpoopiu uvucvovtu oti 0u ouci kuaoiu opuotqpiotqtu. 1vu cpc0iou 0u
apokucoci tqv kqoq iu apuq, 0u apokucoci cvu oqu q 0u oqioupqoci q 0u
kutuotpcci cvu uvtikcicvo.
1vu qvuu civui iu apooiupuq cpc0iouto, oquoq ku0opici tou poou otou
oaoiou apcaci vu uauovtui o uaootocu kui o ocktq, ku0e kui ti opuoci aou 0u
cktccotouv.
9.5.2. Zuo/io
Ltu oiupuutu ukoou0iu to cpc0iou aupouoiuctui e cvu opiovtio cuto co
uao tq puq eq cvo uvtikcicvou otq puq eq cvo uou uvtikcicvou. Ltqv
acpiateoq cpc0iouto uao cvu uvtikcicvo apo tov cuuto tou, to uvtikcicvo aopci
vu ckivu kui vu kutuqci otqv ioiu puq eq uvtikcicvou. To co cci ctikctu
c to ovou tou cpc0iouto (apuq q oqu) kui ti tic q ti ckpuoci aou
uvtiotoiouv otu opioutu tou.
To co aopci caioq vu cci ctikctu c cvuv upi0o ukoou0iu iu vu ocici tqv
ukoou0iu tou cpc0iouto otqv oq uqcaiopuoq. Oe oi upi0oi ukoou0iu
ouvu aupuciaovtui otu oiupuutu ukoou0iu, ku0e q uoikq 0coq tev cev
aupouoiuci ti octikc ukoou0ic, uu civui uaupuitqtoi otu oiupuutu
ouvcpuoiu. Oi upi0oi ukoou0iu civui pqoioi kui otu ouo oiupuutu iu vu
oqevouv tuutopovu vqutu ccou. Eaioq cvu cpc0iou aopci vu cci ctikctu aou
vu oqevci cvuv uuku (guard).
9.5.3. Ei/oy dpouoidoq
Oi ukoou0c caioc iu tqv kcuq tou cou caicovtui iu vu ociouv
oiuopctiko cioo caikoiveviu
Frtq kroKq Kou
Hpokcitui iu kqoq oiuoikuoiu q uq cv0ctq poq ccou. Hpcaci vu ookqpe0ci
ookqpq q cv0ctq ukoou0iu apiv ouvcioci to cetcpiko caiacoo ukoou0iu. Maopci
vu pqoioaoiq0ci iu ouvq0ci kqoci oiuoikuoiev. Maopci caioq vu pqoioaoiq0ci
c tuutopovu cvcpu uvtikcicvu otuv cvu uao uutu otcvci cvu oqu kui acpicvci vu
ookqpe0ci iu cv0ctq ukoou0iu ouacpiopev.
AnKq kroKq Kou
Aaq poq ccou. Ku0c co ocivci tqv apoooo oto caocvo qu tq ukoou0iu.
Kuvoviku ou tu qvuutu civui uoupovu.
74
Moq kroKq Kou
1vu uoupovo cpc0iou. Xpqoioaoicitui uvti tq uaq kcuq iu vu oqeoci
uoupovq caikoiveviu uvucou oc ouo uvtikcicvu oc oiuoikuotikq ukoou0iu.
Aokrkovq ypoq r onKq kroKq Kou
Eaiotpoq iu kqoq oiuoikuoiu.
HopoKKoy
Hooooyp: Lc oiuoikuotikq poq ccou, to co caiotpoq aopci vu aupuq0ci
(cvvocitui oto tco tq cvcpoaoiqoq). Yaoti0ctui oti ku0c kqoq caiotpcci. H tiq
caiotpoq aopci vu aupouoiuctui oto upiko co. Iiu q oiuoikuotikq poq
ccou (ouacpiuuvocvq tq aupuqq caccpuoiu kui tev uoupovev
qvuutev) q caiotpoq apcaci vu aupouoiuctui pqtu.
Hooooyp: Lc tuutopovu ouotqutu, iu cutq kcuq cou oqevci oti uaupci
uvuovq, cve q ioq kcuq cou oqevci oti ocv uaupci uvuovq.
Hooooyp: Kuvoviku tu cq qvuutev ocoiuovtui opiovtiu. Auto oqevci oti q
oiupkciu aou uauitcitui iu vu otuci to cpc0iou civui utoikq, oquoq aou ouvtoq
oc ocoq c tqv uqcaiopuoq kui tiaotu uo ocv aopci vu ouci kutu tq
ctuoooq tou cpc0iouto. Lc aoou uaooiotc q uao0coq uutq civui op0q. Av to
cpc0iou uauitci kuaoio povo iu vu ui0ci, kutu tq oiupkciu tou oaoiou aopci vu
ouci kuti uo (oae cvu cpc0iou uao tqv uvti0ctq kutcu0uvoq), totc to co
aopci vu ocivci apo tu kute eotc q kcuq tou cou vu civui aio kute uao tqv
oupu tou.
Hooooyp: oiokoocop: iu oiukuoeoq aupouoiuctui c aou cq aou uqvouv
cvu koivo oqcio, c ku0c co vu cci iu ctikctu c iu ouv0qkq uuku. Avuou
c to uv oi ouv0qkc civui uoiuiu uaokciocvc, q ooq aopci vu uvuaupiotu uao
ouv0qkq kivqoq q tuutopovioo.
Hooooyp: Eaovop,p: 1vu ouvococcvo ouvoo cev aopci vu acpikcictui kui vu
oqcie0ci e cauvuqq. Iiu cvu cviko oiupuu ukoou0iu, q cauvuqq oqevci
oti q cuvioq tou ouvoou tev cpc0ioutev aopci vu ouci aoc opc. Iiu iu
oiuoikuoiu, q ouv0qkq ouvcioq tq cauvuqq aopci vu ku0opiotci oto tco tq
cauvuqq. Av uaupci tuutopovioo, totc opiocvu cq oto oiupuu aopci vu
civui cpo tq cauvuqq, cve uu vu couv ovuoikq cktccoq. Eivui cai0uqto vu
civui ctoi ocoiuocvo to oiupuu eotc tu cq otqv cauvuqq vu aopouv vu
ouooaoiq0ouv cukou ui.
Hooooyp: Miu puq eq aopci vu acpiuuvci cvu ookqpo ouvoo
uvtikcicvev oc cvu oiupuu aou uvuaupiotu iu oq uqou caiacoou.
Hooooyp: Maopci vu ivci cvu oiuepioo uvucou otqv acpiooo kutu tqv oaoiu
cvu uvtikcicvo cci iu cvcpq cvcpoaoiqoq kui tqv acpiooo kutu tqv oaoiu q
cvcpoaoiqoq kuvci ovte uaooioou. H apetq (kutu tq oiupkciu tq oaoiu cci
aqpoopiu ccou otq otoiu, uu o cco piokctui oc kuti aou kucoc)
75
aupouoiuctui c tq ouvq0iocvq oiaq puq. H ocutcpq (kutu tqv oaoiu civui to
auve uvtikcicvo otq otoiu) aopci vu oiukpi0ci okiuovtu tqv acpioq.
9.6. Xpvo psrddoq - Transition times
9.6.1. Zqdoio/oyid
1vu qvuu aopci vu ku0opioci upkctou oiuopctikou povou, a.. povo
uaootoq kui povo qq. Autu civui tuaiku ovoutu kui aopouv vu
pqoioaoiq0ouv oc ckpuoci acpiopioev. To ouvoo tev oiuopev cioev povev
civui uvoikto kui oi pqotc aopouv vu apoo0coouv vcu, oae tu pciuovtui iu
cioikc acpiateoci oae elapsedTime kui startExecutionTime. Oi ckpuoci uutc
aopouv vu pqoioaoiq0ouv oc acpiopioou iu vu ku0opioouv cioikou povikou
acpiopioou aou civui ckupoi iu to qvuu.
9.6.2. Zuo/io
1vu otiiotuao ctuuoq (oae cvu cpc0iou oc cvu oiupuu ukoou0iu, cvu
oiupuu ouvcpuoiu q iu ctuuoq oc iu quvq kutuotuocev) aopci vu cci
cvu ovou. 1vu poviko acpiopioo oqioupcitui e iu ckpuoq aou uoictui oto
ovou tq ctuuoq. Iiu aupuociu, uv to ovou cvo cpc0iouto civui stim, o
povo uaootoq tou ckpuctui c to stim.sendTime() kui o povo qq tou c
stim.receiveTime(). O poviko acpiopioo aopci vu aupouoiuctui oto upiotcpo
acpi0epio, cu0upuiocvo c to co (oc cvu oiupuu ukoou0iu) q kovtu otqv
oupu tou cou (oc cvu oiupuu ouvcpuoiu). Oi acpiopiooi aopouv vu
ku0opiovtui c pqoq oikev ckpuocev, oi oaoic ai0uvu acpiuuvouv povikc
ckpuoci, oc ukiotpu otu oiupuutu ukoou0iu.
9.6.3. Ei/oy dpouoidoq
Eivui cku0upo uao to acpicocvo oti to ovou tou qvuuto kui to ovou tou
cpc0iouto aopouv vu pqoioaoiq0ouv iu vu oqeoouv to povo aou ckivqoc q
ctuuoq. Lc acpiateoci aou q ctuuoq ocv civui otiiuiu, o povo kutu tov oaoio
qci q ctuuoq aopci vu uaoocikvuctui c to ioio ovou kui cvu tovo oto tco.
10. Aoypoto ouvrpyooo - CoIIaboration Diagrams
1vu oiupuu ouvcpuoiu aopci vu cuviotci oc ouo oiuopctikc opc: citc oto
caiacoo aoooioyoocv (to oiupuu aupouoiuci poou classifier, poou
ouoctiocev kui qvuutu) citc oto caiacoo o:iynio:acv (to oiupuu aupouoiuci
uvtikcicvu, ouvocoou kui cpc0ioutu). To apeto aupouoiuci tou poou kui tq
ooq tou oae uutoi opiovtui otqv uaokcicvq ouvcpuoiu, cve to ocutcpo cotiuci
otu otiiotuau aou uaukououv otou poou tq ouvcpuoiu.
Ltq ouvcciu c tov opo ov:ikcincvo cvvocitui ku0c cioo otiiotuaou.
76
10.1. Zuvspydod - Collaboration
10.1.1. Zqdoio/oyid
H ouacpiopu uoaoicitui c cvu ouvoo uvtikcicvev aou uvtuuooouv cpc0ioutu
oc iu aqpq uqcaiopuoq iu vu caituouv cvu okoao. Iiu vu ivouv kutuvoqtoi oi
quviooi aou pqoioaoiouvtui oto ocoiuoo civui oquvtiko vu aupouoiuotouv
ovo ckcivu tu uvtikcicvu kui q uqcaiopuoq tou aou couv vu kuvouv c tqv
ikuvoaoiqoq tou otoou q cvo octiocvou ouvoou otoev, oae couv apoq0ci
uao to cuutcpo ouotqu oto oaoio uvqkouv iu uou otoou. Miu tctoiu otutikq
ooq ovouctui ocvcoyooio (collaboration).
Miu ouvcpuoiu opici cvu ouvoo ouctcovtev kui ococev aou couv voqu iu to
oukckpicvo ouvoo otoev. O apoooiopioo tev ouctcovtev kui tev ococev
tou ocv cci ku0oikq cvvoiu. Oi ouctcovtu opiouv tou poou aou auiouv tu
uvtikcicvu otuv uqcaiopouv ctuu tou. Luvcae, iu ouvcpuoiu ku0opici cvu
ouvoo poev classifier kui poev ouoctiocev. Tu uvtikcicvu aou ikuvoaoiouv (q
ouvocovtui) c tou poou classifier auiouv tou poou aou uutoi ku0opiouv, cve oi
ouvocooi uvucou otu uvtikcicvu 0u apcaci vu ikuvoaoiouv tou poou ouoctioq
tq ouvcpuoiu. 1vu poo classifier (poo ouoctioq) opici iu pqoq tou
uvtikcicvou (ouvocoou), cve iu kuoq (ouoctioq) ku0opici oc ti ioiotqtc tou
uvtikcicvou (ouvocoou).
Lto auioio iu ouvcpuoiu opictui iu uqcaiopuoq. Ku0opici tu patterns
caikoiveviu uvucou otou poou. Hio oukckpicvu, acpicci cvu ouvoo cpiku
tuivoqcvev qvuutev, ku0c cvu uao tu oaoiu ku0opici iu caikoiveviu, a.. aoio
oqu 0u otuci q aoiu apuq 0u cvcpoaoiq0ci, ku0e kui tou poou aou 0u apcaci vu
auiouv o uaootocu kui o aupuqatq, uvtiotoiu.
Miu ouvcpuoiu aopci vu civui apookoqcvq oc iu apuq q oc cvuv classifier, oae
iu acpiateoq pqoq, iu vu acpipuci to auioio cou oto oaoio aopci vu uci
epu q ouacpiopu tou, oquoq aoiou poou auiouv tu uvtikcicvu iu vu
apuutoaoiqoouv tq ouacpiopu aou ku0opictui uao tqv apuq q tqv acpiateoq
pqoq. Oi uqcaiopuoci aou opiovtui otq ouvcpuoiu ku0opiouv tu patterns
caikoiveviu uvucou otu uvtikcicvu otuv apuutoaoiouv tq ouacpiopu aou
ku0opictui uao tqv apuq q tqv acpiateoq pqoq. Tu patterns uutu aupouoiuovtui
oc oiupuutu ukoou0iu kui oiupuutu ouvcpuoiu. H ouvcpuoiu aopci caioq
vu civui apookoqcvq oc iu kuoq iu vu opioci tq otutikq ooq tq kuoq,
oquoq ae ouvcpuovtui ctuu tou tu ioioupuktqpiotiku, oi aupuctpoi ka.
Miu ouvcpuoiu aopci vu ckpuotci oc oiuopctiku caiacou oiukpitotqtu. Miu
ouvcpuoiu c uqo u0o oiukpitotqtu aopci vu ckcatuv0ci eotc vu
oqioupqoci iu vcu ouvcpuoiu c uqotcpo u0o oiukpitotqtu.
10.1.2. Zuo/io
H acpipuq tq ouacpiopu acpiuuvci ouo oci: 1) tq ooikq acpipuq tev
ouctcovtev kui 2) tqv acpipuq tev patterns caikoiveviu. Oi ouo uaoci
acpipuovtui ouvu ui oc cvu oiupuu, uu opiocvc opc civui pqoio vu
acpipuouv q ooikq kui q uqcaiopuotikq uaoq cepiotu. H ooq tev
77
uvtikcicvev aou auiouv kuaoiou poou oc iu ouacpiopu kui oi ococi tou
ovouovtui ocvcoyooio. 1vu oiupuu ouvcpuoiu aupouoiuci to auioio cou oto
oaoio uuvci epu q ouvcpuoiu. Oi ukoou0ic tev cpc0ioutev aou
uvtuuooovtui uvucou otu uvtikcicvu iu vu caitcu0ci o oukckpicvo okoao
ovouctui opcaioooop. Miu ouvcpuoiu aupouoiuctui uao to oiupuu
ouvcpuoiu to oaoio ocv acpicci caikoiveviu. Hpoo0ctovtu caikoiveviu oto
oiupuu, cuvictui auve otq ouvcpuoiu otqv oaoiu opictui q uqcaiopuoq, q
ioiu q uqcaiopuoq. Ltqv ioiu ouvcpuoiu aopouv vu cupootouv oiuopctiku
ouvou caikoiveviev iu vu apokuouv oiuopctikc uqcaiopuoci. H caikoiveviu
aopci vu cuviotci oc ouo oiuopctiku caiacou: oto caiacoo o:iynio:aoc q oto
caiacoo aoooioyoocv. 1vu oiupuu oto caiacoo otiiotuaou aupouoiuci
uvtikcicvu kui ouvocoou ui c tu cpc0ioutu aou uvtuuooovtui uvucou otu
uvtikcicvu, cve cvu oiupuu oc caiacoo apooiupuev aupouoiuci tou poou
classifier, poou ouoctiocev kui qvuutu. Tu otoiciu ovtcoaoiqoq oto
oiupuu caiacoou otiiotuaou civui ouutu c tu otoiciu ovtcoaoiqoq oto
oiupuu caiacoou apooiupuev.
10.2. dypdppd ouvspydod - Collaboration Diagram
10.2.1. Zqdoio/oyid
1vu oiupuu ouvcpuoiu aupouoiuci iu ouvcpuoiu, q oaoiu acpicci cvu ouvoo
poev aou 0u auiouv tu uvtikcicvu, ku0e kui ti uauitoucvc ococi iu cvu
ocoocvo auioio. To oiupuu aopci caioq vu aupouoiuci iu uqcaiopuoq aou
opici cvu ouvoo qvuutev aou ku0opiouv tqv uqcaiopuoq uvucou otu
uvtikcicvu aou auiouv tou poou cou otq ouvcpuoiu, eotc vu caitcu0ci to
cai0uqto uaotccou.
H ouvcpuoiu pqoioaoicitui iu vu acpipuci tqv apuutoaoiqoq iu apuq q
cvo classifier. Miu ouvcpuoiu aou acpipuci cvuv classifier, a.. iu acpiateoq
pqoq, uvucpctui cviku oc classifiers q ouoctioci, cve iu ouvcpuoiu aou
acpipuci iu apuq acpiuuvci tu opioutu kui ti toaikc ctuqtc tq apuq,
ku0e kui ouvq0iocvc ouoctioci apookoqcvc otov classifier otov oaoio uvqkci
q apuq.
10.2.2. Zuo/io
1vu oiupuu ouvcpuoiu aupouoiuci cvu puo citc uvtikcicvev aou octiovtui
ctuu tou citc poev classifier citc poev ouoctiocev. Eaioq aopci vu
acpiuuvci tqv caikoiveviu aou aupouoiuci iu uqcaiopuoq. 1vu oiupuu
ouvcpuoiu aopci vu aupouoiuotci oc ouo opc: oc caiacoo o:iynio:aoc q oc
caiacoo aoooioyoocv.
Eacioq tu oiupuutu ouvcpuoiu pqoioaoiouvtui ouvu iu vu ocoiuotouv
oiuoikuoic, ouvq0e aupouoiuouv tq ouvutotqtu aoqqoq c pqoq cev oti
puc aou uvuaupiotouv tou ouvocoou q tou poou ouoctiocev. (1vu co oc
iu puq aou cvevci ouo auioiu oqevci cvu ouvocoo q cvu poo ouoctioq c
ovoopoq ouvutotqtu aoqqoq. 1vu co oiau oc iu puq oqevci cpc0iou
78
apo tq ocoocvq kutcu0uvoq. Hpouve cvu tctoio co ocv aopci vu ocivci
uvti0ctu oc iu ovoopoq puq.)
H ocipu uqcaiopuoq acpipuctui c iu ukoou0iu upi0ev oi oaoioi ouvq0e
ckivouv uao to 1. Iiu oiuoikuotikq poq ccou, oi caocvoi upi0oi caikoiveviu
ivovtui cv0ctoi oc oueviu c tqv cv0coq kqoq. Iiu q oiuoikuotikq ukoou0iu
uqcaiopuocev uvucou oc ouvtpcovtu uvtikcicvu ooi oi upi0oi ukoou0iu
piokovtui oto ioio caiacoo (oquoq ocv civui cv0ctoi).
1vu oiupuu ouvcpuoiu epi ku0oou uqcaiopuoq aupouoiuci to aoioio
cou oto oaoio aopci vu uci epu q uqcaiopuoq. Maopci vu pqoioaoiq0ci iu
vu ocici to auioio iu ovq apuq q ukou kui oev tev apucev iu kuoq q
iu ouou kuocev.
Iiu vu oci0ci uv cvu uvtikcicvo aopci vu oqioupq0ci q vu kutuotpuci kutu tqv
cktccoq pqoioaoiouvtui opiocvoi apotuaoi acpiopiooi:
Tu uvtikcicvu kui oi ouvocooi aou oqioupouvtui kutu tqv cktccoq
aopouv vu oqcie0ouv c {new}.
Tu uvtikcicvu kui oi ouvocooi aou kutuotpcovtui kutu tqv cktccoq
aopouv vu oqcie0ouv c {destroyed}.
Tu uvtikcicvu kui oi ouvocooi aou oqioupouvtui kui kutuotpcovtui kutu
tqv cktccoq aopouv vu oqcie0ouv c {transient}.
Oi uuc uutc otqv kutuotuoq eq tou apokuatouv uao tq catocpq
uqcaiopuoq uvucou otu uvtikcicvu kui aupcovtui ovo e oq0qtikoi
ouoiooi.
Ennro otyotnou
1vu oiupuu ouvcpuoiu oc caiacoo otiiotuaou aupouoiuci iu ouoq
auioiev uvtikcicvev kui puev aou uacikoviovtui oc uvtikcicvu kui ouvocoou,
uvtiotoiu. Tu otiiotuau uutu civui ouutu c tou poou classifier kui tou
poou ouoctioq tq ouvcpuoiu. To oiupuu aopci caioq vu acpicci cq aou
civui apookoqcvu oti puc aou uvtiotoiouv otu cpc0ioutu aou
ctuiuovtui coe tev ouvocoev. To oiupuu aupouoiuci tu uvtikcicvu aou
civui octiku c tqv apuutoaoiqoq tq apuq q tou classifier, ouacpiuuvocvev
tev uvtikcicvev aou caqpcuovtui q apooacuuvovtui ccou kutu tq oiupkciu tq
apuq. To oiupuu aupouoiuci caioq tou ouvocoou uvucou otu uvtikcicvu,
ouacpiuuvocvev tev apooepivev uvtikcicvev aou uvuaupiotouv opioutu
oiuoikuoiev, toaikc ctuqtc kui uvuopc oto self. Luvq0e oi tic tev
ioioupuktqpiotikev ocv aupouoiuovtui pqtu. Av cvu cpc0iou apcaci vu otcici tic
oc ioioupuktqpiotiku, totc tu ioioupuktqpiotiku 0u apcaci vu ovtcoaoiq0ouv
pqoioaoievtu ouoctioci.
Ennro npooypomv
1vu oiupuu ouvcpuoiu oc caiacoo apooiupuev aupouoiuci tou poou aou
opiovtui otq ouvcpuoiu. Mui oi pooi uutoi oqioupouv iu apuutoaoiqoq iu
79
apookoqcvq apuq q classifier tq ouvcpuoiu. To oiupuu acpicci cvu
ouvoo auioiev kuoq kui puev aou uvtiotoiouv oc poou classifier kui poou
ouoctioq otq ouvcpuoiu. Ltqv acpiateoq uutq tu cq aou apookoevtui oti
puc uacikoviovtui oc qvuutu.
10.2.3. Hdpsiyd

Lqo 35: Atyoo ovvcyooo oc cnnco oxtytoxnov, nov noovotct
ovxtkccvo, ovvcoov kot cc0ooxo.

Lqo 36: Atyoo ovvcyooo oc cnnco notoyoev, nov noovotct
ov classifier kot ov ovocxocev.

Lqo 37: Atyoo ovvcyooo oc cnnco oxtytoxnov oxo onoo otocvo
on xo ovxtkccvo noovv xov to o.
80
10.3. opq pattern - Pattern structure
10.3.1. Zqdoio/oyid
Miu ouvcpuoiu aopci vu pqoioaoiq0ci iu vu ku0opiotci q uoaoiqoq tev ooev
ocoiuoou. Iiu to okoao uuto civui uvukuio vu ku0opiotci to acpicocvo tou kui oi
uqcaiopuoci. Eivui caioq ai0uvo vu ocitc tq ouvcpuoiu e iu ovuoikq ovtotqtu
ua ce. Iiu aupuociu, aopci vu pqoioaoiq0ci iu vu uvuvepiotci q uaupq
patterns ocoiuoou cou oto ocoiuoo cvo ouotquto. 1vu pattern civui iu
aupuctpoaoiqcvq ouvcpuoiu. Lc ku0c pqoq tev patterns, oi apuutikc kuoci
uvtiku0iotouv ti aupuctpou otov opioo tev patterns.
Lqcieotc oti tu patterns oae opiovtui oto Design Patterns tev Gamma, Helm,
Johnson kui Vlissides acpiuuvouv aou acpioootcpu uao tq ooikq acpipuq. H
UML acpipuci ti ooikc uaoci kui opiocvc uao ti uaoci ouacpiopu tev
design patterns, oe o ouoioo tq UML ocv acpiuuvci opiocvc uc
oquvtikc uaoci tev patterns, oae usage trade-offs q aupuociutu. Autu apcaci vu
ckpuotouv c pqoq kcicvou q c aivukc.
10.3.2. Zuo/io
H pqoq iu ouvcpuoiu acpipuctui c iu cciq c oiukckocvq puq aou
acpicci to ovou tq ouvcpuoiu. Lcoiuctui iu oiukckocvq puq uao to
ouoo tq ouvcpuoiu apo ku0c cvu uao tu ouou aou oqevouv uvtikcicvu q
kuoci (uvuou c to uv cuvictui cou oc cvu oiupuu kuoq q cvu oiupuu
uvtikcicvev) aou ouctcouv otq ouvcpuoiu. Ku0c puq cci e ctikctu to poo
tou ouctcovto. Oi pooi uvtiotoiouv otu ovoutu tev otoiciev cou oto auioio
tq ouvcpuoiu. Tu ovoutu uutu otq ouvcpuoiu uvticteaiovtui e aupuctpoi
aou couv ouvoc0ci iu vu ku0opioouv otoiciu oc ku0c cuvioq tou pattern cou oto
ovtco. Luvcae, cvu ouoo ouvcpuoiu aopci vu ocici oti cvu design pattern
aopci vu cuviotci ui c iu apuutikq kuoq otq oukckpicvq pqoq tou
pattern.

Lqo 38: Xqoq to ovvcyooo.
Miu ouvcpuoiu aopci vu cci ococi cvikcuoq c uc ouvcpuoic. Mc tov tpoao
uuto civui ouvuto vu opiotci iu ouvcpuoiu vu civui ccioikcuoq iu uq
ouvcpuoiu. Auto uvuaupiotutui c to veoto co cvikcuoq uao tqv cciq c
tq oiukckocvq puq q oaoiu uvuaupiotu tq 0uutpikq ouvcpuoiu apo to
cikovioio tq ovikq ouvcpuoiu. Oi pooi tev 0uutpikev ouvcpuoiev aopouv vu
civui ccioikcuoci tev poev otq ovikq ouvcpuoiu.
81

Lqo 39: Ectkcvoq o ovvcyooo.
Lti ouvcpuoic pqoioaoicitui to co c oiukckocvq puq kui kciotq kui
kcvq kcuq iu vu uoaoiq0ci iu apuq q cvu classifier. H ocoq aopci caioq vu
aupouoiuotci c pqoq kcicvou cou oto ouoo ouvcpuoiu.

H ocoq uvucou oc iu ouvcpuoiu kui oto otoicio aou uoaoici aopci vu
aupouoiuotci citc c cvu co c oiukckocvq puq kui kciotq kui kcvq kcuq
uao tq ouvcpuoiu apo to apuutoaoiqcvo otoicio, q c pqoq kcicvou.
10.4. Hspsypsvd ouvspydod - Collaboration Contents
Tu acpicocvu iu ouvcpuoiu civui iu ouoq poev aou ku0opiouv ae tu
uvtikcicvu kui oi ouvocooi ouvcpuovtui oc cvu oukckpicvo auioio iu cvuv
oukckpicvo okoao, oae iu vu apuutoaoiqoouv iu apuq q iu acpiateoq
pqoq. Miu ouvcpuoiu uaotcci tqu cvo cuutcpou aqpou ovtcou aou
pqoioaoicitui iu to oukckpicvo okoao.
10.4.1. Zqdoio/oyid
1vu oioyoonno ocvcoyooio aupouoiuci cvuv q acpioootcpou poou ui c tu
acpicocvu tou, ti ococi kui tou citovikou poou, ku0e kui caiacov ococi
kui kuoci oae uuto uauitcitui. Iiu vu pqoioaoiq0ci iu ouvcpuoiu ku0c poo 0u
apcaci vu cci ouvoc0ci c iu apuutikq kuoq (q cvu ouvoo kuocev, uv
pqoioaoiouvtui aouac kutqopioaoiqoci) oi oaoic 0u uaootqpiouv (ui) ti
apuci aou uauitouvtui uao to poo. Tu caiacov otoiciu ckpuouv caiacov
uauitqoci oi oaoic ocv aopouv vu ovtcoaoiq0ouv uao poou, oae cvikcuoci
ctuu poev.
10.4.2. Zuo/io
Miu ouvcpuoiu aupouoiuctui e cvu puo auioiev kuocev kui auioiev
uvtikcicvev, ui c ti ouvocouoc puc. Au cvu oiupuu ouvcpuoiu aopci
vu acpicci kui uu otoiciu oae kuoci kui cvikcuoci iu vu ckpuoci caiacov
82
aqpoopiu. Tu otoiciu aupouoiuovtui pqoioaoievtu tu ouvq0iocvu tou
cikovioiu.

Lqo 40: Tvo tyoo ovvcyooo noovotct xov toocxtko ov
o c o cntncov ococt ycvkcvoq e nctotoxtk oxotco.
10.5. AAAqAsnpdos - Interactions
Miu ouvcpuoiu uvtikcicvev uqcaiopu iu vu caitcu0ci cvu okoao (oae q
apuutoaoiqoq iu apuq) uvtuuooovtu cpc0ioutu. Autu aopci vu
acpiuuvouv tooo uaootoq oqutev ooo kui kqoci apucev, ku0e kui uc
acpioootcpo ccoc uqcaiopuoci coe ouv0qkev kui povikev ouuvtev. 1vu
oukckpicvo pattern uvtuuq caikoiveviu aou pqoioaoicitui iu vu caitcu0ci
kuaoio okoao kucitui uqcaiopuoq.
10.5.1. Zqdoio/oyid
Miu opcaioooop civui iu apooiupuq ouacpiopu aou acpicci iu ukoou0iu
uvtuuq caikoiveviu uvucou oc cvu ouvoo uvtikcicvev cou otq ouvcpuoiu
eotc vu caitcu0ci cvu oukckpicvo okoao, oae q uoaoiqoq iu apuq. Iiu vu
apooiupuci iu uqcaiopuoq, civui uvukuio vu ku0opiotci iu ouvcpuoiu, vu
ku0opiotouv oquoq oi pooi aou uqcaiopouv kui oi ococi tou. Totc,
apooiupuovtui oi ai0uvc ukoou0ic uqcaiopuoq. Autc aopouv vu
apooiupuouv c iu acpipuq aou acpicci ouv0qkc (kuoou q uao ouv0qkq
oqutu) q aopouv vu apooiupuouv aupcovtu aouac acpipuc, ku0c iu uao
ti oaoic acpipuci iu oukckpicvq oiuopoq uao ti ai0uvc oiuopoc cktccoq.
Miu caikoiveviu apoooiopictui c cvu qvuu, apoooiopici tou poou tou
uaootocu kui tou aupuqatq, ku0e kui tq opuoq aou 0u apokucoci vu uci epu q
caikoiveviu. H opuoq acpipuci to cioo caikoiveviu aou 0u uci epu, oae
uaootoq cvo oquto q kqoq apuq, ui c iu ukoou0iu ckpuocev aou
ku0opiouv tu opioutu aou apcaci vu aupuoc0ouv. H opuoq aopci caioq vu acpicci
iu cauvuuuvocvq ckpuoq aou oqevci to uuku q iu cauvuqq tq
opuoq.
Otuv apuutoaoiq0ci q opuoq, uaootcctui to cpc0iou aou uvtiotoici oto qvuu.
To cpc0iou acpicci uvuopc otu uvtikcicvu uaootocu kui aupuqatq aou auiouv
to poo tou uaootocu kui tou aupuqatq tou qvuuto, ku0e kui iu ukoou0iu
uvuopev oc uvtikcicvu aou civui to uaotccou tq uaotiqoq tev ckpuocev tev
opioutev tq opuoq.
83
10.5.2. Zuo/io
Oi uqcaiopuoci aupouoiuovtui e oiupuutu ukoou0iu q e oiupuutu
ouvcpuoiu. Kui tu ouo oiupuutu aupouoiuouv tqv cktccoq tev ouvcpuoiev,
oe tu oiupuutu ukoou0iu ocv aupouoiuouv ti ococi uvucou otu
uvtikcicvu q uvucou oti tic tev ioioupuktqpiotikev tev uvtikcicvev, i uuto
ocv aupouoiuouv aqpe to auioio tq ouvcpuoiu. Tu oiupuutu ukoou0iu
acpipuouv pqtu tqv acupu tq ouacpiopu tq ouvcpuoiu,
ouacpiuuvocvq tq povikq ukoou0iu tev cpc0ioutev kui tq pqtq
uvuaupuotuoq tev cvcpoaoiqocev tev c0ooev. Tu oiupuutu ouvcpuoiu
aupouoiuouv to aqpc auioio iu uqcaiopuoq, ouacpiuuvocvev tev
uvtikcicvev kui tev ococev tou aou civui octikc c tq oukckpicvq
uqcaiopuoq. H ukoou0iu tev cpc0ioutev aupouoiuctui c tou upi0ou
ukoou0iu, ku0e ocv civui ouvuto vu toao0ctq0ouv poviku, oc cvuv uovu tou
povou oae ivctui otu oiupuutu ukoou0iu. Ltqv apuq, oc opiocvc
acpiateoci ocuci vu pqoioaoiouvtui upi0oi ukoou0iu ui c cvu poviko
uovu.
10.6. PAo ouvspydod - Collaboration Roles
10.6.1. Zqdoio/oyid
1vu poo classifier opici to poo aou auici cvu uvtikcicvo cou oc iu ouvcpuoiu.
O poo acpipuci tov tuao tou uvtikcicvou aou aopci vu auici to poo, oae ti
uauitoucvc apuci kui ioioupuktqpiotiku kui acpipuci tq ocoq tou c uou
poou. Oi ococi c uou poou opiovtui c poou ouoctioq. Autoi
acpipuouv tou uauitoucvou ouvocoou uvucou oc uvtikcicvu, oquoq cvu
uaoouvoo tev uaupovtev ouvocoev.
10.6.2. Zuo/io
1vu poo classifier aupouoiuctui pqoioaoievtu cvu op0oevio ouoo kuoq.
Kuvoviku aupouoiuctui ovo to tqu tou ovouto, uu aopouv vu cuviotouv
kui tu tqutu ioioupuktqpiotikev kui apucev, cooov civui uaupuitqto. To tqu
tou ovouto acpicci tq ouooocipu:
'/' ClassifierRoleName ':' ClassifierName [',' ClassifierName]*
To ovou tou classifier (q tev classifiers uv pqoioaoiouvtui aouac
kutqopioaoiqoci) aopci vu acpiuuvci to aqpc ovou pqoioaoievtu kui tu
acpicovtu aukctu, cooov civui uvukuio. To cpucio 0u caitpcaci tq pqoq
ikpotcpev ovoutev otuv ocv uaupci uouciu. Tu ovoutu tev aukctev apoqouvtui
tou ovouto tou classifier kui oiuepiovtui c oiaq uve-kute tcciu. Iiu
aupuociu:
display_window: WindowingSystem::GraphicWindows::Window
1vu otcpcotuao aopci vu aupouoiuotci uao opq kcicvou (oc cqviku cioueiku
auve uao to ovou) q e cikovioio otqv auve ociu eviu. 1vu poo classifier aou
uvuaupiotu cvu ouvoo uvtikcicvev aopci vu acpiuuvci iu cvociq
aouaotqtu (oae *) otqv auve ociu eviu tou auioiou tq kuoq.
84
1vu poo ouoctioq cuvictui c tq veotq puq ouoctioq. To ovou tou
poou ouoctioq ukoou0ci tov ioio tpoao ouvtuq c to ovou tou poou classifier.
Av aupuq0ci to ovou q puq aou ouvocctui oto ouoo tou poou classifier
oqevci cvu poo ouoctioq. H aqpoopiu aou uaupci otu ukpu tou poou
ouoctioq, oquoq otou poou ukpev ouoctioq aupouoiuctui pqoioaoievtu
tou ioiou ouoioou c tu ukpu ouoctioq.
1vu uvtikcicvo aou auici to poo aou ku0opictui uao to poo classifier
aupouoiuctui c cvu auioio uvtikcicvou, ouvq0e epi to tqu tev
ioioupuktqpiotikev. To ovou tou uvtikcicvou aupouoiuctui e:
ObjectName '/' ClassifierRoleName ':' ClassifierName [',' ClassifierName ]*
oquoq ckivu c to ovou tou uvtikcicvou kui ukoou0ci to aqpc ovou tou poou
classifier, kui ou civui uaopuiocvu.
1vu ouvocoo aupouoiuctui c iu puq uvucou oc ouo auioiu uvtikcicvev.
To ovou ukoou0ci tq ouvtuq tou uvtikcicvou aou auici to oukckpicvo poo.
10.6.3. Ei/oy dpouoidoq
To ovou tou poou tou classifier aopci vu aupuq0ci. Ltqv acpiateoq uutq q uve-
kute tcciu oiutqpcitui ui c to ovou tq kuoq. To ovou tou poou aopci vu
aupuq0ci ovo uv tu uvtikcicvu tq uoikq kuoq tq ouvcpuoiu aopouv vu
auiouv ovo /vo poo. To ovou tq kuoq ocv aopci vu aupuq0ci, outc q uve-
kute tcciu, ku0e otqv acpiateoq uutq to oiupuu oc 0u aupcic aqpq
aqpoopiu octiku c tq ouvcpuoiu. Iiu vu oqe0ci cvu poo classifier apcaci vu
uaupci touuiotov cvu ovou kuoq (ui c tqv uve-kute tcciu) q cvu ovou
poou (ui c tqv ku0cto). Aiuopctiku to op0oevio oqevci iu uaq kuoq. Av o
poo aou apokcitui vu auici to uvtikcicvo apokuatci uao aoc kuoci, tu ovoutu
tev kuocev cuviovtui oc iu iotu c oiuepiotiko to kou, ucoe ctu tqv
uve-kute tcciu.
Lto auioio uvtikcicvou aopouv vu aupuq0ouv to ovou tou uvtikcicvou, to
ovou tou poou ui c tqv ku0cto, q to ovou tq kuoq. Hup ou uutu apcaci vu
uaupci q uve-kute tcciu apootu uao to ovou tq kuoq kui q ku0cto apootu
uao to ovou tou poou. O ouoioo aou pqoioaoicitui civui o ioio c uutov aou
pqoioaoicitui cviku otu uvtikcicvu c tqv ai0uvq apoo0qkq tou ovouto tou
poou tou classifier c tov oaoio ouuoici to uvtikcicvo.
Lqcieotc oti to ovou cvo otiiotuaou apcaci vu civui auvtu uaopuiocvo, cve
to ovou cvo classifier (kui cvo poou classifier) ocv uaopuictui aotc. Eaiacov
iu puq epi ovou uvucou oc ouo cikovioiu aou uvuaupiotouv otiiotuau civui
auvtu cvu ouvocoo, cve uv q puq civui uvucou oc cikovioiu aou uvuaupiotouv
classifiers civui auvtu ouoctioq.
Ltou caocvou aivukc aupouoiuovtui oi oiuopctikoi ouvouuooi iu tu ovoutu:
Lvxoq Encqyqoq
: C uvtikcicvo epi ovou uao tqv kuoq C
85
Lvxoq Encqyqoq
/ R Avtikcicvo epi ovou aou auici to poo R
/ R : C Avtikcicvo epi ovou uao tqv kuoq C aou auici to poo R
O / R Avtikcicvo c ovou O aou auici to poo R
O : C Avtikcicvo c ovou O uao tqv kuoq C
O / R : C Avtikcicvo c ovou O uao tqv kuoq C aou auici to poo R
O Avtikcicvo c ovou O
/ R 1vu poo c ovou R
: C 1vu poo epi ovou c uoikq kuoq tq C
/ R : C 1vu poo c ovou R kui uoikq kuoq tq C

10.7. Evspy dvrkspsvo - Active Object
1vu cvcoyo ov:ikcincvo cci cvu vqu ccou kui aopci vu ckivqoci iu
opuotqpiotqtu ccou. 1vu au0qtiko uvtikcicvo oiutqpci ocoocvu, uu ocv ckivu
iu opuotqpiotqtu ccou. Oe cvu au0qtiko uvtikcicvo aopci vu otcici
cpc0ioutu kutu tq oiuoikuoiu caccpuoiu iu uitqoq aou cci uci. Lc cvu
oiupuu ouvcpuoiu cvu poo classifier aou civui cvcpq kuoq uvuaupiotu tu
cvcpu uvtikcicvu aou 0u cuviotouv kutu tq oiupkciu tq cktccoq.
10.7.1. Zqdoio/oyid
1vu cvcpo uvtikcicvo civui cvu uvtikcicvo oto oaoio uvqkci to vqu ccou. Oi
oicpuoic kui tu cpu civui aupuoooiuku cioq cvcpev uvtikcicvev.
10.7.2. Zuo/io
O poo tou cvcpou uvtikcicvou aupouoiuctui e op0oevio c ovtpo auioio.
Luvu oi pooi tev cvcpev uvtikcicvev uvuaupiotevtui e ouv0ctu c
cvoeutecvu cpq. Eaioq aopci vu pqoioaoiq0ci q cq kcioi {active} iu vu
oqeoci cvu cvcpo uvtikcicvo.
86
10.7.3. Hdpsiyd

Lqo 41: Tvo ov0cxo cvcy ovxtkccvo.
10.8. Mqvpdrd kd sps0opdrd - Message and stimulus
10.8.1. Zqdoio/oyid
Lc cvu oiupuu ouvcpuoiu to cpc0iou civui iu caikoiveviu uvucou oc ouo
uvtikcicvu, q oaoiu ctucpci aqpoopiu eotc vu apokq0ci iu opuoq. 1vu
cpc0iou 0u apokucoci tqv kqoq iu apuq, 0u apokucoci cvu oqu q 0u
oqioupqoci q kutuotpcci cvu uvtikcicvo.
1vu qvuu civui iu apooiupuq cvo cpc0iouto, oquoq ku0opici tou poou
otou oaoiou uaukououv tu uvtikcicvu uaootocu kui aupuqatq, ku0e kui tq
opuoq q oaoiu, otuv cktccotci, 0u ctuiuoci to cpc0iou aou uvtiotoici oto
qvuu.
10.8.2. Zuo/io
Tu qvuutu kui tu cpc0ioutu aupouoiuovtui e cq c ctikctc kovtu oc cvu poo
ouoctioq q cvu ouvocoo, uvtiotoiu. H oquoiu civui oti o ouvocoo
pqoioaoicitui iu tq ctuiuoq tou cpc0iouto oto uvtikcicvo otoo. To co
ocivci apo tqv kutcu0uvoq tou uuvovto uvtikcicvou.
Tno poq rKyou
Oi ukoou0c aupuuc cev pqoioaoiouvtui iu vu oqeoouv oiuopctiko cioo
caikoiveviu:
87
Icutq kcuq cou
Miu kqoq oiuoikuoiu q uq cv0ctq poq ccou. Ookqpevctui oq q
cv0ctq ukoou0iu apiv caiotpuci o cco otqv ukoou0iu aou piokctui
oto cetcpiko caiacoo. Maopci vu pqoioaoiq0ci iu ouvq0ci kqoci
oiuoikuoiev. Maopci caioq vu pqoioaoiq0ci c tuutopovu cvcpu
uvtikcicvu, otuv cvu uao uutu otcvci cvu oqu kui acpicvci vu tccieoci q
cv0ctq ukoou0iu ouacpiopu.
Aao co
Aaq poq ccou. Ku0c co aupouoiuci tq ctuiuoq oto caocvo qu
otqv ukoou0iu. Kuvoviku ou tu qvuutu civui uoupovu.
Mioo co
Aoupovq poq ccou. Xpqoioaoicitui uvti tou uaou cou iu vu
oqeoci pqtu oti apokcitui iu uoupovq caikoiveviu uvucou oc ouo
uvtikcicvu kutu tq oiuoikuotikq ukoou0iu.
Aao co c oiukckocvq puq
Eaiotpoq uao tqv kqoq iu oiuoikuoiu. To co caiotpoq aopci vu
aupuq0ci ku0e uaovocitui uao to tco tq cvcpoaoiqoq.
Ac aupuuc
Maopouv vu aupouoiuotouv kui uu cioq ccou, oae balking q time-
out, uu uutu 0cepouvtui e cacktuoci tq UML.
Etkto Kou
Ltq ouvcciu pqoioaoicitui o opo npvcno, uu tu ioiu iououv kui iu to co/0iono.
H ctikctu cci tqv ukoou0q ouvtuq:
npoqyopsvo ouv0qkq-/dkd skpdoq-dko/ou0id tipq-sniotpoq := vopd-
pqvpdto /iotd-opiopdtov
H ctikctu oqevci oti to qvuu aou uaootcctui, tu opioutu kui ti tic
caiotpoq tou, kui tqv ukoou0iu tev qvuutev otqv cuputcpq uqcaiopuoq,
ouacpiuuvocvev tev: cv0coq kqocev, cauvuqq, oiukuoeoq, ouvopoikotqtu
kui oupovioo.
Hpoqyorvo
O apoqoucvo civui iu iotu c oiuepiotiko to kou, uao upi0ou ukoou0iu
aou ukoou0citui uao iu ku0cto (/):
dpi0p-dko/ou0id ',' ... '/'
H apotuoq aupuciactui otuv q iotu civui kcvq. Ku0c upi0o-ukoou0iu civui iu
ckpuoq-ukoou0iu epi cauvuuuvocvou opou. Hpcaci vu uvtiotoici otov
88
upi0o ukoou0iu cvo uou qvuuto. H cvvoiu civui oti to qvuu ocv aopci vu
cvcpoaoiq0ci uv ocv couv qoq ouci oc oi caikoivevic aou cuviovtui otq iotu
(uao tq otiq aou ouci q caikoiveviu, o uuku 0cepcitui oti caituuvci).
Luvcae q ouv0qkq uuku uvuaupiotu oupovioo tev vqutev.
Lqcieotc oti to qvuu aou uvtiotoici otov upi0qtiku apoqoucvo upi0o
ukoou0iu civui cvu ccou apoqoucvo kui oc pciuctui vu aupouoiuotci pqtu.
Ooi oi upi0oi ukoou0iu c koivo apo0cu oqioupouv iu ukoou0iu. O
upi0qtiku apoqoucvo civui ckcivo tou oaoiou o tciko opo civui ikpotcpo kutu
cvu, oquoq o upi0o 3.1.4.5 civui apoqoucvo tou 3.1.4.6.
Tkpooq okoKou0o
H ckpuoq-ukoou0iu civui iu iotu opev-ukoou0iu oi oaoioi oiuepiovtui c
tcciu kui ukoou0citui uao uve-kute tcciu (:).
po-dko/ou0id '.' ... ':'
Ku0c opo uvuaupiotu cvu caiacoo oiuoikuotikq cv0coq otq ouvoikq
uqcaiopuoq. Av oo o cco civui tuutopovo, totc ocv uaupci cv0coq. Ku0c
opo-ukoou0iu cci tq ouvtuq:
[ dkspdio | vopd ] [ sndvspdvioq ]
O ok/ooio uvuaupiotu tq ukoou0iukq ocipu tev qvuutev oto caocvo cuutcpo
caiacoo kqoq oiuoikuoiu. Tu qvuutu aou oiucpouv ovo kutu cvuv ukcpuio
octiovtui ocipiuku oc uuto to caiacoo cv0coq. To qvuu 3.1.4 ukoou0ci to qvuu
3.1.3, otqv cvcpoaoiqoq 3.1. To ovono uvuaupiotu cvu ouvtpcov vqu ccou. Tu
qvuutu aou oiucpouv oto tciko ovou civui ouvtpcovtu oc uuto to caiacoo
cv0coq. Hupuociu: to qvuu 3.1.a kui to qvuu 3.1.b civui ouvtpcovtu otqv
cvcpoaoiqoq 3.1. Ou tu vqutu ccouv civui iou oto ioio u0o cv0coq.
H caovcnoviop uvuaupiotu cktccoq uao ouv0qkq q cauvuqatikq. Avuaupiotu qocv
q acpioootcpu qvuutu aou cktcouvtui uvuou c ti uaupouoc ouv0qkc. Oi
caioc civui
* [ apotuoq-cauvuqq ] iu cauvuqq
[ apotuoq-ouv0qkq ] iu oiukuoeoq
Miu cauvuqq uvuaupiotu iu ukoou0iu qvuutev oto ocoocvo u0o cv0coq. H
apotuoq cauvuqq aopci vu aupuq0ci (oaotc oi ouv0qkc tq cauvuqq civui
q ku0opiocvc). H apotuoq cauvuqq aopci vu ckpuotci oc cuookeoiku q oc
apuutikq eoou apopuutioou kui q UML ocv ku0opici tq opq tq. 1vu
aupuociu 0u aopouoc vu civui *[i := 1..n].
Miu ouv0qkq uvuaupiotu cvu qvuu q cktccoq tou oaoiou cuptutui uao tqv uq0ciu
tq apotuoq ouv0qkq. H apotuoq ouv0qkq aopci vu civui ckacpuocvq citc oc
cuookeoiku citc oc apuutikq eoou apopuutioou kui q UML ocv ku0opici
tq opq tq. 1vu aupuociu aopci vu civui [x > y].
Lqcieotc oti q oiukuoeoq ouoictui oae q cauvuqq epi to uotcpi. Kuaoio
0u aopouoc vu tq 0cepqoci e cauvuqq aou acpiopictui oc iu cuvioq.
89
O ouoioo tq cauvuqq uao0ctci oti tu qvuutu otqv cauvuqq 0u
cktccotouv ocipiuku. Yaupci caioq q ai0uvotqtu vu cktccotouv tuutopovu. O
ouoioo i uuto civui vu ukoou0citui to uotcpi uao oiaq ku0cto (iu
aupuqioo): *//
Lqcieotc oti oc iu ooq cv0ctou ccou q cauvcuvioq ocv cauvuuuvctui otu
coetcpiku caiacou. Ku0c caiacoo tq ooq ku0opici tq oikq tou cauvuqq iu to
oiko tou auioio.
Ynoypoq
Miu uaopuq civui iu ouooocipu aou oqevci to ovou, tu opioutu kui tqv tiq
caiotpoq iu apuq, iu qq, cvo qvuuto q cvo oquto. Oc couv ti
ukoou0c ioiotqtc:
Tiq caiotpoq
Eivui iu iotu c ovoutu aou oqevouv ti tic aou caiotpcovtui oto
tco tq caikoiveviu cou otqv caocvq cktccoq oq tq
uqcaiopuoq. Oi apoooiopiotc uutoi aopouv vu pqoioaoiq0ouv e
opioutu oc caocvu qvuutu. Av to qvuu ocv caiotpcci iu tiq, totc q
tiq caiotpoq kui o tccotq uvu0coq aopouv vu aupuq0ouv.
Ovou qvuuto
Eivui to ovou tou ouuvto aou apokucitui oto uvtikcicvo otoo (to
oaoio ouvu civui to ouuv tq apuq aou uauitcitui vu apuutoaoiq0ci).
Maopci vu uoaoiq0ci c oiuopou tpoaou, /vo uao tou oaoiou civui c
kqoq tq apuq. Av uoaoiq0ci e kqoq oiuoikuoiu, totc civui to ovou
tq apuq kui q apuq apcaci vu opiotci otqv kuoq tou aupuqatq q vu
kqpovocitui uao uutq. Mc uu oiu, aopci vu civui to ovou tou
ouuvto aou apokucitui oto uuvov uvtikcicvo. Kuvoviku, uauitcitui
tooo to ovou, ooo kui q iotu tev opioutev iu vu apoooiopiotci iu
oukckpicvq apuq.
Aiotu opioutev
Eivui iu iotu c opioutu (apuutikc aupuctpoi), tu oaoiu epiovtui
ctuu tou c kou kui oq q iotu civui cou oc aupcv0coci. Oi
aupcv0coci aopouv vu pqoioaoiq0ouv ukou kui otuv q iotu civui kcvq.
Ku0c opiou civui citc iu uvuopu oc uvtikcicvo citc iu ckpuoq oc
cuookeoiku q otqv uvtiotoiq eoou apopuutioou (ocv ku0opictui
uao tq UML). Oi ckpuoci aopouv vu pqoioaoiouv tic caiotpoq
apoqoucvev qvuutev (oto ioio caiacoo oputotqtu) kui ckpuoci
aoqqoq aou ckivuvc uao to aquio uvtikcicvo (oquoq
ioioupuktqpiotiku tou q ouvocoou aou ckivuvc uao uuto q oiuopoc aou
civui apoouoic uao uuto).
90
10.8.3. Ei/oy dpouoidoq
Avti iu ti ckpuoci c kcicvo iu tu opioutu kui ti tic caiotpoq, kovtu oto
qvuu aopouv vu aupouoiuovtui tu oiukpitiku tev ocoocvev. 1vu oiukpitiko
(token) civui cvu ikpo kuko c ctikctu tqv ckpuoq tou opiouto q to ovou tq
tiq caiotpoq. 1ci cvu ikpo co aou ocivci oae to qvuu (otuv apokcitui iu
opiou) q uvti0ctu (otuv apokcitui iu tiq caiotpoq). Tu oiukpitiku uvuaupiotouv
opioutu kui tic caiotpoq. H caioq uvucou oto kcicvo kui tu oiukpitiku civui
iu caioq aupouoiuoq.
H ouvtuq tev qvuutev aopci vu ckpuotci oc iu apopuutiotikq eoou oae
q Smalltalk q q C++. Oe oc oi ckpuoci oto ioio oiupuu 0u apcaci vu
ukoou0ouv tqv ioiu ouvtuq.
H poq caiotpoq aopci vu aupouoiuotci pqtu c pqoq cvo cou c oiukckocvq
puq.
10.8.4. Hdpsiyd
Aciutu ouvtuq ctikctev qvuutev ccou:
2: display(x,y) Aao qvuu
1.3.1: p:=find(specs) 1v0ctq kqoq c tiq caiotpoq
[x < 0] 4 :invert(x, color) Mqvuu uao ouv0qkq
A3,B4/C3.1 * : update() Lupovioo c uu vqutu, cauvuqq
10.9. Zqpsmoq qpoupyd-kdrdorpoq
10.9.1. Zqdoio/oyid
Kutu tq oiupkciu tq cktccoq oqioupouvtui opiocvu uvtikcicvu kui ouvocooi,
cve uu kutuotpcovtui. H oqioupiu kui q kutuotpoq tev otoiciev aopci vu
oqcie0ci.
10.9.2. Zuo/io
1vu uvtikcicvo q cvu ouvocoo aou oqioupcitui kutu tq oiupkciu iu
uqcaiopuoq cci apookoqcvq oc uuto tov apotuao acpiopioo new. 1vu
uvtikcicvo q ouvocoo aou kutuotpcctui kutu tqv uqcaiopuoq cci
apookoqcvo oc uuto tov apotuao acpiopioo destroyed. Oi acpiopiooi uutoi
aopouv vu pqoioaoiq0ouv ukou kui otuv to uvtikcicvo ocv cci ovou. Kui oi ouo
acpiopiooi aopouv vu pqoioaoiq0ouv ui, uu civui apotiotcpo vu
pqoioaoiq0ci o apotuao acpiopioo transient, uvt uutou.
10.9.3. Ei/oy dpouoidoq
Tu cpuciu aopci vu pqoioaoiouv puikc oqcieoci caiapoo0ctu q ukou kui
otq 0coq tev ccev kcioiev. Iiu aupuociu, ku0c cioo povou eq aopci vu
aupouoiuctui c oiuopctiko peu. 1vu cpucio aopci caioq vu pqoioaoiqoci
91
kivqoq iu vu ocici tq oqioupiu kui tqv kutuotpoq tev otoiciev kui tqv
kutuotuoq tou ouotquto oc oiuopc povikc otic.
11. Aoypoto kototooq - Statechart Diagrams
1vu oiupuu kutuotuoq aopci vu pqoioaoiq0ci iu vu acpipuci tq
ouacpiopu cvo otoiciou ovtcoaoiqoq oae cvu uvtikcicvo q iu
uqcaiopuoq. Lukckpicvu, acpipuci ai0uvc ukoou0ic kutuotuocev kui
opuocev coe tev oaoiev to otoicio aopci vu apoepqoci kutu tq oiupkciu tq eq
tou, e uaotccou tq uvtiopuoq oc oiukpitu ouuvtu (a.. oqutu, kqoci
apucev).
H oquoiooiu kui o ouoioo aou acpipuctui coe oiucpci oquvtiku uao uutu
tev oiupuutev kutuotuoq tou David Harel, c tpoaoaoiqoci iu vu ivouv
uvtikcicvootpuq. H oouciu tou qtuv ioiuitcpu oquvtikq iu ti aupuoooiukc
caiacoc quvc kutuotuoq. O ouoioo oiupuutev kutuotuoq uoaoici
caioq oci tev quvev Moore kui tev quvev Mealy, oquoq aupuoooiuku
ovtcu quvev kutuotuocev.
11.1. dypdppd kdrdordoq - Statechart Diagram
11.1.1. Zqdoio/oyid
Tu oiupuutu kutuotuoq aupouoiuouv tq ouacpiopu tev ovtotqtev aou couv
tq ouvutotqtu ouvuikq ouacpiopu, ku0opiovtu tqv uvtiopuoq tou kutu tq
qq otiiotuaev ouuvtev. Tuaiku pqoioaoicitui iu vu acpipuci tq
ouacpiopu tev kuocev, uu tu oiupuutu kutuotuoq aopouv caioq vu
acpipuouv tq ouacpiopu uev ovtotqtev tou ovtcou, oae acpiateoci
pqoq, actors, uaoouotqutu, apuci kui c0oooi.
11.1.2. Zuo/io
1vu oiupuu kutuotuoq civui cvu puo aou uvuaupiotu iu quvq
kutuotuocev. Oi kutuotuoci kui tu oiuopu uu cioq koev (cuookutuotuoci) oc
cvuv puo quvq kutuotuoq cuviovtui c tu kutuqu ouou kutuotuocev
kui cuookutuotuocev, cve oi ctuuoci ouvq0e cuviovtui c kutcu0uvocvc
ukc aou tu oiuouvocouv. Oi kutuotuoci aopci caioq vu acpicouv uao-
oiupuutu c uoikq ouacpiqq q toao0ctqoq oiau-oiau. Lqcieotc oti ku0c
quvq kutuotuoq cci iu kutuotuoq kopuq q oaoiu acpicci ou tu uu otoiciu
tq oq quvq kutuotuoq. H puikq aupouoiuoq tq kutuotuoq kopuq civui
apouipctikq.
H ouoctioq uvucou oc iu quvq kutuotuoq kui to acpicocvo tq ocv cci cvu
oukckpicvo ouoioo.
1vu uao aupuociu oiupuuto kutuotuoq civui uuto aou ukoou0ci kui
acpipuci cvu tqceviko ouotqu.
92

Lqo 42: Atyoo koxoxooq xqcevtko ovoxqoxo
11.2. Kdrdordoq - State
11.2.1. Zqdoio/oyid
Miu kutuotuoq civui iu ouv0qkq kutu tq oiupkciu tq eq cvo uvtikcicvou q iu
uqcaiopuoq kutu tqv oaoiu ikuvoaoicitui kuaoiu ouv0qkq, apuutoaoicitui kuaoiu
opuoq q uvucvci iu kuaoio ouuv. Miu ov0c:p kutuotuoq civui iu kutuotuoq q
oaoiu, oc uvti0coq c iu oap kutuotuoq, aopci vu oiuoauotci puiku.
Evvoiooiku, cvu uvtikcicvo aupucvci oc iu kutuotuoq iu iu povikq acpiooo.
Oe q oquoiooiu caitpcaci vu ovtcoaoiouvtui kutuotuoci cou uao ti oaoic
acpvuci q poq ocoov otiiuiu, ku0e kui q otiiuic ctuuoci.
Miu kutuotuoq aopci vu pqoioaoiq0ci iu vu ovtcoaoiqoci iu opuotqpiotqtu
aou uuvci epu. Miu tctoiu opuotqpiotqtu ku0opictui citc c iu cv0ctq quvq
kutuotuocev q c iu uaooiotikq ckpuoq.
11.2.2. Zuo/io
Miu kutuotuoq aupouoiuctui e cvu op0oevio c otpouccvc evic.
Hpouipctiku, aopci vu cci apookoqcvq iu kuptcu c ovou. H kuptcu c to
ovou civui cvu op0oevio aou ouvq0e piokctui ce uao tqv auve acupu tq
kutuotuoq kui acpicci to ovou tq kutuotuoq. Luvq0e pqoioaoicitui iu vu
oiutqpq0ci to ovou iu ouv0ctq kutuotuoq c ouvtpcouoc acpioc, uu aopci
vu pqoioaoiq0ci kui iu uc acpiateoci.
Miu kutuotuoq aopci apouipctiku vu uaooiuipc0ci oc oiuopu tqutu aou
epiovtui ctuu tou c iu opiovtiu puq. Autu civui tu ukoou0u:
Tqu ovouto
93
To tqu uuto acpicci to (apouipctiko) ovou tq kutuotuoq e
ouooocipu. Oi kutuotuoci epi ovoutu civui uvevuc kui civui oc
oiukpitc. Acv civui cai0uqto vu aupouoiuctui q ioiu ovoutiocvq kutuotuoq
auve uao iu opu oc cvu oiupuu iuti apokucitui ouuoq. Tu tqutu
ovouto oc pqoioaoiouvtui otuv pqoioaoicitui q kuptcu tou ovouto kui
uvtiotpou.
Tqu coetcpikev ctuuocev
To tqu oiutqpci iu iotu tev coetcpikev opuocev q opuotqpiotqtev aou 0u
apuutoaoiq0ouv ooo to otoicio piokctui oc uutq tqv kutuotuoq. O
ouoioo iu ku0c cvu uao uutu tu otoiciu tq iotu cci tqv ukoou0q
cvikq opq:
c:ik/:o-oooop / /kooop-oooop
H ctikctu opuoq apoooiopici ti kutuotuoci kute uao ti oaoic 0u apuutoaoiq0ci
q opuoq aou apoooiopictui uao tqv ckpuoq opuoq. H ckpuoq opuoq aopci vu
pqoioaoiqoci oaoiooqaotc uao tu ioioupuktqpiotiku q tou ouvocoou aou civui
oto acoio tq ovtotqtu otqv oaoiu uvqkci. Lc acpiateoq aou aupouoiuovtui otoiciu
otu oaoiu q ckpuoq opuoq civui kcvq, q ku0cto civui apouipctikq.
Yaupci iu ocipu uao ctikctc opuoq aou couv oiutqpq0ci iu cioikc acpiateoci
kui ouvcae ocv aopouv vu pqoioaoiq0ouv e ovoutu ouuvtev. Ltq ouvcciu
acpipuovtui opiocvc ctikctc opuoq kui q oquoiu tou:
entry
H ctikctu uutq apoooiopici iu opuoq, q oaoiu ku0opictui c tqv uvtiotoiq
ckpuoq opuoq, kui q oaoiu apuutoaoicitui kutu tqv cioooo otqv kutuotuoq
(opuoq cioooou).
exit
H ctikctu uutq apoooiopici iu opuoq, q oaoiu ku0opictui uao tqv uvtiotoiq
ckpuoq opuoq kui q oaoiu apuutoaoicitui kutu tqv cooo uao tqv
kutuotuoq (opuoq cooou).
do
H ctikctu apoooiopici iu opuotqpiotqtu aou uuvci epu (do activity) kui
q oaoiu apuutoaoicitui ooo to otoicio ovtcoaoiqoq civui oc uutq tqv
kutuotuoq q cpi vu ookqpe0ci o uaooioo aou ku0opictui uao tqv
ckpuoq opuoq (otq ocutcpq acpiateoq aopci vu aupu0ci cvu ouuv
ookqpeoq).
include
H ctikctu pqoioaoicitui iu vu apoooiopici tqv kqoq iu uao-quvq. H
ckpuoq opuoq acpicci to ovou tq uao-quvq aou apokcitui vu kq0ci.
Lc oc ti uaooiac acpiateoci, q ctikctu opuoq apoooiopici to ouuv aou
apokuci tqv uvtiotoiq ckpuoq opuoq. Tu ouuvtu uutu kuouvtui coetcpikc
ctuuoci kui civui oquoiooiku iooouvuu c uuto-ctuuoci nc :p novp oioooo
94
o:i ocv caoo,ci /ooo p caovcioooo o:pv ko:oo:oop. Auto oquivci oti ocv
apuutoaoiouvtui oi uvtiotoic opuoci cioooou kui cooou. H cvikq opq iu tq
iotu tev uvtikcicvev otqv coetcpikq ctuuoq civui:
vopd-oupdvto '(' /iotd-ndpdpstpov-ps-kppd ')' '[' ouv0qkq-/dkd ']' '/'
skpdoq-pdoq
Ku0c ovou ouuvto aopci vu cuviotci acpioootcpc uao iu opc oc ku0c
kutuotuoq uv cci oiuopctikc ouv0qkc-uukc. Oi aupuctpoi tev ouuvtev kui
oi ouv0qkc-uukc civui apouipctikc. Av to ouuv cci aupuctpou aopouv vu
pqoioaoiq0ouv otqv ckpuoq opuoq coe tq ctuqtq tpcovto ouuvto.
11.2.3. Hdpsiyd

Lqo 43: Koxoxooq.
11.3. Zv0srq kdrdordoq - Composite State
11.3.1. Zqdoio/oyid
Miu ouv0ctq kutuotuoq uaoouvti0ctui oc ouo q acpioootcpc ouvtpcouoc
uaokutuotuoci (oi oaoic ovouovtui acoio,/) q oc uoiuiu uaokciocvc cvc
ctuu tou uaokutuotuoci. Miu ocoocvq kutuotuoq aopci vu ckcatuv0ci c cvuv
ukpie uao tou ouo uutou tpoaou. 4uoiku, oaoiuoqaotc uaokutuotuoq iu
ouv0ctq kutuotuoq aopci vu civui caioq iu ouv0ctq kutuotuoq oaoiouoqaotc
tuaou.
1vu oi oqioupqcvo uvtikcicvo ckivuci uao tqv apetq tou kutuotuoq aou
uvtiotoici otqv apetq, aio cetcpikq cuookutuotuoq tou. 1vu uvtikcicvo aou
ctuuivci otqv aio cetcpikq tcikq tou kutuotuoq tcputictui.
Ku0c acpioq iu kutuotuoq aopci vu cci upikq cuookutuotuoq kui tcikq
kutuotuoq. Miu ctuuoq oc iu acpicocvq kutuotuoq uvuaupiotu iu ctuuoq
otqv upikq tq cuookutuotuoq. Miu ctuuoq oc tcikq kutuotuoq uvuaupiotu tq
ouaqpeoq tq opuotqpiotqtu tq acpiuouou acpioq. H ookqpeoq tev
opuotqpiotqtev oc oc ti ouvtpcouoc acpioc uvuaupiotu tqv ookqpeoq tq
opuotqpiotqtu tq acpiuouou kutuotuoq kui apokuci to ouuv ookqpeoq
otqv acpiuouou kutuotuoq. H ookqpeoq otqv aio auve kutuotuoq uvtiotoici
otov tcputioo tq.
11.3.2. Zuo/io
Miu cacktuoq tq kutuotuoq ocivci tq ooq tq coetcpikq quvq kutuotuoq tq.
Eaiacov oto (apouipctiko) ovou kui tu coetcpiku tqutu ctuuoq, iu
95
kutuotuoq aopci vu cci cvu caiacov tqu aou acpicci tqv acpioq c to cv0cto
oiupuu.
Miu cacktuoq iu kutuotuoq oc ouvtpcouoc uaokutuotuoci aupouoiuctui
toao0ctevtu oiau-oiau ti puikc acpioc tq kutuotuoq pqoioaoievtu
oiukckocvc puc iu vu epioouc ti acpioc. Ku0c acpioq civui iu
ouvtpcouou uaokutuotuoq. Ku0c acpioq aopci vu cci cvu apouipctiko ovou kui
apcaci vu acpicci cvu cv0cto oiupuu kutuotuoq c cvc ctuu tou kutuotuoci.
Tu tqutu kcicvou ookqpq tq kutuotuoq aopouv vu civui cepiotu uao ti
ouvtpcouoc uaokutuotuoci kui vu epiovtui c iu cu0ciu puq. Eivui caioq
ouvuto vu pqoioaoiq0ci iu kuptu c to ovou iu ouvtpcouou kutuotuoq. Mc
tq pqoq kuptu kcpoiouc epo.
Miu cacktuoq iu kutuotuoq oc cvc ctuu tou uaokutuotuoci aupouoiuctui c
cvu cv0cto oiupuu kutuotuoq cou otqv acpioq puikev.
Miu upikq cuookutuotuoq aupouoiuctui c cvu ikpo cuto kuko. Lto aio auve
caiacoo tq quvq kutuotuoq, q ctuuoq uao tqv upikq uaokutuotuoq aopci vu
cci e ctikctu to ouuv aou oqioupci to uvtikcicvo, oiuopctiku ocv caitpcactui
vu cci ctikctu. Av ocv cci ctikctu uvuaupiotu oaoiuoqaotc ctuuoq otqv
acpiuouou kutuotuoq. H upikq ctuuoq aopci vu cci iu opuoq.
H tcikq kutuotuoq aupouoiuctui e cvu kuko aou acpiuci cvu ikpo cuto
kuko (cvu otoo). Avuaupiotu tqv ookqpeoq tq opuotqpiotqtu tq
acpiuouou kutuotuoq kui apokuci ckcivq tq ctuuoq otqv acpiuouou
kutuotuoq, aou cci e ctikctu to cvvooucvo ouuv ookqpeoq opuotqpiotqtu
(ouvq0e aupouoiuctui e ctuuoq epi ctikctu) cooov cci opiotci iu tctoiu
ctuuoq.
Lc aoc acpiateoci, civui aio oiko vu uaokpuatouc tqv uaoouv0coq iu
ouv0ctq kutuotuoq. Iiu aupuociu, q quvq kutuotuoq cou oc iu ouv0ctq
kutuotuoq aopci vu civui aou cuq kui uau vu q epuci otqv acpioq puikev
aou civui oiu0coiq iu to oiupuu. Ltqv acpiateoq uutq, q ouv0ctq kutuotuoq
aopci vu uvuaupuotu0ci c pqoq tou puikou tq uaq kutuotuoq kui
pqoioaoievtu cvu cioiko cikovioio aou oqevci tq ouv0coq, toao0ctevtu to
ouvq0e otqv kute ociu eviu. To cikovioio uuto, to oaoio uaotccitui uao ouo
kutuotuoci aou civui toao0ctqcvc opiovtiu kui civui ouvococcvc, civui
aoooioc:ikp oatikq cvociq oti q kutuotuoq civui ouv0ctq uu q uaoouv0coq tq ocv
aupouoiuctui oto oukckpicvo oiupuu kutuotuocev. Avt uutou tu acpicocvu
tq ouv0ctq kutuotuoq aupouoiuovtui oc cepioto oiupuu. H uaokpuq coe
civui ku0upu 0cu puikq cuvioq kui ocv cci kuiu oquoiooikq oquoiu uao
uaoq acpiopioou apoouoq.
96
11.3.3. Hdpsiyd

Lqo 44: Akoov0tokc vnokoxooxoct.

Lqo 45: Lv0cxq koxoxooq c xo ctkovto cvctq onkvq xq
onoov0coq xq.

Lqo 46: Lvvxcovoc vnokoxooxoct.
11.4. Zupdvrd - Events
11.4.1. Zqdoio/oyid
1vu ouuv civui kuti aou ouvcq kui cci oquoiu. Iiu apuktikou okoaou otu
oiupuutu kutuotuoq, civui kuti aou ouuivci kui apokuci iu ctuuoq
kutuotuoq. Tu ouuvtu aopouv vu civui aoev cioev kui oi uaupuitqtu uoiuiu
uaokciocvu.
97
Miu ouv0qkq aou ivctui uq0q (acpipuctui uao iu oikq ckpuoq) cci e
uaotccou cvu otiiotuao cvo ouuvto uuq. To ouuv uuvci
epu oaotc q ckpuoq uao cuoq ivctui uq0q. Lqcieotc oti civui
oiuopctikq uao iu ouv0qkq-uuku.
H qq cvo ku0opiocvou oquto uao cvu uvtikcicvo apocpocvo uao
kuaoio uo cci e uaotccou to otiiotuao ouuvto oquto.
Luoictui c tqv uaopuq tou ouuvto e trigger auve otq ctuuoq.
H qq iu kqoq iu iu apuq, q oaoiu cci uoaoiq0ci e ctuuoq uao
cvu uvtikcicvo uvuaupiotu cvu otiiotuao ouuvto kqoq.
To acpuou iu oukckpicvq povikq acpiooou ctu uao cvu ku0opiocvo
ouuv (ouvu tqv cioooo otq oukckpicvq kutuotuoq) q q cuvioq iu
oukckpicvq epu/qcpoqviu civui cvu poviko ouuv.
O opioo cvo ouuvto cci acoio opuoq tou to aukcto oto oaoio cuvictui kui
aopci vu pqoioaoiq0ci otu oiupuutu kutuotuocev tev kuocev aou couv
oputotqtu cou oto aukcto. 1vu ouuv ocv civui toaiko oc iu ovo kuoq.
11.4.2. Zuo/io
1vu ouuv oquto q kqoq aopci vu opiotci c tqv ukoou0q opq:
vopd-oupdvto '(' /iotd-ndpdpstpov-ps-kppd ')'
Miu aupuctpo cci tq opq:
vopd-ndpdpstpou ':' skpdoq-tnou
1vu oqu aopci vu opiotci pqoioaoievtu tq cq kcioi signal oc cvu ouoo
kuoq oc cvu oiupuu kuoq. Mc tov tpoao uuto opiovtui ovoutu oqutev aou
aopouv vu pqoioaoiq0ouv iu vu apokq0ouv ctuuoci. Oi aupuctpoi opiovtui
e ioioupuktqpiotiku cve ocv uaupouv apuci. 1vu oqu aopci vu opiotci e
uaokuoq uou oquto. Auto oqevci oti iu cuvioq tou uao-ouuvto apokuci
oaoiuoqaotc ctuuoq cuptutui uao to ouuv q oaoiovoqaotc uao tou apoovou
tou.
1vu ouuv povou aou acpuoc aopci vu opiotci c tq cq kcioi after
ukoou0oucvq uao iu ckpuoq q oaoiu uaotiutui (kutu to povo ovtcoaoiqoq)
oc iu povikq aoootqtu, oae after (5 seconds) q after(10 seconds since exit from
state A). Av ocv uaooqevctui upiko oqcio, totc civui povo uao tqv cioooo otqv
tpcouou kutuotuoq. Au poviku ouuvtu aopouv vu ku0opiotouv e ouv0qkc,
oae when(date = Jan. 1, 2000).
Miu ouv0qkq aou ivctui uq0q aupouoiuctui c tq cq kcioi when ukoou0oucvq
uao iu oikq ckpuoq. Auto aopci vu 0cepq0ci e ouvcq cco iu tq ouv0qkq
cpi vu ivci uq0q, cve otqv apuutikotqtu 0u ccctui oaotc uuouv oi tic.
98
11.4.3. Hdpsiyd

Lqo 47: Oto oqxev.
11.5. AnA psrddos - Simple Transitions
11.5.1. Zqdoio/oyid
Miu uaq ctuuoq civui iu ocoq uvucou oc ouo kutuotuoci, q oaoiu oqevci oti
cvu uvtikcicvo aou piokctui otqv apetq kutuotuoq 0u ctuci otq ocutcpq
kutuotuoq kui 0u kuvci kuaoic oukckpicvc opuoci otuv uci epu cvu
oukckpicvo ouuv kui c tqv apoao0coq oti ikuvoaoiouvtui opiocvc ouv0qkc.
Lc iu tctoiu uuq kutuotuoq q ctuuoq cctui oti aupoootcitui. O trigger iu
tq ctuuoq civui q cuvioq tou ouuvto aou pqoioaoicitui e ctikctu otq
ctuuoq. To ouuv aopci vu cci aupuctpou, oi oaoic civui apooacuoic uao
ti opuoci aou ku0opiovtui otq ctuuoq, ku0e kui uao ti uvtiotoic opuoci
cioooou kui cooou aou octiovtui c tqv kutuotuoq otoo kui tqv aquiu kutuotuoq,
uvtiotoiu. Tu ouuvtu caccpuovtui cvu ku0c opu. Av cvu ouuv ocv apokuci
iu ctuuoq, totc uaoppiatctui. Av aopci vu apokucoci auve uao iu ctuuoci
otqv ioiu ukoou0iukq acpioq (oquoq oi oc oiuopctikc ouvtpcouoc acpioc), 0u
aupoootq0ci ovo iu uao uutc. Av uutc oi oukpouocvc ctuuoci couv tqv ioiu
apotcpuiotqtu, caicctui iu tuuiu kui aupoootcitui.
11.5.2. Zuo/io
Miu ctuuoq aupouoiuctui e iu puq aou ckivu uao tqv apyoio kutuotuoq kui
tcputictui c cvu co otqv kutuotuoq o:o,o. Maopci vu cci e ctikctu iu
ocnooocioo nc:ooop q oaoiu cci tqv ukoou0q cvikq opq:
99
unoypdq-oupdvto '[' ouv0qkq-/dkd ']' '/' skpdoq-pdoq
H caoyoop-ocnov:o acpipuci cvu ouuv kui tu opioutu tou:
vopd-oupdvto '(' /iotd-ndpdpstpov-ps-kppd ')'
H ocv0pkp-oko civui iu oikq ckpuoq aou civui pucvq pqoioaoievtu ti
aupuctpou tou ouuvto kui tu ioioupuktqpiotiku kui tou ouvocoou tou
uvtikcicvou oto oaoio uvqkci q quvq kutuotuoq. H ouv0qkq-uuku aopci
caioq vu acpiuuvci ccou iu ouvtpcouoc kutuotuoci otqv tpcouou quvq
q pqtu ku0opiocvc kutuotuoci opiocvev uvtikcicvev tu oaoiu aopouv vu
apooacuotouv (iu aupuociu, in State1 q not in State2). Tu ovoutu tev
kutuotuocev aopouv vu civui aqpe apoooiopiocvu uao ti cv0ctc kutuotuoci
aou tu acpiuuvouv, oivovtu ovoutu tq opq State1::State2::State3. Auto o
tpoao aopci vu pqoioaoiq0ci otuv to ioio ovou kutuotuoq cuvictui oc
oiuopctikc acpioc ouv0ctev kutuotuocev tq ouvoikq quvq.
H /kooop-oooop cktccitui otuv kui cooov aupoootcitui q ctuuoq. Maopci vu
puci pqoioaoievtu ti apuci, tu ioioupuktqpiotiku kui tou ouvocoou tou
uvtikcicvou oto oaoio uvqkci, ti aupuctpou tou ouuvto aou tqv aupoootci q
oaoio ou upuktqpiotiko civui oputo oto acoio opuoq tq. H uvtiotoiq opuoq 0u
apcaci vu cktccotci c ookqpou apotou upioouv vu cktcouvtui uc opuoci.
Auto to ovtco cktccoq ovouctui kui oquoiooiu ck:/cop /c :/oc. H
ckpuoq opuoq aopci vu civui iu ukoou0iu opuocev q oaoiu uaotccitui uao cvu
aq0o oiukpitev opuocev ouacpiuuvocvev kui opuocev aou aupuouv pqtu
ouuvtu, oae vu uaootcouv oqutu q vu kuouv apuci. Oi catocpcic tq
ckpuoq cuptevtui uao tq eoou opuoq aou cci caicci iu to ovtco.
Xpvo rtooq
Aiau oti ctuuoci aopouv vu toao0ctq0ouv ovoutu iu vu ku0opiotouv oi povoi
otou oaoiou uutc aupoootouvtui.
11.5.3. Hdpsiyd
right-mouse-down (location) [location in window] / object := pick-object(location);
^object.highlight()
To ouuv aopci vu civui oaoiouoqaotc uao tou apotuaou tuaou ouuvtev. H
caioq tou tuaou cuptutui uao tq ouvtuq tou ovouto (iu tu poviku ouuvtu
iu aupuociu), uu tu ouuvtu oquto kui tu ouuvtu kqoq ocv oiukpivovtui
ucou uao tq ouvtuq tou kui apcaci vu couv oiuepiotci uao tov opioo tou oc
uo oqcio.
11.6. Msrddos dn kd npo ouvrpyouos kdrdordos
Miu ouvtpcouou kutuotuoq aopci vu cci aoc aquic kutuotuoci kui aoc
kutuotuoci otoou. Avuaupiotu cvu oupovioo q/kui to oiuepioo tou ccou oc
ouvtpcovtu vqutu epi ouvtpcouoc uaokutuotuoci.
100
11.6.1. Zqdoio/oyid
Miu ouvtpcouou ctuuoq cvcpoaoicitui otuv couv kutuq0ci oc oi aquic
kutuotuoci tq. Aou aupoootq0ci q ouv0ctq ctuuoq kutuuuvovtui oc oi
kutuotuoci otooi tq.
11.6.2. Zuo/io
Miu ouvtpcouou ctuuoq acpicci iu ikpq upiu aupu (iu naooo ocy,ooviono, q
oaoiu aopci vu uvuaupiotu oupovioo, oiuoauoq forking q kui tu ouo). H aupu
aopci vu occtui cvu q acpioootcpu cq uao kutuotuoci (ovouovtui apyoic
ko:oo:ooci). H aupu aopci vu otcvci cvu q acpioootcpu cq apo kutuotuoci
(ovouovtui ko:oo:ooci o:o,oi). Kovtu otq aupu aopci vu cuvictui iu
ouooocipu ctuuoq. Tu cq ocv couv oikc tou ouooocipc ctuuoq.
11.6.3. Hdpsiyd

Lqo 48: Lvvxcovoc cxooct.
11.7. Msrddos dn kd npo ov0srs kdrdordos
11.7.1. Zqdoio/oyid
Miu ctuuoq aou ooqci oto opio iu ouv0ctq kutuotuoq civui iooouvuq c iu
ctuuoq oto upiko tq oqcio (q c iu ouv0ctq ctuuoq otu upiku oqciu ku0c
iu uao ti ouvtpcouoc acpioc tq, cooov civui ouvtpcouou). H opuoq cioooou
apuutoaoicitui auvtu otuv ciocpouotc otqv kutuotuoq uao ce.
Miu ctuuoq uao iu ouv0ctq kutuotuoq oqevci oti q ctuuoq cupoctui oc
ku0c iu uao ti kutuotuoci cou otqv acpioq kutuotuocev (oc oaoiooqaotc u0o).
Kqpovocitui uao ti cv0ctc kutuotuoci.
11.7.2. Zuo/io
Miu ctuuoq apo to opio iu ouv0ctq kutuotuoq oqevci iu ctuuoq otq
ouv0ctq kutuotuoq. Eivui iooouvuq c ctuuoq otqv upikq cuookutuotuoq tq
acpioq tq ouv0ctq kutuotuoq. H upikq cuookutuotuoq apcaci vu uiotutui. Av
q kutuotuoq civui iu ouvtpcouou ouv0ctq kutuotuoq, totc q ctuuoq oqevci iu
ctuuoq otqv upikq cuookutuotuoq ku0c iu uao ti ouvtpcouoc
uaokutuotuoci.
Oi ctuuoci aopouv vu ocoiuotouv ua cu0ciu apo kutuotuoci cou otqv
acpioq tq ouv0ctq kutuotuoq oc oaoiooqaotc u0o cv0coq. Hpuutoaoiouvtui
oc oi opuoci cioooou iu oc ti kutuotuoci oti oaoic ivctui q cioooo oc
101
oaoiuoqaotc ctuuoq. Lc iu ctuuoq cou oc iu ouvtpcouou ouv0ctq kutuotuoq,
tu cq ctuuoq uao tq aupu oupovioou aopci vu ocoiuotq apo iu q
acpioootcpc ouvtpcouoc kutuotuoci. Oaoiuoqaotc uq ouvtpcouou acpioq
ckivu c tq oikq tq c opioou upikq cuookutuotuoq.
Miu ctuuoq aou ocoiuctui uao to opio iu ouv0ctq kutuotuoq oqevci iu
ctuuoq tq ouv0ctq kutuotuoq. Av aupoootq0ci iu tctoiu kutuotuoq, oc oi
cv0ctc kutuotuoci uvukuovtui vu tcputiotouv kui vu apuutoaoiqoouv ti
opuoci cooou tou, otq ouvcciu uuvouv epu oi opuoci ctuuoq kui
apokuatci q vcu kutuotuoq.
Oi ctuuoci aopouv vu ocoiuotouv ua cu0ciu uao kutuotuoci cou oc iu
acpioq ouv0ctq kutuotuoq oc oaoiooqaotc u0o cv0coq oc cetcpikc
kutuotuoci. Hpuutoaoiouvtui oc oi opuoci cooou uao ti kutuotuoci uao ti
oaoic ccpouotc uao oaoiuoqaotc ctuuoq. Lc iu ctuuoq uao to coetcpiko
cpo iu ouvtpcouou ouv0ctq kutuotuoq, tu cq tq ctuuoq aopouv vu
apocpovtui uao iu q acpioootcpc ouvtpcouoc kutuotuoci kui vu kutuqouv oc
iu aupu oupovioou. Luvcae oukckpicvc kutuotuoci oc uc acpioc ocv
couv ocoq c tqv apokqoq tq ctuuoq.
Miu acpioq kutuotuocev aopci vu acpicci iu /vocip io:ooikp ko:oo:oop (history
state indicator), q oaoiu aupouoiuctui e cvu ikpo kuko aou acpicci to puu
H. H cvociq iotopikq kutuotuoq cupoctui otqv acpioq kutuotuocev aou tqv
acpicci ucou. H cvociq iotopikq kutuotuoq aopci vu cci oaoiovoqaotc upi0o
ciocpocvev ctuuocev uao cetcpikc kutuotuoci. Maopci vu cci to aou iu
ccpocvq ctuuoq epi ctikctu. Hpoooiopici tqv c opioou apoqoucvq
kutuotuoq uv ocv cci cioc0ci aotc kuvcvu otqv acpioq. Av aupoootq0ci q
ctuuoq apo tqv cvociq iotopikq kutuotuoq, oqevctui oti to uvtikcicvo
cauvcpctui otqv kutuotuoq otqv oaoiu piokotuv tqv tccutuiu opu aou qtuv otq
ouv0ctq acpioq. Hpuutoaoiouvtui oaoicooqaotc uvukuic opuoci cioooou. H
cvociq iotopikq kutuotuoq aopci vu ouoiotci kui c to H* iu o0io
io:ooio. Auto oqevci oti to uvtikcicvo cauvcpctui otqv tccutuiu kutuotuoq aou
piokotuv oc oaoiooqaotc u0o cou otq ouv0ctq acpioq, uvti vu acpiopictui oti
kutuotuoci oto ioio caiacoo c tqv cvociq iotopikq kutuotuoq. Miu acpioq aopci
vu cci tooo iu uaq cvociq iotopikq kutuotuoq kui iu cvociq u0iu iotopikq
kutuotuoq.
11.7.3. Ei/oy dpouoidoq
Stubbed rtoor
Oi cv0ctc kutuotuoci aopouv vu aupuq0ouv. Oi ctuuoci oc cv0ctc
kutuotuoci ctucpovtui otqv acpioootcpo octikq, oputq acpiuouou kutuotuoq
uutq aou aupuq0qkc. Oi ctuuoci aou couv ctucp0ci kui ocv apocpovtui uao
iu tcikq kutuotuoq epi ctikctu q ocv aquivouv apo iu upikq cuookutuotuoq
epi ctikctu aopouv (epi vu civui uaupuitqto) vu aupouoiuotouv oti aquivouv q
cpovtui uao stubs. 1vu stub aupouoiuctui ou iu ikpq ku0ctq puq (aupu) q
oaoiu cci ocoiuotci cou oto opio tq acpiuouou kutuotuoq. Aqevci iu
102
ctuuoq aou ouvocctui c iu kutuotuoq aou cci aupuq0ci. Tu stubs oc
pqoioaoiouvtui iu ctuuoci apo upikc q uao tcikc kutuotuoci.
Lqcieotc oti tu ouuvtu apcaci vu aupouoiuovtui oc ctuuoci aou ooqouv oc
iu kutuotuoq, citc cou oto opio tq kutuotuoq citc oc iu coetcpikq
uaokutuotuoq, ouacpiuuvocvq tq ctuuoq oc iu stubbed kutuotuoq.
Kuvoviku tu ouuvtu ocv 0u capcac vu aupouoiuovtui oc ctuuoci aou ooqouv
uao iu stubbed kutuotuoq oc iu cetcpikq. Ou apcaci vu okctouotc tq ctuuoq
ou vu uvqkci otqv aquiu kutuotuoq tq. Av q aquiu kutuotuoq tq cci aupuq0ci,
to ioio iouci kui iu ti catocpcic tq ctuuoq. Lqcieotc caioq oti q ctuuoq
uao iu tcikq kutuotuoq aupouoiuctui cv acpiqci c iu ctuuoq epi ctikctu
uao to auioio tq ouv0ctq kutuotuoq (oqevovtu to ccoo ouuv opuoq
ookqpe0qkc iu tqv uvtiotoiq kutuotuoq).
11.7.4. Hdpsiyd
Akoou0ouv aupuociutu iu ti stubbed ctuuoci kui tqv cvociq iotopikq
kutuotuoq.

Lqo 49: Stubbed cxooct.

Lqo 50: Tvctq toxotkq koxoxooq.
103
11.8. Hdpdyovronoqpvs psrddos kdrdordosmv
11.8.1. Zqdoio/oyid
E opiooi, iu ctuuoq ouvocci ukpie ouo koou oto puo tq quvq
kutuotuocev. Oe, cooov opiocvoi uao tou koou civui cuookutuotuoci
civui uoci ctuutikc uaupci q uvukq acpipuq tev uuoioev tev ctuuocev
aou aopouv vu cktccotouv oto auioio cvo quto cktccoq cpi tcou. Miu
tctoiu ctuuoq civui veotq e ov0c:p nc:ooop.
O apuktiko ctpo civui ouvu pqoio tqutu iu ouv0ctq ctuuoq vu
oiuoipuovtui. Iiu aupuociu, ouo q acpioootcpc oiukpitc ouv0ctc ctuuoci
aopouv vu c0ouv ui kui vu ouvcioouv oc iu koivq oiuopoq, oiuoipuocvc tq
opuoq tq kui ai0uve tcputiovtu otqv ioiu kutuotuoq otoo. Lc uc acpiateoci,
aopci vu civui pqoio vu oiuoauotci iu ctuuoq oc aoc uoiuiu uaokciocvc
(oquoq q ouvtpcouoc) oiuopoc.
Kui tu ouo aupuociutu puikq aupuovtoaoiqoq otu oaoiu opiocvc ctuuoci
oiuoipuovtui couv e uaotccou uaoaoiqcvu oiupuutu. Oe, q
aupuovtoaoiqoq civui caioq pqoiq otuv ovtcoaoiouc ouvuiku apooupoocvq
ouacpiopu. 1vu aupuociu ouuivci otuv cvu ovo ouuv aopci vu ooqqoci oc
cvu ouvoo kutuotuocev otoev, uu uaupci ovo iu tcikq kutuotuoq q oaoiu
ku0opictui e to uaotccou iu opuoq (uaooioou) aou apuutoaoicitui uou
aupoootq0ci q ouv0ctq ctuuoq.
Lqcieotc oti q oiuoauoq kui cveoq tev oiuopoev c uitiu tq aupuovtoaoiqoq
civui oiuopctikq uao tq oiuoauoq kui cveoq tev ouv0ctev ctuuocev. Oi aqc kui
oi otooi tev aupuovtoaoiqcvev ctuuocev ocv civui ouvtpcovtc.
11.8.2. Zuo/io
Auo q acpioootcpc ctuuoci aou apocpovtui uao oiuopctikc q ouvtpcouoc
kutuotuoci q cuookutuotuoci aopouv vu tcputiouv oc cvu koivo oqcio cveoq.
1toi caitpcactui oi koivc ouv0ctc ctuuoci tou vu oiuoipuovtui iu koivq
oiuopoq aou ckivu uao to oqcio cveoq. 1vu oqcio cveoq uvuaupiotutui c cvu
ikpo uupo kuko. Evuuktiku aopci vu aupouoiuotci c cvu poo.
Auo q acpioootcpc ctuuoci c uuku aou ckivuvc uao to ioio oqcio cveoq
uvuaupiotouv cvu o:o:iko opncio oiokoocop. Kuvoviku, oi uukc 0u apcaci vu civui
uoiuiu uaokciocvoi. Auto civui iooouvuo c cvu ouvoo uutovoev ctuuocev,
iu iu ku0c oiuopoq cou uao to ocvopo, tev oaoiev q ouv0qkq uuku civui to
oiko kui oev tev ouv0qkev otq oiuopoq. Lqcieotc oti q oquoiooiu tev
otutikev oiukuoeocev civui oti ooi oi ccpocvoi uukc uaotievtui aoiv ouci
oaoiuoqaotc ctuuoq.
Auo q acpioootcpc ctuuoci c uuku aou ckivuvc uao cvu koivo opncio
ocvonikp caioyp pqoioaoiouvtui iu vu ovtcoaoiqoouv ouvuikc caioc. Ltqv
acpiateoq uutq, oi uukc tev ccpocvev ctuuocev uaotievtui otuv tuoci
oto oqcio caioq. H tiq tev uukev aopci vu civui iu ouvuptqoq opiocvev
uaooioev aou couv apuutoaoiq0ci oti opuoci tev ciocpocvev ctuuocev.
104
1vu oqcio ouvuikq caioq uvuaupiotutui c cvu ikpo cuko kuko (uaocivupi
cvo ikpou cikovioiou kutuotuoq).
11.8.3. Hdpdsiydd
Lto caocvo oqu pqoioaoicitui cvu oqcio cveoq iu vu cveoci kui vu oiuoauoci
ctuuoci. Avcuptqtu uao to uv couc tuoci oto oqcio cveoq uao tqv
kutuotuoq State0 q tqv kutuotuoq State1, oi ccpocvc oiuopoc civui oi ioic. Av q
quvq kutuotuoq oto aupuociu uuto civui otqv kutuotuoq State1 kui to b civui
ikpotcpo tou 0, otuv uci epu to ouuv e1, totc q ccpocvq ctuuoq 0u
ukoou0q0ci ovo uv civui uq0q cvu uao tou tpci ccpocvou uukc. Luvcae
uv to a iooutui c 6 oto oqcio uuto, oc 0u aupoootq0ci q ctuuoq.

Lqo 51: Lqco cveoq.
Lto aupuociu tou oqciou ouvuikq caioq oto caocvo oqu, q caioq octiku
c to aoio kuoo 0u ukoou0q0ci 0u ivci ovo uou cci ukoou0q0ci q ctuuoq
uao tqv kutuotuoq State1 kui couc tuoci oto oqcio caioq. Lqcieotc oti q
octiocvq c tqv ciocpocvq ctuuoq opuoq uaooici iu vcu tiq iu to a. H
vcu tiq aopci vu pqoioaoiq0ci iu vu caic0ci aoiu uao ti ccpocvc ctuuoci
0u ukoou0q0ci. H pqoq tq apoku0opiocvq ouv0qkq [else] ouviotutui iu vu
uaocu0ouv u0q kutu tqv cktccoq.

Lqo 52: Lqco vvotkq cntoyq.
11.9. Kdrdordos unopqydvq - Submachine states
11.9.1. Zqdoio/oyid
Miu kutuotuoq uaoquvq uvuaupiotu tqv kpop iu quvq kutuotuoq aou cci
opiotci oc uo oqcio. Eivui aupooio c iu kqoq ukpocvtoq kui c tqv cvvoiu
105
uutq uvuaupiotu cvu puiko pqopo tpoao aou uaovoci oti cvoeutevctui iu
ouv0ctq apooiupuq oc iu uq apooiupuq. H uaoquvq apcaci vu acpicctui oto
ioio auioio c tq quvq kutuotuoq aou tqv kuci.
Ltq cvikq acpiateoq, aopouc vu ciou0ouc oc iu quvq kutuotuoq uao
oaoiuoqaotc uao ti uaokutuotuoci tq q coe tq c opioou (upikq)
cuookutuotuoq. Hupooiu, aopouc vu cc0ouc uao oaoiuoqaotc uaokutuotuoq
q e uaotccou tou oti q quvq kutuotuoq cci tuoci otqv tcikq tq kutuotuoq
q uao iu kqpovoqcvq q ouoikq ctuuoq aou cupoctui oc oc ti
uaokutuotuoci tq uaoquvq.
Oi q c opioou ciooooi kui coooi ku0opiovtui coe cioikev kutuotuocev stubs.
11.9.2. Zuo/io
H uaoquvq kutuotuoq aupouoiuctui e kuvoviku kutuotuoq c tqv kutuqq
oqeoq include cou oto tqu tev coetcpikev tq ctuuocev. H ckpuoq aou
ukoou0ci tq ococucvq cq include civui to ovou tq uaoquvq aou kq0qkc.
Evuuktiku, q uaoquvq kutuotuoq aopci vu acpicci iu q acpioootcpc
kutuotuoci cioooou stub kui iu q acpioootcpc kutuotuoci cooou stub. O
ouoioo iu uutc civui aupooio c uutov aou pqoioaoicitui iu tu stub ukpu
iu stubbed ctuuoq, c ovq oiuopu oti tu ukpu couv ctikctc. Oi ctikctc
uvuaupiotouv to ovou tev uvtiotoiev uaokutuotuocev cou otqv uaoquvq aou
kq0qkc. Av q uaokutuotuoq ocv cci opiotci oto uvetcpo caiacoo tq uaoquvq aou
kq0qkc aopci vu pqoioaoiq0ci cvu ovou oiuopoq. 4uoiku to ovou uuto apcaci
vu civui cvu ckupo ovou iu kutuotuoq otqv uaoquvq aou kq0qkc.
Av cioc0ouc otqv uaoquvq coe tq c opioou cuookutuotuoq tq q uv
cc0ouc e uaotccou tq ookqpeoq tq uaoquvq, ocv civui uaupuitqto vu
pqoioaoiq0ci oti acpiateoci uutc o ouoioo stub. Avuou, iu kutuotuoq
stub ocv civui uaupuitqtq uv q cooo ouuivci coe iu ouoikq ctuuoq aou
ckivu uao to opio tq uaoquvq kutuotuoq (c tqv cvvoiu oti cupoctui oc oc
ti uaokutuotuoci tq uaoquvq).
Oi kutuotuoci tq uaoquvq aou kuouvtui uao tqv ioiu uaoquvq aopouv vu
uuvouv epu aoc opc oto ioio oiupuu kutuotuocev c oiuopctikc
cioooou kui cooou kui c oiuopctikc coetcpikc ctuuoci kui apooiupuc
opuoci cioooou kui cooou oc ku0c acpiateoq.
11.9.3. Hdpsiyd
To ukoou0o oiupuu aupouoiuci cvu tqu uao cvu oiupuu kutuotuocev oto
oaoio kucitui iu uaoquvq (q FailureSubmachine) c cvu oukckpicvo tpoao. H
apuutikq uaoquvq apouve opictui oc uo oqcio kui ocv aupouoiuctui oto
oiupuu. Lqcieotc oti q ioiu uaoquvq aopci vu kq0ci kui uou oto ioio
oiupuu kutuotuoq c oiuopctikc cioooou kui cooou.
106

Lqo 53: Ynoqovq koxoxooq.
Lto aio auve aupuociu, q ctuuoq aou apokucitui uao to ouuv error1 0u
tcputiotci otqv kutuotuoq sub1 tq quvq kutuotuoq FailureSubmachine.
Eooov to oqcio cioooou ocv acpicci cvu ovou oiuopoq, oquivci oti q sub1
opictui oto uvetcpo caiacoo tq uaoquvq. Avti0ctu, q ctuuoq aou apokucitui
uao to ouuv error2 0u tcputioci otqv uaokutuotuoq sub12 tq uaokutuotuoq
sub1 (oae apokuatci uao to ovou oiuopoq), cve q ctuuoq error3 uaooqevci
oti ukoou0ci tqv c opioou ctuuoq tq FailureSubmachine.
H ctuuoq aou apokucitui uao to ouuv fixed ckivu uao tqv uaokutuotuoq
subEnd tq uaoquvq. Tco q ctuuoq aou ckivu uao to ukpo tq uaoquvq
kutuotuoq uuvctui e to uaotccou tou ouuvto ookqpeoq aou cvvutui
otuv q FailureSubmachine tuoci otqv tcikq tq kutuotuoq.
11.10. Kdrdordos ouyypovopo - Synch states
11.10.1. Zqdoio/oyid
Miu kutuotuoq oupovioou pqoioaoicitui iu vu oupoviovtui oi ouvtpcouoc
acpioc iu quvq kutuotuocev. Xpqoioaoicitui oc ouvouuoo c fork kui join iu
vu caicuie0ouc oti iu acpioq uqvci iu oukckpicvq kutuotuoq q kutuotuoci
apiv cioc0ci oc uutq q uutc uq acpioq. H aupoootqoq tev caocvev ctuuocev
uao iu kutuotuoq oupovioou aopci vu acpiopiotci opiovtu cvu puu aou
uoictui otq oiuopu tou aq0o tev ciocpocvev kui tev ccpocvev
kutuotuocev aou couv aupoootq0ci.
11.10.2. Zuo/io
Miu kutuotuoq ouoioou aupouoiuctui e cvu ikpo kuko aou acpicci to uve
puu. To puu aopci vu civui citc cvu 0ctiko ukcpuio citc cvu uotcpi (*) iu
uacpiopioto uve puu. Oi kutuotuoci oupovioou ocoiuovtui auve oto opio
uvucou oti ouo acpioc cooov uuto civui ouvuto.
107
11.10.3. Hdpsiyd

Lqo 54: Koxooxoct ovyovtoo.
12. Aoypoto pootqptqto - Activity diagrams
12.1. dypdppd pdorqprqrd - Activity diagram
12.1.1. Zqdoio/oyid
1vu puo opuotqpiotqtev civui iu aupuuq tq quvq kutuotuoq otqv oaoiu
oi kutuotuoci uvuaupiotouv tqv cktccoq tev opuocev q tev uaoopuotqpiotqtev kui
oi ctuuoci apokuouvtui uao tqv ookqpeoq tev opuocev q tev
uaoopuotqpiotqtev. Avuaupiotu iu kutuotuoq quvq tq ioiu tq oiuoikuoiu.
12.1.2. Zuo/io
1vu oiupuu opuotqpiotqtu civui iu cioikq kutuotuoq cvo oiupuuto
kutuotuoq oto oaoio oc (q touuiotov oi acpioootcpc) uao ti ctuuoci
apokuouvtui uao tqv ookqpeoq tev opuocev q tev uaoopuotqpiotqtev tev
aquiev kutuotuocev. To oiupuu opuotqpiotqtu apookoutui (coe tou
ovtcou) oc iu kuoq, oae iu acpiateoq pqoq, q oc cvu aukcto q otqv
uoaoiqoq iu apuq. Lkoao tou oiupuuto uutou civui vu cotiuoci oc poc aou
apokuouvtui uao tqv coetcpikq caccpuoiu (oc uvtioiuotoq c tu cetcpiku
ouuvtu). Xpqoioaoiouc oiupuutu opuotqpiotqtu oc acpiateoci oaou ou q
tu acpioootcpu uao tu ouuvtu uvuaupiotouv tqv ookqpeoq coetcpiku
aupuocvev opuocev (oquoq, tq oiuoikuotikq poq ccou). Xpqoioaoiouc uau
oiupuutu kutuotuocev oc acpiateoci aou ouuivouv uoupovu ouuvtu.
108
12.1.3. Hdpsiyd

Lqo 55: Atyoo ooxqtxqxo.
12.2. Kdrdordoq pdoq - Action state
12.2.1. Zqdoio/oyid
Miu ko:oo:oop oooop civui iu ouvtqoq iu iu kutuotuoq c iu opuoq cioooou kui
touuiotov iu ccpocvq ctuuoq q oaoiu acpiuuvci to cvvooucvo ouuv tq
ookqpeoq tq opuoq cioooou (aopouv vu uaupouv aoc tctoic ctuuoci uv
couv ouv0qkc uukc). Oi kutuotuoci opuoq oc 0u apcaci vu couv coetcpikc
ctuuoci q ccpocvc ctuuoci aou uoiovtui oc pqtu ouuvtu, iu ti
acpiateoci uutc 0u apcaci vu pqoioaoiq0ouv uac kutuotuoci. H ouvq0q pqoq
iu kutuotuoq opuoq civui iu vu ovtcoaoiqoci cvu qu otqv cktccoq cvo
uopi0ou (iu oiuoikuoiu) q iu oiuoikuoiu poq cpuoiu.
109
12.2.2. Zuo/io
Miu kutuotuoq opuoq aupouoiuctui e cvu oqu c to auve kui to kute cpo tou
vu civui cu0ciu, cve oi ouo acupc tou civui kuptu tou. Mcou oto ouoo uaupci
iu /kooop-oooop. H ckpuoq opuoq oc pciuctui vu civui ovuoikq cou oto
oiupuu.
Oi ctuuoci aou cuouv uao iu kutuotuoq opuoq oc 0u apcaci vu acpicouv iu
uaopuq ouuvto. Oi ctuuoci uutc apokuouvtui ccou uao tqv ookqpeoq
tq opuoq tq kutuotuoq. Oi ctuuoci aopouv vu acpicouv ouv0qkc uukc kui
opuoci.
12.2.3. Hdpsiyd

Lqo 56: Koxooxoct oq.
12.3. Kdrdordoq unopdorqprqrd - Subactivity state
12.3.1. Zqdoio/oyid
Miu ko:oo:oop caooooo:poio:p:o cvcpoaoici cvu puo opuotqpiotqtev. Otuv
ciocpouotc oc iu kutuotuoq uaoopuotqpiotqtu, cktccitui o cv0cto puo
opuotqpiotqtev, oae 0u ouvcuivc c oaoiovoqaotc puo opuotqpiotqtev. Acv
ccpouotc uao iu kutuotuoq uaoopuotqpiotqtu uv ocv couc tuoci otqv tcikq
kutuotuoq tou cv0ctou puou q uv ocv apokq0ouv tu uvtiotoiu ouuvtu oti
ctuuoci aou ccpovtui uao tqv kutuotuoq uaoopuotqpiotqtu.
12.3.2. Zuo/io
Miu kutuotuoq uaoopuotqpiotqtu aupouoiuctui c tov ioio tpoao c iu kutuotuoq
opuoq, c tq oiuopu oti otqv kute ociu eviu apcaci vu uaupci cvu cikovioio aou
vu uacikovici cvu cv0cto oiupuu kutuotuoq. To ovou tq uaoopuotqpiotqtu
aupouoiuctui cou oto ouoo. Miu uaoopuotqpiotqtu ocv uauitcitui vu civui
ovuoikq cou oto oiupuu. O tpoao uuto cupoctui oc oc ti ooc tq UML
aou uaootqpiouv cv0ctq ooqoq. To cikovioio aopci vu oqevci to cioo tq cv0ctq
ooq.
12.3.3. Hdpsiyd

Lqo 57: Koxooxoct vnoooxqtxqxo.
110
12.4. Anodos - Decisions
12.4.1. Zqdoio/oyid
1vu oiupuu kutuotuoq (kui kut cacktuoq cvu oiupuu opuotqpiotqtu)
ckpuci iu uaouoq otuv pqoioaoiouvtui ouv0qkc uukc iu vu oqeoouv
oiuopctikc ai0uvc ctuuoci aou cuptevtui uao oikc ouv0qkc tou
uvtikcicvou ioioktqtq. H UML aupcci iu ouvtqoq iu vu ocivci ti uaouoci kui
vu ti cvevci ti cepiotc oiuopoc ui.
12.4.2. Zuo/io
Miu uaouoq aopci vu aupouoiuotci toao0ctevtu ctikctc oc aoc ccpocvc
ctuuoci iu opuoq c oiuopctikc ouv0qkc uukc.
To cikovioio aou aupcctui iu tqv uaouoq civui o aupuoooiuko poo, c cvu
ciocpocvo co kui ouo q acpioootcpu ccpocvu, ku0c cvu uao tu oaoiu cci e
ctikctu iu ouv0qkq uuku epi trigger cvo ouuvto. Ou apcaci ou tu ai0uvu
uaotccoutu vu cuviovtui oc iu uao ti ccpocvc ctuuoci. Maopci vu
opiotci cvu apoku0opiocvo uuku [else] oc aou iu uao ti ccpocvc
ctuuoci. H ctuuoq uutq cvcpoaoicitui uv ooi oi uukc tev uev
ctuuocev civui cuoci.
To ioio cikovioio aopci vu pqoioaoiq0ci iu vu cveoci uvu kuoou uaouocev,
oaotc kucitui cveoq. Miu cveoq cci ouo q acpioootcpu ciocpocvu cq kui cvu
ccpocvo.
Lqcieotc oti q uuoiou tev uaouocev aopci vu civui cpo iu ouv0ctq
ctuuoq, uu ovo to apeto tqu oc iu aupooiu uuoiou aopci vu acpicci iu
ctikctu c trigger ouuvto. Ou tu tqutu aopouv vu couv ckpuoci uukc. H
ctuuoq aou apocpctui uao iu cveoq ocv aopci vu cci trigger ouuvto q
ckpuoq uuku.
12.4.3. Hdpsiyd

Lqo 58: Anooq kot cveoq.
111
12.5. Swimlanes
1

12.5.1. Zqdoio/oyid
Oi apuci kui oi uaoopuotqpiotqtc aopouv vu opuve0ouv oc swimlanes. Oi
swimlanes pqoioaoiouvtui iu vu opuveoouv tqv uacu0uvotqtu iu opuoci kui
uaoopuotqpiotqtc uvuou c tqv kuoq. Luvu uvtiotoiouv oc opuvetikc ovuoc
oto ctuipiko ovtco.
12.5.2. Zuo/io
1vu oiupuu opuotqpiotqtu aopci vu oiuepiotci oatiku oc swimlanes, ku0c iu
uao ti oaoic civui oiuepiocvq uao ti oiauvc tq c ku0ctc puc kui uao ti
ouo acupc. Ku0c swimlane uvuaupiotu upooiotqtu iu cpo tq oikq
opuotqpiotqtu kui aopci tciku vu uoaoiq0ci c cvu q acpioootcpu uvtikcicvu. H
octikq ocipu tev swimlanes ocv cci oquoiooikq oquoiu, uu aopci vu oqevci
kuaoiu ouvuciu. Ku0c opuoq uvqkci oc iu ovo swimlane. Oi ctuuoci aopouv vu
oiuotuupevovtui c ti puc. Acv uaupci oquoiu otq opoooqoq tq oiuopoq
tev ctuuocev.
12.5.3. Hdpsiyd

Lqo 59: Swimlanes oxo tyoo ooxqtxqxo.

1
Kutu cq q oiuopoq oc iu aioivu.
112
13. Aoypoto uKonoqoq - ImpIementation diagrams
Tu oiupuutu uoaoiqoq aupouoiuouv oci tq uoaoiqoq,
ouacpiuuvocvq tq ooq tou keoiku kui tq ooq tq uoaoiqoq. Yaupouv
ouo opc tou: (1) tu oiupuutu ouvioteoev aupouoiuouv tq ooq tou ioiou tou
keoiku kui (2) tu oiupuutu deployment aupouoiuouv tq ooq tou ouotquto aou
0u cktccotci. Eaioq aopouv vu cupootouv c aio cupciu cvvoiu otq
ovtcoaoiqoq iu ctuipiu oaou keoiku civui oi oiuoikuoic tq ctuipiu kui tu
kcicvu tq kui q ooq tou ouotquto aou 0u cktccotci civui oi opuvetikc ooc
kui oi aopoi (uv0peaivoi kui uoi) tq ctuipiu.
13.1. dypdppd ouvor6od - Component diagram
13.1.1. Zqdoio/oyid
1vu oiupuu ouvioteou aupouoiuci ti cuptqoci uvucou oti ouvioteoc
oioikou, ouacpiuuvocvev tev ouvioteoev aquiou keoiku, ouvioteoev
ouuoikou keoiku kui cktccoiev ouvioteoev. Iiu iu ctuipiu, oi ouvioteoc
oioikou civui c tqv cupciu cvvoiu oi oiuoikuoic tq ctuipiu kui tu kcicvu. 1vu
tqu oioikou aopci vu uvuaupuotu0ci c cvu otcpcotuao ouvioteou. Opiocvc
ouvioteoc uaupouv kutu to povo ctuettioq, opiocvc kutu to povo ouvocoq,
opiocvc kutu tqv cktccoq, cve uc aopouv vu uaupouv oc acpioootcpou uao
cvuv povou. Miu ouvioteou ovo ctuettioq civui iu ouvioteou aou cci voqu
ovo kutu to povo tq ctuettioq. Miu ouvioteou cktccoq otqv acpiateoq uutq
0u aopouoc vu civui cvu cktccoio apopuu.
1vu oiupuu ouvioteou cci ovo opq tuaou kui oi opq otiiotuaev. Iiu vu
aupouoiuotouv otiiotuau ouvioteoev pqoioaoicitui to oiupuu deployment
(ioe ckuiocvo epi koou).
13.1.2. Zuo/io
1vu oiupuu ouvioteoev civui cvu puo ouvioteoev aou ouvocctui c ococi
cuptqoq. Oi ouvioteoc aopouv caioq vu ouvocovtui c ouvioteoc c uoikq
ouacpiqq q oaoiu uvuaupiotu ocoq ouv0coq.
1vu oiupuu aou acpicci tuaou ouvioteoev kui tuaou koev aopci vu
pqoioaoiq0ci iu vu aupouoiuoci otutikc cuptqoci, oae oi cuptqoci
ctuettioq uvucou otu apopuutu, oi oaoic aupouoiuovtui e oiukckocvu
cq (cuptqoci) uao tq ouvioteou tou cuaqpctoucvou otq ouvioteou tou aupocu
uao tqv oaoiu c kuaoiov tpoao cuptutui. Tu cioq tev cuptqocev cuptevtui uao
tqv uoaoiqoq kui aopouv vu aupouoiuotouv e otcpcotuau tev cuptqocev.
Oae cvu classifier, iu ouvioteou aopci vu cci apuci kui vu uoaoici
oiuouvococi. To oiupuu aopci vu aupouoiuci ti oiuouvococi uutc kui ti
cuptqoci kqoq uvucou oti ouvioteoc, pqoioaoievtu oiukckocvc puc
uao ti ouvioteoc oti oiuouvococi uev ouvioteoev.
113
13.1.3. Hdpsiyd

Lqo 60: Atyoo ovvtoxeoo.
13.2. dypdppd deployment - Deployment diagram
13.2.1. Zqdoio/oyid
Tu oiupuutu deployment aupouoiuouv tq ouv0coq tev caccpuotikev otoiciev
kutu to povo cktccoq kui ti ouvioteoc oioikou, ti oicpuoic kui tu
uvtikcicvu aou ouv auve uao uutu. Tu otiiotuau tev ouvioteoev oioikou
uvuaupiotouv cuvioci tev ovuoev tou keoiku kutu to povo cktccoq. Oi
ouvioteoc aou ocv uiotuvtui e ovtotqtc tou povou cktccoq (iuti cuuv oe
tq ctuettioq) ocv cuviovtui oc uutu tu oiupuutu kui 0u apcaci vu
cuviovtui otu oiupuutu ouvioteoev.
Iiu ovtcoaoiqoq ctuipiev, tu caccpuotiku otoiciu tou povou cktccoq
acpiuuvouv cputc kui opuvetikc ovuoc, cve oi ouvioteoc oioikou
acpiuuvouv oiuoikuoic kui kcicvu aou pqoioaoiouvtui uao tou cputc kui ti
opuvetikc ovuoc.
13.2.2. Zuo/io
1vu oiupuu deployment civui cvu puo koev oi oaoioi civui ouvococcvoi c
ouoctioci caikoiveviu. Oi kooi aopouv vu acpicouv otiiotuau ouvioteoev.
Auto oqevci oti oi ouvioteoc ouv q cktcouvtui otov koo. Oi ouvioteoc
aopouv vu acpicouv uvtikcicvu, uuto oqevci oti to uvtikcicvo piokctui cou otq
ouvioteou. Oi ouvioteoc civui ouvococcvc c uc ouvioteoc c cuptqoci
oiukckocvev cev (ai0uvu coe oiuouvococev). Auto oqevci oti iu ouvioteou
pqoioaoici ti uaqpcoic uev ouvioteoev. Eooov pciuctui, aopci vu
pqoioaoiq0ci cvu otiiotuao iu vu oqeoci tqv ukpiq cuptqoq.
To oiupuu deployment aopci caioq vu pqoioaoiq0ci iu vu ocici aoic
ouvioteoc aopouv vu piokovtui oc aoiou koou, pqoioaoievtu oiukckocvu
cq c to otcpcotuao support uao to ouoo tq ouvioteou oto ouoo tou
koou q puiku cuviovtu to ouoo tq ouvioteou cv0cto oto ouoo tou
koou.
114
H ctuvuotcuoq tev otiiotuaev tev ouvioteoev uao cvuv koo oc cvuv uov q
tev uvtikcicvev uao cvu otiiotuao ouvioteou oc cvu uo, aopci vu uvci c to
otcpcotuao become otq ocoq cuptqoq. Ltqv acpiateoq uutq to otiiotuao tq
ouvioteou q to uvtikcicvo piokctui oto otiiotuao tou koou q oto otiiotuao
tq ouvioteou ovo iu cvu cpo tou oou povou.
Lqcieotc oti oi oiuoikuoic civui cvu cioiko cioo tev uvtikcicvev.
13.2.3. Hdpsiyd

Lqo 61: Kot.
13.3. Kpo - Node
13.3.1. Zqdoio/oyid
1vu koo civui cvu uoiko uvtikcicvo aou cviku uvuaupiotu cvuv aopo
caccpuoiu, o oaoio cci touuiotov vqq kui ouvu kui ouvutotqtu caccpuoiu.
Oi kooi acpiuuvouv ti ouokcuc uaooioou uu kui uv0peaivou aopou q
aopou quvikq caccpuoiu. Oi kooi aopouv vu uvuaupuotu0ouv e tuaoi kui
e otiiotuau. Tu uaooiotiku otiiotuau tou povou cktccoq, tooo otiiotuau
ouvioteoev, ooo kui otiiotuau uvtikcicvev, aopouv vu piokovtui oc otiiotuau
koev.
13.3.2. Zuo/io
1vu koo aupouoiuctui e cvu oqu aou oiuci c tqv tpiooiuotutq oq cvo
kuou. O tuao cvo koou cci to ovou tuaou:
tno-kpou
1vu otiiotuao koou cci ovou kui ovou tuaou. O koo aopci uv cci
uaopuiocvo to ovou tou kui to ovou aopci vu piokctui cou q kute uao tov
koo. To ovou cci tq ouvtuq:
vopd ':' tno-kpou
115
To ovou civui to ovou cvo oaoiouoqaotc koou (cooov uaupci). O tuao-koou
cci ti cioou civui o koo. Oaoiooqaotc q kui tu ouo otoiciu civui apouipctiku. Av
aupuq0ci o tuao tou koou, aopci vu aupuq0ci q uve-kute tcciu.
Tu oiukckocvu cq c tq cq kcioi support aupouoiuouv tq ouvutotqtu cvo
tuaou koou vu uaootqpici cvuv tuao ouvioteou. Evuuktiku, uuto aopci vu
uvci c cv0coq tev ouoev tq ouvioteou oto ouoo tou koou.
Ltiiotuau ouvioteoev kui uvtikcicvu aopouv vu acpicovtui cou oc ouou
otiiotuaev koev. Auto oqevci oti tu otoiciu piokovtui otu otiiotuau tev
koev.
Oi kooi aopci vu civui ouvococcvoi c ouoctioci c uou koou. Miu
ouoctioq uvucou oc koou oqevci iu oiuopoq caikoiveviu uvucou otou
koou. H ouoctioq aopci vu cci cvu otcpcotuao aou vu oqevci to cioo tq
oiuopoq caikoiveviu (iu aupuociu, to cioo tou kuvuiou q tou oiktuou).
13.3.3. Hdpsiyd
To aupov aupuociu ocivci ouo koou aou acpicouv iu ouvioteou (cluster) q
oaoiu ctuvuotcuci uao cvu koo oc uov kui iu ouvioteou (uoq ocoocvev) aou
aupucvci otq 0coq tq.

Lqo 62: Xqoq xov kov yto vo toxqc xt ovvtoxeoc.
13.4. Zuvor6od - Component
13.4.1. Zqdoio/oyid
1vu tuao ouvioteou uvuaupiotu cvu tqu tq uoaoiqoq tou ouotquto to
oaoio cci tq ouvutotqtu vu kutuvcq0ci, ouacpiuuvocvou tou keoiku
oioikou (aquiou, ouuoikou q cktccoiou), uu kui ctuipikev kcicvev ka. oc
cvu uv0peaivo ouotqu. Oi ouvioteoc aopouv vu pqoioaoiq0ouv iu vu
aupouoiuoouv cuptqoci, oae cuptqoci ctuettioq q povou cktccoq q
aqpoopiukc cuptqoci oc cvuv opuvioo uv0peaev. 1vu otiiotuao ouvioteou
uvuaupiotu iu ovuou uoaoiqoq oc povo cktccoq kui aopci vu pqoioaoiq0ci
iu vu ocici ti ovuoc uoaoiqoq aou couv tuutotqtu kutu to povo cktccoq,
ouacpiuuvocvq tq 0coq tou otou koou.
116
13.4.2. Zuo/io
Miu ouvioteou uvuaupiotutui c cvu op0oevio c ouo ikpu op0oeviu vu
apoccouv otq iu tou acupu. 1vu tuao ouvioteou cci ovou tuaou:
tno-ouviotood
1vu otiiotuao ouvioteou cci ovou kui tuao. To ovou iu ouvioteou kui o
tuao tou aopouv vu cuviotouv uaopuiocvu citc cou oto ouoo tq
ouvioteou citc auve q kute uao uuto, c tq ouvtuq:
vopd-ouviotood ':' tno-ouviotood
Ku0c cvu q kui tu ouo otoiciu civui apouipctiku. Av aupuq0ci o tuao-ouvioteou,
to ioio 0u apcaci vu ouci kui c tqv uve-kute tcciu.
Maopci vu pqoioaoiq0ci iu ioiotqtu iu vu oqeoci tq uoq tou kukou eq aou
acpipuci q ouvioteou (aquio, ouuoiko, cktccoio q acpioootcpu uao uutu). Oi
ouvioteoc (ouacpiuuvocvev tev apopuutev, tev DLLs, tev cikovev aou
ouvocovtui kutu to povo cktccoq ka) aopouv vu piokovtui oc koou.
Tu uvtikcicvu aou piokovtui oc cvu otiiotuao ouvioteou (oquoq aou
uoaoiouvtui uao uuto) aupouoiuovtui cv0ctu cou oto ouoo tou otiiotuaou tq
ouvioteou. Kut uvuoiu, oi kuoci aou uoaoiouvtui uao iu ouvioteou aopouv
vu aupouoiuotouv e cv0ctc cou oc uutq, uuto oqevci uoaoiqoq kui oi
ioioktqoiu.
Tu otoiciu aou piokovtui cou (oquoq uoaoiouvtui uao) oc iu ouvioteou
aupouoiuovtui cv0ctu cou oto ouoo tq ouvioteou. Maopci vu aupouoiuctui q
oputotqtu tou otoiciou oc uc ouvioteoc c tov ioio ouoioo c tu
acpicocvu tou aukctou (toao0ctevtu to ouoo tq oputotqtu apiv to ovou tou
aukctou). H cvvoiu tq oputotqtu cuptutui uao tq uoq tq ouvioteou. Iiu iu
ouvioteou aquiu eoou (oae o keoiku cvo apopuuto), 0u apcaci vu
ccctui q apooacuoiotqtu tev ooev tq aquiu eoou. Iiu iu ouvioteou
keoiku povou cktccoq (oae cktccoio keoiku), 0u apcaci vu ccci tq
ouvutotqtu tou keoiku aou piokctui oc uc ouvioteoc vu kuci q vu apooacuuvci
c uo tpoao tov keoiku otqv aupouou ouvioteou.
13.4.3. Hdpsiyd
To aupuociu ocivci iu ouvioteou c oiuouvococi kui caioq iu ouvioteou aou
acpicci uvtikcicvu kutu to povo cktccoq.
117

Lqo 63:Lvvtoxeoc.
118
14. BKoypoo
[1] OMG Unified Language Specification, version 1.3, June 1999, oiu0coio uao
http://www.omg.org/

You might also like