Explainer
What Is a DMRL? The S1000D Data Module Requirement List

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.