Acquire
Sensors, messages, media and external data become events.
r-iose · r-iosemit · r-io4UExplore stage →
r-io suitedocs
r-io connects sensors, models, detection, planning and execution to help multiple organizations understand a situation and act together.
A global view of r-io components and their interactions.

The interactive map below follows the same layout: every block opens its documentation.
Specialized applications built around a shared collaboration model.
Sensors, messages, media and external data become events.
r-iose · r-iosemit · r-io4UExplore stage →Field facts enrich the shared model and reveal deviations.
r-iota · r-ioredExplore stage →Objectives, resources and constraints produce candidate processes.
r-ioded · r-iocalExplore stage →The selected process is executed, monitored and adjusted with stakeholders.
r-iomega · r-io4UExplore stage →Summary based on the Angular modules, screens and server dependencies found in the repository.
The Flutter mobile companion connects every responder to the collaborative system — right where the action takes place.

Three simple workflows to navigate the suite.
Initialize the project, build the collaborative model, then verify its instances and relationships.
Acquire data, detect a meaningful situation, then derive a suitable process.
Evaluate strategies, monitor the selected process and coordinate field responders.
A polyglot monorepo organized around shared models and specialized services.
Angular web applications are packaged as WebJars and integrated into Java modules (r-iopiot, a Node.js video-streaming tool, ships separately). r-io4U provides the mobile experience.
Backend services cover events, sensors, detection, interpretation, governance, workflow, GIS and monitoring.
Generated models and Java, Python, C# and Dart drivers support exchanges with third-party systems.
A common graph grammar, specialized by four business domains and enriched by eleven installable extensions.
Describes what exists and what can act: territories, people, groups, roles, goods, stocks, sensors and functions.
Models what is happening or could happen, and the objectives that address an actuality, prevent a risk or enable an opportunity.
Materializes the selected response as solutions, processes, tasks, events, gateways and executable flows.
Practical reading: a deduction strategy starts from objectives and Satisfies, selects capable resources through Provides, checks their requirements with Consumes, then generates tasks and their Sequence_Flow.
Specialized interfaces share the same contracts and converge on the governance core. The standalone starts sixteen SOAP services in four waves (storage, then governance and broker, then engines and managers, finally interpretation and monitoring) before the web applications. Each component opens a detailed technical page.
Principle: the collaborative model is the shared contract. Applications are not silos; they read, enrich and observe the same graph through r-io suite services.
Two strategies turn objectives, functions, actors and constraints into collaborative processes.
Functions ranked by pertinence, actors by expertise, one sequential sub-task per objective.
The rule-driven strategy filters objectives, ranks functions and actors, assigns resources and produces candidate processes.
DroolsProcessGenerator is discovered through AbstractProcessGenerator, then exposes one variant for every profile published by the Drools registry.
An ordered pipeline ensures references exist before related behaviors are activated.
The model, knowledge space and publication options are passed to PublishDriverConnector.
The beforeAddNode hooks run, nodes are written and historized, then afterAddNode hooks are replayed.
The brokenEdges materialize relationships whose other endpoint is in another file or batch (bulk-path order; on the single-item path, reconciliation runs before the after hooks).
Once all nodes exist, edge hooks run around relationship writes.
Completes the 3D model URL, then generates and deploys CEP rules for quantitative, dedicated, media and other sensors; social sensors trigger an ML configuration.
Open detail page →FunctionCreates or maintains the satisfaction relationship between an active function and matching objectives.
Open detail page →Actuality & PotentialityCreates, clones or removes associated objectives and the Treats, Prevents, Enables and Near.
Detects 2L code carried by a relationship and registers it with the low-level manager after creation or update.
Open detail page →Generated_ByInitializes the activation condition for a relationship between potentialities and actualities without overwriting a customized condition.
Open detail page →HasPropagates potentiality structures to resources: frozen clones, Near, Impacts, Is_Susceptible_To and Generated_By.
isConcernedBy(...)→Before creationnormalize / enrich→Graph writenode or edge→After creationdeploy / link / notify→Lifecycleupdate · beforeDelete · afterDeleteBulk loading: the UNWIND optimization is reserved for the initial import of a new model. It explicitly replays interceptors, historization and brokenEdges. Single-item updates keep the standard path so notifications expected by 2L subscriptions are published.
Choose a ready-to-use distribution or build the project directly from source.
Graphviz and Windows build tools are required for some modules.
# From the repository root
mvn clean install -Dmaven.test.skip -T 1C -Dlicense.skip=trueIf Java fails on a frontend dependency, build /ts, then run the build again from /java.
The links below point directly to distribution files, with no documentation intermediary.
| Version | Channel | Source code | Distributions |
|---|---|---|---|
| 2026-01-01Latest release | Stable | Source ZIP ↓ | Linux ↓Windows ↓ |
| SnapshotContinuous development | Snapshot | Source ZIP ↓ | Linux ↓Windows ↓ |
| 2025-08-01 | Archive | Source ZIP ↓ | Linux ↓Windows ↓ |
| 2025-01-01 | Archive | Source ZIP ↓ | Linux ↓Windows ↓ |
| 2024-08-01 | Archive | Source ZIP ↓ | Linux ↓Windows ↓ |
| 2024-03-01 | Archive | Source ZIP ↓ | Linux ↓Windows ↓ |
| 2023-08-01 | Archive | Source ZIP ↓ | Linux ↓Windows ↓ |
| 2023-01-01 | Archive | Source ZIP ↓ | Linux ↓Windows ↓ |
| 2022-08-01 | Archive | Source ZIP ↓ | Linux ↓Windows ↓ |
Recommendation: prefer the stable release for a reproducible environment. The Snapshot reflects ongoing work and may change without notice.
java/Backend services, web applications and standalone distributionts/frontend/Angular workspace and r-io applicationsdart/frontend/gind_r_io4u/Flutter mobile applicationpython/backend/Python drivers, models and utilitiescsharp/backend/.NET drivers and modelsjava/usecases/Demo scenarios and domain referencesThe project README identifies four core members responsible for r-io suite management, architecture and infrastructure.

frederick.benaben@mines-albi.fr
audrey.fertier@mines-albi.fr
List synchronized with the README “Contact core members” section · IMT Mines Albi.
r-io is distributed under the GNU Affero General Public License version 3. You may use, study, modify and redistribute the software under the terms of this license.
If you modify r-io and make it available over a network, users of that version must be able to access the corresponding source code. Copyright and license notices must also be preserved when redistributing it.
Read the full license →