AI SEARCH
FLOW ALGEBRA — SOFTWARE ENGINEERING ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/entity-graph/computational-entities/software-entities/software-engineering-ontology-2.html
FLOW SOFTWARE_ENGINEERING_ONTOLOGY {
META {
DOMAIN = "Entity Graph"
SUBDOMAIN = "Computational Entities / Software Entities"
ONTOLOGY = "Software Engineering Ontology"
PURPOSE = "Formalise software engineering entities, requirements, architecture, design, implementation, testing, deployment, maintenance, quality, lifecycle and engineering relationships."
LOCALE = "en-GB"
}
ENTITY_TYPES {
SOFTWARE_ENGINEERING
SOFTWARE_SYSTEM
SOFTWARE_PRODUCT
SOFTWARE_PROJECT
SOFTWARE_COMPONENT
SOFTWARE_MODULE
SOFTWARE_PACKAGE
APPLICATION
SERVICE
API
REQUIREMENT
FUNCTIONAL_REQUIREMENT
NONFUNCTIONAL_REQUIREMENT
CONSTRAINT
STAKEHOLDER
USE_CASE
USER_STORY
ACCEPTANCE_CRITERION
SPECIFICATION
ARCHITECTURE
SOFTWARE_ARCHITECTURE
ARCHITECTURAL_STYLE
COMPONENT
INTERFACE
CONNECTOR
DEPENDENCY
DESIGN
DESIGN_MODEL
DESIGN_PATTERN
DATA_MODEL
ALGORITHM
SOURCE_CODE
SOURCE_FILE
FUNCTION
CLASS
BUILD
BUILD_ARTIFACT
VERSION
RELEASE
CONFIGURATION
ENVIRONMENT
TEST
TEST_CASE
UNIT_TEST
INTEGRATION_TEST
SYSTEM_TEST
ACCEPTANCE_TEST
REGRESSION_TEST
TEST_SUITE
TEST_RESULT
DEFECT
BUG
ISSUE
FAILURE
ERROR
CHANGE_REQUEST
PATCH
CODE_REVIEW
COMMIT
BRANCH
REPOSITORY
PIPELINE
CONTINUOUS_INTEGRATION
CONTINUOUS_DELIVERY
CONTINUOUS_DEPLOYMENT
DEPLOYMENT
SOFTWARE_INSTANCE
RUNTIME
MONITORING
LOG
METRIC
QUALITY_ATTRIBUTE
RELIABILITY
MAINTAINABILITY
PERFORMANCE
SECURITY
USABILITY
SCALABILITY
AVAILABILITY
TECHNICAL_DEBT
RISK
LIFECYCLE
LIFECYCLE_PHASE
MAINTENANCE
REFACTORING
DOCUMENTATION
EVIDENCE
CONFIDENCE_SCORE
PROVENANCE_RECORD
}
RELATIONSHIPS {
IS_A
INSTANCE_OF
PART_OF
CONTAINS
REQUIRES
SATISFIES
SPECIFIES
CONSTRAINS
REQUESTED_BY
ADDRESSES
IMPLEMENTS
DESIGNED_BY
ARCHITECTED_AS
DECOMPOSES_INTO
CONNECTS_TO
DEPENDS_ON
EXPOSES
CALLS
USES
BUILT_FROM
COMPILES_TO
TESTS
VERIFIED_BY
VALIDATED_BY
DETECTS
FAILS_WITH
FIXES
PATCHES
REVIEWS
CHANGES
REFACTORS
COMMITTED_TO
MERGES_INTO
RELEASES
DEPLOYS
DEPLOYED_TO
RUNS_AS
MONITORS
MEASURES
HAS_QUALITY_ATTRIBUTE
HAS_RISK
HAS_TECHNICAL_DEBT
HAS_VERSION
HAS_CONFIGURATION
HAS_LIFECYCLE_PHASE
PRECEDES
FOLLOWS
SUPERSEDES
DERIVED_FROM
INFERRED_FROM
HAS_EVIDENCE
HAS_CONFIDENCE
HAS_PROVENANCE
MAPS_TO
SEMANTICALLY_EQUIVALENT_TO
}
INPUTS {
REQUIREMENT_DOCUMENTS
SPECIFICATIONS
ARCHITECTURE_DOCUMENTS
DESIGN_MODELS
SOURCE_CODE
REPOSITORY_METADATA
COMMIT_HISTORY
ISSUE_TRACKER_DATA
BUILD_METADATA
DEPENDENCY_DATA
TEST_DEFINITIONS
TEST_RESULTS
CODE_REVIEW_DATA
CI_CD_DATA
RELEASE_METADATA
DEPLOYMENT_DATA
RUNTIME_DATA
MONITORING_DATA
LOGS
QUALITY_METRICS
SECURITY_DATA
CHANGE_REQUESTS
DOCUMENTATION
PROVENANCE_DATA
ONTOLOGY_TERMS
}
NORMALISE {
STANDARDISE_PROJECT_IDENTIFIERS
NORMALISE_SOFTWARE_ENTITY_NAMES
NORMALISE_REQUIREMENT_IDENTIFIERS
NORMALISE_ARCHITECTURE_TERMS
NORMALISE_COMPONENT_IDENTIFIERS
NORMALISE_DEPENDENCY_IDENTIFIERS
NORMALISE_SOURCE_IDENTIFIERS
NORMALISE_TEST_IDENTIFIERS
NORMALISE_DEFECT_IDENTIFIERS
NORMALISE_VERSION_AND_RELEASE_IDENTIFIERS
NORMALISE_DEPLOYMENT_IDENTIFIERS
NORMALISE_QUALITY_METRICS
NORMALISE_RISK_TERMS
RESOLVE_ENGINEERING_ENTITY_IDENTITIES
ALIGN_ONTOLOGY_TERMS
REMOVE_DUPLICATES
VALIDATE_METADATA
PRESERVE_PROVENANCE
}
PROCESS SOFTWARE_ENGINEERING_PIPELINE {
STAKEHOLDER_NEED
-> REQUIREMENTS
-> SPECIFICATION
-> ARCHITECTURE
-> DESIGN
-> IMPLEMENTATION
-> BUILD
-> VERIFICATION_AND_TESTING
-> RELEASE
-> DEPLOYMENT
-> OPERATION
-> MAINTENANCE_AND_EVOLUTION
}
PROCESS REQUIREMENTS_REASONING {
STAKEHOLDER_NEED
-> REQUIREMENT
REQUIREMENT
-> FUNCTIONAL_OR_NONFUNCTIONAL_CLASSIFICATION
REQUIREMENT
-> ACCEPTANCE_CRITERIA
REQUIREMENT_SET
-> CONSISTENCY_AND_TRACEABILITY_ANALYSIS
VALIDATED_REQUIREMENTS
-> DESIGN_AND_IMPLEMENTATION_INPUT
}
PROCESS ARCHITECTURE_REASONING {
REQUIREMENTS + CONSTRAINTS
-> ARCHITECTURAL_DECISIONS
ARCHITECTURAL_DECISIONS
-> COMPONENTS
COMPONENTS
-> INTERFACES
INTERFACES
-> CONNECTORS_AND_DEPENDENCIES
ARCHITECTURE
-> QUALITY_ATTRIBUTE_IMPLICATIONS
}
PROCESS IMPLEMENTATION_REASONING {
DESIGN
-> SOURCE_CODE
SOURCE_CODE
-> MODULES_COMPONENTS_FUNCTIONS_AND_CLASSES
IMPLEMENTATION
-> DEPENDENCIES
SOURCE_AND_CONFIGURATION
-> BUILD
BUILD
-> BUILD_ARTIFACT
}
PROCESS TESTING_REASONING {
REQUIREMENT_OR_DESIGN_OR_CODE
-> TEST_TARGET
TEST_CASE
-> TEST_INPUT_AND_EXPECTED_RESULT
TEST_EXECUTION
-> OBSERVED_RESULT
OBSERVED_RESULT + EXPECTED_RESULT
-> PASS_OR_FAIL
FAIL
-> DEFECT_OR_FAILURE_EVIDENCE
}
PROCESS TRACEABILITY_REASONING {
REQUIREMENT
-> DESIGN_ELEMENT
DESIGN_ELEMENT
-> IMPLEMENTATION_ELEMENT
IMPLEMENTATION_ELEMENT
-> TEST_CASE
TEST_CASE
-> TEST_RESULT
TRACEABILITY_CHAIN
-> COVERAGE_AND_CHANGE_IMPACT_ANALYSIS
}
PROCESS CHANGE_REASONING {
CHANGE_REQUEST_OR_DEFECT
-> IMPACT_ANALYSIS
IMPACT_ANALYSIS
-> AFFECTED_REQUIREMENTS_ARCHITECTURE_CODE_TESTS_AND_DEPENDENCIES
APPROVED_CHANGE
-> IMPLEMENTATION_CHANGE
IMPLEMENTATION_CHANGE
-> BUILD_AND_TEST
VERIFIED_CHANGE
-> RELEASE_CANDIDATE
}
PROCESS CI_CD_REASONING {
SOURCE_CHANGE
-> PIPELINE_TRIGGER
PIPELINE_TRIGGER
-> BUILD
BUILD
-> AUTOMATED_TESTS
AUTOMATED_TESTS
-> QUALITY_AND_POLICY_CHECKS
SUCCESSFUL_PIPELINE
-> RELEASE_OR_DEPLOYMENT_CANDIDATE
}
PROCESS DEPLOYMENT_REASONING {
RELEASE_ARTIFACT
-> DEPLOYMENT_CONFIGURATION
DEPLOYMENT_CONFIGURATION
-> TARGET_ENVIRONMENT
DEPLOYMENT
-> SOFTWARE_INSTANCE
SOFTWARE_INSTANCE
-> RUNTIME_STATE
RUNTIME_STATE
-> MONITORING_AND_LOGGING
}
PROCESS QUALITY_REASONING {
SOFTWARE_ENTITY + QUALITY_METRICS
-> QUALITY_PROFILE
QUALITY_PROFILE
-> RELIABILITY
-> MAINTAINABILITY
-> PERFORMANCE
-> SECURITY
-> USABILITY
-> SCALABILITY
-> AVAILABILITY
QUALITY_PROFILE
-> RISK_AND_TECHNICAL_DEBT_ANALYSIS
}
PROCESS DEFECT_REASONING {
FAILURE_OR_TEST_FAILURE_OR_REPORTED_ISSUE
-> DEFECT_CANDIDATE
DEFECT_CANDIDATE
-> REPRODUCTION_AND_DIAGNOSTIC_EVIDENCE
DIAGNOSTIC_EVIDENCE
-> ROOT_CAUSE_HYPOTHESIS
ROOT_CAUSE_HYPOTHESIS
-> FIX_OR_PATCH
FIX_OR_PATCH
-> REGRESSION_TEST
}
RULES {
IF REQUIREMENT_IS_IMPLEMENTED
THEN LINK REQUIREMENT_TO_IMPLEMENTATION_AND_SUPPORTING_TEST_EVIDENCE
IF TEST_PASSES
THEN DO_NOT_ASSERT ABSENCE_OF_ALL_DEFECTS
IF BUILD_SUCCEEDS
THEN DO_NOT_ASSERT SOFTWARE_CORRECTNESS
IF DEFECT_IS_FIXED
THEN REQUIRE CHANGE_AND_VERIFICATION_CONTEXT
IF SOFTWARE_IS_DEPLOYED
THEN DISTINGUISH RELEASE_ARTIFACT_FROM_RUNTIME_INSTANCE
IF QUALITY_ATTRIBUTE_IS_ASSESSED
THEN PRESERVE METRIC_WORKLOAD_ENVIRONMENT_AND_VERSION_CONTEXT
IF CHANGE_IS_APPLIED
THEN TRACE IMPACT_ACROSS_REQUIREMENTS_DESIGN_CODE_TESTS_AND_DEPENDENCIES
IF SEMANTIC_IDENTIFIERS_DIFFER
AND ENGINEERING_REFERENT_IS_SAME
THEN APPLY SEMANTIC_EQUIVALENCE
}
CONFIDENCE {
CONFIDENCE_SCORE =
WEIGHT(
REQUIREMENT_TRACEABILITY_COMPLETENESS,
ARCHITECTURE_DOCUMENTATION_QUALITY,
SOURCE_AND_BUILD_PROVENANCE,
TEST_EVIDENCE_QUALITY,
DEPLOYMENT_CONTEXT_COMPLETENESS,
RUNTIME_OBSERVABILITY,
QUALITY_METRIC_QUALITY,
PROVENANCE_COMPLETENESS
)
LEVELS {
HIGH
MODERATE
LOW
INSUFFICIENT
}
IF TRACEABILITY_IS_INCOMPLETE
THEN REDUCE_CHANGE_IMPACT_AND_COVERAGE_CONFIDENCE
IF VERSION_BUILD_OR_ENVIRONMENT_IS_UNKNOWN
THEN REDUCE_RUNTIME_AND_QUALITY_CONFIDENCE
IF REPRODUCIBLE_TEST_AND_RUNTIME_EVIDENCE_CONFIRM_BEHAVIOUR
THEN INCREASE_CONFIDENCE_SCORE
}
SEMANTIC_EQUIVALENCE {
EQUIVALENCE_KEY =
NORMALISE(
ENTITY_TYPE,
PROJECT_OR_PRODUCT_IDENTIFIER,
CANONICAL_IDENTIFIER,
VERSION,
BUILD,
ENVIRONMENT,
CONFIGURATION
)
IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B)
THEN A SEMANTICALLY_EQUIVALENT_TO B
ELSE PRESERVE_DISTINCT_ENTITIES
}
REASONING_CONSTRAINTS {
REQUIREMENT != IMPLEMENTATION
ARCHITECTURE != IMPLEMENTATION
DESIGN != SOURCE_CODE
BUILD != RELEASE
RELEASE != DEPLOYMENT
DEPLOYMENT != RUNTIME_INSTANCE
TEST_CASE != TEST_RESULT
TEST_PASS != PROOF_OF_CORRECTNESS
BUILD_SUCCESS != SOFTWARE_CORRECTNESS
DEFECT != FAILURE_EVENT
FAILURE_SYMPTOM != ROOT_CAUSE
CODE_COVERAGE != REQUIREMENT_COVERAGE
QUALITY_METRIC != QUALITY_ATTRIBUTE_WITHOUT_INTERPRETATION_CONTEXT
TECHNICAL_DEBT != DEFECT_COUNT
VERSION_BUILD_CONFIGURATION_AND_ENVIRONMENT_AFFECT_BEHAVIOUR
CHANGE_IMPACT_MAY_PROPAGATE_TRANSITIVELY
PROVENANCE_MUST_BE_PRESERVED
UNCERTAINTY_MUST_NOT_BE_DISCARDED
}
VALIDATION {
CHECK_ENTITY_TYPES
CHECK_RELATION_DOMAINS_AND_RANGES
CHECK_PROJECT_AND_PRODUCT_IDENTIFIERS
CHECK_REQUIREMENTS
CHECK_ACCEPTANCE_CRITERIA
CHECK_ARCHITECTURE_RELATIONS
CHECK_DESIGN_RELATIONS
CHECK_IMPLEMENTATION_RELATIONS
CHECK_DEPENDENCIES
CHECK_BUILD_RELATIONS
CHECK_TEST_RELATIONS
CHECK_TRACEABILITY
CHECK_DEFECT_AND_CHANGE_RELATIONS
CHECK_CI_CD_RELATIONS
CHECK_RELEASE_AND_DEPLOYMENT
CHECK_RUNTIME_RELATIONS
CHECK_QUALITY_METRICS
CHECK_RISK_AND_TECHNICAL_DEBT
CHECK_VERSION_AND_CONFIGURATION
CHECK_PROVENANCE
CHECK_CONFIDENCE
CHECK_SEMANTIC_CONSISTENCY
}
OUTPUTS {
NORMALISED_SOFTWARE_ENGINEERING_ENTITIES
REQUIREMENT_RELATIONS
REQUIREMENT_TRACEABILITY_CHAINS
ARCHITECTURE_RELATIONS
DESIGN_RELATIONS
IMPLEMENTATION_RELATIONS
DEPENDENCY_GRAPHS
BUILD_RELATIONS
TEST_AND_VERIFICATION_RELATIONS
DEFECT_AND_FAILURE_RELATIONS
CHANGE_IMPACT_RELATIONS
CI_CD_RELATIONS
RELEASE_RELATIONS
DEPLOYMENT_RELATIONS
RUNTIME_INSTANCE_RELATIONS
QUALITY_ATTRIBUTE_RELATIONS
RISK_AND_TECHNICAL_DEBT_RELATIONS
CONFIDENCE_SCORES
EVIDENCE_LINKS
PROVENANCE_RECORDS
EXPLANATION_PATHS
}
UPDATE_MODEL {
ON REQUIREMENT_DESIGN_OR_SOURCE_CHANGE {
NORMALISE
RESOLVE_ENGINEERING_ENTITIES
UPDATE_TRACEABILITY
UPDATE_ARCHITECTURE_AND_DESIGN_RELATIONS
UPDATE_IMPLEMENTATION_RELATIONS
UPDATE_DEPENDENCY_GRAPH
REASSESS_CHANGE_IMPACT
UPDATE_TEST_COVERAGE_RELATIONS
UPDATE_CONFIDENCE
PRESERVE_VERSION_HISTORY
}
ON NEW_BUILD_TEST_DEPLOYMENT_OR_RUNTIME_DATA {
LINK_EVIDENCE
UPDATE_BUILD_RELATIONS
UPDATE_TEST_RESULTS
UPDATE_DEPLOYMENT_AND_RUNTIME_STATE
UPDATE_QUALITY_PROFILE
REASSESS_DEFECT_RISK_AND_TECHNICAL_DEBT
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_PROJECT
BY_SOFTWARE_SYSTEM
BY_REQUIREMENT
BY_ARCHITECTURE
BY_COMPONENT
BY_SOURCE_CODE
BY_DEPENDENCY
BY_BUILD
BY_TEST
BY_DEFECT
BY_CHANGE
BY_RELEASE
BY_DEPLOYMENT
BY_RUNTIME_INSTANCE
BY_QUALITY_ATTRIBUTE
BY_CONFIDENCE
}
REASON {
APPLY_RELATIONSHIPS
APPLY_RULES
TRACE_REQUIREMENTS
TRACE_ARCHITECTURE_AND_DESIGN
TRACE_IMPLEMENTATION
BUILD_TRACEABILITY_CHAINS
ANALYSE_TESTS
ANALYSE_CHANGE_IMPACT
TRACE_CI_CD
TRACE_DEPLOYMENTS
ANALYSE_QUALITY
ANALYSE_DEFECTS_AND_ROOT_CAUSE
CHECK_SEMANTIC_EQUIVALENCE
PRESERVE_UNCERTAINTY
TRACE_EVIDENCE
TRACE_PROVENANCE
GENERATE_EXPLANATION_PATH
}
RESPONSE_POLICY {
DISTINGUISH_REQUIREMENT_DESIGN_IMPLEMENTATION_BUILD_RELEASE_DEPLOYMENT_AND_RUNTIME
PRESERVE_VERSION_BUILD_CONFIGURATION_ENVIRONMENT_AND_WORKLOAD_CONTEXT
DISTINGUISH_TEST_SUCCESS_FROM_PROOF_OF_CORRECTNESS
DISTINGUISH_FAILURE_SYMPTOM_FROM_ROOT_CAUSE
PRESERVE_END_TO_END_TRACEABILITY
RETURN_CONFIDENCE_WHEN_AVAILABLE
RETURN_PROVENANCE_WHEN_AVAILABLE
AVOID_UNSUPPORTED_SOFTWARE_ENGINEERING_INFERENCE
}
}
TERMINAL {
RESULT =
VALIDATED(
SEMANTICALLY_NORMALISED(
EVIDENCE_LINKED(
CONFIDENCE_AWARE(
SOFTWARE_ENGINEERING_KNOWLEDGE
)
)
)
)
}
}
END FLOW
Download Code
Copy to Clipboard