Technical manuals
What is a BREX data module?
A BREX data module holds an S1000D project's machine-checkable business rules: default and project BREX, layers, BRDPs, and the Army and Air Force rules.
Oct 25, 202614 min read13 sources
Why it matters
The Army and Air Force S1000D business rules both require a project BREX that references the next higher layer, so a manual delivered without one fails the rules.
The short version
- 1MIL-STD-3048A defines a BREX as an S1000D-authored data module containing machine-verifiable business rule decisions, exchanged in a standard form.
- 2BREX modules are layered: the DIG business rules show S1000D, DIG, national, military, and project layers, and every S1000D issue package from 2.2 through 7 lists a default BREX.
- 3Business rule decision points (BRDPs) are the questions a project must answer; S1000D Issue 4.1 Chapter 2.5.3 indexes them with identifiers such as BRDP-S1-00001.
A BREX data module is the S1000D data module that carries a project's business rules in a form software can check. BREX stands for business rules exchange. MIL-STD-3048A, the Air Force business rules for S1000D dated April 29, 2016, defines it as "an S1000D-authored data module containing machine-verifiable business rule decisions" and says it provides a structure for the standardized, unambiguous exchange of business rules. Every other data module in a project points to the BREX it must obey, each S1000D issue since 2.2 ships a default BREX, and projects write their own BREX on top of it in layers. This post covers what business rules and decision points are, what a BREX encodes, how the default and project BREX relate, how the reference works, and what the Defense Interest Group, the Air Force, the Army, and civil aviation have published as examples.
Business rules and decision points in S1000D
S1000D, the international specification for technical publications built from XML data modules in a common source database, is written to serve many kinds of projects, and that flexibility is the reason business rules exist. A 2011 NAVSEA acquisition guide from the Naval Surface Warfare Center, Carderock Division, explains that the specification achieves this flexibility by incorporating decision points, that the acquiring and preparing activities must resolve them before technical manual development begins, and that "the resolutions of these decision points are called business rules." The decision points let similar organizations or communities of interest tailor the specification to their own practices. The specification itself is described in the post on what S1000D is.
The specification catalogs its decision points. The Defense Interest Group's DIG business rules say the baseline for their table is the business rule decision points index in S1000D Issue 4.1, Chapter 2.5.3, and MIL-STD-3048A says the identification scheme for decision points is found in the same chapter. Each decision point has a location in the specification, a unique identifier such as BRDP-S1-00001, a title, and a definition that usually begins with the word "Decide." The Issue 7 download page on users.s1000d.org lists a business rules project decision point index, a business rules template, and a default BREX module in the package, alongside the specification document, the data dictionary, and the XML schema package.
Two groups inside the S1000D organization own the subject. The organizational structure page lists a Business Rules Working Group among the five standing working groups that do the day-to-day work of developing changes to the specification and schemas, and describes the Defense Interest Group as an independent body representing defense customers that carries their requirements to the Steering Committee and Council. The About page lists business rules exchange among the information types a data module's content section can take, next to crew, description, procedural, fault, illustrated parts data, schedules, wiring, and process module.
The NAVSEA guide also explains why the rules matter contractually. Some project business rules, such as those affecting functionality, depth and breadth of content, deliverables, or cost, may be decided by the acquiring activity before solicitation; others, dealing with implementation methods and optional functionality, are best decided with the preparing activity at the start of work. The guide recommends making the final set of project business rules a contract deliverable.
What a BREX data module encodes
A BREX is an ordinary data module in form, with an identification and status section and a content section, written to its own schema. The Army's MIL-STD-3031, dated September 30, 2009, lists information code 022, variant A, with the information name Business Rules and the short form BREX in its table of information codes. The information code is the part of the data module code that says what kind of information a module holds, so a module whose code carries 022 is a BREX.
What goes inside comes from the rules the services and the DIG have written against the BREX chapters of the specification. MIL-STD-3048A follows the chapter structure of S1000D, and its section 5.50 covers Chapter 4.10, Information management, Business rules exchange. The content falls into a few kinds:
- The reference upward. Paragraph 5.50.1.3 says the project BREX shall use a specific data module code to populate "the mandatory BREX Reference," meaning the brexDmRef element that points to the next higher BREX. The example in the standard is the Air Force BREX itself.
- Standard numbering system rules. Section 5.51 requires projects to document their standard numbering system (SNS), the part of the data module code that identifies the system, subsystem, and assembly, using the snsRules branch of the BREX: the element snsDescr for a description of each system, snsTitle for its technical name, and snsSystem, snsSubSystem, snsSubSubSystem, and snsAssy for every applicable code. Joint Service rule JS-047, in paragraph 5.40.1.1, says the SNS shall be documented in the project business rules and included in the BREX to the extent possible. MIL-STD-3031 has the same rule in paragraph 5.68.1.2 and says in 5.83.1.1 that the project shall use the BREX to exchange information on the applied SNS.
- Context rules. Section 5.52 covers Chapter 4.10.2.2, BREX data module, Context related rules, and requires projects to use the element notationRule to document notation restrictions. MIL-STD-3031 paragraph 5.83.2.1 says a project may exclude one or several of the notations S1000D allows and that these restrictions are to be included in the BREX.
- Element and attribute decisions. The DIG rules give two examples of decisions that live in the BREX: BRDP-S1-00237 says the BREX shall always be used to define any genericPartData element names, and BRDP-S1-00370 says the BREX data module shall be used to impose restrictions on the formats of illustrations, multimedia objects, and other data.
MIL-STD-3031 states the general principle in Appendix C: the project business rules identified in a completed Table C-I "shall be reflected in the project BREX to the greatest extent possible." The qualifier matters. Not every business rule can be expressed as a machine-checkable constraint; those that can belong in the BREX, and the rest live in the written business rules document that the BREX accompanies.
The default BREX and the layered BREX
The download descriptions on users.s1000d.org list a default BREX in every issue package from Issue 2.2 through Issue 7. The Issue 7 package lists a default BREX module, and MIL-STD-3031 cites the specification chapter titled Business rules exchange, the BREX default data module, Chapter 4.10.3 in the issue it covers. The default BREX encodes the constraints of the specification itself, and it sits at the top of what the services and the DIG call the layered BREX concept.
The DIG rules draw the layers in a figure: S1000D at the top, then DIG, then national, then military, then project. The document's purpose statement says the DIG business rules were developed to produce a common DIG layer for defense business rules based on the S1000D decision points, with the DIG layer as "the foundation layer." The s1000d.org external links page describes the DIG rules the same way and lists two other published layers beside them: ATA Spec 1000BR for civil aviation and Shipdex for the shipping community.
The U.S. services write the layering into their rules. MIL-STD-3048A paragraph 5.50.1.1 carries Joint Service rule JS-059: projects shall create and use a project BREX, and "the project-BREX shall use the layered BREX concept to reference the next higher level BREX." JS-116, on the use of layered BREX data modules, simply points back to JS-059. MIL-STD-3031 paragraph 5.19.1.20 says the project shall develop a project-specific set of business rules and its own BREX data module, that the project BREX shall use the layered BREX concept to extend the Army BREX, and that project business rules shall not supersede or contradict Army business rules. Paragraph 5.81.1.1 restates the rule and marks it as Joint Service.
The NAVSEA guide gives the Navy's order of precedence for the written rules the BREX layers mirror: Joint Service, Department of the Navy, NAVSEA, Community, Project. Rules at one level cannot supersede rules set at a higher level, Joint Service, Department of the Navy, and NAVSEA rules are mandatory for all NAVSEA programs, and some NAVSEA communities of practice have their own community rules. The DIG makes the layered BREX a decision in its own right: BRDP-S1-00367 asks whether to apply a layered BREX data module structure, and the DIG decision is that one shall be applied. BRDP-S1-00366 asks whether to develop a project-specific BREX, and the DIG answer is that the project should refer to the most appropriate BREX within the layers and develop its own only if required.
The DIG also states the principles behind its own decisions: use lessons learned from previous national and NATO Support and Procurement Agency projects, use the default options whenever specified, and consider the impact of each decision point on cost, schedule, skills, and tools.
How every data module references its BREX
The identification and status section of every S1000D data module carries a brexDmRef element, which the Issue 7 schema makes required and MIL-STD-3048A calls mandatory. The Air Force standard prints the exact code a project BREX must reference, which doubles as a worked example of how a BREX is identified:
| dmCode attribute | Value in the USAF BREX reference |
|---|---|
| modelIdentCode | USAF |
| systemDiffCode | 0A00 |
| systemCode, subSystemCode, subSubSystemCode | 00, 0, 0 |
| assyCode | 00 |
| disassyCode, disassyCodeVariant | 00, 00 |
| infoCode, infoCodeVariant | 022, A |
| itemLocationCode | D |
The model identification code USAF marks it as the Air Force layer, the zeros in the system and assembly positions show that it applies to no particular hardware, and information code 022 marks it as a BREX. MIL-STD-3048A says the Air Force BREX can be obtained from the Technical Manual Specifications and Standards site at Wright-Patterson Air Force Base. MIL-STD-3031 paragraph 5.82.2.1 adds the project decision that precedes the reference: the project decides which set or sets of business rules are allowed and, accordingly, which BREX data module or modules reflect them.
Because the reference is a data module code, the BREX chain can be followed from any module: the module points to the project BREX, the project BREX points to the service or organization BREX, and that points to the S1000D default BREX. The DIG rules show the same thing from the other direction when they record BRDP-S1-00001, the first decision point in the index, which asks whether and when to use the letters I and O. The DIG decision is that I and O may appear only in the model identification code and nowhere else in a data module code.
Examples from the DIG business rules
The DIG document is the most accessible public example of a layered rule set because it is published in full. The title is S1000D DIG Business Rules, publication DIG-B6865-01000-00, Issue 1, dated April 3, 2017, written against S1000D Issue 4.1, with a statement that the DIG will maintain it in line with later issues. The copy linked here is hosted on the S1000D pages of the logistics portal of FMV, the Swedish defense materiel agency; the s1000d.org external links page points to a copy on another site. The document is laid out as S1000D data modules, each with a code such as DIG-A-02-02-0000-00A-040A-A, though the page footers show the modules were saved as .docx files, and its user agreement names the documented business rules and "the DIG BREX data module" as the two parts of the DIG suite of information.
Chapter 2.2 is a table with five columns: the decision point's location in the specification, its unique identifier, its title, its definition copied from Chapter 2.5.3, and the DIG decision. A sample of the decisions shows the kinds of rules a BREX ends up carrying:
| BRDP | Question the specification asks | DIG decision |
|---|---|---|
| BRDP-S1-00001 | Whether and when to use the letters I and O | Only in the model identification code |
| BRDP-S1-00119 | Whether to allow cross-references from titles | Not allowed |
| BRDP-S1-00180 | Whether descriptive data modules may exceed 5 levels of depth | Not for new projects; legacy data may |
| BRDP-S1-00186 | Maximum number of step levels in a procedure | 5 for new projects |
| BRDP-S1-00216 | How to record a NATO stock number | Split into its three attributes |
| BRDP-S1-00279 | Maximum step levels in a checklist procedure | 5; legacy data may exceed it |
| BRDP-S1-00304 | Whether to use a hierarchical table of contents, and how deep | Up to 5 levels |
| BRDP-S1-00306 | Whether to show issue number and date in the table of contents | Not shown |
| BRDP-S1-00338 | Two or four characters in the assembly code | Four |
| BRDP-S1-00350 | Whether to use a data management requirement list | Always, in a project-specified format |
Some decisions follow guidance written into the decision point itself: the BRDP-S1-00186 definition says exceeding five step levels is strongly discouraged in new data, and the DIG sets five as the maximum for new projects. The chapters on how to use and how to update the DIG rules say that guidance will come in a future issue.
Examples from the Air Force and Army rules
The two U.S. service standards show how a national or military layer is written. MIL-STD-3048A says its section 5 follows the chapter structure of S1000D Issue 4.1, limited to the subchapters that have Air Force or Joint Service rules. Joint Service rules are S1000D business rules agreed upon by the U.S. military services, identified as JS-NNN, and the standard says all Joint Service rules for Issue 4.1 are contained in it in their entirety. Decision points that S1000D does not cover but the Air Force must are labeled BRDP-AF-NNNNN and collected in Appendix A, which lists 25 of them, from BRDP-AF-00001, a list of permitted Commercial and Government Entity codes for the responsible partner company, through units of measurement, applicability cross-reference tables, the pubMedia element, page-oriented presentation requirements, alternating table row colors, and tool tips. The ASSIST database shows MIL-STD-3048 active at Revision C, dated May 15, 2023, with 170 pages. Revision C still applies only to Issue 4.1 and keeps JS-059 and the USAF BREX code, renumbered as 5.49.1.1 and 5.49.1.3.
MIL-STD-3031 is organized the same way, with Army business rules and project decisions under each S1000D chapter. The base document of September 30, 2009 was written for S1000D Issue 4.0; the ASSIST record for MIL-STD-3031 shows Revision B of September 30, 2024 with Change Notice 1 of July 31, 2025, now written for Issue 4.2. The Army standard pairs its BREX requirement with a worksheet: Appendix C asks the project to complete Table C-I, a listing of the business rules it has decided, and paragraph C.4.4 requires those decisions to be reflected in the project BREX. Paragraph 5.82.2.1 leaves the choice of which BREX data modules apply as a project decision, and 5.83.2.1 lets the project exclude notations through the BREX. Revision B with Change 1 keeps these rules under new numbers: the project BREX rule is 5.19.1.24, the layered BREX rule 5.73.1.1, and SNS documentation 5.60.1.4, while using the BREX to exchange the SNS, a shall in 5.83.1.1 of the 2009 edition, is now decision point BRDP-S1-00369 in 5.75.2.1.
Both standards treat the standard numbering system as BREX content. The Army rule in 5.68.1.2 and the Air Force rule JS-047 use the same words: the SNS shall be documented in the project business rules and included in the BREX to the extent possible. A reviewer who wants to know a project's SNS can therefore read it from the snsRules branch of the project BREX rather than from a separate document.
Civil aviation and other BREX layers
Civil aviation has its own layer. The Spec 1000BR page on the Airlines for America publications site says S1000D is designed to allow tailoring through project-specific business rules and that ATA Spec 1000BR provides the business rules and additional guidance for implementing S1000D in civil aviation. Each version corresponds to a specific issue of S1000D: the page lists ATA Spec 1000BR_4.1, 1000BR_4.2, and 1000BR_6, each at Revision 2026.1, and shows Issue 4.0 and earlier, Issue 5.0, and Issue 7 as not supported for civil aviation use. The s1000d.org external links page lists Spec 1000BR, the DIG rules, and Shipdex, the shipping community's protocol, as the three national or organizational business rule sets published alongside the specification.
The pattern is the same in each case. The specification publishes the decision points and a default BREX; an industry or defense community publishes a layer of decisions and its own BREX; a service or nation adds a layer; and a project writes the last layer, referencing the one above it. A program office that receives a data module set can ask for the chain of BREX data modules and read the project's choices from them.
What to check
- Does every delivered data module carry a brexDmRef, and does it point to the project BREX rather than straight to the S1000D default BREX?
- Does the project BREX reference the next higher layer, the Air Force BREX under MIL-STD-3048A JS-059 or the Army BREX under MIL-STD-3031 5.19.1.20 (5.19.1.24 in Revision B with Change 1), and do its rules avoid contradicting that layer?
- Which issue of S1000D does the BREX chain assume, given that MIL-STD-3048A was written for Issue 4.1 and the current MIL-STD-3031 for Issue 4.2?
- Is the standard numbering system documented in the snsRules branch, as both service standards require to the extent possible?
- Are the project's written business rules, the Table C-I of MIL-STD-3031 or their equivalent, a contract deliverable, as the NAVSEA guide recommends?
- Have the business rules that cannot be expressed in the BREX been recorded somewhere a reviewer can check them?
Azcuna's TRACE is one offline viewer for S1000D, MIL-STD-3001 XML, and PDF technical manuals. It keeps the source location and the markings of everything it shows and never modifies the source. It was proposed to NAVAIR under Navy SBIR Phase I topic DON26BZ05-NV078, and the proposal was submitted on September 23, 2026.
Questions people ask
What is BREX in S1000D?
BREX is the business rules exchange data module. MIL-STD-3048A, the Air Force business rules for S1000D, defines it as an S1000D-authored data module containing machine-verifiable business rule decisions, and says it provides a structure for standardized formal exchange and unambiguous definition of business rules. The s1000d.org About page lists business rules exchange among the information types a data module can carry. Every data module points to the BREX it must obey through a brexDmRef element.
What does BREX stand for?
BREX stands for Business Rules EXchange. The DIG business rules document lists the abbreviation that way alongside BR for business rules and BRDP for business rules decision point. In S1000D, business rules are the decisions a project makes to tailor the specification. A 2011 NAVSEA guide explains that the specification contains decision points and that the resolutions of those decision points are called business rules. The BREX is the data module that carries the decisions in a form software can read.
What is the default BREX?
The default BREX is the business rules exchange data module that ships with each issue of S1000D from Issue 2.2 on. The download page for Issue 7 on users.s1000d.org lists a default BREX module in the package next to the specification, the XML schemas, a business rules template, and the business rules project decision point index. MIL-STD-3031 cites the S1000D chapter titled Business rules exchange, the BREX default data module. The default BREX sits at the top of the layered structure that project BREX modules reference.
What is a project BREX?
A project BREX is the business rules exchange data module a specific program writes for its own rules. MIL-STD-3048A, in Joint Service rule JS-059, says projects shall create and use a project BREX and that it shall use the layered BREX concept to reference the next higher level BREX. MIL-STD-3031 says the project BREX shall extend the Army BREX and that project rules shall not supersede or contradict Army rules. The DIG rules, in BRDP-S1-00366, say a project should first look for the most appropriate existing BREX in the layers.
What is a BRDP in S1000D?
A BRDP is a business rule decision point, a place where S1000D leaves a choice to the project. The DIG business rules document says the business rule decision points index in S1000D Issue 4.1 Chapter 2.5.3 is the baseline for its own table, and reproduces each decision point's location, unique identifier, title, and definition, such as BRDP-S1-00001 on the use of the letters I and O in data module codes. MIL-STD-3048A labels decision points unique to the Air Force BRDP-AF-NNNNN.
How does a data module reference its BREX?
Through the brexDmRef element in its identification and status section, which carries the data module code of the governing BREX. MIL-STD-3048A calls this the mandatory BREX reference and prints the code every Air Force project BREX must point to: model identification code USAF, system difference code 0A00, information code 022 with variant A, and item location code D. Information code 022 is the code for business rules in the Army rules' information code table as well.
Does MIL-STD-3048 require a BREX?
Yes. MIL-STD-3048A paragraph 5.50.1.1 carries Joint Service rule JS-059: projects shall create and use a project BREX, and the project BREX shall use the layered BREX concept to reference the next higher level BREX. Paragraph 5.50.1.3 gives the data module code of the Air Force BREX the project BREX must reference, and paragraphs 5.51 and 5.52 require the snsRules branch and notationRule elements. The current Revision C, dated May 15, 2023, keeps JS-059 at 5.49.1.1.
What is the DIG business rules document?
The S1000D DIG Business Rules, publication DIG-B6865-01000-00 Issue 1 dated April 3, 2017, is the Defense Interest Group's layer of business rules, written against S1000D Issue 4.1. The s1000d.org external links page describes it as a common DIG layer built on the S1000D business rule decision points as a foundation for layered rules. The document reproduces each BRDP from Chapter 2.5.3 and records the DIG's decision, and its user agreement names a DIG BREX data module as part of the DIG suite.
What is ATA Spec 1000BR?
ATA Spec 1000BR is the civil aviation business rules for S1000D, published by the ATA e-Business Program of Airlines for America. The A4A publications page says each version of Spec 1000BR corresponds to a specific issue of S1000D and lists Revision 2026.1 editions for Issue 4.1, Issue 4.2, and Issue 6, while Issue 4.0 and earlier, Issue 5.0, and Issue 7 are shown as not supported for civil aviation use. The s1000d.org external links page lists it beside the DIG rules and Shipdex.
Sources
- 1About S1000D · S1000D Council and Steering Committee (s1000d.org)
- 2S1000D Organizational Structure · S1000D Council and Steering Committee (s1000d.org)
- 3External Links · S1000D Council and Steering Committee (s1000d.org)
- 4Download - Issue 7 · S1000D Council and Steering Committee (users.s1000d.org)
- 5Download - Issue 2.2 · S1000D Council and Steering Committee (users.s1000d.org)
- 6S1000D Issue 7 XML schema, complexTypes.xsd · ASD, AIA and ATA e-Business Program, S1000D online data dictionary, issue date July 16, 2026
- 7S1000D DIG Business Rules, DIG-B6865-01000-00, Issue 1 · S1000D Defense Interest Group, April 3, 2017, hosted by FMV (logistikportalen.fmv.se)
- 8MIL-STD-3048A, Air Force Business Rules for the Implementation of S1000D · Department of the Air Force, April 29, 2016, via EverySpec
- 9MIL-STD-3031, Army Business Rules for S1000D · Department of the Army, September 30, 2009, via EverySpec
- 10NSWCCD-20-TR-2011/06, Procedures for the Acquisition and Development of NAVSEA TMs/IETMs in Accordance with International Specification S1000D · Naval Surface Warfare Center, Carderock Division, October 2011
- 11MIL-STD-3048, Air Force Business Rules for the Implementation of S1000D (ASSIST-QuickSearch Document Details) · Defense Logistics Agency, ASSIST-QuickSearch
- 12MIL-STD-3031, Army Business Rules for S1000D (ASSIST-QuickSearch Document Details) · Defense Logistics Agency, ASSIST-QuickSearch
- 13Spec1000BR: Civil Aviation Business Rules for S1000D · Airlines for America Publications
Where this shows up in our work
- TRACE, the offline S1000D and IETM viewer opens S1000D, MIL-STD-3001 and PDF technical manuals on a tablet with every marking intact.
- ELLMENT, the offline LLM for E-2D crews answers a crew's question from the aircraft's own manuals and cites the page, with no network.
