Skip to content

📊 Diagram: Mobility as a Service (MaaS) System

Available Online

This model (converted to a data flow diagram) is available to view using the online editor!

Open In Online Editor

🔗 Link to Original Paper/Article

View Full Main Source

Open Example Model in Example Models Bundles

📝 Short Description

The MaaS ticketing system is a distributed system in which customers manage and operate a vehicle which generates data that needs to be collected, managed, analyzed and sufficiently secured.

🔤 Abbreviations

  • MaaS: Mobility as a Service
  • STS: Short term secret
  • LTS: Long term secret

🏷️ Label description

  • 🗂️ Data Labels:

    • DataGranularity

      • FineGranular: Data containing fine granular information
      • Aggregated: Data aggregated from multiple data sources
    • DataType

      • LTS: Data is a long term secret
      • STS: Data is a short term secret
      • TripData: Data related to trip information
      • VehicleInformation: Data concerned with the vehicle
      • InvoiceValue: Invoice amount data
      • InspectionResult: Result data of an inspection
      • LoginData: Data used for login
      • ContactInformation: Contact information of a customer
      • CustomerPseudonym: Pseudonym of a customer
  • 🏷️ Node Labels:

    • Role

      • AnalysisStaff: Action performed by Analysis staff
      • Inspector: Action performed by an inspector
      • Customer: Actions performed by customers
      • Vehicle: Actions performed by the vehicle
      • SupportStaff: Actions performed by the performed staff
      • BillingStaff: Actions performed by the billing staff
      • Administrators: Actions performed by system administrators
      • MoblityProvider: Actions performed by the mobility provider
    • StateMachineAccessType

      • Read: Read-only operations accesses only
      • Write: Write and read operations allowed

⚠️ Constraints

  1. Fine granular trip, STS and LTS data never leaves the customer
    • CNFR11: data DataGranularity.FineGranular DataType.TripData neverFlows vertex !Role.Customer
    • CNFR12: data DataGranularity.FineGranular DataType.STS neverFlows vertex !Role.Customer
    • CNFR13: data DataGranularity.FineGranular DataType.LTS neverFlows vertex !Role.Customer
  2. Trip data and vehicle data from the customer never reaches an inspector
    • CNFR2: data DataType.TripData Role.Customer DataType.VehicleInformation Role.Vehicle neverFlows vertex Role.Inspector
  3. Fine granular trip, STS and LTS data from the customer never reaches analysis staff or an inspector
    • CNFR31: data DataType.TripData Role.Customer DataGranularity.FineGranular neverFlows vertex Role.AnalysisStaff,Role.Inspector
    • CNFR32: data DataType.STS Role.Customer DataGranularity.FineGranular neverFlows vertex Role.AnalysisStaff,Role.Inspector
    • CNFR33: data DataType.LTS Role.Customer DataGranularity.FineGranular neverFlows vertex Role.AnalysisStaff,Role.Inspector
  4. Fine granular trip data from the customer never reaches analysis staff
    • CNFR4: data Role.Customer DataType.TripData DataGranularity.FineGranular neverFlows vertex Role.AnalysisStaff
  5. Interfaces written to never flow to interfaces used in read-only
    • INFR1: data WriteAction.$Write neverFlows vertex StateMachineAccessType.Read where present $Write

🚨 Violations