Untitled Project
WASM Interpreter for Safety - Requirements

1. Functional Requirements

REQ-1
1.1. Resumable REQ-1

The interpreter shall be resumable

  • REQ-2
    1.7.1. Stackless REQ-2

    The interpreter shall be stackless

REQ-3
1.2. Baremetal REQ-3

The interpreter shall be executable on bare-metal environments

  • REQ-4
    1.7.2. no_std REQ-4

    The interpreter shall be implemented in no_std Rust

REQ-5
1.3. Bounded execution REQ-5

The interpreter shall yield back control flow eventually

  • REQ-6
    1.7.3. Fuel REQ-6

    The interpreter shall support fuel bounded execution

REQ-12
1.4. Migrateable REQ-12

The interpreter state shall be able to halt on one computer and continue execution on another

  • REQ-13
    1.7.4. De-/Serializable REQ-13

    The interpreter state shall be de-/serializable

REQ-14
1.5. No Dependencies REQ-14

No dependencies but those explicitly allowed by a requirement shall be used

  • REQ-15
    1.7.5. Allow log dependency REQ-15

    The interpreter shall have an optional dependency on the log version 0.4.22 or later.

  • REQ-16
    1.7.6. Allow libm dependency REQ-16

    The interpreter may depend on the libm crate version 0.2.8 or later.

REQ-18
1.6. Standard Compliance REQ-18

The interpreter shall be compliant with version 2.0, 16 June 2025, of the core WebAssembly standard (https://www.w3.org/TR/2025/CRD-wasm-core-2-20250616/).

1.7. Low-Level Functional Requirements

  • REQ-1
    1.1. Resumable REQ-1

    The interpreter shall be resumable

REQ-2
1.7.1. Stackless REQ-2

The interpreter shall be stackless

  • REQ-3
    1.2. Baremetal REQ-3

    The interpreter shall be executable on bare-metal environments

REQ-4
1.7.2. no_std REQ-4

The interpreter shall be implemented in no_std Rust

  • REQ-5
    1.3. Bounded execution REQ-5

    The interpreter shall yield back control flow eventually

REQ-6
1.7.3. Fuel REQ-6

The interpreter shall support fuel bounded execution

  • REQ-12
    1.4. Migrateable REQ-12

    The interpreter state shall be able to halt on one computer and continue execution on another

REQ-13
1.7.4. De-/Serializable REQ-13

The interpreter state shall be de-/serializable

  • REQ-14
    1.5. No Dependencies REQ-14

    No dependencies but those explicitly allowed by a requirement shall be used

REQ-15
1.7.5. Allow log dependency REQ-15

The interpreter shall have an optional dependency on the log version 0.4.22 or later.

  • REQ-14
    1.5. No Dependencies REQ-14

    No dependencies but those explicitly allowed by a requirement shall be used

REQ-16
1.7.6. Allow libm dependency REQ-16

The interpreter may depend on the libm crate version 0.2.8 or later.

REQ-17
1.7.7. Minimum Supported Rust Version (MSRV) REQ-17

The interpreter shall compile on Rust 1.87.0 and later versions

2. Observability Requirements

REQ-7
2.1. Instrumentation REQ-7

The interpreter shall implement means for instrumentation

  • REQ-8
    2.2.1. Statement Coverage REQ-8

    The instrumentation shall enable the measurement of statement coverage

  • REQ-9
    2.2.2. Decision Coverage REQ-9

    The instrumentation shall enable the measurement of decision coverage

  • REQ-10
    2.2.3. Modified Condition/Decision Coverage REQ-10

    The instrumentation shall enable the measurement of modified condition/decision coverage

2.2. Low-Level Observability Requirements

  • REQ-7
    2.1. Instrumentation REQ-7

    The interpreter shall implement means for instrumentation

  • REQ-11
    2.2.4. Certification Evidence REQ-11

    The interpreter shall support the generation of certification evidence

REQ-8
2.2.1. Statement Coverage REQ-8

The instrumentation shall enable the measurement of statement coverage

  • REQ-7
    2.1. Instrumentation REQ-7

    The interpreter shall implement means for instrumentation

  • REQ-11
    2.2.4. Certification Evidence REQ-11

    The interpreter shall support the generation of certification evidence

REQ-9
2.2.2. Decision Coverage REQ-9

The instrumentation shall enable the measurement of decision coverage

  • REQ-7
    2.1. Instrumentation REQ-7

    The interpreter shall implement means for instrumentation

  • REQ-11
    2.2.4. Certification Evidence REQ-11

    The interpreter shall support the generation of certification evidence

REQ-10
2.2.3. Modified Condition/Decision Coverage REQ-10

The instrumentation shall enable the measurement of modified condition/decision coverage

REQ-11
2.2.4. Certification Evidence REQ-11

The interpreter shall support the generation of certification evidence

  • REQ-8
    2.2.1. Statement Coverage REQ-8

    The instrumentation shall enable the measurement of statement coverage

  • REQ-9
    2.2.2. Decision Coverage REQ-9

    The instrumentation shall enable the measurement of decision coverage

  • REQ-10
    2.2.3. Modified Condition/Decision Coverage REQ-10

    The instrumentation shall enable the measurement of modified condition/decision coverage