Package-level declarations

Types

Link copied to clipboard
sealed class ComponentVariable<V>

A constraint variable for the confidentiality or the integrity component of a SecurityLattice element.

Link copied to clipboard

A solution to a system of constraints. Maps variables to values.

Link copied to clipboard
class ConstraintSystem<C : HeytingAlgebra<C>, V, T : Throwable>(constraints: Iterable<Constraint<C, V, T>>, bounds: BoundedLattice<C>, delegationContext: LatticeCongruence<C>)

Given a set of SecurityLattice constraints, finds an assignment to all variables that minimizes the trust assigned to each variable (if one exists).

Link copied to clipboard

Represents a SecurityLattice expression that can appear in Constraints.

Functions

Link copied to clipboard
Link copied to clipboard
fun <C : HeytingAlgebra<C>, V, T> Term<C, V>.flowsTo(that: Term<C, V>, bounds: BoundedLattice<C>, failWith: (SecurityLattice<C>, SecurityLattice<C>) -> T): Iterable<Constraint<C, V, T>>

Returns a constraint that represents [this] flowsTo [that].

Link copied to clipboard
fun <C : HeytingAlgebra<C>, V, T> Term<C, V>.integrityFlowsTo(that: Term<C, V>, bounds: BoundedLattice<C>, failWith: (SecurityLattice<C>, SecurityLattice<C>) -> T): Iterable<Constraint<C, V, T>>
Link copied to clipboard
fun <C : Lattice<C>, V> term(variable: V): Term<C, V>

Embeds variable as a Term.

fun <C : Lattice<C>, V> term(constant: SecurityLattice<C>): Term<C, V>

Embeds constant as a Term.