Автор работы: Пользователь скрыл имя, 15 Февраля 2013 в 12:45, доклад
GPSS модельдеу жүйесі. GPSS – General Purpose Simulation System [Система моделирования общего назначения] Дискретті оқиғалы имитациялық модельдерді құру және ЭЕМ- де эксперименттер жүргізуге арналған модельдеу тілі.
GPSS тілі объектілі- бағдарлы тілдің принципі бойынша құрылған декларативті типтегі тілі.
Тілдің негізгі элементтері болып модельденетін жүйенің динамикалық және статикалық объектілерін сәйкесінше бейнелейтін транзактілер мен блоктар табылады.
GPSS модельдеу жүйесі. GPSS – General Purpose Simulation System [Система моделирования общего назначения] Дискретті оқиғалы имитациялық модельдерді құру және ЭЕМ- де эксперименттер жүргізуге арналған модельдеу тілі.
GPSS тілі объектілі- бағдарлы
тілдің принципі бойынша
Тілдің негізгі элементтері болып модельденетін жүйенің динамикалық және статикалық объектілерін сәйкесінше бейнелейтін транзактілер мен блоктар табылады.
Нақты модельде объектілерді таңдау модельденетін жүйенің мінездемесіне байланысты. Әрбір объекті бірнеше қасиеттерге ие болады, осы қасиеттер GPSS-те стандартты сандық атрибуттардеп аталады.(Стандартные числовые атрибуты - CRA). CRA- ның бөлігін ғана пайдаланушы қолдана алады, ал басқа қасиеттерінің мәндеріне сәйкес блоктарды қолданып етеді.
Әрбір GPSS- модель міндетті түрде блоктар мен транзактілерден құралады.
GPSS-те блоктан блокқа басқаруды беру концепциясы спецификалық ерекшеліктерге ие болады.
GPSS – модельдің блоктарының
тізбегі элементтер қозғалатын
бағыттарды көрсетеді. Әрбір
GPSS тілінің блоктары
Модельдеу тілдерінде, соның
ішінде GPSS- те шынайы жүйелерде динамикалық
процесстерді бейнелеуге мүмкіндік
беретін модельдік уақытта
Транзактілердің мазмұнды мәндерін
модельді әзірлеуші анықтайды. Модельнетін
жүйенің транзактілері мен
Мысалы: Транзактілер мен шынайы жүйенің элементтерінің арасындағы аналогиялар.
Жүйе |
Транзактілермен модельденетін жүйенің элеметтері |
Магазин Автомобиль шоссесі Қойма |
Сатушы Автокөлік Тапсырыс |
Бағдарлама тұрғысынан алатын болсақ, транзакт дегеніміз мәліметтер құрылымы, онда мынандай өрістер болады:
1) транзакт аты немесе нөмері
2) транзактінің пайда болу уақыты;
3) ағымдағы модельдік уақыт;
4) транзакт бар болатын блок нөмері;
5) транзактінің жылжитын блогының нөмері.
6) қозғалыс басталатын уақыттың сәті;
7) транзакт приоритеті;
8) транзактілер параметрлері: Р1,Р2, ...
GPSS тілінде барлық транзактілер
модельге келуі (пайда болуы)
бойынша нөмерленеді.
Әрбір транзакт компьютердің жадысынан қандай да бір көлемді алады. Транзактінің модельдің блоктары бойынша қозғалысы аяқталғаннан кейін оны жойып жіберу керек.
Сол себепті GPSS- модельде модельдеудің басталуында бірде бір транзакт болмайды. Модельдеу процесінде транзактілер модельденетін жүйенің қызмет жасау логикасына сәйкес модельге уақыттың нақты бір сәтінде кіреді. Осылайша модельдеудің спецификасына байланысты модельден транзактілер шығады. Жалпы алғанда модельде бірнеше транзактілер болады, бірақ уақыттың әрбір сәтінде олардың тек біреуі ғана қозғалады.
Егер транзакт өзінің қозғалысын бастаса, онда ол блоктан блокқа көрсетілген блок- схемаға сәйкес жылжиды. Транзакт блокқа кірген сәтте, осы блокқа сәйкес ішкі бағдарлама шақырылады. Ары қарай транзакт келесі блокқа кіруге әрекет жасайды. Оның жылжуы осылайша мынандай мүмкін шарттардың бірі орындамайы жалғаса береді. Мүмкін шарттар:
1) Транзактінің қызметі транзактіні қайсыбір уақытқа дейін ұстау болып табылатын блокқа кіруі;
2) «Транзактіні модельден
жою» қызметі бар блокқа
3) Модельдің логикасына
сәйкес транзакт келесі блокқа
кіруге әрекет жасағанда,
Егер аталған шарттардың біреуі орындалатын болса, онда транзакт орнында қалады да, ал модельде басқа транзактінің қозғалысы әрекеті жасалады.
GPSS- те шынайы жүйелердің
қызмет көрсетуші
ОББ тілдеріндегідей GPSS тілінде де әрбір объектінің қасиеттері мен әдістері болады, объектілер өздерінің қасиеттерін өзгертіп отырады.
GPSS- те объектілер қасиеттері CCA(CRA) деп аталады. [басында айтылды].
Құрылғы (бір каналды құрылғы прибор) уақыттың кез келген сәтінде тек бір ғана транзактімен бос болмайтын ресурсты көрсетеді. Интерпретатор автоматты түрде құрылғының бос болмайтын жалпы уақыты, құрылғыда болған транзактілердің саны, құрылғыны қолдану коэффициентін, бір транзактімен құрылғының бос болмайтын орташа уақыты және тағы басқа сияқты ССА-ын есептейді.
Көп каналды құрылғылар (ККҚ) (бірнеше параллельді бірдей құрылғылар) параллельді өңдеу үшін объектілерді құрайды. Олар бірнеше транзактілермен бір уақытта қолданылуы мүмкін. Пайдаланушы модельде қолданылатын әрбір көп каналды құрылғының сыйымдылығын анықтайды, ал интерпретатор уақыттың әрбір сәтінде бос емес құрылғылардың санын есепке алады. Интерпретатор автоматты түрде мынандай ССА-ын санайды: ККҚ- ға кірген транзактілер санын, бір транзактімен бос болмайтын каналдардың орташа санын, транзактінің құрылғыда болатын орташа уақытын және тағы басқа.
Кейбір оқиғалар жүйеде транзактілердің қозғалысын жауып тастауы (заблокировать) немесе өзгертуі мүмкін.
Мысалы: Бірнеше кассасы
бар кинотеатр немесе банкте, кассир
«Түскі үзіліс» деген тақтайшаны
касса терезесіне қоятын болса, онда
кезектегі келесі клиенттер басқа
кассаларға баруына тура келеді. Осындай
жағдайларды модельдеу үшін логикалық
кілттер енгізілген. Транзакт осы
кілттерді «Іске қосылған (включено)»
немесе «істен ажыратылған» (выключена)
жағдайына қоюы мүмкін. Бірақ уақыттан
соң кілттің жағдайы
Арифметикалық айнымалылар
объектілердің CCA (CRA)- ына қолданатын
амалдардан тұратын арифметикалық
өрнектерді есептеуге мүмкіндік
береді. Өрнектерде функциялар (кітапханалық
немесе пайдаланушының) қолдануы мүмкін.
Бульдік айнымалылар
Функцияларды қолдана отырып, пайдаланушы функция аргументі мен оның мәндерінің арасындағы үздіксіз немесе дискретті функцияналдық тәуелділіктерді бере алады. GPSS-та функциялар функцияларды сипаттайтын операторлар көмегімен кестелік тәсілімен беріледі.
Сақталатын шамалардың ұяшықтары және матрицалар пайдаланушының қайсыбір сандық ақпараттарын сақтау үшін қолданылады, осы объектілерге жазуды транзактілер орындайды. Осы объектілерде жазылған ақпаратты кез келген транзакт оқи алады. Сонымен бұл объектілер ауқымды болып табылады және модельдің кез келген бөлігінен қатынауға болады.
Кез келген жүйеде ресурстар қатынау мүмкін еместігіне транзактілер ағынының қозғалысы кешігуі мүмкін. Қажет құрылғылар немесе ККҚ- лар бос болмауы мүмкін. Осы жағдайда кешіктірілген, ұсталған транзактілер кезекке тұрады.
Кезек – GPSS- тегі объектілердің типі. Осы кезектерді есепке алу интерпретатордың негізгі қызметтерінің бірі.
Пайдаланушы кезектер туралы статистиканы жинақтайтын модельдің нүктелерін анықтауы мүмкін, яғни кезек регистраторларын қоюы мүмкін. Сонда интерпретатор автоматты түрде кезектер туралы статистиканы жинайды. Мысалы: кезек ұзындығын, транзактінің кезекті болуының орташа уақытын және тағы басқа. Бұл ақпараттың барлығы ССА-ы болып табылады және пайдаланушыға модельдеу процесінде белгілі.
Интерпретатор автоматты
түрде кезекте қызмет көрсетудің
FIFO («бірінші келдің- бірінші кеттің»)
тәртібін ұстанады, және пайдаланушы
осы кезектер туралы стандартты статистикалық
ақпаратты ала алады. Егер пайдаланушыға
транзактілерден қызмет көрсетілудің
басқа тәтібімен кезекті
«Кесте» объектісі пайдаланушымен берілген кездейсоқ шамалар туралы статистиканы жинауға арналған. Кесте нақты шамалардың дәл келуінің саны енгізілетін жиілікті кластардан тұрады. Әр кесте үшін математикалық күтулер және орта квадраттың ауытқулар есептеледі.
Сонымен GPSS- модельдің объектілері:
Модельдік уақыттың сағаттар.
Шынайы жүйелердің әртүрлі
оқиғалары уақыттың қандай да мерзімінде
болады. Мысалы, дүкенге келген сатып
алушылар, олардың кезектері келгенде
оларға қызмет көрсетіледі. Егер осы
оқиғалардың барлығын модельде көрсететін
болсақ, олардың пайда болуы модельдің
уақыттың фонында өтуі керек. Интерпретатор
автоматты түрде модельдік
Модельдеудің басталу сәтінде интерпретатор бірінші транзактінің пайда болуын жоспарлайды. Осыдан кейін модельдік уақыттың сағатын модельде 1-ші транзактінің пайда болу сәтіне сәйкес келетін уақыттың мәніне қояды. Осы транзакт (және басқа да транзактілер, егер олар осы сәтте келсе) модельге кіреді. Ары қарай ол өзіне кездесетін модельдің барлық мүмкін блоктары арқылы жылжиды.
Блоктар арқылы транзактінің жылжуы салдарынан пайда болған оқиғалары уақыттың алдағы сәттерінде жоспарланады.
Әрине, уақыттың белгіленген алғашқы сәтінде жүйеде ештеңе болмайды. GPSS интерпретатор сағаттың мәндерін келесі жақын оқиға жоспарланған уақыттың мәніне ары қарай жылжытады.
Егер сағатпен белгіленген уақыттың 2-ші сәтінде транзактілер болмаса, сағат тағы да алға жылжиды. Осылайша оқиғадан оқиғаға модельдік уақыттың ауысуы болады.
GPSS сағатының ерекшелігі.
Операторлар типтері.
GPSS операторлары 3 типке бөлінеді:
GPSS- те сандарға, блоктар
және объектілерге сілтеме
Аттар GPSS/РС – де 20 символға дейінгі ұзындықта алфавитті- цифрлы тізбекті, ал GPSS World- да 250 символға дейінгі тізбекті құрайды. Латын алфавитінің символдары, цифр және асты сызылған таңба ғана пайдаланылады.
GPSS- блоктарының форматы мынандай: