16.3.4 表示法

onPort的值以“via ”的形式显示在标识InvocationAction符号的名称字符串中。

Call Behavior Actions

CallBehaviorAction应该被表示为一个Action,在Action符号的内部放置被调用Behavior的name(如图16.14)。如果Action的name不为空,那么该Action符号的内部应该显示该Action的name。Behavior的preconditionspostconditions的表示类似图16.3,但使用«precondition»和 «postcondition»关键字。

图16.14 Calling a Behavior

在Action符号内放置一个耙子样式的符号来表示对Activity的调用(图16.15左部)。这个耙子像一个微化的层级,标识这个调用将启动另一个Activity,后者代表了一个更进一步的分解。另一种可选的表示是在一个大的圆角矩形符号中显示被调用Acitivity的内容(图16.15右部)。ActivityParameterNodes显示在被调用Activity的边界上。 图16.15 Calling an Activity

Call Operation Actions

CallOperationAction应该被表示为其中是被调用Operation名字的Action符号(图16.16)。如果Action的名字不空,那么符号内部应该显示该Action的名字。Operation的preconditionspostconditions的表示类似图16.3,但使用«precondition»和«postcondition»关键字。

图16.16 Calling an Operation

Operation宿主的名字可以(optionally)显示在Operation名字的下面,包含在括号内,并以双冒号结尾(图16.17左部)。如果显示的是Action的名字而不是Operation的名字,那么Operation的名字可以显示的双冒号后。

图16.17 Calling an Operation, showing the owner name

Send Signal and Send Object Actions

SendSignalAction表示为一个内部是Signal名字的凸五边形。

图16.18 Sending a Signal

如果SendObjectAction总是以导致发送一个Signal的方式被使用(例如,object InputPin的类型是一个Signal),那么可以用SendSignalAction的表示法来表示SendObjectAction。

Pin Annotations

对于带有异常(isException=true)的参数,相应的Pins表示为一个小三角形,标识来自于异常pin的边的源端。其它Pin的表示同独立的ObjectNode表示一样。(图16.19)

图16.19 Exception Pin annotations

如果对应Pin的参数设置了effect,需要把effect放在大括号中靠近出入Pin的边(图16.20)。

图16.20 Effect Pin annotations

不管Pin是否对应流参数(isStreaming=true),都可以分别使用靠近Pin符号的{stream}或{nonstream}文本式表示来显示(图16.21)。如果省略,缺省是{nonstream}。

图16.21 Stream Pin annotations

对于流参数,除了文本式表示外,还可以采用图形化的形式进行强调。可以通过与一个单独的Pin相连的实心箭头来标识流,或者是一个填充的矩形。当矩形框内部有箭头时,箭头的颜色要使用未填充的Pin矩形的内部颜色。(图16.22)

图16.22 Stream Pin annotations, with filled arrows and rectangles

参数集

进入或离开InvocationAction的Pins的多个对象流通常被作为“与”条件来对待。然而,有时候允许一组流与另一组互斥。这使用参数集来建模,它们被表示为围绕一个或多个pins的矩形。图16.23中的图示表示了输入的一个析取范式,其中组内是流之间的“与”,而组间是“或”关系。

图16.23 Alternative input/outputs using ParameterSet notation

results matching ""

    No results matching ""