ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.12.2023
Просмотров: 163
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
31
4.3. Синтаксис графического языка IDEF0
Набор структурных компонентов языка, их характеристики и правила, определяющие связи между компонентами, представляют собой синтаксис языка. Компоненты синтаксиса IDEF0 - блоки, стрелки, диаграммы и правила.
Блоки представляют функции, определяемые как деятельность, процесс, операция, действие или преобразование. Блок описывает функцию. Внутри каждого блока помещается его имя и номер. Имя должно быть активным глаголом или глагольным оборотом, описывающим функцию. Номер блока размещается в правом нижнем углу. Номера блоков используются для их идентификации на диаграмме и в соответствующем тексте.
Требования к блокам в IDEF0 следующие:
1) размеры блоков должны быть достаточными для того, чтобы включить имя блока;
2) блоки должны быть прямоугольными, с прямыми углами;
3) блоки должны быть нарисованы сплошными линиями.
Стрелки представляют данные или материальные объекты, связанные с функциями.
Стрелка формируется из одного или более отрезков прямых и наконечника на одном конце. Сегменты стрелок могут быть прямыми или ломаными. Стрелки не представляют поток или последовательность событий, как в традиционных блок-схемах потоков или процессов. Они лишь показывают, какие данные или материальные объекты должны поступить на вход функции для того, чтобы эта функция могла выполняться.
Требования к стрелкам в IDEF0 следующие:
1) ломаные стрелки изменяют направление только под углом 90 градусов;
2) стрелки должны быть нарисованы сплошными линиями различной толщины;
32 3) стрелки могут состоять только из вертикальных или горизонтальных отрезков, отрезки, направленные по диагонали, не допускаются;
4) концы стрелок должны касаться внешней границы функционального блока, но не должны пересекать ее;
5) стрелки должны присоединяться к блоку на его сторонах, присоединение в углах не допускается;
6) каждая стрелка должна быть помечена существительным или боротом существительного (например, «отчет об испытаниях», «конструкция детали», «бюджет», «конструкторские требования» и др.).
Стрелки, представляя множества объектов, в зависимости от того, в какую грань блока (прямоугольника работы) они входят или из какой грани выходят, делятся на пять видов:
■ входа (входят в левую грань работы) - изображают данные или объекты, изменяемые в ходе выполнения работы;
■ управления (входят в верхнюю грань работы) - изображают правила и ограничения, согласно которым выполняется работа;
■ выхода (выходят из правой грани работы) - изображают данные или объекты, появляющиеся в результате выполнения работы;
■ механизма (входят в нижнюю грань работы) - изображают ресурсы, необходимые для выполнения работы, но не изменяющиеся в процессе работы
(например, оборудование, людские ресурсы и т.д.);
■ вызова (выходят из нижней грани работы) - изображают связи между разными диаграммами или моделями, указывая на некоторую диаграмму, где данная работа рассмотрена более подробно.
Входные дуги изображают объекты, используемые и преобразуемые функциями. Управленческие дуги представляют информацию, управляющую действиями функций. Выходные дуги изображают объекты, в которые преобразуются входы. Дуги механизмов IDEF0 изображают физические аспекты функции (склады, людей, организации, приборы). Таким образом,
33 стороны блока графически сортируют объекты, изображаемые касающимися блока дугами.
Рис. 3 Блок IDEF0
4.4. Семантика языка IDEF0
Семантика определяет содержание
(значение) синтаксических компонентов языка и способствует правильности их интерпретации.
Интерпретация устанавливает соответствие между блоками и стрелками с одной стороны и функциями и их интерфейсами - с другой.
Семантические правила блоков и стрелок:
1) имя блока должно быть активным глаголом или глагольным оборотом;
2) каждая сторона функционального блока должна иметь стандартное отношение блок/стрелки:
- входные стрелки должны связываться с левой стороной блока;
- управляющие стрелки должны связываться с верхней стороной блока;
- выходные стрелки должны связываться с правой стороной блока;
- стрелки механизма (кроме стрелок вызова) должны указывать вверх и подключаться к нижней стороне блока;
- стрелки вызова механизма должны указывать вниз, подключаться к нижней стороне блока, и помечаться ссылкой на вызываемый блок;
3) сегменты стрелок, за исключением стрелок вызова, должны помечаться существительным или оборотом существительного, если только единственная метка стрелки несомненно не относится к стрелке в целом;
34 4) чтобы связать стрелку с меткой, следует использовать "тильду";
5) в метках стрелок не должны использоваться следующие термины: функция, вход, управление, выход, механизм, вызов.
Первая диаграмма в иерархии диаграмм IDEF0 всегда изображает функционирование системы в целом. Такие диаграммы называются контекстными. В контекст входят описание цели моделирования, области
(описание того, что будет рассматриваться как компонент системы, а что - как внешнее воздействие) и точка зрения (позиция, с которой будет строиться модель). Обычно в качестве точки зрения выбирается точка зрения лица или объекта, ответственного за работу моделируемой системы в целом. После описания контекста строят следующие диаграммы в иерархии. Каждая последующая диаграмма является более подробным описанием
(декомпозицией) одной из работ на вышестоящей диаграмме (рис. 4.).
Описание каждой подсистемы проводится аналитиком совместно с экспертом предметной области. Обычно экспертом является человек, отвечающий за эту подсистему, и поэтому дос конально знающий все ее функции. Таким образом, вся система разбивается на подсистемы до нужного уровня детализации, и получается модель, аппроксимирующая систему с заданным уровнем точности.
Получив модель, адекватно отображающую текущие бизнес-процессы (так называемую модель AS-IS), аналитик может увидеть все наиболее уязвимые места системы. После этого с учетом выявленных недостатков можно строить модель новой организации бизнес-процессов (модель ТО-ВЕ).
IDEF0 модель имеет единственную цель и единственный субъект. Цель модели - получение ответов на определенную совокупность вопросов. Субъект
— это сама система. Методология IDEF0 требует, чтобы создаваемая модель системы рассматривалась всегда с одной и той же позиции, или точки зрения. После определения точки зрения, с которой описывается модель, создается список данных, а потом список функций.
35
Каждый блок диаграммы IDEF0-модели может быть детализирован на другой диаграмме. Поскольку каждый блок понимается как отдельный, полностью определенный объект, разделение такого объекта на его структурные части (блоки и дуги, составляющие диаграмму) называется декомпозицией. Декомпозиция формирует границы, и каждый блок в IDEF0 рассматривается как формальная граница некоторой части описываемой системы, т.е. блок и касающиеся его дуги определяют точную границу диаграммы, представляющей декомпозицию этого блока. Эта диаграмма, называемая диаграммой- потомком, описывает все, связанное с этим блоком и его дугами, и не описывает ничего вне этой границы.
Декомпозируемый блок называется родительским блоком, а содержащая его диаграмма - родительской диаграммой.
IDEF0 требует, чтобы все внешние дуги (ведущие к краю страницы) диаграммы были согласованы с дугами, образующими границу этой диаграммы, т.е. диаграмма должна быть «состыкована» со своей родительской диаграммой посредством согласования по числу и наименованию дуг.
В методологии принята схема кодирования дуг «ICOM», которая получила название по первым буквам английских эквивалентов слов: вход
(Input), управление (Control), выход (Output), механизм (Mechanism). При построении диаграммы следующего уровня дуги, касающиеся декомпозируемого блока, используются в качестве источников и приемников для дуг, которые создаются на новой диаграмме. После завершения диаграммы ее внешние дуги стыкуются с родительской диаграммой для обеспечения согласованности. Стыковка осуществляется посредством присваивания кодов
ICOM внешним дугам новой диаграммы. Таким образом, IDEF0-диаграмма составлена из блоков, связанных дугами, которые определяют, как блоки влияют друг на друга. Дуги на диаграммах изображают интерфейсы между функциями системы, а также между системой и ее окружающей средой.
36
Рис. 4. Декомпозиция диаграмм в IDEF0
Существуют некоторые критерии для определения момента завершения моделирования:
блок содержит достаточно деталей;
необходимо изменить уровень абстракции, чтобы достичь большей детализации блока;
необходимо изменить точку зрения, чтобы детализировать блок;
блок очень похож на другой блок той же модели;
блок очень похож на блок другой модели;
блок представляет тривиальную функцию.
37
4.5. Стандарт IDEFlx
IDEF1X является методом для разработки реляционных баз данных и использует условный синтаксис, специально разработанный для удобного построения концептуальной схемы. Использование метода IDEF1X наиболее целесообразно для построения логической структуры базы данных после того как все информационные ресурсы исследованы и решение о внедрении реляционной базы данных, как части корпоративной информационной системы, было принято. Средства моделирования IDEF1X специально разработаны для построения реляционных информационных систем, и если существует необходимость проектирования другой системы, например, объектно- ориентированной, то лучше избрать другие методы моделирования.
Существует несколько очевидных причин, по которым IDEF1X не следует применять в случае построения нереляционных систем. Во-первых,
IDEF1X требует от проектировщика определить ключевые атрибуты, для того чтобы отличить одну сущность от другой, в то время как объектно- ориентированные системы не требуют задания ключевых ключей, в целях идентифицирования объектов. Во-вторых, в тех случаях, когда более чем один атрибут является однозначно идентифицирующим сущность, проектировщик должен определить один из этих атрибутов первичным ключом, а все остальные вторичными. И, таким образом, построенная проектировщиком
IDEF1X-модель и переданная для окончательной реализации программисту является некорректной для применения методов объектно-ориентированной реализации, и предназначена для построения реляционной системы. Подробно данная модель рассматривается в курсах, связанных с базами данных.
4.6. Методология IDEF2. Динамическое моделирование системы
Методология IDEF2 реализует динамическое моделирование системы. В данной методологии модель разбивается на четыре подмодели:
подмодель возможностей, которая описывает их инициаторов;
подмодель потока сущностей, которая определяет их трансформацию;
38
подмодель распределения ресурсов, необходимых для осуществления переходов между состояниями;
подмодель системы, которая описывает внешние взаимодействия.
Методология предполагает, что набор подмоделей может быть переведен в динамическую модель.
В связи с весьма серьезными сложностями анализа динамических систем от этого стандарта практически отказались, и его развитие приостановилось на самом начальном этапе. В настоящее время известны алгоритмы и их компьютерные реализации, позволяющие превращать набор статических диаграмм IDEF0 в динамические модели, построенные на базе «раскрашенных сетей Петри» (CPN- Color Petri Nets).
Классические сети Петри ввел Карл Адам Петри в 60-х гг. XX в. С тех пор их использовали для моделирования и анализа самых разных систем с приложениями от протоколов, аппаратных средств и внедренных систем до гибких производственных систем, пользовательского взаимодействия и бизнес- процессов.
4.7. Основные определения сетей Петри
Сети Петри используются для моделирования параллельных процессов: для моделирования компонентов компьютера, параллельных вычислений, в робототехнике и даже для описания музыкальных структур. Вообще, сети
Петри используют для нахождения дефектов в проекте системы, хотя имеют и многие другие применения. Они обладают многими свойствами блок- схем и конечных автоматов.
Сети Петри были разработаны и используются для моделирования параллельных и асинхронных систем. При моделировании в сетях Петри позиции символизируют какое-либо состояние системы, а переход символизируют какие-то действия, происходящие в системе. Система, находясь в каком- то состоянии, может порождать определенные действия, и наоборот, выполнение какого-то действия переводит систему из одного состояния в другое.
39
Сетью Петри называется совокупность множеств C = {P,T,I,O}, где:
P - конечное множество, элементы которого называются позициями;
T - конечное множество, элементы которого называются переходами,
Р∩Т=Ø;
I - множество входных функций, I:T→P;
O - множество выходных функций, O:T→P.
Сеть Петри представляет собой ориентированный граф с вершинами двух типов (позициями и переходами), в котором дугами могут соединяться только вершины различных типов. В позиции сети помещаются специальные маркеры
(«фишки»), перемещение которых и отображает динамику моделируемой системы. Изменение маркировки (движение маркеров) происходит в результате выполнения (срабатывания) перехода на основе соответствующего внешнего события. Точнее, переход срабатывает, если во всех его входных позициях имеются маркеры и происходит соответствующее переходу событие. При этом из каждой входной позиции срабатываемого перехода маркер удаляется, а в каждую выходную позицию — заносится.
Сеть Петри называется маркированной, если существует функция p, называемая маркировкой (разметкой) сети, которая ставит в соответствие неотрицательное целое число каждому элементу множества Р. Если р - позиция, то μ(p) называется разметкой позиции р. Таким образом, маркированная сеть
Петри задается пятеркой C = {P,T,I,O,μ}, где μ - целочисленный вектор μ = (μ
1
,
μ
2
, ... μ
n
), n = |P|, μ
i
= μ(p i
), i=1...n.
Разметка множества на графе указывается с помощью черных точек, называемых метками (фишками), помещенных в кружки, которые обозначают позиции. Количество меток можно также указывать числом, записанном в кружке. Если кружок позиции р пуст, это означает, что в р меток нет.
Маркировка сети Петри аналогична состоянию конечного автомата.
При моделировании гибких производственных систем позиции отражают отдельные операции производственного процесса (например: транспортировка заготовки к конвейеру, передвижение заготовки к станку конвейером,
40 обработку детали) или состояния компонентов гибкой производственной системы (например: робота, конвейера, станка). Наличие метки в одной из позиций соответствует состоянию выполнения некоторой из технологических операций либо состояние, в котором пребывают некоторые из компонентов гибкой производственной системы.
Переходы соответствуют событиям, отображающим начало или завершение моделируемых операций. Например, переход интерпретируется как событие, связанное с завершением операции транспортирования заготовки роботом и ее установки на конвейере, а также с началом операции перемещения заготовки конвейером к станку.
Рис. 5. Пример сети Петри C
μ
1 2 3 4 5 6