Schema U-JDL-Xnew.xsd


schema location:  U-JDL-Xnew.xsd
 schema HTML
U-JDL-Xnew.xsd
Elements  Complex types 
AbstractRequest  applicationType 
Application  datasetType 
Dataset  filelistType 
InputEvents  fileType 
InputFiles  IOType 
InputResource  javaTaskType 
InputTracks  logicalDatasetType 
JavaTask  physicalDatasetType 
logicalDataset  resourceType 
MemoryPerProcess  scriptTaskType 
OutputEvents  taskType 
OutputFiles 
OutputResource 
OutputTracks 
physicalDataset 
Request 
ResourceSpecifications 
ScriptTask 
Task 


element AbstractRequest
diagram
properties
content  complex
children Request ResourceSpecifications Task Application Dataset WorkFlow
annotation
documentation 
A group of requests and a description of how the requests are organized into 
a logical sequence of events (AND, OR, XOR, etc ... relationship) as well
as datasets which may be used by requests

element AbstractRequest/WorkFlow
diagram
properties
isRef  0
annotation
documentation 
MergeRequests { id=[xs:ID] }
RequestID { idref=[xs:IDref] }
....
ChooseBetweenRequests { id=[xs:ID] }
RequestID { idref=[xs:IDref] }
SetupRequestDependancy { id=[xs:ID] }
RequestToBeDoneFirstID { idref=[xs:IDref] }
RequestWaitingForInputID { idref=[xs:IDref] }

element Application
diagram
type applicationType
properties
content  complex
used by
element  AbstractRequest
attributes
Name   Type   Use   Default   Fixed   Annotation
ID   xsd:ID required        
type   xsd:string optional        
name   xsd:string required        
ver   xsd:string optional        
annotation
documentation 
Example: A XXTask will depend (or reference) a XXX aplication. Purpose 
is to allow versionning.

element Dataset
diagram
type extension of datasetType
properties
content  complex
used by
element  AbstractRequest
attributes
Name   Type   Use   Default   Fixed   Annotation
ID   xsd:ID required        
type   xsd:string optional        
annotation
documentation 
Below, some ideas from DIAL

