Platform
Four parts, all running on your own machine, and any of them can be swapped out. No cloud, no license server, nothing to call home.
What's inside
The library
A C library, native or WebAssembly, that you talk to in SQL. It does the SFAF and SFAFx parsing into SQLite with SpatiaLite and RasterLite2, NTIA ITM, WGS 84 geodesy, link budgets and area plots, intermod, look angles, UTM and MGRS, decision sheets on GRIPS, HiGHS optimization, goals, frequency assignment and PACE, and sealed sets. Built
The application
NEMESynth-EMSO itself: the globe, the Graph, Whiteboard, Time and Goals tabs, the PACE board, the exercise clock, security markings, screenshots and briefings, the EMSO script and the assistant. Built
The map server
Imagery, elevation and boundaries served locally, including Trazore's imagery and Natural Earth borders. Nothing is pulled from the internet. Built
The knowledge store
Plain pages kept under version control that hold the records, help, goals and sheets, and feed the local language model. The application rebuilds its working database from them. Built
How NEMESynth-EMSO understands the world
Everything NEMESynth-EMSO knows sits in one of three layers. Each layer builds on the one below it and never changes it.
An SFAF assignment (logical) authorizes an emission whose frequency and power are physical. Spectrum management and EW (domain understanding) group, name and draw both their own way. The same split runs through installations, facilities, units and platforms:
| Thing | Physical root | Logical root |
|---|---|---|
| Platform | how it moves: fixed wing, rotary wing, wheeled ground | the make and model, the airframe type |
| Installation | a region on the map | its owner or authority |
| Facility | what it can physically do | its fixed place in an installation |
| Unit | a person, a vehicle, an autonomous vehicle | military or civilian, make and model |
Everything you do is a command
There are 119 commands, and each one can be undone. The menus, the script box, the change log and the assistant all use the same commands. That means an exercise is just a script, a session can be replayed, and a briefing's screenshots and recordings can be regenerated when the data changes.
An assistant you stay in charge of
The assistant reads your goals and the record, drafts plans and explains them, and acts only through the same commands you use. You pick how it works. It can ask before each step, or it can act while you watch, and you can pause it, undo what it did or take over at any point. Anything that can't be undone needs its own permission, and how much the assistant may override a sheet depends on how serious the call is.
| Feature | Status |
|---|---|
| Commands with apply and undo; the assistant asks first or acts while you watch | Built |
| Conversation and memory; plans drafted and explained | Built |
| The assistant runs a whole exercise with you watching | Planned |
| A view of what the assistant is controlling and why | Planned |
| A local fine-tuned model in place of the development model | Proposed |
On the network
NEMESynth-EMSO joins a Zenoh data network as a client over mutual TLS after enrolling in a WireGuard mesh. Decisions are published once they're final, one message type per topic, each with a registered Protocol Buffers schema and its source and marking. Nothing that was rolled back ever goes out. Commands from other systems come in as queries and always get an answer. If the link drops, outgoing messages wait and are sent when it comes back, and each one is read back to make sure it arrived.
| Topic | Kind | What's on it |
|---|---|---|
| assignment | state | the assignments in force: frequency, area, time, net, marking |
| protect | state | the restricted frequency list: taboo, protected and guarded |
| pace/state | state | where each net stands and its alternates |
| pace/move | event | a PACE switch, with what triggered it, the sheet version, the row and the reason |
| anomaly | event | energy where nothing is authorized |
| health | state | whether NEMESynth-EMSO itself is healthy or degraded |
The network client is Planned; these are the first topics we've proposed.
Open systems
NEMESynth-EMSO follows a modular open systems approach: separate modules joined by published interfaces in open standards, and any module can be replaced. It's software, so it runs as a tenant on CMOSS-class computers rather than claiming conformance for cards and chassis. On a vehicle it would get position and time from the VICTORY services. It reaches the radios through the network manager that owns them.
| Interface | Standard |
|---|---|
| Spectrum records | SFAF (MCEB Pub 7), SFAFx, NTIA GMF (planned) |
| Geospatial package | OGC GeoPackage (EMSOPackage) |
| Rules | OMG DMN decision tables, cells in S-FEEL |
| Library | C API and SQL schema |
| Data network | Zenoh publish/subscribe and query/reply with Protocol Buffers schemas (planned) |
| Markings | IC ISM, CUI |
| Knowledge store | Markdown in Git, over HTTP and MCP |
Runs where you are
The same code runs on a laptop, an iPad, a browser, a vehicle computer or a headless node, sized to each platform's size, weight, power and cost. The smallest is a sensor node that does its own processing and only sends what matters.
Fit it into your systems
Tell us what you're running today and where NEMESynth-EMSO would need to plug in, and we'll walk through the interfaces with your engineers.
Get more information