Hybrid Systems PlugIn

Classes

class  faudes::AttributeLhaTrans
 
class  faudes::AttributeLhaState
 
class  faudes::AttributeLhaGlobal
 
class  faudes::Experiment
 
class  faudes::TlhaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >
 
class  faudes::Scalar
 
class  faudes::Matrix
 
class  faudes::Vector
 
class  faudes::Polyhedron
 
class  faudes::LinearRelation
 

Functions

void faudes::PolyCopy (const Polyhedron &src, Polyhedron &dst)
 
void faudes::PolyFinalise (const Polyhedron &fpoly)
 
void faudes::PolyDWrite (const Polyhedron &fpoly)
 
void faudes::PolyIntersection (const Polyhedron &poly, Polyhedron &res)
 
bool faudes::PolyIsEmpty (const Polyhedron &poly)
 
bool faudes::PolyInclusion (const Polyhedron &poly, const Polyhedron &other)
 
void faudes::PolyTimeElapse (const Polyhedron &rate, Polyhedron &poly)
 
void faudes::PolyLinearRelation (const LinearRelation &reset, Polyhedron &poly)
 

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

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.33b --- 2025.05.07 --- c++ api documentaion by doxygen