|Consortium Solutions Middleware Forge MyObjectWeb|
A toolset for developing component-based verifiable embedded systems
Buzz is an experimental toolset for developing component-based verifiable embedded systems. This environment uses as input a dedicated language, called Buzz, that combines two complementary component based programming paradigms: BIP and Think. Buzz can act as a pivot and most popular execution paradigms (event-driven, Thread oriented,... ) can be translated into it. BIP is a framework for model-based development including a language for the description of heterogeneous systems, as well as associated simulation and verification tools. Buzz comes with a compiler that allows both the generation of a Think architecture for the software execution on the embedded platform and the generation of a BIP model for verifications and analysis.
How to use Buzz
In order to use Buzz, you need to download the following 3 parts:
After downloading, you need to compile both Nuptse and Buzz. The following assumes you used the same directories as in previous examples:
Then, you should be all set for compiling your first example. Be sure to correctly set both THINK_PATH and KORTEX_PATH environment variables. The first one should point to the root of your Nuptse's installation (as in the previous example). The second should point to the "src/" subdirectory in your kortex installation:
If using 'bash', the following commands could be used:
$ export THINK_PATH=$HOME/svn/think-buzz/ $ export KORTEX_PATH=$HOME/svn/kortex-buzz/src
The subdirectory 'examples' contains a set of examples. Some are NOT intended to be used to generate C code for running. Such examples includes: ac-ac, ac-pc-pc, ac-pc-ac, ac-pc-pc-ac. These are only used to generate a formal BIP model. For example intended to generate C code for real target, you should try both 'atm2561' and 'msp430' subdirectories. The easiest way to compile examples is to jump into subdirectories and simply run "make". By default, make will build both the executable and the formal model.
Loading the generated executable depends on the target platform. Helper scripts are bundled in debian packages available on this website ('avr-utils' for avr).
Using the BIP model requires the BIP compiler and tools to be installed (see http://www-verimag.imag.fr/~async/bip.php for more details).
Bugs, limitations and friends
Currently, only the msp430 examples can be compiled following an interface change in some internal API. The work needed for making the AVR code work again is trivial and will eventually be taken care of.
There is a branch that focuses on unix support. It should be merged with the trunk, but this will wait. This branch uses signals to simulate interruptions and has support for user mode 'threads'. You need to use the following banches :
You must use the buzz version of nuptse (same as above) that
includes a modified version of codegen
If you have any question, feel free to send an email:
Copyright © 1999-2005, ObjectWeb Consortium | contact | webmaster | Last modified at 2011-06-24 04:44 AM