Breach download and install

Home       Download and install       Systems       Simulation       Temporal Logic       Parameter sets       Graphical User Interfaces      

Breach is a Matlab toolbox, hence getting it to work on your system is simple, regardless of the operating system used. The only requirement is a recent version of Matlab with a compatible C/C++ compiler.

Getting Breach

Breach development is hosted as a Bitbucket project using Mercurial. An anonymous access to the Mercurial repository can be obtained by:

hg clone https://bitbucket.org/donze/breach

If for some reason you don't want or can't use mercurial, you can download download a zip archive, but this might not have the latest features and bug fixes.

Updating Breach

If you got Breach using the anonymous Mercurial repository, the following simple commands should get you to the most up-to-date version of Breach:

$ hg pull -u

Install instructions

Prerequisites

In order to get Breach working, a working mex command setup with a relatively recent C++ compiler is the only requirement (beside Matlab itself of course). Note that lcc, which is provided with some versions of Matlab, does not work since it compiles only C code, not C++.

You can type

>> mex -setup

to verify that your compiler is properly configured or to setup one otherwise. The install procedure should work regardless of the OS you are running Matlab, however it has been mostly tested under Linux with GCC and a few versions of Visual Studio. Reports of succesfull install under any environment is appreciated.

  • Common issue with libstdc++ and libgcc libs

    If Matlab is complaining about libstdc++.so or libgcc.so, there is a conflict between the version of these file installed on your system and the version that comes with Matlab. The solution is to remove (or rename) Matlab's version files:

    1. Navigate to matlabroot/sys/os/glnx86.
    2. Rename the following files with a prefix of old:
      • libgcc_s.so.1
      • libstdc++.so.6.0.8

      For example, rename libgcc_s.so.1 to old_libgcc_s.so.1. you must rename both of the above files. Alternately, you can create a subfolder named old and move the files there, or just delete them. It's unlikely that you ever need them anyway.

Install and initialization

Installation involves the compilation of some mex functions. This has to be done only once after each update. Under Matlab, CD into the Breach main directory and call the script:

>> InstallBreach

Then before each use, Breach has a few things to initialize to get ready working (mostly getting paths right). To do this, you can use these commands:

>> addpath('/path/to/breach'); 
>> InitBreach

where you have of course to modify the path according to your own configuration. To avoid doing these two commands everytime you start Matlab, you can simply add these two lines to the startup.m file.

Testing and getting started

The Examples directory contains a number of systems I have been already working with. Not all systems and scripts in there are guaranteed to work though, as some of them became obsolete with time and the resulting mess has not yet been cleaned up. However, you can have a look at the following folders, which should be functional:

  • Examples/vdp: a simple Van der Pol system is used to illustrate some scripts of Breach. Check the demoVDPx.m where x goes from 0 to 4.
  • Examples/Lorenz84: a classic Lorenz system, which can exhibit all sort of dynamical behaviors.
  • Examples/Simulink/AutomaticTransmission: a demo Simulink model from the automative domain.

Troubleshooting

The best way to solve a problem is to contact the culprit.