Merge/Unmatched [ Modules ]

[ Top ] [ Merge ] [ Modules ]

SUMMARY

Transofrm elements that are not matched ($Rev: 136 $).

DESCRIPTION

Elements that are not matched must be transformed from the structural and the behavior models into the merged model.

DOMAIN


Unmatched/Structural [ Rules ]

[ Top ] [ Unmatched ] [ Rules ]

SUMMARY

Transfotrm a HiLeS Structural to a HiLeS Structural

DESCRIPTION

Unmatched Structural is the one that exists in the root architecture of the strucure model. The Structural must be copied directly to the merged model, hence the transforamtion only performs a copy of the properties and elements.

DOMAIN

SPECIFICATION

        relation UnmatchedStructural
        {
            checkonly domain HiLeS umstruct:Structural {
                architecture = umstructa:Architecture{},
                name = umstructn,
                ports = umstructp:Port{},
                innerArchitecture = umstructia:Architecture{}
            }
            enforce domain HiLeS struct:Structural {
                architecture = structa:Architecture{}
                name = structn,
                ports = structp:Port{},
                innerArchitecture = structia:Architecture{}
            }
            when {
                UnmatchedArchitecture(umstructa, structa)
            }
            where {
                UnmatchedArchitecture(umstructa, structa)
                UnmatchedPorts(umstructp, p);
                MergeArchitecture(umstructia, bstructia, structia)
                structp->append(p);
            }
        }

Unmatched/UnmatchedArc [ Rules ]

[ Top ] [ Unmatched ] [ Rules ]

SUMMARY

Transfotrm a HiLeS Arc to a HiLeS Arc

DESCRIPTION

Unmatched Arcs are the ones that exist in the behavior model. These Arcs must be copied directly to the merged model, hence the transforamtion only performs a copy of the properties.

DOMAIN

SPECIFICATION

        relation UnmatchedArc
        {
            checkonly domain HiLeS umarc:Arc {
                petrinet = unarcpn:PetriNet{},
                id = umarcid,
                to_node = umarcto_node,
                from_node = umarcfrom_node,
                to_point = umarcto_point,
                from_point = umarcfrom_point,
            }
            enforce domain HiLeS arc:Arc {
                petrinet = arcpn:PetriNet{},
                id = umarc.id,
                to_node ::= arcto_node,
                from_node ::= arcfrom_node,
                to_point ::= arcto_point,
                from_point ::= arcfrom_point,
            }
            when {
                UnmatchPetriNet(unarcpn, arcpn)
            }
            where {
                if umarcto_node->notEmprty() then
                    UnmatchedPlace(arcto_node, umarcto_node);
                    UnmatchedTransition(arcto_node, umarcto_node);
                endif
                if umarcfrom_node->notEmpty() then
                    UnmatchedPlace(arcfrom_node, umarcfrom_node);
                    UnmatchedTransition(arcfrom_node, umarcfrom_node);
                endif
                if umarcto_point->notEmpry() then
                    UnmatchedService(arcto_point, umarcto_point);
                    UnmatchedPort(arcto_point, umarcto_point);
                endif
                if umarcfrom_point->notEmpty() then
                    UnmatchedService(arcfrom_point, umarcfrom_point);
                    UnmatchedPort(arcfrom_point, umarcfrom_point);
                endif
            }
        }

Unmatched/UnmatchedArchitecture [ Rules ]

[ Top ] [ Unmatched ] [ Rules ]

SUMMARY

Transfotrm a HiLeS System to a HiLeS System

DESCRIPTION

Unmatched System is the one that exists in the strucure model. The System must be copied directly to the merged model, hence the transforamtion only performs a copy of the properties and elements.

DOMAIN

SPECIFICATION

        relation UnmatchedArchitecture
        {
            checkonly domain HiLeS umarch:Architecture {
                system : umarchsys:HilesSystem{},
                isDefault = umarchdef,
                name = umarchn,
                blocks = umarchb:Block{},
                services = umarchs:Service{},
                payloads = umarchp:Payload{},
            }
            enforce domain HiLeS arch:Architecture {
                system : archsys:HilesSystem{},
                isDefault = umarchdef,
                name = umarchn,
                blocks = archb:Block{},
                services = archs:Service{},
                payloads = archp:Payload{},
            }
            when {
                UnmatchedSystem(umarchsys, archsys)
            }
            where {
                UnmatchedStructural(umarchb, b)
                UnmatchedServices(umarchs, s)
                UnmatchedPayloads(umarchp, p)
                archb->append(b)
                archs->append(s)
                archp->append(p)
            }
        }

