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
Ontology Primer
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
          • Ontology Primer
            • Physical Reality
            • Operational Reality
            • Commercial Reality
            • BetterFleet Product Domains
            • Domain Classification Pattern
          • 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
    • Physical Reality
    • Operational Reality
    • Commercial Reality
    • BetterFleet Product Domains
    • Domain Classification Pattern
    1. Home
    2. Products
    3. General
    4. Core Domain Training
    general reference

    Ontology Primer¶

    BetterFleet starts from real-world domain nouns before product screens or service boundaries.

    The product domains and sub-domains are the top-level drivers. They describe the durable problem spaces. The core ontology concepts explain the shared nouns that appear across those spaces. The physical-world objects anchor those concepts in assets, sites, and energy flows.

    The minimum operating model is:

    • work: the demand placed on the fleet
    • fleet: the set of vehicles managed together
    • vehicle: the physical asset that performs work and consumes energy
    • energy requirement: the energy outcome needed for work, including reserve and deadline
    • energy system: the supply side, including grid, site, microgrid, chargers, storage, generation, limits, and live state
    • charging: the mechanism that allocates energy from the energy system to vehicles

    Physical Reality¶

    The physical system has hard constraints:

    • a vehicle has a battery, a location, a duty, a deadline, and a charging interface
    • a charger has one or more physical outlets or connectors
    • a site has electrical topology, grid import limits, local load, and often metering constraints
    • a grid or DERMS actor may set an operating envelope for a site or subtree
    • a charging session transfers energy over time and produces meter evidence

    OCPP 2.0.1 makes the charger-side physical model explicit:

    classDiagram
      direction TB
    
      class ChargingStation {
        physical charging system
        one CSMS connection
      }
    
      class EVSE {
        independently managed supply point
        can charge one EV at a time
      }
    
      class Connector {
        socket or cable outlet
        physical connection option
      }
    
      ChargingStation "1" --> "1..*" EVSE
      EVSE "1" --> "1..*" Connector

    OCPP 1.6 uses a flatter charge point + connector model. OCPP 2.0.1 inserts EVSE as the controllable charging point between the station and connector. That distinction matters when a piece of hardware has several connector types but can only charge one vehicle at a time.

    Operational Reality¶

    The operations model asks different questions:

    • What work must be done?
    • Which vehicle can do it?
    • How much energy does that vehicle need?
    • Which charger, connector, site capacity, and time window can supply it?
    • What happens if the charger, vehicle, site, schedule, or external grid signal changes?
    flowchart TB
      Schedule["Schedule / work plan"]
      Policy["Operating policy<br/>reserve, target SoC, priority"]
      Vehicle["Vehicle facts<br/>battery, SoC, location, capability"]
      Requirement["Energy requirement"]
      Allocation["Charging allocation"]
      Execution["Charging execution"]
      Readiness["Vehicle readiness"]
    
      Schedule --> Requirement
      Policy --> Requirement
      Vehicle --> Requirement
      Requirement --> Allocation
      Allocation --> Execution
      Execution --> Vehicle
      Vehicle --> Readiness
      Schedule --> Readiness

    This is why a charging session is more than a protocol transaction. It is evidence that a vehicle moved from one energy state to another under a set of operational decisions.

    Commercial Reality¶

    The commercial model adds access and money:

    • Who is allowed to charge?
    • Which party owns the charger network?
    • Which party owns the driver or fleet customer relationship?
    • Which tariff applies?
    • Who receives the charge detail record?
    • Who invoices, pays, or settles?

    Commercial state must stay separate from operational truth. A CDR or invoice depends on the physical session and tariff context, but it has its own meaning: it proves what should be billed or settled.

    BetterFleet Product Domains¶

    The product ontology uses these domains:

    • Smart Charging: Charger Control; Load Management; Protocol & Interoperability
    • Energy & Cost Management: Site Energy & Infrastructure; Advanced Energy & Grid
    • Operations & Dispatch: Fleet & Vehicle Management; Depot & Integration; Dispatch & Scheduling
    • Roaming & Shared Charging: Network Access & Interoperability; Commercial Settlement & Shared Charging
    • Incidents & Notifications: Alerting; Detection; Incident & Resolution Management
    • Reporting & Insights: Fleet & Charging Analytics; Operational Dashboards; Cost, Carbon & Compliance
    • Resilience & Security: Platform Reliability & Safety; Security & Access Control
    • Accessibility & Usability: User Experience; Onboarding & Support

    The key practice is to place a concept by its real-world decision boundary. For example, a charger status signal may originate in OCPP, trigger an incident, change smart-charging allocation, appear in reports, and affect roaming availability. The ontology keeps those meanings separate.

    Domain Classification Pattern¶

    Use this pattern when a new concept or feature seems to belong everywhere:

    1. Name the physical object or evidence feed.
    2. Name the decision being made.
    3. Pick the domain that owns that decision.
    4. Pick the sub-domain that best narrows the problem.
    5. List secondary domains that read or react to the state.

    Example: a site power limit is a physical grid or circuit constraint. Energy & Cost Management owns the meaning of available supply and site constraints. Smart Charging reacts by reducing charger allocation. Reporting reads the result for capacity and compliance analysis.

    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.