package priority_rules_wildcard
  port type Port()

  connector type Broadcast(Port p, Port q, Port r)
    define p' q r

    on p q r provided (false)
    on p q   provided (true)
    on p r   provided (true)
    on p     provided (false)
  end

  atom type MyAtomType()
    export port Port p(), q(), r()

    place INIT, END

    initial to INIT

    on p from INIT to END
    on q from INIT to END
  end

  compound type MyCompoundType()
    component MyAtomType myAtom1()
    component MyAtomType myAtom2()
    component MyAtomType myAtom3()

    connector Broadcast brd1(myAtom1.p, myAtom2.p, myAtom3.p)
    connector Broadcast brd2(myAtom1.q, myAtom2.q, myAtom3.q)
    connector Broadcast brd3(myAtom1.r, myAtom2.r, myAtom3.r)

    priority myPrio1 brd1:myAtom1.p,myAtom2.p           < brd1:myAtom1.p,myAtom3.p
    priority myPrio2 brd2:*                             < brd1:*
    priority myPrio3 brd3:*                             < *:*
  end
end
