ASAM SOVD1.0.0标准概述
ASAM SOVD (Service-Oriented Vehicle Diagnostics,面向服务的车辆诊断) 定义了一个与基于软件的车辆进行诊断和通信的接口API。SOVD是一个灵活的标准,提供了统一的访问HPC (High Performance Computing,高性能计算机) 及其相关应用的诊断内容,以及经典的ECU等。
随着自动驾驶技术的发展,车辆配置变得越来越复杂,车载软件也在迅速增长:基于高性能计算、多操作系统、不同应用程序及其依赖关系的新架构也给诊断工作带来了重大挑战。诊断的重点从识别硬件错误逐渐扩展到分析软件问题,因此带来了巨大的挑战。因为车辆的内容是动态变化的,同时当诊断通信被用于控制车辆复杂的更新过程时,诊断任务的范围也急剧增加。
目前的诊断以ECU为核心,严重依赖于UDS (Unified Diagnostic Services,统一诊断服务) 协议。UDS是一种静态的诊断方法,无法应用于动态的软件诊断任务。因此,为HPC诊断需求扩展UDS协议将不够灵活,无法满足必要的软件分析需求。
这就是ASAM开发与制定SOVD的原因。该标准旨在为所有诊断任务以及软件更新(跨车辆、车型)提供一个API。SOVD是具有一致性的方法,用于全新系统,也可用于传统的传感器/执行器系统,同时,ASAM SOVD可用于近程、远程和车载三种应用场景。SOVD是一个自描述API,还支持无需外部描述文件的诊断,有别于当前的主流技术。
ASAM SOVD的开发旨在保持现有的程序、技术和方法的前提下,满足车载软件诊断的相关需求和挑战。因此,ASAM SOVD既涵盖了传统的用例(数据访问、故障信息、内部软件功能控制等),也涵盖了与HPC相关的诊断用例(车载软件更新、日志记录、跟踪、系统信息访问、内容动态发现等)。另一方面,SOVD并非为了取代广泛使用的技术,如UDS协议,而是与其共存,同时增强诊断通信功能,更好地支持新技术的发展与应用。
ASAM SOVD1.0.0新特性介绍
ASAM SOVD的主要内容与更新包括以下部分:
- SOVD为诊断提供了新的接口API;
- 适用于远程、近程和车载应用场景;
- 支持最先进的IT技术(HTTP, REST, JSON, OAuth);
- 诊断可以独立于诊断数据描述文件;
- 整个计算过程被封装,使无状态访问成为可能;
- 客户端实现不需要汽车特定的堆栈。
ASAM SOVD (vector.com)
ASAM SOVD的架构示意图:
ASAM SOVD总体特性包括:
- 可覆盖传统诊断用例:
- 数据访问(Data Access);
- 故障信息(Fault Information);
- 控制内部软件功能(Internal Software-functions)。
可覆盖高性能计算相关的诊断用例:
- 车辆软件升级(Software update);
- 记录(Logging);
- 访问系统信息(Access to system information);
- 动态内容发现(Dynamic discovery of content);
在能力检测方面,可进行相关实体与资源的检查与发现:
- 发现包含的实体;
- 查询实体的子实体;
- 查询实体相关的其他实体;
- 查询实体功能;
- 代表实体区域的拓扑视图,能够代表面向领域和面向区域的体系结构;
访问功能描述内容:
- 查询在线能力描述;
- 查询模式信息,用于内容处理;
HTTP, REST, JSON, OAuth
http2.0协议
深入理解http2.0协议,看这篇就够了! - 知乎 (zhihu.com)
HTTP/2 (http2.github.io)
HTML、CSS 、JS
HTML/CSS/JS 时间轴 | 菜鸟工具 (jyshare.com)
Cascading Style Sheets,层叠样式表
json,JavaScript Object Notation
json的全称为:JavaScript Object Notation,是一种轻量级的数据交互格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。【以上来自于百度百科】
简单来说:json就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互。
OAuth2.0
OAuth 2.0 — OAuth
OAuth 不是一个API或者服务,而是一个验证授权(Authorization)的开放标准,所有人都有基于这个标准实现自己的OAuth。
更具体来说,OAuth是一个标准,app可以用来实现secure delegated access. OAuth基于HTTPS,以及APIs,Service应用使用access token来进行身份验证。
OAuth主要有OAuth 1.0a和OAuth 2.0两个版本,并且二者完全不同,且不兼容。OAuth2.0 是目前广泛使用的版本,我们多数谈论OAuth时,为OAuth2.0。
OAuth2.0 详解 - 知乎 (zhihu.com)
REST
REST(Representational State Transfer)软件架构
REST - 廖雪峰的官方网站 (liaoxuefeng.com)