SUPPORTING NEW MODES IN MDS
August 2021
HOW TO ADD NEW MODES TO MDS?
DESIGN GOALS
DESIGN GOALS
WHAT’S DIFFERENT
STATE MACHINE
TRIP RELATIONSHIPS
VEHICLE TYPES
POLICIES
PROPOSED CHANGES
GLOBAL STATES, MODE-SPECIFIC STATE MACHINE
on_trip ➡ available
event_type: trip_end
✅ ALLOWED
on_trip ➡ available
event_type: maintenance
❌ NOT ALLOWED
VEHICLE ATTRIBUTES
GLOBAL FIELDS
vehicle_type: car
propulsion_type: plug_in_hybrid
MODE-SPECIFIC ATTRIBUTES
”passenger_capacity”: 3,
”wheelchair_accessible”: false,
”make”: ”Toyota”,
”model”: ”Prius Prime”,
”model_year”: ”2020”
RELATED TRIPS
RELATED TRIPS EXAMPLES
RELATED TRIPS EXAMPLES CONT’D
POLICY API
/MODES DIRECTORY
This top-level directory will be added to the MDS repository and will contain all mode-specific definitions.
File | Description |
modes/README.md | Overview of mode definitions, the files in which they are contained, and a master list of supported modes. |
modes/vehicle_states.md | A global list of all possible vehicle states that can be used in mode-specific state machines. |
modes/event_types.md | A global list of all possible event types that can be used in mode-specific state machines. |
modes/X.md | Definitions specific to each mode, including state machine, vehicle attributes, and related trips rules. Should include clear definitions for how to map global states and event types to mode specific terminology and concepts. |
modes/micromobility.md | Example mode file: micromobility. Mode definitions specific to micromobility. |
OPEN QUESTIONS
FOUNDATIONAL QUESTIONS
IMPLEMENTATION QUESTIONS
IMPLEMENTATION QUESTIONS CONT’D
LEAVING FEEDBACK
Places to have discussions and leave feedback.