Skip to main content

Decision Support System Ontology

Information Systems
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 06 October 2026
Audio Overview
FLOW ALGEBRA
Decision Support System Ontology
Kireth Semantic Research Archive

PAGE:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/information-systems/decision-support-system-ontology.html

AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)

FLOW "DecisionSupportSystemOntology" v4.0

# ---------- DOMAIN ----------
DOMAIN := ComputingOntology
SUBDOMAIN := InformationSystems
ONTOLOGY := DecisionSupportSystemOntology

# ---------- PRIMARY ENTITY ----------
ENTITY DecisionSupportSystem {
    definition:
        "An information system that combines data, analytical models,
         knowledge and interactive tools to assist users in evaluating
         alternatives, understanding consequences and making informed
         decisions.";

    objectives: [
        DecisionSupport,
        Analysis,
        AlternativeEvaluation,
        InsightGeneration,
        UncertaintyManagement,
        InteractiveReasoning
    ];
}

# ---------- CORE ENTITIES ----------
DecisionEntity := {
    DecisionProblem,
    DecisionMaker,
    Alternative,
    Criterion,
    Constraint,
    Objective,
    Outcome
};

DSSComponent := {
    DataManagement,
    ModelManagement,
    KnowledgeBase,
    UserInterface,
    AnalyticsEngine
};

DecisionData := {
    InternalData,
    ExternalData,
    HistoricalData,
    RealTimeData,
    ForecastData
};

AnalysisMethod := {
    WhatIfAnalysis,
    SensitivityAnalysis,
    ScenarioAnalysis,
    Optimisation,
    Simulation,
    Forecasting,
    MultiCriteriaAnalysis
};

# ---------- FUNDAMENTAL RELATIONSHIPS ----------
DecisionSupportSystem SUPPORTS DecisionMaker;
DecisionMaker DEFINES_OR_SELECTS Objective;
DecisionProblem HAS Alternative;
Alternative EVALUATED_BY Criterion;
DecisionProblem MAY_HAVE Constraint;
DSS USES DecisionData;
DSS EXECUTES AnalysisMethod;
AnalysisMethod PRODUCES AnalyticalResult;
AnalyticalResult SUPPORTS Decision;

# ---------- DECISION FLOW ----------
DecisionNeed ->
    DefineProblem
    -> IdentifyObjectives
    -> GatherData
    -> GenerateAlternatives
    -> DefineCriteria
    -> AnalyseAlternatives
    -> CompareOutcomes
    -> PresentDecisionSupport
    -> HumanDecision;

DecisionSupportSystem ASSISTS Decision;
DecisionSupportSystem DOES_NOT_NECESSARILY_REPLACE DecisionMaker;

# ---------- DECISION PROBLEM ----------
DecisionProblem :=
    {
        Context,
        ObjectiveSet,
        AlternativeSet,
        CriterionSet,
        ConstraintSet,
        Uncertainty
    };

ProblemDefinition DETERMINES RelevantAnalysis;

# ---------- DECISION MAKER ----------
DecisionMaker :=
    PersonOrGroupResponsibleForDecision;

DecisionMaker MAY_PROVIDE {
    Preferences,
    Objectives,
    Constraints,
    RiskTolerance
};

DSS INTERACTS_WITH DecisionMaker;

# ---------- ALTERNATIVE ----------
Alternative :=
    CandidateCourseOfAction;

Alternative HAS ExpectedOrModelledOutcome;

Alternative MAY_BE {
    Generated,
    UserDefined,
    ModelGenerated
};

# ---------- CRITERION ----------
Criterion :=
    MeasureOrRuleUsedToEvaluateAlternative;

Criterion MAY_HAVE {
    Weight,
    Direction,
    Threshold,
    Preference
};

MultiCriteriaDecision :=
    EvaluateAlternativesAcross MultipleCriteria;

# ---------- CONSTRAINT ----------
Constraint :=
    RestrictionOnFeasibleDecision;

FeasibleAlternative :=
    Alternative SATISFYING AllRequiredConstraints;

IF AlternativeViolatesHardConstraint
THEN Alternative := Infeasible;

# ---------- DATA MANAGEMENT ----------
DataManagement :=
    Acquire
    -> Validate
    -> Integrate
    -> Store
    -> Retrieve;

DataSource MAY_BE {
    OperationalSystem,
    Database,
    DataWarehouse,
    Sensor,
    ExternalDataset,
    UserInput
};

DataQuality AFFECTS DecisionSupportQuality;

# ---------- MODEL MANAGEMENT ----------
DecisionModel :=
    FormalRepresentationOfDecisionRelevantRelationships;

ModelType := {
    StatisticalModel,
    OptimisationModel,
    SimulationModel,
    ForecastModel,
    FinancialModel,
    ScoringModel
};

ModelManagementSystem STORES_AND_EXECUTES DecisionModel;

# ---------- KNOWLEDGE BASE ----------
KnowledgeBase MAY_CONTAIN {
    Rule,
    Policy,
    DomainKnowledge,
    Constraint,
    Heuristic
};

