Google Sign-In Required

Use your company Google account to access the BetterFleet private content.

Back to private home

BetterFleet Support Private
Skip to content
BetterFleet Dev Wiki
Two-Axis Ontology Model
Initializing search
    bf-dev
    • Home
    • Process
    • Products
    • Reference
    • Decisions
    • Work
    • Operations
    bf-dev
    • Home
      • Process Handbook
      • BetterFleet Workflow Map
      • Product Development System
      • Product Engineering Workflow
        • Process Workflows
        • Work Intake and Weekly Planning
        • Product Engineering Workflow in Linear
        • Product Engineering Delivery
        • Agent Guidance
        • Workflow
        • Skills
        • Skill Sources
        • Process Guides
        • GitLab Feature Flags
        • In-App Docs Authoring
        • Release Notes
        • Process Templates
        • Release Plan: <title>
      • Process Publishing
      • Product overview
        • General Reference
          • Core Domain Training
          • System Topology
          • Two-Axis Ontology Model
            • Model 1: Problem-Domain Orientation
            • Domain Driver Map
            • Model 2: Physical Orientation
            • Coordinate Mapping
            • Physical And Problem-Domain Overlap
            • Definite Implementation Pattern
            • Ontology Stack
          • Ontology Primer
          • Worked Example
          • Evidence, Ownership, and Lineage
          • Energy Management
          • Standards and Protocol Map
          • Charging, Roaming, and Commercial Model
          • Charge Planning and Operations
          • Cross-Cutting Domains
          • Domain Coverage Matrix
        • BetterFleet Product Ontology
        • Core Operations Data Ontology
        • BetterFleet R&D Plan
        • Index
        • Architecture
        • Manage Product Capabilities
        • Manage Data and State
        • Manage Service Interaction Flows
        • Manage Reference
        • Manage Internal Application Diagrams
          • Manage Authorization And Permissions
          • bf-manage-core Auth and Authorization Model
          • Manage Authorization and Permissions
          • bf-manage-web Auth and Permission Model
          • Manage Service Catalog
          • bf-depot-sim
          • bf-digital-twin (Manage Role)
          • bf-fleet-health
          • bf-manage-connect
          • bf-manage-core
          • bf-manage-incidents
          • bf-manage-roaming
          • bf-manage-sitepwrmon
          • bf-manage-web
          • bf-schedule-creator (Manage Role)
          • bf-support-microsite
          • bf-telematics
        • Index
        • Architecture
        • Plan Reference
        • Plan Internal Application Diagrams
        • Plan Migration and Flags
        • Plan Simulation Request Lifecycle
          • Plan Service Catalog
          • bf-bnl-schedule-analysis-compute
          • bf-bnl-settings
          • bf-bnl-ui
          • bf-digital-twin (Plan Role)
          • bf-route-modelling
          • bf-schedule-creator (Plan Role)
      • Where to Ask Product Questions
      • Reference
        • Platform Reference
        • Platform Architecture
        • Script Runtime Model
        • Compose Profiles and Modes
        • Repository Map
        • Monolithic Git Transition FAQ
        • Monolithic Git Sizing
        • CI and Release Integration
        • Shared Reference
        • Shared Infrastructure Architecture
        • Secrets and Env Strategy
        • Vendors and Local Dependencies
        • System Reference
        • Cloud Data Dependencies
        • Ports and URLs
        • Service Matrix
          • API Docs
          • OCPI API Docs
          • OCPP API Docs
          • OSCP API Docs
          • VDV API Docs
          • Yard State API Docs
        • System Design
        • System Design: BBA Microgrid Controller Generic Packet Translation
        • System Design: Depot Simulation
        • System Design: IoT Sensor Packet
        • System Design: Microgrid Energy Orchestration
          • System Design: OCPP Profile 3 And ISO 15118 PKI
          • Architecture: BetterFleet OCPP Profile 3 and ISO 15118 PKI
          • Specification: BetterFleet OCPP Profile 3 and ISO 15118 Certificate Lifecycle Management
          • System Design: On-Prem Control
          • Challenge
          • Specification: BetterFleet On-Prem Continuity Control
          • System Design: OSCP
          • OSCP Protocol Documentation
          • Depot Sim Testing Requirements
          • System Design: OSCP Flexibility Provider Domain
      • Decisions
        • Architecture Decision Records
        • 0001 - Record architecture decisions
        • 0002 - Cognito for Authentication and Authorisation
        • 0003 - AWS Amplify for Authentication
        • 0004 - DynamoDB for default database
        • 0005 - Data Persistence
        • 0006 - Trunk-Based Development
        • 0007 - Generalised principle for automation
        • 0008 - Naming Repositories, Services, and URLs
        • 0009 - Use Timezone Aware DateTimes and UTC
        • 0010 - Use semantic release
        • 0011 - Centralized feature flag repository
        • 0012 - Use Named Exports in Storybook
        • 0013 - RESTful TITLE GraphQL
        • 0014 - Service Granularity
        • 0015 - Async/co-routine exception handling pattern
        • 0016 - Logging & log levels
        • 0017 - Instantiated Models
        • 0018 - Repository Pattern for Database Access
        • 0019 - Use of Design Tokens in TypeScript React Application
        • 0020 - API backwards compatibility and versioning
        • 0021 - Alembic Migration strategy
        • 0022 - Consistent react-hook-form usage
        • 0023 - Domain Event-Driven Architecture
        • 0024 - Domain Event Bus Tech Stack
        • 0025 - No enum types in DB table columns
        • 0026 - In-Memory Ormar Stores for Repository testing
        • 0027 - Storing Tab State in Query and Local Storage
        • 0028 - Adopt OpenTelemetry Semantic Conventions for Structured Logging
        • 0029 - Adopt RFC 9457 for HTTP Error Responses
        • 0030 - Use GitLab registry and Terraform state for ECS services
        • 0031 - Adopt DDD, Hexagonal Architecture, and CQRS for Python Domain Services
      • Work
        • Active Work
          • Work: Bba Microgrid Controller
          • Implementation Specification: BBA Microgrid Controller
          • BBA Microgrid Controller Deliverables (Stories)
          • Work: BFDev Monolithic Git
          • Challenge
          • Specification: BFDev Monolithic Git v2
          • BFDev Monolithic Git v2 Stories
          • Work: Complex Circuit Load Balancing
          • Implementation Specification: Complex Circuit Load Balancing
          • Complex Circuit Load Balancing Deliverables (Stories)
            • COR-10 and COR-11 Consolidation Review
          • Work: Dispatch Reliability and Reconciliation
          • Challenge
          • Specification: Dispatch Reliability and Reconciliation
          • Dispatch Reliability and Reconciliation (Unit User Stories)
            • Dispatch populated vehicle cards grey surface snapshot
            • Dispatch Visual Review
          • Work: Enable Scheduled Managed Charger Access
          • Challenge: Enable Scheduled Managed Charger Access
          • Specification Exploration Dossier: Enable Scheduled Managed Charger Access
          • Specification Review: Enable Scheduled Managed Charger Access
          • Specification: Enable Scheduled Managed Charger Access
          • Work: Guided Cut-Off and Release Orchestration
          • Specification: Guided Cut-Off and Release Orchestration
          • Guided Cut-Off and Release Orchestration (Unit User Stories)
          • Work: Production Deployment Validation
          • Challenge
          • Work: Scheduled Report Parity
          • Specification: Scheduled Report Parity
          • Work: Telematics
          • Telematics EventBridge Path
          • Telematics Ingress Architecture
          • Specification: Telematics Migration into bf-manage-core with 5-Minute Freshness and Health Visibility
          • Telematics Core Migration MVP (Implementation-Time BDD)
          • Work: Vector Derms
          • Implementation Specification: Vector DERMS
          • Vector DERMS Deliverables (Stories)
          • Work: Visiting Vehicle Charging Visibility
          • Specification: Visiting Vehicle Charging Visibility
          • Visiting Vehicle Charging Visibility (Unit User Stories)
          • Work: Workspace Owned Stripe Roaming
          • Specification: Workspace-Owned Stripe Credentials for Roaming Payments
        • Backlog Work
          • Work: Microgrid
          • Microgrid Backlog Stories
          • Work: Mobile Ops Companion
          • Challenge
          • Specification: Mobile Operations Companion v1
          • Mobile Operations Companion Deliverables (Stories)
          • Work: Oscp
          • OSCP Backlog Stories
        • Archived Work
          • Work: Code Canonical Orchestration
          • Challenge
          • Specification: Product Engineering Workflow
          • Product Engineering Workflow Deliverables (Unit User Stories)
          • Work: Release Notes Automation
          • Release Plan: Release Notes Automation
          • Release Notes Automation Backlog Stories
      • Operations
      • Onboarding Runbook
        • Operations Runbooks
        • Production Hotfix Release
        • Staging Hotfix Release
        • Manage Staging Release Validation
        • Terraform Plan Dry Runs
        • Operations Tooling
        • Code Indexing
        • Operations Evidence
        • Database Restoration Test Report
      • Daily Operations Runbook
      • Testing Guide
      • Troubleshooting
    • Model 1: Problem-Domain Orientation
    • Domain Driver Map
    • Model 2: Physical Orientation
    • Coordinate Mapping
    • Physical And Problem-Domain Overlap
    • Definite Implementation Pattern
    • Ontology Stack
    1. Home
    2. Products
    3. General
    4. Core Domain Training
    general reference

    Two-Axis Ontology Model¶

    The training pack uses two coordinate axes:

    1. Problem-domain orientation: the eight BetterFleet domains and their sub-domains. This is the main orientation.
    2. Physical orientation: the physical reality being modelled: vehicles, chargers, EVSEs, connectors, sites, depots, grid connections, microgrids, meters, storage, generation, people, and time.

    Everything else maps into this coordinate system: standards, services, screens, reports, commercial flows, events, integrations, and training examples.

    BetterFleet's core problem is matching fleet work to available energy through time. The problem-domain axis explains why a capability exists. The physical axis explains what real-world objects the capability acts on or observes.

    Model 1: Problem-Domain Orientation¶

    The problem-domain orientation is the primary model. It groups work by the decision being made, rather than by protocol, service, screen, or physical asset.

    Domain Driver Map¶

    Domain Sub-domains Problem-domain driver Canonical product questions
    Smart Charging Charger Control; Load Management; Protocol & Interoperability allocate power safely and fairly so vehicles meet energy targets What should charge, when, at what power, and under which charger constraints?
    Energy & Cost Management Site Energy & Infrastructure; Advanced Energy & Grid reduce cost, carbon, and grid risk while keeping fleet work possible What energy is available, constrained, costly, clean, or externally governed?
    Operations & Dispatch Fleet & Vehicle Management; Depot & Integration; Dispatch & Scheduling decide which vehicle can do which work and whether it will be ready What work must be done, which vehicle should do it, and will it be ready?
    Roaming & Shared Charging Network Access & Interoperability; Commercial Settlement & Shared Charging let the right external party charge and settle the result Who may access charging, under which commercial terms, and how is the session settled?
    Incidents & Notifications Alerting; Detection; Incident & Resolution Management find failures, explain impact, and drive resolution What is broken, who needs to know, what is the impact, and what should happen next?
    Reporting & Insights Fleet & Charging Analytics; Operational Dashboards; Cost, Carbon & Compliance turn history into decisions, proof, and accountability What happened, why did it happen, what did it cost, and what must be proven?
    Resilience & Security Platform Reliability & Safety; Security & Access Control keep control safe, trusted, observable, and recoverable Who or what can act, what can fail safely, and how is trust maintained?
    Accessibility & Usability User Experience; Onboarding & Support make the domain usable without requiring protocol knowledge How do users understand, configure, operate, and recover inside the product?

    Model 2: Physical Orientation¶

    The physical orientation is the second model. It names the real-world things BetterFleet models, controls, observes, or explains.

    Physical anchor What it represents Main domain overlaps
    Vehicle the mobile asset that performs work and consumes energy Operations & Dispatch; Smart Charging; Reporting & Insights
    Battery / energy state usable energy, SoC, capacity, degradation, reserve Smart Charging; Operations & Dispatch; Energy & Cost Management
    Charger the installed charging asset or station Smart Charging; Incidents & Notifications; Resilience & Security
    EVSE the controllable supply point that can charge one EV at a time Smart Charging; Roaming & Shared Charging; Reporting & Insights
    Connector the socket, cable, or outlet option Smart Charging; Roaming & Shared Charging; Incidents & Notifications
    Site / depot the operating location and local physical context Operations & Dispatch; Energy & Cost Management; Reporting & Insights
    Grid connection the external supply boundary for the site Energy & Cost Management; Resilience & Security
    Microgrid / topology node the internal electrical model of supply, circuits, limits, and assets Energy & Cost Management; Smart Charging; Incidents & Notifications
    Meter / telemetry point observed evidence of power, energy, state, or fault Reporting & Insights; Energy & Cost Management; Incidents & Notifications
    Storage / generation local energy resources that can shift supply or demand Energy & Cost Management; Smart Charging
    User / driver / operator the person or account acting in the system Accessibility & Usability; Roaming & Shared Charging; Resilience & Security
    Time deadlines, windows, tariffs, sessions, validity, schedules all domains

    Coordinate Mapping¶

    Every concept should have a coordinate:

    • problem coordinate: domain plus sub-domain
    • physical coordinate: physical anchor plus relevant time window

    Examples:

    Thing being discussed Problem coordinate Physical coordinate Meaning
    load-balancing strategy Smart Charging -> Load Management site, microgrid node, charger, connector, vehicle, time allocate limited power across charging demand
    operating envelope Energy & Cost Management -> Advanced Energy & Grid grid connection, microgrid node, time window constrain available site capacity from an external grid signal
    remote start Smart Charging -> Charger Control charger, EVSE, connector, vehicle, user start a charging session through the charger-control path
    roaming tariff Roaming & Shared Charging -> Commercial Settlement & Shared Charging charging location, EVSE, connector, user, session time price a session for a visiting user or partner
    readiness target Operations & Dispatch -> Dispatch & Scheduling vehicle, battery state, route or block, deadline define the energy outcome needed for future work
    charger fault incident Incidents & Notifications -> Detection charger, EVSE, connector, comms path, time detect and explain a failure affecting operations
    charging-session report Reporting & Insights -> Fleet & Charging Analytics session, meter, vehicle, tariff, depot, time convert session history into analysis and proof
    certificate rollout Resilience & Security -> Security & Access Control charger, EVSE, certificate, CSMS connection, time establish trusted charger communication

    Physical And Problem-Domain Overlap¶

    The same physical object appears in several problem domains. The coordinate model keeps the meaning clear.

    flowchart TB
      subgraph Physical["Physical world"]
        Vehicle["Vehicle"]
        Charger["Charger / EVSE / Connector"]
        Site["Depot / Site"]
        Grid["Grid / Microgrid"]
        User["Driver / Operator"]
      end
    
      subgraph Domains["Problem domains"]
        Smart["Smart Charging"]
        Energy["Energy & Cost Management"]
        Ops["Operations & Dispatch"]
        Roaming["Roaming & Shared Charging"]
        Incidents["Incidents & Notifications"]
        Reports["Reporting & Insights"]
        Trust["Resilience & Security"]
        UX["Accessibility & Usability"]
      end
    
      Vehicle --> Ops
      Vehicle --> Smart
      Vehicle --> Reports
      Charger --> Smart
      Charger --> Roaming
      Charger --> Incidents
      Site --> Energy
      Site --> Ops
      Grid --> Energy
      Grid --> Trust
      User --> Roaming
      User --> UX
    
      Smart --> Reports
      Energy --> Smart
      Ops --> Smart
      Roaming --> Reports
      Incidents --> Ops
      Trust --> Smart

    Examples:

    • A connector is physical hardware in Smart Charging, an availability signal in Incidents, a location resource in Roaming, and a meter evidence source in Reporting.
    • A tariff is a commercial pricing object in Roaming, an energy-cost input in Energy & Cost Management, and a report dimension in Reporting.
    • A vehicle is a physical asset in Operations & Dispatch, a charging target in Smart Charging, and a cost/carbon attribution point in Reporting.
    • A grid constraint is an energy-system limit in Energy & Cost Management, an allocation constraint in Smart Charging, and a safety concern in Resilience & Security.

    Definite Implementation Pattern¶

    Each training module should implement the two-axis model in the same way:

    1. Start with the problem-domain coordinate.
    2. Name the physical-coordinate anchors.
    3. Map standards and source signals onto those coordinates.
    4. Explain the BetterFleet concept or behaviour.
    5. Link to service, API, UI, or report implementation only after the ontology mapping is clear.

    For example:

    flowchart LR
      Problem["Problem coordinate<br/>domain + sub-domain"]
      Physical["Physical coordinate<br/>asset + location + time"]
      Evidence["Evidence and standards<br/>OCPP, OCPI, OICP, OSCP, OpenADR, VDV, ISO 15118, meters"]
      Concept["BetterFleet concept<br/>session, envelope, requirement, incident"]
      Implementation["Implementation<br/>service, API, UI, report"]
    
      Problem --> Concept
      Physical --> Concept
      Evidence --> Concept
      Concept --> Implementation

    Ontology Stack¶

    flowchart TB
      Outcomes["Business outcomes<br/>readiness, cost, carbon, uptime, settlement"]
      Domains["Product domains<br/>the problem spaces"]
      Concepts["Core ontology concepts<br/>work, fleet, vehicle, energy requirement, energy system, charging"]
      Physical["Physical reality<br/>vehicle, charger, EVSE, connector, site, grid"]
      Evidence["Evidence feeds<br/>OCPP, OCPI, OICP, OSCP, OpenADR, VDV, ISO 15118, telematics, meters, schedules"]
      Services["BetterFleet services and UI<br/>implementation boundary"]
    
      Outcomes --> Domains
      Domains --> Concepts
      Concepts --> Physical
      Physical --> Evidence
      Evidence --> Services
      Services --> Domains

    Use this stack when classifying work:

    1. Start with the business outcome.
    2. Choose the problem-domain coordinate: domain and sub-domain.
    3. Choose the physical coordinate: physical anchor and time window.
    4. Name the core ontology concepts involved.
    5. Name the standards, integrations, or evidence feeds.
    6. Map to BetterFleet services, APIs, screens, and reports.

    This avoids treating protocol messages or repo names as the domain model.

    Made with Material for MkDocs
    BFDev Docs Assistant
    New conversation?
    Ask one focused question at a time, this helps the assistant provide accurate answers about what's been implemented in BetterFleet.