index

Here, you can find some general explanations and hints that did not fit anywhere else.
 

Topics:

How to start working with SimUTC
Choosing the target environment
Simulation Types
Compiler Macros
Page Layout
Access Icons
Resources In Use
 
 

How to start working with SimUTC

SimUTC consists of lots of small files, each of which probably contains not more than one class. That makes it very hard at first to overlook the whole project. However, as you become more proficient and know where you can find what you seek, you will see that it is easier to trace down errors and to test and maintain the project. The drawback is that there is no obvious modularization (p.e., several files have to do with error handling, there is not one general file where one can find everything) and that it is hard at first to find the file you need.

For starters, only try to change things that are described in the manual. Do not try to understand all at once. Start by adding your own synchronization algorithm or your own network. Take a look at the manual pages (Online Manual) describing the base classes you need. Every class description contains lots of links to other classes that are needed. Try not to get lost in details, just look at the things you really need. The advantage of having many files is that you will never have to look at most of them. They just do work for you, but they are all tested and can be assumed to work correctly, so you need not bother with them at all.
 

Choosing the target environment

The project SimUTC was originally developed as a full simulation which is executed on a Linux PC. However, it was intended to be easily portable to a certain target hardware where some components like the network and the clock are available and need not be simulated. The operating system on this target is pSOS. Since there are always some operating system specific details to consider, it was not possible to fully and transparently simulate the pSOS environment in Linux. Therefore, you have to choose the operating system by defining exactly one of the following constants:

The definition should be passed to the compiler, probably with an option like -D. For example, the GNU compiler used in Linux would require the option -DLINUX_SIM.
 

Simulation Types


Compiler Macros

These are all macros that influence the behaviour of SimUTC. You should define them with the -D compiler option and recompile the whole project.


Page Layout

All pages of the Online Manual have the following structure:


Access Icons

Coloured icons are used to mark the access type of types, functions or variables:

marks global items, which may be accessed by everyone.

marks local items, which cannot be used outside the scope of the implementation file in which they are defined.

marks public class members, which can be used by everyone through an object of the class.

marks protected class members, which cannot be used outside the scope of their class or derived classes.

marks private class members, which cannot be used outside the scope of their class.

Static functions of a class are marked like normal class member functions, but have the keyword static in their function prototype.
 

Resources In Use

The paragraph lists the UTCSU resources, namely the duty timers, that are already in use. If you plan to enhance SimUTC and want to use duty timers, you have to restrict yourself to those that are not on the following list. Please note that the UTCSU itself needs some duty timers as well, so you should not use these either (refer to the UTCSU documentation for a list of all internally used timers).

Do not use any of these timers, even if you know that they are not needed (p.e., if you have disabled drift wobbling). The timers are always initialized by the modules and are affected by resets. They may be accessed (most likely turned off) during normal operation even if they are not used.
 
last modified: Fri Feb 5 18:56:18 1999