Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Методика реализации информационной модели ПрО
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; просмотров: 252. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |