AeroFlux UAV Simulator is a self-adaptive drone management system implementing the U-space framework for autonomous UAV operations in complex urban environments. This research artifact demonstrates key principles of self-adaptive systems through a MAPE-K (Monitor, Analyze, Plan, Execute, Knowledge) cycle that enables drones to dynamically adapt to changing environmental conditions, weather patterns, and regulatory constraints.
This artifact provides a complete implementation of a self-adaptive UAV management system that showcases:
- Real-time Adaptation: Dynamic response to changing weather conditions, air traffic, and geo-zone restrictions
- Microservices Architecture: Distributed system demonstrating scalability and fault tolerance in self-adaptive systems
- Autonomous Decision Making: Implementation of collaborative strategies for traffic management and safety
- MAPE-K Control Loop: Continuous monitoring and adaptation to environmental changes
- Distributed Adaptation: Decentralized decision-making across multiple drone agents
- Context-Aware Navigation: Real-time adaptation to geo-zones, weather, and traffic conditions
- Dynamic Authorization: Automated rule-based adaptation to regulatory requirements
- Collaborative Behaviors: Multi-agent coordination for optimal system performance
The system implements a microservices architecture that demonstrates key self-adaptive system principles:
- Geo-Awareness: Service for managing geo-zones and spatial restrictions
- Geo-Authorization: Service for managing geo-zone authorization
- Drone-Identification: Service for drone registration and identity management
- Weather: Service for managing weather conditions
- Simulator: Service for multi-agent simulation with autonomous adaptation logic
- UI: Service for real-time monitoring and control interface
- ActiveMQ: Event-driven communication beetween microservices
- MongoDB: Persistent storage for geo-spatial and drone data
- PostgreSQL: Authorization and regulatory data management
- Nginx: Load balancing and service discovery
AeroFlux/
├── docker-compose.yml # Service orchestration
├── nginx.template.conf # Reverse proxy configuration
├── drone-identification/ # Drone identification service
├── geo-authorization/ # Authorization service
├── geo-awareness/ # Geo-zone management service
├── weather/ # Weather service
├── simulator/ # UAV simulator
├── ui/ # React web interface
└── documentation/ # Documentation
- Backend: Spring Boot, Java 17
- Frontend: React, Vite, JavaScript
- Database: MongoDB, PostgreSQL
- Message Broker: ActiveMQ
- Containerization: Docker, Docker Compose
- Web Server: Nginx
The artifact demonstrates key self-adaptive system principles through real-time drone management scenarios.
The artifact enables evaluation of the following self-adaptive system capabilities:
- Real-time Adaptation: Monitor how drones adapt flight paths based on changing weather conditions and geo-zone restrictions
- MAPE-K Implementation: Observe the Monitor-Analyze-Plan-Execute cycle in action through the web interface
- Multi-agent Coordination: Evaluate collaborative decision-making between multiple drones in shared airspace
- Dynamic Authorization: Test how the drone adapts to authorization changes
Software Requirements:
- Docker Desktop 4.0+ (Download)
- Docker Compose 2.0+ (included with Docker Desktop)
- Web browser (Chrome, Firefox, Safari, or Edge)
Port Requirements: The system requires the following ports to be available:
- Port 80: Main web interface
- Port 5000: Simulator API
- Ports 8080-8085: Microservices APIs
- Port 8161: ActiveMQ management console
- Ports 27017, 5432: Database connections (internal)
When successfully running, the artifact will:
- Start 11 containerized services automatically
- Provide a web-based dashboard for real-time monitoring
- Generate continuous telemetry data from simulated drones
- Demonstrate adaptive behaviors through visual feedback
- Log all system events for post-execution analysis
Resource Usage:
- High CPU usage during simulation execution (expected behavior)
Known Limitations:
- Simulation performance depends on available system resources
- Some adaptation scenarios may take 30-60 seconds to fully manifest
This section provides comprehensive instructions for downloading, installing, running, and evaluating the AeroFlux artifact.
-
Download the Artifact
git clone https://github.com/alegil0206/U-space.git cd U-space -
Verify Docker Installation
docker --version docker-compose --version
Expected output: Docker version 20.10+ and Docker Compose version 2.0+
-
Configure System Hosts (Required)
For Windows (Run as Administrator):
Add-Content -Path "C:\Windows\System32\drivers\etc\hosts" -Value "127.0.0.1 aeroflux" Add-Content -Path "C:\Windows\System32\drivers\etc\hosts" -Value "127.0.0.1 simulator.aeroflux" Add-Content -Path "C:\Windows\System32\drivers\etc\hosts" -Value "127.0.0.1 uspace.aeroflux"
For Linux/Mac:
echo "127.0.0.1 aeroflux" | sudo tee -a /etc/hosts echo "127.0.0.1 simulator.aeroflux" | sudo tee -a /etc/hosts echo "127.0.0.1 uspace.aeroflux" | sudo tee -a /etc/hosts
-
Start All Services
docker-compose up -d
Expected behavior: Docker will download images (first time) and start 11 containers
-
Monitor Startup Progress
docker-compose logs -f
Wait for all services to show "Started" or "Ready" messages (typically 2-3 minutes)
-
Verify Service Health
docker-compose ps
All services should show "running" status
-
Access Main Interface
- Open browser to: http://aeroflux
- Expected: Dashboard loads with navigation menu and system status
-
Verify Core Services
- Geo-Awareness: http://uspace.aeroflux/geo-awareness/
- Geo-Authorization: http://uspace.aeroflux/geo-authorization/
- Drone-Identification: http://uspace.aeroflux/drone-identification/
- Weather: http://uspace.aeroflux/weather/
- Simulator: http://simulator.aeroflux/
Navigate to http://aeroflux. Follow these scenarios to evaluate the self-adaptive system capabilities:
Scenario 1: Basic System Operation
- Go to "Drone Section" in the navigation menu
- Create a new drone using the interface
- Observe drone registration in real-time
Scenario 2: Geo-Zone Adaptation
- Go to "GeoZone Section"
- Create a circular or polygonal restricted zone
- Navigate to "Drone Section" and create a flight plan that intersects the zone
- Observe how the system adapts the flight path automatically
- Monitor adaptation decisions in the dashboard
Scenario 3: Weather-Based Adaptation
- Access "Weather Section"
- Modify weather conditions (wind speed and direction, minimum and maximum cluster numbers, maximum cluster size)
- Observe how the weather change impacts drone operations
Scenario 4: Multi-Agent Coordination
- Create multiple drones with overlapping flight paths
- Start simultaneous missions
- Monitor the "Home Section" for conflict resolution
- Observe collaborative path planning in action
Real-time Monitoring:
- Dashboard shows live system status and active adaptations
- Each section provides real-time updates of system state
- Event history displays all adaptation decisions with timestamps
# Graceful shutdown
docker-compose down
# Remove all data (optional - for clean restart)
docker-compose down -vThis section describes the files and outputs generated by executing the AeroFlux artifact.
The system generates comprehensive logs that capture all self-adaptive behaviors. Logs are available in the "Home Section" of the web interface and can be accessed directly from the service containers.
The web interface generates visual evidence of system operation:
Available Screenshots:
documentation/screenshots/homeSection.png- Main dashboard overviewdocumentation/screenshots/droneSection.png- Drone management interfacedocumentation/screenshots/geoZoneSection.png- Geo-zone configurationdocumentation/screenshots/weatherSection.png- Weather monitoringdocumentation/screenshots/authorizationSection.png- Authorization systemdocumentation/screenshots/historySection.png- Simulation history
Sample Input Data:
documentation/data/DroneData.csv- Drone configurationsdocumentation/data/GeoZoneData.csv- Geo-zone definitions
This project is licensed under the Apache License 2.0 – see the LICENSE file for details.

