Skip to content

Latest commit

 

History

History
79 lines (66 loc) · 1.77 KB

functionalities.md

File metadata and controls

79 lines (66 loc) · 1.77 KB

Functionlities and Use Cases

  • Firstly user should be able to easily import the library by
import XXXX

Model

Definition

  • The first step would be declaring a model?
# create a empty model
vehicle = Model()
  • Possible ways to define a model:

    • Use a simple GUI(as a separate module/tool) to manually input model dynamics and output to a specific format.
    • Import from existing file, such as:
      • From hyxml format.
      • From some other popular model format?
    # it will construct the model from file specified by "filename"
    vehicle.read("filename")
  • After we have a model with defined Initial Set, Unsafe Set, etc. We can perform simulation/reachability analysis based on the model.

Data Types

  • Equations dynamics_of_model
    • The differential equations, represented by some data structrues?
  • int dimensions
    • the number of variables.
  • list() mode_linear
    • it's a list of bool, indicating the linearity of each mode.

Operations

  • Simulation

    • Perform simulate() from model, with Initial Set, Time Horizon and Time Step input.
'''
INPUT:
    init_set - model's initial set
    T        - Time Horizon
    t        - Time Step
OUTPUT:
    Simulation_Trace  
    (Might be a data type or just a subset of reachtube)    
''' 
vehicle.simulate(init_set, T, t) 
  • Verification

    • Perform reach() from model, with Initial Set, Time Horizon and Time Step input.
'''
INPUT:
    init_set - model's initial set
    T        - Time Horizon
    t        - Time Step
OUTPUT:
    Reachtube   
''' 
vehicle.reach(init_set, T, t)

Set

  • Is an abstract class.
  • Subclass can be:
    • RectangleSet
    • LinearSet
    • ...

ReachTube

  • Is a class.