2 min read

Define — author a reference model

WHO THIS IS FOR The Define pillar is for Publishers — standards bodies, industry consortia, regulators, or any organisation that publishes a model for others to consume. See Publishers.

Define is the act of authoring a reference model: a published Primmel model that other organisations may adopt and map their implementations to. It is the first pillar of the lifecycle.

Who publishes a reference model

Reference-model publishing is not exclusive to standards bodies. The defining feature of a reference model is that it is published for others to map to, not who published it. Common publishers include:

  • Standards bodies (BSI, OIML, ISO, IEC, etc.) — publish reference models for their published standards.
  • Industry consortia — publish reference models for sector-wide best practices.
  • Regulators — publish reference models for compliance frameworks they enforce.
  • Large organisations — publish reference models for internal frameworks, intended for their subsidiaries, suppliers, or business partners to map to.

Output artifacts

A Define pillar produces:

  • A reference .prl model — the core artifact. Contains the reference processes, data classes, provisions, and references.
  • An optional .prd extract — clause-level content from the source standard document. Useful for tooling that needs the original normative text.

The reference .prl is what adopters actually consume. The .prd is supporting material — it lets adopters follow a provision back to the literal text it derives from.

What goes in a reference .prl

A reference model is structurally identical to any Primmel model:

root AcmeCoffeeStandard

version "v1.0.0"

metadata {
  title "Office Coffee Standard"
  schema "Primmel 0.1"
  edition "1"
  author "Office Coffee Standards Body (fictional)"
  shortname "OCS"
  namespace "OCS"
}

role Org { name "Organization" }

process SourceBeans {
  name "Source beans from approved suppliers"
  modality SHALL
}

provision Provision4-2-1 {
  condition "The organization shall source beans only from approved suppliers"
  modality SHALL
}

The conventions in a reference model are slightly different from an implementation model:

  • Namespace discipline — the metadata.namespace value is the namespace prefix other models use to import this model’s elements (e.g. OCS#SourceBeans).
  • No validate_provision — a reference model declares requirements; it doesn’t bind any process to them. That binding is the adopter’s job.
  • reference { ... } everywhere — every provision cites the source standard clause it derives from.

Where to see it in action

After publishing

Once published, the reference model enters the flow: an organisation’s Implement pillar may already have an implementation .prl for its own operations. When the organisation decides to take up this reference model, it moves to the Implement pillar.