Skip to main content
ShakewellContact

Explainer

What Is a DMRL? The S1000D Data Module Requirement List

Before an S1000D program writes a single data module, it lists every module it owes. That list is the DMRL, and it is the difference between a deliverable you can count and one you can only argue about.

The Answer

A List of Everything the Program Owes

DMRL stands for Data Module Requirement List: the S1000D list of every data module, and every publication module, that a project must produce. Each entry names one module by its data module code, with its title and the partner company responsible for writing it.

S1000D defines it in Chapter 4.5, on data management lists. The list is itself an S1000D object, stored in the CSDB beside the content it describes, and its entries can reference modules that do not exist yet. That is the point: the DMRL is written first, and authoring fills it in.

It is the instrument that converts a vague deliverable into a countable one. Until a DMRL exists, an S1000D estimate is a guess. Once it exists, scope is a number of modules, and completion is arithmetic rather than opinion.

The Rules

What the Specification Says About It

The default business rules exchange data module (the BREX) that ships with every issue from 4.1 to 7 checks data management lists against these rules:

What it lists
Every data module and publication module the project needs, each with its title and the partner company responsible for it.
What it leaves out
Issue information. A DMRL says what must exist, not which issue of it exists today.
What it may not contain
Comments, or other data management lists.
Its companion
The CSDB status list (CSL), which uses the same structure but records the issue numbers of what is actually in the database.

The Code

How a DMRL Is Identified

Like every S1000D object, a data management list has its own code. It starts with DML, then the model identification code (2 to 14 characters), the five-character sender code, a one-letter list type, the four-digit year, and a five-digit sequence number that starts at 00001:

DML-<model>-<sender>-<type>-<year>-<sequence>

The list type is what separates a DMRL from a CSDB status list. The schema allows three values: s is a CSL, and c and p are DMRLs. S1000D tools and vendor documentation describe the two DMRL types as c for a complete list and p for a partial one, which is how multi-partner programs let each partner maintain its own share.

In Practice

Building One

The order matters. Choose the SNS first, because the breakdown decides which modules exist. Then build the DMRL from it: for each system and assembly, the descriptions, procedures, and fault isolation modules the business rules require. Only then start authoring.

Tooling can do much of the mechanical work. The open-source s1kd-tools, for example, can generate a DMRL from SNS rules and then create a stub data module for every entry, so the CSDB starts life with the full scope in place. (Our guide to free S1000D tools covers it.) The U.S. Navy uses its DMRL the same way: its data item description, DI-TMSS-81805A, describes the list as the means to initiate data module templates in the Navy's CSDB.

The failure mode is treating the DMRL as a planning document instead of a living one. Scope changes, modules split and merge, and a DMRL nobody updates stops being the measure of progress within months. Keep it in the CSDB, change it under the same control as content, and compare it with the CSL often. The gap between the two is your remaining work. Our S1000D startup checklist puts it in sequence with the other early decisions.

FAQ

Questions We Hear

What does DMRL stand for?

Data Module Requirement List (also written Data Module Requirements List). It is the S1000D list of every data module, and every publication module, that a project must produce.

What is the difference between a DMRL and a CSL?

The DMRL is the plan: what must exist, with no issue information. The CSDB status list (CSL) is the record: what is in the database now, with issue numbers. Both are data management lists with the same structure, told apart by the list type in the DML code, where "s" marks a CSL.

Is a DMRL a contract deliverable?

It can be. The U.S. Navy has a data item description for it, DI-TMSS-81805A, "Data Module Requirements List (S1000D)" (November 2020), so a contract can call for the DMRL as a deliverable in its own right. Whether yours does is in the contract data requirements list.

When should a DMRL be created?

After the product breakdown (the SNS) is chosen and before anyone writes a data module. It is the list that turns the breakdown into a countable scope, so estimating and progress tracking both start from it.

Is DMRL also a research laboratory?

Yes. DMRL is also the Defence Metallurgical Research Laboratory, a DRDO laboratory in Hyderabad, India. It has nothing to do with S1000D; this page covers the documentation meaning.

Get In Touch

Need a DMRL You Can Price?

We build DMRLs from the product breakdown and the business rules, so scope, estimate, and progress all come from the same list.