Solutions
Abstract interface
ReachabilityAnalysis.AbstractSolution — TypeAbstractSolutionAbstract supertype of all solution types of a rechability problem.
Solution of a reachability problem
ReachabilityAnalysis.ReachSolution — TypeReachSolution{FT<:AbstractFlowpipe, ST<:AbstractPost} <: AbstractSolutionType that wraps the solution of a reachability problem as a sequence of lazy sets, and a dictionary of options.
Fields
Xk– the list ofAbstractReachSetsalg– algorithm usedoptions– the dictionary of options
Solution of a verification problem
ReachabilityAnalysis.CheckSolution — TypeCheckSolution{T} <: AbstractSolutionType that wraps the solution of a verification problem.
Fields
TODO
Notes
This type contains the answer if the property is satisfied, and if not, it contains the index at which the property might be violated for the first time.
Solving a reachability problem
CommonSolve.solve — Functionsolve(ivp::IVP{<:AbstractContinuousSystem}, tspan, alg; kwargs...)Solves the initial-value problem defined by ivp over the time span tspan, using the algorithm alg. If no algorithm is given, a default algorithm is chosen.
Input
ivp– initial-value problemtspan– time span for this initial-value problemalg– reachability algorithm
Additional options are passed as arguments or keyword arguments; see the notes below for details. See the online documentation for examples.
Output
The solution of a reachability problem, as an instance of a ReachSolution.
Notes
Use the
alg,algorithmoropCkeyword arguments to specify the algorithm to solve the initial-value problem. Algorithm-specific options should be passed to the algorithm constructor as well.Use the
tspankeyword argument to specify the time span; it can be:- a tuple,
- an interval, or
- a vector with two components.
Use the
Tkeyword argument to specify the time horizon; the initial time is then assumed to be zero.Use the
statickeyword argument to force conversion to static arrays in the algorithm (should be supported by the algorithm).Use the
NSTEPSkeyword argument to specify the number of discrete steps solved in the set-based recurrence.Use the
threadingoption to use multi-threading parallelism. This option applies for initial-value problems whose initial condition is a vector of sets.
ReachabilityAnalysis.AbstractPost — TypeAbstractPostAbstract supertype of all post operator types.
ReachabilityAnalysis.AbstractContinuousPost — TypeAbstractContinuousPostAbstract supertype of all continuous post operators.
ReachabilityAnalysis.AbstractDiscretePost — TypeAbstractDiscretePostAbstract supertype of all discrete post operators.
Solving a hybrid reachability problem
ReachabilityAnalysis.AbstractWaitingList — TypeAbstractWaitingListAbstract supertype for all waiting list types.
ReachabilityAnalysis.WaitingList — TypeWaitingList{TN, ST, M, QT<:StateInLocation{ST, M}} <: AbstractWaitingListIterable container representing a list of pairs (set, mode) of a hybrid automaton.
Fields
times– vector with a time interval associated to each statearray– vector ofStateInLocation
Notes
A WaitingList is a list of pairs `(set_i, loc_i) for i in 1..k where times is a vector with a time interval associated to each state.
This waiting list allows for a unique set representation (ST) for all elements of the list.
ReachabilityAnalysis.StateInLocation — TypeStateInLocation{ST,M}Struct that associates a set with a hybrid automaton's location index, usually an integer.
TODO: document other methods in solutions.jl.