AI SEARCH
FLOW ALGEBRA — BUS ARCHITECTURE ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/computer-architecture/bus-architecture-ontology.html
FLOW BUS_ARCHITECTURE_ONTOLOGY {
META {
DOMAIN = "Computing Ontologies"
SUBDOMAIN = "Computer Architecture"
ONTOLOGY = "Bus Architecture Ontology"
PURPOSE = "Formalise computer bus structures, signal groups, transfer protocols, arbitration, addressing, timing and communication relationships between architectural components."
LOCALE = "en-GB"
}
ENTITY_TYPES {
BUS_ARCHITECTURE
BUS
SYSTEM_BUS
DATA_BUS
ADDRESS_BUS
CONTROL_BUS
MEMORY_BUS
IO_BUS
EXPANSION_BUS
FRONT_SIDE_BUS
INTERNAL_BUS
EXTERNAL_BUS
SERIAL_BUS
PARALLEL_BUS
SYNCHRONOUS_BUS
ASYNCHRONOUS_BUS
INTERCONNECT
LINK
CHANNEL
BUS_LINE
SIGNAL
DATA_SIGNAL
ADDRESS_SIGNAL
CONTROL_SIGNAL
CLOCK_SIGNAL
REQUEST_SIGNAL
ACKNOWLEDGEMENT_SIGNAL
READ_SIGNAL
WRITE_SIGNAL
INTERRUPT_SIGNAL
BUS_MASTER
BUS_SLAVE
INITIATOR
TARGET
ARBITER
CPU
PROCESSOR
MEMORY
CACHE
DEVICE
PERIPHERAL
IO_CONTROLLER
MEMORY_CONTROLLER
BRIDGE
TRANSACTION
TRANSFER
READ_TRANSACTION
WRITE_TRANSACTION
BURST_TRANSFER
ADDRESS
DATA
PACKET
FRAME
PROTOCOL
ARBITRATION
BUS_CYCLE
CLOCK_CYCLE
BANDWIDTH
LATENCY
BUS_WIDTH
DATA_WIDTH
ADDRESS_WIDTH
FREQUENCY
STATE
EVENT
ERROR
CONFIGURATION
VERSION
EVIDENCE
CONFIDENCE_SCORE
PROVENANCE_RECORD
}
RELATIONSHIPS {
IS_A
INSTANCE_OF
PART_OF
CONTAINS
CONNECTED_TO
INTERFACES_WITH
TRANSFERS
CARRIES
TRANSMITS
RECEIVES
SENDS
ADDRESSES
REQUESTS
ACKNOWLEDGES
READS_FROM
WRITES_TO
ARBITRATES
GRANTS_ACCESS_TO
INITIATES
TARGETS
ROUTES_TO
BRIDGES_TO
CLOCKS
SYNCHRONISES_WITH
HAS_MASTER
HAS_TARGET
HAS_PROTOCOL
HAS_SIGNAL
HAS_BUS_WIDTH
HAS_DATA_WIDTH
HAS_ADDRESS_WIDTH
HAS_FREQUENCY
HAS_BANDWIDTH
HAS_LATENCY
HAS_STATE
TRANSITIONS_TO
HAS_CONFIGURATION
HAS_VERSION
DEPENDS_ON
PRECEDES
FOLLOWS
DERIVED_FROM
INFERRED_FROM
HAS_EVIDENCE
HAS_CONFIDENCE
HAS_PROVENANCE
MAPS_TO
SEMANTICALLY_EQUIVALENT_TO
}
INPUTS {
BUS_SPECIFICATIONS
INTERCONNECT_TOPOLOGIES
SIGNAL_DEFINITIONS
PROTOCOL_DEFINITIONS
ADDRESS_MAPS
ARBITRATION_RULES
TIMING_DEFINITIONS
CLOCK_PARAMETERS
BUS_WIDTHS
DATA_WIDTHS
ADDRESS_WIDTHS
FREQUENCY_DATA
TRANSACTION_TRACES
PERFORMANCE_METRICS
ERROR_RECORDS
CONFIGURATION_DATA
VERSION_DATA
ONTOLOGY_TERMS
}
NORMALISE {
STANDARDISE_BUS_IDENTIFIERS
NORMALISE_BUS_NAMES
NORMALISE_PROTOCOL_NAMES
NORMALISE_SIGNAL_NAMES
NORMALISE_ADDRESS_FORMATS
NORMALISE_WIDTH_UNITS
NORMALISE_FREQUENCY_UNITS
NORMALISE_BANDWIDTH_UNITS
NORMALISE_LATENCY_UNITS
NORMALISE_VERSION_IDENTIFIERS
RESOLVE_COMPONENT_IDENTITIES
ALIGN_ONTOLOGY_TERMS
REMOVE_DUPLICATES
VALIDATE_METADATA
PRESERVE_PROVENANCE
}
PROCESS BUS_TRANSACTION_PIPELINE {
INITIATOR
-> BUS_REQUEST
-> ARBITRATION_IF_REQUIRED
-> BUS_GRANT
-> ADDRESS_PHASE
-> CONTROL_PHASE
-> DATA_PHASE
-> ACKNOWLEDGEMENT_OR_COMPLETION
-> BUS_RELEASE
}
PROCESS READ_TRANSACTION {
BUS_MASTER
-> READ_REQUEST
READ_REQUEST
-> TARGET_ADDRESS
TARGET_ADDRESS
-> ADDRESS_DECODE
ADDRESS_DECODE
-> TARGET_SELECTION
TARGET_SELECTION
-> DATA_RETURN
DATA_RETURN
-> MASTER_RECEIPT
-> TRANSACTION_COMPLETE
}
PROCESS WRITE_TRANSACTION {
BUS_MASTER
-> WRITE_REQUEST
WRITE_REQUEST
-> TARGET_ADDRESS
TARGET_ADDRESS + WRITE_DATA
-> ADDRESS_AND_DATA_TRANSFER
ADDRESS_AND_DATA_TRANSFER
-> TARGET_ACCEPTANCE
TARGET_ACCEPTANCE
-> ACKNOWLEDGEMENT
-> TRANSACTION_COMPLETE
}
PROCESS ARBITRATION_REASONING {
MULTIPLE_BUS_REQUESTS
-> ARBITRATION_POLICY
ARBITRATION_POLICY
-> PRIORITY_OR_FAIRNESS_EVALUATION
PRIORITY_OR_FAIRNESS_EVALUATION
-> BUS_GRANT
BUS_GRANT
-> SELECTED_MASTER
}
PROCESS ADDRESS_REASONING {
ADDRESS
-> ADDRESS_BUS_OR_TRANSACTION_FIELD
ADDRESS_BUS_OR_TRANSACTION_FIELD
-> ADDRESS_DECODE
ADDRESS_DECODE
-> TARGET_COMPONENT
TARGET_COMPONENT
-> ACCESS_OPERATION
}
PROCESS TIMING_REASONING {
TRANSACTION
-> TIMING_MODEL
TIMING_MODEL
-> SYNCHRONOUS_TIMING
OR -> ASYNCHRONOUS_HANDSHAKE
SYNCHRONOUS_TIMING
-> CLOCKED_PHASES
ASYNCHRONOUS_HANDSHAKE
-> REQUEST_ACKNOWLEDGEMENT_SEQUENCE
}
PROCESS BANDWIDTH_REASONING {
BUS_WIDTH + TRANSFER_RATE + PROTOCOL_OVERHEAD
-> THEORETICAL_TRANSFER_CAPACITY
TRANSACTION_TRACE
-> OBSERVED_TRANSFER_RATE
THEORETICAL_TRANSFER_CAPACITY + OBSERVED_TRANSFER_RATE
-> UTILISATION_AND_EFFICIENCY
}
PROCESS BUS_ERROR_REASONING {
TRANSACTION + EXPECTED_PROTOCOL_STATE
-> OBSERVED_PROTOCOL_STATE
OBSERVED_PROTOCOL_STATE
-> VALIDATION
VALIDATION_FAILURE
-> ERROR_CLASSIFICATION
ERROR_CLASSIFICATION
-> RETRY_OR_ABORT_OR_FAULT_HANDLER
}
RULES {
IF BUS_TRANSACTION_OCCURS
THEN REQUIRE {
INITIATOR
TARGET_OR_DESTINATION
PROTOCOL
TRANSFER_TYPE
TIMING_CONTEXT
}
IF SHARED_BUS_HAS_MULTIPLE_REQUESTERS
THEN REQUIRE ARBITRATION_OR_ACCESS_POLICY
IF ADDRESS_IS_TRANSFERRED
THEN PRESERVE ADDRESS_WIDTH_AND_ADDRESS_SPACE_CONTEXT
IF DATA_IS_TRANSFERRED
THEN PRESERVE DATA_WIDTH_AND_TRANSFER_SIZE
IF BUS_IS_SYNCHRONOUS
THEN PRESERVE CLOCK_CONTEXT
IF BUS_IS_ASYNCHRONOUS
THEN PRESERVE HANDSHAKE_CONTEXT
IF THEORETICAL_BANDWIDTH_IS_STATED
THEN DO_NOT_ASSERT_EQUAL_OBSERVED_THROUGHPUT
IF SEMANTIC_IDENTIFIERS_DIFFER
AND BUS_ARCHITECTURE_REFERENT_IS_SAME
THEN APPLY SEMANTIC_EQUIVALENCE
}
CONFIDENCE {
CONFIDENCE_SCORE =
WEIGHT(
BUS_SPECIFICATION_COMPLETENESS,
PROTOCOL_CERTAINTY,
TOPOLOGY_CERTAINTY,
ADDRESS_MAP_CERTAINTY,
TIMING_CERTAINTY,
TRACE_COMPLETENESS,
MEASUREMENT_REPRODUCIBILITY,
PROVENANCE_COMPLETENESS
)
LEVELS {
HIGH
MODERATE
LOW
INSUFFICIENT
}
IF PROTOCOL_OR_TIMING_CONTEXT_IS_UNKNOWN
THEN REDUCE_TRANSACTION_INFERENCE_CONFIDENCE
IF ADDRESS_MAP_IS_UNKNOWN
THEN REDUCE_TARGET_RESOLUTION_CONFIDENCE
IF REPRODUCIBLE_TRANSACTION_TRACE_CONFIRMS_BEHAVIOUR
THEN INCREASE CONFIDENCE_SCORE
}
SEMANTIC_EQUIVALENCE {
EQUIVALENCE_KEY =
NORMALISE(
ENTITY_TYPE,
CANONICAL_IDENTIFIER,
PROTOCOL,
BUS_WIDTH,
ADDRESS_WIDTH,
FREQUENCY,
CONFIGURATION
)
IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B)
THEN A SEMANTICALLY_EQUIVALENT_TO B
ELSE PRESERVE_DISTINCT_ENTITIES
}
REASONING_CONSTRAINTS {
BUS != PROTOCOL
DATA_BUS != ADDRESS_BUS
ADDRESS != DATA
BUS_WIDTH != TRANSFER_SIZE
FREQUENCY != BANDWIDTH
THEORETICAL_BANDWIDTH != OBSERVED_THROUGHPUT
CONNECTIVITY != SUCCESSFUL_TRANSACTION
REQUEST != GRANT
INITIATOR != TARGET
SYNCHRONOUS_TIMING != ASYNCHRONOUS_HANDSHAKE
SHARED_BUS_ACCESS_MAY_REQUIRE_ARBITRATION
PROTOCOL_OVERHEAD_AFFECTS_EFFECTIVE_THROUGHPUT
CONFIGURATION_AFFECTS_BUS_BEHAVIOUR
PROVENANCE_MUST_BE_PRESERVED
UNCERTAINTY_MUST_NOT_BE_DISCARDED
}
VALIDATION {
CHECK_ENTITY_TYPES
CHECK_RELATION_DOMAINS_AND_RANGES
CHECK_BUS_IDENTIFIERS
CHECK_TOPOLOGY
CHECK_PROTOCOL
CHECK_SIGNAL_DEFINITIONS
CHECK_ADDRESS_MAP
CHECK_BUS_WIDTH
CHECK_DATA_WIDTH
CHECK_ADDRESS_WIDTH
CHECK_TIMING_MODEL
CHECK_ARBITRATION_POLICY
CHECK_TRANSACTION_TRACE
CHECK_PERFORMANCE_CONTEXT
CHECK_ERROR_RELATIONS
CHECK_CONFIGURATION
CHECK_VERSION_CONTEXT
CHECK_PROVENANCE
CHECK_CONFIDENCE
CHECK_SEMANTIC_CONSISTENCY
}
OUTPUTS {
NORMALISED_BUS_ENTITIES
BUS_TOPOLOGY_RELATIONS
SIGNAL_RELATIONS
PROTOCOL_RELATIONS
ADDRESS_RELATIONS
READ_TRANSACTION_RELATIONS
WRITE_TRANSACTION_RELATIONS
ARBITRATION_RELATIONS
TIMING_RELATIONS
BANDWIDTH_AND_LATENCY_RELATIONS
TRANSACTION_TRACES
BUS_ERROR_RELATIONS
CONFIDENCE_SCORES
EVIDENCE_LINKS
PROVENANCE_RECORDS
EXPLANATION_PATHS
}
UPDATE_MODEL {
ON BUS_OR_CONFIGURATION_CHANGE {
NORMALISE
ENTITY_RESOLUTION
UPDATE_TOPOLOGY
UPDATE_PROTOCOL
UPDATE_ADDRESS_MAP
UPDATE_TIMING_MODEL
UPDATE_ARBITRATION_POLICY
RECOMPUTE_AFFECTED_RELATIONS
UPDATE_CONFIDENCE
PRESERVE_VERSION_HISTORY
}
ON NEW_TRANSACTION_OR_PERFORMANCE_DATA {
LINK_EVIDENCE
UPDATE_TRANSACTION_TRACE
UPDATE_BANDWIDTH_PROFILE
UPDATE_LATENCY_PROFILE
REASSESS_ERROR_RELATIONS
UPDATE_CONFIDENCE
RECORD_PROVENANCE
}
ON ONTOLOGY_REVISION {
REMAP_TERMS
CHECK_SEMANTIC_EQUIVALENCE
IDENTIFY_DEPRECATED_TERMS
MIGRATE_RELATIONSHIPS
PRESERVE_PRIOR_VERSION_REFERENCES
}
}
FLOW_HASH {
HASH_INPUT =
CANONICALISE(
ENTITY_TYPES,
RELATIONSHIPS,
RULES,
CONFIDENCE,
SEMANTIC_EQUIVALENCE,
REASONING_CONSTRAINTS,
UPDATE_MODEL
)
FLOW_HASH = SHA256(HASH_INPUT)
}
AI_CONSUMPTION {
INDEX {
ONTOLOGY
ENTITY_TYPES
RELATIONSHIPS
RULES
OUTPUTS
}
RETRIEVE {
BY_BUS
BY_BUS_TYPE
BY_SIGNAL
BY_PROTOCOL
BY_INITIATOR
BY_TARGET
BY_ADDRESS
BY_TRANSACTION
BY_ARBITRATION
BY_TIMING
BY_BANDWIDTH
BY_LATENCY
BY_ERROR
BY_CONFIDENCE
}
REASON {
APPLY_RELATIONSHIPS
APPLY_RULES
TRACE_BUS_TRANSACTION
TRACE_READ_TRANSACTION
TRACE_WRITE_TRANSACTION
ANALYSE_ARBITRATION
TRACE_ADDRESS_DECODE
ANALYSE_TIMING
ANALYSE_BANDWIDTH_AND_LATENCY
ANALYSE_BUS_ERRORS
CHECK_SEMANTIC_EQUIVALENCE
PRESERVE_UNCERTAINTY
TRACE_EVIDENCE
TRACE_PROVENANCE
GENERATE_EXPLANATION_PATH
}
RESPONSE_POLICY {
DISTINGUISH_BUS_FROM_PROTOCOL
DISTINGUISH_ADDRESS_FROM_DATA
DISTINGUISH_REQUEST_FROM_GRANT
PRESERVE_TOPOLOGY_AND_TIMING_CONTEXT
PRESERVE_BUS_WIDTH_AND_ADDRESS_WIDTH
DISTINGUISH_THEORETICAL_FROM_OBSERVED_PERFORMANCE
RETURN_CONFIDENCE_WHEN_AVAILABLE
RETURN_PROVENANCE_WHEN_AVAILABLE
AVOID_UNSUPPORTED_BUS_INFERENCE
}
}
TERMINAL {
RESULT =
VALIDATED(
SEMANTICALLY_NORMALISED(
EVIDENCE_LINKED(
CONFIDENCE_AWARE(
BUS_ARCHITECTURE_KNOWLEDGE
)
)
)
)
}
}
END FLOW
Download Code
Copy to Clipboard