рефераты рефераты
Главная страница > Курсовая работа: Разработка средств моделирования систем  
Курсовая работа: Разработка средств моделирования систем
Главная страница
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
География экономическая география
Геодезия
Геология
Госслужба
Гражданский процесс
Гражданское право
Иностранные языки лингвистика
Искусство
Историческая личность
История
История государства и права
История отечественного государства и права
История политичиских учений
История техники
История экономических учений
Биографии
Биология и химия
Издательское дело и полиграфия
Исторические личности
Краткое содержание произведений
Новейшая история политология
Остальные рефераты
Промышленность производство
психология педагогика
Коммуникации связь цифровые приборы и радиоэлектроника
Краеведение и этнография
Кулинария и продукты питания
Культура и искусство
Литература
Маркетинг реклама и торговля
Математика
Медицина
Реклама
Физика
Финансы
Химия
Экономическая теория
Юриспруденция
Юридическая наука
Компьютерные науки
Финансовые науки
Управленческие науки
Информатика программирование
Экономика
Архитектура
Банковское дело
Биржевое дело
Бухгалтерский учет и аудит
Валютные отношения
География
Кредитование
Инвестиции
Информатика
Кибернетика
Косметология
Наука и техника
Маркетинг
Культура и искусство
Менеджмент
Металлургия
Налогообложение
Предпринимательство
Радиоэлектроника
Страхование
Строительство
Схемотехника
Таможенная система
Сочинения по литературе и русскому языку
Теория организация
Теплотехника
Туризм
Управление
Форма поиска
Авторизация




 
Статистика
рефераты
Последние новости

Курсовая работа: Разработка средств моделирования систем

Модель на языке GPSSдолжна выглядеть так:

    GENERATE  10

L3  QUEUE     1

    SEIZE     B1

    DEPART    1

    ADVANCE   (EXPONENTIAL(1,0,2.1))

    RELEASE   B1              

L1  QUEUE     1

    SEIZE     B2

    DEPART    1

    ADVANCE   (EXPONENTIAL(1,0,6))

    RELEASE   B2

    TRANSFER  0.9,L2,L1

   

L2  QUEUE     1

    SEIZE     B3

    DEPART    1

    ADVANCE   (EXPONENTIAL(1,0,10))

    RELEASE   B3

    TRANSFER  0.9,L4,L3

L4  TERMINATE 1

    START     1000

Занесём данный текст в программу GPSS WORLD и получим стандартный отчёт.

В отчете собираются следующие статистические данные:

-  START TIME – начальное значение времени моделирования;

-  END TIME – конечное значение времени моделирование;

-  BLOCKS – число блоков, использованных при моделировании;

-  FACILITIES – число устройств, использованных при моделировании;

-  STORAGE – число многоканальных устройств, использованных при моделировании.

Информация об устройствах содержит следующие колонки:

-  FACILITY - имя устройства;

-  ENTRIES - количество транзактов, входивших в устройство;

-  UTIL. - коэффициент загрузки устройства;

-  AVE.TIME - среднее время пребывания транзакта в устройстве;

-  AVAILABLE - состояние устройства в момент окончания моделирования (1 - устройство доступно, 0 - недоступно);

-  OWNER - номер последнего транзакта,  вошедшего в устройство;

-  PEND - количество транзактов, ожидающих выхода устройства из режима прерывания;

-  INTER - количество транзактов, пребывание которых в устройстве было прервано;

-  RETRY - количество транзактов, ожидающих каких-либо условий, зависящих от состояния данного устройства;

-  DELAY - количество транзактов, ожидающих возможности входа в устройство (обычно это транзакты, находящиеся в очереди);

Информация об очередях содержит следующие колонки:

-  QUEUE - имя очереди;

-  MAX - максимальная длина очереди (т.е. количество транзактов в ней) за время моделирования;

-  CONT.- длина очереди в момент окончания моделирования;

-  ENTRIES - количество транзактов, входивших в очередь;

-  ENTRIES(0) - количество транзактов, которым не потребовалось ждать в данной очереди (нулевые входы);

-  AVE.CONT.- средняя длина очереди;

-  AVE.TIME - среднее время пребывания транзактов в очереди;

-  AVE.(-0) - среднее время пребывания транзактов в очереди без учета нулевых входов (т.е. без учета транзактов с нулевым временем пребывания в очереди);

-  RETRY - количество транзактов, ожидающих каких-либо условий, зависящих от состояния данной очереди.


3 Проектирование системы

В окончательном виде любая программа представляет собой набор инструкций процессора. Всё, что написано на любом языке программирования, - более удобная, упрощённая запись этого набора инструкций, облегчающая написание, отладку и последующую модификацию программы. Чем выше уровень языка, тем в более простой форме записывается одни и те же действия.

С ростом объёма программы становится невозможным удерживать в памяти все детали,  и становится необходимым структурировать информацию, выделять главное и отбрасывать несущественное. Этот процесс называется повышением степени абстракции программы.

