Skip to content

Commit

Permalink
SEP 019 tweaked best practices for Associations and Usages of role
Browse files Browse the repository at this point in the history
design.
  • Loading branch information
nroehner committed Dec 12, 2017
1 parent c599784 commit f5ebc93
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions sep_019.md
Expand Up @@ -102,14 +102,14 @@ Provenance semantics are somewhat different from the versioning semantics define


### 2.4 Tentative Validation Rules <a name="validation_rules"></a> ### 2.4 Tentative Validation Rules <a name="validation_rules"></a>


A design-build-test-learn process typically generates new SBOL objects in the order of one or more `ModuleDefinitions` and/or `ComponentDefinitions`, followed by one or more `Implementations`, followed by one or more `Collections` of `Attachments`, followed by one or more `Models`. This order of operations (among others) is compatible with the following best-practice validation rules: A design-build-test-learn process would typically generate new SBOL objects in the order of one or more `ModuleDefinitions` and/or `ComponentDefinitions`, followed by one or more `Implementations`, followed by one or more `Collections` of `Attachments`, followed by one or more `Models`. This order of operations (among others) is compatible with the following best-practice validation rules:


* An `Activity` that contains an `Association` of role "design" SHOULD be referred to by the `wasGeneratedBy` property of at least one `ModuleDefinition` or `ComponentDefinition`. If this `Activity` contains one or more `Usage` objects, then at least one of them SHOULD be of role "learn" or "design". * An `Activity` that contains an `Association` of role "design" SHOULD be referred to by the `wasGeneratedBy` property of at least one `ModuleDefinition`, `ComponentDefinition`, or `Sequence`. If this `Activity` contains one or more `Usage` objects, then at least one of them SHOULD be of role "learn" or "design".
* An `Activity`that contains an `Association` of role "build" SHOULD be referred to by the `wasGeneratedBy` property of at least one `Implementation`. If this `Activity` contains one or more `Usage` objects, then at least one of them SHOULD be of role "design" or "build". * An `Activity`that contains an `Association` of role "build" SHOULD be referred to by the `wasGeneratedBy` property of at least one `Implementation`. If this `Activity` contains one or more `Usage` objects, then at least one of them SHOULD be of role "design" or "build".
* An `Activity`that contains an `Association` of role "test" SHOULD be referred to by the `wasGeneratedBy` property of at least one `Collection` of `Attachment` objects. If this `Activity` contains one or more `Usage` objects, then at least one of them SHOULD be of role "build". * An `Activity`that contains an `Association` of role "test" SHOULD be referred to by the `wasGeneratedBy` property of at least one `Collection` of `Attachment` objects. If this `Activity` contains one or more `Usage` objects, then at least one of them SHOULD be of role "build".
* An `Activity` that contains an `Association` of role "learn" SHOULD be referred to by the `wasGeneratedBy` property of at least one `Model`, `Collection` of `Attachment` objects, `ModuleDefinition`, `ComponentDefinition`, or `Sequence`. If this `Activity` contains one or more `Usage` objects, then at least one of them SHOULD be of role "test". * An `Activity` that contains an `Association` of role "learn" SHOULD be referred to by the `wasGeneratedBy` property of at least one `Model`, `Collection` of `Attachment` objects, `ModuleDefinition`, `ComponentDefinition`, or `Sequence`. If this `Activity` contains one or more `Usage` objects, then at least one of them SHOULD be of role "test".


* A `Usage` of role "design" SHOULD refer to a `ModuleDefinition` or `ComponentDefinition`. * A `Usage` of role "design" SHOULD refer to a `ModuleDefinition`, `ComponentDefinition`, or `Sequence`.
* A `Usage` of role "build" SHOULD refer to an `Implementation`. * A `Usage` of role "build" SHOULD refer to an `Implementation`.
* A `Usage` of role "test" SHOULD refer to a `Collection` of `Attachment` objects. * A `Usage` of role "test" SHOULD refer to a `Collection` of `Attachment` objects.
* A `Usage` of role "learn" SHOULD refer to a `Model`. * A `Usage` of role "learn" SHOULD refer to a `Model`.
Expand Down

0 comments on commit f5ebc93

Please sign in to comment.