
47) check JSDL compliance - TODO CHRIS/ANDRE, URGENT Graeme sent today the message included below, which addresses these issues. As the saga attribute names have been coined before JSDL was finalized, it is not surprising that names deviate. I propose to update the names to reflect the JSDL names (they are well chosen I think). Also, SAGA supports a number of attributes, which have no equivalent in JSDL: * SAGA_JobState -> NOT SUPPORTED * SAGA_JobInteractive -> NOT SUPPORTED * SAGA_JobContact[] -> NOT SUPPORTED * SAGA_JobNotification -> NOT SUPPORTED * SAGA_JobNative -> NOT SUPPORTED * SAGA_WallclockSoftLimit -> NOT SUPPORTED * SAGA_JobStartTime -> NOT SUPPORTED * SAGA_Deadline -> NOT SUPPORTED * SAGA_Queue -> NOT SUPPORTED I am positive that we have use cases for specifying queue and contact information. I am not so sure about the others. Unless someone objects, I would propose to remove those attributes which have no JSDL equivalent, and we have no explicit use cases for. OTOH, Graeme points out that some JSDL attributes are unsupported: * JSDL_Description -> jsdl:Description * JSDL_JobAnnotation -> jsdl:JobAnnotation * JSDL_JobProject -> jsdl:JobProject * JSDL_DeleteOnTermination -> jsdl:DeleteOnTermination Again, I think we have no use cases for those, so I think they should be left out. Summary: We have following options: (A) leave stuff as is, and map in the implementation (B) update naming to reflect JSDL, and introduce the respective enums (C) remove attribs w/o JSDL pendant, unless we have an explicit use case I vote vor (B) and (C). Cheers, Andre. Quoting [Graeme Pound] (Apr 20 2006):
Andre,
I saw that SAGA JSDL compliance was an issue on your issue list.
Here are the mappings that I am using between JobDefinition attributes and JSDL elements. I am using these mappings to provide a SAGA compliant interface to the GridSAM service for the OMII.
This doc is a little old. The 'SAGA_*' attributes have now lost this prefix. The 'JSDL_' prefix indicates that an attribute is specific to the implementation and is not part of the SAGA spec.
Graeme
/** * A simple builder for a JSDL document. * * This utility produces JSDL documents based upon JSDL Specification (version 1.0, draft 28). * <pre> * ##jsdl:Application -> jsdl-posix:POSIXApplication * SAGA_JobCmd -> jsdl-posix:Executable * SAGA_JobArgs[] -> jsdl-posix:Argument * SAGA_JobEnv[] -> jsdl-posix:Environment * SAGA_JobCwd -> jsdl-posix:WorkingDirectory * SAGA_JobStdin -> jsdl-posix:Input * SAGA_JobStdout -> jsdl-posix:Output * SAGA_JobStderr -> jsdl-posix:Error * SAGA_WallclockHardLimit -> jsdl-posix:WallTimeLimit * SAGA_Cputime -> jsdl-posix:CPUTimeLimit * * ##jsdl:DataStaging * SAGA_FileTransfer[] -> Maps to operations in jsdl:DataStaging * JSDL_DeleteOnTermination -> jsdl:DeleteOnTermination * * ##jsdl:Resources * SAGA_NumCpus -> jsdl:TotalCPUCount * SAGA_Memory -> jsdl:TotalPhysicalMemory * SAGA_ProcessorType -> jsdl:CPUArchitecture * [of enumeration jsdl:ProcessorArchitectureEnumeration or other] sparc A SPARC architecture processor powerpc A PowerPC architecture processor x86 An Intel Architecture processor derived from the 8086 chip set x86_32 An x86 processor capable of 32-bit processing mode x86_64 An x86 processor capable of 64-bit processing mode parisc A PARISC architecture processor mips A MIPS architecture processor ia64 An Intel Architecture 64-bit processor arm An ARM processor other A value not defined by this enumeration * SAGA_OperatingSystem -> jsdl:OperatingSystemType * [of enumeration jsdl:OperatingSystemTypeEnumeration or other] Unknown other Not_Applicable AIX ASERIES ATTUNIX BeOS BS2000 BSDUNIX Caldera_Open_UNIX DC_OS DECNT Dedicated DGUX EPOC FreeBSD GNU_Hurd HP_MPE HPUX Inferno Interactive_UNIX IxWorks JavaVM LINUX Lynx MACH_Kernel MACOS MiNT MSDOS MVS NCR3000 NetBSD NetWare NextStep OpenBSD OpenVMS OS_2 OS_390 OS400 OS9 OSF PalmPilot QNX Reliant_UNIX Rhapsody SCO_OpenServer SCO_UnixWare Sequent Solaris SunOS TandemNSK TandemNT TPF Tru64_UNIX U6000 VM VSE VxWorks WIN3x WIN95 WIN98 WINCE Windows_2000 Windows_R_Me Windows_XP WINNT XENIX z_OS
* SAGA_HostList[] -> jsdl:CandidateHosts * * ##jsdl:JobIdentification * SAGA_JobName -> jsdl:JobName * JSDL_Description -> jsdl:Description * JSDL_JobAnnotation -> jsdl:JobAnnotation * JSDL_JobProject -> jsdl:JobProject * * SAGA_JobState -> NOT SUPPORTED * SAGA_JobInteractive -> NOT SUPPORTED * SAGA_JobContact[] -> NOT SUPPORTED * SAGA_JobNotification -> NOT SUPPORTED * SAGA_JobNative -> NOT SUPPORTED * SAGA_WallclockSoftLimit -> NOT SUPPORTED * SAGA_JobStartTime -> NOT SUPPORTED * SAGA_Deadline -> NOT SUPPORTED * SAGA_Queue -> NOT SUPPORTED * </pre> */
-- "So much time, so little to do..." -- Garfield