Введение
Язык и методология моделирования для формализации знаний и проектирования систем
Методология объектно-процессного моделирования (OPM) — это концептуальный язык моделирования и методология для формализации знаний и проектирования систем, стандартизированная как ISO/PAS 19450. Основываясь на минимальной универсальной онтологии состоятельных объектов и процессов, которые их преобразуют, OPM может использоваться для формального описания функции, структуры и поведения искусственных и естественных систем в широком спектре областей. OPM был разработан и предложен Довом Дори. Идеи, лежащие в основе OPM, были впервые опубликованы в 1995 году. С тех пор OPM развивался и совершенствовался. В 2002 году вышла первая книга по OPM.
Дизайн
Методология объектно-процессного моделирования (OPM) – это парадигма системного моделирования, объединяющая два неотъемлемых аспекта любой системы: её структуру и поведение. Структура представляется посредством объектов и структурных связей между ними, таких как агрегационное участие (отношение «целое – часть») и обобщение-специализация (отношение «является»). Поведение представляется процессами и тем, как они преобразуют объекты: как они создают или потребляют объекты, или как изменяют состояния объектов.
Основы
ОПМ состоит из двух основных частей: языка и методологии. Язык является бимодальным – он выражается двумя взаимодополняющими способами (модальностями): визуальная, графическая часть – набор из одной или нескольких диаграмм «объект-процесс» (OPD) и соответствующая текстовая часть – набор предложений на языке «объект-процесс» (OPL), который является подмножеством английского языка. Диаграмма верхнего уровня OPD – это диаграмма системы (SD), обеспечивающая контекст функционирования системы. Для созданных человеком систем ожидается, что это функционирование принесет пользу одному или нескольким людям – пользователям. Функционирование является главным процессом в SD, который также содержит объекты, участвующие в этом процессе: пользователя, операнд (объект, над которым выполняется процесс) и, возможно, атрибут, значение которого процесс изменяет. Графические элементы ОПМ делятся на сущности, представленные замкнутыми фигурами, и связи, представленные линиями, соединяющими сущности.
Субъекты
Сущности – это строительные блоки ОПМ. Они включают объекты и процессы, совместно называемые "вещами", а также состояния объектов. Объектные связи между объектами составляют объектную структуру моделируемой системы. В тексте OPL название объекта должно быть выделено жирным шрифтом с заглавной буквы в каждом слове. Состояние объекта – это классификация конкретной ситуации объекта в определенный момент его жизненного цикла. В любой момент времени объект находится в одном из своих состояний или в процессе перехода между двумя своими состояниями – от входного к выходному. Процесс – это выражение закономерности преобразования объектов в системе. Процесс не существует изолированно; он всегда связан с одним или несколькими объектами и происходит с ними. Процесс преобразует объекты, создавая их, потребляя или изменяя их состояние. Таким образом, процессы дополняют объекты, обеспечивая динамический, поведенческий аспект системы. В тексте OPL название процесса должно быть выделено жирным шрифтом с заглавной буквы в каждом слове.
Ссылки
Структурная связь Структурная связь определяет структурное отношение. Структурное отношение должно указывать ассоциацию, которая сохраняется в системе в течение, по крайней мере, некоторого интервала времени. Процессуальная связь Процессуальная связь определяет процедурное отношение. Процедурное отношение должно указывать, как система функционирует для достижения своей цели, определяя зависимость от времени или условный запуск процессов, которые преобразуют объекты. Событие и условие Парадигма «Событие-Условие-Действие» обеспечивает операционную семантику и поток управления ОПМ. Событие – это момент времени, когда объект создается (или представляется созданным с точки зрения системы) или объект переходит в определенное состояние. Во время выполнения этот процесс запускает оценку предварительного условия процесса. Таким образом, для начала выполнения процесса необходимо два условия: (1) событие-триггер и (2) выполнение предварительного условия. Как только событие запускает процесс, оно прекращает свое существование.
Вещи
Объекты и процессы во многом симметричны и имеют много общего в отношении таких связей, как агрегация, обобщение и характеристика. Для эффективного применения ОПМ моделировщику необходимо проводить принципиальное различие между объектами и процессами, что является необходимым условием для успешного анализа и проектирования системы. По умолчанию, существительное обозначает объект.
Управление событием-состоянием-действием
Набор объектов предпроцесса и предварительные условия процесса. Для начала выполнения процесса OPM после его запуска требуется набор объектов, включающий один или несколько объектов потребления, возможно, в определенных состояниях, и/или объекты воздействия, совместно называемые набором объектов предпроцесса. При выполнении на уровне экземпляра каждый объект потребления B из набора объектов предпроцесса процесса P должен быть потреблен и прекратить свое существование в начале подпроцесса P самого нижнего уровня, который потребляет B. Каждый объект воздействия (объект, состояние которого изменяется) B из набора объектов предпроцесса процесса P должен выйти из своего входного состояния в начале подпроцесса P самого нижнего уровня.
Набор объектов постпроцесса и последующие условия процесса. Набор объектов, включающий один или несколько результатов, возможно, в заданных состояниях, и/или объекты воздействия, совместно называемые набором объектов постпроцесса, является результатом выполнения процесса и осуществления преобразований, связанных с его выполнением. Каждый полученный объект B из набора объектов постпроцесса процесса P должен быть создан и начать свое существование в конце подпроцесса P самого нижнего уровня, который выдает B. Каждый объект воздействия B из набора объектов постпроцесса процесса P должен перейти в свое выходное состояние в конце подпроцесса P самого нижнего уровня.
Стандартизация
ISO – Международная организация по стандартизации – является независимой, негосударственной международной организацией, объединяющей 162 национальных органа по стандартизации. Она разрабатывает добровольные международные стандарты, основанные на достижении консенсуса и отвечающие потребностям рынка, поддерживающие инновации и предлагающие решения глобальных проблем. Эти стандарты устанавливают мировые требования к продукции, услугам и системам, обеспечивая качество, безопасность и эффективность.
ISO и OPM
В июне 2008 года Ричард Мартин обратился к Дову Дори после его презентации на Международном симпозиуме INCOSE в Утрехте (Нидерланды), чтобы узнать о возможности разработки Международного стандарта для OPM. Исследовательская группа по OPM начала свою работу в октябре 2010 года и представила промежуточный отчет на Пленарном заседании SC5 в 2011 году. Отчет содержал несколько примеров использования OPM для моделирования существующих стандартов SC5 и послужил первоначальным стимулом для стандартизации OPM, поскольку текстовые стандарты ISO склонны к противоречиям и неполноте информации. Этот недостаток можно было бы значительно уменьшить, если бы стандарты основывались на моделях, а не на тексте, а OPM предлагал полезную базовую парадигму моделирования для этой цели. На Пленарном заседании SC5 в 2012 году был представлен окончательный отчет Исследовательской группы по OPM и проект документа о метамодели для разработки стандартов на основе моделей. По мере продвижения работы Исследовательской группы по OPM стало очевидно, что OPM также может служить надежной и всесторонней основой для системной инженерии на основе моделей (MBSE) и моделирования как природных, так и искусственных систем.
Документ ISO 19450
Участники TC184/SC5/WG1 получили первый проект ПСП ОПМ в сентябре 2011 года, состоящий из 16 страниц, 2 приложений и библиографии, общей протяженностью 25 страниц. Большая часть содержания ограничивалась указанием заголовков подразделов и заглушками для графики. К пленарному заседанию SC5 в 2012 году проект PAS включал 10 полных пунктов, описывающих функциональные возможности OPM, и 6 приложений, общей протяженностью 86 страниц. Одним из приложений являлась спецификация EBNF (Extended Backus Naur Form, расширенная форма Бэкуса-Наура, используемая для формального описания контекстно-свободных языков, обеспечивающая синтаксический анализ языков программирования) для OPL, а другим – подробная грамматика OPD. Для облегчения проверки спецификации EBNF, Дэвид Шортер разработал скрипт для оценки согласованности и полноты набора операторов EBNF. Последующие усилия по добавлению содержательных примеров и завершению всех определенных разделов привели к проекту объемом 138 страниц к моменту пленарного заседания SC5 в 2013 году. Впоследствии рабочий проект был зарегистрирован в секретариате SC5 в качестве проекта комитета для первоначального распространения среди членов SC5. Поскольку резолюция SC5, требующая спецификации OPM, предусматривала регистрацию документа как общедоступной спецификации (PAS), предусматривалась только одна возможность голосования по принятию. В апреле 2014 года предложение о новой рабочей позиции и пересмотренный проект комитета по ISO/PAS 19450 были переданы в SC5 для рассмотрения. К этому моменту проект комитета состоял из 98 страниц основного текста, четырех приложений и 30 библиографических ссылок, общей протяженностью 183 страницы. В марте 2015 года ISO зарегистрировала результаты голосования по ISO/PAS 19450: 8 голосов «за», 1 голос «за» с замечаниями и 1 воздержался. ISO/PAS 19450 был официально опубликован ISO 15 декабря 2015 года, в общей сложности на 162 страницах, что стало итогом шестилетней работы по предоставлению сообществу стандартизации формальной спецификации нового подхода к моделированию, объединяющего графические и текстовые представления в единую парадигму, подходящую для автоматизированного моделирования поведения модели.
OPM против SysML и UML
OPM против SysML
SysML определяется как расширение Унифицированного языка моделирования (UML) с использованием механизма профилей UML. Прежде всего, подход OPM позволяет рассмотреть на основной диаграмме (SD) основной процесс, объекты и связи между ними.