<!ELEMENT sgpem (resources, schedulables)>

<!ENTITY % text "#PCDATA">


<!ELEMENT schedulables (process)*>
<!ELEMENT process (threads)>
<!ATTLIST process 
    name CDATA #IMPLIED
    priority CDATA #IMPLIED
    arrival-time CDATA #REQUIRED >
<!-- <!ELEMENT threads (thread)+> -->
<!ELEMENT threads (thread)*>
<!ELEMENT thread (requests)>
<!ATTLIST thread 
    name CDATA #IMPLIED
    priority CDATA #IMPLIED
    arrival-delta CDATA #IMPLIED
    lasts-for CDATA #REQUIRED >

<!ELEMENT resources (resource)*>
<!ELEMENT resource EMPTY>
<!ATTLIST resource 
    name CDATA #IMPLIED
    id ID #REQUIRED
    arrival-time CDATA #REQUIRED
    how-many CDATA #IMPLIED
    pre-emptible (true | false) "false" >

<!ELEMENT requests (request)*>
<!ELEMENT request (subrequest)+>
<!ATTLIST request
    arrival-time CDATA #REQUIRED >
<!ELEMENT subrequest EMPTY>
<!ATTLIST subrequest
    resource IDREF #REQUIRED
    how-many CDATA #IMPLIED
    lasts-for CDATA #REQUIRED >
