Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
22
Добавлен:
16.04.2013
Размер:
1.01 Mб
Скачать
      1. Пример наполнения объектной бдвв сети Петри.

Ранее мы описали пример “test” наполнения реляционной базы данных сетей Петри, т.е. значения экземпляров реляционных отношений в совокупности описающих данную в заголовке схему. Теперь мы сделаем это для нашей объектной БДВВ имитации сетей Петри, описав содержание контейнеров классов.

vector< сS >

SN N Os Is

0: S1 0 pos1 pis1 где po1[0], pi1[0]

1: S2 0 pos2 pis2 где po2[1], pi2[]

2: S3 0 pos3 pis3 где po3[2], pi3[2,3]

3: S4 0 pos4 pis4 где po4[3], pi4[]

vector< сT >

TN TD Ot It

0: T1 10 pot1 pit1 где pot1[0,1], pit1[0,1]

1: T2 20 pot2 pit2 где pot2[2], pit2[2,3]

vector< сST >

Os It TI

0: 0 0 1

1: 1 0 2

3: 2 1 2

vector< сTS >

Ot Is TO

0: 0 0 1

1: 0 2 1

2: 1 2 1

3: 1 3 1

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

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

  1. Средства выполнения работы.

В Вашем распоряжении рабочее место, т.е. достаточно мощный персональный компьютер, который позволяет отлаживать программы на языке С++ (т.е. MS Visial C++ не ниже 6.0). Предполагается, что Вы блестяще (в крайнем случае - хорошо) знаете С++ в объеме курса Дейтел&Дейтел. Вы успешно разработали и отладили первый вариант симулятора сетей Петри. Накануне настоящей лабораторной работы Вы ознакомились с её теоретической частью в раздела 2 данного методического руководства. Перед Вами лежат результаты Лаб.раб. №01.01.00 и №01.02.00 – распечатка IDEF0-диаграмм и описание примера - модели проблемной ситуации в вербальной форме, текст программы первого варианта и уже достаточно большой текст содержания Журнала Системного Анализа (ЖСА).

  1. Советы и рекомендации.

Главным условием начала выполнения данной работы является успешное завершение предидущей. Вы должны достигнуть достаточно полного и глубокого понимания задачи имитационного моделирования в аспекте её БДВВ в виде реляционной базы данных. Теперь перед Вами стоит задача модернизации, т.е. максимального улучшения Вашей программы, которая должна решаться в смысле перехода на объектно-ориентированную парадигму.

Прежде всего перечитайте раздел 2.1, посвященный попытке показать как рождается понятие объекта. Очень хорошо, если у Вас появились свои вопросы или критика – смело фиксируйте их в ЖСА. Дело в том что ООП имеет столько аспектов, что сразу трудно перечислить, а формализация получается тогда, когда есть наработанный материал по теме “Что такое хорошо, а что такое плохо”. Если у Вас появились свои идеи – пробуйте разработать свой вариант задачи. Можно посмотреть, как это было уже сделано другими (вариант реализации в объектном стиле задачи прилагается).

Но даже если Вы чувствуете силы для самостоятельной работы, рекомендуем Вам ознакомиться с разделом 2.2. В нем описывается вариант БДВВ имтационного моделирования, который позволяет решить поставленную задачу. Какие у него достоинства? Какие у него недостатки? Пока не будет однозначно задан контекст (т.е. область и способы использования программы), это решить невозможно. Не мучайте себя состоянпием неопределённости! Выбирайте вариант реализации и программируйте событийный механизм на основе новой структуры внутреннего представления данных.

Очень рекомендую, не забывать про ЖСА. Используйте его для фиксирования хода своих мыслей и принимаемых решений. Особенно важно записывать в нем ошибочные варианты, которые потом Вам пришлось переделать (что, как, почему, зачем, причина и следствия). И не спешите набивать текст программы! Постарайтесь сначала наиболее полным и последовательным образом сделать проект разработки на вербальном уровне.

Соседние файлы в папке Методические указания