openmobilityfoundation / mobility-data-specification

A data standard to enable right-of-way regulation and two-way communication between mobility companies and local governments.
https://www.openmobilityfoundation.org/about-mds/
Other
685 stars 231 forks source link

Question: Ordering of fleet-related policies #771

Open mrsimpson opened 2 years ago

mrsimpson commented 2 years ago

Need for clarification

in the policy spec, it is quite clearly described that ordering of rules within a policy is used to model precedence of one rule over the other. While this is comparatively easy to understand for policies addressing an individual device (time and speed rules), this is not intuitive for policies addressing an operators fleet (count): If a policy defines two rules, providers can violate both with the same fleet at the same time ā€“ and I'd expect both violations to be reported.

A quick example (illustrative):

      {
        "name": "Mobility Caps: Company 1",
        "description": "Caps for Company 1, year 2023",
        "policy_id": "1",
        "provider_ids": ["1"],
        "rules": [
          {
            "name": "Prevent down town being overloaded",
            "rule_id": "8a61de66-d9fa-4cba-a38d-5d948e2373fe",
            "rule_type": "count",
            "rule_units": "devices",
            "geographies": [
              "e3ed0a0e-61d3-4887-8b6a-4af4f3769c14"
            ],
            "vehicle_types": [
              "bicycle",
              "scooter"
            ],
            "maximum": 2000
          },
          {
            "name": "Ensure fair competition within the operational area",
            "rule_id": "57d47e74-6aef-4f41-b0c5-79bb35aa5b9d",
            "rule_type": "count",
            "rule_units": "devices",
            "geographies": [
              "1f943d59-ccc9-4d91-b6e2-0c5e771cbc49"
            ],
            "vehicle_types": [
              "bicycle",
              "scooter"
            ],
            "maximum": 4000
          }
        ]
      }

Although a provider may comply to the first rule and not flood down town with vehicles, there could still be too many devices within the whole district.

Describe the solution you'd like

I'd expect all rules with type count to be evaluated within a policy ā€“ and not interrupt the assessment after the first match.

Is this a breaking change

Currently, there is no explicit information about handling count-based policies/rules, but there is general precedence included in the spec, so I'd judge this

Impacted Spec

For which spec is this feature being requested?

Describe alternatives you've considered

We could also split up count rules into own policies. However, this would make it more tricky to lifecycle them: They could have different dates as well as the need to be published individually.

mrsimpson commented 2 years ago

/cc @marie-x WDYT? What was the original intention when authoring policy?

mrsimpson commented 1 year ago

@schnuerle @marie-x any plans to tackle fleet policies in MDS 2.0?

schnuerle commented 1 year ago

Let's see what @jean-populus and @S-eb think about clarifying this as part of the Policy work for 2.0, since they have been leading this work on the steering committee.

jean-populus commented 1 year ago

This is a pretty big change so I'm not sure we'd have time to solicit feedback and come up with a solution in time for this version. But let's add this for consideration for v3.

schnuerle commented 4 months ago

Is this still a need @mrsimpson? If so maybe you can draft a PR off of MDS 2.0? If it's a breaking change we can try to line it up for 3.0.

mrsimpson commented 4 months ago

@schnuerle I still see this as open and unclear wrt how the policy evaluation shall work. But to be honest, I myself am currently not able to draft a PR šŸ™

schnuerle commented 4 months ago

Ok we will keep it open and hopefully get support from others on creating a PR.