Engee documentation

About Engee

What is Engee?

Engee is a Russian enterprise—level platform for the development of complex technical systems and algorithms using modern model-oriented design methodology.

about 1 en

Model-oriented design

What is model-based design (MOS)?

Model-based design (MOS) is a special technology for designing embedded systems. Such design is carried out by certain methods based on the systematic use of models that are developed, refined and effectively used at all stages of the product life cycle. The main purpose of using the MOS is to ensure that when developing the system, the mutual influence of the system components is taken into account in dynamics, the system parameters are optimally configured to perform the tasks set, tests are carried out in all possible operating modes of the product and the developer meets the budget when achieving the desired product quality within an acceptable time frame. The methodology has proven itself well in the development of various complex systems, in particular embedded control systems, digital signal processing, computer vision, radar and communications.

The system allows for the synergistic use of an ergonomic environment for engineering research in the format of interactive scripts together with a dynamic modeling environment using flowcharts and 1D modeling. This approach allows you to process and analyze engineering data, quickly prototype algorithms, and develop dynamic models and embedded software in a single integrated environment, which is much more convenient and efficient than using separate software tools for different tasks.

about new 1 en

The Engee cloud client-server architecture allows you to build a centralized data warehouse, project development management and version control, flexibly manage enterprise computing resources and quickly deploy the system to users' workplaces.

The Russian Engee platform is used to solve a wide range of tasks: from mathematics, machine learning, optimization and AI, continuing with applied engineering tasks in the field of TAU, physical modeling, digital signal processing, radio communications, radar, navigation and others in industries such as education, aviation, space, defense industry, financial industry, automotive industry, electronic industry, transport, etc.

Mathematical Computing environment

The Engee mathematical Computing environment has been developed taking into account many years of experience in performing research tasks in order to provide Russian engineers with the most convenient and intuitive environment for solving everyday tasks. The low-code paradigm and the basic principles of the organization of the environment make it possible to minimize routine and automate many processes to accelerate development.

Features of the mathematical computing environment:

  1. Multilingualism. The environment does not limit the user to one language and allows them to use the vast world heritage to solve their tasks.

    Supported languages:

    • Engee (jl)

    • Python

    • MATLAB

    • C/C++, dll/lib

  2. Dozens of pre-installed calculation libraries.

  3. Fast operation speed of the environment. Engee is based on the Julia language, which is one of the fastest, it is fundamentally faster than MATLAB and Python, and can be compared with C and Fortran.

    JULIA vs MATLAB

    Test

    MATLAB (14a)

    JULIA(0.4.0)

    gensys

    1.00

    0.17

    solve

    1.00

    0.09

    kalman_filter

    1.00

    0.75

    posterior

    1.00

    0.26

    csminwel

    1.00

    0.33

    hessian

    1.00

    0.23

    metropolis_hastings

    1.00

    0.11

    _ Source: Federal Reserve Bank of New York_

  4. Unified computing space for organizations and enterprises.

  5. Visualization and scientific graphics.

    about 6 en

  6. Convenient and ergonomic interactive calculation scripts, LaTex, MarkDown. Developed based on the experience of the world’s best engineering software development environments.

  7. The Low-code Apps paradigm for typical tasks. The environment does not require knowledge of programming languages and has great functionality for engineers and scientists.

  8. High-quality documentation and support.

    about 10 en

  9. Ready-made examples and training courses.

    about 11 en

Learn more about Julia
  • The language is aimed at mathematicians, scientists and engineers, in the code ℯ = 2.7182818284590…​

  • The syntax of the language is 99% similar to MATLAB. It’s easy to switch to it, and all the differences are carefully documented.

  • Julia is much faster than MATLAB (x5-x10-x100), it is much closer to the C language in terms of speed, the language is compiled, and has superiority in many benchmarks.

  • Safer for an engineering company.

  • Open, the developments can be saved and run outside of Engee, does not depend on the developer of the environment.

  • The language is rich in advanced solvers and computational libraries.

  • It is based on modern programming paradigms and is actively developing.

Dynamic modeling environment

The Engee modeling environment is the basis for a model-based approach to the development of complex dynamic systems. Models of algorithms and physical systems are created using 1D flowcharts familiar to algorithmic engineers, followed by computational experiments, analysis of their results, and generation of algorithm code for integration into hardware.

about 3 en

Multi-domain modeling

Engee supports the following types of simulated systems:

  • Hybrid systems: discrete and continuous.

  • Multi-speed systems: subsystems with different sampling times.

  • Directed: causal modeling for describing algorithms.

  • Custom Blocks Engee Function and C Function.

Physical modeling

Provides non-directional (1D) physics models for different fields of knowledge: electrical engineering, pneumatics, mechanics, thermal engineering, electric power engineering and others:

about 15 en

System modeling

The environment supports various types of subsystems (virtual, atomic, pluggable, triggered), loops, and conditional constructs for designing flexible architectures.

about 16 en

Designing digital systems

Engee supports vectorization for DSP and communication systems, as well as complex numbers for radars. In addition, specialized block libraries have been developed for designing digital systems.

about 19 en

Development of embedded code

Support code generation for hardware and semi-natural testing:

  • A generator of independent, readable and portable C code from ACS and DSP models for porting to embedded platforms.

  • A mathematical code generator for running on real-time operating systems as part of simulation stands.

  • Support data exchange with hardware and back.

about 20 en

Engee is the only platform that supports a full cycle of model-based design methodology.