1.1 Introduction

AUTOSAR(汽车开放系统架构)是一个开放的,标准化的汽车软件架构,由汽车制造商,供应商和开发工具共同开发。它联合了汽车OEM ,供应商和开发工具供应商,其目标是创建并建立开放标准为汽车E / E(电子/电器)架构。它将为所有应用程序领域提供一个基本的基础设施以帮助开发汽车软件,用户界面​​和管理。这包括基本的系统功能的标准化,可扩展性,不同的车辆和平台的变种,转移性整个网络,整合来自多个供应商,可维护性在整个产品生命周期和软件的更新和升级在车辆的生命周期。[2]

1.2. Vision

  • 软件和硬件分离
  • 开发可以在平行层de-coupled,减少开发时间和成本
  • 软件复用率会提高,OEM和供应商

1.3.

没有中国厂商。

1.2. Key Features

Modularity and configurability

Standardized interfaces

Runtime Environment (RTE)

Acceptance Tests

2. Goals

As stated in the official website, the goals of AUTOSAR are:

  • Implementation and standardization of basic system functions as an OEM wide "Standard Core" solution
  • Scalability to different vehicle and platform variants
  • Transferability of functions throughout network
  • Integration of functional modules from multiple suppliers
  • Consideration of availability and safety requirements
  • Redundancy activation
  • Maintainability throughout the whole "Product Life Cycle"
  • Increased use of "Commercial off the shelf hardware"
  • Software updates and upgrades over vehicle lifetime

3. Technical Overview

AUTOSAR Architecture

AUTOSAR architecture支持完整的软件和硬件模块的独立性(Independence)。软件包括三层:Application SW, Runtime Environment, 和Basic SW. [3]

3.1. Software Component

AUTOSAR的软件被组织在独立单位里面,software-component,或者SwComponentTypes

SwComponentTypes封装它们的功能和行为,只向外界开放定义好的链接点,称为PortPrototypes

3.2. Virtual Functional Bus

In order to fulfill the goal of transferability, AUTOSAR defines a layered SW architecture and a formal description language for Software Components so that these components can be implemented independently from the underlying hardware.

The virtual functional bus is the abstraction of the AUTOSAR Software Components interconnections of the entire vehicle. The communication between different software components and between software components and its environment (e.g. hardware driver, OS, services, etc.) can be specified independently of any underlying hardware.

The central structural element in AUTOSAR is the COMPONENT. A component has well-defined ports, through which it interacts with other components. A port always belongs to exactly one component. The AUTOSAR Interface concept defines the services or data that are provided on or required by a port of a component. The most commonly used AUTOSAR Interfaces are Client-Server Interfaces (defining a set of operations that can be invoked) and Sender-Receiver Interfaces, which allows the usage of data-oriented communication mechanisms over the VFB. Other kinds of interfaces allow the communication of modes, non-volatile or fixed data, and the triggering of processes.

Client-Server Communication

Sender-Receiver Communication

3.3. ECU Software Architecture

The structure of the software for an ECU. The layers and its main elements.

- AUTOSAR Software

The AUTOSAR Software (the layer above AUTOSAR Runtime Environment) consists of AUTOSAR Software Components that are mapped on the ECU. All interaction between AUTOSAR Software Components and Atomic Software Components is routed through the AUTOSAR Runtime Environment. The AUTOSAR Interface assures the connectivity of software elements surrounding the AUTOSAR Runtime Environment.

- AUTOSAR Runtime Environment

At system design level, (i.e. when drafting a logical view of the entire system irrespective of hardware) the AUTOSAR Runtime Environment (RTE) acts as a communication center for inter- and intra-ECU information exchange.

Inter-ECU communication: CAN, LIN, FlexRay, MOST, etc.

- AUTOSAR Basic Software

Basic Software is the standardized software layer, which provides services to the AUTOSAR Software Components and is necessary to run the functional part of the software. It does not fulfill any functional job itself and is situated below the AUTOSAR Runtime Environment.

Standardized modules: Services, Communication, Operating System, Microcontroller Abstraction

ECU specific modules: ECU Abstraction, Complex Driver

- Classification of interface

AUTOSAR Interface

Standardized AUTOSAR Interface

Standardized Interface

3.4. AUTOSAR Methodology

  • System Configuration Description: 
    includes all system information and the information that must be agreed between different ECUs
  • System Configuration Extractor: 
    extracts the information from the System Configuration Description needed for a specific ECU
  • ECU extract: 
    is the information from the System Configuration Description needed for a specific ECU
  • ECU Configuration Description:  
    contains all basic software configuration information that is local to a specific ECU. The executable software can be built from this information, the code of the basic software modules and the code of the software components

3.5. Acceptance Tests

4. RoadMap


References:

1. AUTOSAR, GbR. "Technical Overview." document version 2.0 (2008).

2. AUTOSAR Wike, https://en.wikipedia.org/wiki/AUTOSAR

3. AUTOSAR Layered Software Architecture, R4.0. http://www.autosar.org/
download/R4.0/AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf, last access
16.11.2010

