Skip to content

Latest commit

 

History

History
29 lines (26 loc) · 2.82 KB

architecture_documentation.md

File metadata and controls

29 lines (26 loc) · 2.82 KB

Embedded Virtual Machine Architecture & Design Documentation

All of the Embedded VM architecture and design documentation is tracked within the embvm-core repository. Our goal is to provide developers with the background information and design rationale necessary to understand how and why each Embedded VM component was developed.

Architecture Documentation Overview

  • System Overview
    • Provides a high-level overview of the system and its goals.
  • Architectural Views
    • The views/ directory contains architectural views, which look at the architectural design of the Embedded VM from different perspectives.
    • Conceptual Architecture View showcases significant components and abstractions that make up the Embedded VM framework.
    • Layer View describes how the Embedded VM framework is organized to support portability, particularly by restricting access to low-level details as you move up the stack.
    • System Structural View shows how the Embedded VM in context with external systems and components.
  • Architecture Decision Records (ADRs)
    • Major architectural decisions, especially decisions that have arisen in the course of developing the Embedded VM, are found in the decisions/ folder. This folder is mapped to the adr-tools software, which we use to document, track, and relate ADRs.
  • Domain Context Guide
    • Describes the major concepts considered in the Embedded VM, as well as the relationships between concepts.
  • Component Specifications
    • Major framework component specifications are kept in the components/ directory. These specifications describe the roles, responsibilities, and collaborators for each component.
  • Design Constraints
    • Significant constraints placed on the design of the Embedded VM core, such as not requiring dynamic memory, can be found in the constraints/ directory.
  • Architecture Principles
    • The principles/ directory contains the primary principles that guide the design and development of the Embedded VM.
  • Qualities
    • The qualities/ directory contains the primary design qualities we want to emphasize with the design and behavior of the Embedded VM.
  • Use Cases
    • The use_cases/ directory contains use cases that we considered while designing the Embedded VM.
  • Architectural Scratch Pad
    • Contains architectural notes that have not found another home yet. Useful as an inbox that can be processed at a later date.