@oimlsmart/primmel-packages 0.1.0

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.
Files changed (460) hide show
  1. package/AGENTS.md +60 -0
  2. package/LICENSE +21 -0
  3. package/README.md +68 -0
  4. package/acme-cgm-200/model/cgm200.prl +284 -0
  5. package/acme-cgm-200/model/r144-map.prl +337 -0
  6. package/acme-cgm-200/package.primmel +39 -0
  7. package/acme-cgm-system/model/cgm-system.prl +125 -0
  8. package/acme-cgm-system/model/r144-map.prl +75 -0
  9. package/acme-cgm-system/model/sample-line.prl +42 -0
  10. package/acme-cgm-system/package.primmel +23 -0
  11. package/acme-lc500/model/lc500.prl +218 -0
  12. package/acme-lc500/model/passport.prl +43 -0
  13. package/acme-lc500/model/r60-map.prl +161 -0
  14. package/acme-lc500/model/twin-cert-map.prl +114 -0
  15. package/acme-lc500/package.primmel +35 -0
  16. package/acme-md3xx/model/md350.prl +317 -0
  17. package/acme-md3xx/model/r129-map.prl +346 -0
  18. package/acme-md3xx/package.primmel +49 -0
  19. package/acme-rs180/model/r91-map.prl +234 -0
  20. package/acme-rs180/model/rs180.prl +236 -0
  21. package/acme-rs180/package.primmel +47 -0
  22. package/ims-demo/model/ims.prl +23 -0
  23. package/ims-demo/model/isms-map.prl +60 -0
  24. package/ims-demo/model/qms-map.prl +73 -0
  25. package/ims-demo/package.primmel +42 -0
  26. package/isms-ref/model/isms.prl +34 -0
  27. package/isms-ref/package.primmel +35 -0
  28. package/iso-iec-17000/package.primmel +8 -0
  29. package/iso-iec-17000/terminology.prl +268 -0
  30. package/iso-iec-17025/package.primmel +10 -0
  31. package/iso-iec-17025/specification/requirements/lab.prl +474 -0
  32. package/iso-iec-17025/terminology.prl +72 -0
  33. package/iso-iec-17065/package.primmel +10 -0
  34. package/iso-iec-17065/specification/requirements/body.prl +446 -0
  35. package/iso-iec-17065/terminology.prl +103 -0
  36. package/iso-iec-17067/package.primmel +10 -0
  37. package/iso-iec-17067/specification/requirements/scheme-content.prl +300 -0
  38. package/iso-iec-17067/terminology.prl +24 -0
  39. package/oiml-cs/package.primmel +10 -0
  40. package/oiml-cs/specification/discrepancies.prl +26 -0
  41. package/oiml-cs/specification/requirements/cs.prl +515 -0
  42. package/oiml-cs-dataspace/.primmel-allowlist.prl +25 -0
  43. package/oiml-cs-dataspace/package.primmel +9 -0
  44. package/oiml-cs-dataspace/specification/dataspace.prl +73 -0
  45. package/oiml-cs-dataspace/specification/policies.prl +68 -0
  46. package/oiml-integrated-ref/model/probe-pairing.prl +71 -0
  47. package/oiml-integrated-ref/package.primmel +10 -0
  48. package/oiml-r129/.primmel-allowlist.prl +2 -0
  49. package/oiml-r129/evaluation/processes.prl +152 -0
  50. package/oiml-r129/evaluation/workflow.prl +48 -0
  51. package/oiml-r129/execution/forms/admin/adjustments-modifications.prl +30 -0
  52. package/oiml-r129/execution/forms/admin/checklist.prl +70 -0
  53. package/oiml-r129/execution/forms/admin/configuration.prl +31 -0
  54. package/oiml-r129/execution/forms/admin/equipment-info.prl +27 -0
  55. package/oiml-r129/execution/forms/admin/general-info.prl +63 -0
  56. package/oiml-r129/execution/forms/admin/identification.prl +49 -0
  57. package/oiml-r129/execution/forms/admin/sample-selection.prl +30 -0
  58. package/oiml-r129/execution/forms/admin/summary-results.prl +50 -0
  59. package/oiml-r129/execution/forms/emc/bursts.prl +88 -0
  60. package/oiml-r129/execution/forms/emc/esd.prl +66 -0
  61. package/oiml-r129/execution/forms/emc/low-voltage-battery.prl +58 -0
  62. package/oiml-r129/execution/forms/emc/rf-immunity-conducted.prl +59 -0
  63. package/oiml-r129/execution/forms/emc/rf-immunity-radiated.prl +59 -0
  64. package/oiml-r129/execution/forms/emc/surge.prl +61 -0
  65. package/oiml-r129/execution/forms/emc/voltage-dips.prl +62 -0
  66. package/oiml-r129/execution/forms/emc/voltage-variation.prl +58 -0
  67. package/oiml-r129/execution/forms/env/damp-heat-cyclic.prl +43 -0
  68. package/oiml-r129/execution/forms/env/damp-heat-steady.prl +50 -0
  69. package/oiml-r129/execution/forms/env/static-temperatures.prl +61 -0
  70. package/oiml-r129/execution/forms/shared/headers.prl +86 -0
  71. package/oiml-r129/execution/forms/tests/acoustics.prl +44 -0
  72. package/oiml-r129/execution/forms/tests/ambient-light.prl +46 -0
  73. package/oiml-r129/execution/forms/tests/construction-examination.prl +46 -0
  74. package/oiml-r129/execution/forms/tests/examination-checklist.prl +51 -0
  75. package/oiml-r129/execution/forms/tests/object-shape.prl +43 -0
  76. package/oiml-r129/execution/forms/tests/orientation-position.prl +31 -0
  77. package/oiml-r129/execution/forms/tests/repeatability.prl +65 -0
  78. package/oiml-r129/execution/forms/tests/speed-movement.prl +59 -0
  79. package/oiml-r129/execution/forms/tests/surface-characteristics.prl +44 -0
  80. package/oiml-r129/execution/forms/tests/warm-up-time.prl +35 -0
  81. package/oiml-r129/execution/subforms/dimension-measurement.prl +93 -0
  82. package/oiml-r129/layers.prl +50 -0
  83. package/oiml-r129/model/attributes.prl +243 -0
  84. package/oiml-r129/model/behaviors.prl +79 -0
  85. package/oiml-r129/model/capabilities.prl +29 -0
  86. package/oiml-r129/model/characteristics.prl +8 -0
  87. package/oiml-r129/model/conditions.prl +23 -0
  88. package/oiml-r129/model/instrument.prl +67 -0
  89. package/oiml-r129/model/state.prl +22 -0
  90. package/oiml-r129/model/twin.prl +23 -0
  91. package/oiml-r129/package.primmel +15 -0
  92. package/oiml-r129/payload/application.yaml +40 -0
  93. package/oiml-r129/payload/conditions-common-test.yaml +8 -0
  94. package/oiml-r129/payload/formulas-variants.yaml +33 -0
  95. package/oiml-r129/payload/promises.yaml +102 -0
  96. package/oiml-r129/payload/sample-data.yaml +300 -0
  97. package/oiml-r129/references.prl +306 -0
  98. package/oiml-r129/sources-prd/coverage.json +59 -0
  99. package/oiml-r129/sources-prd/r129-1.sentences.json +4238 -0
  100. package/oiml-r129/sources-prd/r129-2.sentences.json +1139 -0
  101. package/oiml-r129/sources-prd/r129-3.sentences.json +3809 -0
  102. package/oiml-r129/sources-prd/r129-4.sentences.json +1227 -0
  103. package/oiml-r129/specification/calculations.prl +83 -0
  104. package/oiml-r129/specification/conformance/disturbance-tests.prl +212 -0
  105. package/oiml-r129/specification/conformance/effect-tests.prl +70 -0
  106. package/oiml-r129/specification/conformance/examinations.prl +83 -0
  107. package/oiml-r129/specification/conformance/metrological-tests.prl +178 -0
  108. package/oiml-r129/specification/formulas.prl +9 -0
  109. package/oiml-r129/specification/requirements/electronic.prl +46 -0
  110. package/oiml-r129/specification/requirements/metrological.prl +83 -0
  111. package/oiml-r129/specification/requirements/object-limitations.prl +99 -0
  112. package/oiml-r129/specification/requirements/software.prl +57 -0
  113. package/oiml-r129/specification/requirements/technical.prl +134 -0
  114. package/oiml-r129/specification/symbols.prl +187 -0
  115. package/oiml-r129/specification/tables.prl +74 -0
  116. package/oiml-r129/terminology.prl +415 -0
  117. package/oiml-r129/value-types.prl +40 -0
  118. package/oiml-r144/.primmel-allowlist.prl +2 -0
  119. package/oiml-r144/entities/instrument.prl +360 -0
  120. package/oiml-r144/entities/test-execution.prl +228 -0
  121. package/oiml-r144/entities/workflow.prl +2075 -0
  122. package/oiml-r144/evaluation/processes.prl +152 -0
  123. package/oiml-r144/evaluation/workflow.prl +48 -0
  124. package/oiml-r144/execution/forms/sec-3-report/03-01-laboratory-info.prl +19 -0
  125. package/oiml-r144/execution/forms/sec-3-report/03-02-test-location.prl +14 -0
  126. package/oiml-r144/execution/forms/sec-3-report/03-03-manufacturer-info.prl +18 -0
  127. package/oiml-r144/execution/forms/sec-3-report/03-04-applicant-info.prl +19 -0
  128. package/oiml-r144/execution/forms/sec-3-report/03-05-type-identification.prl +80 -0
  129. package/oiml-r144/execution/forms/sec-3-report/03-06-type-composition.prl +31 -0
  130. package/oiml-r144/execution/forms/sec-3-report/03-07-visual-examination.prl +46 -0
  131. package/oiml-r144/execution/forms/sec-3-report/03-08-test-conclusions.prl +46 -0
  132. package/oiml-r144/execution/forms/sec-3-report/03-09-general-conclusion.prl +19 -0
  133. package/oiml-r144/execution/forms/sec-3-report/03-10-responsible-persons.prl +27 -0
  134. package/oiml-r144/execution/forms/sec-tests/ambient-pressure-test.prl +59 -0
  135. package/oiml-r144/execution/forms/sec-tests/bursts-mains-test.prl +52 -0
  136. package/oiml-r144/execution/forms/sec-tests/bursts-signal-test.prl +55 -0
  137. package/oiml-r144/execution/forms/sec-tests/cold-test.prl +48 -0
  138. package/oiml-r144/execution/forms/sec-tests/cross-sensitivity-test.prl +92 -0
  139. package/oiml-r144/execution/forms/sec-tests/damp-heat-test.prl +50 -0
  140. package/oiml-r144/execution/forms/sec-tests/documentation-examination.prl +52 -0
  141. package/oiml-r144/execution/forms/sec-tests/drift-test.prl +83 -0
  142. package/oiml-r144/execution/forms/sec-tests/dry-heat-test.prl +53 -0
  143. package/oiml-r144/execution/forms/sec-tests/error-determination.prl +37 -0
  144. package/oiml-r144/execution/forms/sec-tests/esd-test.prl +53 -0
  145. package/oiml-r144/execution/forms/sec-tests/flow-spillover-test.prl +83 -0
  146. package/oiml-r144/execution/forms/sec-tests/leakproofness-test.prl +41 -0
  147. package/oiml-r144/execution/forms/sec-tests/low-battery-test.prl +48 -0
  148. package/oiml-r144/execution/forms/sec-tests/power-reduction-test.prl +49 -0
  149. package/oiml-r144/execution/forms/sec-tests/power-supply-test.prl +57 -0
  150. package/oiml-r144/execution/forms/sec-tests/repeatability-test.prl +60 -0
  151. package/oiml-r144/execution/forms/sec-tests/response-time-test.prl +43 -0
  152. package/oiml-r144/execution/forms/sec-tests/rf-emf-test.prl +47 -0
  153. package/oiml-r144/execution/forms/sec-tests/shock-test.prl +50 -0
  154. package/oiml-r144/execution/forms/sec-tests/surge-test.prl +52 -0
  155. package/oiml-r144/execution/forms/sec-tests/vibration-test.prl +58 -0
  156. package/oiml-r144/execution/forms/sec-tests/warm-up-time-test.prl +69 -0
  157. package/oiml-r144/execution/forms/shared/headers.prl +132 -0
  158. package/oiml-r144/execution/subforms/cgm-point.prl +99 -0
  159. package/oiml-r144/layers.prl +44 -0
  160. package/oiml-r144/model/attributes.prl +679 -0
  161. package/oiml-r144/model/behaviors.prl +117 -0
  162. package/oiml-r144/model/capabilities.prl +99 -0
  163. package/oiml-r144/model/characteristics.prl +27 -0
  164. package/oiml-r144/model/conditions.prl +46 -0
  165. package/oiml-r144/model/instrument.prl +85 -0
  166. package/oiml-r144/model/state.prl +18 -0
  167. package/oiml-r144/model/twin.prl +25 -0
  168. package/oiml-r144/package.primmel +15 -0
  169. package/oiml-r144/payload/application.yaml +80 -0
  170. package/oiml-r144/payload/attributes-pair-list.yaml +18 -0
  171. package/oiml-r144/payload/conditions-common-test.yaml +74 -0
  172. package/oiml-r144/payload/formulas-variants.yaml +32 -0
  173. package/oiml-r144/payload/promises.yaml +118 -0
  174. package/oiml-r144/payload/sample-data.yaml +643 -0
  175. package/oiml-r144/references.prl +594 -0
  176. package/oiml-r144/sources-prd/coverage.json +114 -0
  177. package/oiml-r144/sources-prd/r144-1.sentences.json +2797 -0
  178. package/oiml-r144/sources-prd/r144-2.sentences.json +1627 -0
  179. package/oiml-r144/sources-prd/r144-3.sentences.json +838 -0
  180. package/oiml-r144/specification/calculations.prl +123 -0
  181. package/oiml-r144/specification/conformance/examination.prl +87 -0
  182. package/oiml-r144/specification/conformance/performance-tests.prl +755 -0
  183. package/oiml-r144/specification/formulas.prl +37 -0
  184. package/oiml-r144/specification/reference-materials.prl +87 -0
  185. package/oiml-r144/specification/requirements/controls.prl +51 -0
  186. package/oiml-r144/specification/requirements/metrological.prl +299 -0
  187. package/oiml-r144/specification/requirements/report.prl +35 -0
  188. package/oiml-r144/specification/requirements/technical.prl +455 -0
  189. package/oiml-r144/specification/symbols.prl +357 -0
  190. package/oiml-r144/specification/tables.prl +95 -0
  191. package/oiml-r144/specification/test-point-sets.prl +15 -0
  192. package/oiml-r144/terminology.prl +308 -0
  193. package/oiml-r144/value-types.prl +49 -0
  194. package/oiml-r60/.primmel-allowlist.prl +2 -0
  195. package/oiml-r60/entities/workflow.prl +2079 -0
  196. package/oiml-r60/evaluation/processes.prl +152 -0
  197. package/oiml-r60/evaluation/workflow.prl +48 -0
  198. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-01-authority-info.prl +76 -0
  199. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-02-synopsis.prl +20 -0
  200. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-01-examinations.prl +27 -0
  201. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-02-a-performance-general.prl +81 -0
  202. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-02-b-performance-digital.prl +104 -0
  203. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-01-manufacturer.prl +21 -0
  204. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-02-applicant.prl +44 -0
  205. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-03-testing-laboratories.prl +69 -0
  206. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-05-load-cell-type-info.prl +83 -0
  207. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-06-accessories.prl +41 -0
  208. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-07-sample-selection.prl +71 -0
  209. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-01-general-info.prl +103 -0
  210. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-02-performance-info.prl +66 -0
  211. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-03-digital-info.prl +35 -0
  212. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-04-photographs.prl +12 -0
  213. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-05-documentation.prl +27 -0
  214. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-06-inscriptions.prl +126 -0
  215. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-07-model-range.prl +143 -0
  216. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-12-previous-tests.prl +26 -0
  217. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-01-force-generating-system.prl +89 -0
  218. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-02-weights.prl +61 -0
  219. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-03-temperature-chamber.prl +96 -0
  220. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-04-climate-chamber.prl +96 -0
  221. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-05-indicator.prl +92 -0
  222. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-06-terminal.prl +86 -0
  223. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-07-barometric-pressure-meter.prl +62 -0
  224. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-08-thermometer.prl +62 -0
  225. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-09-moisture-analyser.prl +62 -0
  226. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-10-additional-test-equipment.prl +69 -0
  227. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-11-remarks.prl +11 -0
  228. package/oiml-r60/execution/forms/sec-4-evaluation-report/test-usage-matrix.prl +85 -0
  229. package/oiml-r60/execution/forms/sec-5-examination/documentation-examination.prl +53 -0
  230. package/oiml-r60/execution/forms/sec-5-examination/marking-examination.prl +104 -0
  231. package/oiml-r60/execution/forms/sec-5-examination/software-examination.prl +86 -0
  232. package/oiml-r60/execution/forms/sec-5-examination/suitability-examination.prl +56 -0
  233. package/oiml-r60/execution/forms/sec-6-performance-tests/barometric-pressure.prl +176 -0
  234. package/oiml-r60/execution/forms/sec-6-performance-tests/bursts.prl +129 -0
  235. package/oiml-r60/execution/forms/sec-6-performance-tests/conducted-emc.prl +170 -0
  236. package/oiml-r60/execution/forms/sec-6-performance-tests/creep-dr.prl +327 -0
  237. package/oiml-r60/execution/forms/sec-6-performance-tests/emc-susceptibility.prl +115 -0
  238. package/oiml-r60/execution/forms/sec-6-performance-tests/esd.prl +224 -0
  239. package/oiml-r60/execution/forms/sec-6-performance-tests/humidity-ch.prl +300 -0
  240. package/oiml-r60/execution/forms/sec-6-performance-tests/humidity-sh.prl +235 -0
  241. package/oiml-r60/execution/forms/sec-6-performance-tests/initial-tests.prl +129 -0
  242. package/oiml-r60/execution/forms/sec-6-performance-tests/load-cell-errors.prl +280 -0
  243. package/oiml-r60/execution/forms/sec-6-performance-tests/load-test.prl +29 -0
  244. package/oiml-r60/execution/forms/sec-6-performance-tests/performance-test-summary.prl +82 -0
  245. package/oiml-r60/execution/forms/sec-6-performance-tests/power-voltage.prl +166 -0
  246. package/oiml-r60/execution/forms/sec-6-performance-tests/repeatability.prl +189 -0
  247. package/oiml-r60/execution/forms/sec-6-performance-tests/short-time-power.prl +98 -0
  248. package/oiml-r60/execution/forms/sec-6-performance-tests/span-stability.prl +242 -0
  249. package/oiml-r60/execution/forms/sec-6-performance-tests/surge.prl +142 -0
  250. package/oiml-r60/execution/forms/sec-6-performance-tests/temperature-mdlo.prl +180 -0
  251. package/oiml-r60/execution/forms/sec-6-performance-tests/warm-up-time.prl +207 -0
  252. package/oiml-r60/execution/forms/shared/headers.prl +255 -0
  253. package/oiml-r60/execution/subforms/load-test-row.prl +55 -0
  254. package/oiml-r60/execution/subforms/test-procedures.prl +33 -0
  255. package/oiml-r60/layers.prl +46 -0
  256. package/oiml-r60/model/attributes.prl +642 -0
  257. package/oiml-r60/model/behaviors.prl +165 -0
  258. package/oiml-r60/model/capabilities.prl +57 -0
  259. package/oiml-r60/model/characteristics.prl +27 -0
  260. package/oiml-r60/model/conditions.prl +50 -0
  261. package/oiml-r60/model/instrument.prl +96 -0
  262. package/oiml-r60/model/processes.prl +54 -0
  263. package/oiml-r60/model/state.prl +22 -0
  264. package/oiml-r60/model/twin.prl +16 -0
  265. package/oiml-r60/package.primmel +16 -0
  266. package/oiml-r60/payload/annexes-part4.yaml +122 -0
  267. package/oiml-r60/payload/application.yaml +83 -0
  268. package/oiml-r60/payload/conditions-common-test.yaml +121 -0
  269. package/oiml-r60/payload/formulas-variants.yaml +55 -0
  270. package/oiml-r60/payload/promises.yaml +224 -0
  271. package/oiml-r60/payload/sample-data.yaml +5025 -0
  272. package/oiml-r60/payload/symbols-formula-notes.yaml +21 -0
  273. package/oiml-r60/references.prl +549 -0
  274. package/oiml-r60/sources-prd/coverage.json +740 -0
  275. package/oiml-r60/sources-prd/r60-1.sentences.json +2173 -0
  276. package/oiml-r60/sources-prd/r60-2.sentences.json +2961 -0
  277. package/oiml-r60/sources-prd/r60-3.sentences.json +4212 -0
  278. package/oiml-r60/sources-prd/r60-a.sentences.json +3361 -0
  279. package/oiml-r60/specification/calculations.prl +318 -0
  280. package/oiml-r60/specification/conformance/class-specific.prl +1120 -0
  281. package/oiml-r60/specification/conformance/electronic.prl +483 -0
  282. package/oiml-r60/specification/conformance/examination.prl +183 -0
  283. package/oiml-r60/specification/conformance/metrological.prl +478 -0
  284. package/oiml-r60/specification/constraints.prl +58 -0
  285. package/oiml-r60/specification/formulas-used.prl +43 -0
  286. package/oiml-r60/specification/formulas.prl +20 -0
  287. package/oiml-r60/specification/requirements/class-specific.prl +655 -0
  288. package/oiml-r60/specification/requirements/classification.prl +114 -0
  289. package/oiml-r60/specification/requirements/electronic.prl +222 -0
  290. package/oiml-r60/specification/requirements/metrological.prl +381 -0
  291. package/oiml-r60/specification/requirements/technical.prl +146 -0
  292. package/oiml-r60/specification/symbols.prl +599 -0
  293. package/oiml-r60/specification/tables.prl +182 -0
  294. package/oiml-r60/specification/test-sequences.prl +72 -0
  295. package/oiml-r60/terminology.prl +920 -0
  296. package/oiml-r60/value-types.prl +46 -0
  297. package/oiml-r91/.primmel-allowlist.prl +3 -0
  298. package/oiml-r91/entities/instrument.prl +359 -0
  299. package/oiml-r91/entities/workflow.prl +2075 -0
  300. package/oiml-r91/evaluation/processes.prl +152 -0
  301. package/oiml-r91/evaluation/workflow.prl +48 -0
  302. package/oiml-r91/execution/forms/evidence-file.prl +41 -0
  303. package/oiml-r91/execution/forms/report-evaluation/appraisal.prl +30 -0
  304. package/oiml-r91/execution/forms/report-evaluation/checklist-summary.prl +43 -0
  305. package/oiml-r91/execution/forms/report-evaluation/checklist.prl +76 -0
  306. package/oiml-r91/execution/forms/report-evaluation/configuration-samples.prl +22 -0
  307. package/oiml-r91/execution/forms/report-evaluation/corrective-actions.prl +24 -0
  308. package/oiml-r91/execution/forms/report-evaluation/descriptions.prl +47 -0
  309. package/oiml-r91/execution/forms/report-evaluation/evaluation-identification.prl +219 -0
  310. package/oiml-r91/execution/forms/report-evaluation/test-report-summary.prl +33 -0
  311. package/oiml-r91/execution/forms/report-general/adjustments.prl +12 -0
  312. package/oiml-r91/execution/forms/report-general/alignment-aiming.prl +17 -0
  313. package/oiml-r91/execution/forms/report-general/checking-facility.prl +17 -0
  314. package/oiml-r91/execution/forms/report-general/configuration.prl +12 -0
  315. package/oiml-r91/execution/forms/report-general/identification.prl +216 -0
  316. package/oiml-r91/execution/forms/report-general/indications-controls.prl +17 -0
  317. package/oiml-r91/execution/forms/report-general/sealing.prl +21 -0
  318. package/oiml-r91/execution/forms/report-general/software-description.prl +26 -0
  319. package/oiml-r91/execution/forms/report-general/summary-environmental.prl +35 -0
  320. package/oiml-r91/execution/forms/report-general/summary-tests.prl +35 -0
  321. package/oiml-r91/execution/forms/report-general/test-equipment.prl +36 -0
  322. package/oiml-r91/execution/forms/report-general/test-interface.prl +16 -0
  323. package/oiml-r91/execution/forms/report-tests/01-01-field-test.prl +84 -0
  324. package/oiml-r91/execution/forms/report-tests/01-02-statistical-analysis.prl +76 -0
  325. package/oiml-r91/execution/forms/report-tests/01-03-image-evidence.prl +30 -0
  326. package/oiml-r91/execution/forms/report-tests/02-01-dynamic-performance.prl +92 -0
  327. package/oiml-r91/execution/forms/report-tests/02-02-speed-linearity.prl +23 -0
  328. package/oiml-r91/execution/forms/report-tests/02-03-distance-linearity.prl +67 -0
  329. package/oiml-r91/execution/forms/report-tests/02-04-angle-linearity.prl +59 -0
  330. package/oiml-r91/execution/forms/report-tests/03-01-dry-heat-operating.prl +38 -0
  331. package/oiml-r91/execution/forms/report-tests/03-02-dry-heat-storage.prl +48 -0
  332. package/oiml-r91/execution/forms/report-tests/03-03-cold-operating.prl +40 -0
  333. package/oiml-r91/execution/forms/report-tests/03-04-cold-storage.prl +48 -0
  334. package/oiml-r91/execution/forms/report-tests/03-05-damp-heat-cyclic.prl +40 -0
  335. package/oiml-r91/execution/forms/report-tests/03-06-water.prl +48 -0
  336. package/oiml-r91/execution/forms/report-tests/03-07-sand-and-dust.prl +48 -0
  337. package/oiml-r91/execution/forms/report-tests/03-08-salt-mist.prl +48 -0
  338. package/oiml-r91/execution/forms/report-tests/03-09-vibration-random.prl +40 -0
  339. package/oiml-r91/execution/forms/report-tests/03-10-mechanical-shock.prl +48 -0
  340. package/oiml-r91/execution/forms/report-tests/03-11-dc-mains-voltage-variation.prl +40 -0
  341. package/oiml-r91/execution/forms/report-tests/03-12-ripple-on-dc-mains.prl +47 -0
  342. package/oiml-r91/execution/forms/report-tests/03-13-ac-mains-voltage-variation.prl +40 -0
  343. package/oiml-r91/execution/forms/report-tests/03-14-ac-mains-frequency-variation.prl +40 -0
  344. package/oiml-r91/execution/forms/report-tests/03-15-dc-mains-voltage-dips.prl +46 -0
  345. package/oiml-r91/execution/forms/report-tests/03-16-ac-mains-voltage-dips.prl +46 -0
  346. package/oiml-r91/execution/forms/report-tests/03-17-ac-mains-frequency-harmonics.prl +47 -0
  347. package/oiml-r91/execution/forms/report-tests/03-18-vlf-lf-disturbances.prl +46 -0
  348. package/oiml-r91/execution/forms/report-tests/03-19-bursts-ac-dc-mains.prl +44 -0
  349. package/oiml-r91/execution/forms/report-tests/03-20-surges-ac-dc-mains.prl +45 -0
  350. package/oiml-r91/execution/forms/report-tests/03-21-bursts-signal-lines.prl +45 -0
  351. package/oiml-r91/execution/forms/report-tests/03-22-surges-signal-lines.prl +46 -0
  352. package/oiml-r91/execution/forms/report-tests/03-23-ac-mains-magnetic-field.prl +45 -0
  353. package/oiml-r91/execution/forms/report-tests/03-24-conducted-rf-common-mode.prl +46 -0
  354. package/oiml-r91/execution/forms/report-tests/03-25-rf-electromagnetic-fields.prl +49 -0
  355. package/oiml-r91/execution/forms/report-tests/03-26-electrostatic-discharges.prl +47 -0
  356. package/oiml-r91/execution/forms/report-tests/03-27-internal-battery-low-voltage.prl +40 -0
  357. package/oiml-r91/execution/forms/report-tests/03-28-road-vehicle-battery.prl +40 -0
  358. package/oiml-r91/execution/forms/report-tests/03-29-transient-supply-lines.prl +47 -0
  359. package/oiml-r91/execution/forms/report-tests/03-30-transient-other-lines.prl +45 -0
  360. package/oiml-r91/execution/forms/report-tests/03-31-battery-cranking.prl +45 -0
  361. package/oiml-r91/execution/forms/report-tests/03-32-load-dump.prl +47 -0
  362. package/oiml-r91/execution/forms/report-tests/03-33-acceleration.prl +66 -0
  363. package/oiml-r91/execution/forms/report-tests/03-34-further-influence.prl +60 -0
  364. package/oiml-r91/execution/forms/report-tests/03-35-installation-alignment.prl +29 -0
  365. package/oiml-r91/execution/forms/report-tests/04-01-doppler-radar.prl +43 -0
  366. package/oiml-r91/execution/forms/report-tests/04-02-range-finding.prl +42 -0
  367. package/oiml-r91/execution/forms/report-tests/04-03-average-speed.prl +41 -0
  368. package/oiml-r91/execution/forms/report-tests/04-04-fixed-distance.prl +40 -0
  369. package/oiml-r91/execution/forms/report-tests/04-05-image-based.prl +41 -0
  370. package/oiml-r91/execution/forms/report-tests/04-06-across-road.prl +42 -0
  371. package/oiml-r91/execution/forms/report-tests/05-01-moving-field-test.prl +29 -0
  372. package/oiml-r91/execution/forms/report-tests/05-02-ego-field-test.prl +57 -0
  373. package/oiml-r91/execution/forms/report-tests/05-03-moving-traffic-simulation.prl +31 -0
  374. package/oiml-r91/execution/forms/report-tests/06-01-software-general.prl +25 -0
  375. package/oiml-r91/execution/forms/report-tests/06-02-software-protection.prl +25 -0
  376. package/oiml-r91/execution/forms/report-tests/06-03-software-hardware-support.prl +24 -0
  377. package/oiml-r91/execution/forms/report-tests/06-04-software-separation.prl +25 -0
  378. package/oiml-r91/execution/forms/report-tests/06-05-software-maintenance.prl +24 -0
  379. package/oiml-r91/execution/forms/report-tests/07-general-remarks.prl +11 -0
  380. package/oiml-r91/execution/forms/shared/header-a.prl +63 -0
  381. package/oiml-r91/execution/subforms/software-matrix-row.prl +30 -0
  382. package/oiml-r91/execution/subforms/speed-measurement-row.prl +38 -0
  383. package/oiml-r91/layers.prl +46 -0
  384. package/oiml-r91/model/artifacts.prl +29 -0
  385. package/oiml-r91/model/attributes.prl +698 -0
  386. package/oiml-r91/model/behaviors.prl +142 -0
  387. package/oiml-r91/model/capabilities.prl +88 -0
  388. package/oiml-r91/model/characteristics.prl +27 -0
  389. package/oiml-r91/model/conditions.prl +37 -0
  390. package/oiml-r91/model/instrument.prl +147 -0
  391. package/oiml-r91/model/state.prl +22 -0
  392. package/oiml-r91/model/twin.prl +17 -0
  393. package/oiml-r91/package.primmel +14 -0
  394. package/oiml-r91/payload/application.yaml +201 -0
  395. package/oiml-r91/payload/conditions-common-test.yaml +19 -0
  396. package/oiml-r91/payload/promises.yaml +142 -0
  397. package/oiml-r91/payload/sample-data.yaml +464 -0
  398. package/oiml-r91/references.prl +72 -0
  399. package/oiml-r91/sources-prd/coverage.json +106 -0
  400. package/oiml-r91/sources-prd/r91-1.sentences.json +4696 -0
  401. package/oiml-r91/sources-prd/r91-2.sentences.json +2067 -0
  402. package/oiml-r91/sources-prd/r91-3.sentences.json +5210 -0
  403. package/oiml-r91/sources-prd/r91-4.sentences.json +474 -0
  404. package/oiml-r91/specification/calculations.prl +26 -0
  405. package/oiml-r91/specification/conformance/influence-disturbance.prl +1792 -0
  406. package/oiml-r91/specification/conformance/metrological.prl +906 -0
  407. package/oiml-r91/specification/formulas.prl +10 -0
  408. package/oiml-r91/specification/requirements/class-specific.prl +308 -0
  409. package/oiml-r91/specification/requirements/metrological.prl +176 -0
  410. package/oiml-r91/specification/requirements/technical.prl +173 -0
  411. package/oiml-r91/specification/symbols.prl +323 -0
  412. package/oiml-r91/specification/tables.prl +136 -0
  413. package/oiml-r91/terminology.prl +535 -0
  414. package/oiml-r91/value-types.prl +26 -0
  415. package/oiml-smart-core/entities/comments.prl +101 -0
  416. package/oiml-smart-core/entities/cs-operations.prl +492 -0
  417. package/oiml-smart-core/entities/cs-participants.prl +470 -0
  418. package/oiml-smart-core/entities/engagement.prl +323 -0
  419. package/oiml-smart-core/entities/instrument.prl +359 -0
  420. package/oiml-smart-core/entities/module-b.prl +214 -0
  421. package/oiml-smart-core/entities/operated-schemes.prl +141 -0
  422. package/oiml-smart-core/entities/parties.prl +429 -0
  423. package/oiml-smart-core/entities/payment-records.prl +92 -0
  424. package/oiml-smart-core/entities/verification.prl +187 -0
  425. package/oiml-smart-core/entities/workflow.prl +2075 -0
  426. package/oiml-smart-core/evaluation/roles.prl +65 -0
  427. package/oiml-smart-core/evaluation/state-machines.prl +1157 -0
  428. package/oiml-smart-core/package.primmel +10 -0
  429. package/oiml-smart-core/specification/competence-kinds.prl +64 -0
  430. package/oiml-smart-core/specification/constraints.prl +40 -0
  431. package/oiml-smart-core/specification/invariants.prl +90 -0
  432. package/oiml-smart-core/specification/predicates.prl +116 -0
  433. package/oiml-smart-module-emc-disturbances/package.primmel +10 -0
  434. package/oiml-smart-module-env-iec60068/package.primmel +10 -0
  435. package/oiml-smart-module-examination-docs/package.primmel +10 -0
  436. package/oiml-smart-module-reference-materials/package.primmel +10 -0
  437. package/oiml-smart-module-report-headers/package.primmel +10 -0
  438. package/oiml-smart-module-software-d31/package.primmel +10 -0
  439. package/oiml-smart-module-specimen-governance/entities/test-execution.prl +228 -0
  440. package/oiml-smart-module-specimen-governance/package.primmel +10 -0
  441. package/oiml-twin-cert/documents/tw-1/document.yaml +454 -0
  442. package/oiml-twin-cert/evaluation/roles.prl +15 -0
  443. package/oiml-twin-cert/execution/forms/probe-creep.prl +179 -0
  444. package/oiml-twin-cert/execution/forms/probe.prl +99 -0
  445. package/oiml-twin-cert/execution/forms/static-conformance.prl +50 -0
  446. package/oiml-twin-cert/model/attributes.prl +243 -0
  447. package/oiml-twin-cert/model/behaviors.prl +8 -0
  448. package/oiml-twin-cert/model/characteristics.prl +18 -0
  449. package/oiml-twin-cert/model/monitors.prl +16 -0
  450. package/oiml-twin-cert/package.primmel +16 -0
  451. package/oiml-twin-cert/specification/conformance/twin-fidelity.prl +176 -0
  452. package/oiml-twin-cert/specification/requirements/twin-fidelity.prl +137 -0
  453. package/oiml-twin-cert/specification/symbols.prl +36 -0
  454. package/oiml-twin-cert/terminology.prl +8 -0
  455. package/oimlsmart-primmel-packages-0.1.0.tgz +0 -0
  456. package/package.json +17 -0
  457. package/qms-ref/model/qms.prl +31 -0
  458. package/qms-ref/package.primmel +38 -0
  459. package/quarry-belt-scale/model/ops.prl +115 -0
  460. package/quarry-belt-scale/package.primmel +36 -0
