Product SiteDocumentation Site

6.6. Set Ordonat

Ordered set

Fig. 6.1. Reprezentarea vizuală a ordinii de pornire a celor patru resurse pentru restricţiile de mai sus


Pentru a simplifica această situaţie, există un format alternativ pentru ordonarea restricţiilor

Exemplu 6.6. Un lanţ de resurse ordonate exprimate ca un set

<constraints>
    <rsc_order id="order-1">
      <resource_set id="ordered-set-example" sequential="true">
        <resource_ref id="A"/>
        <resource_ref id="B"/>
        <resource_ref id="C"/>
        <resource_ref id="D"/>
      </resource_set>
    </rsc_order>
</constraints>

Notă

Seturile de resurse au aceeaşi semantică de ordonare ca şi grupurile.

Exemplu 6.7. Un grup de resurse cu regulile de ordonare echivalente

<group id="dummy">
    <primitive id="A" .../>
    <primitive id="B" .../>
    <primitive id="C" .../>
    <primitive id="D" .../>
</group>

În timp ce formatul bazat pe seturi nu este mai puţin verbose, este semnificativ mai uşor de a nimeri şi menţine. Poate fi extins pentru a permite seturi ordonate de resurse (ne)ordonate. În exemplul de mai jos, rscA şi rscB pot porni ambele în paralel, la fel pot si rscC şi rscD, însă rscC şi rscD pot porni doar odată ce ambele rscA şi rscB sunt active.

Exemplu 6.8. Seturi ordonate de resurse neordonate

<constraints>
    <rsc_order id="order-1">
      <resource_set id="ordered-set-1" sequential="false">
        <resource_ref id="A"/>
        <resource_ref id="B"/>
      </resource_set>
      <resource_set id="ordered-set-2" sequential="false">
        <resource_ref id="C"/>
        <resource_ref id="D"/>
      </resource_set>
    </rsc_order>
  </constraints>