@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,68 @@
1
+ policy public-register {
2
+ name "Public register"
3
+ description "The public tier of the access-tier doctrine (TODO.adoption/10): the registered certificate and the per-serial instrument register are public by design — the BIML registers and publishes OIML certificates (B 18:2025 §10.1) and the registered copy is the scheme's source of truth for validity, verifiable by anyone (§15.8). Reading needs no standing; publication happens by the scheme's registration act, never by the parties."
4
+ default_posture true
5
+ governs { certificate instrument-registration }
6
+ rule anyone-reads {
7
+ kind permission
8
+ action read
9
+ }
10
+ rule publish-registered-copy {
11
+ kind obligation
12
+ action publish
13
+ artifact certificate
14
+ constraint "ocl{registration.state = #registered}"
15
+ }
16
+ ref derives-from "urn:oiml:pub:b:18:2025#clause-10.1"
17
+ ref derives-from "urn:oiml:pub:b:18:2025#clause-15.8"
18
+ corresponds w3c-odrl "Policy"
19
+ }
20
+
21
+ policy restricted-utilizer-recognition {
22
+ name "Restricted exchange for national recognition"
23
+ description "The restricted tier: the evaluation report's full content moves to a Utilizer or Associate for the national-recognition purpose — the certificate owner provides the original, or a certified copy, of the complete report with the associated test reports on the authority's request (PD-06 4.3). The receiving authority consults the Issuing Authority when questions arise and justifies a non-acceptance in writing to the Issuing Authority, the manufacturer and the Executive Secretary (PD-06 4.8); partial quotation of the report is not permitted (PD-06 4.5). The requester's Utilizer/Associate standing is the scheme's record (the signed Declaration — B 18:2025 §5.6, PD-08; admission per PD-09): the connector evaluates the declared requester against that registry at the negotiation (the class constraint AND the standing constraint both bind — a lapsed or absent standing refuses with the reason named)."
24
+ default_posture true
25
+ governs { evaluation-report }
26
+ rule read-for-recognition {
27
+ kind permission
28
+ action read
29
+ artifact evaluation-report
30
+ constraint "ocl{requester.participant_class = #utilizer or requester.participant_class = #associate}"
31
+ constraint "ocl{requester.standing = #registered}"
32
+ }
33
+ rule no-redistribution {
34
+ kind prohibition
35
+ action redistribute
36
+ }
37
+ rule report-non-acceptance {
38
+ kind obligation
39
+ action report
40
+ constraint "ocl{acceptance = #not_accepted}"
41
+ }
42
+ ref derives-from "urn:oiml:pub:cs:pd-06:2024#clause-4.3"
43
+ ref derives-from "urn:oiml:pub:cs:pd-06:2024#clause-4.5"
44
+ ref derives-from "urn:oiml:pub:cs:pd-06:2024#clause-4.8"
45
+ ref derives-from "urn:oiml:pub:cs:pd-09:2025"
46
+ corresponds w3c-odrl "Policy"
47
+ }
48
+
49
+ policy working-data {
50
+ name "Parties' working data"
51
+ description "The working tier: the evaluation's working records — the test reports and the evidence streams — stay within the case's parties (the applicant, the Issuing Authority, the designated Test Laboratories) and are delivered to the applicant with the certificate on issuance (PD-05 §4.6.6); disclosure beyond the case's parties is prohibited. This is the dataspace's DEFAULT posture: an artifact class without its own tier inherits the working tier, fail-closed — a negotiation never widens past a class's standing policy without the holder's explicit act (TODO.dataspace/00). On the dataspace surface the requester must be a REGISTERED scheme participant (the standing constraint; the applicant's own copy arrives by the delivery act, never by a cross-instance negotiation); the case-party membership itself binds per artifact at the transfer, never at the class negotiation."
52
+ default_posture true
53
+ governs { test-report evidence-stream }
54
+ rule case-parties-read {
55
+ kind permission
56
+ action read
57
+ constraint "ocl{artifact.case_parties->includes(requester)}"
58
+ constraint "ocl{requester.standing = #registered}"
59
+ }
60
+ rule no-disclosure-beyond-parties {
61
+ kind prohibition
62
+ action disclose
63
+ }
64
+ ref derives-from "urn:oiml:pub:cs:pd-05:2024#clause-4.6.6"
65
+ ref derives-from "urn:oiml:pub:cs:cid-01:2024#clause-3.1"
66
+ corresponds w3c-odrl "Policy"
67
+ }
68
+
@@ -0,0 +1,71 @@
1
+ # ─────────────────────────────────────────────────────────────────────
2
+ # The shared verification/traceability process vocabulary (TODO.v3/01
3
+ # item 2): authored ONCE here, referenced by the Recommendation layer's
4
+ # test methods and the twin-fidelity certification program's probes —
5
+ # never copied, never a merged verdict. The two processes are the legs
6
+ # every served-vs-reference judgment stands on:
7
+ #
8
+ # probe_pairing — admit a (served, reference) pair within
9
+ # the declared window; the skew is
10
+ # computed, and an out-of-window pair is
11
+ # INADMISSIBLE (INVALID — the setup was
12
+ # wrong, never a fail).
13
+ # reference_traceability_gate — the reference channel's own quality
14
+ # gate (U:MPE ≤ 1:3): a reference whose
15
+ # uncertainty or drift exceeds one third
16
+ # of the judged allowance voids the
17
+ # setup (INVALID, never a fail).
18
+ #
19
+ # DRY shared processes, NEVER merged verdicts: auditors read an
20
+ # implementation through ONE reference standard at a time (or an
21
+ # approved set) — this package exists so the processes are authored
22
+ # once, not so claims merge (the package manifest's description).
23
+ # ─────────────────────────────────────────────────────────────────────
24
+
25
+ process probe_pairing {
26
+ name "Served–reference probe pairing"
27
+ description "Pair a twin's served reading with the reference channel's reading of the same measurand within the declared pairing window. The pair's skew is computed from the two evidence times (read, never invented); a pair outside the window is INADMISSIBLE evidence — the run is void (INVALID: the setup was wrong), never a fail and never silently admitted. Used by the twin-fidelity program's probe schedule (served ⇄ reference at every probe point) and by the Recommendation's paired test readings."
28
+ signature {
29
+ in { served_reading : quantity reference_reading : quantity pairing_window : quantity }
30
+ out { pair_skew : quantity admissible : dimensionless }
31
+ }
32
+ executor machine
33
+ registers { served_at : quantity reference_at : quantity pair_skew : quantity = 0 admissible : dimensionless = false }
34
+ does {
35
+ start_event captured
36
+ action pair { executor machine read { served_reading reference_reading } write { pair_skew } description "Compute the pair skew |served_at − reference_at| from the two evidence timestamps — the serve's own timestamp and the reference channel's; evidence times are read, never invented (§14.3)." }
37
+ action admit { executor machine read { pair_skew pairing_window } write { admissible } description "Admit the pair when skew ≤ pairing_window; otherwise the run is INADMISSIBLE — INVALID (the pairing-window precondition: test-run admissibility), never a fail." }
38
+ end_event admitted
39
+ end_event voided
40
+ flow {
41
+ captured -> pair
42
+ pair -> admit
43
+ admit -> admitted
44
+ admit -> voided
45
+ }
46
+ }
47
+ }
48
+
49
+ process reference_traceability_gate {
50
+ name "Reference-channel traceability gate (the U:MPE ≤ 1:3 discipline)"
51
+ description "The reference channel's own quality gate, applied BEFORE any pair is judged: the reference's uncertainty (over a point probe) or drift (over a dwell) shall not exceed one third of the allowance the pair judges — a reference beyond that voids the setup (INVALID, never a fail). The same discipline the Recommendation's reference materials enforce (the CGM U:MPE ≤ 1:3 constraint, audit r144 F11) and the twin-fidelity program's reference-quality precondition."
52
+ signature {
53
+ in { reference_uncertainty : quantity judged_allowance : quantity }
54
+ out { traceable : dimensionless }
55
+ }
56
+ executor machine
57
+ registers { ratio : quantity = 0 traceable : dimensionless = false }
58
+ does {
59
+ start_event measured
60
+ action compute_ratio { executor machine read { reference_uncertainty judged_allowance } write { ratio } description "Compute reference_uncertainty / judged_allowance." }
61
+ action gate { executor machine read { ratio } write { traceable } description "Admit when ratio ≤ 1/3; otherwise the setup is void — INVALID, never a fail." }
62
+ end_event traceable
63
+ end_event unfit
64
+ flow {
65
+ measured -> compute_ratio
66
+ compute_ratio -> gate
67
+ gate -> traceable
68
+ gate -> unfit
69
+ }
70
+ }
71
+ }
@@ -0,0 +1,10 @@
1
+ package {
2
+ id oiml-integrated-ref
3
+ kind module
4
+ title "OIML SMART integrated-reference package (multi-standard DRY)"
5
+ description "The integrated reference for multi-standard implementations (TODO.v3/01 item 2): the shared verification/traceability processes of the Recommendation layer and the twin-fidelity certification program, authored ONCE — the served–reference probe pairing discipline (pairing window, skew, admissibility) and the reference-channel traceability gate (the U:MPE ≤ 1:3 reference-quality rule). DRY shared processes, NEVER merged verdicts: an auditor reads an implementation through ONE reference standard at a time (or an approved set), each with its own coverage — this package exists so the processes are authored once, not so claims merge."
6
+ uses { oiml-r60@2021 oiml-twin-cert@2027 }
7
+ requires { oiml-r60 oiml-twin-cert }
8
+ provides { probe-pairing reference-traceability }
9
+ default_spelling eng-Latn
10
+ }
@@ -0,0 +1,2 @@
1
+ # .primmel-allowlist.prl — GENERATED from primmel-allowlist.yaml (TODO.roadmap/17), do not edit.
2
+ text_coverage_budget 196 "First landing of gap-close C4-r129 (TODO.v2/05 — the R 129 sources-prd pipeline), tightened by TODO.integration/05 (the twin-interface bindings), then re-measured and burned down by the TODO.v2/05 follow-through (the R 129 source expansion): the official R 129:2020 sources landed (sources/r129) and every first-landing curation was re-verified against the official PDFs — the annexes print (Mandatory) throughout (+7 annex-A sentences correctly measured normative) and the notes compile as proper note fragments (−6 sentences correctly measured informative); the terminology register's source-URN burn-down covered the 26 register-carried definition sites, and the rec-native forms now bind their R 129-3/-4 report sections (ref report-format — the 11 module-skeleton forms' sections stay findings: the skeletons' with: slots carry no report-format channel, the composition union rule bars the rec overlay from restating references). 196 uncovered normative-classified sentences — the honest measurement of R 129's normative-text coverage over the published-print address space. Census by document: 131 R 129-1 + 58 R 129-2 + 4 R 129-3 + 3 R 129-4. The clusters are the declared named gaps of sources-prd/congruence.yaml (the unmodelled terminology sites, the Annex B software detail, the R 129-2 IEC method-procedure grids, the module-skeleton-covered report sections, and the R 129-4 sections no form binds). The budget caps the C71 findings EXACTLY and only burns down: new bindings (or adjudicated allowances) shrink it; growth fails C72."
@@ -0,0 +1,152 @@
1
+ process submit_application {
2
+ actor applicant
3
+ output { applications }
4
+ reference { doc "PD-05 §4.1" clause "" }
5
+ }
6
+
7
+ process review_application {
8
+ actor issuing_authority
9
+ validate_provision { /req/cs/application-completeness }
10
+ output { applications }
11
+ reference { doc "PD-05 §4.2" clause "" }
12
+ }
13
+
14
+ process accept_application {
15
+ actor issuing_authority
16
+ validate_provision { /req/cs/fee-estimate /req/cs/sample-count }
17
+ output { applications }
18
+ reference { doc "PD-05 §4.2.4" clause "" }
19
+ }
20
+
21
+ process reject_application {
22
+ actor issuing_authority
23
+ validate_provision { /req/cs/rejection-reason }
24
+ output { applications }
25
+ reference { doc "PD-05 §4.2.2" clause "" }
26
+ }
27
+
28
+ process conduct_tests {
29
+ actor test_laboratory
30
+ validate_provision { /req/metrological/scale-intervals-min-dimension /req/metrological/mpe /req/metrological/fault-limit /req/metrological/variation-between-indicators /req/metrological/calculated-quantities /req/electronic/rated-operating-conditions /req/electronic/disturbance-resistance /req/electronic/no-significant-faults /req/electronic/light-acoustic-effects /req/technical/warm-up /req/technical/limits-of-indication /req/object-limitations/object-shape /req/object-limitations/orientation-position /req/object-limitations/speed-movement }
31
+ output { testReports formInstances }
32
+ reference { doc "PD-05 §4.3" clause "" }
33
+ }
34
+
35
+ process compile_test_report {
36
+ actor test_laboratory
37
+ validate_provision { /req/cs/test-report-18-elements }
38
+ output { testReports }
39
+ reference { doc "PD-05 §4.4" clause "" }
40
+ }
41
+
42
+ process compile_evaluation_report {
43
+ actor issuing_authority
44
+ validate_provision { /req/cs/evaluation-report-contents }
45
+ output { evaluationReports }
46
+ reference { doc "PD-05 §4.5" clause "" }
47
+ }
48
+
49
+ process issue_certificate {
50
+ actor issuing_authority
51
+ validate_provision { /req/cs/certificate-requirements }
52
+ output { certificates }
53
+ reference { doc "PD-05 §4.6" clause "" }
54
+ }
55
+
56
+ process register_certificate {
57
+ actor biml
58
+ validate_provision { /req/cs/biml-registration }
59
+ output { certificates }
60
+ reference { doc "PD-05 §6" clause "" }
61
+ }
62
+
63
+ process handle_revision {
64
+ actor issuing_authority
65
+ output { certificates certificateAnnexes }
66
+ reference { doc "PD-05 §8.1" clause "" }
67
+ }
68
+
69
+ process handle_edition_change {
70
+ actor issuing_authority
71
+ output { evaluationReports certificates }
72
+ reference { doc "PD-05 §8.3" clause "" }
73
+ }
74
+
75
+ process evaluate_certificate_acceptance {
76
+ actor utilizer
77
+ output { acceptanceReviews }
78
+ reference { doc "PD-06, 4.8/4.9; B 18:2025 §5.6.3" clause "" }
79
+ }
80
+
81
+ process handle_appeal {
82
+ actor executive_secretary
83
+ output { appeals }
84
+ reference { doc "PD-01, 8–9" clause "" }
85
+ }
86
+
87
+ process handle_complaint {
88
+ actor executive_secretary
89
+ output { complaints }
90
+ reference { doc "PD-01, 6; PD-05 §7.1" clause "" }
91
+ }
92
+
93
+ process handle_misuse {
94
+ actor executive_secretary
95
+ output { misuseCases }
96
+ reference { doc "PD-06, 5.1" clause "" }
97
+ }
98
+
99
+ process deregister_certificate {
100
+ actor biml
101
+ output { deregistrations certificates }
102
+ reference { doc "PD-01, 6.2; PD-06, 5.2/5.3; PD-05 §6.2" clause "" }
103
+ }
104
+
105
+ process verify_presented_certificate {
106
+ actor biml
107
+ output { registeredCopies }
108
+ reference { doc "B 18:2025 §15.8" clause "" }
109
+ }
110
+
111
+ process submit_participant_application {
112
+ actor applicant
113
+ output { participantApplications }
114
+ reference { doc "PD-03, 5.1; PD-04, 5.1; PD-09, 4–5; PD-02, 7" clause "" }
115
+ }
116
+
117
+ process assess_participant_competence {
118
+ actor executive_secretary
119
+ output { competenceEvidence }
120
+ reference { doc "PD-03, 5.2; PD-04, 5.2" clause "" }
121
+ }
122
+
123
+ process recommend_participation {
124
+ actor evaluator
125
+ output { approvalVotes }
126
+ reference { doc "PD-03, 5.3.2; PD-04, 5.3.2; PD-02, 8.1; OD-01, 5.6/7.9" clause "" }
127
+ }
128
+
129
+ process decide_participation {
130
+ actor supervisor
131
+ output { approvalVotes participantApplications }
132
+ reference { doc "PD-03, 5.3.2; PD-04, 5.3.2; PD-02, 8.2; B 18:2025 §11.4.2" clause "" }
133
+ }
134
+
135
+ process record_participant_declaration {
136
+ actor executive_secretary
137
+ output { participantDeclarations }
138
+ reference { doc "PD-08, 4–5; PD-03, 5.3.2/9; PD-04, 5.3.2/7" clause "" }
139
+ }
140
+
141
+ process publish_participant_register {
142
+ actor executive_secretary
143
+ output { participantApplications }
144
+ reference { doc "PD-03, 5.3.2; PD-04, 5.3.2; PD-08, 4; PD-09, 4–5; OD-01, 13.4" clause "" }
145
+ }
146
+
147
+ process drive_scheme_lifecycle {
148
+ actor biml
149
+ output { categorySchemes }
150
+ reference { doc "B 18:2025 §4.2, §15.1–15.2" clause "" }
151
+ }
152
+
@@ -0,0 +1,48 @@
1
+ process application {
2
+ note "phase: intake"
3
+ actor applicant
4
+ description "Applicant (manufacturer, distributor, or end user) submits Application declaring the instrument model family, the requested scope (matrix of model-family members per the Recommendation's specimen-selection rules), requested ANR countries, scheme (A/B), and supporting documentation."
5
+ validate_provision { applicant_info model_family_matrix documentation }
6
+ guard "Application.status = SUBMITTED"
7
+ guard "Application.model_family_id is not null OR Application.model_ids.length >= 1"
8
+ }
9
+
10
+ process test-request-dispatch {
11
+ note "phase: dispatch"
12
+ actor issuing-authority
13
+ description "IA selects one or more Test Laboratories (by accreditation scope, equipment capability, capacity) and issues a TestRequest to each, specifying which samples are shipped, which of the Recommendation's Test Report Forms the lab must complete, and the test conditions."
14
+ validate_provision { Application MeasuringInstrumentSample TestLaboratory }
15
+ guard "Each TestRequest references >= 1 MeasuringInstrumentSample"
16
+ guard "Each TestRequest.required_forms subset of R 129-3 form identifiers"
17
+ guard "TestRequest.assigned_laboratory_id is accredited for the requested test scope (R 129 multi-dimensional measuring instruments)"
18
+ }
19
+
20
+ process test-performance {
21
+ note "phase: testing"
22
+ actor test-laboratory
23
+ description "Test Lab accepts the TestRequest (which implies physical sample receipt), performs the tests per the Recommendation's test procedures, fills in the required Test Report Forms (one FormInstance per sample per form), and issues a TestReport that bundles all FormInstances."
24
+ validate_provision { TestRequest MeasuringInstrumentSample }
25
+ guard "TestReport.test_request_id references the TestRequest"
26
+ guard "TestReport contains one FormInstance per (requiredForm × sample) pair"
27
+ guard "TestReport.status = SUBMITTED"
28
+ }
29
+
30
+ process evaluation {
31
+ note "phase: evaluation"
32
+ actor issuing-authority
33
+ description "IA staff review every submitted TestReport. For each TestReport, a TestReportDetermination is recorded (ACCEPTED / REJECTED / CONDITIONALLY_ACCEPTED). For each FormInstance, a FormDetermination is recorded. The aggregate of all TestReportDeterminations determines the EvaluationReport overall_decision. Finalization requires every TestReport in test_report_ids[] to have a corresponding determination."
34
+ validate_provision { TestReport FormInstance }
35
+ guard "All TestReport entries in test_report_ids[] have a TestReportDetermination"
36
+ guard "EvaluationReport.status = ALL_TR_REVIEWED before finalization"
37
+ guard "overall_decision derivable from test_report_determinations[]"
38
+ }
39
+
40
+ process certificate-issuance {
41
+ note "phase: issuance"
42
+ actor issuing-authority
43
+ description "If EvaluationReport.overall_decision = APPROVED, IA issues a Certificate whose scope covers the original Application's matrix. BIML registers the certificate."
44
+ validate_provision { EvaluationReport Application.model_family_id }
45
+ guard "EvaluationReport.overall_decision = APPROVED"
46
+ guard "Certificate.scope matches Application scope (model family + approved members)"
47
+ }
48
+
@@ -0,0 +1,30 @@
1
+ form r129-3/sec-3.6 {
2
+ name "Adjustments or modifications"
3
+ description "Record of any adjustments or modifications made during testing"
4
+ data_class FormInstance#data
5
+ section "R 129-3, 0.6"
6
+ ref report-format "urn:oiml:pub:r:129-3:2020#clause-0.6"
7
+ scope administrative
8
+ field application_number : string {
9
+ label "Application no."
10
+ required true
11
+ bind application.application_number
12
+ }
13
+ field type_designation : string {
14
+ label "Type designation"
15
+ required true
16
+ bind model.model_designation
17
+ }
18
+ field report_date : date {
19
+ label "Report date"
20
+ required true
21
+ }
22
+ field manufacturer : string {
23
+ label "Manufacturer"
24
+ }
25
+ field adjustments_description : text {
26
+ label "Adjustments or modifications"
27
+ required true
28
+ }
29
+ }
30
+
@@ -0,0 +1,70 @@
1
+ form r129-4/sec-11 {
2
+ name "Checklist"
3
+ description "Type evaluation checklist per R 129-1 requirements"
4
+ data_class FormInstance#data
5
+ section "R 129-4, 2"
6
+ ref report-format "urn:oiml:pub:r:129-4:2020#clause-2"
7
+ ref report-format "urn:oiml:pub:r:129-4:2020#clause-2.1"
8
+ ref report-format "urn:oiml:pub:r:129-4:2020#table-10"
9
+ ref report-format "urn:oiml:pub:r:129-4:2020#table-11"
10
+ ref report-format "urn:oiml:pub:r:129-4:2020#table-12"
11
+ ref report-format "urn:oiml:pub:r:129-4:2020#table-13"
12
+ ref report-format "urn:oiml:pub:r:129-4:2020#table-14"
13
+ ref report-format "urn:oiml:pub:r:129-4:2020#table-15"
14
+ scope administrative
15
+ field report_number : string {
16
+ label "Report no."
17
+ required true
18
+ }
19
+ field application_number : string {
20
+ label "Application no."
21
+ required true
22
+ bind application.application_number
23
+ }
24
+ field manufacturer : string {
25
+ label "Manufacturer"
26
+ required true
27
+ }
28
+ field make_and_model : string {
29
+ label "Make and model"
30
+ required true
31
+ }
32
+ field serial_number : string {
33
+ label "Serial no."
34
+ required true
35
+ bind sample.serial_number
36
+ }
37
+ field date : date {
38
+ label "Date"
39
+ required true
40
+ }
41
+ field observer : string {
42
+ label "Observer"
43
+ required true
44
+ }
45
+ field requirements : array {
46
+ label "Requirement checklist"
47
+ items { object fields {
48
+ field clause : string {
49
+ label "Clause"
50
+ }
51
+ field requirement : string {
52
+ label "Requirement"
53
+ }
54
+ field passed : boolean {
55
+ label "Passed"
56
+ true_label "Yes"
57
+ false_label "No"
58
+ }
59
+ field failed : boolean {
60
+ label "Failed"
61
+ true_label "Yes"
62
+ false_label "No"
63
+ }
64
+ field remarks : string {
65
+ label "Remarks"
66
+ }
67
+ } }
68
+ }
69
+ }
70
+
@@ -0,0 +1,31 @@
1
+ form r129-3/sec-3.4 {
2
+ name "Configuration for test"
3
+ description "Configuration of the instrument used for testing"
4
+ data_class FormInstance#data
5
+ section "R 129-3, 0.5"
6
+ ref report-format "urn:oiml:pub:r:129-3:2020#clause-0.5"
7
+ scope administrative
8
+ field application_number : string {
9
+ label "Application no."
10
+ required true
11
+ bind application.application_number
12
+ }
13
+ field type_designation : string {
14
+ label "Type designation"
15
+ required true
16
+ bind model.model_designation
17
+ }
18
+ field report_date : date {
19
+ label "Report date"
20
+ required true
21
+ }
22
+ field manufacturer : string {
23
+ label "Manufacturer"
24
+ required true
25
+ }
26
+ field configuration_description : text {
27
+ label "Configuration description"
28
+ required true
29
+ }
30
+ }
31
+
@@ -0,0 +1,27 @@
1
+ form r129-3/sec-3.3 {
2
+ name "Test equipment information"
3
+ description "Information concerning the test equipment used for type evaluation"
4
+ data_class FormInstance#data
5
+ section "R 129-3, 0.4"
6
+ ref report-format "urn:oiml:pub:r:129-3:2020#clause-0.4"
7
+ scope administrative
8
+ field equipment_list : array {
9
+ label "Test equipment list"
10
+ items { object fields {
11
+ field name : string {
12
+ label "Equipment name"
13
+ required true
14
+ }
15
+ field type : string {
16
+ label "Type"
17
+ }
18
+ field reference_number : string {
19
+ label "Reference number"
20
+ }
21
+ field traceability : string {
22
+ label "Traceability"
23
+ }
24
+ } }
25
+ }
26
+ }
27
+
@@ -0,0 +1,63 @@
1
+ form r129-3/sec-3.2 {
2
+ name "General information"
3
+ description "General information concerning the type"
4
+ data_class FormInstance#data
5
+ section "R 129-3, 0.3"
6
+ ref report-format "urn:oiml:pub:r:129-3:2020#clause-0.3"
7
+ ref report-format "urn:oiml:pub:r:129-3:2020#table-3"
8
+ ref report-format "urn:oiml:pub:r:129-3:2020#table-4"
9
+ scope administrative
10
+ field application_number : string {
11
+ label "Application no."
12
+ required true
13
+ bind application.application_number
14
+ }
15
+ field manufacturer : string {
16
+ label "Manufacturer"
17
+ required true
18
+ }
19
+ field type_designation : string {
20
+ label "Type designation"
21
+ required true
22
+ bind model.model_designation
23
+ }
24
+ field applicant : string {
25
+ label "Applicant"
26
+ required true
27
+ }
28
+ field instrument_category : string {
29
+ label "Instrument category"
30
+ }
31
+ field temperature_min : number {
32
+ label "Min temperature (°C)"
33
+ unit "degC"
34
+ }
35
+ field temperature_max : number {
36
+ label "Max temperature (°C)"
37
+ unit "degC"
38
+ }
39
+ field speed_min : string {
40
+ label "Min speed (m/s)"
41
+ }
42
+ field speed_max : string {
43
+ label "Max speed (m/s)"
44
+ }
45
+ field voltage_min : string {
46
+ label "Min voltage (V)"
47
+ }
48
+ field voltage_max : string {
49
+ label "Max voltage (V)"
50
+ }
51
+ field evaluation_period : string {
52
+ label "Evaluation period"
53
+ }
54
+ field date_of_report : date {
55
+ label "Date of report"
56
+ required true
57
+ }
58
+ field observer : string {
59
+ label "Observer"
60
+ required true
61
+ }
62
+ }
63
+
@@ -0,0 +1,49 @@
1
+ form r129-3/sec-3.1 {
2
+ name "Identification of the instrument"
3
+ description "Instrument identification and documentation references"
4
+ data_class FormInstance#data
5
+ section "R 129-3, 0.2"
6
+ ref report-format "urn:oiml:pub:r:129-3:2020#clause-0.2"
7
+ ref report-format "urn:oiml:pub:r:129-3:2020#table-2"
8
+ scope administrative
9
+ field application_number : string {
10
+ label "Application no."
11
+ required true
12
+ bind application.application_number
13
+ }
14
+ field type_designation : string {
15
+ label "Type designation"
16
+ required true
17
+ bind model.model_designation
18
+ }
19
+ field identification_number : string {
20
+ label "Identification no."
21
+ required true
22
+ bind sample.serial_number
23
+ }
24
+ field software_version : string {
25
+ label "Software version"
26
+ }
27
+ field report_date : date {
28
+ label "Report date"
29
+ required true
30
+ }
31
+ field documentation : array {
32
+ label "Manufacturer documentation"
33
+ items { object fields {
34
+ field system_name : string {
35
+ label "System or module name"
36
+ }
37
+ field drawing_number : string {
38
+ label "Drawing number / software reference"
39
+ }
40
+ field issue_level : string {
41
+ label "Issue level"
42
+ }
43
+ field document_id : string {
44
+ label "Document identification"
45
+ }
46
+ } }
47
+ }
48
+ }
49
+
@@ -0,0 +1,30 @@
1
+ form r129-3/sec-3.5 {
2
+ name "Sample selection"
3
+ description "Selection of samples for testing"
4
+ data_class FormInstance#data
5
+ section "R 129-4, 1.4"
6
+ ref report-format "urn:oiml:pub:r:129-4:2020#clause-1.4"
7
+ scope administrative
8
+ field application_number : string {
9
+ label "Application no."
10
+ required true
11
+ bind application.application_number
12
+ }
13
+ field type_designation : string {
14
+ label "Type designation"
15
+ required true
16
+ bind model.model_designation
17
+ }
18
+ field report_date : date {
19
+ label "Report date"
20
+ required true
21
+ }
22
+ field manufacturer : string {
23
+ label "Manufacturer"
24
+ }
25
+ field sample_description : text {
26
+ label "Sample description"
27
+ required true
28
+ }
29
+ }
30
+