modspec 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +2 -0
- data/.rubocop_todo.yml +118 -0
- data/Gemfile +4 -2
- data/README.adoc +508 -17
- data/lib/modspec/conformance_class.rb +39 -10
- data/lib/modspec/conformance_test.rb +40 -13
- data/lib/modspec/identifier.rb +5 -3
- data/lib/modspec/normative_statement.rb +49 -14
- data/lib/modspec/normative_statements_class.rb +39 -12
- data/lib/modspec/suite.rb +242 -5
- data/lib/modspec/version.rb +1 -1
- data/lib/modspec.rb +14 -4
- data/modspec.gemspec +8 -14
- data/spec/conformance_class.liquid +98 -0
- data/spec/fixtures/advanced-cc.yaml +52 -0
- data/spec/fixtures/advanced-json-cc.yaml +24 -0
- data/spec/fixtures/advanced-json-rc.yaml +16 -0
- data/spec/fixtures/advanced-rc.yaml +43 -0
- data/spec/fixtures/basic-quaternion-cc.yaml +44 -0
- data/spec/fixtures/basic-quaternion-json-cc.yaml +24 -0
- data/spec/fixtures/basic-quaternion-json-rc.yaml +17 -0
- data/spec/fixtures/basic-quaternion-json-strict-cc.yaml +22 -0
- data/spec/fixtures/basic-quaternion-json-strict-rc.yaml +19 -0
- data/spec/fixtures/basic-quaternion-rc.yaml +34 -0
- data/spec/fixtures/basic-ypr-cc.yaml +39 -0
- data/spec/fixtures/basic-ypr-json-cc.yaml +23 -0
- data/spec/fixtures/basic-ypr-json-rc.yaml +21 -0
- data/spec/fixtures/basic-ypr-rc.yaml +32 -0
- data/spec/fixtures/chain-cc.yaml +50 -0
- data/spec/fixtures/chain-json-cc.yaml +24 -0
- data/spec/fixtures/chain-json-rc.yaml +20 -0
- data/spec/fixtures/chain-rc.yaml +36 -0
- data/spec/fixtures/frame-spec-cc.yaml +43 -0
- data/spec/fixtures/frame-spec-rc.yaml +27 -0
- data/spec/fixtures/global-cc.yaml +38 -0
- data/spec/fixtures/global-rc.yaml +23 -0
- data/spec/fixtures/graph-cc.yaml +48 -0
- data/spec/fixtures/graph-json-cc.yaml +24 -0
- data/spec/fixtures/graph-json-rc.yaml +20 -0
- data/spec/fixtures/graph-rc.yaml +38 -0
- data/spec/fixtures/series-irregular-cc.yaml +58 -0
- data/spec/fixtures/series-irregular-json-cc.yaml +24 -0
- data/spec/fixtures/series-irregular-json-rc.yaml +20 -0
- data/spec/fixtures/series-irregular-rc.yaml +41 -0
- data/spec/fixtures/series-regular-cc.yaml +63 -0
- data/spec/fixtures/series-regular-json-cc.yaml +24 -0
- data/spec/fixtures/series-regular-json-rc.yaml +20 -0
- data/spec/fixtures/series-regular-rc.yaml +46 -0
- data/spec/fixtures/stream-cc.yaml +49 -0
- data/spec/fixtures/stream-json-cc.yaml +48 -0
- data/spec/fixtures/stream-json-rc.yaml +32 -0
- data/spec/fixtures/stream-rc.yaml +36 -0
- data/spec/fixtures/tangent-point-cc.yaml +43 -0
- data/spec/fixtures/tangent-point-rc.yaml +38 -0
- data/spec/fixtures/time-cc.yaml +32 -0
- data/spec/fixtures/time-rc.yaml +20 -0
- data/spec/modspec/conformance_class_spec.rb +154 -0
- data/spec/modspec/conformance_test_spec.rb +76 -0
- data/spec/modspec/normative_statement_spec.rb +81 -0
- data/spec/modspec/normative_statements_class_spec.rb +61 -0
- data/spec/modspec/suite_spec.rb +109 -0
- data/spec/modspec_spec.rb +25 -0
- data/spec/requirements_class.liquid +93 -0
- data/spec/spec_helper.rb +16 -0
- metadata +71 -61
@@ -0,0 +1,43 @@
|
|
1
|
+
---
|
2
|
+
conformance_classes:
|
3
|
+
- name: Frame specification requirements
|
4
|
+
identifier: /conf/frame-spec
|
5
|
+
target:
|
6
|
+
- /req/frame-spec
|
7
|
+
classification: "Target Type: SDU"
|
8
|
+
description: Conformance with frame specification requirements
|
9
|
+
|
10
|
+
tests:
|
11
|
+
- name: Verify frame specification authority uniquely specifies source of reference frame specification
|
12
|
+
identifier: /conf/frame-spec/authority
|
13
|
+
targets:
|
14
|
+
- /req/frame-spec/authority
|
15
|
+
description: |
|
16
|
+
To confirm the correct properties of a Frame Specification Authority.
|
17
|
+
purpose: |
|
18
|
+
To confirm that a FrameSpecification.authority attribute contains a string
|
19
|
+
uniquely specifying a source of reference frame specifications.
|
20
|
+
method: Inspection
|
21
|
+
|
22
|
+
- name: Frame specification ID uniquely defines frame within authority
|
23
|
+
identifier: /conf/frame-spec/id
|
24
|
+
targets:
|
25
|
+
- /req/frame-spec/id
|
26
|
+
description: |
|
27
|
+
To confirm the correct properties of a Frame Specification ID.
|
28
|
+
purpose: |
|
29
|
+
To confirm that a FrameSpecification.id attribute contains a string
|
30
|
+
uniquely specifying the identity of a reference frame specification as
|
31
|
+
defined by that authority.
|
32
|
+
method: Inspection
|
33
|
+
|
34
|
+
- name: Frame specification parameter contains all parameters needed
|
35
|
+
identifier: /conf/frame-spec/parameters
|
36
|
+
targets:
|
37
|
+
- /req/frame-spec/parameters
|
38
|
+
description: |
|
39
|
+
To confirm the correct properties of Frame Specification Parameters.
|
40
|
+
purpose: |
|
41
|
+
To confirm that a FrameSpecification.parameters attribute contains contain
|
42
|
+
all parameters needed for the corresponding authority and ID.
|
43
|
+
method: Inspection
|
@@ -0,0 +1,27 @@
|
|
1
|
+
---
|
2
|
+
normative_statements_classes:
|
3
|
+
- name: Frame specification requirements
|
4
|
+
identifier: /req/frame-spec
|
5
|
+
description: |
|
6
|
+
Common frame specification requirements for SDUs that include frames.
|
7
|
+
normative_statements:
|
8
|
+
|
9
|
+
- name: Frame specification authority uniquely specifies source of reference frame specification
|
10
|
+
identifier: /req/frame-spec/authority
|
11
|
+
statement: |
|
12
|
+
The FrameSpecification.authority attribute SHALL contain a string uniquely
|
13
|
+
specifying a source of reference frame specifications.
|
14
|
+
|
15
|
+
- name: Frame specification ID uniquely defines frame within authority
|
16
|
+
identifier: /req/frame-spec/id
|
17
|
+
statement: |
|
18
|
+
The FrameSpecification.ID attribute SHALL be a string uniquely defining a
|
19
|
+
frame within the authority.
|
20
|
+
|
21
|
+
- name: Frame specification parameter contains all parameters needed
|
22
|
+
identifier: /req/frame-spec/parameters
|
23
|
+
statement: |
|
24
|
+
The FrameSpecification.parameter attribute SHALL contain all parameters
|
25
|
+
needed for the corresponding authority and ID.
|
26
|
+
guidance:
|
27
|
+
- The definition of these parameters is outside the scope of GeoPose.
|
@@ -0,0 +1,38 @@
|
|
1
|
+
---
|
2
|
+
conformance_classes:
|
3
|
+
- name: Global SDU conformance
|
4
|
+
identifier: /conf/global
|
5
|
+
target:
|
6
|
+
- /req/global
|
7
|
+
classification: "Target Type: SDU"
|
8
|
+
description: Conformance with global SDU requirements
|
9
|
+
|
10
|
+
tests:
|
11
|
+
- name: Verify individual standardization targets are independent
|
12
|
+
identifier: /conf/global/target-independence
|
13
|
+
targets:
|
14
|
+
- /req/global/target-independence
|
15
|
+
purpose: Verify standardization targets are independent.
|
16
|
+
method: Inspection
|
17
|
+
|
18
|
+
- name: Verify implementation conforms to the logical model
|
19
|
+
identifier: /conf/global/logical-model
|
20
|
+
targets:
|
21
|
+
- /req/global/logical-model
|
22
|
+
description: |
|
23
|
+
Implementations of concrete data conforming to this standard SHALL
|
24
|
+
conform to all dependent or inherited classes, attributes, and
|
25
|
+
associations, multiplicities, and data types in the Logical Model.
|
26
|
+
purpose: Verify implementation conforms to the logical model.
|
27
|
+
method: Inspection
|
28
|
+
|
29
|
+
- name: Verify SDU conforms to the "Structural Data Unit - SDU" stereotype
|
30
|
+
identifier: /conf/global/sdu
|
31
|
+
targets:
|
32
|
+
- /req/global/sdu
|
33
|
+
description: |
|
34
|
+
Implementations using encoded SDUs SHALL conform to the logical
|
35
|
+
description of the Logical Model elements with the "Structural Data Unit
|
36
|
+
- SDU" stereotype.
|
37
|
+
purpose: Verify SDU conforms to the "Structural Data Unit - SDU" stereotype.
|
38
|
+
method: Inspection
|
@@ -0,0 +1,23 @@
|
|
1
|
+
---
|
2
|
+
normative_statements_classes:
|
3
|
+
- name: Global SDU requirements
|
4
|
+
identifier: /req/global
|
5
|
+
description: Global requirements apply to all SDUs and Standardization Targets.
|
6
|
+
normative_statements:
|
7
|
+
- name: Individual standardization targets are independent
|
8
|
+
identifier: /req/global/target-independence
|
9
|
+
statement: |
|
10
|
+
There shall be no dependency between or among the individual
|
11
|
+
Standardization Targets.
|
12
|
+
- name: Implementation conforms to the logical model
|
13
|
+
identifier: /req/global/logical-model
|
14
|
+
statement: |
|
15
|
+
Implementations of concrete data conforming to this standard SHALL
|
16
|
+
conform to all dependent or inherited classes, attributes, and
|
17
|
+
associations, multiplicities, and data types in the Logical Model.
|
18
|
+
- name: SDU conforms to the "Structural Data Unit - SDU" stereotype
|
19
|
+
identifier: /req/global/sdu
|
20
|
+
statement: |
|
21
|
+
Implementations using encoded SDUs SHALL conform to the logical
|
22
|
+
description of the Logical Model elements with the
|
23
|
+
"Structural Data Unit - SDU" stereotype.
|
@@ -0,0 +1,48 @@
|
|
1
|
+
---
|
2
|
+
conformance_classes:
|
3
|
+
- name: Graph logical model SDU conformance
|
4
|
+
identifier: /conf/graph
|
5
|
+
target:
|
6
|
+
- /req/graph
|
7
|
+
classification: "Target Type: SDU"
|
8
|
+
description: To confirm that an implementation of the GeoPose Graph conforms to the Logical Model.
|
9
|
+
dependencies:
|
10
|
+
- /conf/global
|
11
|
+
- /conf/frame-spec
|
12
|
+
|
13
|
+
tests:
|
14
|
+
- name: Verify expression of valid time as GeoPose_Instant
|
15
|
+
identifier: /conf/graph/valid-time
|
16
|
+
targets:
|
17
|
+
- /req/graph/valid-time
|
18
|
+
dependencies:
|
19
|
+
- /conf/time/instant
|
20
|
+
description: |
|
21
|
+
To confirm the correct properties of a GeoPose_Instant.
|
22
|
+
purpose: |
|
23
|
+
Confirm that the `Graph.validTime` attribute is represented by a
|
24
|
+
`GeoPose_Instant` object.
|
25
|
+
method: Inspection
|
26
|
+
|
27
|
+
- name: Verify list of frame specifications
|
28
|
+
identifier: /conf/graph/frame-list
|
29
|
+
targets:
|
30
|
+
- /req/graph/frame-list
|
31
|
+
description: |
|
32
|
+
To confirm that an implementation of an Graph SDU contains a list of
|
33
|
+
explicit frame specifications as `ExplicitFrameSpec` objects.
|
34
|
+
purpose: |
|
35
|
+
Verify that this requirement is satisfied.
|
36
|
+
method: Inspection
|
37
|
+
|
38
|
+
- name: Verify transforms for frame specification list
|
39
|
+
identifier: /conf/graph/transform-list
|
40
|
+
targets:
|
41
|
+
- /req/graph/transform-list
|
42
|
+
description: |
|
43
|
+
To confirm that each index value in a FrameListTransformPair is a distinct
|
44
|
+
integer value between 0 and one less than the number of elements in the
|
45
|
+
frameList property.
|
46
|
+
purpose: |
|
47
|
+
To confirm that an implementation of Graph Index conforms to the Logical Model.
|
48
|
+
method: Inspection
|
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
conformance_classes:
|
3
|
+
- name: JSON encoding of Graph SDU
|
4
|
+
identifier: /conf/graph-encoding-json
|
5
|
+
target:
|
6
|
+
- /req/graph-encoding-json
|
7
|
+
classification: "Target Type: JSON SDU"
|
8
|
+
description: |
|
9
|
+
Confirm that a JSON-encoded GeoPose Graph conforms to the
|
10
|
+
relevant elements of the Logical Model and a corresponding JSON-Schema
|
11
|
+
document.
|
12
|
+
|
13
|
+
tests:
|
14
|
+
- name: Verify conformance via JSON schema
|
15
|
+
identifier: /conf/graph-encoding-json/definition
|
16
|
+
targets:
|
17
|
+
- /req/graph-encoding-json/definition
|
18
|
+
description: |
|
19
|
+
To confirm that a GeoPose Graph in JSON validates against the JSON schema.
|
20
|
+
purpose: |
|
21
|
+
Verify that data validates against the corresponding JSON schema.
|
22
|
+
method: |
|
23
|
+
Validate the JSON data against the GeoPose Graph JSON-Schema 2019-9
|
24
|
+
definition (<<graph_json_schema>>).
|
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
normative_statements_classes:
|
3
|
+
- name: JSON encoding of Graph SDU
|
4
|
+
identifier: /req/graph-encoding-json
|
5
|
+
description: |
|
6
|
+
Requirements for the JSON encoding of a Graph SDU.
|
7
|
+
implements:
|
8
|
+
- /req/graph
|
9
|
+
|
10
|
+
normative_statements:
|
11
|
+
|
12
|
+
- name: Specification as JSON schema
|
13
|
+
identifier: /req/graph-encoding-json/definition
|
14
|
+
statement: |
|
15
|
+
A JSON-encoded GeoPose Graph SHALL conform to the GeoPose Chain
|
16
|
+
JSON-Schema 2019-9 definition (<<graph_json_schema>>).
|
17
|
+
guidance:
|
18
|
+
- |
|
19
|
+
This JSON encoding is extensible because the JSON-Schema
|
20
|
+
"additionalProperties" property is set to the default value of *true*.
|
@@ -0,0 +1,38 @@
|
|
1
|
+
---
|
2
|
+
normative_statements_classes:
|
3
|
+
- name: Graph logical model SDU
|
4
|
+
identifier: /req/graph
|
5
|
+
description: |
|
6
|
+
The Graph Target supports a network of object relative poses. The graph is a
|
7
|
+
directed acyclic graph, each node must either be an Extrinsic Frame or
|
8
|
+
reachable from an Extrinsic Frame.
|
9
|
+
|
10
|
+
dependencies:
|
11
|
+
- /req/global
|
12
|
+
- /req/frame-spec
|
13
|
+
- /req/time
|
14
|
+
|
15
|
+
normative_statements:
|
16
|
+
|
17
|
+
- name: Expression of valid time as GeoPose_Instant
|
18
|
+
identifier: /req/graph/valid-time
|
19
|
+
dependencies:
|
20
|
+
- /req/time/instant
|
21
|
+
statement: |
|
22
|
+
The `Graph.validTime` attribute shall be represented by a
|
23
|
+
`GeoPose_Instant` object.
|
24
|
+
|
25
|
+
- name: List of frame specifications
|
26
|
+
identifier: /req/graph/frame-list
|
27
|
+
statement: |
|
28
|
+
The `Graph.frameList` attribute shall represent a list of explicit
|
29
|
+
frame specifications with an array of `ExplicitFrameSpec` objects.
|
30
|
+
|
31
|
+
- name: Transforms for frame specification list
|
32
|
+
identifier: /req/graph/transform-list
|
33
|
+
statement: |
|
34
|
+
The `Graph.transformList` attribute shall have a value of type
|
35
|
+
`FrameTransformIndexPair`.
|
36
|
+
Each index value in a `FrameListTransformPair` SHALL be a distinct integer
|
37
|
+
value between 0 and one less than the number of elements in the
|
38
|
+
`frameList` property.
|
@@ -0,0 +1,58 @@
|
|
1
|
+
---
|
2
|
+
conformance_classes:
|
3
|
+
- name: Irregular_Series logical model SDU conformance
|
4
|
+
identifier: /conf/series-irregular
|
5
|
+
target:
|
6
|
+
- /req/series-irregular
|
7
|
+
classification: "Target Type: SDU"
|
8
|
+
description: To confirm that components of a Irregular_Series conform to the Logical Model.
|
9
|
+
dependencies:
|
10
|
+
- /conf/global
|
11
|
+
- /conf/frame-spec
|
12
|
+
- /conf/time
|
13
|
+
|
14
|
+
tests:
|
15
|
+
|
16
|
+
- name: Verify expression of inner frames and time series
|
17
|
+
identifier: /conf/series-irregular/inner-frame-and-time
|
18
|
+
targets:
|
19
|
+
- /req/series-irregular/inner-frame-and-time
|
20
|
+
dependencies:
|
21
|
+
- /conf/time/instant
|
22
|
+
description: |
|
23
|
+
Confirm that the `Irregular_Series.innerFrameAndTime` attribute is
|
24
|
+
implemented as an array of `FrameAndTimeElement` objects, each of which is
|
25
|
+
a pair of `ExplicitFrameSpec` and `GeoPoseInstant` objects.
|
26
|
+
purpose: |
|
27
|
+
To confirm that the `innerFrameAndTime` attribute values are implemented
|
28
|
+
in accordance with the Logical Model.
|
29
|
+
|
30
|
+
- name: Verify expression of outer frame
|
31
|
+
identifier: /conf/series-irregular/outer-frame
|
32
|
+
targets:
|
33
|
+
- /req/series-irregular/outer-frame
|
34
|
+
purpose: |
|
35
|
+
The `Irregular_Series.outerFrame` attribute shall represent the first
|
36
|
+
frame in the series expressed by the `innerFrameAndTime` attribute.
|
37
|
+
|
38
|
+
- name: Verify expression of series header
|
39
|
+
identifier: /conf/series-irregular/header
|
40
|
+
targets:
|
41
|
+
- /req/series-irregular/header
|
42
|
+
description: |
|
43
|
+
Verify that the `Irregular_Series.header` attribute is implemented as an
|
44
|
+
instance of SeriesHeader.
|
45
|
+
purpose: |
|
46
|
+
To confirm that the implementation of Series Header conforms to the
|
47
|
+
Logical Model.
|
48
|
+
|
49
|
+
- name: Verify expression of series trailer
|
50
|
+
identifier: /conf/series-irregular/trailer
|
51
|
+
targets:
|
52
|
+
- /req/series-irregular/trailer
|
53
|
+
description: |
|
54
|
+
Verify that the `Irregular_Series.trailer` attribute is implemented as an
|
55
|
+
instance of SeriesTrailer.
|
56
|
+
purpose: |
|
57
|
+
To confirm that the implementation of SeriesTrailer conforms to the
|
58
|
+
Logical Model.
|
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
conformance_classes:
|
3
|
+
- name: JSON encoding of Irregular Series SDU
|
4
|
+
identifier: /conf/series-irregular-encoding-json
|
5
|
+
target:
|
6
|
+
- /req/series-irregular-encoding-json
|
7
|
+
classification: "Target Type: JSON SDU"
|
8
|
+
description: |
|
9
|
+
Confirm that a JSON-encoded GeoPose Irregular Series conforms to the
|
10
|
+
relevant elements of the Logical Model and a corresponding JSON-Schema
|
11
|
+
document.
|
12
|
+
|
13
|
+
tests:
|
14
|
+
- name: Verify conformance via JSON schema
|
15
|
+
identifier: /conf/series-irregular-encoding-json/definition
|
16
|
+
targets:
|
17
|
+
- /req/series-irregular-encoding-json/definition
|
18
|
+
description: |
|
19
|
+
To confirm that a GeoPose Irregular Series in JSON validates against the JSON schema.
|
20
|
+
purpose: |
|
21
|
+
Verify that data validates against the corresponding JSON schema.
|
22
|
+
method: |
|
23
|
+
Validate the JSON data against the GeoPose Irregular Series JSON-Schema 2019-9
|
24
|
+
definition (<<irregular_series_json_schema>>).
|
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
normative_statements_classes:
|
3
|
+
- name: JSON encoding of Irregular Series SDU
|
4
|
+
identifier: /req/series-irregular-encoding-json
|
5
|
+
description: |
|
6
|
+
Requirements for the JSON encoding of a Irregular Series SDU.
|
7
|
+
implements:
|
8
|
+
- /req/series-irregular
|
9
|
+
|
10
|
+
normative_statements:
|
11
|
+
|
12
|
+
- name: Specification as JSON schema
|
13
|
+
identifier: /req/series-irregular-encoding-json/definition
|
14
|
+
statement: |
|
15
|
+
A JSON-encoded GeoPose Irregular Series SHALL conform to the GeoPose Chain
|
16
|
+
JSON-Schema 2019-9 definition (<<irregular_series_json_schema>>).
|
17
|
+
guidance:
|
18
|
+
- |
|
19
|
+
This JSON encoding is extensible because the JSON-Schema
|
20
|
+
"additionalProperties" property is set to the default value of *true*.
|
@@ -0,0 +1,41 @@
|
|
1
|
+
---
|
2
|
+
normative_statements_classes:
|
3
|
+
- name: Irregular_Series logical model SDU
|
4
|
+
identifier: /req/series-irregular
|
5
|
+
description: |
|
6
|
+
The Irregular_Series Target represents the time evolution of a single
|
7
|
+
GeoPose, with a variable time duration between successive inner frames.
|
8
|
+
|
9
|
+
dependencies:
|
10
|
+
- /req/global
|
11
|
+
- /req/frame-spec
|
12
|
+
- /req/time
|
13
|
+
|
14
|
+
normative_statements:
|
15
|
+
|
16
|
+
- name: Expression of inner frames and time series
|
17
|
+
identifier: /req/series-irregular/inner-frame-and-time
|
18
|
+
dependencies:
|
19
|
+
- /req/time/instant
|
20
|
+
statement: |
|
21
|
+
The `Irregular_Series.innerFrameAndTime` attribute SHALL be implemented as
|
22
|
+
an array of `FrameAndTimeElement` objects, each of which is a pair of
|
23
|
+
`ExplicitFrameSpec` and `GeoPoseInstant` objects.
|
24
|
+
|
25
|
+
- name: Expression of outer frame
|
26
|
+
identifier: /req/series-irregular/outer-frame
|
27
|
+
statement: |
|
28
|
+
The `Irregular_Series.outerFrame` attribute shall represent the first
|
29
|
+
frame in the series expressed by the `innerFrameAndTime` attribute.
|
30
|
+
|
31
|
+
- name: Expression of series header
|
32
|
+
identifier: /req/series-irregular/header
|
33
|
+
statement: |
|
34
|
+
The `Irregular_Series.header` attribute shall be implemented as an instance
|
35
|
+
of SeriesHeader.
|
36
|
+
|
37
|
+
- name: Expression of series trailer
|
38
|
+
identifier: /req/series-irregular/trailer
|
39
|
+
statement: |
|
40
|
+
The `Irregular_Series.trailer` attribute shall be implemented as an instance
|
41
|
+
of SeriesTrailer.
|
@@ -0,0 +1,63 @@
|
|
1
|
+
---
|
2
|
+
conformance_classes:
|
3
|
+
- name: Regular_Series logical model SDU conformance
|
4
|
+
identifier: /conf/series-regular
|
5
|
+
target:
|
6
|
+
- /req/series-regular
|
7
|
+
classification: "Target Type: SDU"
|
8
|
+
description: To confirm that components of a Regular Series conform to the Logical Model.
|
9
|
+
dependencies:
|
10
|
+
- /conf/global
|
11
|
+
- /conf/frame-spec
|
12
|
+
- /conf/time
|
13
|
+
|
14
|
+
tests:
|
15
|
+
|
16
|
+
- name: Verify expression of duration as GeoPose_Duration
|
17
|
+
identifier: /conf/series-regular/duration
|
18
|
+
targets:
|
19
|
+
- /req/series-regular/duration
|
20
|
+
dependencies:
|
21
|
+
- /conf/time/duration
|
22
|
+
description: |
|
23
|
+
To confirm that the `Regular_Series.interPoseDuration` attribute is
|
24
|
+
represented by an instance of the `GeoPose_Duration` object.
|
25
|
+
purpose: To confirm the correct properties of a GeoPose Duration.
|
26
|
+
|
27
|
+
- name: Verify expression of outer frame
|
28
|
+
identifier: /conf/series-regular/outer-frame
|
29
|
+
targets:
|
30
|
+
- /req/series-regular/outer-frame
|
31
|
+
purpose: |
|
32
|
+
The `Regular_Series.outerFrame` attribute shall represent the first frame
|
33
|
+
in the series with the `ExplicitFrameSpec` object.
|
34
|
+
|
35
|
+
- name: Verify expression of inner frames
|
36
|
+
identifier: /conf/series-regular/inner-frame-series
|
37
|
+
targets:
|
38
|
+
- /req/series-regular/inner-frame-series
|
39
|
+
purpose: |
|
40
|
+
The `Regular_Series.innerFrameSeries` attribute shall represent the
|
41
|
+
succession of inner frames as an array of `ExplicitFrameSpec` objects.
|
42
|
+
|
43
|
+
- name: Verify expression of series header
|
44
|
+
identifier: /conf/series-regular/header
|
45
|
+
targets:
|
46
|
+
- /req/series-regular/header
|
47
|
+
description: |
|
48
|
+
Verify that the `Regular_Series.header` attribute is implemented as an
|
49
|
+
instance of SeriesHeader.
|
50
|
+
purpose: |
|
51
|
+
To confirm that the implementation of Series Header conforms to the
|
52
|
+
Logical Model.
|
53
|
+
|
54
|
+
- name: Verify expression of series trailer
|
55
|
+
identifier: /conf/series-regular/trailer
|
56
|
+
targets:
|
57
|
+
- /req/series-regular/trailer
|
58
|
+
description: |
|
59
|
+
Verify that the `Regular_Series.trailer` attribute is implemented as an
|
60
|
+
instance of SeriesTrailer.
|
61
|
+
purpose: |
|
62
|
+
To confirm that the implementation of SeriesTrailer conforms to the
|
63
|
+
Logical Model.
|
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
conformance_classes:
|
3
|
+
- name: JSON encoding of Regular Series SDU
|
4
|
+
identifier: /conf/series-regular-encoding-json
|
5
|
+
target:
|
6
|
+
- /req/series-regular-encoding-json
|
7
|
+
classification: "Target Type: JSON SDU"
|
8
|
+
description: |
|
9
|
+
Confirm that a JSON-encoded GeoPose Regular Series conforms to the
|
10
|
+
relevant elements of the Logical Model and a corresponding JSON-Schema
|
11
|
+
document.
|
12
|
+
|
13
|
+
tests:
|
14
|
+
- name: Verify conformance via JSON schema
|
15
|
+
identifier: /conf/series-regular-encoding-json/definition
|
16
|
+
targets:
|
17
|
+
- /req/series-regular-encoding-json/definition
|
18
|
+
description: |
|
19
|
+
To confirm that a GeoPose Regular Series in JSON validates against the JSON schema.
|
20
|
+
purpose: |
|
21
|
+
Verify that data validates against the corresponding JSON schema.
|
22
|
+
method: |
|
23
|
+
Validate the JSON data against the GeoPose Regular Series JSON-Schema 2019-9
|
24
|
+
definition (<<regular_series_json_schema>>).
|
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
normative_statements_classes:
|
3
|
+
- name: JSON encoding of Regular Series SDU
|
4
|
+
identifier: /req/series-regular-encoding-json
|
5
|
+
description: |
|
6
|
+
Requirements for the JSON encoding of a Regular Series SDU.
|
7
|
+
implements:
|
8
|
+
- /req/series-regular
|
9
|
+
|
10
|
+
normative_statements:
|
11
|
+
|
12
|
+
- name: Specification as JSON schema
|
13
|
+
identifier: /req/series-regular-encoding-json/definition
|
14
|
+
statement: |
|
15
|
+
A JSON-encoded GeoPose Regular Series SHALL conform to the GeoPose Chain
|
16
|
+
JSON-Schema 2019-9 definition (<<regular_series_json_schema>>).
|
17
|
+
guidance:
|
18
|
+
- |
|
19
|
+
This JSON encoding is extensible because the JSON-Schema
|
20
|
+
"additionalProperties" property is set to the default value of *true*.
|
@@ -0,0 +1,46 @@
|
|
1
|
+
---
|
2
|
+
normative_statements_classes:
|
3
|
+
- name: Regular_Series logical model SDU
|
4
|
+
identifier: /req/series-regular
|
5
|
+
description: |
|
6
|
+
The Regular_Series Target represents the time evolution of a single GeoPose,
|
7
|
+
with a constant time duration between successive inner frames.
|
8
|
+
|
9
|
+
dependencies:
|
10
|
+
- /req/global
|
11
|
+
- /req/frame-spec
|
12
|
+
- /req/time
|
13
|
+
|
14
|
+
normative_statements:
|
15
|
+
|
16
|
+
- name: Expression of duration as GeoPose_Duration
|
17
|
+
identifier: /req/series-regular/duration
|
18
|
+
dependencies:
|
19
|
+
- /req/time/duration
|
20
|
+
statement: |
|
21
|
+
The `Regular_Series.interPoseDuration` attribute shall be represented by
|
22
|
+
an instance of the `GeoPose_Duration` object.
|
23
|
+
|
24
|
+
- name: Expression of outer frame
|
25
|
+
identifier: /req/series-regular/outer-frame
|
26
|
+
statement: |
|
27
|
+
The `Regular_Series.outerFrame` attribute shall represent the first frame
|
28
|
+
in the series with the `ExplicitFrameSpec` object.
|
29
|
+
|
30
|
+
- name: Expression of inner frames
|
31
|
+
identifier: /req/series-regular/inner-frame-series
|
32
|
+
statement: |
|
33
|
+
The `Regular_Series.innerFrameSeries` attribute shall represent the
|
34
|
+
succession of inner frames as an array of `ExplicitFrameSpec` objects.
|
35
|
+
|
36
|
+
- name: Expression of series header
|
37
|
+
identifier: /req/series-regular/header
|
38
|
+
statement: |
|
39
|
+
The `Regular_Series.header` attribute shall be implemented as an instance
|
40
|
+
of SeriesHeader.
|
41
|
+
|
42
|
+
- name: Expression of series trailer
|
43
|
+
identifier: /req/series-regular/trailer
|
44
|
+
statement: |
|
45
|
+
The `Regular_Series.trailer` attribute shall be implemented as an instance
|
46
|
+
of SeriesTrailer.
|
@@ -0,0 +1,49 @@
|
|
1
|
+
---
|
2
|
+
conformance_classes:
|
3
|
+
- name: StreamHeader and StreamElement logical model SDUs conformance
|
4
|
+
identifier: /conf/stream
|
5
|
+
target:
|
6
|
+
- /req/stream
|
7
|
+
classification: "Target Type: SDU"
|
8
|
+
description: To confirm that an implementation of the GeoPose Stream SDUs conforms to the Logical Model.
|
9
|
+
dependencies:
|
10
|
+
- /conf/global
|
11
|
+
- /conf/frame-spec
|
12
|
+
|
13
|
+
tests:
|
14
|
+
|
15
|
+
- name: Verify outer frame in StreamHeader
|
16
|
+
identifier: /conf/stream/header-initial-frame
|
17
|
+
targets:
|
18
|
+
- /req/stream/header-initial-frame
|
19
|
+
description: |
|
20
|
+
To confirm the correct specification of the `StreamHeader.outerFrame`.
|
21
|
+
purpose: |
|
22
|
+
To confirm the initial frame is specified as an instance of the
|
23
|
+
`ExplicitFrameSpec` object.
|
24
|
+
method: Inspection
|
25
|
+
|
26
|
+
- name: Verify transition model in StreamHeader
|
27
|
+
identifier: /conf/stream/header-transition-model
|
28
|
+
targets:
|
29
|
+
- /req/stream/header-transition-model
|
30
|
+
description: |
|
31
|
+
To confirm the correct specification of the `StreamHeader.transitionModel`.
|
32
|
+
purpose: |
|
33
|
+
To confirm the `transitionModel` is specified as an instance of the
|
34
|
+
`TransitionModel` enumeration.
|
35
|
+
method: Inspection
|
36
|
+
|
37
|
+
- name: Verify stream elements in StreamElement
|
38
|
+
identifier: /conf/stream/element
|
39
|
+
targets:
|
40
|
+
- /req/stream/element
|
41
|
+
dependencies:
|
42
|
+
- /conf/time/instant
|
43
|
+
description: |
|
44
|
+
To confirm the correct specification of the `StreamElement`.
|
45
|
+
purpose: |
|
46
|
+
To confirm the StreamElement is implemented as an array of
|
47
|
+
`FrameAndTimeElement` objects, each of which is a pair of
|
48
|
+
`ExplicitFrameSpec` and `GeoPoseInstant` objects.
|
49
|
+
method: Inspection
|
@@ -0,0 +1,48 @@
|
|
1
|
+
---
|
2
|
+
conformance_classes:
|
3
|
+
- name: JSON encoding of Stream SDUs
|
4
|
+
identifier: /conf/stream-encoding-json
|
5
|
+
target:
|
6
|
+
- /req/stream-encoding-json
|
7
|
+
classification: "Target Type: JSON SDU"
|
8
|
+
description: |
|
9
|
+
Confirm that a JSON-encoded GeoPose Stream conforms to the
|
10
|
+
relevant elements of the Logical Model and a corresponding JSON-Schema
|
11
|
+
document.
|
12
|
+
|
13
|
+
tests:
|
14
|
+
- name: Verify Stream Element conformance to JSON schema
|
15
|
+
identifier: /conf/stream-encoding-json/element
|
16
|
+
targets:
|
17
|
+
- /req/stream-encoding-json/element
|
18
|
+
description: |
|
19
|
+
To confirm that a GeoPose Stream Element in JSON validates against the JSON schema.
|
20
|
+
purpose: |
|
21
|
+
Verify JSON data conforms to the JSON schema.
|
22
|
+
method: |
|
23
|
+
Validate the JSON data against the GeoPose Stream Element
|
24
|
+
JSON-Schema 2019-9 definition (<<streamelement_json_schema>>).
|
25
|
+
|
26
|
+
- name: Verify Stream Header conformance to JSON schema
|
27
|
+
identifier: /conf/stream-encoding-json/header
|
28
|
+
targets:
|
29
|
+
- /req/stream-encoding-json/header
|
30
|
+
description: |
|
31
|
+
To confirm that a GeoPose Stream Header in JSON validates against the JSON schema.
|
32
|
+
purpose: |
|
33
|
+
Verify JSON data conforms to the JSON schema.
|
34
|
+
method: |
|
35
|
+
Validate the JSON data against the GeoPose Stream Header
|
36
|
+
JSON-Schema 2019-9 definition (<<streamheader_json_schema>>).
|
37
|
+
|
38
|
+
- name: Verify Stream Record conformance to JSON schema
|
39
|
+
identifier: /conf/stream-encoding-json/record
|
40
|
+
targets:
|
41
|
+
- /req/stream-encoding-json/record
|
42
|
+
description: |
|
43
|
+
To confirm that a GeoPose Stream Record in JSON validates against the JSON schema.
|
44
|
+
purpose: |
|
45
|
+
Verify JSON data conforms to the JSON schema.
|
46
|
+
method: |
|
47
|
+
Validate the JSON data against the GeoPose Stream Record
|
48
|
+
JSON-Schema 2019-9 definition (<<streamrecord_json_schema>>).
|