4. Bunzel, Stefan. "Autosar–the standardized software architecture."Informatik-Spektrum 34.1 (2011): 79-83.

5. Galla, Th M., and Roman Pallierer. "AUTOSAR–challenges and solutions from a software vendor’s perspective." e & i Elektrotechnik und Informationstechnik 128.6 (2011): 234-239.
 

版权所有,侵权必究,如需使用请与作者本人联系。

Automotive Security的一些资料和心得(6):AUTOSAR的更多相关文章

  1. Automotive Security的一些资料和心得(1):Security Engineering

    陆续更新一些最近在Automotive Security方面的资料和心得. 1. Overview 1.1. Software Engineering Process PLC-Phases: Intr ...

  2. Automotive Security的一些资料和心得(2):Cryptography

    1. Security Goal - Confidentiality - Integrity - Availability - Authenticity - Non-repudiation - Aut ...

  3. Automotive Security的一些资料和心得(8):Hardware Security Module (HSM)

    1. Introduction - 保护软件的安全性措施,作为值得信赖的安全锚,- 安全地生成,存储和处理安全性关键材料屏蔽任何潜在的恶意软件,?- 通过运用有效的限制硬件篡改攻击的可能性篡改保护措施 ...

  4. Automotive Security的一些资料和心得(7):AUTOSAR和Security

    1. 密码模块[1] 密码模块在Services Layer Configurable and common access to 密码子程序 硬件支持密码模块 2. 应用 应用和密码子程序分离 Cry ...

  5. Automotive Security的一些资料和心得(5):Privacy

    1. Introduction 1.1 "Customers own their data and we can be no more than the trsted stewards of ...

  6. Automotive Security的一些资料和心得(4):Automotive Safeguards

    通常一辆汽车会包括超过80个ECUs.所有软件代码大小正在快速增加,将会超过1GB.软件protection是必不可少的. 1. 软件保护 1.1. 安全boot Software violating ...

  7. Automotive Security的一些资料和心得(3):Vehicular Security技术

    1. Overview 1.1. Secure Hardware Extension (SHE) 基本结构:ECU里面有一块单独的Secure Zone.Secure Zone里面是SHE模块.SHE ...

  8. ref:web security最新学习资料收集

    ref:https://chybeta.github.io/2017/08/19/Web-Security-Learning/ ref:https://github.com/CHYbeta/Web-S ...

  9. IBM Security App Scan 资料整理

    转自:http://blog.csdn.net/u013147600/article/details/50002089 这是学习和使用IBM AppScan过程中总结整理的一些资料.   扫描系统操作 ...

随机推荐

  1. IOS中如何显示带有html标签的富文本

    NSString *strHTML = @"<p>你好</p><p>        这是一个例子,请显示</p><p>外加一个ta ...

  2. [转]c#.NET和VB.NET语法的比较

    本文转自:http://www.cnblogs.com/lify0407/archive/2007/08/01/838589.html c#.NET和VB.NET语法的比较   VB.NET C# C ...

  3. Java序列化接口的作用总结

    一个对象有对应的一些属性,把这个对象保存在硬盘上的过程叫做”持久化”. 把堆内存中的对象的生命周期延长,存入硬盘,做持久化操作.当下次再需要这个对象的时候,我们不用new了,直接从硬盘中读取就可以了. ...

  4. ubuntu下使用quick2wire控制RespberryPi2的I2C

    首先,开启树莓派的I2C驱动: 查看I2C驱动是否已经被加载:ls /dev -l | grep i2c,如果有形如 i2c-x 的显示结果表明驱动已经加载,否则驱动没有加载,需要进行如下操作: 修改 ...

  5. CMD/AMD

    AMD 规范在这里:https://github.com/amdjs/amdjs-api/wiki/AMDCMD 规范在这里:https://github.com/seajs/seajs/issues ...

  6. ASP.Net Core 运行在Linux(Ubuntu)

    这段时间一直在研究asp.net core部署到linux,今天终于成功了,这里分享一下我的部署过程. Linux Disibutaion:Ubuntu 14.04 Web Server:nginx. ...

  7. hdoj1584 蜘蛛牌 (区间型动态规划)

    hdoj1584 分析: f[i][j] 表示 把一串牌 牌 i 到 j 摞为一摞时 所花费最少的步数. d[i][j] 表示把牌 i 挪到牌 j 上时需要走的步数(最初给的状态). 以一串牌 3~8 ...

  8. Android屏幕保持唤醒状态

    我们程序偶尔会有需要屏幕一直或较长时间的保持唤醒状态,而用户的睡眠时间又设置的比较短.这时可能会对程序以及用户的使用造成一定的影响.在Android中有两种方法,可以让我们在我们需要保持唤醒的页面长时 ...

  9. 使用SqlBulkCopy类批量复制大数据

    using System; using System.Configuration; using System.Data; using System.Data.SqlClient; using Syst ...

  10. Thread多线程stopSleep顺序问题

    今天呢,学习了javase多线程,里面的睡眠sleep问题有点困扰: public class Thread_06_stopSleep{ public static void main(String[ ...