Professional Documents
Culture Documents
Testiranje AGVs
Testiranje AGVs
Uvod
1
Klasifikacija AGVS vozilamože se realizovati na veliki broj načina, a tipično se obavlja prema
funkcionalnim karakteristikama, odnosno obliku zadatka koje AGVS realizuju. Sa ovog aspekta,
automatski vođena vozila se mogu klasifikovati u sledeće grupe:
-Traktori
-Paletna kolica
-Transportna vozila
-Specijalna vozila.
Primena AGVS-a zahteva posebno obučeni personal, kako za sam nadzor procesa (upravljanje
saobraćajem na mreži, prilagođavanje tekućim promenama zahteva u sistemu i slično), tako i za
opslugu i održavanje samih vozila i prateće opreme. Najčešći problem koji se javlja kod primene
AGVS-a je upravljanje saobraćajem na mreži, to jest donošenje odluka na kritičkim tačkama-
razdvajanja, spajanja i ukrštanja tokova AGV-a. Ovaj rad se upravo bavi ovim problemom.
2
1. Upoznavanje sa zadatkom
Od marta 2004-te godine AgentWise istraživačka grupa je uključena u projekat nazvan Egemin
Modular Controls Concept (EMC2) u kooperaciji sa kompanijom Egemin, industrijskim ekspertom za
automatske skladišne transportne sisteme. AGV transportni sistem je industrijski transportni sistem,
koji koordiniše rad automatski vođenih vozila. Tipična namena je pakovanje i distribucija robe do
skladišnih lokacija. AGV je kompjuterski vođeno transportno vozilo, koje ne zahteva vozača, i kao
energijski izvor koristi baterije. Transport obuhvata zahvatanje tereta sa predviđenog mesta zahvatanja
i prenos do zahtevane destinacije. Transport je organizovan sistemom korisnika, na primer, biznis
menadžment programima.
Tradicionalno, AGV u skladištu je direktno povezan sa centralnim serverom. AGV ima ograničenu
autonomiju: server planira raspored aktivnosti kao sveobuhvatne dispečerske komande vozilima i
kontinualno kontroliše njihov status. Struktura sistema je podeljena na brojne praktične instalacije,
shodno zahtevima. Struktura centralizovanog servera ima dve osnovne prednosti. Softver može biti
jednostavno modifikovan, shodno potrebama projekta. Ova mogućnost obezbeđuje optimizaciju datog,
pojedinačnog zadatka. Druga prednost je ta, da je sistem determinisan i predvidljiv.
U EMC2 projektu, istraživana je izvodljivost-primena, decentralizovanog sistema, sa ciljem povećanja
fleksibilnosti. U ovom pristupu svaki AGV je kontrolisan od strane jednog agenta. Agenti imaju
zadatak da osiguraju funkcionalnost sistema. Za razliku od centralizovanog sistema, u ovom slučaju,
svaki kontrolor donosi odluku isključivo na bazi informicija dobijenih snimanja radnog mesta.
Skladišno okruženje, u kojem se nalaze agenti, je veoma dinamično. Postoje različita AGV vozila,
koja su konstantno u pokretu, šalju poruke i manipulišu teretom. Shodno tome, mogući su konflikti
između vozila, koja pri tom rade automatski. Konflikti nastaju kao kombinacija samih AGV-a i
gubitka komunikacije zbog nagomilavanja informacija u kominikacionom kanalu.
Neophodno je detaljno testiranje agenata, pre nego što se oni rasporede na rad sa ovim vozilima. U
decentralizovanom sistemu, testiranje je neophodno kako bi se ocenilo da li agenti mogu da adekvatno
reaguju u slučaju pojave konflikta. Formalni pristupi nisu praktično u mogućnosti da prikažu
ponašanje decentralizovanih sistema, pa se zato pristupa simulaciji.
U ovom projektu, pristupa se simulaciji skladišnog okruženja, kako bi se testirali agenti. Simulacija
predstavlja model realnog okruženja, i obuhvata simulaciju AGV-a. Agenti se testiraju, tako što se
angžuju u simuliranom okruženju. Simulacija skladišnog okruženja potpomaže testiranje nudeći
mogućnost prikazivanja dinamičnosti skladišnog sistema na eksplicitan način i detektovanja
problemskih tačaka automatskim pristupom.
Nastavak ovog dokumenta je podeljen na sledeći način. U drugoj tački se opisuje stvarno skladišno
okruženje. U trećoj tački se opisuje model simuliranog okruženja koji je razvijan sa ciljem vernog
prikaza realnog sistema. U četvrtoj tački se daje objašnjenje kakav je doprinos simulacije u testiranju
3
izbegavanja pojave problema. U petoj tački se procenjuje vrednost ovog pristupa, a u šestoj se zapisuju
doneti zaključci.
Fokus je na dve tačke skladišnog okruženja: layout skladišta i AGV. U odeljku 2.1 se diskutuje o
layout-u skladišta, a u odeljku 2.2, fokus je na strukturi AGV-a. U odeljku 2.3 se analizira kako dolazi
do pojave problema. Potrebna oprema za izbegavanje problema je specifirana u odeljku 2.4.
Na slici 1, prikazana je struktura AGV-a. Svaki AGV se sastoji od hardvera i softvera. Hardver se
sastoji od brojnih hardverskih modula. AGV senzor moduli predstavljaju senzore koji detektuju stanje
baterije. AGV motorni moduli predstavljaju različite pokretače, kao što su uređaji za podizanje tereta.
AGV WiFi modul predstavlja bežičnu komunikacionu infrastrukturu koja šalje i prima poruke. Softver
se sastoji od dva glavna modula: AGV upravljačke jedinice i AGV agent.
4
Slika 1. Arhitektura AGV-a
AGV agent izučava logiku vođenja AGV-a. Agent koristi AGV upravljačku jedinicu za
vođenje AGV-a. AGV upravljačka jedinica kontroliše sve veze sa hardverom, i određuje stepen
detaljnosti kontrole, koja se može koristiti za vođenje AGV-a.
AGV upravljačka jedinica omogućava agentu vođenje AGV-a po segmentima: vozilo se može
zaustavitit na svakoj stanici, gde može dobiti instrukcije za promenu pravca. AGV upravljačka jedinica
ima mogućnost pružanja sledećih komandi za vođenje vozila:
-Kretanje: mogućnost kretanja vozila duž datih segmenata, dok ne stigne do sledeće stanice.
-Zahvatanje: mogućnost kretanja vozila duž datih segmenata i zahvatanje tereta na stanici.
-Odlaganje: identično kao i zahvatanje, s tim što odlaže teret koji vozilo nosi.
-Parkiranje: mogućnost kretanja vozila duž datih segmenata i parkiranj na stanici, na kraju segmenta.
-Punjenje: mogućnost kretanja vozila duž datih segmenata i početak punjenja baterija na stanici, na
kraju segmenta.
-Slanje-emitovanje poruka: emitovanje poruke korišćenjem bežične komunikacione infrastrukture.
-Slanje unicast poruka: slanje date poruke datom prijemniku.
5
Takođe, AGV upravljačka jedinica se koristi i za proveru statusa AGV-a:
-trenutna pozicija: određivanje tačne pozicije vozila.
-stanje baterije: očitavanje preostalog energetskog nivoa baterije vozila.
-poruke: čuvanje sledeće poruke u inbox AGV-a, gde se čuvaju sve primljene poruke.
-prisustvo tereta na vozilu: provera da li je vozilo ternutno natovareno.
-vrsta akcije: provera vrste akcije koju AGV ternutno izvršava, na primer vožnja, zahvatanje,
odlaganje.
6
Za AGV transportni sistem, AGV kontrolni softver terba da specificira opremu, koja ima za cilj da
omogući izbegavanje sudara. Fokus je na izbegavanju sudara izazvanim nepouzdanom
komunikacijom.
Kretanje AGV-a u skladištu ne sme dovesti do sudara. Zahteva se prisustvo agenata, koji rade na
sprečavanju sudara između vozila i sudara vozila sa preprekom. Osnovni koncept prevencije sudara je
minimalna dozvoljena razdaljina. Za svaki AGV, agent definiše minimalnu dozvoljenu razdaljinu u
odnosu na drugi AGV ili određenu prepreku. Pri određivanju razdaljine, uzima se u obzir maksimalna
devijacija (odstupanje) AGV-a. Najčešće korišćena minimalna dozvoljena razdaljina je oko 10
centimetara. Ovaj podatak je dobijen od nekoliko industrijskih projekata, vezanih za AGV. Fizički,
moguće je da AGV moiže raditi na distanci manjoj od određene. Međutim, obavezno je poštovanje
minimalne dozvoljene razdaljine, kako bi se garantovao bezbedan rad u svakoj situaciji.
Bitan faktor u izbegavanju sudara je uzimanje u obzir nepouzdanosti komunikacije. Zahteva se
poštovanje minimalne dozvoljene razdaljine, čak i u prisustvu nepouzdane komunikacije. Postoje
brojne akcije, koje omogućuju funkcionalan rad i u takozvanom najgorem mogućem scenariju.
Najgorim scenarijom se podrazumeva postojanje gubitka 40% poruka i 2 sekunde zastoja prilikom
transmisije. Sigurna i pouzdana operacija se zahteva sve dok je rad na nivou iznad najgoreg scenarija.
U slučaju da kvalitet bežične komunukacije padne ispod najgoreg scenarija, dozvoljeno je da AGV-i
pređu u sigurnosni mod (safe mode), što najčešće podrazumeva prestanak rada, kako bi se izbegle
nesigurne situacije.
U ovom odeljku se opisuje simulirano skladišno okruženje koje je razvijano u ovom projektu.
Simulirano okruženje predstavlja model realnog okruženja. Prvo se opisuje na koji način se agenti
postavljaju u simulirano skladišno okruženje (3.1.). Zatim se opisuje model skladišnog okruženja. u
modelu se donosi odluka između dve pojave- statičnosti i dinamičnosti. Statičnost (3.2.) se odnosi na
posmatranje trenutnog stanja-slike, u određenom trenutku vremena, za svaki deo koji čini skladišno
okruženje. Dinamika (3.3.) predstavlja posmatranje evolucije-procesa simuliranog skladišnog
okruženja tokom vremena. U odeljku 4, ilustruje se kako je model upotrebljen u korist izbegavanja
sudara.
Statičnost simuliranog skladišnog okruženja sadrži sve informacije koje opisuju stanje događaja u
realnom skladišnom okruženju , u određenom ternutku vremena. Opisano stanje je uvek sagledavano u
određenom ternutku vremena. Stanje simuliranog skladišnog okruženja sagledava prisutne entitete i
relacije između njih. Slika 2. prikazuje uprošćen primer stanja u određenom trenutku vremena.
8
Entiteti. Entiteti su definisani prema sopstvenim karakteristikama u realnosti. Entiteti koji su
korišćeni u simulaciji su sledeći:
-AGV. AGV je definisan prema postojećoj zapremini, kako bi reprezentovali svoju realnu fizičku
veličinu, nivo baterije, inbox i outbox, bežičnu komunikacionu infrastrukturu.
-Teret. Teret je definisan prema postojećoj zapremini, kako bi reprezentovao svoju realnu fizičku
veličinu.
-Prepreke. Prepreke su definisane prema postojećoj zapremini, kako bi reprezentovale svoju realnu
fizičku veličinu.
-Skladišni pod. Skladišni pod je definisan dvodimenzionalno, u realnoj veličini.
-Segmenti saobraćajnice. Saobraćajnice mogu biti jednosmerne i dvosmerne. U simulaciji, svaki
segment saobraćajnice je definisan pravcem i dužinom.
-Stanice. Stanice su lokacije koje se nalaze pored saobraćajnica, to jest, koje su u dodiru sa njima.
Svaka stanica je postavljena sa ciljem, i svrha joj može biti: lokacija za rutiranje, skladištenje tereta,
parkiranje, punjenje baterija.
Relacije. Relacije predstavljaju odnos između nekoliko entiteta, i izražavaju međuzavisnost entiteta u
određenom trenutku vremena.
-Prostorne relacije. Svi entiteti su međusobno prostorno povezani. Prostorne relacije svih entiteta su
izražene preko skladišnog poda, korišćenjem dvodimenzionalnog koordinatnog sistema.
-Relacije sadržaja. Relacije sadržaja se odnose na teret. One pokazuju na eksplicitan način, da li je
određen AGV natovaren ili nije, nekim teretom. Na primer, ova relacija može ukazati na to, da se
određeni teret nalazi na nekoj od stanica, i da još uvek nije zahvaćen od strane AGV-a. Čim je teret
zahvaćen, relacija pokazuje da je teret zahvaćen sa konkretnim vozilom.
3.3. Dinamika
Do sada, fokus je bio na opisu stanja simuliranog okruženja. Sada se istražuje evolucija okruženja
tokom vremena.
Dinamika kao aktivnost. Dinamika u ovom slučaju predstavlja evoluciju entiteta i relacija
tokom vremena. Primer dinamičnosti u skladištu je kretanje vozila duž segmenta saobraćajnica. U
simulaciji, dinamika je predstavljena kao abstrakcija, u funkciji aktivnosti. Aktivnost predstavlja
evoluciju određenog entiteta ili relacije, koja se dešava u nekom vremenskom intervalu. Opis
aktivnosti sadrži sčedeće stavke:
-Definisanje vremenskog intervala. Dinamika se odvija tokom vremena. Vremenski interval aktivnosti
definiše početak odvijanja aktivnosti i koliko vremena je potrebno da se ona izvrši. Vremenski interval
je jedinstven za svaku aktivnost i može se odrediti snimanjem realnog stanja u sistemu.
-Entiteti ili relacije. Dinamičnost je vezana za određeni entitet ili relaciju. Svaka aktivnost zahteva opis
aktivnosti ili relacije uključene u nju.
9
-Evolucija strategije. Svaka aktivnost zahteva opis njene evolucije kao funkcije vremena, za vreme
trajanja aktivnosti.
Iniciranje aktivnosti. Svaki agent započinje aktivnost preko interfejsa AGV upravljačke
jedinice. Korišćenje neke od funkcija AGV upravljačke jedinice inicira neku aktivnost u simulaciji.
Iniciranjem aktivnosti putem AGV upravljačke jedinice, od strane agenta, započinje relevantna
aktivnost u simulaciji. Trenutkom aktiviranja neke operacije od strane agenta, započinje vremenski
interval trajanja aktivnosti.
Aktivnosti u simuliranog skladišnom okruženju. U simulaciji, aktivnosti reprezentuju vožnju,
slanje poruka, zahvatanje, odlaganje, punjenje baterija. Sledi opis aktivnosti vožnje AGV-a:
*Vožnja. Aktivnost vožnje reprezentuje vožnju određenog AGV-a.
-Iniciranje. Aktivnost vožnje se se inicira u slučaju da agent zahteva pokretanje, zahvatanje, odlaganje,
parkiranje ili punjenje baterija.
-Vremenski interval. Vremenski interval trajanja vožnje se određuje preko performansi vozila i dužine
segmenta saobraćajnice.
-Entiteti i relacije. Aktivnost vožnje opisuje evoluciju 2 dela simuliranog sistema: relacije koje opisuju
poziciju AGV-a na skladišnom podu i stanje baterije simuliranog AGV-a.
-Evolucija strategije. Pozicija vozila opisuje put kroz segmente. Pozicija se menja tokom vremena,
aproksimativno, stalnom brzinom od 2 metra u sekundi. Tokom prve 4 sekunde vožnje, brzina vozila
se povećava linearno, i na taj način se prikazuje ubrzanje, dok tokom poslednje 2 sekunde, brzina se
linearno smanjuje, reprezentujući usporavanje. Evolucija nivoa baterije je aproksimirana modelom
linearnog smanjenja nivoa, shodno pređenom putu.
Na slici 3. je prikazana aktivnost vožnje AGV-a tokom vremenskog intervala (2 →7). Evolucija
je prikazana korišćenjem 2 slike stanja u vremenskom intervalu (2 →7), i to u trenutku T=3 i T=5.
10
Slika 3. Primer aktivnosti vožnje u simuliranom skladišnom okruženju
11
Kvalitet komunikacije je podešen na najgori mogući scenarijo od 40% gubitka poruka i 2
sekunde zastoja transmisije.
Agenti su uključeni u rad na simulaciji. Tokom 12 sekundi, to jest u intervalu (0→12),
agentima je dozvoljeno da preduzimaju potrebne akcije. Akcije rezultiraju aktivnostima opisanim u
donjem delu slike 4:
-U trenutku T=2, agent startuje akciju kretanja AGV-a A, sa ciljem vožnje od stanice 10 do stanice 9.
Rezultat je aktivnost vožnje u intervalu (2→10).
- U trenutku T=4, agent startuje akciju kretanja AGV-a B, sa ciljem vožnje od stanice 6 do stanice 1.
Rezultat je aktivnost vožnje u intervalu (4→9).
- U trenutku T=7, agent startuje akciju kretanja AGV-a C, sa ciljem vožnje od stanice 2 do stanice 3.
Rezultat je aktivnost vožnje u intervalu (7→12).
- U trenutku T=6, agent startuje akciju kretanja AGV-a D, sa ciljem vožnje od stanice 8 do stanice 71.
Rezultat je aktivnost vožnje u intervalu (6→9).
- U trenutku T=2, agent startuje akciju kretanja AGV-a E, sa ciljem vožnje od stanice 4 do stanice 5.
Rezultat je aktivnost vožnje u intervalu (2→5).
Sada se ispituje da li je u ovom scenariju ugrožena minimalna dozvoljena razdaljina.
12
Slika 4. Primer scenarija vožnje AGV*a kroz skladište
13
Zakon detektovanja sudara je pravilo koje pokazuje da li je aktivnost vožnje protekla bezbedno.
Za svaku aktivnost vožnje, zakon detektovanja sudara je u mogućnosti da detektuje 2 tipa
ometanja: ometanje minimalne dozvoljene razdaljine od strane entiteta koji su stacionarni, i
ometanje od strane entiteta koji su nestacionarni.
Entiteti su stacionarni tokom određenog vremenskog intervala u slučaju da nisu uključeni ni u
jednu aktivnost vožnje tokom vremena. Prepreke su uvek stacionarne. AGV se smatra stacionarnim
ukoliko tokom vremenskog intervala nisu uključeni u aktivnost vožnje.
Kod za zakon detektovanja sudara će biti prikazan i objašnjen u nastavku.
Detektovanje ometanja od strane stacionarnih entiteta. Na početku, fokus je na detektovanju
eventualne ugroženosti minimalne dozvoljene razdaljine, respektujući stacionarne entitete koji se
javljaju tokom datog intervala vremena. Obim aktivnosti je od najvećeg značaja za proveru
ometanja. Obim aktivnosti predstavlja sigurnosnu razdaljinu za sveaku poziciju u kojoj se AGV
nađe tokom aktivnosti vožnje. Na primer, posmatra se aktivnost vožnje AGVa E na slici 4. Obim
aktivnosti za ovu aktivnost je opisana na slici 5.
Neophodni uslovi za sigurnu vožnju su ti, da se ni jedan stacionarni entitet, tokom vremenskog
intervala trajanja aktivnosti, ne preklapa sa obimom aktivnosti. Ovaj uslov je obuhvaćen linijama
koda, od petnaeste do dvadesete linije.
Kod za detektovanje sudara je definisan na sledeći način:
1 /**
2 * Check the collisions of a given drive activity
3 * @param act the drive activity
4 * @param entities the entities to check collisions with
5 * @return a vector containing the collisions
6 */
7 public Vector checkCollisions(DriveActivity act, Vector entities){
8 Vector result = new Vector();
9 TimeInterval interval = act.getTimeInterval();
10 BoundingBox perimeter = act.getActivityPerimeter();
11 //a loop to check each entity
12 for (int i=0; i < entities.size(); i++)
13 {
14 Entity ent = (Entity)entities.get(i);
15 if (ent.isStationaryDuring(interval))
16 { //in case the entity is stationary:
17 //do one check for the perimeter of the whole activity
18 result.add(checkOverlap(perimeter,
19 ent.getBoundingBox(interval.getBegin())));
20 }
21 else //in case the entitiy is non-stationary
22 {
23 //get all activities of the entity that happen during the interval
24 Vector activities = ent.getDriveActivities(interval);
25 //a loop for each activity of the entity
26 for(int j=0; j < activities.size(); j++)
27 {
28 DriveActivity otherAct = (DriveActivity)activities.get(i);
14
29 //test whether the activity perimeters of both activities overlap
30 if(checkOverlap(perimeter,otheract.getActivityPerimeter())!=null)
31 { //in case the activity perimeters overlap
32 //take snapshots in the common interval of both activities
33 TimeInterval common = otherAct.getTimeInterval().getIntersection(interval);
34 for(Time t=common.getBegin(); t.before(common.getEnd()); t.increment())
35 //do the check for one snapshot
36 result.add(checkOverlap(act.getEntityPerimeterAt(t),
37 otherAct.getEntityBoundingBoxAt(t)));
38 }
39 }
40 }
41 }
42 return result;
43 }
Napomena. Kod je u originalu preuzet iz dokumenta Egemin Modular Controls Concept, i nije
prevođen, jer bi se u tom slučaju izgubio smisao, obzirom da su korišćeni simboli i oznake, koji su
standardizovani u ovakvim postupcima.
Zakon detektovanja sudara će detektovati problem, ukoliko stacionarni entiteti ometaju obim
aktivnosti. Ako se u obzir uzme aktivnost vožnje AGV-a E, sa slike 4, se jasno vidi da su AGV C i
AGV D, jedini stacionarni entiteti tokom intervala (2→5). Kako su i AGV C i AGV D izvan obima
aktivnosti AGV-a E, zaključuje se da stacionarni entiteti ne ugrožavaju bezbednost.
15
Detektovanje ometanja od strane nestacionarnih entiteta. Do sada je u obzir uzimana samo
stacionarnost tokom aktivnosti vžnje. Sada je cilj detektovanje eventualnog postojanja ugroženosti
minimalne dozvoljene razdaljine od strane nestacionarnih entiteta, tokom vremenskog intervala
trajanja aktivnosti. Sva vozila koja su u stanju kretanja toko vremenskog intervala trajanja aktivnosti se
smatraju nestacionarnim.
Detektovanje nestacionarnih entiteta je obuhvaćeno linijama koda za detektovanje sudara, od
dvadeset prve do trideset sedme linije.
Kao primer je uzeta aktivnost vožnje AGV-a B, na slici 4. Obim aktivnosti i eventualno
ometanje stacionarnim entitetima su opisani na levoj strani slike 6. Primećuje se da ne postoji ometanje
od strane stacionarnih entiteta, obzirom da ne postoji vozilo koje je u stanju mirovanja u intervalu
(4→9).
Kako bi se obezbedila bezbednost aktivnosti vožnje, potrebna je detaljna analiza o postojanju
nestacionarnih entiteta. U primeru sa slike 6, obim aktivnosti AGV-a B se preklapa sa aktivnošću
vožnje AGV-a C. U koda za detektovanje sudara, ovaj slučaj je obuhvaćen linijom 30. Za određivanje
ometanja aktivnosti vožnje jednog vozila, aktivnošću vožnje drugog, u obzir se uzima uobičajeni
interval između njih. Uobičajeni vremenski interval je određem u liniji 33, datog koda. U ovom
primeru aktivnosti vožnje AGV-a B i AGV-a C, uobičajeni vremenski interval je (7→9). Ovaj slučaj je
opisan na desnoj strani slike 6.
16
Detektovanje aktivnosti između dve aktivnosti vožnje tokom uobičajenog vremenskog
intervala je urađeno korišćenjem velikog broja slika (snapshots). Za svaku sliku se proverava, da li je
drugi AGV kompletno van obima aktivnosti posmatranog AGV-a. U slučaju slike 7, to je uvek slučaj,
tako da AGV C ne ugrožava bezbednost AGV-a B. Linije od trideset četvrte do trideset sedme su
obuhvaćene slike za vreme uobičajenog vremenskog intervala.
Primer detekcije sudara. Na kraju, sagledava se aktivnost vožnje AGV-a D, sa slike 4. Obim
aktivnosti je opisan na slici 8.
-Ometanje od strane stacionarnih entiteta. Aktivnost vožnje AGV-a D, nije ugrožena ni od
jednog stacionarnog entiteta.
-Ometanje od strane nestacionarnih entiteta. Aktivnost vožnje AGV-a A se ukršta sa obimom
aktivnosti. Slika 9 ilustruje aktivnosti vožnje AGV-a D i A, tokom uobičajenog vremenskog intervala
(6→9). Na slici 9, takođe je ilustrovano, kako u trenutku T=8, AGV A ometa bezbednost AGV-a D.
17
Slika 8. Obim aktivnosti AGV-a D
Slika 9. Aktivnosti vožnje AGV-a D i AGV-a B tokom uobičajenog vremenskog intervala (6→9)
18
5. Diskusija i evolucija
5.1 Modularnost
Modularnost se razvija kroz model simulacije. Ona omogućava razdvajanje na segmente, sto
predstavlja temelj kvalitetnog softverskog inženjerstva. Na najvišem nivou abstrakcije, simulirani
sistem se raščlanjuje na tri osnovna dela: opis statičnosti simuliranog skladišnog okruženja, opis
dinamičnosti simuliranog skladišnog okruženja i opis pravila za detektovanje problema u sistemu.
Na nižem nivou abstrakcije, svaki od tri dela, se posebno i detaljno dizajnira i modelira.
20
Zaključak
21
Literatura
23