# The layer topology

> The layer topology holds the four core layers, the domains beneath them, the cross-cutting domains and the edges that join them.

Page: Ontology · Schema
Canonical: https://banes-lab.com/ontology/schema#the-layer-topology

The layer topology holds the four core layers, the domains beneath them, the cross-cutting domains and the edges that join them. Every layer is an algorithm contract, and each record names the categories of principle and term that belong to it. Why a layer grouping exists beside the topical one is described in [the canon is grouped twice](https://banes-lab.com/software-architecture/principles/the-canon-is-grouped-twice.md) on the architecture page.

Relations diagram

The layer topology.

```mermaid
flowchart TB
n_layer_atomic_boundary["Atomic Boundary"]
n_layer_causality_core["Causality Core"]
n_layer_computation_core["Computation Core"]
n_layer_contracts_core["Contracts Core"]
n_layer_correctness_core["Correctness Core"]
n_layer_declarative_core["Declarative Core"]
n_layer_design_patterns_core["Design Patterns Core"]
n_layer_domain_modeling["Domain Modeling"]
n_layer_enforcement_core["Enforcement Core"]
n_layer_evolution_principles["Evolution Principles"]
n_layer_execution_core["Execution Core"]
n_layer_extensibility_core["Extensibility Core"]
n_layer_human_factors["Human Factors"]
n_layer_observability["Observability"]
n_layer_performance_core["Performance Core"]
n_layer_resource_core["Resource Core"]
n_layer_security_core["Security Core"]
n_layer_structural_core["Structural Core"]
n_layer_resource_core -- observe --> n_layer_computation_core
n_layer_computation_core -- feeds --> n_layer_execution_core
n_layer_resource_core -- feeds --> n_layer_execution_core
n_layer_execution_core -- feeds --> n_layer_structural_core
n_layer_structural_core -- feedback --> n_layer_execution_core
n_layer_structural_core -- feeds --> n_layer_human_factors
n_layer_structural_core -- feeds --> n_layer_evolution_principles
n_layer_evolution_principles -- feeds --> n_layer_human_factors
n_layer_correctness_core -- cross-cuts --> n_layer_structural_core
n_layer_security_core -- cross-cuts --> n_layer_structural_core
n_layer_performance_core -- cross-cuts --> n_layer_structural_core
n_layer_contracts_core -- cross-cuts --> n_layer_structural_core
n_layer_causality_core -- cross-cuts --> n_layer_structural_core
n_layer_declarative_core -- cross-cuts --> n_layer_structural_core
n_layer_extensibility_core -- cross-cuts --> n_layer_structural_core
n_layer_observability -- cross-cuts --> n_layer_structural_core
n_layer_enforcement_core -- cross-cuts --> n_layer_structural_core
n_layer_atomic_boundary -- cross-cuts --> n_layer_structural_core
n_layer_domain_modeling -- cross-cuts --> n_layer_structural_core
n_layer_design_patterns_core -- cross-cuts --> n_layer_structural_core
```

### Atomic Boundary

- Contract: [Atomic Boundary](https://banes-lab.com/records/algo/atomic-boundary.md)

Details

Member categories
[Transactions / State / Concurrency](https://banes-lab.com/ontology/principles/arch-category-transactions-state-concurrency.md)

Outgoing edges
cross-cuts → [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Incoming edges
none

### Causality Core

- Contract: [Causality Core](https://banes-lab.com/records/algo/causality-core.md)

Details

Member categories
[Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/principles/arch-category-causality-ordering-distributed-time.md)

Outgoing edges
cross-cuts → [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Incoming edges
none

### Computation Core

- Contract: [Computation Core](https://banes-lab.com/records/algo/computation-core.md)

Details

Member categories
[Correctness / Determinism / Verification](https://banes-lab.com/ontology/principles/arch-category-correctness-determinism-verification.md)

Outgoing edges
feeds → [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Incoming edges
observe → [Resource Core](https://banes-lab.com/records/layer/resource-core.md)

### Contracts Core

- Contract: [Contracts Core](https://banes-lab.com/records/algo/contracts-core.md)

Details

Member categories
[Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/principles/arch-category-contracts-interfaces-compatibility.md), [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/principles/arch-category-schema-canonical-data-semantics.md)

Outgoing edges
cross-cuts → [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Incoming edges
none

### Correctness Core

- Contract: [Correctness Core](https://banes-lab.com/records/algo/correctness-core.md)

Details

Member categories
[Error Handling / Resilience](https://banes-lab.com/ontology/principles/arch-category-error-handling-resilience.md), [Model Architecture](https://banes-lab.com/ontology/principles/arch-category-model-architecture.md), [Self-Healing / Recovery / Deployment Safety](https://banes-lab.com/ontology/principles/arch-category-self-healing-recovery-deployment-safety.md), [Quality Attributes](https://banes-lab.com/ontology/lexicon/lex-category-quality-attributes.md)

Outgoing edges
cross-cuts → [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Incoming edges
none

### Declarative Core

- Contract: [Declarative Core](https://banes-lab.com/records/algo/declarative-core.md)

Details

Member categories
[Metadata / Self-Description / Declarative Systems](https://banes-lab.com/ontology/principles/arch-category-metadata-self-description-declarative-systems.md), [Metaprogramming / Language-Oriented Architecture](https://banes-lab.com/ontology/principles/arch-category-metaprogramming-language-oriented-architecture.md)

Outgoing edges
cross-cuts → [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Incoming edges
none

### Design Patterns Core

- Contract: [Design Patterns Core](https://banes-lab.com/records/algo/design-patterns-core.md)

Details

Member categories
[Behavioral Patterns](https://banes-lab.com/ontology/principles/arch-category-behavioral-patterns.md), [Creational Patterns](https://banes-lab.com/ontology/principles/arch-category-creational-patterns.md), [Structural Patterns](https://banes-lab.com/ontology/principles/arch-category-structural-patterns.md)

Outgoing edges
cross-cuts → [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Incoming edges
none

### Domain Modeling

- Contract: [Domain Modeling](https://banes-lab.com/records/algo/domain-modeling.md)

Details

Member categories
[Domain Architecture](https://banes-lab.com/ontology/principles/arch-category-domain-architecture.md)

Outgoing edges
cross-cuts → [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Incoming edges
none

### Enforcement Core

- Contract: [Enforcement Core](https://banes-lab.com/records/algo/enforcement-core.md)

Details

Member categories
[anti-patterns](https://banes-lab.com/ontology/principles/arch-category-anti-patterns.md)

Outgoing edges
cross-cuts → [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Incoming edges
none

### Evolution Principles

- Contract: [Evolution Principles](https://banes-lab.com/records/algo/evolution-principles.md)

Details

Member categories
[Architecture Review / Evolution / Governance Artifacts](https://banes-lab.com/ontology/principles/arch-category-architecture-review-evolution-governance-artifacts.md), [Architecture Review Evolution Governance](https://banes-lab.com/ontology/lexicon/lex-category-architecture-review-evolution-governance.md)

Outgoing edges
feeds → [Human Factors](https://banes-lab.com/records/layer/human-factors.md)

Incoming edges
feeds → [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

### Execution Core

- Contract: [Execution Core](https://banes-lab.com/records/algo/execution-core.md)

Details

Member categories
[Control / Coordination / Centralization](https://banes-lab.com/ontology/principles/arch-category-control-coordination-centralization.md), [Event / Messaging / Asynchronous Architecture](https://banes-lab.com/ontology/principles/arch-category-event-messaging-asynchronous-architecture.md), [Streaming / Pipeline / Dataflow Processing](https://banes-lab.com/ontology/principles/arch-category-streaming-pipeline-dataflow-processing.md), [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)

Outgoing edges
feeds → [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Incoming edges
feeds → [Computation Core](https://banes-lab.com/records/layer/computation-core.md), feeds → [Resource Core](https://banes-lab.com/records/layer/resource-core.md), feedback → [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

### Extensibility Core

- Contract: [Extensibility Core](https://banes-lab.com/records/algo/extensibility-core.md)

Details

Member categories
[Plugin / Extensibility / IoC](https://banes-lab.com/ontology/principles/arch-category-plugin-extensibility-ioc.md), [Runtime Discovery / Dynamic Binding](https://banes-lab.com/ontology/principles/arch-category-runtime-discovery-dynamic-binding.md)

Outgoing edges
cross-cuts → [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Incoming edges
none

### Human Factors

- Contract: [Human Factors](https://banes-lab.com/records/algo/human-factors.md)

Details

Member categories
none

Outgoing edges
none

Incoming edges
feeds → [Structural Core](https://banes-lab.com/records/layer/structural-core.md), feeds → [Evolution Principles](https://banes-lab.com/records/layer/evolution-principles.md)

### Observability

- Contract: [Observability](https://banes-lab.com/records/algo/observability.md)

Details

Member categories
[Observability / Auditability / Traceability](https://banes-lab.com/ontology/principles/arch-category-observability-auditability-traceability.md)

Outgoing edges
cross-cuts → [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Incoming edges
none

### Performance Core

- Contract: [Performance Core](https://banes-lab.com/records/algo/performance-core.md)

Details

Member categories
[Scalability / Performance / Optimization](https://banes-lab.com/ontology/principles/arch-category-scalability-performance-optimization.md)

Outgoing edges
cross-cuts → [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Incoming edges
none

### Resource Core

- Contract: [Resource Core](https://banes-lab.com/records/algo/resource-core.md)

Details

Member categories
[Portability / Infrastructure / Deployment](https://banes-lab.com/ontology/principles/arch-category-portability-infrastructure-deployment.md)

Outgoing edges
observe → [Computation Core](https://banes-lab.com/records/layer/computation-core.md), feeds → [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Incoming edges
none

### Security Core

- Contract: [Security Core](https://banes-lab.com/records/algo/security-core.md)

Details

Member categories
[Security / Privacy / Compliance / Governance](https://banes-lab.com/ontology/principles/arch-category-security-privacy-compliance-governance.md), [Security Privacy Compliance](https://banes-lab.com/ontology/lexicon/lex-category-security-privacy-compliance.md)

Outgoing edges
cross-cuts → [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Incoming edges
none

### Structural Core

- Contract: [Structural Core](https://banes-lab.com/records/algo/structural-core.md)

Details

Member categories
[Codebase / System Architecture Styles](https://banes-lab.com/ontology/principles/arch-category-codebase-system-architecture-styles.md), [Core Modular Design](https://banes-lab.com/ontology/principles/arch-category-core-modular-design.md), [SOLID / Object-Oriented Design](https://banes-lab.com/ontology/principles/arch-category-solid-object-oriented-design.md), [Taxonomy / Classification / Naming](https://banes-lab.com/ontology/principles/arch-category-taxonomy-classification-naming.md), [Core Vocabulary](https://banes-lab.com/ontology/lexicon/lex-category-core-vocabulary.md)

Outgoing edges
feedback → [Execution Core](https://banes-lab.com/records/layer/execution-core.md), feeds → [Human Factors](https://banes-lab.com/records/layer/human-factors.md), feeds → [Evolution Principles](https://banes-lab.com/records/layer/evolution-principles.md)

Incoming edges
feeds → [Execution Core](https://banes-lab.com/records/layer/execution-core.md), cross-cuts → [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md), cross-cuts → [Security Core](https://banes-lab.com/records/layer/security-core.md), cross-cuts → [Performance Core](https://banes-lab.com/records/layer/performance-core.md), cross-cuts → [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md), cross-cuts → [Causality Core](https://banes-lab.com/records/layer/causality-core.md), cross-cuts → [Declarative Core](https://banes-lab.com/records/layer/declarative-core.md), cross-cuts → [Extensibility Core](https://banes-lab.com/records/layer/extensibility-core.md), cross-cuts → [Observability](https://banes-lab.com/records/layer/observability.md), cross-cuts → [Enforcement Core](https://banes-lab.com/records/layer/enforcement-core.md), cross-cuts → [Atomic Boundary](https://banes-lab.com/records/layer/atomic-boundary.md), cross-cuts → [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md), cross-cuts → [Design Patterns Core](https://banes-lab.com/records/layer/design-patterns-core.md)

## Links to

- [The canon is grouped twice](https://banes-lab.com/software-architecture/principles/the-canon-is-grouped-twice.md)
- [Atomic Boundary](https://banes-lab.com/records/algo/atomic-boundary.md)
- [Transactions / State / Concurrency](https://banes-lab.com/ontology/principles/arch-category-transactions-state-concurrency.md)
- [Structural Core](https://banes-lab.com/records/layer/structural-core.md)
- [Causality Core](https://banes-lab.com/records/algo/causality-core.md)
- [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/principles/arch-category-causality-ordering-distributed-time.md)
- [Computation Core](https://banes-lab.com/records/algo/computation-core.md)
- [Correctness / Determinism / Verification](https://banes-lab.com/ontology/principles/arch-category-correctness-determinism-verification.md)
- [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
- [Resource Core](https://banes-lab.com/records/layer/resource-core.md)
- [Contracts Core](https://banes-lab.com/records/algo/contracts-core.md)
- [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/principles/arch-category-contracts-interfaces-compatibility.md)
- [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/principles/arch-category-schema-canonical-data-semantics.md)
- [Correctness Core](https://banes-lab.com/records/algo/correctness-core.md)
- [Error Handling / Resilience](https://banes-lab.com/ontology/principles/arch-category-error-handling-resilience.md)
- [Model Architecture](https://banes-lab.com/ontology/principles/arch-category-model-architecture.md)
- [Self-Healing / Recovery / Deployment Safety](https://banes-lab.com/ontology/principles/arch-category-self-healing-recovery-deployment-safety.md)
- [Quality Attributes](https://banes-lab.com/ontology/lexicon/lex-category-quality-attributes.md)
- [Declarative Core](https://banes-lab.com/records/algo/declarative-core.md)
- [Metadata / Self-Description / Declarative Systems](https://banes-lab.com/ontology/principles/arch-category-metadata-self-description-declarative-systems.md)
- [Metaprogramming / Language-Oriented Architecture](https://banes-lab.com/ontology/principles/arch-category-metaprogramming-language-oriented-architecture.md)
- [Design Patterns Core](https://banes-lab.com/records/algo/design-patterns-core.md)
- [Behavioral Patterns](https://banes-lab.com/ontology/principles/arch-category-behavioral-patterns.md)
- [Creational Patterns](https://banes-lab.com/ontology/principles/arch-category-creational-patterns.md)
- [Structural Patterns](https://banes-lab.com/ontology/principles/arch-category-structural-patterns.md)
- [Domain Modeling](https://banes-lab.com/records/algo/domain-modeling.md)
- [Domain Architecture](https://banes-lab.com/ontology/principles/arch-category-domain-architecture.md)
- [Enforcement Core](https://banes-lab.com/records/algo/enforcement-core.md)
- [anti-patterns](https://banes-lab.com/ontology/principles/arch-category-anti-patterns.md)
- [Evolution Principles](https://banes-lab.com/records/algo/evolution-principles.md)
- [Architecture Review / Evolution / Governance Artifacts](https://banes-lab.com/ontology/principles/arch-category-architecture-review-evolution-governance-artifacts.md)
- [Architecture Review Evolution Governance](https://banes-lab.com/ontology/lexicon/lex-category-architecture-review-evolution-governance.md)
- [Human Factors](https://banes-lab.com/records/layer/human-factors.md)
- [Execution Core](https://banes-lab.com/records/algo/execution-core.md)
- [Control / Coordination / Centralization](https://banes-lab.com/ontology/principles/arch-category-control-coordination-centralization.md)
- [Event / Messaging / Asynchronous Architecture](https://banes-lab.com/ontology/principles/arch-category-event-messaging-asynchronous-architecture.md)
- [Streaming / Pipeline / Dataflow Processing](https://banes-lab.com/ontology/principles/arch-category-streaming-pipeline-dataflow-processing.md)
- [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lex-category-event-messaging-async.md)
- [Computation Core](https://banes-lab.com/records/layer/computation-core.md)
- [Extensibility Core](https://banes-lab.com/records/algo/extensibility-core.md)
- [Plugin / Extensibility / IoC](https://banes-lab.com/ontology/principles/arch-category-plugin-extensibility-ioc.md)
- [Runtime Discovery / Dynamic Binding](https://banes-lab.com/ontology/principles/arch-category-runtime-discovery-dynamic-binding.md)
- [Human Factors](https://banes-lab.com/records/algo/human-factors.md)
- [Evolution Principles](https://banes-lab.com/records/layer/evolution-principles.md)
- [Observability](https://banes-lab.com/records/algo/observability.md)
- [Observability / Auditability / Traceability](https://banes-lab.com/ontology/principles/arch-category-observability-auditability-traceability.md)
- [Performance Core](https://banes-lab.com/records/algo/performance-core.md)
- [Scalability / Performance / Optimization](https://banes-lab.com/ontology/principles/arch-category-scalability-performance-optimization.md)
- [Resource Core](https://banes-lab.com/records/algo/resource-core.md)
- [Portability / Infrastructure / Deployment](https://banes-lab.com/ontology/principles/arch-category-portability-infrastructure-deployment.md)
- [Security Core](https://banes-lab.com/records/algo/security-core.md)
- [Security / Privacy / Compliance / Governance](https://banes-lab.com/ontology/principles/arch-category-security-privacy-compliance-governance.md)
- [Security Privacy Compliance](https://banes-lab.com/ontology/lexicon/lex-category-security-privacy-compliance.md)
- [Structural Core](https://banes-lab.com/records/algo/structural-core.md)
- [Codebase / System Architecture Styles](https://banes-lab.com/ontology/principles/arch-category-codebase-system-architecture-styles.md)
- [Core Modular Design](https://banes-lab.com/ontology/principles/arch-category-core-modular-design.md)
- [SOLID / Object-Oriented Design](https://banes-lab.com/ontology/principles/arch-category-solid-object-oriented-design.md)
- [Taxonomy / Classification / Naming](https://banes-lab.com/ontology/principles/arch-category-taxonomy-classification-naming.md)
- [Core Vocabulary](https://banes-lab.com/ontology/lexicon/lex-category-core-vocabulary.md)
- [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)
- [Security Core](https://banes-lab.com/records/layer/security-core.md)
- [Performance Core](https://banes-lab.com/records/layer/performance-core.md)
- [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)
- [Causality Core](https://banes-lab.com/records/layer/causality-core.md)
- [Declarative Core](https://banes-lab.com/records/layer/declarative-core.md)
- [Extensibility Core](https://banes-lab.com/records/layer/extensibility-core.md)
- [Observability](https://banes-lab.com/records/layer/observability.md)
- [Enforcement Core](https://banes-lab.com/records/layer/enforcement-core.md)
- [Atomic Boundary](https://banes-lab.com/records/layer/atomic-boundary.md)
- [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)
- [Design Patterns Core](https://banes-lab.com/records/layer/design-patterns-core.md)

## Linked from

- [The canon is grouped twice](https://banes-lab.com/software-architecture/principles/the-canon-is-grouped-twice.md)
