Рекурсия в данном случае не всегда подразумевает вызов сети самой из себя. Чаще всего это другая смысловая подсеть.
Реализуется такой диалог с помощью стекового конечного автомата. В стек заносится состояние при входе в подсеть, а при выходе извлекается из него.
Часто в рекурсивно-транзитивных сетях сущ-ет специальный сигнал – выход из рекурсии. При его получении подсеть завершает свою работу и из стека извлекается состояние, в к-ое и попадаем.
Проектирование конкурентного диалога.
Работу транзитивной сети можно рассматривать как передвижение единственной метки из одного состояния в другое. То есть, система в каждый момент времени находится в единственном состоянии. Поэтому недостатком использования сетей переходов, как простых, так и рекурсивных, являются слабые возможности отражения конкурентного диалога. Такой диалог характерен для систем, которые могут находиться более чем в одном состоянии одновременно. Наиболее часто конкурентный диалог возникает при проектировании различных настроек.
Альтернативным решением является использование для проектирование конкурентного диалога сетей Петри.
Сети Петри.
Этот механизм изначально предназначен для описания конкурентного диалога, и неформально его можно представить как перемещение множества меток по графу состояний.
Основные элементы сети Петри: 1) положения (аналогичны состояниям), обозначаются окружностями, 2) Переходы, обозначаемые прямоугольниками. 3) Воздействие пользователя, отражаемое эллипсом. Окружности и эллипсы могут содержать метки. Переходы имеют входные дуги из окружностей и эллипсов и выходные к окружностям.
Правило работы: Если все вершины на входных дугах перехода содержат метки, то переход выполняется (выстреливает), и все метки перемещаются в вершины выходных дуг сети.
31. Проектирование конкурентного диалога
Работа традиционной транзитивной сети рассматривается как передвижение единственной метки из одного состояние в другое, поэтому, как простые так и рекурсивные сети слабо представляют инструмент для работы с конкурентным диалогом. Наиболее часто такая ситуация возникает при написании настроек. Пример: текстовый редактор, для конкретного фрагмента текста он может установить курсив и жирность. Возникает проблема, когда у нас есть обычный текст, включена жирность, включен курсив, и курсив и жирность.
При реализации такого подхода через набор конечных автоматов (для каждого элемента свой) необходимо иметь механизм определения к какому из автоматов относиться сигнал, кроме тоже нужен механизм обработки контекста. Альтернативным решением является использование аппарата сети Петри.
32. Текстовое представление диалога. Системы, ориентированные на правила
Основной структурной составляющей является правило представленное в следующем виде: если условие то действие. Все правила равноправны и активны, система подбирает условную часть правила в зависимости от события, которое было порождено пользователем, когда условная часть правила становиться истинной выполняется его действительная часть, при этом действие может быть в виде ответа пользователю или изменение состояние системы. Система ориентированные на продукционные правила может быть 3х видов: ориентированные на события, ориентированные на состояние и смешанные.
В системах ориентированных на события и условия и действия представляют собой множество событий, при этом события бывают трех видов: пользовательские (их имена называются с заглавной буквы), внутренние события (начинаются со строчной буквы и используются для сохранения состояния диалога), событие отклика системы (указываются в <> их характеризуется визуальный или звуковой эффект действия пользователя).
Рассмотрим пример
Описание диалога будет состоять из правил содержащая события:
Выбран режим рисования линий ->
начало_линии, <Линия>
Щелчок мыши, внутренние событие начала линии -> внутренние состояние продолжение линии <включить резиновую нить>
Щелчок мыши, продолжение линии -> внутренние событие продолжение линии <рисовать отрезок>
Щелчок правой кнопкой мыши, продолжение линии -> <нарисовать отрезок> <отключить резиновую нить>
Блок управление диалогом содержит собственную память, которая может содержать множество событий, правило срабатывает, если все события условной части присутствуют в памяти. События пользователя заносятся в память по мере их появления, когда правило срабатывает все события его условной части удаляются из памяти, а события действительно части заносится туда. Основной недостаток таких систем возможность удаления и добавления в память одних и тех же событий.
33. Текстовое представление диалога. Системы, ориентированные на состояния
В системах ориентированных на состояния память представляет собой множество именованных значений, атрибутов. Состояние определяется текущим значением атрибута.
Мышь {не работает, выбор линии, щелчок, правый щелчок}
Линия {выбор из меню, начало линии, продолжение линии}
Резиновая нить {вкл, выкл}
Меню {ничего не высвечено, высвечена линия, окружность, тпд}
Рисование {ничего не рисуется, рисуется линия, …..}
Правила:
И условия и действия представляют множество пар вида: имя атрибута = значение.
Мышь = выбор линии -> мышь = не работает, линия = начало линии, меню = показана линия
Мышь = щелчок, линия = начало линии -> мышь = не работает, линия = продолжение линии, резиновая линия = включена
Мышь = щелчок, линия = продолжение линии, мышь не работает, линия = рисуется линия
Мышь = правый щелчок, линия = продолжение линии -> мышь не работает, линия = рисуется линия, резиновая линия = отключено.
Правило выполняется тогда, когда состояние соответствует условной части, выполнение правила не приводить к обязательной смене значения атрибута, это осуществляется в том случае если в действительной части правила есть на это указание.
Смешанные системы: события: условие -> действие, наступление события можно представить как сигнал к выполнению правила, но правило не сработает пока условие не станет истинным. События могут порождаться пользователем, атрибуты остаются неизменными, пока явные изменения не появятся в действии. Кроме того в действительно части могут порождаться новые события. Некоторые правила в таких системах могут не иметь условия.
Переключатель_K : {к=вкл} -> {к=выкл}
Переключатель_К: {к=выкл}->{к=вкл}
Выход -> закончить работу
34. Унифицированный язык визуального моделирования UML. Основные понятия. Базовые диаграммы
UML (Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML моделью. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем.
Использование UML не ограничивается моделированием программного обеспечения. Его также используют для моделирования бизнес-процессов, системного проектирования и отображения организационных структур.
UML позволяет разработчикам ПО достигнуть соглашения в графических обозначениях для представления общих понятий (таких как класс, компонент, обобщение (generalization), объединение (aggregation) и поведение) и больше сконцентрироваться на проектировании и архитектуре.
Обладает следующими характеристиками:
яв-ся языком визуального моделирования для представления репрезентативных моделей, для организации взаимодействия заказчика, разработчика ИС и различных групп разработчика; содержит механизмы расширения и специализации базовой конструкции языка.Пользователям языка предоставляются следующие возможности:
строить модели на основе средств ядра без использования механизмов расширения; добавлять при необходимости новые элементы и условные обозначения или специальные компоненты.Класс – представляет собой описание совокупности однородных объектов с присущими им свойствами.
Атрибут – это свойство класса, которое может принимать множество значений. Множество допустимых значений атрибута называется домен.
Операция – реализация функции, которую можно запросить у любого объекта класса.
Структурные диаграммы: | Диаграммы поведения: | Диаграммы взаимодействия: |
Классов; Компонентов; Композитной /составной структуры; Кооперации (UML2.0); Развёртывания; Объектов; Пакетов | Деятельности Состояний Вариантов использования | Диаграммы взаимодействия: Коммуникации (UML2.0) / Кооперации (UML1.x) Обзора взаимодействия (UML2.0) Последовательности Синхронизации (UML2.0) |
Диаграмма классов, Class diagram — статическая структурная диаграмма, описывающая структуру системы, она демонстрирует классы системы, их атрибуты, методы и зависимости между классами.
Диаграмма компонентов, Component diagram — статическая структурная диаграмма, показывает разбиение программной системы на структурные компоненты и связи (зависимости) между компонентами. В качестве физических компонент могут выступать файлы, библиотеки, модули, исполняемые файлы, пакеты и т. п.
Диаграмма прецедентов, Use case diagram (диаграмма вариантов использования) — диаграмма, на которой отражены отношения, существующие между актерами и прецедентами.
Диаграмма последовательности, Sequence diagram — диаграмма, на которой изображено упорядоченное во времени взаимодействие объектов. В частности, на ней изображаются участвующие во взаимодействии объекты и последовательность сообщений, которыми они обмениваются.




|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |


