@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,10 @@
1
+ package {
2
+ id oiml-smart-core
3
+ kind core
4
+ title "OIML SMART core layer package"
5
+ description "Primmel OIML SMART Core — the content every Recommendation shares verbatim: the subject-chain entity classes (ModelFamily/Group/Model/ Sample), party and workflow entities, the evaluation workflow skeleton, roles, and the certificate lifecycle. Composed into each Recommendation via `uses: [core]`, after the oiml-cs reference package whose /req/cs/* provisions Core's processes validate against."
6
+ uses { oiml-cs }
7
+ requires { oiml-cs }
8
+ provides { core subject-chain-entities party-entities workflow-entities evaluation-skeleton }
9
+ default_spelling eng-Latn
10
+ }
@@ -0,0 +1,64 @@
1
+ competence_kind force_measurement {
2
+ label "Force measurement"
3
+ definition "Application and measurement of test loads over a force range with a force-generating system and a suitable indicating instrument (R 60-2, 2.7.2); the mass standards generating the force are traceable to national or international standards of mass (R 60-2, 2.7.3.2). The kind spans the deadweight machine / force standard machine and the load-application train — declared as a capability, never as named equipment (labs declare capabilities, not equipment)."
4
+ source { doc "ISO/IEC 17025:2017, 6.4" clause "" }
5
+ }
6
+
7
+ competence_kind temperature_control {
8
+ label "Temperature control"
9
+ definition "Temperature conditioning of the instrument under test in a climatic chamber over the instrument's temperature range, held stable during a test within one fifth of that range and never more than 2 degC (R 60-2, 2.7.3.1)."
10
+ source { doc "ISO/IEC 17025:2017, 6.4" clause "" }
11
+ }
12
+
13
+ competence_kind humidity_testing {
14
+ label "Humidity testing"
15
+ definition "Damp-heat exposure of the instrument under test: cyclic damp heat for CH-marked instruments (R 60-2, 2.10.5, applying IEC 60068-2-30 variant 2) or steady-state damp heat for SH-marked instruments (R 60-2, 2.10.6, applying IEC 60068-2-78)."
16
+ source { doc "ISO/IEC 17025:2017, 6.4" clause "" }
17
+ method_standard iec-60068-2-30 "Environmental testing — Part 2-30: Tests — Test Db: Damp heat, cyclic (12 h + 12 h cycle)"
18
+ method_standard iec-60068-2-78 "Environmental testing — Part 2-78: Tests — Test Cab: Damp heat, steady state"
19
+ }
20
+
21
+ competence_kind pressure_control {
22
+ label "Pressure control"
23
+ definition "Barometric pressure variation for the determination of atmospheric pressure effects on the instrument's output (R 60-2, 2.10.4, verifying R 60-1, 5.6.2)."
24
+ source { doc "ISO/IEC 17025:2017, 6.4" clause "" }
25
+ }
26
+
27
+ competence_kind emc_testing {
28
+ label "EMC testing"
29
+ definition "Electromagnetic disturbance immunity testing of electronic instruments: electrical fast transients/bursts, surges, electrostatic discharge, conducted and radiated radio-frequency electromagnetic disturbances (R 60-2, 2.10.7.6–2.10.7.10), each at the severity level the Recommendation's tables prescribe."
30
+ source { doc "ISO/IEC 17025:2017, 6.4" clause "" }
31
+ method_standard iec-61000-4-2 "Electromagnetic compatibility (EMC) — Part 4-2: Testing and measurement techniques — Electrostatic discharge immunity test"
32
+ method_standard iec-61000-4-3 "Electromagnetic compatibility (EMC) — Part 4-3: Testing and measurement techniques — Radiated, radio-frequency, electromagnetic field immunity test"
33
+ method_standard iec-61000-4-4 "Electromagnetic compatibility (EMC) — Part 4-4: Testing and measurement techniques — Electrical fast transient/burst immunity test"
34
+ method_standard iec-61000-4-5 "Electromagnetic compatibility (EMC) — Part 4-5: Testing and measurement techniques — Surge immunity test"
35
+ method_standard iec-61000-4-6 "Electromagnetic compatibility (EMC) — Part 4-6: Testing and measurement techniques — Immunity to conducted disturbances, induced by radio-frequency fields"
36
+ }
37
+
38
+ competence_kind power_supply_variation {
39
+ label "Power supply variation"
40
+ definition "Mains power supply variation and short-time power reduction testing of electronic instruments, AC and DC (R 60-2, 2.10.7.4–2.10.7.5), including the designed warm-up behaviour at power-on (R 60-2, 2.10.7.3)."
41
+ source { doc "ISO/IEC 17025:2017, 6.4" clause "" }
42
+ method_standard iec-61000-4-11 "Electromagnetic compatibility (EMC) — Part 4-11: Testing and measurement techniques — Voltage dips, short interruptions and voltage variations immunity tests"
43
+ method_standard iec-61000-4-29 "Electromagnetic compatibility (EMC) — Part 4-29: Testing and measurement techniques — Voltage dips, short interruptions and voltage variations on d.c. input power port immunity tests"
44
+ }
45
+
46
+ competence_kind indication_readout {
47
+ label "Indication readout"
48
+ definition "Reading and recording of the instrument's output indication with a suitable indicating instrument of sufficient resolution over the measurement chain under test (R 60-2, 2.7.2)."
49
+ source { doc "ISO/IEC 17025:2017, 6.4" clause "" }
50
+ }
51
+
52
+ competence_kind documentation_review {
53
+ label "Documentation review"
54
+ definition "Documentary examination of the type: the documentation supplied by the applicant, the suitability of the instrument's construction for its intended use, and its inscriptions and marking (R 60-2, 2.3–2.6) — a personnel review competence, not an equipment competence."
55
+ source { doc "ISO/IEC 17025:2017, 6.2" clause "" }
56
+ }
57
+
58
+ competence_kind software_examination {
59
+ label "Software examination"
60
+ definition "Examination of the instrument's software and its documentation against the general requirements for software-controlled measuring instruments (R 60-2, 2.6, applying OIML D 31)."
61
+ source { doc "ISO/IEC 17025:2017, 6.2" clause "" }
62
+ method_standard oiml-d-31 "OIML D 31 General requirements for software-controlled measuring instruments"
63
+ }
64
+
@@ -0,0 +1,40 @@
1
+ constraint completion_fees_settled {
2
+ stereotype inv
3
+ name "Completion — the fees settled"
4
+ check "ocl{fees->forAll(f | f.status = 'MARKED_PAID')}"
5
+ violation_meaning "An unpaid fee stands against the project: a payment record (the certificate's registration fee, PD-05 §6.2, or an IA-TL arrangement record, TODO.adoption/09) is not MARKED_PAID. The payer owes the settlement and its recording before the project can complete."
6
+ on_violation invalid
7
+ }
8
+
9
+ constraint completion_custody_closed {
10
+ stereotype inv
11
+ name "Completion — the samples' custody closed"
12
+ check "ocl{samples->forAll(s | s.status = 'RETURNED' or s.status = 'RETAINED' or s.status = 'DESTROYED' or s.status = 'DISPOSED')}"
13
+ violation_meaning "A sample's custody is still open: every sample of the project must reach a terminal custody state (RETURNED to the manufacturer, RETAINED, DESTROYED or DISPOSED — the measuring_instrument_sample machine's terminal marks) before the project can complete. The IA owes the custody-closing act."
14
+ on_violation invalid
15
+ }
16
+
17
+ constraint completion_threads_resolved {
18
+ stereotype inv
19
+ name "Completion — the review threads resolved"
20
+ check "ocl{threads->forAll(t | t.status = 'RESOLVED')}"
21
+ violation_meaning "A review thread is still OPEN on one of the project's reports: the review period's threads (entities/comments.prl) resolve before the finalization completes — the same consultation_resolved doctrine the report machines' decision hops declare. The thread's parties owe the resolution."
22
+ on_violation invalid
23
+ }
24
+
25
+ constraint completion_reports_finalized {
26
+ stereotype inv
27
+ name "Completion — the reports finalized"
28
+ check "ocl{evaluation_reports->exists(r | r.status = 'APPROVED' or r.status = 'REJECTED' or r.status = 'CONDITIONALLY_APPROVED')}"
29
+ violation_meaning "The project's evaluation report is not finalized: the evaluation_report machine has reached no terminal decision (APPROVED, REJECTED or CONDITIONALLY_APPROVED). The IA's evaluator owes the decision."
30
+ on_violation invalid
31
+ }
32
+
33
+ constraint completion_certificate_registered {
34
+ stereotype inv
35
+ name "Completion — the certificate issued and registered"
36
+ check "ocl{certificates->exists(c | c.status = 'ACTIVE')}"
37
+ violation_meaning "No certificate stands issued and registered for the project: the certificate machine's ACTIVE state — the registration published (PD-05 §6; the register's auto-publish doctrine) — is the completion's certificate leg. The IA owes the issuance and the register the publication."
38
+ on_violation invalid
39
+ }
40
+
@@ -0,0 +1,90 @@
1
+ invariant INV-1 {
2
+ name "No bare numbers"
3
+ statement "every physical quantity is a QuantityValue (value + unit [+ uncertainty])."
4
+ severity error
5
+ applies_to { QuantityValue }
6
+ source "docs/oiml-core/09-invariants.md#9.2"
7
+ enforcement { kernel:C32 kernel:C33 linker:quantity-coherence linker:pair-list-components gate:schema-quantity-value }
8
+ }
9
+
10
+ invariant INV-2 {
11
+ name "Schema/instance split"
12
+ statement "an attribute is DEFINED once (AttributeDefinition: symbol, clause, IRDI) and VALUED per Model or Sample (Parameter)."
13
+ severity error
14
+ applies_to { AttributeDefinition Parameter }
15
+ source "docs/oiml-core/09-invariants.md#9.3"
16
+ enforcement { kernel:C1 linker:requirement-binding-targets linker:bind-paths gate:codegen-entity-types }
17
+ }
18
+
19
+ invariant INV-3 {
20
+ name "Binding, never restating"
21
+ statement "every D1 element references attribute paths into instrument-description; nothing physical is defined in conformity-specification."
22
+ severity error
23
+ applies_to { Requirement ConformanceTest FormSchema }
24
+ source "docs/oiml-core/09-invariants.md#9.4"
25
+ enforcement { linker:ocl-identifiers linker:requirement-targeting linker:bind-paths linker:requirement-binding-targets }
26
+ }
27
+
28
+ invariant INV-4 {
29
+ name "Reports contain no verdicts"
30
+ statement "D2 contains no verdicts. If a TestReport says 'pass', the schema is broken."
31
+ severity error
32
+ applies_to { TestReport }
33
+ source "docs/oiml-core/09-invariants.md#9.5"
34
+ enforcement { gate:testreport-no-outcome gate:verdict-chain }
35
+ }
36
+
37
+ invariant INV-5 {
38
+ name "Re-evaluation without re-testing"
39
+ statement "D3 consumes only definitions and reports; re-evaluation (new class limits, surveillance) requires no re-testing."
40
+ severity error
41
+ applies_to { Verdict }
42
+ source "docs/oiml-core/09-invariants.md#9.6"
43
+ enforcement { gate:verdict-reexecution }
44
+ }
45
+
46
+ invariant INV-6 {
47
+ name "One sample, one report, one evaluation"
48
+ statement "one Sample = one TestReport = one SampleEvaluation. Type conformity is established ONLY by TypeEvaluation across Samples."
49
+ severity error
50
+ applies_to { TestRun MeasuringInstrumentSample EvaluationReport }
51
+ source "docs/oiml-core/09-invariants.md#9.7"
52
+ enforcement { gate:testrun-sample-cardinality gate:evaluation-aggregator }
53
+ }
54
+
55
+ invariant INV-7 {
56
+ name "Values, facts, judgments"
57
+ statement "formula outputs are VALUES (instrument-description), Constraint results are FACTS (test-execution), Verdicts are JUDGMENTS (evaluation)."
58
+ severity error
59
+ applies_to { Calculation Constraint Verdict }
60
+ source "docs/oiml-core/09-invariants.md#9.8"
61
+ enforcement { kernel:C84 linker:constraint-references linker:verdict-no-shadow gate:codegen-entity-types }
62
+ }
63
+
64
+ invariant INV-8 {
65
+ name "Version pinning"
66
+ statement "every definition executed in D2 is version-pinned in the TestReport."
67
+ severity error
68
+ applies_to { TestRun TestReport Instance }
69
+ source "docs/oiml-core/09-invariants.md#9.9"
70
+ enforcement { kernel:C18 kernel:C80 gate:testrun-method-version gate:testreport-definition-versions }
71
+ }
72
+
73
+ invariant INV-9 {
74
+ name "OCL only"
75
+ statement "all derivations and rules are expressed in OCL (OMG Object Constraint Language, formal/2014-02-03)… The same statement executes identically in D2 (fact checks) and D3 (re-validation)."
76
+ severity error
77
+ applies_to { Expression }
78
+ source "docs/oiml-core/09-invariants.md#9.10"
79
+ enforcement { linker:ocl-identifiers gate:ocl-single-engine gate:verdict-registry-cache }
80
+ }
81
+
82
+ invariant INV-10 {
83
+ name "Delegation never copies down"
84
+ statement "encapsulation by delegation: a Sample resolves attributes through its Model, a Model through its Family; a value set at a lower level overrides the inherited one. Attribute values are never copied downward."
85
+ severity error
86
+ applies_to { MeasuringInstrumentFamily MeasuringInstrumentGroup MeasuringInstrumentModel MeasuringInstrumentSample }
87
+ source "docs/oiml-core/09-invariants.md#9.11"
88
+ enforcement { kernel:C1 kernel:C17 gate:instance-delegation }
89
+ }
90
+
@@ -0,0 +1,116 @@
1
+ predicate requirement {
2
+ kind citation
3
+ description "This form or test provides evidence for the target requirement clause."
4
+ subject_kinds { form field conformance_test }
5
+ target_kinds { document-anchor }
6
+ resolution must-resolve
7
+ }
8
+
9
+ predicate test-procedure {
10
+ kind citation
11
+ description "The test procedure the element follows (R 60-2's 2.x procedures)."
12
+ subject_kinds { form conformance_test }
13
+ target_kinds { document-anchor }
14
+ resolution must-resolve
15
+ }
16
+
17
+ predicate calculation {
18
+ kind citation
19
+ description "The computation procedure the element realizes (R 60-3's 2.1.x procedures)."
20
+ subject_kinds { form calculation }
21
+ target_kinds { document-anchor }
22
+ resolution must-resolve
23
+ }
24
+
25
+ predicate report-format {
26
+ kind citation
27
+ description "The report-format clause/table this form renders (R 60-3's clause 4-6 tables)."
28
+ subject_kinds { form field }
29
+ target_kinds { document-anchor }
30
+ resolution must-resolve
31
+ }
32
+
33
+ predicate derives-from {
34
+ kind citation
35
+ description "The clause this element is the model's interpretation of (provenance; the legacy source { doc clause } pair computed to one anchor)."
36
+ subject_kinds { requirement conformance_test form field calculation symbol term package }
37
+ target_kinds { document-anchor }
38
+ resolution must-resolve
39
+ inverse interpreted-by
40
+ }
41
+
42
+ predicate interpreted-by {
43
+ kind citation
44
+ description "The inverse of derives-from: the model element that interprets this clause."
45
+ subject_kinds { package }
46
+ target_kinds { document-anchor }
47
+ inverse derives-from
48
+ }
49
+
50
+ predicate cites {
51
+ kind citation
52
+ description "An informative citation (the legacy reference / specification_reference facets)."
53
+ subject_kinds { form field requirement conformance_test calculation symbol term package }
54
+ target_kinds { document-anchor }
55
+ }
56
+
57
+ predicate definition {
58
+ kind citation
59
+ description "The clause that DEFINES the quantity or notion this element records (distinct from derives-from — the clause the element interprets — and from the evidence roles)."
60
+ subject_kinds { form field }
61
+ target_kinds { document-anchor }
62
+ resolution must-resolve
63
+ }
64
+
65
+ predicate implements {
66
+ kind semantic
67
+ description "This (implementation-side) element fulfils that (reference-side) element — the reference/implementation mapping edge."
68
+ subject_kinds { package requirement conformance_test form field process data_class }
69
+ target_kinds { model-element }
70
+ inverse implemented-by
71
+ }
72
+
73
+ predicate implemented-by {
74
+ kind semantic
75
+ description "The inverse of implements."
76
+ subject_kinds { package requirement conformance_test form field process data_class }
77
+ target_kinds { model-element }
78
+ inverse implements
79
+ }
80
+
81
+ predicate equivalent {
82
+ kind semantic
83
+ description "The two elements state the same constraint (cross-standard equivalence; symmetric)."
84
+ subject_kinds { requirement conformance_test form field calculation symbol term }
85
+ target_kinds { model-element }
86
+ symmetric true
87
+ }
88
+
89
+ predicate supersedes {
90
+ kind semantic
91
+ description "This edition or element replaces the target (edition lineage, lifecycle)."
92
+ subject_kinds { package requirement conformance_test form }
93
+ target_kinds { model-element document-anchor }
94
+ }
95
+
96
+ predicate restates {
97
+ kind semantic
98
+ description "A normative restatement of the target without change (the layer-overlay vocabulary)."
99
+ subject_kinds { requirement conformance_test form field }
100
+ target_kinds { model-element }
101
+ }
102
+
103
+ predicate specializes {
104
+ kind semantic
105
+ description "A narrowing of the target (see the specialization facet for the structured class-instance mechanism — this predicate is the citation-grade variant)."
106
+ subject_kinds { requirement conformance_test }
107
+ target_kinds { model-element }
108
+ }
109
+
110
+ predicate cdd-concept {
111
+ kind semantic
112
+ description "The IEC CDD concept this term binds to (TODO.interop/06): the target is a full CDD concept IRDI (ISO/IEC 11179-6) resolvable through the OpenCDD network. Expert-authored, one per term; AAS semanticIds and DPP attribute alignments read this binding, never a per-item re-derivation."
113
+ subject_kinds { term }
114
+ target_kinds { external-iri }
115
+ }
116
+
@@ -0,0 +1,10 @@
1
+ package {
2
+ id oiml-smart-module-emc-disturbances
3
+ kind module
4
+ title "OIML SMART module-emc-disturbances layer package"
5
+ description "Disturbance test skeletons (esd, bursts, surge, rf-emf, conducted-rf, power-voltage-variation, short-time-power-reduction, low-battery) with parameterized form skeletons and verdict variants. Recs bind their own attribute ids, severities, acceptance expressions and clause URNs."
6
+ uses { oiml-smart-core }
7
+ requires { oiml-smart-core }
8
+ provides { disturbance-test-skeletons disturbance-form-skeletons disturbance-verdict-variants }
9
+ default_spelling eng-Latn
10
+ }
@@ -0,0 +1,10 @@
1
+ package {
2
+ id oiml-smart-module-env-iec60068
3
+ kind module
4
+ title "OIML SMART module-env-iec60068 layer package"
5
+ description "IEC 60068 environmental method skeletons: dry-heat, cold, damp-heat (cyclic | steady), vibration, shock, ambient-pressure, with form skeletons. Recs bind their own attribute ids, severities, acceptance expressions and clause URNs."
6
+ uses { oiml-smart-core }
7
+ requires { oiml-smart-core }
8
+ provides { env-method-skeletons env-form-skeletons }
9
+ default_spelling eng-Latn
10
+ }
@@ -0,0 +1,10 @@
1
+ package {
2
+ id oiml-smart-module-examination-docs
3
+ kind module
4
+ title "OIML SMART module-examination-docs layer package"
5
+ description "Documentation/marking examination checklist skeleton. Recs bind their documentation requirements, marking rules and clause URNs."
6
+ uses { oiml-smart-core }
7
+ requires { oiml-smart-core }
8
+ provides { examination-docs-skeleton }
9
+ default_spelling eng-Latn
10
+ }
@@ -0,0 +1,10 @@
1
+ package {
2
+ id oiml-smart-module-reference-materials
3
+ kind module
4
+ title "OIML SMART module-reference-materials layer package"
5
+ description "Reference-material record pattern (certified value + uncertainty), the test-point subform skeleton (cgm-point shape), and the U:MPE validity hook (acceptance decision rules, L7). Recs declare their concrete materials in specification/reference-materials.yaml and bind the test-point subform id + units + calculation ids + clause URNs."
6
+ uses { oiml-smart-core }
7
+ requires { oiml-smart-core }
8
+ provides { reference-material-pattern test-point-subform umpe-validity-hook }
9
+ default_spelling eng-Latn
10
+ }
@@ -0,0 +1,10 @@
1
+ package {
2
+ id oiml-smart-module-report-headers
3
+ kind module
4
+ title "OIML SMART module-report-headers layer package"
5
+ description "Bind-driven test-report header skeletons (identification + conditions blocks) and the PD-05 18-element checklist binding rules. Recs bind their header fields into the entity graph."
6
+ uses { oiml-smart-core }
7
+ requires { oiml-smart-core }
8
+ provides { report-header-skeletons checklist-binding-rules }
9
+ default_spelling eng-Latn
10
+ }
@@ -0,0 +1,10 @@
1
+ package {
2
+ id oiml-smart-module-software-d31
3
+ kind module
4
+ title "OIML SMART module-software-d31 layer package"
5
+ description "OIML D 31 software examination checklist skeleton + form. Recs bind their software-identification attributes, examination levels and clause URNs."
6
+ uses { oiml-smart-core }
7
+ requires { oiml-smart-core }
8
+ provides { software-examination-skeleton }
9
+ default_spelling eng-Latn
10
+ }
@@ -0,0 +1,228 @@
1
+ class TestRunEquipment#data {
2
+ description { "One piece of test equipment used in a run (metamodel D2 TestRun.equipment entry { id, calCert? }). Identity only — equipment is modelled as conditions (data/r60/model/conditions.yaml), not as an entity hierarchy." }
3
+ helper { true }
4
+ id: string {
5
+ modality SHALL
6
+ definition "Lab-local equipment identifier (e.g. force machine, chamber)"
7
+ }
8
+ cal_cert: string [0..1] {
9
+ modality MAY
10
+ definition "Calibration certificate reference (traceability)"
11
+ }
12
+ }
13
+
14
+ class ConditionsLogEntry#data {
15
+ description { "One logged influence-quantity value captured alongside a measurement (metamodel D2 EvidenceRecord.conditionsLog entry { quantityKind, value, unit }); quantity kinds per data/r60/model/conditions.yaml." }
16
+ helper { true }
17
+ quantity_kind: string {
18
+ modality SHALL
19
+ definition "Influence quantity kind (temperature, relative_humidity, barometric_pressure, ...)"
20
+ }
21
+ value: any {
22
+ modality SHALL
23
+ }
24
+ unit: string [0..1] {
25
+ modality MAY
26
+ }
27
+ }
28
+
29
+ class EvidenceRecord#data {
30
+ description { "A filled data-input slot of the run — mandatory evidence, typed by the form field it satisfies (metamodel D2 EvidenceRecord, embedded on TestRun.evidence). Per-measurement sign-off lives HERE (signed_by/signed_at), not on the FormInstance." }
31
+ helper { true }
32
+ field: string {
33
+ modality SHALL
34
+ definition "Form field name (data-input slot) this record fills, e.g. 'dmax', 'test_loads'"
35
+ }
36
+ value: reference(QuantityValue) {
37
+ modality SHALL
38
+ definition "Recorded value — QuantityValue { value, unit? }, never a bare number (INV-1)"
39
+ }
40
+ repetition: integer [0..1] {
41
+ modality MAY
42
+ definition "Repetition index (1-based) when the same slot is measured repeatedly"
43
+ }
44
+ conditions_log: reference(ConditionsLogEntry) [0..*] {
45
+ modality MAY
46
+ definition "Influence-quantity values logged at capture time (embedded)"
47
+ on_delete cascade
48
+ }
49
+ timestamp: datetime {
50
+ modality SHALL
51
+ }
52
+ signed_by: string [0..1] {
53
+ modality MAY
54
+ definition "Lab evaluator/supervisor name who signed this measurement off"
55
+ }
56
+ signed_by_account: string [0..1] {
57
+ modality MAY
58
+ definition "Account id of the signing operator (per-entry attribution for multi-operator runs, TODO.deploying/05); signed_by stays the display name"
59
+ }
60
+ signed_at: datetime [0..1] {
61
+ modality MAY
62
+ }
63
+ }
64
+
65
+ class RunOperator#data {
66
+ description { "One lab operator of a multi-operator test run (TODO.deploying/05 — loads need two people: one moves masses, one reads the instrument). Embedded on TestRun.operators; every evidence entry's sign-off attributes to one of these accounts. Provenance is per-entry and per-run — never just 'the lab'." }
67
+ helper { true }
68
+ account_id: string {
69
+ modality SHALL
70
+ definition "The operator's account id (the auth account's id; provenance key)"
71
+ }
72
+ name: string {
73
+ modality SHALL
74
+ definition "Display name"
75
+ }
76
+ role_note: string [0..1] {
77
+ modality MAY
78
+ definition "What this operator did on the run (lead, load handling, readings, …)"
79
+ }
80
+ signed_off_at: datetime [0..1] {
81
+ modality MAY
82
+ definition "When this operator signed off their part of the run's evidence"
83
+ }
84
+ }
85
+
86
+ class ConstraintCheckResult#data {
87
+ description { "Execution of one instrument-description.Constraint (R 60 profile DL.5, e.g. constr:r60:fig3-2b) against the run's bound values (metamodel D2 ConstraintCheck, embedded on TestRun.constraint_checks). A violated test-setup constraint invalidates the run AS A TEST, regardless of results." }
88
+ helper { true }
89
+ constraint: string {
90
+ modality SHALL
91
+ definition "Constraint id from the Recommendation profile (e.g. 'constr:r60:fig3-2b')"
92
+ }
93
+ evaluated_values: object {
94
+ modality SHALL
95
+ definition "Input name -> numeric value the OCL invariant was evaluated with"
96
+ }
97
+ result: enum {
98
+ modality SHALL
99
+ enum_values { satisfied violated }
100
+ }
101
+ effect_on_admissibility: string {
102
+ modality SHALL
103
+ definition "'invalidates_run' when a violated test-setup constraint voids the run; 'none' otherwise"
104
+ }
105
+ }
106
+
107
+ class RunAdmissibility#data {
108
+ description { "The admissibility gate of a run (metamodel D2 TestRunResult.admissibility map). Computed by the test-run service from evidence coverage, evidence units, and constraint-check outcomes." }
109
+ helper { true }
110
+ all_required_slots_filled: boolean {
111
+ modality SHALL
112
+ }
113
+ units_valid: boolean {
114
+ modality SHALL
115
+ }
116
+ conditions_within_envelope: boolean {
117
+ modality SHALL
118
+ }
119
+ status: enum {
120
+ modality SHALL
121
+ enum_values { admissible inadmissible }
122
+ }
123
+ }
124
+
125
+ class TestRun#data {
126
+ store { testRuns }
127
+ description { "One execution of one conformance test on one MeasuringInstrumentSample (metamodel D2 TestRun). Created per TestAssignment by the test-run service (one run per assignment, idempotent); bridged 1:1 to the FormInstance that acts as the run's evidence template. FACTS ONLY — verdicts belong to evaluation (Module D3)." }
128
+ indexes { test_assignment_id test_request_id sample_id laboratory_id standard_id status form_instance_id }
129
+ id: string {
130
+ modality SHALL
131
+ }
132
+ standard_id: string {
133
+ modality SHALL
134
+ }
135
+ conformance_test: string {
136
+ modality SHALL
137
+ definition "Conformance test id this run executes (form's conformance_test URN when declared, else the R 60-3 form id)"
138
+ }
139
+ test_assignment_id: reference(TestAssignment) {
140
+ modality SHALL
141
+ definition "The assignment (form × sample tuple) this run executes — one run per assignment"
142
+ on_delete cascade
143
+ required true
144
+ }
145
+ test_request_id: reference(TestRequest) [0..1] {
146
+ modality MAY
147
+ definition "Denormalized from the assignment for query efficiency"
148
+ on_delete nullify
149
+ required false
150
+ }
151
+ sample_id: reference(MeasuringInstrumentSample) {
152
+ modality SHALL
153
+ definition "The physical sample under test"
154
+ on_delete restrict
155
+ required true
156
+ }
157
+ laboratory_id: reference(TestLaboratory) {
158
+ modality SHALL
159
+ definition "Lab performing the run (denormalized from the assignment)"
160
+ on_delete restrict
161
+ required true
162
+ }
163
+ method_version: string [0..1] {
164
+ modality MAY
165
+ definition "Version pin of the test method/form schema (metamodel D2 methodVersion)"
166
+ }
167
+ operator: string [0..1] {
168
+ modality MAY
169
+ definition "Lab evaluator performing the run — the derived LEAD (operators[0].name) for compatibility; the full team lives in operators"
170
+ }
171
+ operators: reference(RunOperator) [0..*] {
172
+ modality MAY
173
+ definition "The lab operators who ran this run (multi-operator runs, TODO.deploying/05 — e.g. load handling needs two people); each entry signs off its own part of the evidence. operators[0] is the lead (the singular `operator` mirrors its name)"
174
+ on_delete cascade
175
+ }
176
+ started: datetime {
177
+ modality SHALL
178
+ }
179
+ ended: datetime [0..1] {
180
+ modality MAY
181
+ }
182
+ status: enum {
183
+ modality SHALL
184
+ definition "Lifecycle: PLANNED (created, no evidence yet) → IN_PROGRESS (evidence being recorded) → COMPLETED (admissible, form submitted) | INVALIDATED (a test-setup constraint was violated or the evidence is inadmissible — the run is void AS A TEST)."
185
+ enum_values { PLANNED IN_PROGRESS COMPLETED INVALIDATED }
186
+ }
187
+ equipment: reference(TestRunEquipment) [0..*] {
188
+ modality SHALL
189
+ definition "Equipment used, with calibration references (embedded)"
190
+ on_delete cascade
191
+ }
192
+ evidence: reference(EvidenceRecord) [0..*] {
193
+ modality SHALL
194
+ definition "Recorded data-input values with per-measurement sign-off (embedded)"
195
+ on_delete cascade
196
+ }
197
+ superseded_evidence: reference(EvidenceRecord) [0..*] {
198
+ modality MAY
199
+ definition "Evidence archive of a redone run (embedded): when an INVALIDATED run is redone (redoRun), its current evidence moves here verbatim — history is kept but no longer participates in admissibility."
200
+ on_delete cascade
201
+ }
202
+ redo_count: integer [0..1] {
203
+ modality MAY
204
+ definition "Number of times this run was redone from INVALIDATED (redoRun)"
205
+ }
206
+ constraint_checks: reference(ConstraintCheckResult) [0..*] {
207
+ modality SHALL
208
+ definition "Executed test-setup constraint checks (embedded; fig3-1/2a/2b, interval-consistency)"
209
+ on_delete cascade
210
+ }
211
+ form_instance_id: reference(FormInstance) [0..1] {
212
+ modality MAY
213
+ definition "1:1 link to the FormInstance that is the run's evidence template"
214
+ on_delete nullify
215
+ required false
216
+ }
217
+ admissibility: reference(RunAdmissibility) [0..1] {
218
+ modality MAY
219
+ definition "Computed admissibility gate (embedded helper); refreshed by computeAdmissibility"
220
+ }
221
+ created: datetime {
222
+ modality SHALL
223
+ }
224
+ modified: datetime {
225
+ modality SHALL
226
+ }
227
+ }
228
+
@@ -0,0 +1,10 @@
1
+ package {
2
+ id oiml-smart-module-specimen-governance
3
+ kind module
4
+ title "OIML SMART module-specimen-governance layer package"
5
+ description "Sample-selection rules schema and the EUT-continuity contract (specimens: continuity same_eut | same_eut_with_additional, governance rules), plus the test-execution entity layer (TestRun and helpers) the run-level specimen linkage builds on. Recs bind their sample-selection clauses and unit-continuity rules."
6
+ uses { oiml-smart-core }
7
+ requires { oiml-smart-core }
8
+ provides { sample-selection-rules eut-continuity-contract test-execution-entities }
9
+ default_spelling eng-Latn
10
+ }