Behavior/CallBehaviorPN [ Rules ]
[ Top ] [ Behavior ] [ Rules ]
SUMMARY
Transfotrm a SysML CallBehaviorAction into its HiLeS Petri Net representation. ($Rev: 443 $)
DESCRIPTION
This rule creates the asscoaited PN elements required to represent a the CallBehaviorAction. The CallBehaviorAction behavior is represented by HiLeS:Structural 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:Behavior{}, } 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 HiLeSB 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 { StrcuturalBlockBehavior(getParentBlock(nb), sb, pt1, pt2); sb.associated = p2; } }