This is a repository to host preconverted ReqIF files of the ETCS subset023 (Baseline 3.0.0) and subset026 (Baseline 2.3.0.d and 3.3.0). The tool used to create these files and some more background info can be found here. See the image below (excerpt taken from chapter 3 of subset026 in Version 3.3.0) to get an impression of what this is all about.
The main benefits of ReqIF over Word as the file format for storing / exchanging ETCS requirements may be summarized as follows: ReqIF...
- ... was particularly invented with requirement specifications in mind. Hence it has features like traceability and custom metadata for each requirement built in.
- ... is an open standard and (due to being XML-based and domain-targeted) easily parsable. This lends it to long-term storage.
- ... is supported natively by a wide range of industry-standard RM-tools (DOORS / DOORS NG, reqtify / SCADE, ProR, etc.)
- ... adds a lot of structure to a requirement document. So properties like links between requirements, their legal obligation, types of textual artifacts (Note, Example, etc.) all become automatically processable (e.g. they can be searched for) and differences between different revisions (Baselines) of a document can be much easier computed.
- General structure of this repo
- Prerequisites to use the ReqIF files
- Using the ReqIF files
- Final remark
There is a directory for each chapter of the subset026. In each of those directories you will find
- the input document which was used for the conversion (in MS DOC format)
- the output document (uncompressed ReqIF data)
- a text document containing the output of the tool during the conversion process (mostly warnings)
- a README with specific information about the chapter (if applicable)
- a
mediasubdirectory with linked media artifacts (if the respective chapter contains media) - a
statisticssubdirectory (only for subset026). See the dedicated README for details.
- Download the ReqIF of choice
- Get a current version of formalmind Studio
- Start formalmind Studio and use a new workspace
- Do
File->New->Project - Select
General->ProjectandNext - Specify a name, leave the default location and click
Finish - Right click the newly created project in your Project Explorer and select
Import... - Select
General->File System - Click on
Browseand select the directory where you stored the ReqIF from step 1 - Tick the ReqIF file from step 1 in the right panel
- Click
Finish - If there is also a
mediasubdirectory for your chapter, import this the same way. For Step 5.2: Make sure the OptionCreate top-level folderis active and select all files in this folder. In the Project Tree you should end up with a copy of the entiremediadirectory as a subdirectory of the folder containing your ReqIF file. - Open the Project Tree in your Project Explorer and double click the newly imported ReqIF
- Either you already see the requirements grid or it needs another final double-click on that single button below the text: Doubleclick below to open a specification.
Here are some additional technical notes and an explanation on the data provided in the ReqIF files.
- The reference renderer for the input files is Microsoft Word 2003 on Windows XP. Other versions of Word (from Version 97 onwards) should produce similar renderings. However, please do not attempt to compare the output ReqIF with the visual representation obtained from any third-party tool (e.g. one of the many Staroffice descendants) or even the PDFs.
- The reference renderer for the output files is formalmind Studio in version 1.0.0.201512091947. Please do not attempt to open the files with stock ProR or the openETCS tool. You may, however, try with other tools known to support XHTML (DOORS and friends) and report the results back to me.
Below is a screenshot of ProR's properties view depicting most of the relevant metadata.
- By default only the most important fields of each requirement are visible in the grid. Select a requirement and use the properties view (Main Menu:
ProR->Show Properties View; see the screenshot above) to see all fields. Their meaning is as follows: - LegalObligation: Whether or not this requirement shall/may be implemented; there are special fields for lists (i.e. 1 out of n requirements shall be implemented)
- ListNumberText: The original string that Word used for numbering this item in a list (only set for requirements which are in a list)
- PlainText: pure textual version of the requirement text. Does not include vanished text and numberTexts of fake list paragraphs. Line breaks are flattened to spaces. Special characters resolved. May be empty if the current object only serves as a visual helper (e.g. the object representing an entire table) or there is no meaningful textual representation available (e.g. an image).
- RichText: fancy representation of the requirement as it originally appeared in the Word input file.
- WordTraceId: a number which uniquely identifies the current object in the original Word input file (intended for backward tracing). This number is not relevant for the user as it does not convey any structural/hierarchical information (for this see rID below).
- atomic: whether or not this requirement contains a single action
- implement: A boolean flag which is preset by the tool and may be amended by the user.
Trueindicates the respective requirement needs implementation. - implementerEnhanced: A colorful version of the plainText. Should aid comprehension and allows to search for all its boxes. (see below)
- kind: An enumeration specifying the kind of the current requirement.
Ordinaryis the usual case for a textual requirement. - requirementID: the tracestring as specified here.
- You will occasionally come across RichText which has a background applied. These backgrounds indicate added information which is not (directly) present in the input files. The colors stand for the following:
- lightblue stands for tracing data inside table cells. This is meant as a visual helper to quickly find the actual (traceable) cell below the RichText version of a table.
- lightpurple represents a flattened arrow (used in Transition Tables)
- yellow indicates field numbering (i.e. the number was not typed in by the document author but computed automatically by Word)
- green marks inline footnotes (big
N-prepender) or endnotes (smalln-prepender). The actual footnote text is a child of the requirement where the mark occurs. - darkgrey with a descriptive text in white constitues a true placeholder (i.e. a requirement which is not present in the original file but needs to be here to maintain a proper hierarchy; do not trace it)
- lightgray with a descriptive text in black constitutes a visual placeholder (that is: the requirement does exist in the input, but it has been split up into smaller chunks; so you are encouraged to rather trace its children)
- underlined blue text (no background here) is a proper (= non-broken) cross-reference link in the Word document. However, the link target is not yet encoded in the ReqIF.
- Quick description of implementerEnhanced:
- named boxes (i.e. those which are suffixed by a small white text in square brackets that has some background color applied) indicate a known phrase. Each phrase belongs to a certain group (which is indicated both by the background color as well as by the small white text).
- slanted, monospaced text indicates either words in all-caps or something in quotes (thus: variables or named references).
- bold text with grey background is applied to the legal obligation keyword (normal thickness and grey background is reserved for undefined obligations like "must")
- underlined text marks the predicate of a sentence. This is NLP-based and therefore comes with errors.
- yellow-brownish background is for the headphrase (concept of a sentence). This is also NLP-based and therefore error-prone.
- greyed out text is for words in parentheses and prefixes like "Note:"
- if several groups are applicable to the same piece of text, those groups are nested
- There is an issue tracker in this repo. Feel free to use it if you find anything spurious in the provided files.
- If a single word has several styles attached, the rich text representation of that word will contain spaces at the positions where the style changes. The plain text version is correct, though.
- In very long tables the background shadings of certain cells are not always properly extracted.
- (very minor) Word apprently does print out
0x0(Unicode NUL) to the user. The tool does not and does not (yet) emit a warning. - Extraction of fake links (i.e. textual references to another artifact which are not using Word's crossreferencing feature) come with some false positives
The files in this repository are provided "as-is" with no guarantee of their suitability, freedom from errors or omissions, or compatibilty with any software.

