ara::com 与 AUTOSAR 元模型的关系总结

原文链接:AUTOSAR_EXP_ARAComAPI的7章笔记(6)

整体说明

先是表明此前解释 ara::com API 思想和机制时未涉及具体 AP 元模型清单部分,本章旨在阐明 ara::com 与相关元模型部分的关系,且是较高层次的基本理解性介绍,并非对 AUTOSAR 元模型的全面阐释。

与 AUTOSAR_TR_AdaptiveMethodology 的关联

  • 相关元素及关联情况:介绍了服务接口、部署等元素间相互关联受部署信息影响。AUTOSAR 自适应平台方法学涵盖构建自适应系统的过程、活动、工作产品以及相关角色等内容。
  • AP 软件开发步骤及相关作用:AP 软件开发有架构和设计、软件开发、集成和部署等主要步骤。其中集成和部署步骤对 ara::com API 工作意义重大,能生成聚合服务接口和端口的 ARXML 文件。AP 应用程序依靠服务接口和端口交换信息,AP 平台的提供端口与所需端口分别用于生成服务骨架类和代理类,二者借此与其他平台集群、应用程序通信。此外还提及服务实例配置及其在清单中的体现,以及 Executable 的实例化特点与执行清单的作用。

服务接口

从 ara::com 角度看,服务接口是最重要的元模型元素,它定义了 ara::com 代理或骨架的签名相关内容,5.1 节内容可看作是其简化版本,且明确 ara::com 的代理类和骨架类由服务接口生成。

软件组件

  • 定义与表达:AUTOSAR 方法论中软件组件是比接口更高层次元素,用良好定义的接口描述可重用软件部分。AUTOSAR 清单规范定义了 SoftwareComponentType 模型元素,其有具体子类型,其中 AdaptiveApplicationSwComponentType 对 AP 应用软件开发人员最重要,该元素由 C++ 代码实现,通过端口表达组件对外提供或需要的服务接口,提供端口和所需端口有不同表意。
  • 代码实现与重用情况:结合图展示了模型视图与代码实现的关联,软件组件类型 A 的所需端口基于 ara::com 代理类实例实现,类型 B 的提供端口基于骨架类实例实现。还指出 SoftwareComponentType 实现代码可重用,区分了代码中显式多次实例化 C++ 类和通过多次启动运行同一个 Executable 隐式多次实例化这两种情况,并说明前者属 “实现层面” 范畴。

AP 应用程序 / Executable 和进程

AP 应用程序由 1 到 n 个 Executable 组成,Executable 由 CompositionSwComponentType 实例化构建。集成商决定启动哪些 AP 应用程序及其相关 Executable 的次数,启动后的 AP 应用程序会依据所含 Executable 数量变为相应数量的进程,此为 “部署层面”,并通过示例图展示了相关的部署情况。

基于 ara::com 的应用程序代码中使用元模型标识符

  • 实例说明符相关问题:解释对元模型 /ara::com 关系的阐述有助于理解 ResolveInstanceIDs 中 instance specifier 结构,因仅靠模型端口名称无法在最终实例化中明确识别对象,相同组件实现可能多次实例化并在不同进程启动,所以实例 ID 需分配给有独特标识的对象,集成商要做技术映射决定传输绑定及具体实例 ID。
  • 获取唯一标识符及相关要求:介绍在具体例子中不同层级实例化的软件组件如何获得唯一名称,进而从 Executable / 进程角度形成唯一标识符。对 AP 软件组件开发人员而言,构建实例说明符转换为特定标识符或使用时有特定形式要求,且要考虑组件不一定由自己部署等情况,按相应方式使用或传递 <上下文标识符>,同时指出 AUTOSAR AP 未规定相关转换等操作,取决于实现者,对于可多次实例化的相关组件,< 上下文标识符 > 构造函数参数可能是解决问题的自然办法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/61500.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 日常使用整理

