EA画UML活动图中Variable Actions的示例分析

发布时间:2021-12-20 14:03:47 作者:小新
来源:亿速云 阅读:106

这篇文章主要介绍EA画UML活动图中Variable Actions的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

15.7.25 Variable [Class](变量)

15.7.25.1 Description(描述)

A Variable is a ConnectableElement that may store values during the execution of an Activity. Reading and writing the values of a Variable provides an alternative means for passing data than the use of ObjectFlows. A Variable may be owned directly by an Activity, in which case it is accessible from anywhere within that activity, or it may be owned by a StructuredActivityNode, in which case it is only accessible within that node.

变量是一种可连接元素,它可以在活动执行期间储存值。读写变量的值提供了除对象流以外的另一种传送数据的手段。变量可以直接被活动所拥有,这种情况下它可以在活动内部的任何地方被访问,它也可以被结构化活动节点所拥有,这时它只可以在该节点内部被访问。

这段话说明了什么呢?至少有以下几点:

  1. 变量是存储值的容器而不是值本身

  2. 如果我们把活动看作一个方法(或函数)那么这里的变量就是C/C++语言的局部变量(约等于吧)

  3. 通过变量传递值是数据流的代替手段。

回到今天的主题,首先是抽象语法部分,也就是下面这张图。

EA画UML活动图中Variable Actions的示例分析

从图中应该可以(但不限于)读到以下信息:

  1. 图中有三个抽象Action类:Action,VariableAction和WriteVariableAction

  2. 图中有四个具象Action类:ReadVariableAction,AddVariableValueAction,RemoveVariableValueAction和ClearVarialeAction

  3. 所有的VariableAction都和一个Variable相关联

  4. ReadVariableAction有一个输出引脚

  5. 所有的WriteVariableAction有[0..1]个value输入引脚

  6. AddVariableValueAction有[0..1]个insertAt输入引脚

  7. AddVariableValueAction有[0..1]个removeAt输入引脚

  8. ClearVariableAction没有引脚


四个抽象类不会在实际应用中使用,所以这里只说明四个具象类。


Read Variable Actions(读变量动作)

读变量动作就是将变量中的值取出来放到result输出引脚生成的对象令牌中,如果读不到值,就生成空令牌。另外一个就是变量的多重度要和引脚的多重度兼容,说白了就是引脚要装得下变量中的值,也就是说引脚的多重度下限要小于等于变量的多重度下限,而引脚的多重度上限要大于等于变量的多重度上限。假设变量的多重度为2..5,如果引脚的多重度如果是1..6,或者2..5就没有问题,如果引脚的多重度为2..4,3..4都是不可以的。

Add Variable Value Action(增加变量值动作)

首先增加变量值动作每次只增加一个值,这个值通过value输入引脚指定。如果这个值已经在变量中存在,那本次操作对变量没有影响。

增加变量值操有有一个选项isReplaceAll,用来控制增加新值时,之前保存在变量中的值如何处理。

当isReplaceAll为真时会清除之前保存在变量中的所有值,这时增加变量值操作实际上是一个替换操作。

当isReplaceAll为假时,就意味着随着增加变量动作的进行,变量中保存的值会逐渐增加。如果变量是无序的,就不用在意值的位置,随便丢进去就可以了;如果变量是有序的就需用通过insertAt引脚提供一个指定插入位置的整数。

如果向变量插入一个已经存在的值,这时增加变量值动作相当于移动变量值动作。

Remove Variable Value Actions(移除变量值动作)

和增加变量值动作类似,移除变量值也是每次操作一个值。

移除变量值操作有一个选项:isRemoveDuplicates,用于表明是否要从变量中移除重复值。如果isRemoveDuplicates为假,而且变量是有序的,那么就通过removeAt引脚取得移除对象的位置然后变量中移除该位置的值;其他的情况下,value引脚有效并提供作为操作对象的值。变量中所有与之相同的值都会被移除。

Clear Variable Actions(清除变量动作)

清除变量动作移除变量的所有变量值。

注意

需要注意的是,这里提到的有序并不是常说的升序/降序排序是的顺序,只是说值可以通过索引访问,换句话说就是数组。

以上是“EA画UML活动图中Variable Actions的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. EA画UML活动图中如何实现分支和合并
  2. EA画UML活动图中对象流的示例分析

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

ea uml

上一篇:ATC实验室vSphere应用是怎样的

下一篇:Callable、Future和FutureTask怎么使用

相关阅读

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

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