Skip to content

Quelles Situations doivent être diffusées ? #24

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

Open
albanpeignier opened this issue Jan 16, 2025 · 1 comment
Open

Quelles Situations doivent être diffusées ? #24

albanpeignier opened this issue Jan 16, 2025 · 1 comment
Labels
SX Tout ce qui concerne SIRI-SX
Milestone

Comments

@albanpeignier
Copy link
Collaborator

albanpeignier commented Jan 16, 2025

Suite aux discussions sur quelles Situations devraient être incluses dans une réponse à une requête/un abonnement SIRI SX. Voici une analyse (pardon en anglais) sur ce que nous avons trouvé dans SIRI Part 5 et une proposition d'un comportement attendu.

TL;DR SIRI Part 5 ne semble pas définir autre chose que "retourner tous les Situations (même closed) par défaut". Mais c'est manifestement pas ce que tout le monde en attend. Donc nous avons fait une proposition de comportement par défaut.

Si la proposition est intéressante, nous pouvons nous occuper de la traduction.

SIRI References

Into SIRI Part 5 SituationExchangeRequest, nothing is clearly defined about the expected usage of Validity Periods and Publication Windows.

The only pieces of text which could partially describe an expected behavior are:

PreviewInterval: Forward duration for which Situations should be included, that is, only Situations that start before the end of this window time will be included

But the Situation "start" is never defined ? According to Validity Periods or/and Publication Windows ?

ProgressStatus. One of a specified set of overall processing states assigned to situation. For example, 'Draft' for not yet published;'Published' for live situations; 'Closed' indicates a completed situation. If not specified return open, published closing and closed.

By default, the defined behavior includes .. closed Situations.

According to our read of the SIRI Part 5, an "empty" SIRI SituationExchange Request should receive all Situations. Nothing is defined about the ProgressStatus, the Validity Periods and/or Publication Windows.

"Current" Situations

But everybody is calling about "current" Situations, and seem to expect that a SIRI SituationExchange Request should receive these "current" Situations.

What could be a definition of these "current" Situations ?

Current Situations

When a SIRI SituationExchange Request is performed, which Situations should be scoped by default ? Which Situations should be scoped when PreviewInterval/StartTime are used ?

On this initial scope, the other filters should be applied (ProgressStatus, etc.).

Broadcast Periods

The SIRI Part 5 document, use the expressions "Situation start", "Situation end" without defining them.

What can be the start and the end of the Situation ? It should be related to the Validity Periods The Publication Windows ? The both periods ? What's happen when several Validity Periods are used ?

We created a simple concept of Broadcast Period for each Situation. And Situation has a "start" and an "end" defined by this Broadcast Period.

SIRI Situations - Broadcast Periods

We have a defined a Broadcast Period for each Situation like this:

  • its StartTime is the minimun value of any StartTime on Validity Periods and Publication Windows
  • its EndTime is:
    • infine if any Validity Period or Publication Window has no EndTime
    • the maximum value of any EndTime on Validity Periods and Publication Windows

SIRI Situations - Broadcast Period


Time scope for Request

When a Request is performed, it has an associated Time Scope. It can be implicit. It can be controlled by the SIRI StartTime and PreviewInterval attributes.

SIRI Situations - Request Time Scope

When SIRI StartTime and PreviewInterval attributes are used, the Time Scope is easy to define. By default, it's more tricky.

Default Request Time Scope

When this Request Time Scope should start ? The current time seems a natural answer. But in the real world, "now" is more relative.

If a SIRI consumer performs periodical SIRI Request, for example, every 5 minutes. If a Situation is updated between two requests and its "end", its "broadcast period" is suddenly changed to "now":

SIRI Situations - Situation updated between two Requests

Does the SIRI consumer needs to "see" this Situation ? Yes.

For this consumer, a good default Request Time Scope StartTime is "5 minutes ago". But it can change for another consumer. This delay should be configurable.

When this Request Time Scope should end ? By default, an infinite end seems to be a good answer. The SIRI Consumer can use the PreviewInterval to change easily this default behavior.

SIRI Situations - Default Time Scope


Situations scoped by the Request

The Situations which should be scoped by a Request have their Broadcast Period which intercepts the Request Time Scope:

SIRI Situations - Scoped Situations

If the SIRI Consumer expects the SIRI default behavior, the configurable delay can be set with a large value (like 24 hours).

On this base, the other filters of the Request can be applied (ProgressStatus, AffectScope, etc).

To respect the SIRI Part 5 specifications, even closed Situations are scoped by default (if their Broadcast period matches).

@albanpeignier albanpeignier added the SX Tout ce qui concerne SIRI-SX label Jan 16, 2025
@TuThoThai TuThoThai added this to the v1.8 milestone Mar 27, 2025
@Henault
Copy link
Collaborator

Henault commented Mar 27, 2025

STD-BY dans l'attente de retour des travaux CEN

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
SX Tout ce qui concerne SIRI-SX
Projects
None yet
Development

No branches or pull requests

3 participants