Студопедия

КАТЕГОРИИ:

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

Методика реализации информационной модели ПрО




1.Для конкретной ПрО модель – это обобщающее понятие. В данной задаче класс TModel – это класс TShema.

2.Производится декомпозиция ПрО на составляющие понятия, которые детализируют обобщенное. Детализирующие понятия в свою очередь могут быть декомпозированы. Все выделенные понятия описываются в виде классов, которые находятся с обобщающим классом в отношении «часть». Здесь схема состоит из 2-х выключателей и 3-х лампочек, т.е. детализируется на 2 понятия, они описываются классами TSwitch (кратность отношения 1:2) и TLamp (кратность отношения 1:3).

3.Если в задаче необходимо использовать датчики случайных чисел одного или различных распределений, то классы этих распределений будут находиться с классом «модель» в отношении «часть» в кратности, соответствующей различным наборам их параметров. Здесь в формулировке задачи заданы 2 распределения – равномерное и экспоненциальное (классы TRandomR и TRandomE), для каждого из которых задан единственный набор параметров. Следовательно кратность отношений «датчиков» и «модели» - 1:1.

4.В классе «модель» описываются сигнал sendEvent и слот recieveEvent c 2-мя параметрами double (планируемое время возникновения события) и TEvent (структура, определяющая понятие «событие»).

5.Перечисляются все события, которые могут возникать. В примере это

- Е0 – старт,

- Е1 – переключение К1,

- Е2 – переключение К2,

- Е3 – перегорание Л1,

- Е4 – перегорание Л2,

- Е5 – перегорание Л3,

- Е6 – замена Л1,

- Е7 – замена Л2,

- Е8 – замена Л3.

Структура TEvent – это перечисление

enum TEvent {E0, E1, E2, E3, E4, E5, E6, E7, E8};

6.В соответствии со списком событий специфицируются протоколы классов, описывающих ПрО, делая их наследниками QObject и подключая механизм передачи сообщений «сигнал-слот».

 

Class TSwitch : public QObject

{

Q_OBJECT

bool state; //вкл/выкл

public:

TSwitch(); //инициализирует объект on=false

void reset(); //нач.состояние

void getState(bool&); //чтение состояния

public slots:

void reverse(double); //команда переключить

//состояние (параметр - время)

signals:

void changedState(double,bool); //сигнал, //излучаемый при переключении состояния

//параметры – время, новое состояние

};

Class TLamp : public QObject

{

Q_OBJECT

bool light; //горит/не горит

bool good; //исправна/не исправна

public:

TLamp();    //on=false, good=true

void reset(); //нач.состояние

void getState(bool&,bool&); //чтение //состояния

public slots:

void on(double,bool); //команда вкл/выкл

void fire(double,bool); //команда

//перегорела/восстановлена

signals:

void changedState(double,bool,bool); //сигнал, //излучаемый при изменении состояния лампочки

};

7.Реализовать алгоритм работы обработки событий от «движка» в виде -

Void TShema::recieveEvent(double t, TEvent e)

{

switch (e)

{

  case E0: . . .; break;

  case E1: . . .; break;

  case E2: . . .; break;

  case E3: . . .; break;

  case E4: . . .; break;

  case E5: . . .; break;

  case E6: . . .; break;

  case E7: . . .; break;

  case E8: . . .; break;

  default: break;

}

}

8.Специфицировать свойства «модели», задающие параметры ПрО, перечисленные в задании (Т1,Т2,L1,L2,L3).

9.Специфицировать и сделать реализацию слота(ов), принимающих значения параметров ПрО от «интерфейса».

10.Специфицировать сигнал(ы), передающие состояний объектов ПрО на отображение в «интерфейс» (состояния К1, К2, Л1, Л2, Л3).

11.Специфицировать сигнал(ы), передающие значение заданного параметра «модели» для «статистика». (Л2 горит, Л2 – не горит)

 

Методика реализации модели состояний ПрО

1. Для конкретной ПрО модель – это обобщающее понятие. В данной задаче класс TModel – это класс TShema.

2. Производится декомпозиция ПрО на составляющие понятия, которые детализируют обобщенное. Детализирующие понятия в свою очередь могут быть декомпозированы.

3. Здесь схема состоит из 2-х выключателей и 3-х  лампочек.

4. Если в задаче необходимо использовать датчики случайных чисел одного или различных распределений, то классы этих распределений будут находиться с классом «модель» в отношении «часть» в кратности, соответствующей различным наборам их параметров. Здесь в формулировке задачи заданы 2 распределения – равномерное и экспоненциальное (классы TRandomR и TRandomE), для каждого из которых задан единственный набор параметров. Следовательно кратность отношений «датчиков» и «модели» - 1:1.

5. В классе «модель» описываются сигнал sendEvent и слот recieveEvent c 2-мя параметрами double (планируемое время возникновения события) и TEvent (структура, определяющая понятие «событие»).

6. Перечисляются все события, которые могут возникать. В примере это

- Е0 – старт,

- Е1 – переключение К1,

- Е2 – переключение К2,

- Е3 – перегорание Л1,

- Е4 – перегорание Л2,

- Е5 – перегорание Л3,

- Е6 – замена Л1,

- Е7 – замена Л2,

- Е8 – замена Л3.

7. Структура TEvent здесь – это перечисление

8. enum TEvent {E0, E1, E2, E3, E4, E5, E6, E7, E8};

9. Определяются возможные состояния модели как подмножество декартовых произведений множеств свойств (состояний) понятий ПрО.

В примере схема декомпозируется на выключатели и лампочки.

У выключателя возможны 2 состояния:

SK,0 – выключен (допустимо),

SK,1 – включен (допустимо).

Всего выключателей – 2.

Следовательно,

SK = SK1 Х SK2 = { SK,00, SK,01, SK,10, SK,11 }

M(SK) <= 22 = 4

У лампочки возможны 2 * 2 = 4 состояния:

SL,00 (SL,0) – не горит, рабочая (допустимо),

SL,01 (SL,1) – не горит, не рабочая (допустимо),

SL,10 (SL,2) – горит, рабочая (допустимо),

SL,11 – не горит, не рабочая (недопустимо),

Т.е. допустимых - 3.

Всего лампочек – 3,

Следовательно,

SL = SL1 Х SL2 Х SL3

M(SL) <= 33 = 27

Возможных состояний схемы SK,L

M(SK,L) <= M(SK) * M(SL) = 108.

На самом деле – это число есть верхняя граница, а допустимых состояний значительно меньше. Подсчитаем их. Для этого определим независимые состояния.

- Все 4 состояния выключателей независимы.

- Независимыми состояниями лампочек являются комбинации “исправна-неисправна”. Таких состояний 3! = 8, так в исправном состоянии горит лампочка или не горит однозначно определяет комбинация состояний выключателей, а в неисправном – лампочка всегда не горит.

Таким образом,

M(SK,L) = 4 * 8 = 32

 

10. Определяется граф переходов из состояния в состояние в зависимости от событий, возникающих в модели ПрО (одно событие порождает один переход в графе состояний).

Определим этот граф для рассматриваемого примера.

Для наглядности представления введем обобщенные состояния:










Последнее изменение этой страницы: 2018-05-10; просмотров: 214.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...