Behavior/Guard [ Rules ]

[ Top ] [ Behavior ] [ Rules ]

SUMMARY

Transform a SysML ValueSpecification into a HiLeS Functional Block. The ValueSpecification element covers all possible types of Guards. ($Rev: 443 $)

DESCRIPTION

This transformation creates the Fucntional Block used to evaluate the value of the respective guard.

SEE ALSO

DOMAIN

SPECIFICATION

        relation Guard
        {
            checkonly domain SysML cf:ValueSpecification {
                activity = a:Activity{},
                value = vsv,
                id = vsid,
            }
            enforce domain HiLeS b:Functional {
                PetriNet = pn:PetriNet{},
                name = "Guard" + vsid,
                id = vsid,
            }
            primitive domain HiLeS inport:Port;
            primitive domain HiLeS outport:Port;
            when {
                ActivityPetriNet(a, pn, arch);
            }
            where {
                inport.name = "_PNIn";
                inport.direction = PointDirection::input;
                outport.name = "_PNOut";
                outport.direction = PointDirection::output;
                blk.ports->append(inport);
                blk.ports->append(outport);
            }
 *