FRAM Ontology

An OWL 2 vocabulary for the Functional Resonance Analysis Method

Version 1.2.0CC BY-SA 4.0

Namespace

Prefix: fram:

IRI: https://flowfram.com/ontology/fram/

Download

Core Classes

fram:FRAMModel

A complete FRAM model consisting of functions, aspects, and couplings.

fram:Function

A FRAM function representing an activity or task, characterized by six aspects.

Subclasses: HumanFunction, TechnologicalFunction, OrganisationalFunction, BackgroundFunction, EntryFunction, ExitFunction

fram:Aspect

One of the six characterizing aspects of a function: I, O, P, R, C, T.

Subclasses: InputAspect, OutputAspect, PreconditionAspect, ResourceAspect, ControlAspect, TimeAspect

fram:Coupling

A directed connection between the Output of one function and an aspect of another.

fram:Variability

Performance variability characterized by timing and precision phenotypes.

Subclasses: InternalVariability, ExternalVariability, UpstreamVariability, DownstreamVariability

fram:Distribution

Probability distribution for quantitative analysis.

Subclasses: NormalDistribution, UniformDistribution, TriangularDistribution, LogNormalDistribution

fram:Phenotype

Qualitative characterization of output variability.

Subclasses: TimingPhenotype, PrecisionPhenotype

fram:PerformanceCondition

A Common Performance Condition (CPC) that influences function variability.

fram:FunctionalResonance

Emergent phenomenon from the interaction of everyday performance variability.

fram:Constant

A named constant value in the quantitative metadata of a FRAM function. Fixed value with name, data type, and optional unit.

fram:Variable

A computed variable defined by an expression in the quantitative metadata. Can depend on constants or other variables.

fram:OutputMessage

A message output from a function specifying which data is sent to a target function via a coupling. Carries constants, variables, and passthrough fields.

fram:InterpretationProfile

Defines how a function interprets incoming messages on each aspect. Activation logic: ALL, ANY, or NONE.

fram:FRAMScenario

A scenario variant of a FRAM model with specific parameter settings for comparative analysis.

fram:Passthrough

A passthrough field that forwards data from a source function without transformation, maintaining traceability.

Object Properties

PropertyDomainRange
hasFunctionFRAMModelFunction
hasCouplingFRAMModelCoupling
hasAspectFunctionAspect
hasVariabilityFunctionVariability
hasPerformanceConditionFunctionPerformanceCondition
sourceFunctionCouplingFunction
targetFunctionCouplingFunction
sourceAspectCouplingOutputAspect
targetAspectCouplingAspect
hasDistributionVariabilityDistribution
hasPhenotypeVariabilityPhenotype
hasContributingFactorVariabilityPerformanceCondition
hasConstantFunctionConstant
hasVariableFunctionVariable
hasOutputFunctionOutputMessage
hasInterpretationProfileFunctionInterpretationProfile
hasPassthroughOutputMessagePassthrough
hasScenarioFRAMModelFRAMScenario
originChainFunctionalResonanceFunction
resonancePointFunctionalResonanceFunction
criticalPathFunctionalResonanceFunction
variabilityHotspotFunctionalResonanceFunction
isFunctionOfFunctionFRAMModel
isCouplingOfCouplingFRAMModel
isAspectOfAspectFunction
isSourceOfFunctionCoupling
isTargetOfFunctionCoupling
isVariabilityOfVariabilityFunction
isPerformanceConditionOfPerformanceConditionFunction
isSourceAspectOfOutputAspectCoupling
isTargetAspectOfAspectCoupling
isDistributionOfDistributionVariability
isPhenotypeOfPhenotypeVariability
isContributingFactorToPerformanceConditionVariability
isConstantOfConstantFunction
isVariableOfVariableFunction
isOutputOfOutputMessageFunction
isScenarioOfFRAMScenarioFRAMModel
isInterpretationProfileOfInterpretationProfileFunction
isPassthroughOfPassthroughOutputMessage
isOriginChainInFunctionFunctionalResonance
isResonancePointInFunctionFunctionalResonance
isCriticalPathInFunctionFunctionalResonance
isVariabilityHotspotInFunctionFunctionalResonance

Usage Example

{
  "@context": "https://flowfram.com/ontology/fram/context.jsonld",
  "@type": "FRAMModel",
  "name": "My FRAM Model",
  "hasFunction": [
    {
      "@type": ["Function", "HumanFunction"],
      "name": "Perform task",
      "hasAspect": [
        { "@type": "InputAspect", "name": "Task request" },
        { "@type": "OutputAspect", "name": "Task completed" }
      ]
    }
  ]
}