{"id":28801397,"url":"https://github.com/vertexclique/crdtosphere","last_synced_at":"2026-05-15T12:04:33.092Z","repository":{"id":297487376,"uuid":"996965949","full_name":"vertexclique/crdtosphere","owner":"vertexclique","description":"Universal embedded CRDTs for distributed coordination across automotive, robotics, IoT, and industrial applications","archived":false,"fork":false,"pushed_at":"2025-06-05T18:35:38.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-05T18:51:58.416Z","etag":null,"topics":["automotive","crdt","distributed","embedded-systems","industrial","iot","nostd","robotics","rust-lang"],"latest_commit_sha":null,"homepage":"https://vertexclique.com/crdtosphere","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vertexclique.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-05T18:29:45.000Z","updated_at":"2025-06-05T18:43:35.000Z","dependencies_parsed_at":"2025-06-05T18:52:05.169Z","dependency_job_id":"314ad8fd-f490-4529-8c14-c658803f3f73","html_url":"https://github.com/vertexclique/crdtosphere","commit_stats":null,"previous_names":["vertexclique/crdtosphere"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/vertexclique/crdtosphere","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vertexclique%2Fcrdtosphere","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vertexclique%2Fcrdtosphere/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vertexclique%2Fcrdtosphere/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vertexclique%2Fcrdtosphere/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vertexclique","download_url":"https://codeload.github.com/vertexclique/crdtosphere/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vertexclique%2Fcrdtosphere/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260507132,"owners_count":23019464,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automotive","crdt","distributed","embedded-systems","industrial","iot","nostd","robotics","rust-lang"],"created_at":"2025-06-18T07:09:28.409Z","updated_at":"2026-05-15T12:04:28.049Z","avatar_url":"https://github.com/vertexclique.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\u003cimg src=\"art/crdtosphere_logo_banner.png\"/\u003e\u003c/h1\u003e\n\u003c!-- \u003ch1 align=\"center\"\u003eCRDTosphere\u003c/h1\u003e --\u003e\n\u003cdiv align=\"center\"\u003e\n \u003cstrong\u003e\n   CRDTosphere: Universal Embedded CRDTs for Distributed Coordination\n \u003c/strong\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003c!-- Crates version --\u003e\n  \u003ca href=\"https://crates.io/crates/crdtosphere\"\u003e\n    \u003cimg src=\"https://img.shields.io/crates/v/crdtosphere.svg?style=flat-square\"\n    alt=\"Crates.io version\" /\u003e\n  \u003c/a\u003e\n  \u003c!-- Downloads --\u003e\n  \u003ca href=\"https://crates.io/crates/crdtosphere\"\u003e\n    \u003cimg src=\"https://img.shields.io/crates/d/crdtosphere.svg?style=flat-square\"\n      alt=\"Download\" /\u003e\n  \u003c/a\u003e\n  \u003c!-- docs.rs docs --\u003e\n  \u003ca href=\"https://docs.rs/crdtosphere\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/docs-latest-blue.svg?style=flat-square\"\n      alt=\"docs.rs docs\" /\u003e\n  \u003c/a\u003e\n  \u003c!-- Build status --\u003e\n  \u003ca href=\"https://github.com/vertexclique/crdtosphere/actions\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/vertexclique/crdtosphere/ci.yml?style=flat-square\"\n      alt=\"Build Status\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ch3\u003e\n    \u003ca href=\"https://docs.rs/crdtosphere\"\u003e\n      API Docs\n    \u003c/a\u003e\n    \u003cspan\u003e | \u003c/span\u003e\n    \u003ca href=\"examples/\"\u003e\n      Examples\n    \u003c/a\u003e\n    \u003cspan\u003e | \u003c/span\u003e\n    \u003ca href=\"CONTRIBUTING.md\"\u003e\n      Contributing\n    \u003c/a\u003e\n    \u003cspan\u003e | \u003c/span\u003e\n    \u003ca href=\"https://github.com/vertexclique/crdtosphere/discussions\"\u003e\n      Discussions\n    \u003c/a\u003e\n  \u003c/h3\u003e\n\u003c/div\u003e\n\nCRDTosphere is a comprehensive `no_std` Rust library implementing Conflict-free Replicated Data Types (CRDTs) optimized for embedded systems. It provides ultra-efficient, configurable CRDT implementations for automotive, robotics, IoT, and industrial applications across multiple platforms.\n\n## IMPORTANT SAFETY DISCLAIMER\n\n**This library is intended for NON-SAFETY-CRITICAL applications only.** While CRDTosphere includes safety-oriented features and compliance support frameworks, it should NOT be used for safety-critical functions such as:\n\n- Primary vehicle control systems (steering, braking, acceleration)\n- Life-support or medical devices\n- Flight control systems\n- Nuclear reactor control\n- Emergency shutdown systems\n\n**Recommended Use Cases:**\n- Infotainment systems\n- Telematics and connectivity features\n- Non-critical sensor data aggregation\n- Configuration management\n- Diagnostic and monitoring systems\n- User preference synchronization\n\nThe automotive examples in this library are for educational and demonstration purposes only. Any production automotive use should be limited to non-safety-critical domains such as infotainment, user preferences, and diagnostic data collection.\n\n## Features\n\n- **Universal Platform Support** - AURIX, STM32, ARM Cortex-M, RISC-V\n- **Configurable Memory** - 2KB to 1MB+ budgets with compile-time verification\n- **Multi-Domain Ready** - Automotive, robotics, IoT, industrial applications\n- **Safety Critical** - ISO 26262, IEC 61508, DO-178C compliance support\n- **Ultra-Efficient** - 5-100 byte CRDT instances with hardware optimizations\n- **No Dynamic Allocation** - Pure static allocation for deterministic behavior\n- **Real-Time Guarantees** - Bounded execution time (\u003c1000 CPU cycles)\n\n## Quick Start\n\nAdd CRDTosphere to your `Cargo.toml`:\n\n```toml\n[dependencies]\ncrdtosphere = { version = \"0.1\", default-features = false }\n\n# Enable platform-specific optimizations\n[features]\nstm32 = [\"crdtosphere/stm32\"]\n# OR\naurix = [\"crdtosphere/aurix\"]\n```\n\nConfigure memory for your platform:\n\n```rust\n#![no_std]\nuse crdtosphere::prelude::*;\n\n// Define memory configuration for your platform\ndefine_memory_config! {\n    name: MyPlatformConfig,\n    total_memory: 32 * 1024,  // 32KB budget\n    max_registers: 100,\n    max_counters: 50,\n    max_sets: 20,\n    max_maps: 10,\n    max_nodes: 32,\n}\n\n// Use configurable CRDTs\nlet mut sensor_reading = LWWRegister::\u003ci16, MyPlatformConfig\u003e::new();\nsensor_reading.set(42, clock.now());\n\n// Automatic conflict resolution\nsensor_reading.merge(\u0026other_node_reading)?;\n```\n\n## Platform Support\n\n| Platform | Architecture | Memory | Use Cases |\n|----------|-------------|---------|-----------|\n| **AURIX TC3xx/TC4xx** | TriCore/ARM Cortex-R52 | 240KB-1MB | Automotive ECUs, safety systems |\n| **STM32 Series** | ARM Cortex-M0/M3/M4/M7 | 4KB-2MB | General embedded, IoT, robotics |\n| **ARM Cortex-M** | M0/M0+/M3/M4/M7 | 2KB-1MB+ | IoT devices, sensor networks |\n| **RISC-V** | RV32I/M/A/C | 32KB-8MB+ | Edge computing, custom applications |\n\n## Domain Applications\n\n### Automotive\n```rust\n// Multi-ECU sensor fusion with ISO 26262 compliance\nlet mut temp_fusion = AutomotiveSensorFusion::\u003ci16, AutomotiveConfig\u003e::new();\ntemp_fusion.add_reading(85, ecu_1_clock, SENSOR_RELIABILITY_HIGH);\ntemp_fusion.add_reading(87, ecu_2_clock, SENSOR_RELIABILITY_MEDIUM);\nlet consensus_temp = temp_fusion.consensus_value();\n```\n\n### Robotics\n```rust\n// Multi-robot task allocation\nlet mut task_allocation = RobotTaskAllocation::\u003cRoboticsConfig\u003e::new();\ntask_allocation.assign_task(task_id, robot_id, clock.now());\n```\n\n### IoT\n```rust\n// Device mesh coordination\nlet mut device_mesh = DeviceMesh::\u003cIoTConfig\u003e::new();\ndevice_mesh.add_device(device_id, capabilities, clock.now());\n```\n\n### Industrial\n```rust\n// Equipment health monitoring\nlet mut equipment_health = EquipmentHealth::\u003cIndustrialConfig\u003e::new();\nequipment_health.record_vibration(machine_id, level, clock.now());\n```\n\n## Memory Configurations\n\nPre-configured setups for common platforms:\n\n```rust\n// High-performance automotive ECU\nuse crdtosphere::configs::AutomotiveECUConfig;  // 128KB budget\n\n// General embedded device\nuse crdtosphere::configs::STM32F4Config;        // 32KB budget\n\n// Constrained IoT sensor\nuse crdtosphere::configs::IoTSensorConfig;      // 4KB budget\n\n// Industrial controller\nuse crdtosphere::configs::IndustrialConfig;     // 256KB budget\n```\n\n## Examples\n\n- **[Automotive](examples/automotive_ecu_network/)** - ECU coordination, sensor fusion, safety systems\n- **[Robotics](examples/robotics/)** - Swarm coordination, task allocation, SLAM\n- **[IoT](examples/iot/)** - Device mesh, sensor networks, low-power coordination\n- **[Industrial](examples/industrial/)** - Production monitoring, predictive maintenance\n- **[Platforms](examples/platforms/)** - Platform-specific optimizations\n\n## CRDT Types\n\n| Type | Description | Memory | Use Case |\n|------|-------------|---------|----------|\n| **LWWRegister** | Last-writer-wins register | 5-16 bytes | Sensor readings, configuration |\n| **GCounter** | Grow-only counter | 8-32 bytes | Event counting, telemetry |\n| **ORSet** | Observed-remove set | 6-64 bytes | Feature flags, device lists |\n| **LWWMap** | Last-writer-wins map | Variable | Key-value configuration |\n\n## Safety \u0026 Compliance\n\n- **ISO 26262** (Automotive) - ASIL-A through ASIL-D support\n- **IEC 61508** (Industrial) - SIL-1 through SIL-4 support  \n- **DO-178C** (Aerospace) - DAL-A through DAL-E support\n- **Deterministic behavior** with mathematical convergence guarantees\n- **Bounded execution time** for real-time systems\n\n## License\n\nLicensed under either of\n\n- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n- MIT License ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvertexclique%2Fcrdtosphere","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvertexclique%2Fcrdtosphere","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvertexclique%2Fcrdtosphere/lists"}