Unmatched/UnmatchedFunctional [ Rules ]

[ Top ] [ Unmatched ] [ Rules ]

SUMMARY

Transfotrm a HiLeS Functional to a HiLeS Functional

DESCRIPTION

Unmatched Functional are the ones that exist in the behavior model. These Functional must be copied directly to the merged model, hence the transforamtion only performs a copy of the properties.

SEE ALSO

DOMAIN

SPECIFICATION

        relation UnmatchedFunctional
        {
            checkonly domain HiLeS umfunc:Functional {
                architecture = umfunca:Architecture{}
                name = umfuncn,
                id = umfuncid,
                associated = umfuncassoc,
                ports = umfuncpts:Port{},
            }
            enforce domain HiLeS func:Functional {
                architecture = funca:Architecture{}
                name = umfuncn,
                id = umfuncid,
                associated = funcassoc,
                ports = funcpts:Port{},
            }
            when {
                MergeArchitecture(umfunca, umfunca, funca)
            }
            where {
                UnmatchedPorts(umfuncpts, funcpts)
                UnmatchedPlaces(umfuncassoc, umfuncassoc)
            }
        }

Unmatched/UnmatchedPayload [ Rules ]

[ Top ] [ Unmatched ] [ Rules ]

SUMMARY

Transfotrm a HiLeS Payload to a HiLeS Payload

DESCRIPTION

Unmatched Payloads are the ones that exist in only one of the input models. These Payloads must be copied directly to the merged model, hence the transforamtion only performs a copy of the properties.

SEE ALSO

DOMAIN

SPECIFICATION

        relation UnmatchedPayload
        {
            checkonly domain HiLeS umpayload:Payload {
                architecture = umpayloada:Architecture{}
                name = umpayloadn,
                type = umpayloady,
                source = umpayloads,
                target = umpayloadt,
            }
            enforce domain HiLeS payload:Payload {
                architecture = payloada:Architecture{}
                name = umpayloadn,
                type = umpayloady,
                source = payloads,
                target = payloadt,
            }
            when {
                MergeArchitecture(umpayloada, umpayloada, payloada)
            }
            where {
                MergePorts(umpayloads, umpayloads, payloads)
                MergeServices(umpayloads, umpayloads, payloads)
                MergePorts(umpayloadt, umpayloadt, payloadt)
                MergeServices(umpayloadt, umpayloadt, payloadt)
            }
        }

Unmatched/UnmatchedPetriNet [ Rules ]

[ Top ] [ Unmatched ] [ Rules ]

SUMMARY

Transfotrm a HiLeS PetriNet to a HiLeS PetriNet

DESCRIPTION

Unmatched Petri Nets are the ones that exist in the behavior model. These Petri Nets must be copied directly to the merged model, hence the transforamtion only performs a copy of the elements.

SEE ALSO

DOMAIN

SPECIFICATION

        relation UnmatchedPetriNet
        {
            checkonly domain HiLeS umpn:PetriNet {
                architecture = umpna:Architecture{}
                elements = umpne:Element{},
            }
            enforce domain HiLeS pn:PetriNet {
                architecture = pna:Architecture{}
                elements = pne:Element{},
            }
            when {
                MergeArchitecture(umpna, umpna, pna)
            }
            where {
                UnmatchedPlaces(umpne, pne)
                UnmatchedTransitions(umpne, pne)
                UnmatchedArcs(umpne, pne)
            }
        }

Unmatched/UnmatchedPlace [ Rules ]

[ Top ] [ Unmatched ] [ Rules ]

SUMMARY

Transfotrm a HiLeS Place to a HiLeS Place

DESCRIPTION

Unmatched Places are the ones that exist in the behavior model. These Places must be copied directly to the merged model, hence the transforamtion only performs a copy of the properties.

