Certification of your railML® interface
Overview
In the railway industry, the reliability of software systems and preventing misinformation require tools that meet defined standards. The railML® interface certification, administered by railML.org e.V., provides an impartial and non-commercial process that ensures compliance with established railML standards and prevents incompatibilities in the exchange of railway-related data. Without certification, project-specific dialects may emerge during a project's lifecycle, which can lead to costly delays due to design inconsistencies, omissions or vendor-specific extensions.
When is railML certification required?
Any applicant who wishes to include railML support in their products before distribution, commercial or productive use require certification of the railML interface(s) of their software release. It is mandatory for all vendors who intend to use railML as a data interchange medium within or in relation to their software solution, regardless of whether railML support is publicly acknowledged or not.
Please refer to our Certification Manual below for details.
Certification process
The effectiveness of railML as a data exchange format relies on its correct implementation within rail-IT applications. Our experts will undertake a thorough review of the results of your export and import railML to detect and resolve any errors.
- Import: This allows your software to read and process railML data files generated by other systems.
- Export: This enables your software to generate railML data files that can be read by other certified applications.
The railML standard is subdivided into subschemas with respect to the railway subdomain. The certification process is specific to the individual schema/s you are using. A different certification process is therefore required for each subschema. Upon successful completion of the testing phase, railML.org will issue an official certification which allows safe and efficient use within the railway industry.
NOTE: Lead times for certification vary; please contact railML.org at the earliest opportunity to avoid any delays in your project.
How to apply for certification
Certification application can only be submitted by the main contact of a registered railML partner. Once the application form is completed and signed, it shall be sent to the Organisational Team and to Vasco Paul Kolmorgen. After submission, you will receive a confirmation email from railML.org and the technical contact may be asked to provide additional details if needed.
The effectiveness of railML as a data exchange format relies on its correct implementation within rail-IT applications. Our primary objective is to ensure quality and interoperability for our partners when using railML. Our experts will undertake a thorough review of the results of your export and import railML to ensure there are no faults or errors.
The railML standard is subdivided into subschemas with respect to the intended purpose of use. The certification process is specific to the individual schema/s you are using. A different certification process is therefore required for each subschema.
If you need additional information or you need to certify your railML® interface, please contact railML.org!
Important: Lead times for certification can vary; please contact railML.org at the earliest opportunity to avoid any delay to your project.
Download - The further content is only available for registered partners
Access to the download is limited to the key contact person of the registered organisation. Please use the appropriate login information or, if you or your organisation has not yet registered as a partner at railML.org, you can register here.
If you have any problems accessing the certification manual using your key contact login information, please contact railML.org.
Frequently asked questions about certification
Before an interface can be used commercially (for exceptions see certification manual), it must be certified by railML.org to ensure its correct implementation (please refer to the Certification Manual). As long as the interface remains unchanged, it can be used and sold to third parties for any length of time at no additional cost (railML can be used royalty-free).
Unlike many of the licenses required for use in the software sector (e.g. the EuPL, BSD etc.), railML is neither a software nor a source code; it is a computer language or exchange definition. The regulation on the commercial use of railML is explicitly detailed on our licencing page.
A certification is mandatory for all railML interfaces released or registered to railML.org after July 1st, 2013. Only railML 1.x as well as 2.0 and 2.1 interfaces finished before this data are exempt from the certification obligation. (Please note: Due to the End of Life for railML 1.x as well as various 2.x versions, certifications for these versions are not possible anymore. Check the timeline for further information)
See page 16 of the certification manual.
As a rule, the vendor who releases a software solution becomes the applicant and is responsible for proper railML certification prior to the product’s general availability, including when a product is not available to the general public, such as when a solution is delivered to a specific customer or a limited audience.
See page 18 of the certification manual.
Certification is granted for a period of five years with a provision for free extensions, unless at least one re-certification condition is met in that time. If no relevant changes in the interface regading the data where made (e.g. a change in the user interface or logo layout does not affect the data) the certification is prolonged for another five years for free.
See page 21 of the certification manual.
Until stated otherwise, railML.org invoices any vendor request for certification an amount of 2,225 EUR (plus VAT, if applicable) per certification unit (valid since 2017 and calculated with a unified effort of 2.5 man-days at 890 EUR per day; until further notice; discounts for associated and strategic partners apply). This is an administrative fee, which only covers expenses for the experts that arise in the context of certification.
See page 23 of the certification manual.
railVIVID is a reference validation tool to be used by applicants in preparation for official certification. It is strongly recommended that applicants incorporate testing schedule into the development cycle early in the software delivery process, in order to ensure continuous adherence to the standard and consistency with the certification test expectations. It can be downloaded on the website.
Furthermore railML.org provides a set of official reference data samples via the website. These samples may be freely used to test import functionality of any software interface, serving as a mock import certification test for the applicants’ benefit. The sample files may also be used as point of reference for applicants working on railML export implementations to compare export outcomes with a file created according to best practices.
See page 24 of the certification manual.
Preequisites for Export certification
An interface ready for certification must comply with the following requirements:
- Provide means of control (outlined in Acceptable Input and Output Methods) that can initiate a data export for a given set of circumstances,
- Generate consistent data output for a given set of input parameters, i.e. generating the same output twice at different points in time must generate a syntactically identical output file,
- Output valid railML data without any additional conversion or translation, i.e. the export process must be a one-step experience in terms of data.
Preequisites for Import Certification
An interface admissible for railML import certification must:
Provide means to initiate data import from a railML data file (the interface may require a specific file name, which must have a .railml, railmlx or xml extension),
Be capable of reading and interpreting a valid railML data file without prior conversion or translation,
Possess means of data representation to verify that a data input has been successfully interpreted. Possible methods of data representation include:
- Graphical user interface that renders a representation of the imported data,
- Text output that can represent the imported data, but not output the original file verbatim,
- Structured data object (e.g. relational database storage) that can be examined to verify that the imported data was properly interpreted,
- Any other form of output that can reliably verify that the application has correctly understood the imported data sample.
Applicants are encouraged to consult specific import scenarios with railML.org prior to applying for import certification, to establish the correct procedure and agree upon acceptable means and goals to confidently verify that the interface’s import capability satisfies the certification criteria.
See page 28 of the certification manual.
railML.org strives to process all certification requests in timely manner without delay. Processing time may, however, still be variable based on available processing bandwidth and test complexity. Validation may take longer for large or complex data sets, especially when comprising multiple files. Keeping data samples and descriptions concise and to the point greatly contributes to the overall performance of the certification process.
See page 36 of the certification manual.
Yes, the certification can indeed be completed in stages. Each stage, referred to as a "cycle", is a mandatory phase in the process, primarily designated for import/export activities. Typically, obtaining full certification involves a minimum of two cycles and every cycle is required to be paid separately. It is important to note that depending on your tool/software, more cycles may be necessary to complete the certification process. This structure ensures thoroughness and compliance with all requirements.
No, file-based import or export is not a requirement for railML certification. Any type of interface that includes a valid railML payload can be certified, such as message queuing systems or point-to-point interfaces like REST, SOAP, or Protobuf.
However, it is important to ensure that the railML data contained within the communication frame is not contradicted by the frame itself. This means that there should be no inconsistencies between the information encoded in the frame and the information encoded in the included railML. Additionally, when extracting the payload from the frame, the resulting railML should be both semantically and syntactically correct.
Please see page 14 of the certification manual.
The successful certification of a scheme version (e.g., railML 2.x) allows the productive and/or commercial use of this specific scheme version (for example: If you certify version 2.4, you may use this version productively/commercially. However the other versions of railML, e.g. 2.5 and 3.x, still need to be certified before being used productively/commercially. To reduce the effort for all sides we recommend certifying as much versions as possible (e.g., 2.4 and 2.5) in parallel, if possible. As we cared a lot about downward compatibility during development of railML 2.x, there are very few necessary changes between version in most cases. We offer help and guidance to all our railML partners.