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

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

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

и группировать информацию.

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

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

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

- Класс 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) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

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

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

- Метод stringfTRIANGULAR()задает параметры функции

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


Другие рефераты на тему «Программирование, компьютеры и кибернетика»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы