All Projects → JuliaReach → Reachabilityanalysis.jl

JuliaReach / Reachabilityanalysis.jl

Licence: mit
Methods to compute sets of states reachable by dynamical systems

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to Reachabilityanalysis.jl

Tulip Control
Temporal Logic Planning toolbox
Stars: ✭ 81 (+37.29%)
Mutual labels:  control-systems, verification
Owasp Masvs
The Mobile Application Security Verification Standard (MASVS) is a standard for mobile app security.
Stars: ✭ 1,030 (+1645.76%)
Mutual labels:  verification
Cryptominisat
An advanced SAT solver
Stars: ✭ 502 (+750.85%)
Mutual labels:  verification
Smsverifycatcher
Android library for phone number verification feature in your app. Automatically copies verification code from SMS right into the app. Made by Stfalcon
Stars: ✭ 788 (+1235.59%)
Mutual labels:  verification
F License
Open Source License Key Generation and Verification Tool written in Go
Stars: ✭ 535 (+806.78%)
Mutual labels:  verification
Trumail
✉️ ✅ A Fast and Free Email Verification API written in Go
Stars: ✭ 937 (+1488.14%)
Mutual labels:  verification
Vunit
VUnit is a unit testing framework for VHDL/SystemVerilog
Stars: ✭ 438 (+642.37%)
Mutual labels:  verification
Perennial
Verifying concurrent crash-safe systems
Stars: ✭ 57 (-3.39%)
Mutual labels:  verification
Gesture recognition
a gesture recognition verification lock
Stars: ✭ 37 (-37.29%)
Mutual labels:  verification
Cocotb
cocotb, a coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python
Stars: ✭ 740 (+1154.24%)
Mutual labels:  verification
Psick
Puppet Systems Infrastructure Construction Kit: The control-repo
Stars: ✭ 666 (+1028.81%)
Mutual labels:  control-systems
Pact broker
Enables your consumer driven contracts workflow
Stars: ✭ 540 (+815.25%)
Mutual labels:  verification
Liquidhaskell
Liquid Types For Haskell
Stars: ✭ 863 (+1362.71%)
Mutual labels:  verification
Cosette
Cosette is an automated SQL solver.
Stars: ✭ 533 (+803.39%)
Mutual labels:  verification
Scrypt Interactive
[DEPRECATED] Truebit Verification for Scrypt
Stars: ✭ 47 (-20.34%)
Mutual labels:  verification
Upash
🔒Unified API for password hashing algorithms
Stars: ✭ 484 (+720.34%)
Mutual labels:  verification
Grassmarlin
Provides situational awareness of Industrial Control Systems (ICS) and Supervisory Control and Data Acquisition (SCADA) networks in support of network security assessments. #nsacyber
Stars: ✭ 621 (+952.54%)
Mutual labels:  control-systems
Rn Countdown
⏰ 纯 JavaScript 实现的针对 React Native App 的倒计时组件。
Stars: ✭ 19 (-67.8%)
Mutual labels:  verification
Eyantra drone
Metapackage to control the edrone via services and topics -https://www.youtube.com/watch?v=M-RYyMyRl9g
Stars: ✭ 57 (-3.39%)
Mutual labels:  control-systems
Smsretrieverapimaster
Automatic SMS Verification with the SMS Retriever API
Stars: ✭ 48 (-18.64%)
Mutual labels:  verification

ReachabilityAnalysis.jl

Build Status Documentation license Code coverage Join the chat at https://gitter.im/JuliaReach/Lobby

✨ What is Reachability Analysis?

Reachability analysis is concerned with computing rigorous approximations of the set of states reachable by a dynamical system. In the scope of this package are systems modeled by continuous or hybrid dynamical systems, where the dynamics changes with discrete events. Systems are modelled by ordinary differential equations (ODEs) or semi-discrete partial differential equations (PDEs), with uncertain initial states, uncertain parameters or non-deterministic inputs.

The library is oriented towards a class of numerical methods known as set propagation techniques: to compute the set of states reachable by continuous or hybrid systems, such methods iteratively propagate a sequence of sets starting from the set of initial states, according to the systems' dynamics.

