Behavior/ObjectFlowPN [ Rules ]
[ Top ] [ Behavior ] [ Rules ]
SUMMARY
Transform a SysML ObjectFlow into a HiLeS Payload. ($Rev: 443 $)
DESCRIPTION
ObjectFlows are tranformed into Payloads which are the HiLeS elements used to represent information flow. Only ObjectFlows that connect CallOperations, i.e. Functional Blocks, to other CallOperations or to CallBehaviors
SEE ALSO
DOMAIN
SPECIFICATION
relation MergeNodePN { checkonly domain SysML node:ObjectFlow { activity = a:Activity{}, name = nn, source = ns:ActivityNode{}, target = nt:ActivityNode{}, } enforce domain HiLeS pl:Payload { architecture = arch:Architecture{}, name = nn, source = pls, target = plt, type = PayloadType::Discrete, } when { ActivityPetriNet(a, pn, arch); CallOperationAction->allInstances()->exists(co | co.target = ns or co.target = nt or co.result->includes(ns) or co.result->includes(nt) or co.argument.includes(ns) or co.argument->includes(nt)) } where { if ns->isTypeOf(InputPin) then InputPinPort(ns, pls); else OutputPinPort(ns, pls); end if nt->isTypeOf(InputPin) then InputPinPort(nt, plt); else OutputPinPort(nt, plt); end } *