check

package
v0.0.0-...-fc88c08 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 5, 2021 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package check implements wrappers for dags that validate whether units respect predefined rules.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BasicCorrectness

func BasicCorrectness(u gomel.Unit, dag gomel.Dag) error

BasicCorrectness returns a version of the dag that will check the following notion of correctness:

  1. If a unit has nProc parents such that the i-th parent is created by the i-th process.
  2. A unit has to have a predecessor or have all parents nil.
  3. A unit is a prime unit.

func ForkerMuting

func ForkerMuting(u gomel.Unit, _ gomel.Dag) error

ForkerMuting checks if unit's parents respects the forker-muting policy: The following situation is not allowed:

  • There exists a process j, s.t. one of parents was created by j AND
  • one of the parents has evidence that j is forking.

func NoForks

func NoForks(u gomel.Unit, dag gomel.Dag) error

NoForks ensures that forked units are not added to the dag.

func NoLevelSkipping

func NoLevelSkipping(u gomel.Unit, _ gomel.Dag) error

NoLevelSkipping ensures that no process creates a unit of level n>0 without creating a unit of level n-1. To check that it is sufficient to test whether height = level for every unit.

func NoSelfForkingEvidence

func NoSelfForkingEvidence(u gomel.Unit, _ gomel.Dag) error

NoSelfForkingEvidence checks if a unit does not provide evidence of its creator forking.

func ParentConsistency

func ParentConsistency(unit gomel.Unit, dag gomel.Dag) error

ParentConsistency checks the parent consistency rule. Parent consistency rule means that unit's i-th parent cannot be lower (in a level sense) than i-th parent of any other of that units parents. In other words, units seen from U "directly" (as parents) cannot be below the ones seen "indirectly" (as parents of parents).

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL