====== Module: Software Systems and Middleware (Part 1) ====== ^ **Study level** | Bachelor | ^ **ECTS credits** | 1 ECTS | ^ **Study forms** | Hybrid or fully online | ^ **Module aims** | The aim of the module is to introduce software architectures, middleware and lifecycle management for cyber-physical and autonomous systems. The course develops students’ understanding of how multi-layer autonomy stacks support reliable sensing, perception, planning and control under real-time, interoperability and safety constraints. | ^ **Pre-requirements** | Basic programming skills and understanding of operating systems, computer networks and data structures. Familiarity with embedded or control systems and Linux-based development tools is recommended. | ^ **Learning outcomes** | **Knowledge**\\ • Explain the architecture and purpose of multi-layered autonomy software stacks.\\ • Describe middleware technologies and their role in deterministic data exchange.\\ • Identify lifecycle models and configuration management practices for autonomous software.\\ **Skills**\\ • Design modular autonomy software architectures integrating perception, localisation, planning, and control modules.\\ • Configure and deploy middleware frameworks to support real-time, distributed communication.\\ • Apply CI/CD and configuration management principles and orchestration tools.\\ **Understanding**\\ • Evaluate safety, verification, and cybersecurity aspects of autonomy software systems.\\ • Recognize challenges in maintainability, scalability, and interoperability across heterogeneous systems.\\ • Appreciate ethical, reliable, and transparent AI integration in autonomous decision-making. | ^ **Topics** | 1. Introduction to Autonomy Software Stacks:\\ – Functional layers: perception, localisation, planning, control, middleware, cloud.\\ – Characteristics: real-time behaviour, determinism, scalability, resilience, interoperability.\\ 2. Middleware and Communication Frameworks:\\ – DDS, ROS2, MQTT, AUTOSAR Adaptive, CAN, Ethernet.\\ – Quality of Service, message scheduling, fault tolerance.\\ 3. Software Lifecycle and Configuration Management:\\ – Lifecycle models (Waterfall, V-Model, Agile, DevOps, Spiral).\\ – Configuration management, version control, CI/CD pipelines, baselines.\\ 4. Development and Maintenance Challenges:\\ – Real-time performance, safety, AI integration, cybersecurity, and continuous updates.\\ 5. Simulation and Testing:\\ – SIL/HIL methods, virtual environments and digital twins.\\ 6. Ethics and Human–Machine Collaboration:\\ – Transparency, accountability, and explainability in autonomy. | ^ **Type of assessment** | The prerequisite of a positive grade is a positive evaluation of module topics and presentation of practical work results with required documentation. | ^ **Learning methods** | **Lecture** — Cover theoretical and architectural foundations of autonomy software stacks and middleware frameworks.\\ **Lab works** — Practical exercises in ROS2, DDS, and containerised deployments; simulation of autonomy software using Gazebo or CARLA.\\ **Individual assignments** — System design and configuration management case studies applying CI/CD and risk analysis.\\ **Self-learning** — Reading standards, research papers, and exploring MOOC content on middleware and DevOps. | ^ **AI involvement** | Used for assisting code documentation, simulation setup, performance analysis, and literature review. Students must verify generated outputs, cite AI tool usage transparently, and ensure compliance with academic integrity policies. | ^ **Recommended tools and environments** | ROS2, Gazebo, CARLA, AirSim | ^ **Verification and Validation focus** | | ^ **Relevant standards and regulatory frameworks** | MQTT, AUTOSAR, CAN, V-Model, DevOps, ISO 26262 |