SimSoup has a modularised design. The System Diagram (in the System Overview section) shows the overall structure of SimSoup, including the way the modules fit into the layered architecture.
SimSoup is implemented in C++, and makes much use of the language's object-oriented features. Each module consists of a number of classes, with each class typically managing a particular category of data and providing associated functionality.
the SimSoup design approach is based on UML. This design methodology is well suited for object oriented systems. UML class diagrams show the following kinds of relationships between classes:
SimSoup class diagrams are in two categories:
The classes shown on each diagram type are the same, but they are seen from different points of view.
The Diagram Notation page details the categories of information shown on each type of diagram, gives more information on the meanings of the relationships, and shows the notation used in each case. Other pages in this section show the module diagrams, along with explanatory text.