Навигация
Главная
Поиск
Форум
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
Бип из системно... 60692
Invision Power ... 58594
Организация зап... 58569
Модуль Forms 57059
Приложение «Про... 56811
Оператор выбора... 56244
Создание отчето... 55995
Подключение Mic... 55852
ТЕХНОЛОГИИ ДОСТ... 52194
Программируемая... 49487
Пример работы с... 48013
Имитационное мо... 47743
21 ошибка прогр... 42705
Реклама
Сейчас на сайте
Гостей: 10
На сайте нет зарегистрированных пользователей

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

База данных - словарь терминов на Delphi + Пояснительная записка
База данных междугородних телефонных разговоров на Delphi
Моделирование автомойки на GPSS + Отчет + Блок схемы

Реклама

Задача №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 Комментариев · 14642 Прочтений · Для печати

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


Комментарии
Барбос 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...
Шаблон для новост...

Случайные загрузки
Панель "ссылки"
Панель Наша Кнопка
Tank [Исходник на...
Моделирование дви...
В.Понамарев - COM...
C++ Builder 6 СПР...
Delphix Sample [И...
PDJ_Anima
CwstatusBar
JanComp
Proeffectimage
Progressbar
Dealer
Платформа програм...
DCAVI
SODA [Исходник на...
Х. М. Дейтел, П. ...
Text3D
Szwavepanel
DateEdit

Топ загрузок
Приложение Клие... 100307
Delphi 7 Enterp... 77879
Converter AMR<-... 20021
Borland C++Buil... 10672
GPSS World Stud... 9251
Borland Delphi ... 7658
Turbo Pascal fo... 6884
Visual Studio 2... 4906
Калькулятор [Ис... 3994
FreeSMS v1.3.1 3486
Случайные статьи
Модификация корпус...
21 Д Безопасность ...
Особенности примен...
Опции программы «T...
Серия интерфейсов RS
Игра "Суммируйте д...
Первый алгоритм ре...
Может возникнуть в...
Трудности при испо...
Операторы is и as
Первый раз эта фра...
Этап 5 - использов...
Стандартные подпро...
объектная переменная
Дизайнерские ресур...
Для организации с...
вызвались:• Джон Ч...
Error in expression
Знайте, что вы ищете
Методики авторизац...
Адреса, указатели ...
Копия установочног...
Сливочные десерты
По умолчанию в ред...
Рабочий стол, меню...
Статистика



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


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