Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: mercethem/DDS

Version 1.0.0 Beta Release

02 Dec 19:53

Choose a tag to compare

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 libfuse2

Why 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.2

If 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.AppImage

Why is this needed?

  • Linux requires explicit execute permission for files
  • The chmod +x command 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

⚠️⚠️⚠️The entire process when running DDS-v1.0.0_beta-x86_64.AppImage may take up to 30 minutes. Please wait patiently.

Execute the AppImage:

./DDS-v1.0.0_beta-x86_64.AppImage

Or 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 curl if 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:

  1. Check FUSE2 installation:

    sudo apt-get install -y libfuse2
  2. Make executable:

    chmod +x DDS-v1.0.0_beta-x86_64.AppImage
  3. Check file permissions:

    ls -l DDS-v1.0.0_beta-x86_64.AppImage

    Should show -rwxr-xr-x or similar with x (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:

  1. Ubuntu repositories first
  2. NodeSource repository (v18.x) as fallback
  3. Installs curl automatically if missing

System Not Ready

Problem: Tests and demo don't start

Solution: The AppImage checks all components before starting. If something is missing:

  1. Check the error messages - they list missing components
  2. The AppImage will attempt to run project_setup.sh automatically
  3. If setup fails, check logs and install missing components manually
  4. Run the AppImage again after fixing issues

Dashboard Shows No Data

Problem: Dashboard loads but displays no data

Solutions:

  1. Verify publishers are running (check terminal output)
  2. Check monitor is receiving data
  3. Verify domain IDs match between publishers and monitor
  4. Check internet connection (required for map tiles)
  5. 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.AppImage

Manual 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
./AppRun

Updating

To update to a new version:

  1. Download the new AppImage from GitHub releases
  2. Replace the old AppImage file
  3. Run the new AppImage (it will detect existing setup and skip re-installation)

Uninstalling

To completely remove DDS Project:

cd image
bash uninstall.sh

The 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

26 Nov 14:55

Choose a tag to compare

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)

  1. Download DDS-Project-v1.0.0_alpha-x86_64.AppImage from the assets below
  2. Make it executable:
    chmod +x DDS-Project-v1.0.0_alpha-x86_64.AppImage
  3. 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.sh

System 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 sudo access 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)