MCPcopy Index your code
hub / github.com/eva-ics/eva4

github.com/eva-ics/eva4 @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
3,503 symbols 11,187 edges 280 files 389 documented · 11%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

EVA ICS v4

EVA ICS® v4 is a new-generation Industrial-IoT platform for Industry-4.0 automated control systems.

  • The world-first and only Enterprise automation platform, written completely in Rust: extremely fast, secure and stable.

  • Allows to handle millions of objects on a single node.

  • Provides the real control of objects: actions and various automation scenarios can be executed, both locally and remotely.

  • The new v4 micro-core architecture is completely scalable and allows to build complex setups for any industrial needs: factories, power plants, military sector etc.

  • Built-in API and servers for web SCADA applications.

  • Real-time event replication and interaction between cluster nodes and web HMI applications.

Installation

Read https://info.bma.ai/en/actual/eva4/install.html

Technical documentation

https://info.bma.ai/en/actual/eva4/

Building from source

Docker cross-compilation (recommended)

cargo install cross --git https://github.com/cross-rs/cross
  • Prepare cross-build docker images

(Assumes you have Docker or compatible installed and running):

make docker-cross
  • Build EVA ICS v4:
# for x86_64
cross build --target x86_64-unknown-linux-gnu --release
# for aarch64
cross build --target aarch64-unknown-linux-gnu --release

Local build

If building on the local machine, the following libraries must be manually downloaded, installed and/or compiled:

  • Certain required dependencies
apt-get -y install \
    libssl-dev libbsd-dev pkg-config build-essential cmake git autoconf \
    libtool libsnmp-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

The following services are not open-sourced (the source can be provided for mission-critical projects under an additional agreement):

  • eva-aaa-msad - Active Directory authentication service

  • eva-zfrepl Zero-failure replication service

  • eva-kioskman HMI Kiosk manager service

  • eva-aaa-accounting Event accounting and audit

  • eva-videosrv Video recording server

Troubleshooting

  • For any OpenSSL build errors, use -F openssl-vendored to build with the vendored OpenSSL (note: this disables FIPS).

About the authors

Bohemia Automation / Altertech is a group of companies with 20+ years of experience in the enterprise automation and industrial IoT. Our setups include power plants, factories and urban infrastructure. Largest of them have 1M+ sensors and controlled devices and the bar raises higher and higher every day.

AI coding policy

See AICODE.md.

Extension points exported contracts — how you extend this code

RpcHandlers (Interface)
(no doc) [46 implementers]
psrpc/src/lib.rs
GeneratorSource (Interface)
(no doc) [6 implementers]
svc/generator/src/generators/mod.rs
ModbusClient (Interface)
(no doc) [4 implementers]
svc/controller-modbus/src/client.rs
Server (Interface)
(no doc) [3 implementers]
svc/svc-modbus-slave/src/main.rs
IsUrl (Interface)
(no doc) [2 implementers]
tools/eva-cloud-manager/src/safe_http.rs
Storage (Interface)
(no doc) [2 implementers]
eva/src/inventory_db.rs
CodeGen (Interface)
(no doc) [2 implementers]
dobj-codegen/src/lib.rs
ParseAmsNetId (Interface)
(no doc) [1 implementers]
svc/controller-ads/src/adsbr.rs

Core symbols most depended-on inside this repo

new
called by 1371
tools/eva-lsl/src/main.rs
clone
called by 479
svc/gst-pipeline/src/main.rs
lock
called by 395
tracing-async-mutex/src/lib.rs
is_empty
called by 390
eva/src/items.rs
get
called by 340
svc/aaa-localauth/src/main.rs
unpack
called by 305
bindings/js/src/tools.ts
insert
called by 245
svc/controller-system/src/tools.rs
map
called by 221
svc/controller-ads/src/common.rs

Shape

Method 1,496
Function 1,081
Class 767
Enum 126
Interface 33

Languages

Rust74%
Python19%
TypeScript4%
C++3%

Modules by API surface

eva-shell/eva4_shell/cli.py184 symbols
svc/hmi/src/api.rs113 symbols
bindings/python/eva-ics-sdk/evaics/sdk/__init__.py113 symbols
eva/src/core.rs106 symbols
eva/src/items.rs96 symbols
bindings/cpp/sdk/eva4-ffi-sdk.hpp96 symbols
bindings/python/eva-ics-sdk/evaics/deploy/__init__.py77 symbols
svc/controller-ads/src/adsbr.rs65 symbols
svc/hmi/src/handler.rs55 symbols
svc/hmi/src/aaa.rs53 symbols
svc/aaa-localauth/src/main.rs47 symbols
svc/filemgr/src/main.rs42 symbols

Datastores touched

DBDatabase · 1 repos

For agents

$ claude mcp add eva4 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact