Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Гостевая книга ... 65535
Содержание сайт... 65535
Вызов хранимых ... 65535
Эмулятор микроп... 65535
Бип из системно... 62637
Организация зап... 59823
Invision Power ... 59451
Приложение «Про... 58710
Оператор выбора... 57815
Модуль Forms 57737
Подключение Mic... 57076
Создание отчето... 57027
ТЕХНОЛОГИИ ДОСТ... 53313
Программируемая... 51111
Пример работы с... 49201
Имитационное мо... 48794
21 ошибка прогр... 43554
Реклама
Сейчас на сайте
Гостей: 8
На сайте нет зарегистрированных пользователей

Пользователей: 13,043
новичок: G_S_A
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

База данных студентов на Delphi + Microsoft SQL Server
Файл записей с выводом обратного заголовка на Turbo Pascal
Моделирование интернет магазина (Apache, Php, Html) на GPSS + Блок схема

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании

Задача №3. Необходимо промоделировать загрузку рабочих мест по проектированию печатных плат в GPSS World
Постановка задачи
Необходимо промоделировать загрузку рабочих мест по проектированию печатных плат. На вход модели подаются задания на разработку печатных плат. На выходе должны быть сведения о загрузке рабочих мест.
Схема прохождения проекта по рабочим местам:
1. Разработка схем
2. Моделирование схем
3. Корпусирование схем
4. Выпуск схемной документации
5. Разработка печатной платы
6. Выпуск документации по печатной плате.
В зависимости от варианта задания на каждый этап проектирования приходится от 1 рабочего места (1 канал в терминах GPSS) до 10 (много каналов). Необходимо «запустить» множество заданий по смоделированным рабочим местам и, имитируя задержку на выполнение этого «задания», оценить загрузку рабочих мест.
Для моделирования необходимо описать в терминах GPSS рабочие места (одно- и многоканальные устройства) и задать задержки на этих местах, а также правила перехода заданий (транзактов) с одного рабочего места (устройства) на другое.
Следует определиться в терминах. Под одноканальным устройством или одноканальным рабочим местом понимается такое рабочее место, на котором выполняется определенный единственный вид работы, причем нигде больше он не выполняется. Под многоканальным устройством или многоканальным рабочим местом понимается совокупность рабочих мест, на которых выполняется один и тот же вид работ. Когда задание при моделировании заходит в одноканальное рабочее место (устройство), оно «захватывает» его и «держит» до тех пор, пока не пройдет нужная задержка. Другое задание не может в это время зайти в захваченное устройство. Когда задание заходит в многоканальное устройство (группу рабочеих мест), то оно захватывает одну из ячеек (рабочих мест) и держит его до конца задержки.

Описание операторов языка GPSS
Выполнение лабораторной работы имеет своей целью моделирование загрузки рабочих мест, используемых для проектирования печатных плат.
1. Как определить некоторое множество рабочих мест, работающих над одной задачей (т.е. описать многоканальное устройство)? Для этого используется оператор STORAGE. Его формат:
<имя_хранилища> STORAGE <емкость_хранилища>.



Например: 25 INSH STORAGE 10, что означает: определим хранилище (многоканальное устройство или многоканальное рабочее место) на 10 рабочих мест и присвоим хранилищу имя INSH (для нашей задачи — сокращение от Input Scheme — рабочие места, на которых вводятся схемы). Примечание: 25 — это номер строки программы. Хранилище имеет некоторое сходство с массивом в алгоритмических языках программирования.
В зависисмости от задания опишите необходимое количество хранилищ с нужными объемами, моделирующих задаваемые по условию рабочие места.

2 Как задать (смоделировать) возникновение заданий на проектирование?
Представим себе, что задания на проектирование новой платы (единичное задание в нашей задаче) поступают каждые 20 часов с разбросом по времени +/- 10 часов.
Таким образом, минимальный промежуток между поступлением задания состваляет 20-10=10 часов, а максимальный 20+10=30 часов. Для моделирования возникновения заданий с такими параметрами появления используется оператор GENERATE. Его формат:
GENERATE <интервал_появления>, <разброс>.



Например, для нашего примера это будет GENERATE 20,10. Оператор GENERATE генерирует задания (в общем случае они называются транзактами) каждые 20 единиц времени с разбросом 10 единиц. Для генерации используется какой-то закон распределения случайной величины (обычно — Гаусса). Генерируемый транзакт отправляется «гулять» по модели, начиная со следующего за GENERATE блока.
3. Как задать режим работы многоканальных рабочих мест?
Для каждого вида работ надо описать отдельный блок из 3 операторов, моделирующих работу соответствующего вида. Моделирование заключается в том, что задания (транзакты) помещаются в многоканальное устройство и задерживаются там на случайный промежуток времени. Например, если работа над разными платами может длиться от 14 часов до 34 часов (в зависимости от сложности платы и квалификации работника и т.д.), то задание будет помещаться в хранилище (точнее, в любое из его отделений) с интервалом 24 часа и разбросом 10 часов. Следующие операторы моделируют помещение задания на какое-то рабочее место, задержку в нем (для работы над платой) на 14-34 часа и извлечения задания с рабочего места:

4.Как задать режим работы одноканального рабочего места?
Для определения одноканального рабочего места (устройства) не надо его специально описывать оператором STORAGE, достаточно просто указать его имя прямо в тексте программы перед тем, как описать задержку. Следующие операторы описывают одноканальное устройство и устанавливают задержку на выполнение с интервалом 16 часов и разбросом 10 часов. Устройство захватывается оператором SEIZE и освобождается оператором RELEASE:

5. Как передать управление в программе на GPSS? Как скопировать задание (транзакт) для параллельной обработки?
Для этого нужно поставить в том месте, куда вы хотите передать управление, метку, а затем с помощью какого-нибудь оператора передать туда управление. Прямая передача управления осуществляется оператором TRANSFER.
Пример:
203 MyLabel1 ENTER LyBRD,1 ; здесь стоит метка MyLabel1
.........
370 TRANSFER ,MyLabel1 ;переход на метку MyLabel1



Передача управления также применяется при копировании заданий (транзактов), например, когда одновременно (параллельно) ведутся разные работы. Копирование заданий осуществляется опреаторм SPLIT. Его формат:
SPLIT <число_создавемых_копий>, <метка_куда_отправить_копию>
Для нашего примера оператор SPLIT будет иметь вид:
205 SPLIT 1,MyLabel1



что означает: создать одну копию и отправить ее на метку MyLabel1.
6. Как собрать воедино результаты работы модели?
Для этого служит оператор ASSEMBLE <число_объединяемых_транзактов>. Он собирает вместе (задерживает) транзакты, и делает возможным обработку полученных данных. Этим оператором должна завершаться программа (но, естественно, перед TERMINATE). Пример:
260 FINAL ASSEMBLE 2 ; FINAL - метка конца программы
270 TERMINATE 1 ; закончим программу




Задание на лабораторную работу
Необходимо составить программу на GPSS, моделирующую загрузку рабочих мест по проектированию печатных плат. В вариантах лабораторной работы предлагаются различные сочетания работ на рабочих местах.

В этой таблице указаны наименования работ и соответствующий видам работ разброс выполнения единичной работы (минимальное и максимальное время на выполнение одного задания), количество рабочих мест (4 варианта размещения работ). Несколько видов работ может совмещаться на одних и тех же рабочих местах (это указано стрелочками). При совмещении работ затрачиваемое время суммируется. Например, для 1 варианта для 2 рабочих мест — от min{Разработка схем}+min{Моделирование схем} до max{Разработка схем}+max{Моделирование схем}, т.е. оператор выглядит как ADVANCE 40,20.
(При написании программы не используйте коментарии на русском языке!!!)

Пример программы на GPSS
;определяем многоканальные устройства
10 INSH STORAGE 10 ; 10 рабочих мест для ввода схем
20 LYBRD STORAGE 3 ; 3 рабочих места на макет
; задания поступают через 20-40 ч
30 GENERATE 30,10
; Моделирование — ВВОД СХЕМ
; входим в многоканальное устройство INSH и занимаем одну ячейку
90 ENTER INSH,1
100 ADVANCE 24,10 ; задержка от 14 до 34 ч
110 LEAVE INSH,1 ; освободили 1 ячейку INSH ; Моделирование — ПРОВЕРКА СХЕМ
; занимаем одноканальное устройство CHSH
120 SEIZE CHSH ; захватили устройство CHSH
130 ADVANCE 16,10 ; задержка от 6 до 16 ч
140 RELEASE INSH,1 ; освободить устройство
; Моделирование — КОРПУСИРОВАНИЕ СХЕМ
; входим в многоканальное устройство INSH и занимаем одну ячейку
170 ENTER INSH,1
180 ADVANCE 8,5 ; задержка от 3 до 13 ч
190 LEAVE INSH,1 ; освободили 1 ячейку INSH
; Параллельное выполнение — одновременно подготовка схемной документации ; и разработка печатной платы
200 SPLIT 1,LYOUT ;создаем копию и отправляем ее на LYOUT
;Моделирование — ПОДГОТОВКА СХЕМНОЙ ДОКУМЕНТАЦИИ
; входим в многока нальное устройство INSH и занимаем одну ячейку
210 ENTER INSH,1
220 ADVANCE 16,10 ; задержка от 6 до 26 ч
230 LEAVE INSH,1 ; освободили 1 ячейку INSH
; Передаем упраление на метку
240 TRANSFER ,FINAL
; Моделирование — РАЗРАБОТКА ПЕЧАТНОЙ ПЛАТЫ
250 LYOUT ENTER LYBRD,1
260 ADVANCE 8,5 ; задержка от 3 до 13 ч
270 LEAVE LYBRD,1 ; освободили 1 ячейку INSH
; Моделирование — ПОДГОТОВКА ДОКУМЕНТАЦИИ ПО ПЕЧАТНОЙ ПЛАТЕ
280 ….SEIZE BRDDOC ; захватим устройство BRDDOC
290 ADVANCE 15,10 ; задержка от 5 до 25 часов
300 RELEASE BRDDOC ; освободить устройство
; Завершение программы
310 FINAL ASSEMBLE 2 ; Объединение заданий
320 TERMINATE 1 ; конец программы



Опубликовал Kest June 04 2009 18:10:34 · 1 Комментариев · 15073 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Барбос March 01 2017 09:16:57
Вы че попутали?
140 RELEASE INSH,1 ; освободить устройство

ошибка же, в шары долбитесь
а в чем сами дошаривайте
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Нестандартные при...
Ранги для форума
Время загрузки ...
oTextrackBar
SMExport
Конвертирование и...
THttpScan v4.1
Assembler. Практикум
Панель для реклам...
Шкрыль А. - Разра...
API (Применение A...
MiniTetris [Исход...
Современное проек...
MpegPlay
Самоучитель C++
Фильтры изображений
WAP версия сайта
Dynamic Titles дл...
AVIwriter
Visual Basic for ...

Топ загрузок
Приложение Клие... 100333
Delphi 7 Enterp... 79846
Converter AMR<-... 20025
Borland C++Buil... 10823
GPSS World Stud... 9748
Borland Delphi ... 7849
Turbo Pascal fo... 6910
Visual Studio 2... 4926
Калькулятор [Ис... 4128
FreeSMS v1.3.1 3488
Случайные статьи
Занятие 3. Распрос...
Адресаты инфографики
ПРАВИЛА ПУНКТУАЦИИ
Стандарты кодирования
Взаимодействие с п...
Исключение рекурси...
OpenGL. Шесть куби...
12.1. Задача
15.3. Порождение т...
Что такое ХР?
Ссылки
Wizard) 317RPC (Re...
Класс Array_ref бл...
Насколько она слож...
Проблемы быстродей...
Содержание
ПОПОЛНЕНИЕ БАЗЫ ЗН...
Описание перечисли...
Процедуры кодирова...
Простые источники ...
Хакинг
Операции над матри...
Использование мето...
Мосты, которые при...
присвоения чрезмер...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?