This is an old revision of the document!
Modern autonomous systems — from self-driving cars and unmanned aerial vehicles (UAVs) to marine robots and industrial co-bots — depend fundamentally on software architectures capable of real-time sensing, decision-making, and control. While mechanical and electronic components define what a system can do, the software stack defines how it does it — how it perceives the world, interprets data, plans actions, and interacts safely with its environment [1,2]. Autonomy software differs from conventional embedded or enterprise software in several critical ways:
This combination of safety-critical engineering and AI-driven decision-making makes autonomy software one of the most challenging areas in modern computing.