TRUE brochure

TRUE : Temporal Reasoning Universal Elaboration

TRUE, a System dynamics software proposed by True-World Strasbourg - France,
is a tool for modeling, simulating, analyzing and optimizing multidomain dynamics systems such as :

  • tracing of financial flows
  • operation and strategic research, decision-making
  • conflict management dependent on scarce resources
  • risk management dependent on Earth resources
  • Macro-economics, Micro-economics, Econometrics, Econophysics, systemic
  • Mathematics, traditional Physics, Numerical Analysis, statistical
  • Relative Mechanic, social mathematics
  • Medicine

Principle of this software :

  • transparent and implied mathematical modelling
  • coupled nonlinear differential equations of order n
  • system dynamics modelling in discrete and continuous time (Euler)
  • dynamic optimization using retro-calculation functions:
  • wysiwyg graphic interface and 3D modeller: Multibody Dynamics Simulation, Multibody system,
    Procedural animation


History

Patrick Houel, french System Dynamics Software Engineer,
is the founder of True-World, and the copyright owner of the software TRUE.


Technical data

Installation and hardware requirements

  • windows 98/NT/2000/XP
  • Vista (speech synthesis only in English)
  • Windows7 (speech synthesis after installing Microsoft MSAgentWin7 and MSAgent)

Database

Database name : hyperfile from Windev

  • the global database contains 38 files, shared dictionary and trash included
  • each model contains 35 files

Integration approach

  • Stock and flow
  • mirror stock and mirror flow : to verify the integrity of the model (sum of stocks = k)
  • discrete mode : independent multiple time scales defined by six temporal parameters
  • simulation in both discrete and continuous mode
  • type of value per flow : constant, procedure, array, scatter
  • circularity : one or more independent equations per flow, executed according their chronologies
  • multiple and transparent stock updating, per unit of time, according chronologies of the equations

Structure

  • frames, multi-view, groups

External input output

  • can read text and Excel files
  • can export data to text, xml, doc and xls files
  • native access possible with following databases: AS/400, DB2, Informix, MySQL, Oracle, SQL Server,...

Mathematical analysis

  • Sensitivity analysis
  • dynamic optimization: nested dynamic back-calculation
    • algorithm for intelligent backtracking :
      BT Backtrack, loop back, dynamic backtracking, Dynamic programming
  • combined vectorization up to twenty vectors (also called arrays)
  • inertia and memory of the model: delay

Programming language in flow equations

  • English and French W-language from Windev by PcSoft:
  • This language allows to dialog with other software, database, etc. :
    • Automation, Com, Dcom, Rpc, DotNet, Http, Socket, Ftp, J2eee, Soap, Ole, ...
  • dynamic compilation
  • Syntax highlighting editor

3D and 4D rendering, procedural animation

  • OpenGL 3D modeler to create 3D rendering or 4D/nD animated
    by values returned by the model after calculus
  • Geometric primitives: bone, cube, box, cone, torus, cylinder, disk, map2d, particles, waves,...
  • texturing, blending, ...

GUI

  • magnetic grid, values calibration
  • multi-view, overview, navigation in the model
  • rename, delete, undelete, copy and paste with preservation of integrity

Simulation display

  • time scale and cycle scale including ReStartAt periods
  • buttons : start, pause, stop, loop, speed, previous, next time and cycle
  • spins : current time, cycle, ReStartAt, period for graphs and export data

Restitution in the model after calculus

  • dynamic stock and flow values, stock and flow shadows
  • dynamic stock and flow causalities, stock and flow shadows causalities
  • graphs with dynamic cursor (overlay)
  • dynamic messages
  • dynamic speech synthesis in English or French with animated characters ( if MsAgent installed on Vista and windows 7)
  • dynamic 3D/4D/nd objects (overlay)
  • images (overlay)


Application workspace and symbols

TRUE environment

TRUE notation


TRUE version and features

TRUE has one free trial version, available in French, and English.

Explanations

Temporality

In a model, if the time unit is the month, it is possible to calculate it for a final time = 36, i.e. 3 years.
Define the temporality is define the basic cycle.
In this example, the basic cycle can be one year containing 12 months, i.e. 12 base units.
The model will then be calculated for the number of cycles required.

Time scales

All the equations are not necessarily executed at each unit of time,
some may be executed according to their own cycles,
so the model can operate simultaneously with different time scales.

Each equation (constant, procedure, array or scatter) in a flow,
has its own temporal parameters, which specify exactly when it will be executed.

  • Temporal parameters: chronology, start, interval, repeat, type of cycle
    (default, float default, float filtered), filtered cycles
Chronology

When equations are executed at the same time,
the chronology parameter specifies the execution order, in the unit of time.

Flow and virtual flow

Flows and virtual flows contain several equations (also called actions),
executed according their temporal parameters.

  • A flow links two stocks : the source stock and the target stock ;
    the value calculated by each equation updates these stocks :
    source stock -= value, target stock += value, according its chronology, in discrete mode.
  • A virtual flow doesn't link stocks, it doesn't update stocks.
Stock and mirror stock
  • A stock can be updated several times in the current unit of time,
    according to the temporal parameters of the equations contained in the flows that links it to the other stocks.
  • A mirror stock is updated only one time, at the end of the current unit of time ;
    its value is the sum of the stocks linked to it, via mirror flows.
    If a mirror stock is linked to all the stocks of the model,
    its value will remain constant, according to the principle of conservation.
Causal link (also called dependency link)

A causal link indicates that an equation in a flow depends
on the current or the past value of one stock or another flow.
Causal links are dynamic, according the values, after model calculus.

Circularity

There is circularity when two flows are dependent on each other in the same time ;
at least 3 equations with successive chronologies are required.

Vectorization

combined vectorization up to twenty vectors

Dynamic optimization

The retro-calculation function ReStartAt() can be called in each equations, after testing the variables.
When called, the calculus stop, it restarts at a previous time, until the stop time,
and this can be done as many times as it is necessary.

Jumping to the restart time increments several counters of passage, one for equation,
one for flow and one global for the model.
The stat function ReStartStat() is called to retrieve counter values, to determine how modify variables,
to obtain the expected results. When several equations call the ReStartAt() function, the loop back is nested.

Sensitivity analysis

Only one call to the function ReStartAt() is necessary, at the end of the last time of the last cycle,
to restart calculus, as many times as necessary, then with the function ReStartStat,
the variable changes according to the passage counters.

ReStartAt display

After calculus, the values and the passages created by the function ReStartAt can be selected and displayed for analysis.


See also


References