| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| en:safeav:curriculum:softsys-b [2025/10/20 14:16] – [Table] larisas | en:safeav:curriculum:softsys-b [2025/11/05 09:03] (current) – airi |
|---|
| ====== Module: Software Systems and Middleware (Part1) ====== | ====== Module: Software Systems and Middleware (Part 1) ====== |
| | **Study level** | Bachelor || | |
| | **ECTS credits** | 1 ECTS || | ^ **Study level** | Bachelor | |
| | **Study forms** | Hybrid or fully online || | ^ **ECTS credits** | 1 ECTS | |
| | **Module aims** | Equip students with a comprehensive understanding of autonomy software stacks, middleware, and lifecycle management in cyber-physical and autonomous systems. The module covers multi-layered software architectures—from hardware abstraction and middleware to AI-driven autonomy layers—highlighting real-time performance, determinism, interoperability, safety, and maintenance challenges. Students will learn how these architectures enable reliable sensing, perception, planning, and control across distributed and safety-critical systems. || | ^ **Study forms** | Hybrid or fully online | |
| | **Pre-requirements** | Basic programming knowledge in C/C++ or Python; understanding of operating systems, networks, and data structures; familiarity with embedded or control systems concepts; and basic linear algebra and probability. Prior exposure to Linux-based development, Git, or simulation environments (e.g., Gazebo, MATLAB/Simulink) is beneficial. || | ^ **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. | |
| | **Learning outcomes** | Knowledge:\\ • Explain the architecture and purpose of multi-layered autonomy software stacks (HAL, OS, Middleware, Control, AI).\\ • Describe middleware technologies such as DDS, ROS 2, and AUTOSAR Adaptive, and their role in deterministic data exchange.\\ • Identify lifecycle models (Waterfall, V-Model, Agile, DevOps) 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 using Git, Docker, and orchestration tools.\\ Understanding/Attitudes:\\ • 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. || | ^ **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. | |
| | ** 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, ROS 2, MQTT, AUTOSAR Adaptive, CAN, Ethernet.\\ – Quality of Service (QoS), 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 (CARLA, Gazebo, AirSim), digital twins.\\ 6. Ethics and Human–Machine Collaboration:\\ – Transparency, accountability, and explainability in autonomy. || | ^ **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. | |
| | **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. || | ^ **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. | |
| | **Learning methods** | Lectures: Cover theoretical and architectural foundations of autonomy software stacks and middleware frameworks.\\ Lab works: Practical exercises in ROS 2, 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 (AUTOSAR, ISO 26262), research papers, and exploring MOOC content on middleware and DevOps. || | ^ **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. | |
| | **AI involvement** | Yes — 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. | | | ^ **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. | |
| | **References to\\ literature** | 1. Lee, E. A., & Seshia, S. A. (2020). Introduction to Embedded Systems: A Cyber-Physical Systems Approach (3rd ed.). MIT Press.\\ 2. Raj, A., & Saxena, P. (2022). Software architectures for autonomous vehicle development: Trends and challenges. IEEE Access, 10.\\ 3. AUTOSAR Consortium. (2023). AUTOSAR Adaptive Platform Specification.\\ 4. LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 521(7553), 436–444.\\ 5. Fowler, M. (2021). Patterns of Enterprise Software Architecture. Addison-Wesley.\\ 6. Boyens, J., et al. (2020). NIST SP 800-161: Supply Chain Risk Management Practices for Federal Information Systems and Organizations.\\ 7. Russell, S. J., & Norvig, P. (2021). Artificial Intelligence: A Modern Approach (4th ed.). Pearson. || | ^ **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. | |
| | **Lab equipment** | Yes || | ^ **Recommended tools and environments** | ROS2, Gazebo, CARLA, AirSim | |
| | **Virtual lab** | Yes || | ^ **Verification and Validation focus** | | |
| | **MOOC course** | Suggested MOOC: 'ROS2 and Robotics Middleware Foundations' (Coursera) or 'Software Engineering for Autonomous Systems' (edX). || | ^ **Relevant standards and regulatory frameworks** | MQTT, AUTOSAR, CAN, V-Model, DevOps, ISO 26262 | |
| |