Pins
在图16.10中,“Order” Pin表示Order对象。此例左上角,Fill Order生成已填充的订单,Ship Order消费它们。Fill Order必须结束后Ship Order才能开始。Actions上的pin符号被省略,它们由一个单独的Order矩形所表示。右上角使用Actions上显式的Pin符号来展示同一回事。图的底部展示了使用多个pins的示例。(参见15.2中的其它示例。)
图16.10 Pin examples
图16.11展示了两个应用于Pins的OjectNode selection行为(参见15.4)的示例。两个示例都指示订单需要按照优先级——那些具有相同优先级的应该按照先进先出(FIFO)的原则来发送。
图16.11 Specifying selection behavior on an ObjectFlow
对于使用ActionInputPins的示例,考虑如下以文本式具体语法表示的表达式:self.foo->bar(self.bar)的抽象语法映射。这个表达式的意思是得到self的foo属性值,然后使用self的baz属性值作为参数向该值发送一个bar信号(signal)。图16.12显示了该表达式的UML抽象语法表示。
注意.子表达式使用ActionInutPins链接起来。
图16.12 Example abstract syntax model showing the use of ActionInputPins