@@ -0,0 +1,236 @@
1
+ # ─────────────────────────────────────────────────────────────────────
2
+ # ACME RS-180 — the product model (TODO.roadmap/36; doctrine ch. 15
3
+ # §15.2; the acme-lc500 pattern). *** FICTIONAL DEMO PRODUCT. *** A
4
+ # manufacturer authors their product model exactly as any subject
5
+ # model — the full IS/HAS/DOES anatomy:
6
+ # IS design parameters, the classification values stated on R 91's
7
+ # category axes (5.1–5.5) and the D 11 environment classes (6.17)
8
+ # as designed conditions, promises, the endpoint declaration,
9
+ # metadata, provenance (the type-evaluation certificate — the
10
+ # promises-as-verified provenance, §15.2);
11
+ # HAS exhibited attributes, the characteristics the standard's tests
12
+ # compute, the operational state, the serve bindings;
13
+ # DOES the emission behavior (the Doppler spectrum) and the self-test
14
+ # (the checking facility, R 91-1, 7.5).
15
+ #
16
+ # Quantity-typed design parameters carry their literal as the qualifier
17
+ # string "<value> <unit>" — the design-time vocabulary a consumer's
18
+ # abstract import validates against (§15.3 mode 1, computed by the
19
+ # platform's product-coverage gate).
20
+ #
21
+ # The product is STATIONARY-only (R 91-1, 5.1.a): no ego speed meter,
22
+ # no moving-MPE class — the A/B class dimension (6.15.1) does not apply
23
+ # and is honestly absent, not hidden.
24
+ # ─────────────────────────────────────────────────────────────────────
25
+
26
+ quantity_register si {
27
+ kind speed { dimensions { L 1 T -1 } si_unit "m/s" description "Speed of the target vehicle." }
28
+ unit kmh { symbol "km/h" label "kilometres per hour" kind speed factor 0.277778 }
29
+ kind frequency { dimensions { T -1 } si_unit "Hz" description "Frequency of the emitted microwave radiation." }
30
+ unit GHz { symbol "GHz" label "gigahertz" kind frequency factor 1000000000 }
31
+ kind power { dimensions { L 2 M 1 T -3 } si_unit "W" description "Emitted microwave power." }
32
+ unit mW { symbol "mW" label "milliwatt" kind power factor 0.001 }
33
+ kind angle { si_unit "rad" description "Beam width / measurement angle." }
34
+ unit deg { symbol "°" label "degree" kind angle factor 0.0174533 }
35
+ kind temperature { dimensions { Θ 1 } si_unit "K" description "Temperature." }
36
+ unit degC { symbol "°C" label "degree Celsius" kind temperature offset 273.15 }
37
+ kind length { dimensions { L 1 } si_unit "m" description "Distance to the target vehicle." }
38
+ unit m { symbol "m" label "metre" kind length factor 1 }
39
+ kind ratio { si_unit "1" description "Relative quantity." }
40
+ unit % { symbol "%" label "percent" kind ratio factor 0.01 }
41
+ kind dimensionless { si_unit "1" }
42
+ unit dB { symbol "dB" label "decibel" kind dimensionless }
43
+ unit dimensionless { label "dimensionless" kind dimensionless }
44
+ }
45
+
46
+ attribute_definition indication {
47
+ symbol "v"
48
+ name "Indicated speed"
49
+ definition "The indicated speed of the target vehicle — the served live reading, an integer km/h value (the product's answer to R 91-1, 6.2)."
50
+ quantity_kind speed
51
+ unit "km/h"
52
+ value_type QuantityValue
53
+ origin measured
54
+ scope sample
55
+ category metrological
56
+ }
57
+
58
+ attribute_definition high_res_speed {
59
+ symbol "v_hr"
60
+ name "High-resolution speed value"
61
+ definition "Speed value with further decimal digits, read via the test interface (the product's answer to R 91-1, 6.3 — metrologically relevant in linearity/influence/disturbance tests)."
62
+ quantity_kind speed
63
+ unit kmh
64
+ value_type QuantityValue
65
+ origin measured
66
+ scope sample
67
+ category metrological
68
+ }
69
+
70
+ attribute_definition reference_speed {
71
+ symbol "v_ref"
72
+ name "Reference speed"
73
+ definition "Reference measured speed by the reference speed meter or simulator, read from the twin's test context (R 91-3 symbols)."
74
+ quantity_kind speed
75
+ unit kmh
76
+ value_type QuantityValue
77
+ origin design-fixed
78
+ scope sample
79
+ category metrological
80
+ }
81
+
82
+ attribute_definition simulated_speed {
83
+ symbol "v_sim"
84
+ name "Simulated speed (self-check)"
85
+ definition "Simulated speed value produced by the checking facility's independent frequency source during self-check (the product's answer to R 91-1, 7.5)."
86
+ quantity_kind speed
87
+ unit kmh
88
+ value_type QuantityValue
89
+ origin measured
90
+ scope sample
91
+ category metrological
92
+ }
93
+
94
+ state_machine rs_operational {
95
+ kind operational
96
+ initial off
97
+ states { off warming ready measuring fault }
98
+ transition off -> warming action power_on
99
+ transition warming -> ready action warmed
100
+ transition ready -> measuring action start_measurement
101
+ transition measuring -> ready action stop_measurement
102
+ transition [off, warming, ready, measuring] -> fault action fault_detected
103
+ }
104
+
105
+ behavior radar_emission {
106
+ kind temporal
107
+ stimulus time
108
+ response "The emitted K-band microwave spectrum: the frequency peaks hold the specified band, drift ≤ ±0.2 % over 2 years, and the side lobes stay ≤ −20 dB below the main beam and are never used for measurement (the product's answer to R 91-1, 6.10)."
109
+ }
110
+
111
+ behavior self_test {
112
+ kind procedural
113
+ stimulus invoke
114
+ response "The instrument runs its checking facility — an independent frequency source simulating speed over the whole measurement chain from detection to display/storage (the product's answer to R 91-1, 7.5); a detected error, defect or significant fault gives an error message, inhibits further measurements and drives the operational state machine to fault (R 91-1, 6.18.4)."
115
+ }
116
+
117
+ subject RS180 {
118
+ is {
119
+ metadata {
120
+ name "RS-180 radar speed meter model"
121
+ designation "RS-180 stationary Doppler radar speed meter (K-band, tripod-mounted, manual triggering)"
122
+ }
123
+ provenance {
124
+ manufacturer "ACME Traffic Systems GmbH (FICTIONAL — demo manufacturer)"
125
+ certificate "R91/2025-DE-25-018"
126
+ type_evaluation_report "ACME-TE-2025-033"
127
+ promises_as_verified "stationary MPE over 20–180 km/h and −10…+50 °C (the certificate's content — the claims as verified, distinct from the claims as declared, §15.2)"
128
+ }
129
+ design_parameters {
130
+ v_min_range : "20 km/h"
131
+ v_max_range : "180 km/h"
132
+ f_band : "24.125 GHz"
133
+ p_radar : "10 mW"
134
+ bw_h : "12 deg"
135
+ bw_v : "6 deg"
136
+ side_lobe : "-24 dB"
137
+ freq_drift_2y : "0.1 %"
138
+ speed_res : "1 km/h"
139
+ d_max_ident : "600 m"
140
+ t_min : "-10 degC"
141
+ t_max : "50 degC"
142
+ t_smin : "-25 degC"
143
+ t_smax : "70 degC"
144
+ }
145
+ designed_conditions {
146
+ climatic_environment_class H3
147
+ mechanical_environment_class M2
148
+ electromagnetic_environment_class E2
149
+ note "The rated environment classes per OIML D 11 (R 91-1, 6.17): H3 open air moderate zones, M2 static incl. mobile, E2 AC-mains/DC-standalone supply — declared values, never re-modelled axes."
150
+ }
151
+ promises {
152
+ mpe_within {
153
+ target error_hold
154
+ level symbolic stationary-mpe
155
+ conditions ocl{self.temperature >= rated.t_min and self.temperature <= rated.t_max}
156
+ statement "Holds the stationary MPE — ±3 km/h up to and including 100 km/h, ±3 % above (R 91-1, 6.4) — across the rated operating conditions."
157
+ verified_by { oiml-r91#/req/metrological/mpe-stationary }
158
+ }
159
+ linearity_within {
160
+ target linearity_hold
161
+ level symbolic linearity-limit
162
+ statement "The high-resolution error stays within the linearity limit — ±1 km/h up to and including 100 km/h, ±1 % above (R 91-1, 6.5)."
163
+ verified_by { oiml-r91#/req/metrological/linearity-limit }
164
+ }
165
+ temp_envelope {
166
+ target error_hold
167
+ level range { min -10 max 50 unit degC }
168
+ conditions "over the rated temperature range"
169
+ statement "The rated temperature envelope spans −10…+50 °C operating, −25…+70 °C storage (R 91-1, 6.16 Table 1)."
170
+ verified_by { oiml-r91#/req/metrological/operating-conditions-minimum }
171
+ }
172
+ spectrum_holds {
173
+ target radar_emission
174
+ statement "The emitted frequency spectrum stays within the specified 24.125 GHz band (R 91-1, 6.10)."
175
+ verified_by { oiml-r91#/req/category-doppler-radar/frequency-spectrum }
176
+ }
177
+ spectrum_stable_2y {
178
+ target radar_emission
179
+ level { value 0.2 unit % }
180
+ statement "The frequency peaks drift no more than ±0.2 % within 2 years (R 91-1, 6.10); the design budget is 0.1 %."
181
+ verified_by { oiml-r91#/req/category-doppler-radar/spectrum-stability }
182
+ }
183
+ side_lobe_guard {
184
+ target radar_emission
185
+ level { value -20 unit dB }
186
+ statement "Side lobes stay below −20 dB relative to the main beam (design value −24 dB) and are never used for measurement (R 91-1, 6.10)."
187
+ verified_by { oiml-r91#/req/category-doppler-radar/side-lobe }
188
+ }
189
+ self_check_within {
190
+ target self_test
191
+ level { value 1 unit % }
192
+ statement "The self-check holds ±1 % of the simulated speed for all values (R 91-1, 7.5 — the only pure-relative, tierless error limit); it runs at every power-on and at least once per day."
193
+ verified_by { oiml-r91#/req/technical/checking-facilities }
194
+ }
195
+ fault_annunciation {
196
+ target self_test
197
+ statement "Significant faults are detected and annunciated — the instrument gives an error message, inhibits further measurements, produces no evidence file, and drives its operational state to fault (R 91-1, 6.18.4)."
198
+ verified_by { oiml-r91#/req/metrological/disturbances }
199
+ }
200
+ }
201
+ endpoint rs180_api {
202
+ operation get_indication { kind query serves { indication } payload { quantity_kind speed unit km/h timestamp true } }
203
+ operation watch_state { kind subscribe serves { state environmental_context } payload { quantity_kind state unit dimensionless timestamp true } }
204
+ operation run_self_test { kind invoke does { self_test } payload { quantity_kind diagnostic_report unit dimensionless timestamp true } }
205
+ access { public { get_indication } registered { watch_state } authority { run_self_test } }
206
+ profile rest_json
207
+ }
208
+ }
209
+ has {
210
+ attributes {
211
+ indication : speed test_dependent
212
+ high_res_speed : speed test_dependent
213
+ reference_speed : speed test_dependent
214
+ simulated_speed : speed test_dependent
215
+ }
216
+ dimensions {
217
+ mode_of_use : stationary
218
+ installation_principle : mobile
219
+ working_principle : doppler-radar
220
+ triggering : manual
221
+ cosine_compensation : along-the-road
222
+ }
223
+ characteristics {
224
+ error_hold dv = ocl{self.indication - self.reference_speed}
225
+ linearity_hold dv_hr = ocl{self.high_res_speed - self.reference_speed}
226
+ }
227
+ state rs_operational
228
+ serve sample.indication via get_indication { fresh_within 5s }
229
+ serve sample.state via watch_state { fresh_within 1s }
230
+ serve sample.environmental_context via watch_state { fresh_within 1s }
231
+ }
232
+ does {
233
+ behavior radar_emission
234
+ behavior self_test
235
+ }
236
+ }
@@ -0,0 +1,47 @@
1
+ # ─────────────────────────────────────────────────────────────────────
2
+ # ACME RS-180 — the product reference package (TODO.roadmap/36; doctrine
3
+ # ch. 15, the model supply chain; the acme-lc500 pattern applied to
4
+ # R 91 territory — the radar speed meter's half of "R 91 also needs
5
+ # simulated SMART digital twin and full model", 2026-07-28).
6
+ #
7
+ # *** FICTIONAL DEMO MANUFACTURER — NO REAL PRODUCT. ***
8
+ # "ACME Traffic Systems GmbH" is an invented company (the qms-ref/
9
+ # isms-ref/acme-lc500 demo spirit); the RS-180 is an invented reference
10
+ # Doppler radar speed meter. Every value below is plausible demo
11
+ # content, not a real instrument's data sheet.
12
+ #
13
+ # The manufacturer side of the supply chain: ACME's RS-180 radar speed
14
+ # meter model as a SUBJECT model (the oiml-rec methodology applied by
15
+ # the manufacturer — full IS/HAS/DOES anatomy), with every conformance-
16
+ # relevant aspect and promise mapped aspect-by-aspect to R 91
17
+ # (model/r91-map.prl). The mapping is the manufacturer's conformance
18
+ # claim made computable: "our v_min/v_max range is your measuring
19
+ # interval; our emission behavior answers your Doppler-radar spectrum
20
+ # requirements" (§15.2). R 91 is radar SPEED measurement (Doppler,
21
+ # 20–180 km/h per R 91-1, 6.1) — never level gauging.
22
+ #
23
+ # The package is a REFERENCE model — it states what the product is and
24
+ # claims; it is not derived from the Recommendation and composes nothing
25
+ # from it (no uses edge): the two are related by mapping only. Consumers
26
+ # use it in the §15.3 modes (abstract import version-pinned per C83;
27
+ # live integration over the declared endpoint — the sim-instruments
28
+ # twin-schema generator reads the serve declarations IN PLACE, never
29
+ # copied, via the .prl adapter).
30
+ #
31
+ # The twin-cert program's R 91 expansion (oiml-twin-cert maps_to
32
+ # oiml-r60 today) is a SEPARATE leg — not this package.
33
+ # ─────────────────────────────────────────────────────────────────────
34
+ package {
35
+ id acme-rs180
36
+ kind product_reference
37
+ manufacturer "ACME Traffic Systems GmbH (FICTIONAL — demo manufacturer)"
38
+ product "RS-180"
39
+ title "ACME RS-180 Doppler radar speed meter — product reference model (FICTIONAL demo)"
40
+ version "2025"
41
+ editions { 2025 }
42
+ status current
43
+ validity { from 2025-06-01 }
44
+ maps_to { oiml-r91 }
45
+ default_spelling eng-Latn
46
+ description "ACME's RS-180 stationary Doppler radar speed meter (20–180 km/h per R 91-1, 6.1; K-band 24.125 GHz; climatic/mechanical/electromagnetic classes H3/M2/E2 per OIML D 11) as a product reference model: the full subject anatomy, the rs180_api twin endpoint, and the aspect-by-aspect mapping to OIML R 91 — the manufacturer's conformance claim made computable (TODO.roadmap/36, doctrine ch. 15). FICTIONAL demo manufacturer, clearly marked."
47
+ }
@@ -0,0 +1,23 @@
1
+ # ─────────────────────────────────────────────────────────────────────
2
+ # ims-demo — the integrated management system's own processes
3
+ # (TODO.v2/02 VL-3; view-lens-design.md Q4).
4
+ #
5
+ # *** FICTIONAL TEACHING MODEL. *** Five invented operating processes.
6
+ # The mappings that read them against the toy references live in
7
+ # qms-map.prl / isms-map.prl (one map_profile per reference); this file
8
+ # declares only the implementation's own anatomy.
9
+ #
10
+ # PolicyAndObjectives — fulfils TWO qms-ref components (multi-target).
11
+ # InternalAudit — the SHARED process: fulfils qms-ref AND
12
+ # isms-ref ("write once, comply twice").
13
+ # RiskProcess — maps the isms-ref PARENT (inheritance).
14
+ # AccessAndIncidents — fulfils one isms-ref gateway branch.
15
+ # LogisticsOutsourcing— mapped NOWHERE on purpose: the composed
16
+ # report's uncovered-implementation row.
17
+ # ─────────────────────────────────────────────────────────────────────
18
+
19
+ process PolicyAndObjectives { name "Policy and objectives" }
20
+ process InternalAudit { name "Internal audit" }
21
+ process RiskProcess { name "Risk process" }
22
+ process AccessAndIncidents { name "Access and incidents" }
23
+ process LogisticsOutsourcing { name "Logistics outsourcing" }
@@ -0,0 +1,60 @@
1
+ # ─────────────────────────────────────────────────────────────────────
2
+ # ims-demo ⇒ isms-ref — the ISMS lens (TODO.v2/02 VL-3;
3
+ # view-lens-design.md Q4). FICTIONAL teaching content — isms-ref is a
4
+ # toy reference, no ISO/IEC 27001 content.
5
+ #
6
+ # The `isms-ref#…` declarations below are LOCAL ALIASES of the reference
7
+ # elements this model maps to (the C21 alias discipline) — a NESTED
8
+ # ALIAS FOREST so the linter's C23 fallback tree is the real reference
9
+ # shape (the gateway-parent alias re-declares `child_composition
10
+ # gateway`). Aliases are cited, never content-merged.
11
+ #
12
+ # The mapping makes the deterministic ISMS table: RiskProcess maps the
13
+ # RiskManagement PARENT — both children covered by INHERITANCE (full,
14
+ # inheritedFrom RiskManagement) and two INHERITED proposals fire; the
15
+ # treatment child additionally carries its own direct pair from the
16
+ # SHARED InternalAudit process (a direct pair wins over the inherited
17
+ # cover). One IsmsOperation branch fulfilled ⇒ the gateway parent
18
+ # aggregates to minimal, the other branch stays none. Result: full 4 /
19
+ # minimal 1 / none 1 (+2 inherited proposals) — pinned by the coverage
20
+ # block (C23 tripwires; coverage is COMPUTED, never authored).
21
+ # ─────────────────────────────────────────────────────────────────────
22
+
23
+ process isms-ref#RiskManagement {
24
+ name "alias: isms-ref Risk management"
25
+ process isms-ref#RiskAssessment { name "alias: isms-ref Risk assessment" }
26
+ process isms-ref#RiskTreatment { name "alias: isms-ref Risk treatment" }
27
+ }
28
+
29
+ process isms-ref#IsmsOperation {
30
+ name "alias: isms-ref ISMS operation"
31
+ child_composition gateway
32
+ process isms-ref#AccessControl { name "alias: isms-ref Access control" }
33
+ process isms-ref#IncidentResponse { name "alias: isms-ref Incident response" }
34
+ }
35
+
36
+ map_profile isms-ref {
37
+ description "The IMS read against the toy ISMS reference: the integrated risk process fulfils the whole risk-management subtree (inheritance), the SHARED internal audit directly fulfils risk treatment (write once, comply twice), and the access-and-incidents operation fulfils one gateway branch."
38
+ mapping {
39
+ InternalAudit -> isms-ref#RiskTreatment {
40
+ description "Audit findings raise risk-treatment actions and follow them up."
41
+ justification "The same audit programme that drives QMS corrective action also tracks the ISMS risk-treatment plan — write once, comply twice."
42
+ }
43
+ RiskProcess -> isms-ref#RiskManagement {
44
+ description "The IMS's single risk process runs the whole ISMS risk-management cycle."
45
+ justification "One integrated risk process performs assessment and treatment as sub-activities, so the pair is asserted at the parent and covers the subprocess tree by inheritance."
46
+ }
47
+ AccessAndIncidents -> isms-ref#AccessControl {
48
+ description "The access-and-incidents operation enforces access control day to day."
49
+ justification "The operation administers access rights and reviews them on the ISMS schedule."
50
+ }
51
+ }
52
+ coverage {
53
+ isms-ref#RiskManagement full
54
+ isms-ref#RiskAssessment full
55
+ isms-ref#RiskTreatment full
56
+ isms-ref#IsmsOperation minimal
57
+ isms-ref#AccessControl full
58
+ isms-ref#IncidentResponse none
59
+ }
60
+ }
@@ -0,0 +1,73 @@
1
+ # ─────────────────────────────────────────────────────────────────────
2
+ # ims-demo ⇒ qms-ref — the QMS lens (TODO.v2/02 VL-3;
3
+ # view-lens-design.md Q4). FICTIONAL teaching content — qms-ref is a
4
+ # toy reference, no ISO 9001 content.
5
+ #
6
+ # The `qms-ref#…` declarations below are LOCAL ALIASES of the reference
7
+ # elements this model maps to (the C21 alias discipline, the
8
+ # acme-lc500/quarry-belt-scale precedent) — declared as a NESTED ALIAS
9
+ # FOREST so the linter's C23 fallback tree is the real reference shape
10
+ # (an alias of a gateway parent re-declares `child_composition
11
+ # gateway`). Aliases are cited, never content-merged.
12
+ #
13
+ # The mapping makes the deterministic QMS table: both PlanQms children
14
+ # fulfilled by ONE multi-target source ⇒ PlanQms aggregates to full and
15
+ # a CLOSURE proposal fires; one ImproveQms branch fulfilled ⇒ the
16
+ # gateway parent aggregates to minimal, the other branch stays none.
17
+ # Result: full 4 / minimal 1 / none 1 (+1 closure proposal) — pinned by
18
+ # the coverage block (C23 tripwires; coverage is COMPUTED, the block
19
+ # only asserts what the calculus already proves).
20
+ # ─────────────────────────────────────────────────────────────────────
21
+
22
+ process qms-ref#PlanQms {
23
+ name "alias: qms-ref Plan the QMS"
24
+ process qms-ref#QualityPolicy { name "alias: qms-ref Quality policy" }
25
+ process qms-ref#QualityObjectives { name "alias: qms-ref Quality objectives" }
26
+ }
27
+
28
+ process qms-ref#ImproveQms {
29
+ name "alias: qms-ref Improve the QMS"
30
+ child_composition gateway
31
+ process qms-ref#CorrectiveAction { name "alias: qms-ref Corrective action" }
32
+ process qms-ref#ContinualImprovement { name "alias: qms-ref Continual improvement" }
33
+ }
34
+
35
+ map_profile qms-ref {
36
+ description "The IMS read against the toy QMS reference: the integrated policy process fulfils both planning children (multi-target), the shared internal audit fulfils one improvement branch — the auditor-facing half of the two-reference demonstration."
37
+ mapping {
38
+ PolicyAndObjectives -> qms-ref#QualityPolicy {
39
+ description "The IMS's single policy process issues and maintains the quality policy."
40
+ justification "One integrated policy process is operated for the whole management system; the quality policy is one of its standing outputs."
41
+ }
42
+ PolicyAndObjectives -> qms-ref#QualityObjectives {
43
+ description "The same policy process cascades the quality objectives and reviews them."
44
+ justification "Objectives are set, tracked and reviewed inside the one integrated policy-and-objectives cycle."
45
+ }
46
+ InternalAudit -> qms-ref#CorrectiveAction {
47
+ description "Audit findings open corrective actions and track them to closure."
48
+ justification "The integrated audit programme is the trigger and the tracking mechanism the QMS corrective-action process requires."
49
+ }
50
+ }
51
+ coverage {
52
+ qms-ref#PlanQms full
53
+ qms-ref#QualityPolicy full
54
+ qms-ref#QualityObjectives full
55
+ qms-ref#ImproveQms minimal
56
+ qms-ref#CorrectiveAction full
57
+ qms-ref#ContinualImprovement none
58
+ }
59
+ }
60
+
61
+ # The role-scoped sub-lens (the kernel applyView second filter). READ-
62
+ # ONLY: a view selects implementation voices, it never edits the
63
+ # mapping (C26). Roles are DISPLAY-ONLY metadata — rendered as badges,
64
+ # never gated (controller decision 1). NOTE the bracketed roles
65
+ # spelling: `roles [qms-manager]` — the kernel's list tokenizer strips
66
+ # the wrapping characters unconditionally, so the bare spelling
67
+ # `roles qms-manager` would silently mis-tokenize (the VL-1 quirk).
68
+ view_profile QmsLeadership {
69
+ description "The QMS leadership lens: only the policy-and-objectives and internal-audit voices are audible; the rest of the IMS is filtered out."
70
+ roles [qms-manager]
71
+ visible { PolicyAndObjectives InternalAudit }
72
+ against qms-ref
73
+ }
@@ -0,0 +1,42 @@
1
+ # ─────────────────────────────────────────────────────────────────────
2
+ # ims-demo — a FICTIONAL integrated management system (IMS) and the
3
+ # worked example of multi-reference mapping (TODO.v2/02 VL-3, feeding
4
+ # TODO.v2/03; the analysis view-lens-design.md Q4 skeleton).
5
+ #
6
+ # *** FICTIONAL TEACHING MODEL. *** One small organization runs five
7
+ # invented operating processes and reads them against TWO toy reference
8
+ # models — qms-ref and isms-ref (themselves fictional, no ISO content)
9
+ # — via one map_profile per reference. The mapping design is enumerated
10
+ # so every calculus rule fires deterministically (the per-reference
11
+ # tables: QMS full 4 / minimal 1 / none 1 + 1 closure proposal; ISMS
12
+ # full 4 / minimal 1 / none 1 + 2 inherited proposals):
13
+ #
14
+ # PolicyAndObjectives — fulfils TWO QMS components (multi-target).
15
+ # InternalAudit — the SHARED process: fulfils qms-ref AND
16
+ # isms-ref — "write once, comply twice" made
17
+ # visible (the composed report's shared source).
18
+ # RiskProcess — maps the isms-ref PARENT (inheritance down).
19
+ # AccessAndIncidents — fulfils one ISMS branch (gateway minimum).
20
+ # LogisticsOutsourcing— mapped NOWHERE: the deliberately unmapped
21
+ # element feeding the composed report's
22
+ # uncovered-implementation row.
23
+ #
24
+ # The package IMPORTS NOTHING (no uses): the two references are related
25
+ # to this implementation by MAPPING only — a map_profile namespace is
26
+ # never an import (C24). Package kind: NONE declared — reference and
27
+ # implementation are ROLES at the ends of a mapping chain, not manifest
28
+ # kinds (view-lens-design.md Q4; the quarry-belt-scale precedent).
29
+ #
30
+ # Authored-native: PRL is the only source form (excluded by name in
31
+ # browser/scripts/ssot-guard.ts AUTHORED_NATIVE; guarded by
32
+ # `primmel check` via the from-packages proof). Never generated into
33
+ # the data trees.
34
+ # ─────────────────────────────────────────────────────────────────────
35
+ package {
36
+ id ims-demo
37
+ title "Toy integrated management system (fictional) — the multi-reference mapping worked example"
38
+ version "1.0.0"
39
+ editions { 1.0.0 }
40
+ default_spelling eng-Latn
41
+ description "A tiny FICTIONAL integrated management system: five invented processes read against the two toy references qms-ref and isms-ref through one map_profile each, plus one role-scoped view_profile. The deterministic worked example for the view/lens calculus and the multi-reference composition fold (TODO.v2/02 VL-3, view-lens-design.md Q4; feeds TODO.v2/03)."
42
+ }
@@ -0,0 +1,34 @@
1
+ # ─────────────────────────────────────────────────────────────────────
2
+ # isms-ref — the toy ISMS process tree (TODO.v2/02 VL-3;
3
+ # view-lens-design.md Q4).
4
+ #
5
+ # *** FICTIONAL TEACHING MODEL — NO ISO/IEC 27001 CONTENT. *** These
6
+ # are invented processes, not clauses of any real standard.
7
+ #
8
+ # The tree is deliberately the smallest shape that exercises every
9
+ # calculus rule when ims-demo maps into it:
10
+ #
11
+ # RiskManagement — a SERIAL parent and the INHERITANCE target: ims-demo
12
+ # maps the PARENT, so both children are covered by
13
+ # downward inheritance (full, inheritedFrom
14
+ # RiskManagement) and INHERITED proposals fire for
15
+ # both descendants. One child additionally carries its
16
+ # own direct pair — a direct pair wins over the
17
+ # inherited cover.
18
+ # IsmsOperation — a GATEWAY parent: one child mapped-full, the other
19
+ # untouched ⇒ the parent aggregates to MINIMAL and the
20
+ # untouched child stays NONE (the visible ISMS gap).
21
+ # ─────────────────────────────────────────────────────────────────────
22
+
23
+ process RiskManagement {
24
+ name "Risk management"
25
+ process RiskAssessment { name "Risk assessment" }
26
+ process RiskTreatment { name "Risk treatment" }
27
+ }
28
+
29
+ process IsmsOperation {
30
+ name "ISMS operation"
31
+ child_composition gateway
32
+ process AccessControl { name "Access control" }
33
+ process IncidentResponse { name "Incident response" }
34
+ }
@@ -0,0 +1,35 @@
1
+ # ─────────────────────────────────────────────────────────────────────
2
+ # isms-ref — a FICTIONAL toy information-security-management-system
3
+ # reference model (TODO.v2/02 VL-3; the analysis view-lens-design.md Q4
4
+ # worked example).
5
+ #
6
+ # *** FICTIONAL TEACHING MODEL — NO ISO/IEC 27001 CONTENT. ***
7
+ # This package is a tiny invented process tree that merely EXERCISES the
8
+ # coverage calculus (downward inheritance from a mapped parent, the
9
+ # gateway minimum, inherited-pair discovery). It is not, and does not
10
+ # derive from, ISO/IEC 27001 or any other real management-system
11
+ # standard (controller decision 2: toy references — licensing and
12
+ # maintenance both avoided; the calculus mechanics are what's being
13
+ # proven). Any resemblance to a real standard's clause structure is
14
+ # coincidental and unintentional.
15
+ #
16
+ # Package kind: NONE declared (absent = the ordinary default) — per the
17
+ # design (view-lens-design.md Q4), "reference" and "implementation" are
18
+ # ROLES at the ends of a mapping chain, not manifest kinds (the
19
+ # quarry-belt-scale precedent; none of core/module/rec/
20
+ # product_reference/certification_program applies to fictional teaching
21
+ # content).
22
+ #
23
+ # Authored-native: PRL is the only source form (excluded by name in
24
+ # browser/scripts/ssot-guard.ts AUTHORED_NATIVE; guarded by
25
+ # `primmel check` via the from-packages proof). Never generated into
26
+ # the data trees.
27
+ # ─────────────────────────────────────────────────────────────────────
28
+ package {
29
+ id isms-ref
30
+ title "Toy ISMS reference model (fictional — teaching model for the view/lens calculus)"
31
+ version "2026"
32
+ editions { 2026 }
33
+ default_spelling eng-Latn
34
+ description "A tiny FICTIONAL information-security-management-system reference tree (no ISO/IEC 27001 content): one serial parent (the inheritance target) and one gateway parent with two children each — just enough structure for the coverage calculus to inherit downward, apply the gateway minimum, and propose inherited pairs. The reference end of the ims-demo ⇒ isms-ref lens (TODO.v2/02, view-lens-design.md Q4)."
35
+ }
@@ -0,0 +1,8 @@
1
+ package {
2
+ id iso-iec-17000
3
+ kind core
4
+ title "OIML SMART iso-iec-17000 layer package"
5
+ description "ISO/IEC 17000:2020 reference package — the CASCO conformity-assessment vocabulary (clause-referenced terms) and the functional-approach activity taxonomy as a register of classifiable activity kinds (selection, determination + testing/inspection/audit/validation/verification/peer assessment, review, decision, attestation + declaration/certification/ accreditation, surveillance + suspension/withdrawal/expiry/restoration/ appeal/complaint). The resolution register for the activity_kind facet on abstract processes. Composed into each Recommendation via `uses: [iso-iec-17000]` ahead of oiml-cs."
6
+ provides { iso-iec-17000 ca-terminology-17000 }
7
+ default_spelling eng-Latn
8
+ }