温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

EA画UML活动图中StartClassifierBehavior和StartObjectBehavior的示例分析

发布时间:2021-12-20 14:32:54 来源:亿速云 阅读:144 作者:小新 栏目:大数据

这篇文章给大家分享的是有关EA画UML活动图中StartClassifierBehavior和StartObjectBehavior的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

关于调用,还有两个不容易区分的动作:StartClassifierBehaviorAction和StartObjectBehaviorAction。光看描述的话不好理解。所以这次的策略是先说明相关知识,再说明这两个动作。到那时就水到渠成了。

Behaviored Classifiers(行为化类目)

行为化类目是可以拥有ownedBehaviors的类目,其中最多有一个行为可以被认为定义了行为化类目本身。相反地,一个行为化类目的被称为ownedBehavior的行为把该行为化类目作为自己的(执行时的)上下文。这样一个行为的定义可以使用上下文行为化类目的功能,也可以参照对于上下文行为化类目可见的其他元素。

然而有些行为虽然不是行为化类目直接的ownedBehavior,也可以拥有上下文。为了找到一个不是直接ownedBehavior的行为的上下文,可以沿着从该行为开始的物主关系链进行寻找,第一个遇到的行为化类目,就是我们的目标了。除非它自己就是一个有着非空上下文的行为。但即使是这样,它也可以看作原始行为的上下文。例如一个行为化类目拥有的状态机的入口行为的上下文是拥有状态机的类目而不是状态机。

如果一个行为有上下文,那么这个行为的执行总是有一个关联的上下文对象,它是上下文行为化类目的实例(只要这个行为化类目是可以实例化的)。一个没有上下文行为类目的行为可以作为独立行为被调用。在这种情况下,行为执行充当自己的上下文对象。还有另外一种情况,当上下文行为化类目不可以被实例化时,行为执行也要充当自己的上下文对象。当它是一个isIndirectlyInstantiated属性值为true的组件或者是一个协作时就是如此。也就是说,行为执行总是拥有一个上下文,无论它是否拥有一个明确的,可实例化的上下文行为化类目。

行为化类目可以拥有高级的ownedBehavior,被称做classifierBehavior。classiferBehavior描述的是一个类目的实例在它的生命周期中可能经历的过程。一个行为化类目的实例被创建可以认为行为化类目的classifierBehavior被调用了;作为结果的执行拥有这个新实例作为它的上下文对象。如果这个对象被销毁则执行被终止。

classifierBehavior的精确语义依赖于拥有它的行为化类目的种类。例如一个协作的classifierBehavior表现的是所有组成部分的(emergent)行为,然而一个类的classifierBehavior只是实例(整体)的行为,这个行为区别于实例的某些部分的行为。(However)一个被动类不应该拥有classiferBehavior。

简而言之:

  1. 拥有了从属于它的行为的类目,就叫行为化类目

  2. 被一个行为化类目所拥有,定义了该类目整体特性的行为就是ownedBehaivor

  3. 如果ownerBehaivor的执行和的行为化类目的实例的生命周期等价的就是classifierBehavior

  4. 启动ownedBehavior的动作就是StartObjectBehaviorAction

  5. 启动classifierBehavior的动作就是StartClassifierBehaviorAction。

举例说明的话,

秒表类可以有一个描述秒表整体行为的状态机,这里秒表类就是行为化类目,状态机就是ownedBehavior;

线程类可以设计成创建实例开始执行,删除实例终止执行。这里线程类就是行为化类目,线程的内容就是classifierBehavior;

另外补充一点,在UML2.5中推荐使用StartObjectBehaviorAction,而StartClassifierBehaviorAction是为了保持和老版本的兼容性而保留的。

感谢各位的阅读!关于“EA画UML活动图中StartClassifierBehavior和StartObjectBehavior的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI