RailML data exchange standard and practical experiences in Europe 2007-11-12, RTRI, Kunitachi Peter K. BRANDT Ergon Informatik AG Zürich, Switzerland Markus ULLIUS Swiss Federal Railways SBB 2007 Ergon Informatik AG and SBB AG
Schedule Self-Introduction of the participants ( ) Introduction to RailML and the typical development process Practical experiences at SBB Swiss Federal Railways Project STABILO Future planning- and operating-systems at SBB infrastructure Ergon and RailML Advantages and disadvantages of RailML Open questions from JR east/rtri DISCUSSION Joint software projects Ergon/SBB + hands-on demonstrations 2
Dr. Markus ULLIUS (SBB, Switzerland) Age: 36 years 1991-1997: Study of computer science at ETH (Swiss Federal Institute of Technology). 1997-2004: Work and PhD-thesis at Institute of Transport Planning and Systems (Public Transport group) in the area of delay analysis. 2004-2005: Work at SBB (Swiss Federal Railways) infrastructure division in the area of delay analysis. since 2005: Specification-team in the Project NeTS (new timetabelling system). 3
Peter BRANDT (Ergon, Switzerland) Senior Software Engineer at Ergon Informatik AG Main Responsibility: Mobile Software Technology and Projects SBB Swiss Federal Railways Age: 37 years Studied Computer Science at Technical University Munich, Germany ETH Swiss Federal Institute of Technology, Zurich, Switzerland 3 years at Swisscom Innovations R&D center (Swiss national telecom operator) Since 2001: Ergon Informatik AG 4
Introduction to RailML Foundation in April 2002 in Dresden, Germany Coordinators Mr. Dr. Daniel HUERLIMANN (ETH Swiss Federal Institute of Technology, Zurich) Mr. Vasco Paul KOLMORGEN (Fraunhofer Institute IVI, Dresden) coordination@railml.org Motivation Many incompatible data formats for railway-related information n systems require n (n-1) interfaces growing! Unification and simplified data exchange via XML required Resulting Software Applications and Use Many products for different application areas are now RailML compatible Also used by organizations as an internal data exchange and storage format 5
Members Active Participants Railway Companies (SBB, DB Deutsche Bahn, DSB Denmark, Infraspeed NL ) Equipment and Software Companies (Siemens, Thales/Alcatel, sma+, Ergon, ) Universities and Research Institutes Consultants Any interested individuals Partnership work, no official ruling standardization consortium Standardization based on common understanding / consensus In the tradition of the internet standards (RFC) Evolutionary Open-source style Participation is free; every member / every company only pays for their own costs 6
Application areas for RailML The RailML data format: XML Several independent parts for different application areas Many data items are optional flexible use for many scenarios Each part is described in a separate XML schema file timetable rollingstock infrastructure Others: interlocking/train control, stations, More than one part may be contained in a valid RailML file 7
Three main application areas Timetable (timetable schema) Trains: which trains run at which times, which stations are passed Service operating periods, operating days, holidays, Can be used for planned times, real historic data, simulated times Rolling Stock (rollingstock schema) Vehicle data and vehicle family data (engines and wagons) Train formations / sets of vehicles Physical dimensions, brakes, engine power, electrification, signaling systems Physical Infrastructure (infrastructure schema) Lines: gauge, speeds, train protection, electrification, power transmission, Operation control points: operation times, services, region, coordinates, 8
Example RailML file: timetable <?xml version="1.0" encoding="utf-8"?> <railml> <timetable version="1.1"> <operatingperiods> </operatingperiods> <train trainid="s-102-1" lineid="rvzh"> <timetableentries> <entry posid="ust" departure="05:16:00.0" type="begin"/> <entry posid="zoer" arrival="05:40:00.0" departure="05:41:00.0" type="stop" minstoptime="pt1m" trackid="2"/> <entry posid="zlst" arrival="05:48:00.0" departure="05:48:00.0" type="pass"/> <entry posid="zue" arrival="05:50:00.0" type="end"/> </timetableentries> </train> <train> </train> </timetable> </railml> 9
Example RailML file: rollingstock (1/2) <railml> <rollingstock version="1.1"> <vehicles> <vehicle vehicleid="526-2" trackgauge="1.435" length="25.0" speed="320"> <classification> <manufacturer manufacturername="" manufacturertype=""/> <operator operatorname="jrw" operatorclass=""/> <operator operatorname="jrc" operatorclass=""/> </classification> <engine> <propulsion voltage="25000" frequency="60"> <tractioninverter typestr=""/> <tractionmotor count="4" typestr="" nompower="285000"/> </propulsion> <monitoring> <nationalsystem name="atc"/> </monitoring> </engine> 10
Example RailML file: rollingstock (2/2) <wagon auxpowerconsumption="1300"> <passenger class1="20" class2="65" tilting="true"/> </wagon> <brakes decelerationrate="2.7"/> <vehicle/> </vehicles> <formations> <formation formationid="" length="404" speed="300"> <trainorder> <vehicletype ordernumber="1" vehicleid="526-1"/> <vehicletype ordernumber="2" vehicleid="526-2"/> <vehicletype ordernumber="3" vehicleid="526-2"/> <vehicletype ordernumber="16" vehicleid="526-2"/> </trainorder> </formation> </formations> </rollingstock> </railml> 11
Example RailML file: infrastructure (1/2) <?xml version="1.0" encoding="utf-8"?> <railml> <infrastructure version="1.1"> <lines> <infraattrgroup groupid=""> <infraattributes> <owner ownername="jre"/> <electrification voltage="25000" frequency="50"/> <gauge value="1435"/> </infraattributes> </infraattrgroup> <line> <tracks> <track id="" name=""> <tracktopology/> <trackelements/> <ocselements/> </track> </tracks> <line/> </lines> 12
Example RailML file: infrastructure (2/2) <operationcontrolpoints> <ocp id="" name=""> <propoperational/> <propservice passenger="true"/> <area name="" number="" zip=""/> <geocoord long="" lat="" alt=""/> </ocp> </operationcontrolpoints> </infrastructure> </railml> 13
Example: many parts in one file <?xml version="1.0" encoding="utf-8"?> <railml> <infrastructure> </infrastructure> <rollingstock> </rollingstock> <timetable> </timetable> </railml> 14
Conferences Users and developers of RailML meet 2 times every year March September until now always in Europe: Zurich, Berlin, Dresden, Wien, Presentation of new features of the RailML schemas Demonstration of new software Reports about experience with RailML Roadmap discussions about future development and restructuring Next conference is planned for 6th March 2008 in Bern, Switzerland New participants are always welcome! (And participation is free ) 15
Current development Last stable release of most schemas August 2004, Version 1.0 Since then: Continuous minor improvement releases (1.0.1, 1.0.2, 1.0.3, ) Much refactoring work to make the schemas more coherent and easier to understand See forums Preparation for the next stable version 1.1 Mostly structural changes in the schema files Only few content changes same information can still be represented Public release: 2007-10-21, Version 1.1 16
How to use RailML and participate in the development Official information including schemas and examples can be found at http://www.railml.org Wiki with additional documentation: http://wiki.railml.org/ (mostly English, with a little German on the front page) Discussion forum for each schema Read-only: via Web-Browser Read-and-write: using a NNTP News-Reader like Thunderbird RailML-Conference, 2 times per year Contacting schema coordinators directly: timetable: Mr. Joachim RUBROEDER, coord@timetable.railml.org rollingstock: Mr. Dr. Joerg VON LINGEN, coord@rollingstock.railml.org infrastructure: Mr. Volker KNOLLMANN, coord@infrastructure.railml.org Others: see RailML homepage or mail to coordination@railml.org 17
Adaptation to personal needs RailML is not fixed and closed XML can be adapted to individual needs Adding new elements and attributes is easy but might break compatibility Therefore: Propose useful modifications in the forums Future integration into the next version of the standard Your advantage: your format becomes the standard for everyone RailML benefits from the experiences of all its users What is useful for you, is probably also useful for others! 18
Project STABILO. Imported delay-statistics (calculated by OpenTimeTable from real operation data) are taken as initialdelays. Additional delay given by random-generator for each simulation run in OpenTrack. Results of each simulation run are imported into OpenTimeTable for detailed analysis (of multiple simulation runs). Result of analysis is used to fine-tune the future timetable. 19
Project STABILO. Planning Analysis/ Quality Control Simulation Prognosis 20
Project STABILO. Planning Analysis/ Quality Control Simulation Prognosis 21
Future planning- and operating-systems at SBB infrastructure. Planning today: No planning at track level, separated planning for nodes and lines, little reuse of data. View: Lines; Nodes Planning SYFA REVERA Operating (Disposition) SURF VST (Zürich) View: 4 Train operation centers Signalling Remote signalling (ILTIS) Remote signalling (ILTIS) Timetable View: 12 remote signalling centers Signalling boxes Signalling boxes 22
Future planning- and operating-systems at SBB infrastructure. Planning tomorrow: Planning at track level, overall network-view, heavy reuse of data. Planning NeTS View: Whole network, track level Planung Plan Operating (Disposition) RCS View: Operating Centers Operation Signalling Remote Layer ILTIS-Netz View: Remote signalling centers Signalling boxes Signalling boxes Signalling boxes 23
Potential of RailML in future planning- and operating systems. Some service calls (calculation of running times) already use RailML. There are about 70 other systems delivering and getting data to/from today's planning systems. There are also about 70 interfaces for these systems... Using RailML can help to reduce most of these interfaces Some performance-critical interfaces can probably not be replaced by RailML 24
Ergon and RailML Many projects with SBB RailML is Hot topic Participation in the RailML consortium Development of proof-of-concepts and exploration of supporting technologies: XML-RPC vs. SOAP for live RailML data exchange between IT systems Compact representation of RailML data using WBXML or common compression techniques Exploration for customer timetable information systems based on the RailML timetable schema Graphical representation of RailML timetable data as train graphs in SVG format (scalable vector graphics) by conversion via XSLT 25
Advantages and disadvantages of RailML Advantages Open, flexible and extensible XML-based format Applications can pick the information they are interested in (if available) Still a huge potential to be discovered Many data fields are optional -- easy to create valid RailML Cost reduction by having less interfaces Human readability Disadvantages Overhead (structure, tags) yielding to large files (compression possible) In some cases a RailML file has to be parsed several times to build up structures At the moment documentation is not very useful (if available) Human readability Many data fields are optional -- information needed is not always available 26
Open Questions from RTRI / JR east Questions Discussion 27
Software Projects SBB/Ergon and hands-on Software Demonstrations Ergon www.ergon.ch is a Software Company in Zurich, Switzerland has been founded in 1984 employs about 100 Software Engineers Focus building custom-made software applications using open standards and open systems 4 Departments Finance & Security [1998: first internet banking in Switzerland for Credit Suisse] Telecom Solutions (order fulfillment, billing, bill presentment) Business Applications (data driven web applications for government/businesses) Industry & Mobile (railway, mobile apps, industry automation, embedded) [1999: world first online stock brokerage application on a Palm Mobile device] 28
RailML data exchange standard and practical experiences in Europe SBB/Ergon projects AMIGO: mobile device for cargo trains FQ: mobile data collection for passenger statistics ZPG 2: mobile multipurpose ticket selling and information device SCORE: mobile outdoor device to request tracks in train yards for train shunting MIKU: mobile tool to support customer information staff AVIS: end-to-end solution for planning and managing specially requested trains PROCO: mobile tool for construction site management NeTS: network and timetable planning system ERGOFAP: optimization of the ticket checking process Many more consulting and support tasks 2007 Ergon Informatik AG (Peter K. BRANDT ブラント) and SBB AG (Markus ULLIUS ウリウス) 29
Live Demonstrations ZPG 2 device ticket printing RFID ticketing timetable information and more MIKU device Provide current train running information to customer information staff Update train information in real time Display and remotely modify network maps and station layouts Creating train-line-time graphs in SVG from RailML timetable via XSLT RailML timetable file (XML) + XSLT style sheet train graph as scalable vector graphics document (SVG) 30
For questions or more information please contact: Peter BRANDT, Ergon Ergon Informatik AG Peter K. Brandt Kleinstrasse 15 8008 Zurich Switzerland tel +41-44-268 89 94 Markus ULLIUS, SBB SBB AG I-BF-PT-IP Markus Ullius Haslerstrasse 30 3000 Bern 65 Switzerland tel +41-512-20 23 70 31
2007 Ergon Informatik AG and SBB AG