Application development with dueca-project | To help in developing and porting an application, there is a standard file tree layout for application and a script that helps with the use of version control |
How to set up your application | Global set-up hints and concepts on DUECA project organisation |
C++ concepts and primers | This page is intended as a help for people who have little or no knowledge of C++ |
DUECA key concepts | Understanding the basics |
DUSIME key concepts | A good simulator, aside from generating the behaviour of the "real
thing" with the appropriate fidelity, will provide a number of extra possibilities to its users (experimentators or trainees) |
Quick start in programming | This section of the manual assumes that you are already familiar with some of the concepts used in DUECA and DUSIME |
Simulation example | This section describes a large part of the SpacePlane model simulation that has been used as an example in this manual |
Building an executable | Making the actual programs |
Makefile for executable | Here is the template Makefile for creating an executable: |
Makefile for module | Here is the template Makefile for creating a module: |
Configuration files (Scheme version) | For running, DUECA uses two configuration files, which are actually scheme scripts |
Including code from Simulink (old, until Matlab 2012b) | Many computer-aided control engineering packages have an option to export a model to C or C++ code |
Including code from Simulink (new, from Matlab 2015a) | Many computer-aided control engineering packages have an option to export a model to C or C++ code |
DUECA code generator | The C++ objects that are sent over event or stream channels need to obey certain rules so that they can be packed and unpacked |
Additional utilities | As simulations are developed with DUECA and DUSIME, additional tools for simulations will be developed, and once these tools are made re-usable, they will be included in the DUECA distribution |
Code generated by the code generator | Here is, as an example the header file for the PrimaryControls object, as it is generated by the code generator for DUECA: |
Frequently Asked Questions (and Encountered Problems) | Assorted questions |
Configuring DUECA from Python or Scheme | Much of the flexibility of DUECA stems from the fact that it has an interface to a script language, Python in this case, and that a simulation can be specified in a script |
Creating experiment interfaces with GTK and glade. | For many experiments and simulations, it would be nice if the experiment controller (usually you) can operate the simulation with a graphical interface |
Default modules | Some of the functionality of the DUECA/DUSIME software is provided by default modules |
Tuning Linux Workstations | |
Mac OS X as development station | Running DUECA on Mac OSX |
Transition to DUECA 2 and beyond | DUECA revamped – changes in channel code |
DUECA Interconnector | If you want to extend your simulation to multiple entities running on multiple simulators, it sometimes does not make sense to put that all in one dueca process |
DUECA HDF5 logging facilities | For logging, a generic module to log channel data to HDF5 files is available |
DCO service functors | For creating generic interaction with channels, a functor mechanism is available |
Open bugs | |
Configuration files (Python version) | This version is to be completed |
Python script extensions | Since March 2018, DUECA has been extended with the option to use Python as a scripting language for defining this DUECA set-up (dueca_cnf.py) and the DUECA simulation or model (dueca_mod.py) |
Run log file analysis | A DUECA run provides a number of log and information files |
JSON representation of DCO objects | JSON is a commonly used data communication format |
Plotting with WebSocket connection | Since 2020, DUECA has a module for WebSocket connections, dueca::websock::WebSocketsServer |
DUECA time, triggering and scheduling | This page provides a more in-depth and integral overview of the concept of time in DUECA |
Net interaction with WebSockets | How to use websockets for communication with external programs |
Log message generation and control | An overview of the facilities for creating log messages |
List of DUECA's log messages | This page provides a list of log messages, extracted from DUECA's source code |
Typical DUECA installation on Ubuntu | The simulation facilities operated by Control&Simulation at the Delft University of Technology, such as the SIMONA Research Simulation (SRS) and the Human Machine Interaction Laboratory (HMILab), currently use Ubuntu Linux distributions |
Hints on CMake use | |
XML representation of DCO objects | |
Coding policies support and enforcement | |
Application Development with CMake, git and dueca-gproject | |
Repository set-up at Control & Simulation | |
Some hints for using git with dueca-gproject | |
A simple simulation | |
Todo List | |
Deprecated List | |