Первым шагом к повышению абстракции является использование функции. Следующий шаг – описание собственных типов данных, позволяющих структурировать  и группировать информацию.

Объединение в модули описаний типов данных и функций, предназначенных для работы с ними, со скрытием от пользователя модуля несущественных деталей, является дальнейшим развитием структуризации программы.

Введение понятия класса является естественным развитием идей модульности. В классе структуры данных и функции их обработки объединяются. Класс используется только через его интерфейс – детали реализации для пользователя класса несущественны.

Класс является типом данных, определяемым пользователем. В классе задаются свойства и поведение какого-либо  предмета или процесса в виде полей данных (аналогично структуре) и функции для работы с ними. Создаваемый тип данных обладает практически теми же свойствами, что и стандартные типы. В нашей программе мы использовали три класса:

-  Класс FuncStandart содержит описание всех стандартных функций, определённых языком имитационного моделирования GPSS.

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

-  Класс GPSSOperatori содержит описание операторов языка имитационного моделирования GPSS.В зависимости от матрицы, сгенерированной в методе Matrixкласса GPSSText, вызываются соответствующие методы класса GPSSOperatori. Все методы класса возвращают строковое значение, содержащее описание требуемых операторов языка имитационного моделирования GPSS. Причем стандартные функции, которые используются в операторах как параметры, генерируются в классе FuncStandart.

-  Класс GPSSText описывает сгенерированный текст языка имитационного моделирования GPSS. Во-первых, метод класса Matrix, выводит на консоль запрос об операторах узлов, содержащихся в имитационной модели и о движении транзакта по соответствующим узлам. В зависимости от полученных данных  генерируется матрица переходов. Во-вторых, в методе Programma, по матрице переходов совершается соответствующий вызов метода классаGPSSOperatori. В конечном итоге, результат работы программы записывается в файл GPSStext.txt. Этот файл содержит окончательно сгенерированный текст программы на языке имитациооного моделирования GPSS.

Идея классов является основой объектно-ориентированного программирования.

Основными свойствами ООП является инкапсуляция, наследование и полиморфизм.

Объединение данных с функциями их обработки в сочетании со скрытием ненужной для использования этих данных информации называется инкапсуляцией.

Наследование – это возможность создания иерархии классов, когда потоки наследуют все свойства своих предков, могут их изменять и добавлять новые.

Полиморфизм – возможность использования в различных классах иерархии одно имя для обозначения сходных по смыслу действий и гибко выбирать требуемое действие во время выполнения программы.

В нашей программе используется первые два свойства ООП.

Проектирование объектно-ориентированной программы представляет собой весьма сложную задачу, поскольку в процесс добавляется ещё один важный этап – разработка иерархий классов.

Представим иерархию классовнашей программы (рисунок 3.1)


Рисунок 3.1


4 РЕАЛИЗАЦИЯ СИСТЕМЫ

Как ранее уже описывалось, программа состоит из трёх классов:

-  Класс FuncStandart содержит описание всех стандартных функций, определённых языком имитационного моделирования GPSS.

-  Класс GPSSOperatori содержит описание операторов языка имитационного моделирования GPSS.

-  Класс GPSSText описывает сгенерированный текст языка имитационного моделирования GPSS.

4.1 Класс FuncStandart

-  Метод stringfBETA() задает параметры функцииBETA(Stream,Min,Max,Shape1,Shape2)  и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-  Метод stringfBINOMIAL()задает параметры функции BINOMIAL(Stream,TrialCount,Probability) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-  Метод stringfDUNIFORM()задает параметры функции DUNIFORM(Stream,Min,Max) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-  Метод stringf_1() задает параметры функций EXPONENTIAL(Stream,Locate,Scale), EXTVALA(Stream,Locate,Scale), EXTVALB(Stream,Locate,Scale), LAPLACE(Stream,Locate,Scale), LOGISTIC(Stream,Locate,Scale)и возвращает строку содержащую описание этих параметров с уже заданными пользователем значениями.

-  Методstring f_2() задаетпараметрыфункцийGAMMA(Stream,Locate,Scale,Shape), INVGAUSS(Stream,Locate,Scale,Shape), INVWEIBULL(Stream,Locate,Scale,Shape), OGLAPLACE(Stream,Locate,Scale,Shape), LOGLOGIS(Stream,Locate,Scale,Shape),LOGNORMAL(Stream,Locate,Scale,Shape),PEARSON5(Stream,Locate,Scale,Shape),WEIBULL(Stream,Locate,Scale,Shape)ивозвращаетстрокусодержащуюописаниеэтихпараметровсужезаданнымипользователемзначениями.

-  Метод stringfGEOMETRIC()задает параметры функции GEOMETRIC(Stream,Probability) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-  Метод stringfNEGBINOM()задает параметры функции NEGBINOM(Stream,SuccessCount,Probability) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-  Метод stringfNORMAL()задает параметры функции NORMAL(Stream,Mean,StdDev) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-  Метод stringfPARETO()задает параметры функции PARETO(Stream,Locate,Scale)  и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17

рефераты
Новости