See our Commonly asked questions (FAQ) section for pointers to the relevant literature, related tools and more.

🎯 Table of Contents

💾 Installation

📙 Documentation << WORK-IN-PROGRESS

🎨 Features

🏁 Quickstart

🐾 Examples Gallery

📘 Publications

📜 Citation

💾 Installation

Open a Julia session and activate the pkg mode (to activate the pkg mode in Julia's REPL, type ], and to leave it, type <backspace>), and enter:

pkg> add ReachabilityAnalysis

📙 Documentation

See the Reference Manual for introductory material, examples and API reference.

📌 Need help? Have any question, or wish to suggest or ask for a missing feature? Do not hesitate to open a email to the developers.

🎨 Features

The following types of systems are supported (click on the left arrow to display a list of examples):

Continuous ODEs with linear dynamics ✔️

Operational amplifier

Heat

ISS

Motor

Building

Continuous ODEs with non-linear dynamics ✔️

Quadrotor

Brusselator

SEIR model

Robot arm

Continuous ODEs with parametric uncertainty ✔️

Transmission line

Lotka-Volterra

Hybrid systems with piecewise-affine dynamics ✔️

Platooning

Bouncing ball

Navigation system

Thermostat

Hybrid systems with non-linear dynamics ✔️

Spacecraft

Cardiatic cell

Powetrain control

Spiking neuron

Bouncing ball

Hybrid systems with clocked linear dynamics ✔️

Electromechanic break

Clocked thermostat

🏁 Quickstart

In less than 15 lines of code, we can formulate, solve and visualize the set of states reachable by the Duffing oscillator starting from any initial condition with position in the interval 0.9 .. 1.1 and velocity in -0.1 .. 0.1.

using ReachabilityAnalysis, Plots

const ω = 1.2
const T = 2*pi / ω

@taylorize function duffing!(du, u, p, t)
    local α = -1.0
    local β = 1.0
    local δ = 0.3
    local γ = 0.37
    
    x, v = u
    f = γ * cos(ω * t)

    # write the nonlinear differential equations defining the model
    du[1] = u[2]
    du[2] = -α*x - δ*v - β*x^3 + f
end

# set of initial states
X0 = Hyperrectangle(low=[0.9, -0.1], high=[1.1, 0.1])

# formulate the initial-value problem
prob = @ivp(x' = duffing!(x), x(0)  X0, dim=2)

# solve using a Taylor model set representation
sol = solve(prob, tspan=(0.0, 20*T), alg=TMJets())

# plot the flowpipe in state-space
plot(sol, vars=(1, 2), xlab="x", ylab="v", lw=0.5, color=:red)

🐾 Examples

quadrotor Quadrotor altitude control LVHybrid Lotka-Volterra with tangential guard crossing
LaubLoomis Laub-Loomis model PD
Production-Destruction model
vanderpol Coupled van der pol oscillator model spaccecraft Spacecraft rendez-vous model

📘 Publications

This library has been applied in a number of scientic works. We list them in reverse chronological order.

[10] Efficient reachability analysis of parametric linear hybrid systems with time-triggered transitions. Marcelo Forets, Daniel Freire, Christian Schilling, 2020. arXiv: 2006.12325. In 18th ACM-IEEE International Conference on Formal Methods and Models for System Design .

[9] ARCH-COMP20 Category Report: Continuous and Hybrid Systems with Linear Continuous Dynamics. Matthias Althoff, Stanley Bak, Zongnan Bao, Marcelo Forets, Daniel Freire, Goran Frehse, Niklas Kochdumper, Yangge Li, Sayan Mitra, Rajarshi Ray, Christian Schilling, Stefan Schupp, and Mark Wetzlinger (2020) ARCH20. 7th International Workshop on Applied Verification of Continuous and Hybrid Systems. 7th International Workshop on Applied Verification of Continuous and Hybrid Systems (ARCH20), vol 74, pages 16--48. 10.29007/7dt2.

[8] ARCH-COMP20 Category Report: Continuous and Hybrid Systems with Nonlinear Dynamics. Luca Geretti, Julien Alexandre dit Sandretto, Matthias Althoff, Luis Benet, Alexandre Chapoutot, Xin Chen, Pieter Collins, Marcelo Forets, Daniel Freire, Fabian Immler, Niklas Kochdumper, David P. Sanders and Christian Schilling (2020) ARCH20. To appear in 7th International Workshop on Applied Verification of Continuous and Hybrid Systems. 7th International Workshop on Applied Verification of Continuous and Hybrid Systems (ARCH20), vol 74, pages 49--75. 10.29007/zkf6.

[7] Case Study: Reachability Analysis of a unified Combat-Command-and-Control Model. Sergiy Bogomolov, Marcelo Forets, Kostiantyn Potomkin. International Conference on Reachability Problems (2020). Lecture Notes in Computer Science, vol 12448. (2020) doi: 10.1007/978-3-030-61739-4_4. Presented in the 14th International Conference on Reachability Problems 2020. article

[6] Reachability analysis of linear hybrid systems via block decomposition. Sergiy Bogomolov, Marcelo Forets, Goran Frehse, Kostiantyn Potomkin, Christian Schilling. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 39:11 (2020). doi: 10.1109/TCAD.2020.3012859. Presented in Embedded Systems Week 2020. Get pdf from arXiv: 1905.02458.

[5] ARCH-COMP19 Category Report: Continuous and Hybrid Systems with Linear Continuous Dynamics. Matthias Althoff, Stanley Bak, Marcelo Forets, Goran Frehse, Niklas Kochdumper, Rajarshi Ray, Christian Schilling and Stefan Schupp (2019) ARCH19. 6th International Workshop on Applied Verification of Continuous and Hybrid Systems, vol 61, pages 14--40 doi: 10.29007/bj1w.

[4] ARCH-COMP19 Category Report: Continuous and Hybrid Systems with Nonlinear Dynamics. Fabian Immler, Matthias Althoff, Luis Benet, Alexandre Chapoutot, Xin Chen, Marcelo Forets, Luca Geretti, Niklas Kochdumper, David P. Sanders and Christian Schilling (2019) ARCH19. 6th International Workshop on Applied Verification of Continuous and Hybrid Systems, vol 61, pages 41--61 doi: 10.29007/bj1w.

[3] JuliaReach: a Toolbox for Set-Based Reachability. Sergiy Bogomolov, Marcelo Forets, Goran Frehse, Kostiantyn Potomkin, Christian Schilling. Published in Proceedings of HSCC'19: 22nd ACM International Conference on Hybrid Systems: Computation and Control (HSCC'19), see ACM link here. Get pdf from arXiv: 1901.10736.

[2] ARCH-COMP18 Category Report: Continuous and Hybrid Systems with Linear Continuous Dynamics. Matthias Althoff, Stanley Bak, Xin Chen, Chuchu Fan, Marcelo Forets, Goran Frehse, Niklas Kochdumper, Yangge Li, Sayan Mitra, Rajarshi Ray, Christian Schilling and Stefan Schupp (2018) ARCH18. 5th International Workshop on Applied Verification of Continuous and Hybrid Systems, 54: 23–52. doi: 10.29007/73mb.

[1] Reach Set Approximation through Decomposition with Low-dimensional Sets and High-dimensional Matrices. Sergiy Bogomolov, Marcelo Forets, Goran Frehse, Frédéric Viry, Andreas Podelski and Christian Schilling (2018) HSCC'18 Proceedings of the 21st International Conference on Hybrid Systems: Computation and Control: 41–50. See the ACM Digital Library link, or the arXiv: 1801.09526.

Note: Articles [1-7] use the former codebase Reachability.jl.

📜 Citation

Research credit and full references to the scientific papers presenting the algorithms implemented in this package can be found in the source code for each algorithm and in the References section of the online documentation.

If you use this package for your research, we kindly ask you to cite the following paper, see CITATION.bib. Moreover, please also cite the appropriate original references to the algorithms used.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].