Dataset{ identity=[xs:ID],
mutability=[locked,appending],
location=[virtual,logical,physical,staged,mixed],
composite=[xs:boolean] }
Contentlist
ContentKey { type=[xs:string]

element InputEvents
diagram
type IOType
properties
content  complex
substGrp  InputResource
children MininumUnitsRequired MaximumUnitsEstimated UnitsPerSeconds AverageSizeOfUnit
attributes
Name   Type   Use   Default   Fixed   Annotation
type   xsd:string         

element InputFiles
diagram
type IOType
properties
content  complex
substGrp  InputResource
children MininumUnitsRequired MaximumUnitsEstimated UnitsPerSeconds AverageSizeOfUnit
attributes
Name   Type   Use   Default   Fixed   Annotation
type   xsd:string         

element InputResource
diagram
type IOType
properties
content  complex
children MininumUnitsRequired MaximumUnitsEstimated UnitsPerSeconds AverageSizeOfUnit
used by
element  ResourceSpecifications
attributes
Name   Type   Use   Default   Fixed   Annotation
type   xsd:string         
annotation
documentation 
In SUMS, we implemented a numFilesPerHour. This gave an indication of 
the input rate for a request. The request would then be split into sub-jobs
according to available resources (CPUtime limit associated to a queue). A
job would end up with 100 files each for example ... while the dataset would
be of several 1000 files. BUT, input may be implemented with a different
concept than files. For example, input can be events, tracks, gene
sequence, etc ... This tries to generalize the idea.

element InputTracks
diagram
type IOType
properties
content  complex
substGrp  InputResource
children MininumUnitsRequired MaximumUnitsEstimated UnitsPerSeconds AverageSizeOfUnit
attributes
Name   Type   Use   Default   Fixed   Annotation
type   xsd:string         

element JavaTask
diagram
type javaTaskType
properties
content  complex
substGrp  Task
children STDIN STDOUT STDERR ClassName Jar Arguments ClassPath
attributes
Name   Type   Use   Default   Fixed   Annotation
ID   xsd:ID required        
type   xsd:string optional        

element logicalDataset
diagram
type logicalDatasetType
properties
content  complex
substGrp  Dataset
children catalog datafiles
attributes
Name   Type   Use   Default   Fixed   Annotation
ID   xsd:ID required        
type   xsd:string optional        

element MemoryPerProcess
diagram
type IOType
properties
content  complex
children MininumUnitsRequired MaximumUnitsEstimated UnitsPerSeconds AverageSizeOfUnit
used by
element  ResourceSpecifications
attributes
Name   Type   Use   Default   Fixed   Annotation
type   xsd:string         
annotation
documentation 
Total Memory (Virtual + RAM). Distinction is not relevant to users ??

element OutputEvents
diagram
type IOType
properties
content  complex
substGrp  OutputResource
children MininumUnitsRequired MaximumUnitsEstimated UnitsPerSeconds AverageSizeOfUnit
attributes
Name   Type   Use   Default   Fixed   Annotation
type   xsd:string         

element OutputFiles
diagram
type IOType
properties
content  complex
substGrp  OutputResource
children MininumUnitsRequired MaximumUnitsEstimated UnitsPerSeconds AverageSizeOfUnit
attributes
Name   Type   Use   Default   Fixed   Annotation
type   xsd:string         

element OutputResource
diagram
type IOType
properties
content  complex
children MininumUnitsRequired MaximumUnitsEstimated UnitsPerSeconds AverageSizeOfUnit
used by
element  ResourceSpecifications
attributes
Name   Type   Use   Default   Fixed   Annotation
type   xsd:string         
annotation
documentation 
Symetric of input ... Note that the type of storage is not specified here (like 
if the storage is NFS, AFS, Db, etc ...). The rate combined with the unit
size will obviously limit the possibilities of where the jobs can run. This
implies that this resource alone may map to several low-level JDL
requirements (TransferRate, Type from the StorageDevice element
in Glue CE, or event connection speed if we speak of db)

element OutputTracks
diagram
type IOType
properties
content  complex
substGrp  OutputResource
children MininumUnitsRequired MaximumUnitsEstimated UnitsPerSeconds AverageSizeOfUnit
attributes
Name   Type   Use   Default   Fixed   Annotation
type   xsd:string         

element physicalDataset
diagram
type physicalDatasetType
properties
content  complex
substGrp  Dataset
children datafiles
attributes
Name   Type   Use   Default   Fixed   Annotation
ID   xsd:ID required        
type   xsd:string optional        

element Request
diagram
properties
content  complex
children RequestName RequestDescription OutputHandling
used by
element  AbstractRequest
attributes
Name   Type   Use   Default   Fixed   Annotation
ID   xsd:ID         
taskRef   xsd:IDREF required        
appRef   xsd:IDREF required        
datasetRef   xsd:IDREF optional        
resourceRef   xsd:IDREF optional        
annotation
documentation 
For easier handling of initialization, end-task garbagge collection and task
wrap up, we may want to define initialization/finalization special requests.
Those could be defined once, and re-used for every job generated by a
single request.
Also, there may be a need to do a unique request (taks) for all jobs (not
for each jobs).

element Request/RequestName
diagram
properties
isRef  0

element Request/RequestDescription
diagram
properties
isRef  0

element Request/OutputHandling
diagram
properties
isRef  0
content  complex
children Copy Register
annotation
documentation 
This element may be removed later (only a placeholder for later considertaion).
Ideally, outputs are themselves datasets and currentely, input/output are
non-symetrical.

element Request/OutputHandling/Copy
diagram
properties
isRef  0
content  complex
children Source Destination

element Request/OutputHandling/Copy/Source
diagram
properties
isRef  0

element Request/OutputHandling/Copy/Destination
diagram
properties
isRef  0

element Request/OutputHandling/Register
diagram
properties
isRef  0

element ResourceSpecifications
diagram
properties
content  complex
children MemoryPerProcess InputResource OutputResource Time
used by
element  AbstractRequest

element ResourceSpecifications/Time
diagram
properties
isRef  0

element ScriptTask
diagram
type scriptTaskType
properties
content  complex
substGrp  Task
children STDIN STDOUT STDERR Script Arguments
attributes
Name   Type   Use   Default   Fixed   Annotation
ID   xsd:ID required        
type   xsd:string optional        

element Task
diagram
type taskType
properties
content  complex
children STDIN STDOUT STDERR
used by
element  AbstractRequest
attributes
Name   Type   Use   Default   Fixed   Annotation
ID   xsd:ID required        
type   xsd:string optional        
annotation
documentation 
In the newly proposed U-JDL, application and task are merged.

complexType applicationType
diagram
used by
element  Application
attributes
Name   Type   Use   Default   Fixed   Annotation
ID   xsd:ID required        
type   xsd:string optional        
name   xsd:string required        
ver   xsd:string optional        

complexType datasetType
diagram
used by
element  Dataset
complexTypes  logicalDatasetType physicalDatasetType
attributes
Name   Type   Use   Default   Fixed   Annotation
ID   xsd:ID required        
type   xsd:string optional        

complexType filelistType
diagram
children file
used by
elements  physicalDatasetType/datafiles logicalDatasetType/datafiles

element filelistType/file
diagram
type xsd:anyURI
properties
isRef  0
content  simple

complexType fileType
diagram
type extension of xsd:string
properties
base  xsd:string
attributes
Name   Type   Use   Default   Fixed   Annotation
fileName   xsd:anyURI required        

complexType IOType
diagram
type extension of resourceType
properties
base  resourceType
children MininumUnitsRequired MaximumUnitsEstimated UnitsPerSeconds AverageSizeOfUnit
used by
elements  InputEvents InputFiles InputResource InputTracks MemoryPerProcess OutputEvents OutputFiles OutputResource OutputTracks
attributes
Name   Type   Use   Default   Fixed   Annotation
type   xsd:string         

complexType javaTaskType
diagram
type extension of taskType
properties
base  taskType
children STDIN STDOUT STDERR ClassName Jar Arguments ClassPath
used by
element  JavaTask
attributes
Name   Type   Use   Default   Fixed   Annotation
ID   xsd:ID required        
type   xsd:string optional        

element javaTaskType/ClassName
diagram
type xsd:anyURI
properties
isRef  0
content  simple
annotation
documentation 
Either a jar or a class name

element javaTaskType/Jar
diagram
type xsd:anyURI
properties
isRef  0
content  simple
annotation
documentation 
The location of the JAR file containing the main class

element javaTaskType/Arguments
diagram
type xsd:string
properties
isRef  0
content  simple
annotation
documentation 
The arguments to use to execute the JAR file.

element javaTaskType/ClassPath
diagram
type xsd:anyURI
properties
isRef  0
content  simple

complexType logicalDatasetType
diagram
type extension of datasetType
properties
base  datasetType
children catalog datafiles
used by
element  logicalDataset
attributes
Name   Type   Use   Default   Fixed   Annotation
ID   xsd:ID required        
type   xsd:string optional        

element logicalDatasetType/catalog
diagram
type xsd:string
properties
isRef  0
content  simple

element logicalDatasetType/datafiles
diagram
type filelistType
properties
isRef  0
content  complex
children file

complexType physicalDatasetType
diagram
type extension of datasetType
properties
base  datasetType
children datafiles
used by
element  physicalDataset
attributes
Name   Type   Use   Default   Fixed   Annotation
ID   xsd:ID required        
type   xsd:string optional        

element physicalDatasetType/datafiles
diagram
type filelistType
properties
isRef  0
content  complex
children file

complexType resourceType
diagram
children MininumUnitsRequired MaximumUnitsEstimated UnitsPerSeconds AverageSizeOfUnit
used by
complexType  IOType

element resourceType/MininumUnitsRequired
diagram
type xsd:long
properties
isRef  0
content  simple
annotation
documentation 
Minimum may be used for dispatching purposes. A process will not start unless the available resource is above this minimum.

element resourceType/MaximumUnitsEstimated
diagram
type xsd:long
properties
isRef  0
content  simple
annotation
documentation 
If unspecified, there are no known upper limits. If specified, this value indicates that the job will use this value as  maximum quanta of the resource will be taken.

element resourceType/UnitsPerSeconds
diagram
type xsd:long
properties
isRef  0
content  simple
annotation
documentation 
Rate estimated by the user for his request.

element resourceType/AverageSizeOfUnit
diagram
type xsd:float
properties
isRef  0
content  simple
annotation
documentation 
In MB

complexType scriptTaskType
diagram
type extension of taskType
properties
base  taskType
children STDIN STDOUT STDERR Script Arguments
used by
element  ScriptTask
attributes
Name   Type   Use   Default   Fixed   Annotation
ID   xsd:ID required        
type   xsd:string optional        

element scriptTaskType/Script
diagram
type extension of xsd:string
properties
isRef  0
content  complex

element scriptTaskType/Arguments
diagram
type xsd:string
properties
isRef  0
content  simple

complexType taskType
diagram
children STDIN STDOUT STDERR
used by
element  Task
complexTypes  javaTaskType scriptTaskType
attributes
Name   Type   Use   Default   Fixed   Annotation
ID   xsd:ID required        
type   xsd:string optional        

element taskType/STDIN
diagram
type xsd:anyURI
properties
isRef  0
content  simple

element taskType/STDOUT
diagram
type xsd:anyURI
properties
isRef  0
content  simple

element taskType/STDERR
diagram
type xsd:anyURI
properties
isRef  0
content  simple