Skip to content

Vector-Pi/defence-middleware

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

defence-middleware

MIL-STD-1553B to STANAG 4586 protocol translation middleware.

Proof of concept for the paper:

Om Arora, "Software-Defined Protocol Translation Middleware for MIL-STD-1553B and STANAG 4586 Interoperability: Architecture, Comparative Analysis, and Deployment Roadmap", 2026. Preprint: https://doi.org/10.5281/zenodo.19363710


What this is

Legacy military aircraft (HAL Tejas, Dhruv ALH, Jaguar DARIN-III) use MIL-STD-1553B avionics data buses. Modern UAVs (DRDO Rustom-2, Tapas BH-201) use STANAG 4586 over UDP/IP. These two protocol families cannot communicate natively. No indigenous software bridge exists between them.

This repository implements a software-defined translation layer with five components: an Address Registry, a MIL-STD-1553B adapter, a STANAG 4586 adapter, a Common Internal Representation (CIR), and a Translation Engine with per-field audit logging.

The architecture reduces N*(N-1) pairwise translation paths to 2N adapter implementations. Adding Link 16 or DDS requires only a new adapter pair; the Translation Engine and CIR are unchanged.


What this is not

This is a simulation-based proof of concept, not a production system.

  • The 1553 bus is emulated in software. Real deployment requires a hardware interface card (DDC BU-67301 or equivalent) with kernel-driver timing.
  • The 4-12 us RT response window and 14 us no-response timeout are preserved as ratios but compressed by a factor of 1000x so asyncio can schedule them.
  • The STANAG transport uses real UDP sockets on localhost. Operational network conditions (packet loss, congestion, latency) are not tested.
  • Three STANAG message types are implemented: VEHICLE_POSITION_REPORT (101), SUBSYSTEM_STATUS_ALERT (1100), VSM_HEARTBEAT (1999).
  • The security architecture described in the paper is not implemented here.

These limitations are documented explicitly in Section IV-E of the paper.


Demo output

Running python run.py produces three interleaved output streams:

[1553 BUS]   ...  | BC started  bus=A  RTs=[5, 12]  ...
[1553 BUS]   ...  | TX  tid=0001  CommandWord(RT=05, SA=1, WC=5, RT->BC)
[1553 BUS]   ...  | RX  tid=0001  StatusWord(RT=05, [OK])  data=[DataWord(0x076F), ...]
[MW-TRANS]   ...  | Pass 1 done  vehicle='TEJAS-01'  valid=True  pos=YES
[MW-TRANS]   ...  | +====...====+
[MW-TRANS]   ...  | | Translation Audit -- Pass 1 : 1553 -> CIR -- TEJAS-01
[MW-TRANS]   ...  | | [LOSSY       ]  rt_address -> vehicle_id  ...
[MW-TRANS]   ...  | | [DIRECT      ]  tr_bit -> direction       ...
[MW-TRANS]   ...  | | [LOSSY       ]  data_words[0] -> lat      ...
[MW-TRANS]   ...  | +====...====+
[STANAG]     ...  | TX #0001  to=127.0.0.1:5400  VEHICLE_POSITION_REPORT  ...
[STANAG]     ...  | RX #0001  from=('127.0.0.1', ...)  VEHICLE_POSITION_REPORT  ...

The translation audit table accounts for every field in the source message, including those classified DROP, so that no information loss is silent.

For the coloured split-window view used in the paper figure, open three terminals:

Terminal 1 (left):   python demo/bus_monitor.py
Terminal 2 (right):  python demo/vsm_receiver.py
Terminal 3 (middle): python run.py

Quick start

Python 3.11 or later. No external dependencies.

git clone https://github.com/omarora/defence-middleware
cd defence-middleware
python run.py

Or install as an editable package:

pip install -e .
python run.py

Repository structure

defence-middleware/
├── run.py                         entry point
├── LICENSE                        Research and Evaluation License
├── CITATION.cff                   machine-readable citation
├── pyproject.toml
├── README.md
├── SECURITY.md
├── protocols/
│   ├── mil_std_1553.py            BusController, RemoteTerminal, dataclasses
│   └── stanag_4586.py             CUCS, VSM, STANAGMessage
├── middleware/
│   ├── address_registry.py        RT address <-> vehicle_id mapping
│   ├── cir.py                     CIR dataclass and TranslationResult
│   └── translator.py              two-pass translation engine
└── demo/
    ├── demo.py                    single-window scenario
    ├── run_demo.py                coloured split-window scenario (middle terminal)
    ├── bus_monitor.py             1553 bus traffic display (left terminal)
    └── vsm_receiver.py            STANAG message display (right terminal)

Gap analysis summary

The paper identifies 49 field-level incompatibilities between MIL-STD-1553B and STANAG 4586 grouped into 15 architectural gap identifiers. The distribution across the six-category taxonomy:

Classification Count Meaning
DIRECT 2 One-to-one mapping, no information loss
LOSSY 15 Best-effort, documented precision reduction
APPROXIMATE 6 Semantic approximation, intent preserved
STUB 15 Conformant default injected, no source data
DROP 4 Hardware-consumed field, no target equivalent
UNTRANSLATABLE 7 Paradigm conflict, domain boundary isolated

The seven UNTRANSLATABLE gaps (G-005, G-006, G-007, G-009, G-010, G-013, and the transport model mismatch) each impose a structural constraint on the middleware architecture. They are not failures -- they are the correct engineering response to irresolvable paradigm differences.


Citing this work

If you use this software or the methods in the paper, please cite:

@misc{arora2026middleware,
  author       = {Arora, Om},
  title        = {Software-Defined Protocol Translation Middleware for MIL-STD-1553B and STANAG 4586 Interoperability: Architecture, Comparative Analysis, and Deployment Roadmap},
  year         = {2026},
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.19363710},
  url          = {https://doi.org/10.5281/zenodo.19363710}
}

License

Research and Evaluation License. See LICENSE.

Non-commercial research and personal educational use is permitted with attribution. Commercial use, government deployment, and operational integration require a separate written licence.

Contact: om@omarora.in | omarora.in

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages