Releases: mercethem/DDS
Version 1.0.0 Beta Release
DDS Project v1.0.0 Beta - Release Notes
Welcome to DDS Project Beta Release!
This document provides installation and usage instructions for the DDS Project v1.0.0 Beta AppImage release.
What's Included
The DDS-v1.0.0_beta-x86_64.AppImage is a completely self-contained application package that includes:
- ✅ All project files (IDL definitions, scripts, scenarios, monitoring, demo)
- ✅ Automated setup scripts (system dependencies, Fast-DDS, monitoring build)
- ✅ Complete DDS infrastructure (publishers, subscribers, monitoring system)
- ✅ Web-based demo dashboard (real-time visualization)
- ✅ Security certificates (PKI-DH authentication, AES-GCM-GMAC encryption)
- ✅ Multi-domain support (isolated DDS domains for different topics)
Quick Start Guide
Step 1: Install FUSE2 (Required)
FUSE2 is required for AppImage execution. The AppImage will attempt to install it automatically, but if it fails, install it manually:
sudo apt-get update
sudo apt-get install -y libfuse2Why FUSE2?
- AppImage uses FUSE (Filesystem in Userspace) to mount and execute the application
- FUSE2 (
libfuse2) is the standard library for AppImage execution on Linux - Modern Linux distributions usually have FUSE2 pre-installed, but some may require manual installation
Verification:
# Check if FUSE2 is installed
ldconfig -p | grep libfuse.so.2If the command shows output, FUSE2 is installed. If not, install it using the command above.
Step 2: Make AppImage Executable
After downloading the AppImage from GitHub releases, make it executable:
chmod +x DDS-v1.0.0_beta-x86_64.AppImageWhy is this needed?
- Linux requires explicit execute permission for files
- The
chmod +xcommand grants execute permission to the AppImage file - Without this permission, you cannot run the AppImage
Alternative: Right-click the file in your file manager → Properties → Permissions → Check "Execute" or "Allow executing file as program"
Step 3: Run the AppImage
Execute the AppImage:
./DDS-v1.0.0_beta-x86_64.AppImageOr double-click the file in your file manager (if FUSE2 is installed and file is executable).
First Run Process
On first run, the AppImage will automatically:
PHASE 1: JavaScript/Node.js Setup (Priority)
- ✅ Checks and installs FUSE2 (required for AppImage execution)
- ✅ Checks and installs Node.js (Ubuntu repos or NodeSource v18.x)
- ✅ Installs demo npm packages automatically
- ✅ Installs
curlif missing (for NodeSource repository)
PHASE 2: System Dependencies
- ✅ Checks system dependencies (CMake, GCC, Python3, Java, Fast-DDS, etc.)
- ✅ Automatically installs missing dependencies via
init/sh/install_system_dependencies.sh - ✅ Configures environment variables
PHASE 3: Fast-DDS and Monitoring Build
- ✅ Runs Fast-DDS manual installation (if needed) via
init/sh/fastdds_and_npm_auto_install.sh - ✅ Builds monitoring application via
monitoring/build_monitoring/build_monitoring.sh - ✅ Updates library cache
PHASE 4: System Readiness Check
- ✅ Comprehensive check of all components:
- Build tools (CMake, GCC/G++, Python3, Java)
- Node.js and npm packages
- Fast-DDS installation
- IDL generated modules and executables
- Monitoring executable
- Security certificates
- ✅ If any component is missing, runs setup automatically via
init/sh/project_setup.sh - ✅ Re-checks system readiness after setup
PHASE 5: Start Tests and Demo (Only if System is Ready)
- ✅ Tests and demo will NOT start if any component is missing
- ✅ Runs tests and demo automatically only when all components are ready via
init/sh/run_tests_and_demo.sh - ✅ Launches web dashboard at
http://localhost:3000
Subsequent runs skip setup and run directly if the system is ready.
Working Directory
The AppImage extracts project files to:
~/.dds-project-runtime
This directory contains:
- Extracted project files
- Build outputs
- Security certificates
- Runtime data
Note: You can delete this directory to reset the AppImage (it will recreate it on next run).
What You Get
1. DDS Infrastructure
- IDL Modules: CoreData, CoreData2, CoreData3, CoreData4, Intelligence, Messaging
- Publishers: Send data via DDS topics
- Subscribers: Receive data from DDS topics
- Unified Monitor: Monitors all topics across multiple domains
2. Security System
- PKI-DH Authentication: Secure participant authentication
- AES-GCM-GMAC Encryption: End-to-end encryption
- PC-Specific Certificates: Automatic certificate generation based on hostname
3. Web Dashboard
- Real-Time Visualization: Interactive map with aircraft positions
- Multi-Domain Monitoring: Simultaneous monitoring of domains 0-5
- Data Panels: Intelligence and messaging information
- System Status: Real-time system indicators
4. Automation Scripts
- System Dependency Installation: Automatic installation of required packages
- Project Setup: Complete automated setup process
- Build System: Automatic compilation of all components
- Test Execution: Automated test and demo launch
System Requirements
Minimum Requirements
- OS: Linux (Ubuntu 20.04+ recommended, Debian-based distributions supported)
- RAM: 4GB minimum (8GB+ recommended)
- Disk: 2GB free space
- Network: UDP multicast support (for DDS communication)
Required Software (Auto-Installed)
- CMake 3.10+
- GCC/G++ with C++17 support
- Python 3.6+
- Java JDK 11+
- Node.js 14.0+ (v18.x recommended)
- Fast-DDS libraries
- FUSE2 (libfuse2)
Troubleshooting
AppImage Won't Run
Problem: Permission denied or FUSE errors
Solutions:
-
Check FUSE2 installation:
sudo apt-get install -y libfuse2
-
Make executable:
chmod +x DDS-v1.0.0_beta-x86_64.AppImage
-
Check file permissions:
ls -l DDS-v1.0.0_beta-x86_64.AppImage
Should show
-rwxr-xr-xor similar withx(execute) permission
Node.js Installation Fails
Problem: Node.js installation fails on first run
Solution: Simply run the AppImage again - it will retry Node.js installation automatically. The AppImage tries:
- Ubuntu repositories first
- NodeSource repository (v18.x) as fallback
- Installs
curlautomatically if missing
System Not Ready
Problem: Tests and demo don't start
Solution: The AppImage checks all components before starting. If something is missing:
- Check the error messages - they list missing components
- The AppImage will attempt to run
project_setup.shautomatically - If setup fails, check logs and install missing components manually
- Run the AppImage again after fixing issues
Dashboard Shows No Data
Problem: Dashboard loads but displays no data
Solutions:
- Verify publishers are running (check terminal output)
- Check monitor is receiving data
- Verify domain IDs match between publishers and monitor
- Check internet connection (required for map tiles)
- Review browser console for WebSocket errors
Usage Examples
Basic Usage
# 1. Install FUSE2 (if not already installed)
sudo apt-get install -y libfuse2
# 2. Make executable
chmod +x DDS-v1.0.0_beta-x86_64.AppImage
# 3. Run
./DDS-v1.0.0_beta-x86_64.AppImageManual Extraction (If FUSE2 Not Available)
# Extract AppImage manually
./DDS-v1.0.0_beta-x86_64.AppImage --appimage-extract
# Run from extracted directory
cd squashfs-root
./AppRunUpdating
To update to a new version:
- Download the new AppImage from GitHub releases
- Replace the old AppImage file
- Run the new AppImage (it will detect existing setup and skip re-installation)
Uninstalling
To completely remove DDS Project:
cd image
bash uninstall.shThe uninstall script will:
- Remove project directory (if using manual installation)
- Remove system packages (optional, may affect other projects)
- Remove environment variables from
~/.bashrc - Remove AppImage runtime directory (
~/.dds-project-runtime) - Remove Node.js and npm (optional, may affect other projects)
- Remove manual Fast-DDS installation (if detected)
Note: The AppImage file itself must be deleted manually.
Additional Documentation
For detailed documentation, see:
- README.md: Complete project documentation
- image/README.md: AppImage build and usage details
- docs/demo.md: Demo dashboard documentation
- docs/monitoring.md: Monitoring system documentation
- docs/secure_dds.md: Security system documentation
Enjoy!
You're all set! The DDS Project Beta release provides a complete, self-contained DDS infrastructure with automated setup and a professional web-based visualization dashboard.
For issues, questions, or contributions, please refer to the project repository.
Version: v1.0.0_beta
Platform: Linux x86_64
Format: AppImage
v1.0.0-alpha - First Alpha Release with AppImage Support
DDS Project v1.0.0-alpha Release
Release Title
v1.0.0-alpha - First Alpha Release with AppImage Support
What's New
AppImage Support (Recommended)
- Completely self-contained single-file distribution
- Portable - works from anywhere (Desktop, Downloads, etc.)
- Zero installation - just download and run
- Automatic setup - detects and installs dependencies on first run
- One-click execution - double-click to run (GUI support)
Key Features
- Complete DDS implementation using Fast-DDS middleware
- Secure DDS communication with PKI authentication and encryption
- Multi-domain support for topic isolation
- Real-time monitoring and data collection
- Web-based dashboard for visualization
- Scenario-based testing with JSON data injection
- Fully automated setup and execution (no user interaction required)
Installation
Option 1: AppImage (Easiest - Recommended)
- Download
DDS-Project-v1.0.0_alpha-x86_64.AppImagefrom the assets below - Make it executable:
chmod +x DDS-Project-v1.0.0_alpha-x86_64.AppImage
- Run it:
./DDS-Project-v1.0.0_alpha-x86_64.AppImage
The AppImage will automatically:
- Extract project files to
~/.dds-project-runtime - Install system dependencies if needed
- Build all components
- Start tests and demo
Option 2: Manual Setup
# Clone the repository
git clone https://github.com/mercethem/DDS
cd DDS
# Install dependencies
bash init/sh/install_system_dependencies.sh
# Setup project
bash init/sh/project_setup.sh
# Run tests and demo
bash init/sh/run_tests_and_demo.shSystem Requirements
- OS: Linux (Ubuntu 20.04+ recommended, Debian-based distributions supported)
- CPU: Multi-core processor (2+ cores recommended)
- RAM: Minimum 4GB (8GB+ recommended)
- Disk: Minimum 2GB free space
- Network: Ethernet or WiFi (UDP multicast support required)
Important Notes
- This is an alpha release - use at your own risk
- Currently Linux-only - Windows and macOS support planned for future releases
- First run may take several minutes (dependency installation and build)
- Requires
sudoaccess for dependency installation (only on first run)
Documentation
- Full documentation available in
README.md - AppImage build instructions:
image/README.md - Additional docs:
docs/directory
Known Issues
- Windows native support: Coming soon
- macOS support: Planned for future releases
- Some terminal emulators may require manual configuration
Changes in This Release
Added
- AppImage support for single-file distribution
- Fully automated setup and execution
- Self-contained portable application
- Automatic dependency detection and installation
Improved
- Removed all user interaction prompts ("Press Enter" waits)
- Streamlined installation process
- Better error handling and reporting
- Enhanced documentation
Fixed
- Script execution flow improvements
- Path detection robustness
- Build process optimizations
Feedback
This is our first alpha release. We welcome feedback, bug reports, and feature requests!
Download
AppImage: DDS-Project-v1.0.0_alpha-x86_64.AppImage (see assets below)
Version: v1.0.0-alpha
Platform: Linux (x86_64)