Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпаргалка по теории автоматов (ТА).doc
Скачиваний:
204
Добавлен:
11.04.2014
Размер:
864.77 Кб
Скачать

Вопрос 31. Понятие о языке моделирования uml.

UML (unified modeling language) – это язык диаграмм. Он предназначен для документирования и описания в стандартизированном виде сложных систем. Для данного языка есть несколько стандартов. Последний – UML 2.0-2.х В UML используются диаграммы следующих основных типов:

  1. диаграмма классов (объектов)

  2. диаграмма последовательности

  3. диаграмма коопераций

  4. диаграмма вариантов использования или прецедентов

  5. диаграмма состояний

  6. диаграмма активности

  7. диаграмма компонентов

  8. диаграмма размещений

Диаграмма состояний похожа на граф КА, но включает ряд расширений: - расширенное обозначение состояний; - возможность иерархического вложения состояний (супер состояния); - расширенные пометки для переходов; - обобщённые переходы из супер состояний - параллельные состояния; - исторические псевдо-состояния

Обозначения для диаграммыUML: Обобщённый переход из супер состояния на самом деле происходит из любого вложенного состояния в супер состоянии.

Внутри супер состояний допускается вложение других супер состояний.

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

Диаграмма активности – это симбиоз схемы алгоритма, диаграммы состояний, обозначений из сетей Петри и др. обозначений.

Её применяют там, где нужно показать последовательность или параллельность алгоритма.

Основные обозначения:

Разделение и слияние используется дл обозначения параллельных алгоритмов, кроме того используется обозначение сигналов вида

Деятельность – особый вид состояний, в котором обязательно что-то выполняется. При этом переход в него и выход из него не обязательно сопровождается каким-то событием.

Разделение имеет единственный входящий и несколько исходящих. При этом исходные переходы выполняются параллельно.

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

На диаграмме активности используются так называемые плавательные дорожки, которые показывают зоны ответственности отдельных подсистем. Пример:Главным достоинством этих диаграмм является возможность представления и описания параллельного поведения. Они используются на начальном этапе анализа постановки задачи Для описания сложной последовательности алгоритма (для моделирования бизнес-процессов и т.п.) они заменяют в UML традиционные схемы алгоритма. В программных средствах для создания UML-моделей диаграммы активности и состояний реализуются в одном модуле, поскольку они связаны друг c другом.

Вопрос 32. Понятие о языках и формальных грамматиках

В абстрактной теории автоматов, в теории алгоритмов и в теории трансляции понятие автомата связывается с понятием языка и грамматики. Рассмотрим в связи с этим ряд определений.

Буква (символ) – простой неделимый знак. Конечное множество символов (букв) называется алфавитом или словарем. Последовательность букв называется цепочкой (словами), совокупность всех цепочек над конкретным алфавитом А называется замыканием А*. Замыкание над всеми цепочками алфавита есть бесконечное, но счетное множество.

Язык – это некоторое подмножество замыкания А*: L⊆A*. Во всяком языке существует набор правил, ограничивающий допустимые цепочки этого языка (например, пнравила естественного языка). Сложность описания языков состоит в том, что язык как подмножество замыкания в общем случае – бесконечное множество. Для описания языков используются грамматики. Грамматикой называют любой конечный механизм задания правил языка (в общем случае являющегося бесконечным множеством цепочек !).

Существуют два основных способа описания отдельных классов языков:

– с помощью порождающей процедуры;

– с помощью распознающей процедуры.

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

Формальная грамматика задается как четверка объектов :

G=<N,T,P,S>, где

T – алфавит терминальных символов;

N – вспомогательный словарь (алфавит нетерминальных символов)

(T ∩ N = Ø, V = N U T – объединенный словарь грамматики);

S – начальный символ грамматики (аксиома), S ε N.

P – конечное множество правил граматики, то есть цепочек вида φ→ψ (правила подстановки или продукции), φε(T U N)*N(T U N)* N – нетерминальный символ, ψε (N U T)*. Слева в правиле обязательно есть хотя бы один нетерминальный символ, а справа – любые символы, в т.ч. и пустая цепочка λ.