Skip to content

Commit

Permalink
rename package
Browse files Browse the repository at this point in the history
  • Loading branch information
schillic committed May 27, 2022
1 parent 39c72c8 commit a72d8b3
Show file tree
Hide file tree
Showing 23 changed files with 45 additions and 72 deletions.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2020 Marcelo Forets
Copyright (c) 2020 Marcelo Forets and Christian Schilling

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name = "NeuralNetworkAnalysis"
name = "ClosedLoopReachability"
uuid = "73c0b437-a350-4e9b-97ac-9adb151c271b"
version = "0.1.0"

Expand Down
41 changes: 7 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,11 @@
# NeuralNetworkAnalysis.jl
# ClosedLoopReachability.jl

[![Build Status](https://github.com/JuliaReach/NeuralNetworkAnalysis.jl/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/JuliaReach/NeuralNetworkAnalysis.jl/actions/workflows/ci.yml?query=branch%3Amaster)
[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://juliareach.github.io/NeuralNetworkAnalysis.jl/dev/)
[![license](https://img.shields.io/github/license/mashape/apistatus.svg?maxAge=2592000)](https://github.com/juliareach/NeuralNetworkAnalysis.jl/blob/master/LICENSE)
[![Code coverage](http://codecov.io/github/JuliaReach/NeuralNetworkAnalysis.jl/coverage.svg?branch=master)](https://codecov.io/github/JuliaReach/NeuralNetworkAnalysis.jl?branch=master)
[![Build Status](https://github.com/JuliaReach/ClosedLoopReachability.jl/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/JuliaReach/ClosedLoopReachability.jl/actions/workflows/ci.yml?query=branch%3Amaster)
[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://juliareach.github.io/ClosedLoopReachability.jl/dev/)
[![license](https://img.shields.io/github/license/mashape/apistatus.svg?maxAge=2592000)](https://github.com/juliareach/ClosedLoopReachability.jl/blob/master/LICENSE)
[![Code coverage](http://codecov.io/github/JuliaReach/ClosedLoopReachability.jl/coverage.svg?branch=master)](https://codecov.io/github/JuliaReach/ClosedLoopReachability.jl?branch=master)
[![Join the chat at https://gitter.im/JuliaReach/Lobby](https://badges.gitter.im/JuliaReach/Lobby.svg)](https://gitter.im/JuliaReach/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

Methods to verify neural network control systems using reachability analysis

## Links

- [Proceedings of ARCH-COMP20 Category Report:
Artificial Intelligence and Neural Network Control Systems
(AINNCS) for Continuous and Hybrid Systems Plants](https://easychair.org/publications/open/Jvwg)
- https://github.com/verivital/nnv/tree/master/code/nnv/examples/Submission/ARCH_COMP2020
- [Repo with benchmark models (2020)](https://github.com/verivital/ARCH-COMP2020)
- [Proceedings of ARCH-COMP 2019 AI-NNCS](https://easychair.org/publications/open/BFKs)
- [Repo with benchmark models (2019)](https://github.com/verivital/ARCH-COMP19-AINNCS)

## Related tools

- see also the [wiki entry](https://github.com/JuliaReach/NeuralNetworkAnalysis.jl/wiki#related-tools) on related tools

- [NeuralVerification.jl](https://github.com/sisl/NeuralVerification.jl) -- Methods to soundly verify deep neural networks

- [ReachNNStar](https://github.com/JmfanBU/ReachNNStar) -- Reachability Analysis Tool of Neural Network Controlled Systems (NNCSs)

- [NeuralOptimization.jl
](https://github.com/castrong/NeuralOptimization.jl) -- A compilation of ReLU network optimization algorithms.

- [sherlock](https://github.com/souradeep-111/sherlock) -- Sherlock is a tool for output range anaylsis of Deep Neural Networks with ReLU activation units.

- [NeuralVerifier.jl](https://github.com/jaypmorgan/NeuralVerifier.jl) -- Formal Verification of Deep Neural Networks in Julia

- [Adversarial.jl](https://github.com/jaypmorgan/Adversarial.jl) -- Adversarial attacks for Neural Networks written with FluxML

This package implements methods to analyze closed-loop control systems using reachability analysis.

Currently we support neural-network controllers.
2 changes: 1 addition & 1 deletion docs/generate.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# generate examples
import Literate
import NeuralNetworkAnalysis: @modelpath
import ClosedLoopReachability: @modelpath

MODELS = [
joinpath(@__DIR__, "..", "models", "ACC"),
Expand Down
12 changes: 6 additions & 6 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
using Documenter, NeuralNetworkAnalysis
using Documenter, ClosedLoopReachability

DocMeta.setdocmeta!(NeuralNetworkAnalysis, :DocTestSetup,
:(using NeuralNetworkAnalysis); recursive=true)
DocMeta.setdocmeta!(ClosedLoopReachability, :DocTestSetup,
:(using ClosedLoopReachability); recursive=true)

# generate models
include("generate.jl")

makedocs(
sitename = "NeuralNetworkAnalysis.jl",
modules = [NeuralNetworkAnalysis],
sitename = "ClosedLoopReachability.jl",
modules = [ClosedLoopReachability],
format = Documenter.HTML(prettyurls = get(ENV, "CI", nothing) == "true",
collapselevel = 1,
assets = ["assets/aligned.css"]),
Expand All @@ -33,6 +33,6 @@ makedocs(
)

deploydocs(
repo = "github.com/JuliaReach/NeuralNetworkAnalysis.jl.git",
repo = "github.com/JuliaReach/ClosedLoopReachability.jl.git",
push_preview=true
)
4 changes: 2 additions & 2 deletions docs/src/lib/problems.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
```@meta
DocTestSetup = :(using NeuralNetworkAnalysis)
CurrentModule = NeuralNetworkAnalysis
DocTestSetup = :(using ClosedLoopReachability)
CurrentModule = ClosedLoopReachability
```

# Problem types
Expand Down
4 changes: 2 additions & 2 deletions docs/src/lib/solvers.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
```@meta
DocTestSetup = :(using NeuralNetworkAnalysis)
CurrentModule = NeuralNetworkAnalysis
DocTestSetup = :(using ClosedLoopReachability)
CurrentModule = ClosedLoopReachability
```

# Solvers
Expand Down
4 changes: 2 additions & 2 deletions docs/src/lib/utils.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
```@meta
DocTestSetup = :(using NeuralNetworkAnalysis)
CurrentModule = NeuralNetworkAnalysis
DocTestSetup = :(using ClosedLoopReachability)
CurrentModule = ClosedLoopReachability
```

# Utility functions
Expand Down
4 changes: 2 additions & 2 deletions models/ACC/ACC.jl
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@

module ACC #jl

using NeuralNetworkAnalysis, MAT
using NeuralNetworkAnalysis: FunctionPreprocessing
using ClosedLoopReachability, MAT
using ClosedLoopReachability: FunctionPreprocessing

# ## Model
#
Expand Down
2 changes: 1 addition & 1 deletion models/Airplane/Airplane.jl
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

module Airplane #jl

using NeuralNetworkAnalysis
using ClosedLoopReachability

# The following option determines whether the falsification settings should be
# used or not. The falsification settings are sufficient to show that the safety
Expand Down
2 changes: 1 addition & 1 deletion models/Cart-Pole/Cart-Pole.jl
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
# to the plant is 10. However if ``\textrm{output}_1 < \textrm{output}_2`` then the input supplied
# to the plant is -10.

using NeuralNetworkAnalysis
using ClosedLoopReachability

@taylorize function cartpole!(du, u, p, t)
local f, m, l, mt, g = 10, 0.1, 0.5, 1.1, 9.8
Expand Down
4 changes: 2 additions & 2 deletions models/Double-Pendulum/Double-Pendulum.jl
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

module DoublePendulum #jl

using NeuralNetworkAnalysis
using NeuralNetworkAnalysis: Specification
using ClosedLoopReachability
using ClosedLoopReachability: Specification

# The following option determines whether the falsification settings should be
# used or not. The falsification settings are sufficient to show that the safety
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

module Unicycle #jl

using NeuralNetworkAnalysis, MAT
using NeuralNetworkAnalysis: UniformAdditivePostprocessing
using ClosedLoopReachability, MAT
using ClosedLoopReachability: UniformAdditivePostprocessing

# This benchmark is that of a unicycle model of a car [^DCS19] taken from Benchmark
# 10 of the Sherlock tool. It models the dynamics of a car involving 4
Expand Down
2 changes: 1 addition & 1 deletion models/Sherlock-Benchmark-7/Sherlock-Benchmark-7.jl
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
# The trained network had 2 hidden layers, with 300 neurons in the first layer,
# and 200 in the second layer. The sampling time for this controller was 0.5s.

using NeuralNetworkAnalysis
using ClosedLoopReachability

# The spatial variables are aguemte
@taylorize function f!(dx, x, p, t)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

module TORA_ReluTanh #jl

using NeuralNetworkAnalysis, MAT
using NeuralNetworkAnalysis: UniformAdditivePostprocessing, NoSplitter
using ClosedLoopReachability, MAT
using ClosedLoopReachability: UniformAdditivePostprocessing, NoSplitter

# This model consists of a cart attached to a wall with a spring. The cart is
# free to move on a friction-less surface. The car has a weight attached to an
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

module TORA_Sigmoid #jl

using NeuralNetworkAnalysis, MAT
using NeuralNetworkAnalysis: UniformAdditivePostprocessing, NoSplitter
using ClosedLoopReachability, MAT
using ClosedLoopReachability: UniformAdditivePostprocessing, NoSplitter

# The following option determines whether the verification settings should be
# used or not. The verification settings are chosen to show that the safety
Expand Down
4 changes: 2 additions & 2 deletions models/Sherlock-Benchmark-9-TORA/Sherlock-Benchmark-9-TORA.jl
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

module TORA #jl

using NeuralNetworkAnalysis, MAT
using NeuralNetworkAnalysis: UniformAdditivePostprocessing, NoSplitter
using ClosedLoopReachability, MAT
using ClosedLoopReachability: UniformAdditivePostprocessing, NoSplitter

# The following option determines whether the verification settings should be
# used or not. The verification settings are chosen to show that the safety
Expand Down
4 changes: 2 additions & 2 deletions models/Single-Pendulum/Single-Pendulum.jl
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@

module SinglePendulum #jl

using NeuralNetworkAnalysis
using NeuralNetworkAnalysis: SingleEntryVector
using ClosedLoopReachability
using ClosedLoopReachability: SingleEntryVector

# The following option determines whether the falsification settings should be
# used or not. The falsification settings are sufficient to show that the safety
Expand Down
4 changes: 2 additions & 2 deletions models/VertCAS/VertCAS.jl
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

module VertCAS #jl

using NeuralNetworkAnalysis, LinearAlgebra
using ClosedLoopReachability, LinearAlgebra

# ## Model
#
Expand All @@ -23,7 +23,7 @@ using NeuralNetworkAnalysis, LinearAlgebra
# to have a constant horizontal speed, and the intruder (red) is assumed to
# follow a constant horizontal trajectory towards ownship, see the figure below.
#
# ![](https://raw.githubusercontent.com/JuliaReach/NeuralNetworkAnalysis.jl/master/models/VertCAS/nmac.png)
# ![](https://raw.githubusercontent.com/JuliaReach/ClosedLoopReachability.jl/master/models/VertCAS/nmac.png)
#
# The current geometry of the system is described by:
#
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module NeuralNetworkAnalysis
module ClosedLoopReachability

include("init.jl")
include("activation.jl")
Expand Down
2 changes: 1 addition & 1 deletion src/utils.jl
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ A `Network` struct.
### Notes
The following activation functions are supported: identity, relu, sigmoid and tanh;
see `NeuralNetworkAnalysis.ACT_YAML`.
see `ClosedLoopReachability.ACT_YAML`.
"""
function read_nnet_yaml(data::Dict)
NLAYERS = length(data["offsets"])
Expand Down
2 changes: 1 addition & 1 deletion test/black_box_toy_model.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using NeuralNetworkAnalysis
using ClosedLoopReachability

@taylorize function sys!(dx, x, p, t)
dx[1] = x[2]
Expand Down
2 changes: 1 addition & 1 deletion test/runtests.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using NeuralNetworkAnalysis
using ClosedLoopReachability
using Test

@time @testset "Toy model (black-box network)" begin include("black_box_toy_model.jl") end

0 comments on commit a72d8b3

Please sign in to comment.