HiLeS_To_VHdl/ArcFrom_Functional [ Rules ]
SUMMARY
Transfotrm an Arc from a HiLeS Functional block to a Vhdl Signal, Port and asosciation. ($Rev: 465 $)
DESCRIPTION
Diffrently form Structural Blocks, arc's from a Functional Block to a transition are connected to the transitions' c_t port. Create one vhdl!Signal, one vhdl!SignalPort and one vhdl!Association.
SEE ALSO
DOMAIN
SPECIFICATION
relation ArcFrom_Functional { checkonly domain HiLeS arc:Arc { activity = a:Activity{}, name = nn, behavior = nb:Behavior{}, } enforce domain vhdl s_c_t:Signal { s_c_t.identifier = "c_t_" + arc.from_point.owner.name + "_" + arc.to_node.name; s_c_t.subtype = new vhdl!Subtype; s_c_t.subtype.type = vhdl!Types#std_logic; } enforce domain vhdl sp_c_t:SignalPort { sp_c_t.identifier = arc.from_point.name + "_c_t"; sp_c_t.mode = vhdl!PortMode#out; sp_c_t.subtype = new vhdl!Subtype; sp_c_t.subtype.type = vhdl!Types#std_logic; } enforce domain vhdl a_c_t:Association { a_c_t.formalPart = sp_c_t.identifier; a_c_t.actual = new vhdl!Actual; a_c_t.actual.signal = s_c_t; } when { ActivityPetriNet(a, pn, arch); arc.from_point.isDefined() and arc.from_point.owner.isTypeOf(hiles!Functional) } where { StrcuturalBlockBehavior(getParentBlock(nb), sb, pt1, pt2); sb.associated = p2; } }