Behavior/CallOperationPN [ Rules ]
[ Top ] [ Behavior ] [ Rules ]
SUMMARY
Transfotrm a SysML CallOperationAction into its HiLeS Petri Net representation. ($Rev: 443 $)
DESCRIPTION
This rule creates the asscoaited PN elements required to represent a the CallOperationAction. The CallOperationAction behavior is represented by HiLeS:Functional block. Each hiles block requires these associated petri net elements: 3 places, 2 transtions and 6 arcs.
SEE ALSO
DOMAIN
SPECIFICATION
relation CallBehaviorPN { checkonly domain SysML node:CallBehaviorAction { activity = a:Activity{}, name = nn, behavior = nb, } enforce domain HiLeS p1:Place { petriNet = pn:PetriNet{}, name = nn + '_P1', } enforce domain HiLeS p2:Place { petriNet = pn:PetriNet{}, name = nn + '_P2', } enforce domain HiLeS p3:Place { petriNet = pn:PetriNet{}, name = nn + '_P3', } enforce domain HiLeS t1:Transition { petriNet = pn:PetriNet{}, name = nn + '_T1', } enforce domain HiLeS t2:Transition { petriNet = pn:PetriNet{}, name = nn + '_T2', } enforce domain HiLeS a1:Arc { petriNet = pn:PetriNet{}, from_node = p1:Node{}, to_node = t1:Node{}, } enforce domain HiLeS a2:Arc { petriNet = pn:PetriNet{}, from_node = t1:Node{}, to_node = p2:Node{}, } enforce domain HiLeS a3:Arc { petriNet = pn:PetriNet{}, from_node = t1:Node{}, to_point = pt1:Port{}, } enforce domain HiLeS a4:Arc { petriNet = pn:PetriNet{}, from_node = p2:Node{}, to_node = t2:Node{}, } enforce domain HiLeS a5:Arc { petriNet = pn:PetriNet{}, from_point = pt2:Port{}, to_node = t2:Node{}, } enforce domain HiLeS a6:Arc { petriNet = pn:PetriNet{}, from_node = t2:Node{}, to_node = p3:Node{}, } when { ActivityPetriNet(a, pn, arch); } where { FunctionalBlock(node, fb, pt1, pt2); fb.associated = p2; } }