#### Welcome to MVSTUDIUM Group site!

Our research group develops software tools of
mathematical modeling, in close collaboration with
scientists from Distributed Computing and Networking
Department of the Saint-Petersburg State Polytechnic
University Technical Cybernetics School.

*Rand Model Designer* (which is a newer version
of academic product MvStudium) is a simulation
modeling tool that allows the user to create and
experiment with models of complex dynamic systems.

*Brief summary of RMD:*

*RMD* is a high-performance
environment for the development of
component models of complex dynamical
systems. *RMD* uses an intuitive,
object-oriented high-level modeling
language, based on the object paradigm
of UML, allowing quick and efficient
creation of complex models. *RMD*
allows to develop continuous, discrete
and hybrid (continuous-discrete) models
and conduct the interactive
computational experiments with them.

Main areas of application of *RMD*
are:

conducting scientific computational
experiments;

designing the technical systems;

carrying out a strategic audit and risk
analysis;

modeling of economic systems;

education;

development of mathematical models of
physical systems and processes with the
subsequent embedding them into external
software applications;

creating computer simulators.

*RMD* allows quick developing
the continuous, discrete and hybrid
(continuous-discrete) models. Input
language makes no demands for knowledge
in programming: it uses an intuitive
common form to describe mathematical
dependences and visual diagrams to
describe the structure and qualitative
changes in the behavior of the simulated
system.

Continuous behavior of
systems is described by
differential-algebraic equations of the
first and second order (scalar or
matrix) in any form (including
unresolved with respect to derivatives).
Equations are specified in a natural
mathematical representation (as in
MathCad). To describe the discrete and
hybrid behavior *RMD* uses visual
behavior charts, which are an extension
of UML state diagrams. Discrete actions
are specified by means of simple
algorithmic language, that uses
well-known basic elements of traditional
algorithmic languages.

The program
code of executable model is
automatically generated based on a
mathematical model and then compiled,
which leads to high performance in
conducting computational experiments.
The automatic building of the aggregate
system of equations takes into account
its structure, reduces the dimension and
part of the equations is solved
symbolically, which together with
applying the special numerical methods
makes it possible to work with large
systems of equations (thousands of
differential-algebraic equations)
including in real-time.*RMD*
provides powerful tools for debugging
and demonstrating the results of
experiments, two-dimensional and
three-dimensional animation. The typical
computational experiments are supported
(receiving parametric dependencies,
calculating the probability of an event,
calculation of the value expectation of
the variable, a global sensitivity
analysis). Input language supports the
possibility of an "internal"
computational experiment during the
functioning of the model.

Visual
model can be used independently of the
development environment and be utilized
by the external application using a
special API.

Existing competitors:
MATLAB+Simulink+StateFlow+ToolBoxes,
Dymola, OpenModelica, MathModelica,
Ptolemy, AnyLogic.*RMD* is the
only universal tool to create all kinds
of models of dynamic systems:

one-component continuous models;

one-component discrete event models;

one-component hybrid models;

multi-component models with continuous,
discrete or hybrid components and
oriented links («block models»);

multi-component model with continuous,
discrete and hybrid components and
undirected links («physical models»);

multi-component model with variable set
of components and variable structure of
links.

*RMD* embodies an attempt to
combine the strengths of the UML and
Modelica approach: maintain a "physical
modeling" as proposed in the Modelica
language and at the same time use object
paradigm and the state machine of UML.
«Payback» for this decision was the need
to perform a part of the analysis of the
aggregate system of equations at the
runtime for each switching. But it
turned out that this analysis can be
performed with algorithms of «linear
complexity» and industrial models
created by *RMD* build of
components with undirected connections
work successfully in real time.

Please see *Rand Model Designer*
presentation here.