Skip to main content

The Data Module Code (DMC)

Every data module needs a unique name. In S1000D that name is the Data Module Code (DMC). The DMC is a structured, machine-readable code. It is not random. Each part of the code tells you something about the data module: which product it belongs to, where in that product it applies, and what kind of information it holds. Because the code is structured, a tool can find, sort, and validate data modules without opening them. The DMC splits into two parts. The system-related part describes the object or equipment. The content-related part describes the type and meaning of the information.

DMC Decoder

Decode OK
Examples:
Model Identification CodeS1000DBIKEIdentifies the product / project this data module belongs to (e.g. a sample bike platform, or 1B = Eurofighter).
System Difference CodeAAADistinguishes alternative versions or configurations of the same system within the product.
Standard Numbering SystemD00-00-00Where this sits in the product breakdown: system → subsystem/sub-subsystem → assembly. Meaning is project-defined.
Disassembly Code01 · AAIdentifies the assembly/part being broken down, plus a variant for an alternative breakdown.
Information Code941 · AWhat kind of information this is. Leading digit 9 → Miscellaneous.900 family — Miscellaneous
Item Location CodeDInformation applicable to all three contexts (A, B and C)

The Standard Numbering System (SNS) is project-defined: the same numbers can mean different things on different programs. For example, an aircraft project might define 29-10-05 as Hydraulics → Main system → Tank. All DMCs shown here are illustrative values from the public S1000DBIKE sample data set.

The two parts of a DMC

A DMC is read left to right. The fields are joined by hyphens. The first group of fields is the system-related part. The last group is the content-related part.

PartFields it containsQuestion it answers
System-relatedModel Identification Code, System Difference Code, SNS (System / Subsystem / Sub-subsystem / Assembly), Disassembly Code, Disassembly Code VariantWhat hardware is this about, and where on it?
Content-relatedInformation Code, Information Code Variant, Item Location CodeWhat kind of information is this, and where is the task done?
A worked example from the watched repo

The s1kd-tools tutorial uses this example DMC for a fictional bicycle project:

BIKE-A-DA1-10-00-00B-720A-D

It reads as: model BIKE, system difference A, SNS DA1-10-00, disassembly code 00, disassembly variant B, information code 720 (install), information code variant A, item location D. In plain English: installation procedures for the brake pads. This is an illustrative example from the tutorial, not a real aircraft DMC.

The fields, one by one

The table below walks every field in order. Lengths and allowed values are set by the project's business rules, so treat the example values as illustrations.

#FieldWhat it identifiesExample
1Model Identification Code (MIC)The project or product the data module belongs to. For military and cross-organization projects the code is registered with NATO's Support and Procurement Agency (NSPA) so it stays unique.1B = Eurofighter; BIKE = the tutorial bike
2System Difference CodeSeparates alternative systems that would otherwise share the same SNS, for example the same subsystem from a different manufacturer.A
3SNS — SystemThe top level of the product breakdown (see the SNS page).29 = Hydraulics
4SNS — Subsystem / Sub-subsystemThe next two levels down inside that system.29-10 = Main system
5SNS — Assembly / UnitThe lowest SNS level: a sub-assembly or unit.29-10-05 = Tank
6Disassembly CodeExtends the breakdown further, to identify the part of the assembly the data module is about.00
7Disassembly Code VariantMarks a variant of that part, for example two brake pads that fit the same place but come from different makers.A, B, C
8Information Code (IC)What kind of information this is (description, procedure, fault, install, and so on). See Information Codes.720 = assemble / install / connect
9Information Code VariantDistinguishes alternative procedures that reach the same result.A
10Item Location Code (ILC)Where the task is performed, relative to the equipment.AD

The system-related part answers what hardware, and where on it.

  • Model Identification Code (MIC) — A globally unique code for the project, two to fourteen uppercase letters and digits. Eurofighter, for example, uses 1B. The MIC keeps one project's data modules from colliding with another's; for projects whose data is shared between organizations it is registered with NATO's NSPA so two programs never claim the same code.
  • System Difference Code — A short code that separates designs which share the same numbering. Use it when two suppliers deliver the same subsystem, or when a later variant reuses an existing SNS.
  • Standard Numbering System (SNS) — The heart of the system-related part. It places the data module in the product breakdown across four levels: system, subsystem, sub-subsystem, and assembly. The classic example is 29-10-05 = Hydraulics → Main system → Tank.
  • Disassembly Code and Variant — These extend the breakdown below the SNS. The disassembly code identifies the specific item; the variant flags a physical difference between items that share the same location and function.

The content-related part answers what kind of information, and where the work happens.

  • Information Code (IC) — A three-digit code for the purpose of the data module. The primary families are: 000 description, 100 operation, 200 servicing, 300 examinations and tests, 400 fault reports and isolation, 500 disconnect and remove, 600 repairs, 700 assemble and install, 800 storage, 900 miscellaneous.
  • Information Code Variant — A single character that separates alternative procedures that achieve the same result, for example two valid ways to install the same part.
  • Item Location Code (ILC) — A single character that says where the task is carried out:
ILCMeaning
AOn components installed in the system
BOn components installed in an assembly that has been removed from the system
COn components on the bench
DApplies to all three contexts above
Why the structure pays off

Because the DMC is built from fixed fields, a toolchain like s1kd-tools can answer questions by reading file names alone: show every install procedure (7xx) for the hydraulics system (29). No full-text search and no opening files. That is the point of source-once, structured data.

Filenames carry more than the DMC

In a CSDB, the file name usually adds an issue number, an in-work number, and a language code after the DMC, for example ..._001-00_EN-US. Those extra fields track the version and language of the data module, not its identity. The DMC itself stays stable across issues.

How to read a DMC quickly

  1. Read the first field to learn the product (MIC).
  2. Read the SNS to learn where on the product it applies.
  3. Read the Information Code to learn what kind of content it is.
  4. The remaining fields refine the answer: differences, variants, and where the task is done.

Try it above: paste a DMC into the decoder, or use the presets, and watch each field expand into plain English.

Sources