Android 日常使用 1.打开APP的权限设置页面2.打开设置页面的所有APP列表3.拨打电话4.本地安装apk5.打开系统照相机的方法5.打开系统相册6.图片一般处理6.view的一般处理7.文件的处理 1.打开APP的权限设置页面 Uri uri Uri.parse("package:" "包名"); In…

openharmony napi调试笔记

一、动态库的编译 第一种openharmony交叉编译链配置方法 使用的编译环境是ubuntu20.04 1、使用vscode配置openharmony sdk交叉编译环境 首先下载openharmony的sdk&#xff0c;如native-linux-x64-4.1.7.5-Release.zip 解压后native目录下就是交叉编译用的sdk 在要编译的源…

分离事务通信

分离事务通信&#xff08;或称为分离事务总线&#xff09;在计算机体系结构中&#xff0c;特别是在输入输出&#xff08;I/O&#xff09;系统的设计中&#xff0c;是一个重要的概念。以下是对分离事务通信的详细解释&#xff1a; 一、定义 分离事务通信是一种将总线事务分成请…

力扣面试经典 150(下)

文章目录 二叉树的层次遍历82. 二叉树的右视图83. 二叉树的层平均值84. 二叉树的层序遍历85. 二叉树的锯齿形层序遍历 二叉搜索树86. 二叉搜索树的最小绝对差87. 二叉搜索树中第K 小的元素88. 验证二叉搜索树 图89. 岛屿数量90. 被围绕的区域91. 克隆图92. 除法求值93. 课程表9…

Web3的核心技术:区块链如何确保信息安全与共享

在互联网不断迭代的进程中&#xff0c;Web3被视为下一代互联网的核心发展方向&#xff0c;其目标是构建更加开放、安全、去中心化的数字生态。在这一过程中&#xff0c;区块链作为核心技术&#xff0c;为信息安全与共享提供了全新解决方案。本文将深入探讨区块链如何在Web3中实…

Leetcode 生命游戏

以下是上述Java代码的算法思想及其逻辑的中文解释&#xff1a; 算法思想 这段代码实现了LeetCode第289题“生命游戏”的解决方案。核心思想是&#xff1a; 利用原地修改的方式&#xff08;in-place&#xff09;存储下一状态的变化&#xff1a; 通过引入额外的状态值&#xff0…

JavaScript 中 arguments、类数组与数组的深入解析

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: 前端 文章目录 &#x1f4af;前言&#x1f4af;什么是 arguments 对象2.1 arguments 的定义2.2 arguments 的特性2.3 使用场景 &#x1f4af;深入了解 arguments 的结构3.1 arguments 的内部结构arguments 的关键属性 3.2 类数组…

HTTP 协议的作用

HTTP 主要用于在客户端&#xff08;如 Web 浏览器&#xff09;和服务器之间传输超文本&#xff08;如 HTML 文档&#xff09;以及其他类型的数据&#xff08;如图片、视频、文件等&#xff09;。HTTP 协议的主要作用可以概括为如下几点&#xff1a; 信息交换&#xff1a; HTTP…

开源生态发展合作倡议

在信息技术发展的浪潮中&#xff0c;开源已成为全球创新的强劲引擎&#xff0c;深刻影响着各行各业的发展。今天&#xff0c;我们站在新的历史起点上&#xff0c;肩负着推动开源生态发展的重任。在此&#xff0c;开源欧拉&#xff08;openEuler&#xff09;、龙蜥&#xff08;O…

设计模式-创建型-抽象工厂模式

1.概念 工厂方法模式只能生产一个产品系列&#xff0c;抽象工厂可以生产多个产品系列 2.作用 多个具体产品组成一个产品族&#xff08;产品系列&#xff09;&#xff0c;一个具体工厂负责生产一个产品族 3.应用场景 系统所需产品间由依赖关系&#xff0c;可以划分为同一产…

智能合约运行原理

点个关注吧&#xff01;&#xff01; 用一句话来总结&#xff0c;智能合约就像是一个自动售货机&#xff1a;你投入硬币&#xff08;触发条件&#xff09;&#xff0c;选择商品&#xff08;执行合约&#xff09;&#xff0c;然后机器就会自动给你商品&#xff08;执行结果&…

结合第三方模块requests,文件IO、正则表达式,通过函数封装爬虫应用采集数据

#引用BeautifulSoup更方便提取html信息&#xff1b;requests模块&#xff0c;发生http请求&#xff1b;os模块&#xff0c;文件写入import requests from bs4 import BeautifulSoup import os#当使用requests库发送请求时&#xff0c;如果不设置User - Agent&#xff0c;默认的…

操作系统基础——针对实习面试

目录 操作系统基础什么是操作系统&#xff1f;简述其主要功能请举例几种不同类型的操作系统&#xff0c;并简要说明它们的特点 操作系统基础 什么是操作系统&#xff1f;简述其主要功能 一、操作系统的定义 操作系统&#xff08;Operating System&#xff0c;简称OS&#xff…

深度学习基础练习:代码复现transformer重难点

2024/11/10-2024/11/18: 主要对transformer一些比较难理解的点做了一些整理&#xff0c;希望对读者有所帮助。 前置知识&#xff1a; 深度学习基础练习&#xff1a;从pytorch API出发复现LSTM与LSTMP-CSDN博客 【神经网络】学习笔记十四——Seq2Seq模型-CSDN博客 【官方双语】一…

ESLint的简单使用(js,ts,vue)

一、ESLint介绍 1.为什么要用ESLint 统一团队编码规范&#xff08;命名&#xff0c;格式等&#xff09; 统一语法 减少git不必要的提交 减少低级错误 在编译时检查语法&#xff0c;而不是等js引擎运行时才检查 2.eslint用法 可以手动下载配置 可以通过vue脚手架创建项…

WPF中DataGrid滚动条自动滚动到文字编辑行的实现方法

文章目录 1.需求分析2. 实现步骤3.完整示例4.总结 在 WPF 中&#xff0c;DataGrid 是一个强大的控件&#xff0c;常常用于显示和编辑数据。有时&#xff0c;我们希望当用户在某一行开始编辑时&#xff0c;DataGrid 自动滚动到该行的位置&#xff0c;确保用户能够看到完整的内容…

算法学习笔记(一):滑动窗口和双指针

滑动窗口套路&#xff1a; 核心套路三步骤&#xff1a; 1.入&#xff1a; 下标为 i 的元素进入窗口&#xff0c;更新相关统计量(因为一个元素进入了&#xff0c;则相关统计的数据要更新&#xff0c;就是)&#xff0c;然后进行判断&#xff0c;如果i < k - 1 则continue&…

探索PDFMiner:Python中的PDF解析利器

文章目录 **探索PDFMiner&#xff1a;Python中的PDF解析利器**1. 背景介绍&#xff1a;为何选择PDFMiner&#xff1f;2. PDFMiner是什么&#xff1f;3. 如何安装PDFMiner&#xff1f;4. 简单库函数使用方法4.1 提取文本4.2 获取页面布局信息4.3 提取表格数据4.4 提取图像 5. 应…

前端开发调试之移动端调试学习笔记

一、引言 随着移动互联网的飞速发展&#xff0c;移动端页面和应用的开发变得越发重要。而在前端开发移动端项目时&#xff0c;有效的调试手段能帮助我们及时发现并解决诸多问题&#xff0c;确保项目在移动端设备上能够正常运行且提供良好的用户体验。以下就是关于前端开发中移动…

徒手从零搭建一套ELK日志平台

徒手从零搭建一套ELK日志平台 日志分析的概述日志分析的作用主要收集工具集中式日志系统主要特点采集日志分类ELK概述初级版ELK终极版ELK高级版ELKELK收集日志的两种形式 搭建ELK平台Logstash工作原理Logstash核心概念环境准备安装部署docker添加镜像加速器安装部署Elasticsear…