![]() |
Dependencies of the CommonBehaviors packages |
Ve standardu jde o část 13, balík BasicBehaviors, třídy Behavior a BehaviorClassifier.
Balík BasicBehavior slouží k definici obecného popisu chování v UML. Poskytuje základní infrastrukturu pro detailnější specifikaci chování.
Modelování chování v sobě zahrnuje popis toků, časové závislosti, změny stavů, zpracování událostí a další.
Protože UML je objektově orientovaný jazyk, tak i chování je vnitřně složené z objektů.
Popis chování v UML se odkazuje na chování klasifikátoru (třída Classes::Kernel::Classifier).
Jsou celkem čtyři možné pohledy na chování:
- Stavový automat
- Aktivity a akce
- Interakce
- Případy užití
V metamodelu jde o následující balíky CommonBehaviors, Activities, Actions, Interactions, StateMachines a UseCases. V následujícím textu budou popsány ty z nich, které se v OCUP Fundamental zkouší.
Balík CommonBehaviors definuje základní koncepty používané pro popis chování a odpovídající vztahy se strukturálními elementy.
![]() |
Common Behavior |
![]() |
Expression |
![]() |
Precondition and postcondition constraints for behavior |
Existují dva druhy chování:
- Execution behavior (ExB):
- ExB popisuje chování objektu (typicky nějaké metody), kterým je vykonáváno.
- Objekt, který chování vykonává, je hostitel (host). Ten, který chování vyvolal, je volající (invoker). Hostitel a volající může být týž objekt.
- Volání může být vyvoláno přímo vytvořením objektu nebo chovací vlastností hostitelského objektu. Nepřímo může být zavoláno na základě vykonávání nějakého chování vztaženého objektu.
- ExB má přístup ke strukturálním vlastnostem hostitelského objektu.
- Objekty, které mohou hostit chování, jsou specializací třídy BehavioredClassifier.
- Emergent behavior (EmB):
- EmB je způsobeno interakcí jednoho či více různých objektů.
- Pokud jsou účastnící se objekty součástí většího kompozitního celku, na EmB může být nahlíženo jako na nepřímý popis chování tohoto kontejneru.
- EmB může pramenit z vykonávání ExB účastnících se objektů.
- Toto chování nepopisuje, co který objekt zpracovává.
- EmB je specializací abstraktní třídy Behavior.
![]() |
Common Behaviors Domain Model |
Chování může být popsáno dvěma způsoby. První spočívá v samostatném a nezávislém popisu podobně jako třída. K tomu se používá třída Behavior, která je specializací třídy Classes::Kernel::Class (viz popis dále). Mj. to tedy znamená, že může přistupovat k strukturálním i chovacím vlastnostem (features) hostujícího klasifikátoru.
Druhý způsob je popis chování uvnitř klasifikátoru, který toto chování vlastní. Tento klasifikátor určuje kontext (BehavioredClassifier) pro chování.
BehaviorClassifier může vlastnit několik chování (vztah ownedBehavior), ale každé toto vlastněné chování bude mít právě svůj kontext (vztah context). Podobně klasifikátory mohou vlastnit chování a chovat se jako kontext pro toto chování.
Operace (BehavioralFeature) mohou vlastnit chování. V takovém případě je implementace této operace oním chováním. A operace je specifikací chování. Kontext je pak tentýž, jaký má klasifikátor, který chování vlastní.
Žádné komentáře:
Okomentovat