2016-06-18 3 views
2

Как представить состояние в диаграммах BPMN?Состояние в диаграмме BPMN

У меня есть диаграмма BPMN, описывающая поведение объекта. Между действиями есть действия и стрелки. Я хотел бы выразить, что между двумя заданными действиями объект находится в определенном состоянии.

Возможно ли в BPMN?

ответ

3

В BPMN Моделирование данных используется для этой цели. В процессе моделирования важно моделировать элементы (объекты), которые обрабатываются и используются во время выполнения процесса. Наиболее распространенный элемент для этого в BPMN является Объектом данных, который, как правило, изображен как этого

enter image description here

Согласно BPMN 2.0 спецификации:

первичной конструкция для моделирования данных в рамках процесса flow - элемент DataObject. DataObject имеет четко определенный жизненный цикл с ограниченными ограничениями доступа.
Класс Data Object - элемент, который является элементом. Элементы Data Object ДОЛЖНЫ содержаться в Process или Sub Элементы процесса.

Кроме того, если мы будем придерживаться вашего вопроса, то есть специальный атрибут объекта данных, который называется DataState. Согласно спецификации:

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

Как вы можете видеть, эти состояния плохо документированы и реализованы не всеми поставщиками. Например, Camunda поддерживает его.

0

Другой подход, который часто работает, - это назвать действия, используя комбинации глаголов-существительных, которые описывают изменение состояния. Если «Заказ корабля» завершен (и нет шлюза с петлей), состояние заказа может быть определено как «отправлено».

Я вижу процессы BPMN как ориентированные прежде всего на деятельность. Деятельность выражается напрямую, тогда как состояние объекта часто выражается косвенно. Диаграмма процесса BPMN не является диаграммой состояний. (Разница была темой нескольких дискуссий между мной и бизнес-аналитиками и т. Д., Которые использовались для моделирования состояния для классических приложений, ориентированных на данные.)

+0

Ну, для людей интуитивно понятно, что «отправлено» из действия «Судовой заказ», но это невозможно сделать программно. Дело в том, что мне нужно связать части процесса BPMN с состоянием в реализации (с инвариантами, действительными для данного этапа процесса). –

+0

Итак, вы не выполняете диаграмму BPMN в механизме процесса (BPMS)? Если вы это сделаете, я определенно предпочел бы дать BPMS исключительную ответственность за сохранение состояния процесса (для меня это означает: какие конкретные задачи/действия - один или многие - открыты?), Даже если есть внешняя система записи (SoR) , Интересно, можете ли вы использовать промежуточное событие передачи сигнала с состоянием в качестве метки, следуя соответствующей задаче/s /.Либо сигнал принимается SoR, который затем устанавливает состояние там, либо реализация предыдущей задачи будет обновлять состояние в конце его реализации. – mEdling

+0

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

 Смежные вопросы

  • Нет связанных вопросов^_^