Имитациялық модельдеу

Автор работы: Пользователь скрыл имя, 15 Февраля 2013 в 12:45, доклад

Описание работы

GPSS модельдеу жүйесі. GPSS – General Purpose Simulation System [Система моделирования общего назначения] Дискретті оқиғалы имитациялық модельдерді құру және ЭЕМ- де эксперименттер жүргізуге арналған модельдеу тілі.
GPSS тілі объектілі- бағдарлы тілдің принципі бойынша құрылған декларативті типтегі тілі.
Тілдің негізгі элементтері болып модельденетін жүйенің динамикалық және статикалық объектілерін сәйкесінше бейнелейтін транзактілер мен блоктар табылады.

Файлы: 1 файл

Документ Microsoft Office Word (2).docx

— 28.53 Кб (Скачать файл)

[жол нөмері][<белгі>]<амал(операция)><операндалар><коментарий>

Мұндағы:

жол нөмері: GPSS/РС үшін міндетті өрісі, ал GPSS World – та еленбейді (міндетті емес)

Жолдың 1-ші позициясынан басталады, ондық санды көрсетеді.

Белгі (блок аты): Өрістің  мазмұны- ат болып табылады, әріптен  басталатын символдардың тізбегі. Кейбір операторларда бұл өріс мінгдетті  болып табылады.

Амал(операция): Блоктар операциясы ретінде блоктардың негізгі функционалды міндетін сипаттайтын етістіктер қолданылады. Блоктардың әрқайсысы өһзіне мншіктеліп бекітілген етістіктермен мінезделеді.

Операндалар: Блоктарда операндалар  болуы мүмкін. Олар берілген блоктың  өзіне тән әрекеті туралы ақпарат  береді. Блоктың операндаларының  саны блоктың типіне байланысты болады. Блоктарда 7 операндалардан артық қолданылмайды. Операндалар А,В,С,Д,Е,F,G символдармен белгіленеді. Операндалар мәні блоктың типімен анықталады.

Кейбір блоктардың бір  операндалары үнемі анықталған болуы  мүмкін, ал басқалары берілуі де, берілмеуі де мүмкін, яғни міндетті емес. Операндалар бірінен кейін  бірі үтір арқылы немесе пробелмен  жазылады. Егер операндалар қалдырылған  болса, онда оның орнына  үтір қойылады. Операндалардың арасында бір пробелден  артық болмауы керек, себебі одан көп болған жағдайда операндалардың аяқталғанын білдіреді де, интерпретатор  жолды оқуды аяқтайды.

Комментарийлер: міндетті емес өріс. Операндалар өрісінен «;» таңбасымен ерекшеленеді. Комментарийді жолдың басынан жазуға болады, бұл жағдайда жолдың 1- позициясына;  немесе * таңбасымен қойылады.

GPSS/РС- де комментарий  тек латын алфавитінің бас  және кіші әріптерімен жазылады, ал GPSS World –та кириллица әріптері  де қолданылады.

Блокты сипаттау жолы GPSS/РС – де 79 символға, ал GPSS World- та 250 символға дейін рұқсат етілген. Форматтарды  сипаттауда [ ] (квадрат жақшалар) өрістің  міндетті еместігін көрсетеді.

Аттар мен белгілер блоктардың, операторлардың, командалардың және ССА- ның атаулары немесе атауларының  бастапқы символдары бола алмайды.

 

Модельге транзактілерді енгізу GENERATE блог.

GENERATE (Генерировать) блогы-  транзактілердің модельге кіретін  блогы. Бір модельде GENERATE әртүрлі  блоктарының санына шектеулер  жоқ.

GENERATE блогынан тізбектелген  транзактілердің пайда болуының  арасындағы уақыт аралығы түсу  интервалы (интервал поступление)  деп аталады. Транзакт модельге GENERATE блогы арқылы кіргенде интерпретатор  сағаттың ағымдағы мәні мен  ойнатылған мәнінің қосындысына  тең уақытқа кездейсоқ санның  ұтыс ойына жолымен келесі  транзактінің түсу уақытын жоспарлайды.

Модельдік уақыттың осы уақытына жеткен кезде транзакт GENERATE блогы  арқылы модельге кіреді.

Модельдеуші GENERATE блогында транзактілердің интервалдарының  таратылған функциясын беруі қажет.

GPSS- ге транзактілердің  түсуінің интервалдарының кездейсоқ  таратылуының барлық мүмкін түрлері  тең өлшемді (равномерное) таратулар  және таратылудың басқа түрлеріне  бөлінеді. Кездейсоқ тривналды емес  таратулардың ең қарапайым түрі- тең өлшемді таратулар алдағы  мысалдар қарастырылады.

 

Блоктың форматы:

GENERATE [A],[B],[C],[Д],[E]

Операндалар

Мәні 

Бастапқыдағы мәні

А

Уақыттың орташа интервалы (сан,CCA)

0

В

Тең өлшемді таратылған интервалдың  жіберу өрісінің жартысы 

0

С

Интервалдардың смещениясы

Смещение жоқ

Д

Транзактілердің шектеушісі

шектеусіз

Е

Транзактінің приоритет деңгейі  мүмкін мәндер 0-127

0


 

Модельден транзактілер жою. TERMINATE блогы.

Транзактілер TERMINATE (завершить) блогына түсіп, модельден жойылады. Осы сәтте транзактіге бөлінген жады босатылады. Осы блоктар модельден  шыққысы келетін барлық транзактілерге шығуға мүмкіндік береді. Модельде TERMINATE блоктарының кез келген саны болуы мүмкін.

Блок форматы TERMINATE [А]

А операндасы арнайы есептелетін  азаю шамасы болып табылады да, аяқтау есептегіші деп аталады. Бұл операнд  транзактінің TERMINATE блогына транзакті  кіргенде есептегіштен әр жолы азайтылатын  шаманы береді. Бастапқы жағдайда А=0. TERMINATE блогына А операндасының 0-дік  мәнімен транзактінің кіруі аяқталу  есептегішіне азайтуды әкелмейді.

Аяқтау есептегіш- бүтін  оң санды сақтайтын ЭЕМ- нің жадысындағы  ұяшық. Есептегіштің бастапқы мәні модельдеудің басында қойылады. Ол START командасының А операндасының мәніне тең келеді. Модельдеу барсында транзактілер TERMINATE блогына түсіп, есептегіштің мәніне А опернадасының шамасына кемітеді. Модельдеу есептегіштің мәні 0 –  ге немесе теріс санға тең болғанда аяқталады.

Қорытындылап айтқанда:

  1. Модельде көптеген TERMINATE блоктары болуы мүмкін, бірақ аяқтау есептегіш- біреу , бастапқы мәні START командасында көрсетіледі.
  2. Есептегіш – модельден шығатын транзактілердің санын береді.

Интерпретатор модельдеуді  START командасымен бастайды. Оның форматы START [A],[B],[C],[Д]

А- операндасында аяқтау есептегішінің бастапқы мәні беріледі, яғни модельдің жүріп өтуінің  аяқталу сәтін анықталады.

В- статистиканы шығару операндасы. Бұл операнд «NP» мәнін қабылдануы мүмкін немесе бос болуы мүмкін. В операндасына «NP» мәнің берілуі  статистиканы шығаруды бұғаттауға (блокирование) әкеледі. Бастапқы жағдайда стандартты статистика шығарылады.

С- операндсы қолданылмайды  және GPSS- тің алдыңғы версияларымен  үйлесімділігі үшін сақталған.

Д- операндасы СТС және СБС  мазмұнын шығарудың қажеттілігін береді. Д операндасы оң бүтін сан болуы  сан болуы мүмкін.

Егер операнд Д = болса, онда СТС және СБС шығарылады.

 

Модельдеу процесінің ұзақтығын  басқару

GPSS тілінде модельдеу  2 тәсілімен басқаруға болады:

  1. модель анықталған типті транзактілердің берілген санын өтіп болғаннан кейін модельдеуді аяқтау;
  2. модельдеуді уақыттың берілген интервалы аяқталғаннан кейін аяқтау

1- тәсіл бойынша:

1) START командасында А операндасына  транзактілердің берілген санының  мәні меншіктеледі.

2) Берілген типтің транзактілері  модельден шыққан соң TЕRMINATE- тің  барлық блоктарында А операндасына  «1» немесе 0- ден өзгеше басқа  мән беріледі.

3)  TЕRMINATE – тің барлық  басқа блоктарында А операндасының  мәні бастапқы жағдайдағы мәнді  қабылдайды (А=0). Аяқтау есептегіштің  мәні бұл блоктарға тәуелді  болмайды.

 

Мысалы: модельде 1000 транзакті  өткеннен кейін модельдеуді аяқтау:

GENERATE 40,5

...

TЕRMINATE 1

START 1000

2- тәсілі: Модельдеуді әзірлеуші  модельдік уақыттың бірлігі ретінде  1 мин таңдап алсын және 8 сағаттың  ішінде жүйенің тәртібін модельдегісі  келеді.

Мұны былай істеуге  болады:

1) Модельге 2 блоктан тұратын  таймер-сегменті енгізу.

GENERATE 480

TЕRMINATE 1

2) Модельдің барлық басқа  TЕRMINATE блоктарында А операндасының  бастапқы мәнін (А=0) қолдану. Бұл  аяқтау есептегішімен анықталған  модельдеуді тоқтату TЕRMINATE- тің  басқа блоктарына тәуелді болмайтынын  көрсетеді.

3) START командасында А=1 болды керек.

 

Сонымен, модельдеу процесінде TЕRMINATE- тің басқа блоктарындағы  транзактілер қозғалысы аяқтау есептегішіне әсер етпейді.

Уақыттың 480 сәтінде транзакт GENERATE блогынан шығып, бірден TЕRMINATE блогына  ауысады. Аяқтау есептегіші 1 бірлікке азайып, интерпретатор модельдеуді  аяқтайды.

Бір каналды қызмет көрсететін құрылғыларды бейнелейтін элементтер.

Қызмет көрсететін құрылғыларды қолданылатын элементтерді қарастырайық. Қызмет көрсететін элементтердің аналогтары ретінде адамдар, механизмдер, байланыс желілер және шынайы жүйелердің басқа  да объектілері қарастырылады.

Құрылғы негізгі екі қасиетімен мінезделеді:

  1. Әрбір құрылғы уақыттың кез келген сәтінде тек бір транзактіге ғана қызмет етеді. Егер қызмет ету процесінде жаңа транзакт пайда болса, онда ол төмендегілердің біреуіне орындауы қажет:
  • өз кезегін күтуі;
  • басқа орынға баруы;
  • жаңа келген транзактінің приоритеті жоғары болса, құрылғы ағымдағы қызмет көрсетуін тоқтатады да, жаңа транзактіші қабылдайды
  1. Транзакт құрылғыға түскен сәтте, ол қызмет көрсетілуі үшін біраз уақыт құрылғыда болуы керек.

 

Барлық құрылғыға ат беру қажет. Олар сандық немесе символдық  болуы мүмкін. (Сандық болса оң бүтін  сандарды ғана қабылдайды). Трансляция кезінде символдық аттарға транслятор өзі сандық мәндерінде таайындайды.

Бір каналды қызмет көрсету  құрылғысын қолдану үшін транзакті  мынадай қадамдарды орындалуы керек:

1- қадам: Егер қажет  болса, өзінің кезегін күтуі  керек. Күту уақыттың қайсыбір  аралығында болады.

2- қадам: Кезегі келгенде  құрылғыға келу. «Құрылғыны алу»  оқиғасы модельдік уақыттың қайсыбір  сәтінде өтеді.

3- қадам: Құрылғы қызмет  көрсетіп болмайынша бос болмау  жағдайында болады. Қызмет көрсету  үшін уақыттың қайсыбір интервалы  қажет.

4- қадам: Қызмет көрсету  аяқталғаннан кейін құрылғыны  босату. «Құрылғыны босату» оқиғасы  модельдік уақыттың қайсыбір  сәтінде өтеді.

Қадамдардың осы тізбегі  құрылғыны қолдануды модельдеуде GPSS- те орындалады, 2- ші және 3- ші қадамдар SEIZE(занять) и RELEASE (освободить) блоктарымен  жүзеге асады.

Блок форматы: SEIZE А

А операнда, мәні – құрылғының аты(сан немесе символ), бастапқы нәтижесі – қате;

Бұл блок мынандай қасиеттерге  ие болады:

  1. егер уақыттың ағымды сәтінде құрылғы болса, онда транзакт блокқа кіре алмайды және сол себептен өз кезегін күтуі күтуі керек;
  2. егер құрылғы бос болса, транзакт блокқа кіре алады. Транзактінің блокқа кіруі осы блоктың өңделуінің ішкі бағдарламасының орындалуын шақырады.

Құрылғының жағдайы «бос»  жағдайдан «бос емес» жағдайға өзгереді.

RELEASE блогы «бос емес»  құрылғының жағдайының «бос емес»-тен  «бос»

жағдайына өзгеруін көрсетуге  арналған. Бұл блок транзактінің кіруіне  ешқашан тыйым салмайды.

 

 


Информация о работе Имитациялық модельдеу