UML的语义是什么;在BoUML中的ReadVariableAction?

UML的语义是什么;在BoUML中的ReadVariableAction?,uml,action,Uml,Action,BoUML中的ReadVariableAction活动允许选择类及其属性,并通过创建输出引脚返回属性(参见下图和): 但这种行为的语义是什么?ReadVariableAction操作实际返回什么 根据第16.9.3.1条,变量作用: VariableAction对静态指定的变量进行操作。变量必须是由包含VariableAction的活动(见第15.2款)或StructuredActivityNode(见第16.11款)定义的变量 下面的第15.2.2条抽象语法说明变量子集ownedMember

BoUML中的ReadVariableAction活动允许选择类及其属性,并通过创建输出引脚返回属性(参见下图和):

但这种行为的语义是什么?ReadVariableAction操作实际返回什么

根据第16.9.3.1条,变量作用:

VariableAction对静态指定的变量进行操作。变量必须是由包含VariableAction的活动(见第15.2款)或StructuredActivityNode(见第16.11款)定义的变量

下面的第15.2.2条抽象语法说明变量子集ownedMember,因此变量应该可以通过名称识别。

但BoUML既不允许为活动创建变量,也不允许将变量名称传递给ReadVariableAction

我似乎可以使用ReadVariableAction,如下所示


但是从UML的角度来看,它是错误的模型。

BoUML中读/写/清除/添加/删除变量操作的语义是。。。错了

很明显,当我在BoUML中添加活动时,我误解了这一部分,我没有很好地阅读规范来理解活动变量或结构化活动节点。因此,由于错误,我允许选择的“变量”是类的属性。另一个后果是您不能为活动或结构化活动节点定义变量

罪过



可用并修复问题

IMHO,“变量”动作可能应重命名为结构特征动作,并添加“对象”输入,一切看起来都会很好。和
Read Self Action
也将非常感谢]@zer0hedge为了正确和保持兼容,我可以允许活动变量(结构化节点),并且在读取版本IMHO制作的模型时,如果您将变量操作的语义与UML规范精确地对齐,那么所有以前使用的变量操作都需要由模型的作者手动修改。因此,除了您提出的,我将考虑引入导出以前版本的功能,它将报告其语义已经改变的所有元素,因此需要手动干预。例如,所有这些元素都可以标记-标记为红色并且可以保存。有人可以制作这样一个模型,模型需要手动修复(例如,必须添加
读取自动作
等)。我喜欢BoUML,可以“按原样”使用它