| ►Application Development with CMake, git and dueca-gproject | |
| ►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 | |
| ►Repository set-up at Control & Simulation | |
| ►Some hints for using git with dueca-gproject | |
| ►A simple simulation | |
| ►More Simple Simulation | |
| ►Editor support for VSCode / Codium | |
| Todo List | |
| Deprecated List | |