DOMAIN

SPECIFICATION

        relation UnmatchedTransition
        {
            checkonly domain HiLeS umplace:Place {
                petrinet = unplacepn:PetriNet{},
                id = umplaceid,
                name = umplacename,
                hasToken = umplace,hasToken,
            }
            enforce domain HiLeS place:Place {
                petrinet = placepn:PetriNet{},
                id = umplaceid,
                name = umplacename,
                hasToken = umplace,hasToken,
            }
            when {
                UnmatchPetriNet(untranpn, tranpn)
            }
        }

Unmatched/UnmatchedPort [ Rules ]

[ Top ] [ Unmatched ] [ Rules ]

SUMMARY

Transfotrm a HiLeS Port to a HiLeS Port

DESCRIPTION

Unmatched Ports are the ones that exist in only one of the input models. These Ports must be copied directly to the merged model, hence the transforamtion only performs a copy of the properties.

SEE ALSO

DOMAIN

SPECIFICATION

        relation UnmatchedPort
        {
            checkonly domain HiLeS umport:Port {
                block = umportb:Block{},
                name = umportn,
                id = umportid,
                direction = umportdir,
            }
            enforce domain HiLeS port:Port {
                block = portb:Block{},
                name = umportn,
                id = umportid,
                direction = umportdir,
            }
            when {
                MergeStructuralBlocks(umportb, umportb, port)
            }
        }

Unmatched/UnmatchedService [ Rules ]

[ Top ] [ Unmatched ] [ Rules ]

SUMMARY

Transfotrm a HiLeS Service to a HiLeS Service

DESCRIPTION

Unmatched Services are the ones that exist in only one of the input models. These Services must be copied directly to the merged model, hence the transforamtion only performs a copy of the properties.

SEE ALSO

DOMAIN

SPECIFICATION

        relation UnmatchedService
        {
            checkonly domain HiLeS umservice:Service {
                architecture = umservicea:Architecture{}
                name = umservicen,
                id = umserviceid,
                direction = umservicedir,
            }
            enforce domain HiLeS service:Service {
                architecture = servicea:Architecture{}
                name = umservicen,
                id = umserviceid,
                direction = umservicedir,
            }
            when {
                MergeArchitecture(umservicea, umservicea, servicea)
            }
        }

Unmatched/UnmatchedSystem [ Rules ]

[ Top ] [ Unmatched ] [ Rules ]

SUMMARY

Transfotrm a HiLeS System to a HiLeS System

DESCRIPTION

Unmatched System is the one that exists in the strucure model. The System must be copied directly to the merged model, hence the transforamtion only performs a copy of the properties and elements.

DOMAIN

SPECIFICATION

        relation UnmatchedSystem
        {
            checkonly domain HiLeS umhsys:HilesSystem {
                name = umhsysn,
                initialArchitecture = umhsysia,
            }
            enforce domain HiLeS hsys:HilesSystem {
                name = umhsysn,
                initialArchitecture = hsysia,
            }
            where {
                UnmatchedArchitecture(umhsysia, hsysia)
            }
        }

Unmatched/UnmatchedTransition [ Rules ]

[ Top ] [ Unmatched ] [ Rules ]

SUMMARY

Transfotrm a HiLeS Transition to a HiLeS Transition

DESCRIPTION

Unmatched Transitions are the ones that exist in the behavior model. These Transitions must be copied directly to the merged model, hence the transforamtion only performs a copy of the properties.

DOMAIN

SPECIFICATION

        relation UnmatchedTransition
        {
            checkonly domain HiLeS umtran:Transition {
                petrinet = umtranpn:PetriNet{},
                id = umtranpnid,
                name = umtranpnname,
                min = umtranpnmin,
                max = umtranpnmax,
                unit = umtranpnunit,
            }
            enforce domain HiLeS transformation:Transition {
                petrinet = tranpn:PetriNet{},
                id = umtranpnid,
                name = umtranpnname,
                min = umtranpnmin,
                max = umtranpnmax,
                unit = umtranpnunit,
            }
            when {
                UnmatchPetriNet(umtranpn, tranpn)
            }
        }