Signal interruptions due to external factors can cause trains to stop abruptly. We aim to minimize such events.

What it does

The incoming signal data is analyzed and potential future anomalies are identified. It publishes this event to a convenient PubSub server that can be subscribed by existing applications at siemens (e.g. for alerting). We also provide a simple sample application that shows those anomalous events on a map

How we built it

The analysis is done in python. The pubsub server is provided by pypubsub on github. The front-end is boilerplate code from google. We decided on this architecture as it loosely couples the publisher (the analysis application) and any number of potential subscribers. Additional subscribers can be registered easily. This is great for extensibility when the application is integrated into an existing application landscape.

Challenges we ran into

Data analysis part Integrating the node pubsub listener into the front-end

Accomplishments that we're proud of

Using the pubsub server as intended

What we learned

pubsub architecture, a bit of typescript and how to use docker to deploy the three components

What's next for SubSiemens

Integrating in an existing application landscape where your signal data is to be provided to our analysis app. Also adding further subscribers to the pubsub server such that the anomaly events can be read by your existing applications.

Share this project: