一句话:提出 PLATO,将 AOP 融入 MDD,在生成的 C/C++ 代码层延迟平台实现,实现平台中立的汽车软件复用与自动生成。
现代汽车软件与软件定义汽车(SDV)日益复杂,传统模型驱动开发(MDD)常过早绑定平台细节,限制可移植性与复用。PLATO 将面向切面编程(AOP)融入 MDD,把平台实现推迟到生成的 C/C++ 代码层:功能行为以平台中立方式建模并自动生成中立 C/C++,调度、通信、诊断等平台关注点用 AspectC++ 切面实现,并在构建时织入。该框架实现关注点分离,支持跨平台复用。在车辆动力学 ECU 的概念验证中,使用量产 TriCore 编译器评估:相比朴素 C 包装实现,PLATO 栈用量降低 18%,运行快 1.5%;静态代码量在适当优化下仅增 7.5%,性能接近单体验证基线,同时保持模块化与可维护性。
The increasing complexity of software in modern vehicles and the shift toward Software-Defined Vehicles (SDVs) require development approaches that emphasize portability, reusability and platform independence. Traditional Model-Driven Development (MDD) workflows often bind software to platform-specific details early, limiting scalability, reuse and maintainability. This paper introduces PLATO, a framework that integrates Aspect-Oriented Programming (AOP) into MDD, representing the first approach to employ AOP for deferring platform realization, to enable platform-neutral software generation with deferred platform realization. In contrast to existing MDD approaches, PLATO is the first work that defers platform dependencies down to the generated C/C++ code level rather than resolving them at the model level. Functional behavior is captured in a platform-neutral manner and translated into neutral C and C++ code. While manual implementation of core logic is possible, this paper focuses on automated code generation. Platform-specific concerns such as scheduling, communication and diagnostics are implemented as AspectC++ aspects, which are woven into the code at the build of the system. PLATO enforces a clear separation of concerns, improving modularity and maintainability while supporting software reuse across multiple vehicle platforms. A proof-of-concept implementation on a vehicle dynamics Electronic Control Unit (ECU) using a production-grade TriCore compiler demonstrates that PLATO reduces total stack usage by 18% compared to a naïve C-wrapper implementation. Despite this, its performance remains competitive: PLATO runs 1.5% faster than the naïve wrapper and its static code size grows by only 7.5% over the baseline with appropriate compiler and linker optimizations applied. Performance results show that PLATO remains close to a monolithic baseline, where platform logic is embedded directly in the code, while retaining modularity and maintainability. By combining MDD and AOP, PLATO provides a platform-neutral, efficient automotive software suitable for SDVs. The framework supports faster adaptation to new platforms, facilitates software reuse and minimizes resource overhead, offering a practical solution for next-generation vehicle software development.
@inproceedings{paperbot11880,
title = {PLATO: Platform-Neutral Automotive Software Development leveraging Aspect-Oriented Programming},
author = {Muhammet Uslu and Atif Imran Penkar and Robert Rasche and Olaf Spinczyk and Michael Unterreiner},
booktitle = {ICSE},
year = {2026},
doi = {10.1145/3774748.3793623}
}