paperbot · PL 论文追踪

全部论文 待读 收藏

P2 PLATO: Platform-Neutral Automotive Software Development leveraging Aspect-Oriented Programming

PLATO:利用面向切面编程实现平台中立的汽车软件开发
ICSE Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering2026匹配度 2/10 · 该论文属于汽车软件领域的模型驱动开发与面向切面编程/代码生成,关注平台中立性和复用,与用户核心方向(静态分析、LLM/Agent 与程序分析、浮点程序分析、贝叶斯程序分析)几乎没有直接交集。虽然涉及编程语言与代码生成,但未触及用户正在追的 PL↔AI、浮点或贝叶斯程序分析问题。引用 0 inbox
Muhammet Uslu, Atif Imran Penkar, Robert Rasche, Olaf Spinczyk, Michael Unterreiner
crossref: 2026-09-12

AI 速览

一句话:提出 PLATO,将 AOP 融入 MDD,在生成的 C/C++ 代码层延迟平台实现,实现平台中立的汽车软件复用与自动生成。

现代汽车软件与软件定义汽车(SDV)日益复杂,传统模型驱动开发(MDD)常过早绑定平台细节,限制可移植性与复用。PLATO 将面向切面编程(AOP)融入 MDD,把平台实现推迟到生成的 C/C++ 代码层:功能行为以平台中立方式建模并自动生成中立 C/C++,调度、通信、诊断等平台关注点用 AspectC++ 切面实现,并在构建时织入。该框架实现关注点分离,支持跨平台复用。在车辆动力学 ECU 的概念验证中,使用量产 TriCore 编译器评估:相比朴素 C 包装实现,PLATO 栈用量降低 18%,运行快 1.5%;静态代码量在适当优化下仅增 7.5%,性能接近单体验证基线,同时保持模块化与可维护性。

问题
现代汽车软件和软件定义汽车日益复杂,传统 MDD 过早绑定平台细节,导致可移植性、复用和可维护性受限。
方法
PLATO 将 AOP 集成到 MDD,用平台中立方式描述功能并自动生成 C/C++,将调度、通信、诊断等平台关注点实现为 AspectC++ 切面,在构建时织入代码。
评估
在车辆动力学 ECU 上以量产 TriCore 编译器做概念验证,栈用量比朴素 C 包装降低 18%,运行快 1.5%,静态代码量仅增 7.5%,性能接近单体基线。
原文摘要(Abstract)

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.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@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}
}