OpenRailAssociation / osrd

An open source web application for railway infrastructure design, capacity analysis, timetabling and simulation
https://osrd.fr
GNU Lesser General Public License v3.0
415 stars 40 forks source link

[META] OSRD - NGE (NetzGrafik-Editor) #7534

Open louisgreiner opened 1 month ago

louisgreiner commented 1 month ago

Description

NetzGrafik-Editor (NGE) is an open-source software that enables the creation, modification, and analysis of regular-interval timetable, at a macroscopic level of details, developped by SBB.

This feature is about integrating NGE in OSRD application, synchronizing both workspaces, allowing timetable edition at both microscopic and macroscopic level of details at the same time.

A Proof of Concept has been developped, see dedicated repository.

The PoC functionnalities are:

The following chart describes the workflow from the PoC:

---
title: Proof of Concept | OSRD - NGE workflow for synchronous workspaces
---
flowchart TD
    OSRD_data_source[OSRD as data source] -- import infra & timetable --> NGE;
    Viriato_data_source[Viriato as data source] -- import infra & train groups --> NGE
    subgraph synchronous_workspace[" "]
        NGE -- create, modify or delete trainruns --> NGE
        NGE -- export trainruns --> OSRD
        OSRD -- (re)calculate pathfindings and running times \n& create, modify or delete train schedules --> OSRD
        OSRD -- update model --> NGE
    end

The PoC works by running OSRD and NGE as separate services and not automated synchronization.

This would also show that open-source cooperation is powerful and a huge gain of time in software development. See front-end and back-end repositories for contributions.

Contacts: @louisgreiner (SNCF Réseau) - @aiAdrian (SBB CFF FFS)

OSRD - NGE Roadmap

PI9


PI10


PI 11

Development:

Refinement:


PI 12

Development:

Refinement:


PI 13

Development:

Refinement:


PI 14

Development:

Refinement:


gantt
    title OSRD - NGE Gantt diagram
    dateFormat YYYY-MM-DD

    PI11                                           : pi11, 2024-06-17, until pi12
    Integration 1 (osrd-nge project)               : ticket-1, 2024-06-17, until s11-1
    NGE translation                                : ticket-5, 2024-06-17, until s11-1
    End sprint 1                                   : milestone, s11-1, 2024-06-28,
    Integration 2 (integrate in front)             : ticket-2, after s11-1, 2024-07-07
    Integration 3 (import scenario)                : ticket-3, 2024-06-17, until s11-4
    End sprint 2                                   : milestone, s11-2, 2024-07-12,
    Integration 4 (handle NGE actions)             : ticket-4, after s11-2, until s11-4
    End sprint 3                                   : milestone, s11-3, 2024-07-26,
    End sprint 4                                   : milestone, s11-4, 2024-08-09,
    Release NGE integration                        : ticket, after s11-4, until pi12

    PI12                                           : pi12, 2024-09-02, until pi13
    Optional propagation of OSRD calculations      : ticket-6, 2024-09-02, until s12-2
    Optional nodes geographical position recalculation: ticket-7, 2024-09-02, until s12-2
    Variants comparison                            : ticket-8, 2024-09-02, until s12-3
    Origin / destination matrix                    : ticket-9, 2024-09-02, until s12-3
    Import macroscopic timetable (Viriato)         : ticket-10, 2024-09-02, until s12-3
    End sprint 1                                   : milestone, s12-1, 2024-09-13,
    End sprint 2                                   : milestone, s12-2, 2024-09-27,
    End sprint 3                                   : milestone, s12-3, 2024-10-11,
    End sprint 4                                   : milestone, s12-4, 2024-10-25,

    PI13                                           : pi13, 2024-11-18, until pi14
    Nodes filtering depending on level of detail   : ticket-11, 2024-11-18, 28d
    Exportable train groups                        : ticket-12, 2024-11-18, 28d

    PI14                                           : pi14, 2025-01-01, 21d
    Support user for minimal infrastructure creation: ticket-13, 2025-01-01, 14d
    Variants merging                               : ticket-14, 2025-01-01, 14d

Future (potential) features

Specific needs

aiAdrian commented 1 month ago

Once the Netzgrafik-Editor is integrated into OSRD we shall check whether we have to change some Netzgrafik-Editor data structure to ensure that all component works as they are required for taktfahrtplan, especially editing, streckengrafik, ...