Petr R. Ivankov,
Nicolay P. Ivankov.
Engineering and research in common are boundless areas and development those universal software seems hopeless. However if we
develop robust architecture and provide ability to extend soft, including user
interface then the problem is realizable. Authors of this paper realized
software that can to solve following tasks.
1)
Physical
optics.
2)
Boundary
elements method.
3)
Simulation
of transmitting/receiving antennas with arbitrary complex vector polarization
directional diagrams.
4)
6D
dynamics of rigid body.
5)
Transformation
of 3D shapes.
6)
Bar
centric split of figures.
7)
Simulation
of electric circuits
8)
Space
navigation
9)
Navigation
by video images
10) Electric circuits parameters identification
11) Interaction with external devices
12) Nonlinear regression
13) 3D Visualization.
These tasks do not
exist separately. They can interoperate.
The software had been appeared as development of devoted to category
theory [1] program. Now foundations of mathematics are based on this theory.
Recently the category theory found applications for computer science [2]. Basic
notions of the category theory are object and arrow. In this software objects
are aircrafts, antennas, ordinary differential equation systems, recursive
elements, video cameras etc. Arrows are geometric links, information links,
links between antennas and electric circuits. In the program each type of
object implements a number of interfaces. For example aircraft implements
following interfaces: target of electromagnetic radiation, source of
electromagnetic radiation, object with geometric motion, object
of 3D visualization. A video camera implements interfaces: object with
geometric motion, source of information for navigation by video images.
Another important feature is formula editor. This can operate with real,
Boolean, vector parameters etc. This editor is used even for Galois fields.
Fig 1. Formula editor
The editor is used for motion equation, reflective properties of
material, directional diagrams etc. If
your browser supports Java applets you can try this editor on www.orc.ru/~ipro .
Software contains a set of dispatchers. Each dispatcher is responsible
for definite kind of physical processes : kinematical,
electromagnetic, informational. Now we consider a few samples of this software.
This sample is
represented in fig 2.
Fig
2. Radiation
Big squares are
objects and little ones are arrows. We have kinematics arrow which links radar
and aircraft, radar, receiver, processor of received data, rigid geometric link
between receiver antenna and radar. This picture shows typical situations in
radar.
Formula editor permits
to specify anisotropy absorption layer properties. The fig 3 illustrate
effective current densities of sphere with 3 types of absorption layer
Fig 3. Absorption layers.
The red color corresponds to maximal current density and purple color to
minimal one.
The logics
of this sample is shown in fig 4.
Fig
4. Identification
of transient parameters.
It contains a general
linear method component, graph indicator and some auxiliary components.
The result of
identification is shown on fig. 5.
a)
á).
Fig
5. Aperiodic link transient
(Red – real transient, blue – identification result)
a)
large
scale
b)
zoom.
To show the
universality and robustness of this approach we show exotic sample of
its application to modern math.
Now the following list
of functionality is realized.
1)
Checking
of diagrams commutative.
2)
Calculation
of functors.
3)
Definitions
of unknown morphisms in diagrams
4)
Calculations
of Im, Ker, Coker in abelian categories.
5)
Homology
and cohomology calculations.
6)
Direct and
inverse finite limits calculation.
Realized
modules over Euclidean domain. Finite fields. Following functors
HomA(M, -), HomA(-, M), HomF(V,
-), HomF(-, V), - ÄA M , *AM, Ext(M,-), Ext(-,M);
- ÄZF
1. Carl Faith. Algebra : Rings, Modules and Categories. Springer
– Verlag, Berlin – Heidelberg – New York
1973.
2) Steve Easterbrook An introduction to category theory for software engineers. Tutorial
given at ASE'98 (Oct 1998). http://www.cs.toronto.edu/~sme/presentations/cat101.pdf