(header ((port1) IBlocked provides) ((port2) IBlocked provides) ((sut) blocking_system2 system) ((sut blocked1) Blocked component) ((sut blocked2) Blocked component) ((async1) IAsync requires) ((async2) IAsync requires))
<external>.port1.e -> ...
... -> sut.blocked1.provided.e
sut.blocked1.required.trigger -> ...
... -> <external>.async1.trigger
... <- <external>.async1.return
sut.blocked1.required.return <- ...
<external>.port2.e -> ...
... -> sut.blocked2.provided.e
sut.blocked2.required.trigger -> ...
... -> <external>.async2.trigger
... <- <external>.async2.return
sut.blocked2.required.return <- ...
... <- <external>.async1.notify
sut.blocked1.<q> <- ...
... <- sut.blocked1.<q>
sut.blocked1.required.notify <- ...
... <- sut.blocked1.provided.return
<external>.port1.return <- ...
... <- <external>.async2.notify
sut.blocked2.<q> <- ...
... <- sut.blocked2.<q>
sut.blocked2.required.notify <- ...
... <- sut.blocked2.provided.return
<external>.port2.return <- ...
(trail "port1.e" "async1.trigger" "async1.return" "port2.e" "async2.trigger" "async2.return" "async1.notify" "port1.return" "async2.notify" "port2.return")
(labels "port1.e" "port2.e" "async1.notify" "async2.notify")
(eligible "port1.e" "port2.e")
