RailML

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

railML (Railway Markup Language) — це відкритий формат обміну даними на основі XML, що використовується для сумісності даних залізничних застосунків. [1]

Мотивація[ред. | ред. код]

Перевага універсального формату обміну

Зростаюча кількість комп’ютерних застосунків, що включають моделі різних аспектів роботи залізниці, з різними операторами, які паралельно розробляють окремі рішення, породжувала хронічні труднощі підключення різних ІТ-додатків на залізниці. [1] Обмін даними концептів експлуатації, управління нитками графіку руху поїздів, імітаційного моделювання або планування інфраструктури тощо був можливий як вручну, так і за допомогою багатьох спеціально розроблених інтерфейсів із проблемами втрати часу та витрат для залізничних компаній. [2] Якщо існує n програм, які повинні обмінюватися даними, зі спеціальним інтерфейсом для кожної пари програм відповідно, потрібно інтерфейсів — лише один, якщо n=2, але 10, якщо n=5 — збільшення складності вище середнього. [1]

Цю проблему можна полегшити за допомогою інтеграції додатків Enterprise [1] з єдиним універсальним форматом обміну, який підтримується всіма додатками та відповідає потребам усіх видів обміну даними у сфері експлуатації залізниці: кількість необхідних інтерфейсів зменшується до n — один інтерфейс до формату обміну для кожної програми відповідно. railML намагається надати у розпорядження відкритий і безкоштовний, легкий і зручний, самоописний формат, близький до існуючих стандартів. [2] Парадигма полягає в тому, щоб задовольнити вимоги процесів обміну даними залізниць, промисловості та органів влади, а не описувати всю залізничну систему. [3]

Загальне представлення[ред. | ред. код]

Історія[ред. | ред. код]

Розробка railML була розпочата на початку 2002 року Fraunhofer-IVI (Дрезден, Німеччина) та ETH Zürich – IVT (Цюріх, Швейцарія) на тлі хронічних труднощів зв'язування різних залізничних ІТ-додатків. [4] railML змінено та адаптовано до потреб менеджерів залізничної інфраструктури (IM) та залізничних компаній (ЗК) у ході обговорень. [2] [5] Перша стабільна версія 1.0 була випущена в 2005 році для продуктивного використання. [3] Дотепер версії 1.0; 1.1; Від 2.0 до 2.5, 3.1, 3.2 було випущено для завантаження та виробничого використання. Версія 3 railML з новою топологічною моделлю, заснованою на RailTopoModel та інших еволюціях, розроблялася з середини 2015 року, щоб бути випущена як бета-версія в середині 2016 року [6] і, нарешті, випущена для продуктивного використання в лютому 2019 року. У 2015 році була випущена програма перегляду та перевірки даних railML під назвою railVIVID .

Принцип роботи[ред. | ред. код]

railML (railway mark-up language) — це поширений формат обміну, який використовує систематику XML для опису даних, що стосуються залізниці. railML забезпечує обмін залізничними даними між внутрішніми та зовнішніми залізничними застосунками. railML розроблено в рамках так званого «консорціуму railML» від railML.org. Це формат обміну з відкритим кодом за ліцензією Creative Commons (безкоштовна реєстрація на railML є обов’язковою для використання та завантаження схем railML). Модельною мовою railML є UML, а мовою документації – англійська. Кожного розробника та користувача railML запрошують зробити внесок або запропонувати розширення схеми.

Програми можуть обмінюватися даними railML через експорт та імпорт файлів railML, або як прямий міжпроцесний зв’язок через TCP/IP . [7]

Ліцензування та ціноутворення[ред. | ред. код]

Використання railML можливе безкоштовно для користувачів і розробників, з розробника програмного забезпечення можуть стягуватись витрати лише для консультацій та сертифікації для професійного використання . [8]

Версії 0.x і 1.x були ліцензовані за пропрієтарною ліцензією, де версія 0.x була призначена лише для внутрішнього використання та спільно використовувалася в межах консорціуму. [9]

Версії від 2.0 до 2.2 використовувалися за ліцензією Creative Commons CC-BY-NC-SA до червня 2013 року. З липня 2013 року всі версії, починаючи з 2.0, пропонувалися паралельно або з комерційною ліцензією CC-BY-ND (V 3), або з обмеженою ліцензією CC-BY-NC-ND (V 3). Обмеження служать заходам якості, наприклад, вимагаючи сертифікації додатків для забезпечення безперебійної сумісності. [9]

Версія 3.x ліцензується на тих самих умовах Creative Commons, але у версії CC 4.0. За допомогою цього railML.org адаптує вдосконалення, зроблені CC, і гарантує користувачеві схеми ті самі права використання, що й у попередні роки та версії railML. [10]

Логотип і слово railML є зареєстрованими як торгові марки консорціумом railML в EUIPO . [9]

Юридична особа[ред. | ред. код]

Юридичною особою для так званого консорціуму railML є railML.org e. V. зареєстрована некомерційна асоціація відповідно до законодавства Німеччини (реєстраційний номер VR 5750 у місцевому суді в Дрездені /Німеччина) з 23 квітня 2012 року.

