2015-12-17 6 views
0

Как следующее может быть выражено в UML:Как указать вызов метода класса как поведение входа государства в UML

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

Я пытаюсь выяснить формальный способ зафиксировать взаимосвязь, описанную выше. Я знаю, что поведение записи состояния может быть разных типов (например, FunctionBehavior). Классы могут иметь операции, которые по существу являются спецификациями для функции (например, функция typedef). Я запутался в том, как указать функцию как реализацию определенной Операции, а затем вызвать ее из потенциально множественного поведения записи состояния.

+1

http://www.uml-diagrams.org/bank-atm-uml-state- machine-diagram-example.html? context = stm-examples – xmojmr

ответ

3

Приводя Надстройка для 2.5 (глава 14.2.3.4.3 р 307..): Запись

государства, выхода и doActivity Behaviors

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

  • он завершает (в этом случае событие завершения) или
  • Состояние завершено, и в этом случае выполнение doActivity Behavior прерывается.

Выполнение doActivity Поведение государства не зависит от обстрела внутреннего перехода этого государства.

Это означает, что вы можете определить операцию в классе, которая выполняется при вводе состояния. Вы показываете это так:

enter image description here

Редактировать: Просто скопировать комментарий Герт в ниже, чтобы сделать это доказательство воды :-)

В UML спецификации вполне конкретные говорят, что государство имеет связанное поведение. Поведение может быть методом операции, но это необязательно. Поскольку само поведение является абстрактным мета-класс может быть любой деятельности, OpaqueBehavior, FunctionBehavior, взаимодействие, StateMachine или ProtocolStateMachine

+2

Томас, я не думаю, что это абсолютно правильно. Операция не является «Поведением», а «BehavioralFeature» –

+0

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

+2

Спецификации UML весьма специфичны, говоря, что состояние имеет ассоциированное «поведение». «Поведение» может быть «методом» операции, но это необязательно. Поскольку 'Behavior' сам является абстрактным метаклассом, он может быть любым из' Активность', 'OpaqueBehavior',' FunctionBehavior', 'Interaction',' StateMachine' или 'ProtocolStateMachine' –

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

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