2016-04-23 10 views
2

Мне нужно идентифицировать все основные элементы машинной диаграммы состояния UML 2.5. К сожалению, в обозначениях этих диаграмм, похоже, много двусмысленности, так как в Интернете существует множество различных вариантов.Как интерпретировать диаграмму состояний машины UML 2.5?

Моя интерпретация заключается в том, что каждая диаграмма состояний машины состоит из нескольких состояний и нескольких переходов.

Каждое государство имеет:

  • дополнительный запись действие
  • дополнительный сделать действие
  • дополнительный выход действие

Каждый переход имеет:

  • запускающее событие ,
  • дополнительный предпосылкой
  • перехода действия (пост-условие).

Моего понимание того, как обозначение работа может быть обобщена на рисунке 1 (пример электрической функциональности двери следующих обозначения [предусловие] Событие/[Переход Действие]) и на рисунке 2.

Пример: Когда событие срабатывает (например, кнопка закрытия нажата), то предпосылкой (если пу) оценивается (например является дверным проемом пустым) и если предпосылку удовлетворительны, перехода действия (например близкой дверь) срабатывают.

Рисунок 1 Electric Door State Machine

Рисунок 2 enter image description here

Мои вопросы:

  1. Каково Переход Действие реализация перехода или просто действие, которое происходит во время перехода. Простыми словами, , если переходное действие/s не так, будет ли переход (новый состояние) успешным?Мой вопрос в основном проистекает из того факта, что много источников свидетельствуют о том, что вместо того, чтобы использовать переход действия, вы можете использовать запись действия, когда вы приедете в новом состоянии. В моем понимании, хотя переход действие является реализацией перехода и, следовательно, происходит перед входом в новом состоянии , по сравнению с действием входа, что происходит сразу после прибытия в новом состоянии. Таким образом, это два совершенно разных типа действий в отношении самого перехода и времени. Для меня очень важно понять время этих действий.
  2. Является ли моя общая интерпретация правильной? (например, мое понимание того, какое событие, пост-состояние и переходное действие могут быть взяты из рис. 1)

Я знаю, что существует дюжина вариантов диаграмм состояний машины, следовательно, различные представления/интерпретации, но я заинтересованных в UML 2.5.

ответ

2

Переход Действие это то, что UML 2.5 государства в конце ассоциации перехода:

эффект: Поведение [0..1] {подмножеств Элемент :: ownedElement} (противоположные A_effect_transition :: перехода) Указывает произвольное поведение, которое должно выполняться при срабатывании перехода.

В то время как состояние <<entry>> является поведением, назначенным самому состоянию. То есть, это будет вызвано тем, откуда происходит переход. В отличие от вышеописанного эффекта является только триггером по переходу.

Эффект не может «пойти не так». Выполняется какое-либо поведение. Здесь не проверяется состояние.

Независимо от того, запускается ли переход, может управляться [guard], который вы неправильно назвали [precondition]. (Можно начать спорить, но вы должны идти с [guard].)

охранник: Constraint [0..1] {подмножеств пространства имен :: ownedRule} (напротив A_guard_transition :: перехода) караул является Ограничение, обеспечивающее мелкозернистый контроль над запуском перехода. Охранник оценивается, когда событие события отправляется StateMachine. Если в тот момент защита верна, переход может быть включен, в противном случае он отключен. Охранники должны быть чистыми выражениями без побочных эффектов. Грудные выражения с побочными эффектами плохо сформированы.

Что касается времени, вы можете подумать о токене, путешествующем по штатам. Когда охранник позволяет вам пройти, выполняется поведение <<exit>>. Затем происходит переход effect и, наконец, поведение следующего состояния <<entry>>.

+0

Томас благодарю вас за ответ.Что касается действия/эффекта перехода, вы предполагаете, что это не «реализация перехода»? Это может быть любое действие/поведение? Я смотрю на это с точки зрения анализа риска, поэтому я пытаюсь понять точно каждый элемент диаграммы и как что-то может пойти не так. Кстати, что является хорошим источником для понимания диаграмм? Я использовал http://www.uml-diagrams.org/ (где охрана на самом деле называется предварительным условием ..) – donparalias

+0

Ну, реализация перехода - это полный набор (защита, эффект, триггер). Вы можете поместить любое действие в действие, и оно будет выполняться вместе с токеном, проходящим через переход. Я не могу рекомендовать много. Ум-диаграммы наверняка являются хорошим источником. Сама спецификация UML не является источником обучения. Он написан для разработчиков инструментов (и, возможно, ботаников). Конечно, вы можете многому научиться здесь с вопросами, как вы просили :-) –

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

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