Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: add tp-lib stage 1 proposal #177

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

MathiasVDA
Copy link
Contributor

No description provided.

@mxmehl
Copy link
Member

mxmehl commented Dec 11, 2024

Thanks for the proposal! I just had a quick glance at some of the point.

Regarding the licenses, it may be interesting to run a check as described here.

You mentioned a custom license. This however seems to be quite problematic and not Open Source. For example:

  • The software may collect information about you and your use of the software, and send that to Microsoft.

  • You may not: work around any technical limitations in the software; ...; share, publish, rent, or lease the software, or provide the software as a stand-alone offering for others to use.

@MathiasVDA
Copy link
Contributor Author

Regarding the licenses, it may be interesting to run a check as described here.

Thanks, I will do this

You mentioned a custom license. This however seems to be quite problematic and not Open Source.

I think we'll be able to remove this package (and some of the others). We just need to spend some more time on it. But thanks for the remark, now I know we really have to find a way to remove it

Signed-off-by: Mathias Vanden Auweele <[email protected]>
MathiasVDA and others added 5 commits December 12, 2024 21:19
Co-authored-by: Serge Croisé <[email protected]>
Signed-off-by: Mathias Vanden Auweele <[email protected]>
Co-authored-by: Serge Croisé <[email protected]>
Signed-off-by: Mathias Vanden Auweele <[email protected]>
Co-authored-by: Serge Croisé <[email protected]>
Signed-off-by: Mathias Vanden Auweele <[email protected]>
Co-authored-by: Serge Croisé <[email protected]>
Signed-off-by: Mathias Vanden Auweele <[email protected]>
Co-authored-by: Serge Croisé <[email protected]>
Signed-off-by: Mathias Vanden Auweele <[email protected]>
@MathiasVDA
Copy link
Contributor Author

We have been able to remove the dependency with the problematic custom license.

Regarding the licenses, it may be interesting to run a check as described here.

We performed the check and the result is this list of licenses:

  • Apache-2.0
  • BSD-3-Clause
  • MIT
  • PostgreSQL (we are looking at removing this dependency as well)

We've also run the vulnerability check and will fix the sole issue that came out of this.

@mxmehl
Copy link
Member

mxmehl commented Dec 13, 2024

Great, thanks! All licenses compatible with Apache-2.0 in the way that you could use Apache-2.0 as an outbound license. So also in respect of patent protections, I'd recommend Apache-2.0 as a license for the project.

Copy link
Member

@cornelius cornelius left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the proposal. This looks like an interesting project which could be used as a building block by many organizations having similar use cases.

A couple of questions in the inline comments.


## How is it decided if and when a pull request is merged?

Depends on the pull request, generally the project leader decides.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Who is the project leader? Is this the PM? Is the PM a technical role?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, PM = Project leader.

Is the PM a technical role?

That depends on your definition of 'technical'

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this context I would define "technical" as "will work with the project on GitHub and is at least able to do commits to the git repository".

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's going to be the case yes. I assume that the actual merging (pushing the button) will be performed by a developer.


## What is the project's roadmap?

After the project refactoring and extensive testing, no further development is planned.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does that mean in terms of resources allocated to the project?

Are there areas where other users will likely need further development?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does that mean in terms of resources allocated to the project?

The TP-lib is part of a bigger project that has a dedicated team of 4 and 5 engineers. There is always support for the project for internal needs.

Are there areas where other users will likely need further development?

That's difficult for me to answer. I don't know the needs of "other users".


## What other organizations in the world should be interested in this project?

All organisations that use measurement trains and process the measurements. But the project can also be used as a guideline for organisations that want to post processes location measurements for other domains that include topology and navigability.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What are the specific requirements for measurement trains so that the trainpositioning lib can be useful?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Measurements done by a measurement train need to be linked to a track position. The TP-lib helps with this aspect of positioning.

A measurement train will generally measure a value and save that value either in a kind of ledger together with other measurements such as gnss position. Or it could save the value together with the timestamp in a seperate file. In a post processing step, the gnss position is improved and positioned on the track topology. Afterwards, the measured value is positioned on the track topology.
The TP-lib helps with the italic step.


## What standards does the project implement or rely on? How are they related to other existing standards?

Topology and navigability is also defined by several other railway related standards. But they are very loosely related.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In what form does the library consume topology and train path data?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand this question. It's a dotnet library so the "form" is a dotnet object of a dotnet class inside a dotnet list object.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So there is no API for reading data about topology and train paths from a standard format?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To my knowledge, the only standard format for topology that exists at the moment is railML. Besides the moral objections from some of the Openrail members, the TP-lib currently does not support working with this format.

RCM-DX also allows to define the topology but this definition is not sufficiently railway independent (still heavily SBB). We are working on making that more open and according to RSM/RTM standards.

Hopefully we will be able to implement a connector with the RINF by the start of 2026, when all IM's need to publish their microtopology according to EU legislation.

At the moment, al data transfer into the library is only defined as an "Interface". That means that the necessary functions and their signature (properties input and output) are defined but the actual work isn't. This allows every user of the library to implement their own calls. Be it to a knowledge graph, a database, a file or something else.


## What standards does the project implement or rely on? How are they related to other existing standards?

Topology and navigability is also defined by several other railway related standards. But they are very loosely related.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any (possible) relation to RCM DX?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, please review the presentation given on the BoD

image

image

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not all members of the Technical Committee have access to the BoD materials. So if there is any more info about the context and how to understand the diagrams please add them here as well.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RCM-DX is a data format. The RCM-DX file can contain GNSS data. In case topological locations are also requested, TP-Lib could be used to read data out of the file and write its result back into the RCM-DX file. TP-lib is currently not able to read/write to RCM-DX but an implementation could be developed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants