Architectural Knowledge
Definition
Architectural Knowledge is information that describes the architecture of a system in terms of its structural elements, behavioral rules, and contextual constraints. The concept is used in two principal domains reflected in the evidence:
- Software architecture: knowledge-centric information about a software system's architecture, distributed across heterogeneous artifacts such as requirements documents, design diagrams, source code, issue trackers, and documentation.
- Hardware verification: design knowledge of a Design Under Test (DUT) that can be obtained by reviewing the DUT's specification, including instruction format and semantics, registers, exception behavior, and translation mechanisms.
Software Architecture Context
In software engineering research, Architectural Knowledge is treated as knowledge-centric by nature and is recognized to be distributed across heterogeneous software artifacts, which makes it difficult for developers to access and utilize effectively [arxiv:2601.19548].
Empirical studies of large Apache projects have investigated how Architectural Knowledge concepts are textually represented in issue trackers such as Jira. Such concepts include architectural component behavior and contextual constraints, and they may appear in issues in linguistic forms such as adjectives. The studies also examined which Architectural Knowledge concepts commonly occur in issues and which concepts tend to co-occur, with the goal of supporting empirically-grounded search tools for identifying these concepts in issues for future reuse [arxiv:2106.11140].
A broader research vision proposes an automated pipeline that systematically extracts Architectural Knowledge from diverse artifacts, links them, identifies and resolves inconsistencies between artifacts, and consolidates this knowledge into a structured knowledge base. The envisioned pipeline supports architecture conformance checking, change impact analysis, and natural language question-answering, with specialized extractors per artifact type, a unified knowledge representation schema, consistency checking mechanisms, and retrieval-augmented generation for conversational access [arxiv:2601.19548].
Hardware Verification Context
In the hardware verification domain, "design knowledge" is an umbrella term that includes both architectural knowledge and micro architectural knowledge. Architectural Knowledge of a DUT is design knowledge that can be manually obtained by reviewing the specification of the DUT [patent:US8683282].
Architectural Knowledge specifically includes elements such as:
- Instruction format and semantics
- Registers
- Exception behavior
- Translation mechanisms
It is contrasted with Micro Architectural Knowledge, which is implementation-specific design knowledge (for example, a model of execution time per instruction or conditions for pipeline flushes). For Micro Architectural Knowledge, reviewing the specification is generally not sufficient; the DUT itself must be reviewed [patent:US8683282].
Automated Identification
Automated techniques have been proposed to identify Architectural Knowledge without requiring a specification designer to manually intervene. In one approach, machine learning classification is applied to data collected while generating instructions for a DUT, producing classification output that is reviewable by a human user. The classified data is then expressed as design knowledge in a predetermined formal language usable by verification tools. As a technical effect, Architectural Knowledge can be determined from an early stage of verification—once an architectural reference model can execute instructions—even before a final formal definition of the DUT is available [patent:US8683282].
Relationship to Other Concepts
- Design Knowledge — Architectural Knowledge is a constituent category of the broader notion of Design Knowledge; the latter is defined as any information considered as either micro architectural knowledge and/or Architectural Knowledge [patent:US8683282].
- Register — Registers are among the explicit elements that Architectural Knowledge describes in the hardware verification sense [patent:US8683282].
- Exception Behavior — Exception behavior is among the explicit elements that Architectural Knowledge describes in the hardware verification sense [patent:US8683282].