Certification of your railML® interface
Update 2023: Current Status and reworking of the manual
The reworking of the certification manual is currently underway.
Since the original version of the manual was released in 2017, there have been changes and errata to this version, especially:
- Page 15 / Amendment: Certifications for railML 3.1 are possible since Summer 2019,
- Page 15 / Amendment: Certifications for railML 3.2 are possible since May 2022,
- Page 15 / Amendment: Certifications for railML 2.2 were only possible until June 2021
(requests that have already been submitted will of course be processed), - Page 15 / Amendment: Certifications for railML 2.3 will be possible until mid 2024 only (last application: 30.06.2024) and
- Page 48 / Correction: Certification costs a flat rate of 2,225 € (plus VAT) per certification run / cycle and interface.
Please have a look to the frequently asked questions (FAQ) below too.
An updated version of the certification manual is planned for Mid 2023 with the support of railML.org partner NEAT. An improved certification process will benefit you and the whole railML.org community in the future. We would like to hear about your experiences and of any remarks regarding the clarity and intelligibility of the document, the certification process itself and how to improve it, which parts might be obsolete and what might be missing. Please direct your feedback to manual@governance.railml.org, a copyable version (no scans) with references to the current certification manual (page/topic/part) will facilitate the collection of feedback a lot.
Updated: March 01, 2023 with new timeline and schema certifications for 2.3 and 3.2
Overview
railML as an exchange format for rail data depends on the correct use by rail-IT applications. The process of certification concludes in a mutual benefit for railML.org and our partners. Main aspects are the quality assurance and interoperability for our partners and the recognition of the needs of our partners for railML.org. The evaluation of a railML interface is based on the review of the results of export and import of such applications.
As the railML standard is subdivided in various subschemas, according to the main purpose of rail-IT applications, the certification accordingly considers only the scheme or the schemes used by the applicant.
Would you like to get additional information or do you have to certify your railML® interface? Contact us!
Important: If your company needs a certification quickly, then please inform us as soon as possible, otherwise, there might not be enough resources and a speedy processing might not be possible within the desired timeframe.
Download - The further content is only available for registered partners
The download is intended for the main contact person of registered partners. Please login as railML.org main company contact or register at railML.org
Should you be unable to get acces to the certification manual via the main contact person of your company, please contact railML.org.
Frequently asked questions about certification
Yes, the use of railML is possible without the payment of one-time or repetitive license fees – railML is royalty-free.
Before an interface can be used productively (for exceptions see certification manual), railML.org has to approve its correct function once (certification; procedures and efforts see certification manual). As long as the interface remains unchanged, it can be used and sold for any length of time at no additional cost.
Unproblematic and covered by Creative Commons license. This sometimes raises questions, because the EuPL, BSD and other licenses common in the software sector are not used. (This is because railML is not a software nor source code ... it is a computer language or exchange definition.) railML.org also offers the stakeholders a separate contract, which could explicitly confirm this once again.
A certification is required in order to avoid incompatibility of railML interfaces. This can be caused by design differences, omissions or vendor-specific additions.
See page 8 of certification manual.
railML certification is a public acknowledgment of a software interface’s compliance with a specific scope of the railML data exchange standard, based on an impartial and independently verifiable test administered by railML.org, the certification body. Successful certification is a prerequisite for the use of railML in a software solution, and is confirmed by a certificate issued by railML.org, along with a certification protocol.
See page 12 of certification manual.
Any applicant wishing to include railML support in their products is required to certify the railML interface(s) of their software release to demonstrate compliance with the standard. Certification 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.
See page 13 of certification manual.
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 13 and 14 of 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 15 of certification manual.
railML certification for a software interface is available in two key functional areas that may be subject to certification independently or combined:
Export: A product’s ability to correctly represent structured abstract data into the corresponding railML schema and output the result in a fully railML-compliant file that could be correctly read and interpreted by another railML-certified software interface;
Import: A product’s capacity to correctly parse and understand railML-compliant data, provided as a railML file for import.
Based on the specific interfaces being certified, two types of certification are available to applicants: export and import certification. Both certification paths evaluate a fixed set of criteria that must be met for a software interface to be successfully certified.
See page 16 of 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 18 of 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 20 of 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 21 and 22 of certification manual.
Applicants apply for certification by submitting a filled out certification application to railML.org. An application must always contain the following basic information:
- railML schema version(s) for which compliance will be tested.
- Application name and release version, build number (if applicable),
- Technical contact responsible for application,
- Description of the product’s primary usage scenario,
- railML subschemas in use.
- Requested certification type (import, export or both).
See page 22 of certification manual.
Please note: the certification application is only available to the main contact person of a registered partner. If you do not have access, please contact railML.org.
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 25 of 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 33 of certification manual.
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.
Will be added in the next version of the certification manual.