Автор работы: Пользователь скрыл имя, 15 Февраля 2013 в 12:45, доклад
GPSS модельдеу жүйесі. GPSS – General Purpose Simulation System [Система моделирования общего назначения] Дискретті оқиғалы имитациялық модельдерді құру және ЭЕМ- де эксперименттер жүргізуге арналған модельдеу тілі.
GPSS тілі объектілі- бағдарлы тілдің принципі бойынша құрылған декларативті типтегі тілі.
Тілдің негізгі элементтері болып модельденетін жүйенің динамикалық және статикалық объектілерін сәйкесінше бейнелейтін транзактілер мен блоктар табылады.
[жол нөмері][<белгі>]<амал(
Мұндағы:
жол нөмері: GPSS/РС үшін міндетті өрісі, ал GPSS World – та еленбейді (міндетті емес)
Жолдың 1-ші позициясынан басталады, ондық санды көрсетеді.
Белгі (блок аты): Өрістің мазмұны- ат болып табылады, әріптен басталатын символдардың тізбегі. Кейбір операторларда бұл өріс мінгдетті болып табылады.
Амал(операция): Блоктар операциясы ретінде блоктардың негізгі функционалды міндетін сипаттайтын етістіктер қолданылады. Блоктардың әрқайсысы өһзіне мншіктеліп бекітілген етістіктермен мінезделеді.
Операндалар: Блоктарда операндалар болуы мүмкін. Олар берілген блоктың өзіне тән әрекеті туралы ақпарат береді. Блоктың операндаларының саны блоктың типіне байланысты болады. Блоктарда 7 операндалардан артық қолданылмайды. Операндалар А,В,С,Д,Е,F,G символдармен белгіленеді. Операндалар мәні блоктың типімен анықталады.
Кейбір блоктардың бір операндалары үнемі анықталған болуы мүмкін, ал басқалары берілуі де, берілмеуі де мүмкін, яғни міндетті емес. Операндалар бірінен кейін бірі үтір арқылы немесе пробелмен жазылады. Егер операндалар қалдырылған болса, онда оның орнына үтір қойылады. Операндалардың арасында бір пробелден артық болмауы керек, себебі одан көп болған жағдайда операндалардың аяқталғанын білдіреді де, интерпретатор жолды оқуды аяқтайды.
Комментарийлер: міндетті емес өріс. Операндалар өрісінен «;» таңбасымен ерекшеленеді. Комментарийді жолдың басынан жазуға болады, бұл жағдайда жолдың 1- позициясына; немесе * таңбасымен қойылады.
GPSS/РС- де комментарий
тек латын алфавитінің бас
және кіші әріптерімен
Блокты сипаттау жолы GPSS/РС – де 79 символға, ал GPSS World- та 250 символға дейін рұқсат етілген. Форматтарды сипаттауда [ ] (квадрат жақшалар) өрістің міндетті еместігін көрсетеді.
Аттар мен белгілер блоктардың, операторлардың, командалардың және ССА- ның атаулары немесе атауларының бастапқы символдары бола алмайды.
Модельге транзактілерді енгізу GENERATE блог.
GENERATE (Генерировать) блогы-
транзактілердің модельге
GENERATE блогынан тізбектелген
транзактілердің пайда
Модельдік уақыттың осы уақытына жеткен кезде транзакт GENERATE блогы арқылы модельге кіреді.
Модельдеуші GENERATE блогында
транзактілердің
GPSS- ге транзактілердің
түсуінің интервалдарының
Блоктың форматы:
GENERATE [A],[B],[C],[Д],[E]
Операндалар |
Мәні |
Бастапқыдағы мәні |
А |
Уақыттың орташа интервалы (сан,CCA) |
0 |
В |
Тең өлшемді таратылған интервалдың жіберу өрісінің жартысы |
0 |
С |
Интервалдардың смещениясы |
Смещение жоқ |
Д |
Транзактілердің шектеушісі |
шектеусіз |
Е |
Транзактінің приоритет |
0 |
Модельден транзактілер жою. TERMINATE блогы.
Транзактілер TERMINATE (завершить) блогына түсіп, модельден жойылады. Осы сәтте транзактіге бөлінген жады босатылады. Осы блоктар модельден шыққысы келетін барлық транзактілерге шығуға мүмкіндік береді. Модельде TERMINATE блоктарының кез келген саны болуы мүмкін.
Блок форматы TERMINATE [А]
А операндасы арнайы есептелетін азаю шамасы болып табылады да, аяқтау есептегіші деп аталады. Бұл операнд транзактінің TERMINATE блогына транзакті кіргенде есептегіштен әр жолы азайтылатын шаманы береді. Бастапқы жағдайда А=0. TERMINATE блогына А операндасының 0-дік мәнімен транзактінің кіруі аяқталу есептегішіне азайтуды әкелмейді.
Аяқтау есептегіш- бүтін оң санды сақтайтын ЭЕМ- нің жадысындағы ұяшық. Есептегіштің бастапқы мәні модельдеудің басында қойылады. Ол START командасының А операндасының мәніне тең келеді. Модельдеу барсында транзактілер TERMINATE блогына түсіп, есептегіштің мәніне А опернадасының шамасына кемітеді. Модельдеу есептегіштің мәні 0 – ге немесе теріс санға тең болғанда аяқталады.
Қорытындылап айтқанда:
Интерпретатор модельдеуді START командасымен бастайды. Оның форматы START [A],[B],[C],[Д]
А- операндасында аяқтау есептегішінің бастапқы мәні беріледі, яғни модельдің жүріп өтуінің аяқталу сәтін анықталады.
В- статистиканы шығару операндасы.
Бұл операнд «NP» мәнін
С- операндсы қолданылмайды және GPSS- тің алдыңғы версияларымен үйлесімділігі үшін сақталған.
Д- операндасы СТС және СБС мазмұнын шығарудың қажеттілігін береді. Д операндасы оң бүтін сан болуы сан болуы мүмкін.
Егер операнд Д = болса, онда СТС және СБС шығарылады.
Модельдеу процесінің ұзақтығын басқару
GPSS тілінде модельдеу 2 тәсілімен басқаруға болады:
1- тәсіл бойынша:
1) START командасында А операндасына
транзактілердің берілген
2) Берілген типтің транзактілері
модельден шыққан соң
3) TЕRMINATE – тің барлық
басқа блоктарында А
Мысалы: модельде 1000 транзакті өткеннен кейін модельдеуді аяқтау:
GENERATE 40,5
...
TЕRMINATE 1
START 1000
2- тәсілі: Модельдеуді әзірлеуші
модельдік уақыттың бірлігі
Мұны былай істеуге болады:
1) Модельге 2 блоктан тұратын таймер-сегменті енгізу.
GENERATE 480
TЕRMINATE 1
2) Модельдің барлық басқа
TЕRMINATE блоктарында А операндасының
бастапқы мәнін (А=0) қолдану. Бұл
аяқтау есептегішімен
3) START командасында А=1 болды керек.
Сонымен, модельдеу процесінде TЕRMINATE- тің басқа блоктарындағы транзактілер қозғалысы аяқтау есептегішіне әсер етпейді.
Уақыттың 480 сәтінде транзакт GENERATE блогынан шығып, бірден TЕRMINATE блогына ауысады. Аяқтау есептегіші 1 бірлікке азайып, интерпретатор модельдеуді аяқтайды.
Бір каналды қызмет көрсететін құрылғыларды бейнелейтін элементтер.
Қызмет көрсететін құрылғыларды қолданылатын элементтерді қарастырайық. Қызмет көрсететін элементтердің аналогтары ретінде адамдар, механизмдер, байланыс желілер және шынайы жүйелердің басқа да объектілері қарастырылады.
Құрылғы негізгі екі қасиетімен мінезделеді:
Барлық құрылғыға ат беру
қажет. Олар сандық немесе символдық
болуы мүмкін. (Сандық болса оң бүтін
сандарды ғана қабылдайды). Трансляция
кезінде символдық аттарға
Бір каналды қызмет көрсету құрылғысын қолдану үшін транзакті мынадай қадамдарды орындалуы керек:
1- қадам: Егер қажет болса, өзінің кезегін күтуі керек. Күту уақыттың қайсыбір аралығында болады.
2- қадам: Кезегі келгенде
құрылғыға келу. «Құрылғыны алу»
оқиғасы модельдік уақыттың
3- қадам: Құрылғы қызмет
көрсетіп болмайынша бос
4- қадам: Қызмет көрсету аяқталғаннан кейін құрылғыны босату. «Құрылғыны босату» оқиғасы модельдік уақыттың қайсыбір сәтінде өтеді.
Қадамдардың осы тізбегі
құрылғыны қолдануды
Блок форматы: SEIZE А
А операнда, мәні – құрылғының аты(сан немесе символ), бастапқы нәтижесі – қате;
Бұл блок мынандай қасиеттерге ие болады:
Құрылғының жағдайы «бос» жағдайдан «бос емес» жағдайға өзгереді.
RELEASE блогы «бос емес»
құрылғының жағдайының «бос
жағдайына өзгеруін көрсетуге арналған. Бұл блок транзактінің кіруіне ешқашан тыйым салмайды.