Home » railML newsgroups » railml.infrastructure » Ways to model temporal aspects
Ways to model temporal aspects [message #1688] Thu, 11 January 2018 11:32 Go to next message
Lucien Weller is currently offline  Lucien Weller
Messages: 1
Registered: January 2018
Junior Member
Dear all,

After our dissemination workshop in Berlin I looked a little bit more in detail at possibilities to model temporal aspects in railML 3. As example it used following simple situation:

index.php?t=getfile&id=32&private=0

It's a simple network with 2 switches and 4 linear net elements. But at a certain date (let's say 2018-07-01) a new switch in installed in track based von LNE2. This lead to a new topology where LNE2 is not in operation any more, but replaced with LNE5 and LNE6 along with LNE7 for new track.

When trying to describe this with railML 3.1 a came across two issues:

1) How to exactly model the validity periods of LNE2, LNE5, LNE6 and LNE7 ?

In my opinion there are to ways to do this

Either with @validFrom @validTo of Element netElement it self:
<netElement id="LNE2" validFrom="2018-01-01T00:00:00+01:00" validTo="2018-06-30T23:59:59+01:00">
  ...
</netElement>
<netElement id="LNE5" validFrom="2018-07-01T00:00:00+01:00">
  ...
</netElement>
<netElement id="LNE6" validFrom="2018-07-01T00:00:00+01:00">
  ...
</netElement>
<netElement id="LNE7" validFrom="2018-07-01T00:00:00+01:00">
  ...
</netElement>


Or with the subelement state:
<netElement id="LNE2">
  ...
  <state intrinsicPosFrom="0" intrinsicPosTo="1" type="inOperation">
    <time>
      <period from="2018-01-01T00:00:00+01:00" to="2018-06-30T23:59:59+01:00"/>
    </time>
  </state>
</netElement>
<netElement id="LNE5">
  ...
  <state intrinsicPosFrom="0" intrinsicPosTo="1" type="inOperation">
    <time>
      <period from="2018-07-01T00:00:00+01:00"/>
    </time>
  </state>
</netElement>
<netElement id="LNE6">
  ...
  <state intrinsicPosFrom="0" intrinsicPosTo="1" type="inOperation">
    <time>
      <period from="2018-07-01T00:00:00+01:00"/>
    </time>
  </state>
</netElement>
<netElement id="LNE7">
  ...
  <state intrinsicPosFrom="0" intrinsicPosTo="1" type="inOperation">
    <time>
      <period from="2018-07-01T00:00:00+01:00"/>
    </time>
  </state>
</netElement>


This multiple ways to express the same information is not ideal, as we have to handle both possibilities when processing railML data. I'm not sure which one is the better. Attributes @validFrom and @validTo are induced from RTM, so refer to the standard. On the other hand state subelement offers more possibilities to precisely describe the state.

2) How to describe the relationship between LNE2 and LNE5/LNE6, to express replacement ?

An other requirement we have, is to describe the replacement relationship between topological elements replacing each other. This is important, to know the position of an object after modification of network. Here I added a signal to illustrate this, which also can be repositioned by using a linear or geodetic reference system. But the problem arises also with historical values only having a reference to the topology when there where created (by example some measures of track state) which should be compared to corresponding new values created after transformation of network.

For this requirement I have not found a way to describe it with railML 3.1, so any ideas about how we can do this would be appreciated.

Best regards

Lucien Weller
Schweizerische Bundesbahnen SBB
Solution Center Infrastruktur
Re: Ways to model temporal aspects [message #1732 is a reply to message #1688] Tue, 20 March 2018 14:37 Go to previous message
christian.rahmig is currently offline  christian.rahmig
Messages: 181
Registered: January 2016
Senior Member
Dear Lucien,

thank you very much for your feedback and input for discussion since
there are no easy answers...

Am 11.01.2018 um 11:32 schrieb Lucien Weller:
> [...]
>
> 1) How to exactly model the validity periods of LNE2, LNE5,
> LNE6 and LNE7 ?

I assume "valid" means "valid for operation" or "usable".

> In my opinion there are to ways to do this
>
> Either with @validFrom @validTo of Element netElement it
> self:
>
> [...]
> Or with the subelement state:
>
> <netElement id="LNE2">
> ...
> <state intrinsicPosFrom="0" intrinsicPosTo="1"
> type="inOperation">
> <time>
> <period from="2018-01-01T00:00:00+01:00"
> to="2018-06-30T23:59:59+01:00"/>
> </time>
> </state>
> </netElement>

The first option results directly from the RTM. It is ideal to express
the time when a NetElement instance can be used (for operation). But it
has two drawbacks:
* It cannot be used to express other states, e.g. "under construction" *
It can be defined only once: there is no possibility to define a
NetElement that is valid before and after e.g. some construction blocking.

In order to cope with these drawbacks the <state> element has been
defined. It solves both drawbacks of the RTM model, but builds up some
redundancy to the pure information about validity stated with @validFrom
and @validTo.

My proposal for solution:
I would like to forward the topic to the RTM group and suggest to change
the attributes @validFrom and @validTo into repeatable elements.
Further, the <state> element shall be renamed into <infrastructureState>
and it shall be only used to model states that are not "inOperation". By
doing so, the information about "valid infrastructure" remains with the
RTM based datatypes and for all further (more detailed) states, the
<infrastructureState> remains.

Small example:
<netElement id="LNE8">
<valid from="2018-01-01" to="2018-06-29"/>
<valid from="2018-07-02" to="2018-12-31"/>
...
<infrastructureState type="underConstruction">
<time>
<period from="2018-06-30" to="2018-07-01"/>
</time>
</infrastructureState>
</netElement>

What do you think about that possible solution?

> 2) How to describe the relationship between LNE2 and
> LNE5/LNE6, to express replacement ?
>
> An other requirement we have, is to describe the replacement
> relationship between topological elements replacing each
> other. This is important, to know the position of an object
> after modification of network. Here I added a signal to
> illustrate this, which also can be repositioned by using a
> linear or geodetic reference system. But the problem arises
> also with historical values only having a reference to the
> topology when there where created (by example some measures
> of track state) which should be compared to corresponding
> new values created after transformation of network.

In previous alpha version of railML 3.1 I added a first concept of
change management where an element <change> was used to reference an
@oldEntity and a @newEntity. However, this was only a first draft and
e.g. does not solve the example with the new switch. More discussion is
needed here to come to a better solution, but since the railML 3.1 use
cases "Network Statement" and "Schematic Track Plan" are not that much
interested in these states (except "inOperation"), the topic has been
postponed to a future version of railML 3.

As a starter for the discussion I filed a ticket [1].

[1] https://trac.railml.org/ticket/326

Best regards
Christian

--
Christian Rahmig - Infrastructure scheme coordinator
railML.org (Registry of Associations: VR 5750)
Phone Coordinator: +49 173 2714509; railML.org: +49 351 47582911
Altplauen 19h; 01187 Dresden; Germany www.railml.org
Previous Topic: [railML 3.1] level crossing parameters
Next Topic: Infrastructure registers
Goto Forum:
  


Current Time: Tue Dec 11 05:24:28 CET 2018