Схеми railML[ред. | ред. код]

railML базується на XML, а підобласті використовують інші існуючі XML-схеми, такі як MathML і GML . Вона складається з підсхем. У версії 2.4 продуктивно використовуються три підсхеми:

  • <b id="mwcQ">графік руху поїздів</b> для моделювання графіку руху поїздів,
  • інфраструктура для (в основному топологічного) моделювання колій і сигнального обладнання та
  • рухомий склад для моделювання транспортних засобів.

Починаючи з railML версії 3.1, на вимогу спільноти було введено додаткову підсхему:

  • блокування для моделювання маршрутів руху поїздів

Розробку та використання додаткових підсхем призначених для моделювання обладнання станцій (автомати для продажу квитків, зали очікування, торговельні автомати тощо) або програмне забезпечення для планування співробітників (планування змін /розклади та керування робочим часом для кондукторів тощо) наразі призупинено, оскільки немає попиту з боку користувачів.

Графік руху поїздів[ред. | ред. код]

Ця підсхема служить для обміну детальними графіками руху поїздів. Зокрема, схема призначена для такої інформації: [11]

  • Час руху поїздів (прибуття, відправлення та час руху)
  • Періоди експлуатації: дні, в які рухається поїзд
  • Частини поїздів: інформація про розклад і маршрут для вагонів безпересадкового сполучення у поїздах, наприклад , Orient Express на маршруті з Будапешта до Белграда по понеділках.
  • Поїзди: набір частин поїзда, наприклад, Східний експрес.
  • Графік обороту локомотивів: плани руху рухомого складу, пов’язані з частинами поїзда.

Інфраструктура[ред. | ред. код]

У центрі уваги цієї підсхеми – інфраструктура залізничних мереж. [12] Важливими аспектами є:

  • Топологія мережі
  • Координати
  • Геометрія: геометрія колії (ухил, радіус кривої)
  • Елементи залізничної інфраструктури: таке обладнання, як балізи та сигнали
  • Інші розташовані на колії елементи: абстрактні речі, яких неможливо торкнутися, але знайти, як-от обмеження швидкості та стан колії

Рухомий склад[ред. | ред. код]

У той час як підсхема інфраструктури зосереджена на нерухомих активах, рухомий склад описує активи, що обертаються в мережі. [13]

  • Транспортні засоби
  • Сосави: такий состав транспортних засобів, як поїзд
  • Сила тяги локомотива і моторних агрегатів

Блокування[ред. | ред. код]

Приклад коду[ред. | ред. код]

Приклад графіку рузу поїздів, сформульованого в railML [3]

<?xml version="1.0" encoding="UTF-8"?>
<railml xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:noNamespaceSchemaLocation="timetable.xsd">
	<timetable version="1.1">
		<train trainID="RX 100.2" type="planned" source="opentrack">
			<timetableentries>
				<entry posID="ZU" departure="06:08:00" type="begin"/>
				<entry posID="ZWI" departure="06:10:30" type="pass"/>
				<entry posID="ZOER" arrival="06:16:00" departure="06:17:00" minStopTime="9" type="stop"/>
				<entry posID="WS" departure="06:21:00" type="pass"/>
				<entry posID="DUE" departure="06:23:00" type="pass"/>
				<entry posID="SCW" departure="06:27:00" type="pass"/>
				<entry posID="NAE" departure="06:29:00" type="pass"/>
				<entry posID="UST" arrival="06:34:30" type="stop"/>
			</timetableentries>
		</train>
	</timetable>
</railml>

Рядок 3 вказує на те, що використовується версія railML 1.1.

Лінія 4 містить код поїзда.

Рядки 5 і 15 включають модель маршруту із, у цьому випадку, 8 записів маршруту.

Записи маршруту в рядках 6–14 мають такі аргументи, як ідентифікатор місця (наприклад, станція), час відправлення або прибуття, а в рядку 9 зобов’язання зупинитися.

Використання даних railML[ред. | ред. код]

На початку найпоширенішим використанням даних railML були дані графіку руху поїздів [4] для інформації про пасажирів, планування обов’язків для провідників і водіїв та моделювання графіку руху поїздів, після цього формат почав використовуватись для передачі та моделювання планування блокування та інфраструктури, як-от Network statement IM.

Комп'ютерні програми[ред. | ред. код]

Програми, які використовують railML версії 2.x, включають багато програм, пов’язаних із грфком рузу поїздів, наприклад OpenTrack (інтерактивне імітаційне залізничне моделювання [14] ), FBS (програмне забезпечення для планування роботи залізниці [15] ), Viriato (система планування [16] ) та OpenTimeTable (аналіз даних роботи мережі в реальному часі [17] ). Програми, які використовують railML версії 3.x, додатково включають програмне забезпечення для планування інфраструктури, пов’язане з BIM, як-от VIS All 3D [18], або системи огляду залізниці, як-от GPSinfradat. [19]

Повний список програм із (сертифікованими) інтерфейсами доступний на веб-сайті сумісних програм railML .

railVIVID[ред. | ред. код]

railVIVID — це безкоштовний інструмент із відкритим вихідним кодом, наданий UIC та railML.org для валідації файлів railML версії 2.x або вище та для показу вмісту файлів railML у деяких спеціальних видах. Він також надає легкий і зручний доступ до даних railML тим, хто не є ІТ-фахівцем. Таким чином, деякі об’єкти залізничних даних можна відобразити, скопіювати та роздрукувати за допомогою railVIVID: [20]

railVIVID доступний на веб-сайті railML безкоштовно. Є двійкові версії для Microsoft Windows і Java, також вихідний код був опублікований восени 2015 року під ліцензією EUPL . [21]

Ініціатива railML.org[ред. | ред. код]

Розробкою railML керує railML.org – Initiative, партнерство розвитку незалежних компаній і організацій та європейських залізниць. Участь у розробці та піврічних конференціях для обміну досвідом та обговорення основ є відкритою. Безперервна робота над розробкою здійснюється переважно в Інтернеті (форуми німецькою та англійською мовами). Організацією обговорень керують так звані координатори railML. (Безкоштовне) членство в консорціумі railML.org є обов’язковим для завантаження та використання схем railML. Перед будь-яким комерційним або продуктивним використанням інтерфейсів програмного забезпечення для цього формату необхідно отримати комерційну сертифікацію. [22]

Члени[ред. | ред. код]

Зараз членами railML.org є: [23]

Повний та оновлений список опубліковано на сайті спільноти railML.org .

Кооперації[ред. | ред. код]

railML.org працює в проекті ERIM (абревіатура від Masterplan European Rail Infrastructure [24] ) Міжнародного союзу залізниць (UIC) для розробки RailTopoModel як загальної моделі даних у залізничному секторі. [25] Також railML.org співпрацює з Євроконтролем та Агентством залізниць Європейського Союзу .

Список літератури[ред. | ред. код]

  1. а б в г [1], с. PA4, на «Google Books»
  2. а б в RailTopoModel and railML® (PDF). uic.org. Процитовано 26 січня 2016.
  3. а б в Daten für PSItraffic: Standardisiertes Datenmanagement mit railML® und dem UIC RailTopoModel (PDF). psitrans.de. Архів оригіналу (PDF) за 6 березня 2016. Процитовано 20 жовтня 2015.
  4. а б Nash, Andrew; Huerlimann, Daniel; Schuette, Joerg; Kolmorgen (Krauss), Vasco Paul (2004). RailML – A standard data interface for railroad applications (PDF). Dresden: Proc. of the 9th International Conference on Computer in Railways (Comprail IX), WIT Press, Southampton, United Kingdom.
  5. [2] на «Google Books»
  6. 5th UIC RailTopoModel and railML® Conference (PDF). railML. 1 лютого 2016. с. 29. Архів оригіналу (PDF) за 9 лютого 2019. Процитовано 24 лютого 2023.
  7. [3] на «Google Books»
  8. railML – Costs. railML.org. railML.org. 15 березня 2019. Процитовано 23 березня 2019.
  9. а б в Licence – railML.org (EN). railml.org. Процитовано 26 січня 2016.
  10. Augele, Vivian (29 січня 2019). railML Licence: Minor Changes come with railML3. www.railML.org. railML.org; Dresden/Germany. Процитовано 23 березня 2019.
  11. Timetable – railML.org (EN). railml.org. Процитовано 26 січня 2016.
  12. Infrastructure – railML.org (EN). railml.org. Процитовано 26 січня 2016.
  13. Rollingstock – railML.org (EN). railml.org. Процитовано 26 січня 2016.
  14. OpenTrack Railway Technology – Eisenbahnsimulation. opentrack.ch. Процитовано 20 жовтня 2015.
  15. Christian Roessiger (15 вересня 2016). railML Schnittstelle – Institut für Regional- und Fernverkehrsplanung (нім.). iRFP e.K.; Dresden/Germany. Процитовано 21 травня 2017.
  16. Software für die Eisenbahn. sma-partner.ch. Процитовано 20 жовтня 2015.
  17. OpenTimeTable. via-con.de. Архів оригіналу за 18 квітня 2017. Процитовано 20 жовтня 2015.
  18. VIS-All® 3D- der einfache Weg in die 3D-Welt!. Software-Service John (нім.). Процитовано 21 травня 2017.
  19. GPSinfradat. Bahnkonzept Dresden/Germany. Процитовано 19 квітня 2019.
  20. railVIVID – railML.org (EN). railml.org. Процитовано 26 січня 2016.
  21. SNCF Réseau and TU Dresden (28 квітня 2015). 4th UIC RailTopoModel and railML Conference: Achievements (PDF).
  22. Certification – railML.org (EN). www.railml.org (англ.). Процитовано 19 квітня 2019.
  23. Partners – railML.org (EN). railml.org. Процитовано 26 січня 2016.
  24. Functioning of railML.org and RailTopoModel – railML.org (EN). www.railml.org.
  25. UIC e-news 362: The foundation for a Universal Infrastructure Data Exchange Format. 30 листопада 2014.

Зовнішні посилання[ред. | ред. код]