Knowledge MAY_GUIDE AnalysisAndRecommendation;

# ---------- WHAT-IF ANALYSIS ----------
WhatIfAnalysis :=
    ModifyInputAssumption
    -> ExecuteModel
    -> ObserveOutcomeChange;

WhatIfAnalysis EXPLORES ConsequenceOfChangedAssumption;

# ---------- SENSITIVITY ANALYSIS ----------
SensitivityAnalysis :=
    VaryParameter
    -> RecalculateOutcome
    -> MeasureOutcomeSensitivity;

Sensitivity :=
    ChangeInOutcome / ChangeInInput;

IF SmallInputChangeCausesLargeOutcomeChange
THEN DecisionSensitivity := HIGH;

# ---------- SCENARIO ANALYSIS ----------
Scenario :=
    CoherentSetOfAssumptions;

ScenarioAnalysis :=
    DefineScenarios
    -> RunModels
    -> CompareOutcomes;

Scenario MAY_BE {
    Baseline,
    Optimistic,
    Pessimistic,
    AlternativeFuture
};

# ---------- OPTIMISATION ----------
Optimisation :=
    ObjectiveFunction
    + DecisionVariables
    + Constraints
    -> BestFeasibleSolution;

OptimisationGoal MAY_BE {
    Maximise,
    Minimise
};

IF CandidateSolutionViolatesConstraint
THEN CandidateSolution := Infeasible;

# ---------- SIMULATION ----------
Simulation :=
    ModelSystemBehaviour
    -> ExecuteUnderConditions
    -> ObserveOutcomeDistributionOrTrajectory;

Simulation MAY_SUPPORT ComplexOrStochasticDecisionProblems;

# ---------- FORECASTING ----------
Forecasting :=
    HistoricalAndCurrentData
    -> ForecastModel
    -> FutureEstimate;

Forecast HAS Uncertainty;

Forecast SHOULD_NOT_BE_TREATED_AS CertainOutcome;

# ---------- MULTI-CRITERIA ANALYSIS ----------
MCDA :=
    Alternatives
    + Criteria
    + Weights
    -> ScoresOrRanking;

WeightedScore(Alternative) :=
    SUM(
        CriterionScore_i * CriterionWeight_i
    );

CriterionWeights SHOULD_REFLECT DecisionPreferences;

# ---------- UNCERTAINTY ----------
Uncertainty MAY_INCLUDE {
    DataUncertainty,
    ModelUncertainty,
    FutureUncertainty,
    ParameterUncertainty
};

DSS MAY_REPRESENT UncertaintyUsing {
    Probability,
    Range,
    Scenario,
    ConfidenceInterval,
    QualitativeAssessment
};

# ---------- RISK ----------
DecisionRisk :=
    f(
        OutcomeProbability,
        OutcomeImpact,
        Uncertainty
    );

RiskAnalysis MAY_COMPARE Alternatives;

# ---------- RECOMMENDATION ----------
Recommendation :=
    SuggestedAlternativeBasedOn Analysis;

Recommendation SHOULD_INCLUDE {
    SupportingEvidence,
    Assumptions,
    Constraints,
    Uncertainty
};

Recommendation != Decision;

# ---------- EXPLANATION ----------
DecisionExplanation :=
    Trace(
        Data,
        Assumptions,
        Model,
        Criteria,
        Result
    );

Explainability SUPPORTS UserTrustAndReview;

# ---------- USER INTERFACE ----------
DSSInterface MAY_PROVIDE {
    DataSelection,
    ParameterInput,
    ModelSelection,
    Visualisation,
    ScenarioComparison,
    ResultExplanation
};

InteractiveAnalysis ALLOWS IterativeDecisionExploration;

# ---------- VISUALISATION ----------
DecisionVisualisation MAY_INCLUDE {
    Chart,
    Table,
    Dashboard,
    ScenarioComparison,
    SensitivityPlot
};

Visualisation SUPPORTS InterpretationOfAnalyticalResult;

# ---------- COLLABORATIVE DSS ----------
GroupDecisionSupportSystem :=
    DSSSupportingMultipleDecisionMakers;

GroupDSS MAY_SUPPORT {
    SharedData,
    AlternativeDiscussion,
    Voting,
    ConsensusBuilding
};

# ---------- REAL-TIME DSS ----------
RealTimeDSS :=
    ContinuouslyUpdatedData
    + RapidAnalysis
    -> TimeSensitiveDecisionSupport;

RealTimeData MAY_CHANGE DecisionRecommendation;

# ---------- MODEL VALIDATION ----------
ModelValidation :=
    CompareModelBehaviour
    WITH EvidenceOrExpectedBehaviour;

IF ModelInvalidForContext
THEN RecommendationConfidence := DECREASE;

# ---------- DECISION QUALITY ----------
DecisionSupportQuality :=
    f(
        DataQuality,
        ModelQuality,
        Relevance,
        Timeliness,
        Explainability,
        UserUnderstanding
    );

