Hybrid Systems PlugIn

Detailed Description

Overview

This plug-in provides basic support for linear hybrid automata. The long term perspective is to implement abstraction based synthesis methods. The current implementation supports the C++ API only, it provides neither dedicated reference pages nor lua-bindings.

License

The hybrid systems plug-in is distributed with libFAUDES and under the terms of the LGPL.

The current implementation links to the GPL licensed libraries GMP and PPL. Effectively, this renders any derived work/application that includes libFAUDES with the hyprid systems plug-in GPL licensed (as opposed to LGPL).

Contents

Classes

class  faudes::AttributeLhaTrans
 Linear hybrid automata transition attribute with guard and resets. More...
 
class  faudes::AttributeLhaState
 Linear hybrid automata state attribute with invariant, rates and optional initial state constraint. More...
 
class  faudes::AttributeLhaGlobal
 Linear hybrid automata globat attribute to specify the overall state space. More...
 
class  faudes::Experiment
 Finite fragment of a computation tree. More...
 
class  faudes::TlhaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >
 Generator with linear hybrid automata extensions. More...
 
class  faudes::Scalar
 Base type for dense maths. More...
 
class  faudes::Matrix
 Matrix of scalars. More...
 
class  faudes::Vector
 Vector of scalars. More...
 
class  faudes::Polyhedron
 Polyhedron in R^n. More...
 
class  faudes::LinearRelation
 Linear relation on R^n. More...
 

Functions

void faudes::PolyCopy (const Polyhedron &src, Polyhedron &dst)
 copy method More...
 
void faudes::PolyFinalise (const Polyhedron &fpoly)
 convert PPL polyhedron back to faudes data structures; this is required if we manipulate a polyhedron and like to access it from libFAUDES More...
 
void faudes::PolyDWrite (const Polyhedron &fpoly)
 poly dump More...
 
void faudes::PolyIntersection (const Polyhedron &poly, Polyhedron &res)
 intersection More...
 
bool faudes::PolyIsEmpty (const Polyhedron &poly)
 test emptyness More...
 
bool faudes::PolyInclusion (const Polyhedron &poly, const Polyhedron &other)
 inclusion More...
 
void faudes::PolyTimeElapse (const Polyhedron &rate, Polyhedron &poly)
 time elapse More...
 
void faudes::PolyLinearRelation (const LinearRelation &reset, Polyhedron &poly)
 apply reset relation A'x' + Ax <= B More...
 

Function Documentation

◆ PolyCopy()

void FAUDES_API faudes::PolyCopy ( const Polyhedron src,
Polyhedron dst 
)

copy method

User data aware assignment.

Parameters
srcsource
dstdestination

Definition at line 162 of file hyb_compute.cpp.

◆ PolyDWrite()

void FAUDES_API faudes::PolyDWrite ( const Polyhedron fpoly)

poly dump

Dump verticies.

Parameters
srcsource

Definition at line 154 of file hyb_compute.cpp.

◆ PolyFinalise()

void FAUDES_API faudes::PolyFinalise ( const Polyhedron fpoly)

convert PPL polyhedron back to faudes data structures; this is required if we manipulate a polyhedron and like to access it from libFAUDES

Recover faudes parameters from user data.

Parameters
srcsource

Definition at line 53 of file hyb_compute.cpp.

◆ PolyInclusion()

bool FAUDES_API faudes::PolyInclusion ( const Polyhedron poly,
const Polyhedron other 
)

inclusion

Inclusion.

Parameters
polyone polyhedron
otherother polyhedron
Returns
true if poly <= other

Definition at line 192 of file hyb_compute.cpp.

◆ PolyIntersection()

void FAUDES_API faudes::PolyIntersection ( const Polyhedron poly,
Polyhedron res 
)

intersection

Intersection.

Parameters
polypolyhedron
resresult gets intersected with poly

Definition at line 176 of file hyb_compute.cpp.

◆ PolyIsEmpty()

bool FAUDES_API faudes::PolyIsEmpty ( const Polyhedron poly)

test emptyness

Test emptyness.

Parameters
polypolyhedron
Returns
returns tru on empty polyhedra

Definition at line 186 of file hyb_compute.cpp.

◆ PolyLinearRelation()

void FAUDES_API faudes::PolyLinearRelation ( const LinearRelation reset,
Polyhedron poly 
)

apply reset relation A'x' + Ax <= B

Apply reset relation A'x' + Ax <= B to specified polyhedron.

Parameters
relationlinear relation
polystate set

Definition at line 228 of file hyb_compute.cpp.

◆ PolyTimeElapse()

void FAUDES_API faudes::PolyTimeElapse ( const Polyhedron rate,
Polyhedron poly 
)

time elapse

Apply time-elapse on specified polyhedron.

Parameters
rateright hand side of diff.incl.
polystate set

Definition at line 251 of file hyb_compute.cpp.

libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen