modspec 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- 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 +67 -57
@@ -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>>).
|