# ---------- AUDIT ----------
DecisionRecord :=
    {
        DecisionProblem,
        DataUsed,
        ModelUsed,
        Alternatives,
        Analysis,
        Recommendation,
        Decision,
        Time
    };

DecisionAuditTrail SUPPORTS AccountabilityAndReview;

# ---------- SECURITY ----------
DSSSecurity MAY_INCLUDE {
    Authentication,
    Authorisation,
    DataProtection,
    ModelProtection,
    Audit
};

SensitiveDecisionData REQUIRES AppropriateAccessControl;

# ---------- SEMANTIC REASONING ----------
IF SystemCombinesDataAndAnalyticalModelsToAssistDecisionMaker
THEN DecisionSupportSystemClassification := supported;

IF AlternativeViolatesConstraint
THEN AlternativeShouldNotBeRecommendedAsFeasible;

IF DataQualityLow
THEN DecisionSupportConfidence := decrease;

IF ModelValidationWeak
THEN RecommendationConfidence := decrease;

IF DecisionHighlySensitiveToAssumption
THEN SensitivityWarning := required;

IF MultipleCriteriaConflict
THEN TradeoffAnalysis := required;

IF ForecastUncertaintyHigh
THEN Recommendation SHOULD_EXPRESS Uncertainty;

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
    "decision support system" ~= "DSS";
    "decision support" ~= "computer-assisted decision support" WHEN context == information_system;
    "what-if analysis" ~= "what if analysis";
    "sensitivity analysis" ~= "decision sensitivity analysis";
    "scenario analysis" ~= "scenario-based decision analysis";
    "multi-criteria decision analysis" ~= "MCDA";
    "decision model" ~= "analytical decision model";
    "decision alternative" ~= "candidate course of action";
}

# ---------- QUERY FLOW ----------
QUERY(q) ->
    NORMALISE(q) ->
    IDENTIFY_DECISION_PROBLEM(q) ->
    IDENTIFY_DECISION_MAKER(q) ->
    IDENTIFY_ALTERNATIVES(q) ->
    IDENTIFY_CRITERIA(q) ->
    IDENTIFY_CONSTRAINTS(q) ->
    IDENTIFY_DATA(q) ->
    IDENTIFY_ANALYSIS_METHOD(q) ->
    IDENTIFY_UNCERTAINTY(q) ->
    MAP_TO_ONTOLOGY(q) ->
    APPLY_REASONING(q) ->
    SCORE_CONFIDENCE(q) ->
    RETURN_RELEVANT_KNOWLEDGE;

# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
    weighted_mean(
        source_reliability,
        data_quality,
        model_validity,
        semantic_consistency,
        evidence_strength,
        contextual_relevance
    );

CONFIDENCE >= 0.90 => HIGH;
CONFIDENCE >= 0.70 AND < 0.90 => MODERATE;
CONFIDENCE < 0.70 => REVIEW;

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION {
    primary_entity: DecisionSupportSystem;
    ontology: DecisionSupportSystemOntology;
    parse_entities: true;
    parse_relationships: true;
    preserve_relationship_direction: true;
    resolve_semantic_equivalence: true;
    execute_reasoning_rules: true;
    apply_confidence_weighting: true;
    preserve_provenance: true;
}

# ---------- UPDATE MODEL ----------
UPDATE_MODEL {
    new_decision_problem:
        identify_objectives
        -> identify_alternatives
        -> identify_criteria
        -> identify_constraints
        -> integrate;

    new_data:
        validate
        -> classify
        -> assess_quality
        -> associate_decision_problem
        -> integrate;

    new_model:
        validate
        -> classify
        -> identify_inputs_outputs
        -> identify_assumptions
        -> integrate;

    analysis_revision:
        update_data
        -> rerun_models
        -> recompute_alternative_results
        -> recompute_confidence
        -> regenerate_flow_hash;

    conflict:
        preserve_provenance
        -> compare_evidence
        -> adjust_confidence
        -> flag_review;
}

# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
    DOMAIN
    + SUBDOMAIN
    + ONTOLOGY
    + DecisionEntity
    + DSSComponent
    + DecisionData
    + AnalysisMethod
    + DecisionModel
    + Uncertainty
    + RELATIONSHIPS
    + SEMANTIC_REASONING
    + SEMANTIC_EQUIVALENCE
    + UPDATE_MODEL;

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT);

# ---------- TERMINAL ----------
DecisionSupportSystemOntology
    -> DefineDecisionProblem
    -> IdentifyObjectives
    -> GatherAndValidateData
    -> GenerateAlternatives
    -> DefineCriteriaAndConstraints
    -> SelectAnalyticalModels
    -> AnalyseScenarios
    -> EvaluateAlternatives
    -> RepresentRiskAndUncertainty
    -> ExplainResults
    -> PresentDecisionSupport
    -> RecordDecisionOutcome
    -> PreserveHumanDecisionAuthority;

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