railML development
railML® is in a continuous development process in order to consistently meet the requirements of an ever-changing railway industry. As an open-source project, it is supported by the stakeholders and partners and further developed by the railML community involved and is also continuously extended. The development of new interfaces according to the railML® schemas is always encouraged and supported by railML® in order to continuously improve the possibilities of data exchange between systems in the railroad sector. Programmes that provide such an interface can have it certified by the railML® consortium and may then feature the railML® logo and use it for advertising purposes, as well as listing the railML® functionality in the programme documentation.
Collaborative schema development
The development of future railML® schemas is agile and is done for and with the whole community of railway IT experts. The process starts with use case proposals, typically from railML partners and community members. These proposals are discussed in working groups, including/led by the relevant railML subschema coordinators, to refine the requirements and needs. Next, the railML® developers work on UML modelling for the use case and generate the necessary XML schemas, including XSD and XSI. If available existing schema extensions of community members are used as a starting place for the development of a common UML model.
An alpha version of the schema is created and reviewed by the working groups. Once these steps have been completed by the relevant schema sub-groups, the new use case or feature is included in all upcoming beta and release candidate publications for public review, leading to the next official version of railML. The schemas are then released for productive use in the railway sector. If necessary, a service release may be published for a version with updated documentation for the schema. The schema itself however remains stable within a published version of railML. This process ensures that railML® evolves effectively with community-driven input from the start to the final release.
Development tools and platforms
For the development of railML® we use the Gitlab version repository and ticket system (up to 2022: repository: Subversion; Ticket system: Trac). The UML model is created using Enterprise Architect. Furthermore, we use the developer tools of Altova company, mainly the XMLSpy.
All interested institutions and businesses with a long-term interest are invited to contact railML.org and participate in the railML® community to contribute to our development.