@@ -86,7 +86,10 @@ $graph:
8686
8787 Post v1.0 release changes to the spec.
8888
89- * 13 July 2016: Mark `baseCommand` as optional and update descriptive text.
89+ * 13 July 2016: Mark `baseCommand` as optional and update descriptive
90+ text.
91+ * 14 November 2016: Clarify [SoftwareRequirement](#SoftwareRequirement)
92+ `spec` fields.
9093
9194 ## Purpose
9295
@@ -746,27 +749,60 @@ $graph:
746749 fields :
747750 - name : package
748751 type : string
749- doc : " The common name of the software to be configured."
750- jsonldPredicate : " @id"
752+ doc : |
753+ The name of the software to be made available. If the name is
754+ common, inconsistent, or otherwise ambiguous it should be combined with
755+ one or more identifiers in the `specs` field.
751756 - name : version
752757 type : string[]?
753- doc : " The (optional) version of the software to configured."
758+ doc : |
759+ The (optional) versions of the software that are known to be
760+ compatible.
754761 - name : specs
755762 type : string[]?
763+ jsonldPredicate : {_type: "@id", noLinkCheck: true}
756764 doc : |
757- Must be one or more IRIs identifying resources for installing or
758- enabling the software. Implementations may provide resolvers which map
759- well-known software spec IRIs to some configuration action.
760-
761- For example, an IRI `https://packages.debian.org/jessie/bowtie` could
762- be resolved with `apt-get install bowtie`. An IRI
763- `https://anaconda.org/bioconda/bowtie` could be resolved with `conda
765+ One or more [IRI](https://en.wikipedia.org/wiki/Internationalized_Resource_Identifier)s
766+ identifying resources for installing or enabling the software named in
767+ the `package` field. Implementations may provide resolvers which map
768+ these software identifer IRIs to some configuration action; or they can
769+ use only the name from the `package` field on a best effort basis.
770+
771+ For example, the IRI https://packages.debian.org/bowtie could
772+ be resolved with `apt-get install bowtie`. The IRI
773+ https://anaconda.org/bioconda/bowtie could be resolved with `conda
764774 install -c bioconda bowtie`.
765775
766- Tools may also provide IRIs to index entries such as
767- [RRID](http://www.identifiers.org/rrid/), such as
768- `http://identifiers.org/rrid/RRID:SCR_005476`
769-
776+ IRIs can also be system independent and used to map to a specific
777+ software installation or selection mechanism.
778+ Using [RRID](https://www.identifiers.org/rrid/) as an example:
779+ https://identifiers.org/rrid/RRID:SCR_005476
780+ could be fulfilled using the above mentioned Debian or bioconda
781+ package, a local installation managed by [Environement Modules](http://modules.sourceforge.net/),
782+ or any other mechanism the platform chooses. IRIs can also be from
783+ identifer sources that are discipline specific yet still system
784+ independent. As an example, the equivalent [ELIXIR Tools and Data
785+ Service Registry](https://bio.tools) IRI to the previous RRID example is
786+ https://bio.tools/tool/bowtie2/version/2.2.8.
787+ If supported by a given registry, implementations are encouraged to
788+ query these system independent sofware identifier IRIs directly for
789+ links to packaging systems.
790+
791+ A site specific IRI can be listed as well. For example, an academic
792+ computing cluster using Environement Modules could list the IRI
793+ `https://hpc.example.edu/modules/bowtie-tbb/1.22` to indicate that
794+ `module load bowtie-tbb/1.1.2` should be executed to make available
795+ `bowtie` version 1.1.2 compiled with the TBB library prior to running
796+ the accompanying Workflow or CommandLineTool. Note that the example IRI
797+ is specific to a particular institution and computing environment as
798+ the Environment Modules system does not have a common namespace or
799+ standardized naming convention.
800+
801+ This last example is the least portable and should only be used if
802+ mechanisms based off of the `package` field or more generic IRIs are
803+ unavailable or unsuitable. While harmless to other sites, site specific
804+ software IRIs should be left out of shared CWL descriptions to avoid
805+ clutter.
770806
771807 - name : Dirent
772808 type : record
0 commit comments