Frama-C API - Make
Parameters
Signature
module Linear : sig ... endThe linear space in which the systems are defined.
module Box : sig ... endtype 'n box = 'n Box.ttype ('n, 'm) system = {state_matrix : ('n, 'n) Linear.matrix;input_matrix : ('n, 'm) Linear.matrix;input_space : 'm box;shift : 'n Linear.vector;initial_state : 'n Linear.vector;
}A LTI system full specification. The fields are as follows:
state_matrix: the system's state matrixA;input_matrix: the system's input matrixB;input_space: the box containing all input vectors;shift: the system's shift vectorS;initial_state: the system's initial stateX[0].
Representation of a LTI system's behavior. The fields are as follows:
transitionrepresents the transition phase as a list of boxes, one for each iteration that cannot be proven contained in the permanent phase. The length of the list, i.e the number of unrolled iterations, depends on the system's parameters and on the precision of the permanent phase's abstraction.permanentrepresents the permanent phase as a unique box, which is an invariant for the filter for all iterations after the ones unrolled through the transition phase.
val behavior : ?timeout:float -> completion_target:float -> ('n Nat.succ, 'm Nat.succ) system -> 'n Nat.succ behavior optionBehavior computation. See module-level documentation for a general overview and a link to the underlying theory. The optionnal parameters are as follows:
timeoutspecifies the maximum analysis duration. It is expressed in seconds, and its default value is one second.completion_targetspecifies the relative completion of the permanent phase that must be achieved, i.e how much of the permanent box is proven to be a valid and reachable state of the system. It is expressed in percentage between 0 and 100.
val pretty_behavior : 'n behavior option Pretty_utils.formatterPretty print a behavior. Used for test and debug purposes.
