The Scenario ontology is a vocabulary for expressing manufacturing or planning decisions in some context as a factory for a period or a time. Decisions are Routings triggering Product consumption or production and Resource reservation. An Outcome is a Scenario associated with Predicition(s) and provides expected values for uncertain Product flows and Resource (un)availabilities.
The following concepts are implemented in this ontology. ### Abstract concepts: - **AbstractScenario**: a context holding planning decisions. - **AbstractRouting**: a Routing in the context of a Scenario, holding the quantity planned (decision). - **AbstractProduct**: a Product in the context of a Scenario. - **AbstractResource**: a Resource in the context of a Scenario. ```mermaid classDiagram class AbstractScenario:::abst AbstractScenario o--> AbstractRouting: routing class AbstractRouting:::abst { quantity: real } AbstractRouting --> Routing AbstractScenario o--> AbstractProduct: product class AbstractProduct:::abst { routingFlow: real } AbstractProduct --> Product AbstractScenario o--> AbstractResource: resource class AbstractResource:::abst { routingReservation: real } AbstractResource --> Resource AbstractScenario o--> AbstractCapabilityContribution: capabilityContribution class AbstractCapabilityContribution:::abst { contributionQuantity: real } AbstractCapabilityContribution --> CapabilityImplementation classDef default fill:white,color:black classDef abst fill:#bae1ff ,color:black classDef scen fill:#f96,color:black classDef pred fill:#e9edc9,color:black classDef reaz fill:#e1c8ea,color:black ``` As a function of those planned quantities (AbstractRouting.quantity), the AbstractScenario will calculate for every Product the resulting flow (production or consumption): the routingFlow. Similarly, the AbstractScenario will calculate for every Resource the resulting reservation: the routingReserveration. ### Base Concepts: - **Scenario**: an environment for decisions, as for instance a time-frame for an organization - **Prediction**: beliefs over events, conditional probabilities on their outcomes - **Realization**: a Prediction, with possibly stated outcomes for some Events - **Outcome**: an Outcome associates a Scenario with Realization(s), and provides expected values for this Scenario and this Prediction, such as KPI values. ```mermaid classDiagram class AbstractScenario:::abst AbstractScenario <|-- Scenario class Scenario:::scen AbstractScenario <|-- Outcome Scenario o--> Outcome class Outcome:::pred { kpis } Outcome --> "0 .. *" Realization Prediction "1" <-- Realization class Realization { statedOutcomes } classDef default fill:white,color:black classDef abst fill:#bae1ff ,color:black classDef scen fill:#f96,color:black classDef pred fill:#e9edc9,color:black classDef reaz fill:#e1c8ea,color:black ``` ### Indicator An Indicator is a property of an Outcome, providing information about the Outcome (e.g. about its performance) ```mermaid classDiagram direction RL namespace upperOntology { class Indicator:::pred class DatatypeProperty } namespace domainOntology { class anIndicator:::pred class Outcome:::pred class decimal } DatatypeProperty <|-- Indicator anIndicator --> Indicator: type anIndicator --> Outcome: domain anIndicator --> decimal: range classDef default fill:white,color:black classDef abst fill:#bae1ff ,color:black classDef scen fill:#f96,color:black classDef pred fill:#e9edc9,color:black classDef reaz fill:#e1c8ea,color:black ``` Note that the Outcome may accept several Realization/Predictions, for mutually disjoint set of Events. Events of different Predictions must be independent. ### Detail concepts: Product and Routing: - events: - **ProductFlowEvent**: an uncertain flow of Product (sale, supply) - **ResourceEventUnavailability**: an uncertain unavailability of Resource (breakdown) - scenario level concepts - **ScenarioRouting**: the level of a routing in the context of a Scenario: stated decisions - **ScenarioProduct**: the contextual information over a Product in context of a Scenario, such as the initial stock level - outcome level concepts: - **OutcomeRouting**: the level of a routing in the context of a Outcome: derived decisions - **OutcomeProduct**: derived information over a Product as function of a Realization/Prediction and a Scenario The Realization level is not implemented. See the comments on this repository README.md. The domain is structured in 3 levels: - the **domain** itself - a **Product** (or a Resource) in this domain - an **Event** for a Product in this domain The planning cycle is structure in 3 phases - the **Scenario**: the decisions - the **Outcome**: expected consequences under uncertainty - the **EventRealization**: a realized consequece with an associated probability, not displayed here below This results in 3 x 3 = 9 concepts, 6 of them displayed below: - in phase Scenario - the scenario - a product in that scenario - an event for that product - in phase Outcome - the outcome - a product in that outcome - an event for that product in that outcome ```mermaid classDiagram Product --> ProductFlowEvent class ProductFlowEvent:::scen class Scenario:::scen Scenario o--> ScenarioRouting: routing class ScenarioRouting:::scen { quantity: real } ScenarioRouting --> RoutingDefinition Scenario o--> ScenarioProduct: product class ScenarioProduct:::scen { routingFlow: real stockInitial: real } ScenarioProduct --> Product Scenario o--> Outcome class Outcome:::pred Outcome o--> OutcomeRouting: routing class OutcomeRouting:::pred { quantity: real } OutcomeRouting --> ScenarioRouting Outcome o--> OutcomeProduct: product class OutcomeProduct:::pred { eventFlow: real routingFlow: real routingFlowTotal: real stockFinal: real } OutcomeProduct --> ScenarioProduct OutcomeProduct o--> OutcomeProductEvent: event class OutcomeProductEvent:::pred { flowExpected: real } OutcomeProductEvent --> ProductFlowEvent classDef default fill:white,color:black classDef scen fill:#f96,color:black classDef pred fill:#e9edc9,color:black classDef reaz fill:#e1c8ea,color:black ```
The Scenario ontology
An ontology of a context for manufacturing decisions, allowing performance calculations under uncertainty
Manufacturing decisions need to be managed in some context before being executed on the floor. This allows to compare different sets of decisions for example. Such a context is called `Scenario`. This can for instance be a week for a factory. For that week and that factory, the planning decisions might be: - amount of production for a process - amount of products transported from a location to another location - amount of material ordered to a supplier
The contributing implementation, for some provider and some request
The Resource (if any) used to derive the uncertain quantity
The expected flow for this Product and this Event in the context of this Outcome
The expected unavailability for this Resource and this Event in the context of this Outcome
The fraction of the available capacity to use (input)
The executed quantity of this Routing in this Scenario
A capability contribution by some provider (supplier, resource)
A Product in the context
A Resource in the context
A Routing in the context
A context for Routing's
A performance indicator for the Outcome of the Scenario
A Resource in the context of a Outcome
A Routing planned in the context of an Outcome, so in the context of Predictions
An Event modeling uncertainty about a flow of Product (supplies, sales, demand)
An Evant modeling uncertainty about the unavailability of a Resource (breakdown, maintenance).
A decision of executing a given Routing a given number of times (input)
A set of decisions, possibly to be executed in some period and/or in some region/site
A Resource in the context of a Scenario
A Rroduct in the context of a Scenario
The total contribution in terms of unit implementations
The balance of Product due to product flow Event's
Total of the flow resulting from the stated (Scenario) and derived (Outcome) Routing's
Derived correction to keep the final stock positive
Stock resulting from event and stated Routing's, before calculating derived Routing's
Final stock, resulting for the routing flows and the event flows.
The Resource reservation due to uncertain Event's
The initila stock of this Product in this Scenario (input)
The nominal availability of this Resource in this Scenario (input)
The balance of consumption/production of this Product (derived)
The total usage (reservation) of this Resource in this context (derived)