《使用AADL的模型基工程》读书笔记(一)

news2024/11/27 17:43:04

1. 什么是模型基工程?

模型基工程(Model-Based Engineering,MBE)旨在建立和分析系统模型,这样就能够预测和了解该系统的能力和工作质量属性 (如性能、可靠性或信息安全性)。在系统集成和验收试验之前,很难发现一些系统级的问题,而通过模型基工程,就可以避免在开发和维修中进行为时已晚的、昂贵的返工。

模型是客观事物的抽象表示。而模型基工程是通过使用规范语言构建的系统模型,完成包括软件密集型系统的分析、设计、构建、演示验证、使用和维护等各项活动在内的工程开发。下图说明了基于模型构建的软件系统的建模和验证过程

如图,领域要求无关或应用要求无关的平台无关模型(Platform Independent Model ,PIM),通常是利用UML/xUML 构建的;平台要求相关的平台特定模型 (Platform Specific Model,PSM) ,则需在利用软件工具转换PIM 的基础上,结合 AADL 构建。这两种模型之间的转换过程是一个可逆的过程。也就是说,如果新的可执行系统没有达到规定功能和性能要求 (包括互用性要求),也可将执行系统的执行代码逆向转换为PSM 乃至PIM ,再利用UMI/xUML修改或重新构建PIM,继而结合新统的特定配置文件,转换成新的 PSM,然后再继续原流程,验证系统的规定功能和性能。故而,上述转换过程实际上是一个可迭代的过程

上述 UML/xUML 与 AADL 建模语言的区别是UML/xUML 只是一种纯软件的建模方法,而AADL 所建立的模型中则既包含了软件要素(软件组件),也包含了硬件要素 (硬件组件)。故而,前者所建立的模型只是一个从概念数据视角和逻辑数据视角构建的平台无关的抽象。而后者所建立的模型则是一个从平台数据视角构建的平台特定的抽象。这是一种需经不断细化和迭代的建模和模型转换的过程。

需要指出,图中的转换工具和代码生成器也是两个很关键的环节。目前,有不少软件开发商已开发出作为货架商品的这类模型自动转换工具和代码自动生成器。而在 PIM 与 PSM 之间的正反向转换也是可以利用转换工具自动执行的。

2. 什么是体系结构分析和设计语言?

体系结构分析和设计语言(Architecture Analysis and Design Language,AADL)是SAE 国际标准 (AS 5506A), 是用于模型基软件系统工程的统一框架,可使用它获取静态的模块化体系结构、以通信任务为基础的运行时体系结构、用于部署软件的计算机平台体系结构,以及与之进行系统交互的任何物理系统或环境。使用AADL,可以在单一的体系结构模型中获取静态结构和动态,并且解释其与各种工作特性的分析相关的信息。

由 AADL 提供的概念,如线程、进程或设备,已经明确地定义了执行语义,这种执行语义使得我们能够进行系统分析。此外,利用其扩展性的结构组成,可以将自定义分析和规范技术与核心 AADL 能力结合起来,以便为体系结构建模和分析建立一个完整的工程环境。

AADL是一个用以区分各种组件接口规范 (组件类型说明)、组件实现蓝图 (组件实现说明) 以及组件实例 (分组件说明) 之间的区别的组件基建模语言。组件类型和组件实现指的是组件分类符。AADL 还区分了具有特定语义的组件类别之间的区别,以实现应用软件(如线程、进程、数据)、执行平台(如处理器、总线、设备) 和复合组件(系统)建模。AADL标准文件使用诸如系统类型说明 (System Type Declaration) 或系统实现说明 (System Implementation Delaration) 的术语。

3. 为什么需要AADL?

传统的制造后测试型系统设计方法,在构建当今的嵌入式、软件依赖性系统十分费时费力,而且成本昂贵。而我们可以利用 AADL 可以通过建模,对诸如性能、可信性、系统安全和数据完整性一类的关键性实时因素,进行简练而严格的分析,并能够在用户工程环境下集成额外建立的客户分析/规范技术,开发完全统一的体系结构模型,从而使得用户能够更容易地构建满足要求的可靠系统

4. 本书的示例应用系统是什么?

本书使用汽艇自动驾驶仪 (PBA) 控制系统作为全书示例的基础。PBA 是用于海上船只的速度、导航和制导控制的嵌入式实时系统。但是,PBA 是为提供一个验证 AADL的背景而建立的杜撰的发明,它并不代表任一特定的民用、军用或研究系统。当 PBA 作为一个海上应用示例时,它代表一个大范围应用的飞行器 (包括飞机、航天飞机、汽车和其他陆地车辆) 控制的关键要素。

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

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

相关文章

【数据结构】——排序算法的相关习题

目录 一、选择题题型一 (插入排序)1、直接插入排序2、折半插入排序3、希尔排序 题型二(交换排序)1、冒泡排序2、快速排序 题型三(选择排序)1、简单选择排序~2、堆排序 ~题型四(归并排序&#xf…

测试平台项目部署二(手动部署改成Dockerfile)

测试平台项目部署二(手动部署改成Dockerfile) 一、Dockerfile制作1、entrypoint.sh制作2、构建镜像3、启动容器二、遇到的问题1、pip install --no-cache-dir -r requirements.txt安装第三方库时,报Installing build dependencies: started2、安装第三方库文件比较慢,考虑更…

可以在图片上编辑文字的软件推荐?来试试这几款

在图片上编辑文字的优势之一是可以更好地传达信息。有时候,图片本身可能不足以清楚地说明重点,但是添加文字可以强调或澄清要点。此外,对于社交媒体等视觉重要的平台,图像上的文字可以更好地吸引用户的注意力和交流。那么有哪些可…

TypeScript类型兼容:结构化类型

🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 1. 鸭子类型:定义和示例 2. 鸭子类型的优点 2.1 代码的灵活性 2.2 代码的复用 2.3 与 JavaScript 的…

ACM模板二:树、图、并查集、DancingLink

目录 〇,全文说明、宏定义代码 一,二叉树 二,树状数组、线段树 三,多叉树 四,并查集、DancingLink、无向图、最小生成树 五,有向图、单源最短路径、连通分量、拓扑排序 六,网格图、回路链…

关于 Resolution(分辨率、解析力)各单位的意义及相互之间的换算

1、问题背景 最近在调试的项目,有关于对解析力的要求,用 imatest 软件测试 MTF50 的值,如下图所示,可以看到他有不同的单位表示,LW/PH、Cycles/pixel 。另外关于解析力的单位还有LP/mm、L/mm、Cycles/mm、LP/PH&#…

学生护眼灯用白炽灯还是led?专业的学生护眼灯推荐

现在的护眼灯逐渐成为了孩子们学习路上必不可少的一盏灯具,它比普通的台灯光线更加均匀舒适,而且更加护眼。因此也成为了家长们呵护孩子视力健康的一大“帮手”,不过护眼台灯的种类也有很多,最近就有家长问孩子使用的护眼灯是白炽…

用GPT干的18件事,能够真正提高学习生产力,建议收藏

用GPT干的18件事,能够真正提高学习生产力,建议收藏。 语法更正 文本翻译 语言转换 代码解释 修复代码错误 作为百科全书 信息提取 好友聊天 创意生成器 采访问题 论文大纲 故事创作 问题类比 创建 SQL 需求 情感分析 将产品描述转变为广告 关键字提取 闲…

Tailwind CSS 初学者指南

Tailwind CSS是一个实用程序优先的CSS框架,允许您快速构建现代网站,而无需离开HTML。它是 Web 开发社区中最流行和使用最广泛的 CSS 框架之一,每月下载量超过 250 万次1。在本文中,我们将探讨 Tailwind CSS 2023 的路线图&#xf…

go string类型简叙

字符串赋值后就不能修改 var str string "abcd" str[0] f //这里就有能修改str内容字符串的两种表示形式 双引号,会识别转义字符反引号,以字符串的原生形式输出,包括换行和特殊字符,可以实现防止攻击、输出输出源代…

el-table表格中加入输入框

<template><div class"box"><div class"btn"><el-button type"primary">发送评委</el-button><el-button type"primary" click"flag true" v-if"!flag">编辑</el-button…

Android EditText筛选+选择功能开发

在日常开发中经常会遇到这种需求&#xff0c;EditText既需要可以筛选&#xff0c;又可以点击选择。这里筛选功能用的是AutoCompleteTextView&#xff0c;选择功能使用的是第三方库https://github.com/kongzue/DialogX。 Android AutoCompleteTextView(自动完成文本框)的基本使用…

Mozilla 紧急修补 Firefox 和 Thunderbird 中的 WebP 严重零日漏洞

Mozilla 周二发布了安全更新&#xff0c;修复了 Firefox 和 Thunderbird 中的一个关键零日漏洞。 该漏洞被标记为 CVE-2023-4863&#xff0c;是 WebP 图像格式中的堆缓冲区溢出漏洞&#xff0c;在处理特制图像时可能导致任意代码执行。 Mozilla 在一份公告中说&#xff0c;打…

MyBatisPlus(二)基础Mapperr接口:增删改查

MyBatisPlus&#xff1a;基础Mapper接口&#xff1a;增删改查 插入一条数据 代码 Testpublic void insert() {User user new User();user.setId(6L);user.setName("张三");user.setAge(25);user.setEmail("zhangsanexample.com");userMapper.insert(use…

系统安全漏洞检测技术第三方检测机构

安全测试报告 建立一个安全的Web系统一直是很多企业的目标&#xff0c;一个比较实用的方法就是建立比较容易实现的相对安全的系统&#xff0c;同时按照一定的安全策略建立相应的安全辅助系统&#xff0c;系统安全漏洞检测就是这样一类安全辅助系统。 系统安全漏洞检测技术 1、…

Kali Linux基础篇(一) 信息收集

一、前言 1、信息收集分主动信息收集和被动信息收集 主动方式&#xff1a;攻击者直接访问网站&#xff0c;对网站做出扫描、探测等行为&#xff0c;目标系统可能会记录操作信息被动方式&#xff1a;利用第三方的服务访问目标&#xff0c;被动信息收集不会留下访问痕迹&#x…

华三路由交换技术基础——计算机网络基础

计算机网络&#xff1a; 定义&#xff1a;一组具有自治权的计算机互联的集合 作用&#xff1a; 1.共享信息资源 2.分解式处理信息 4.负载均衡 5.综合信息服务 它是计算机技术与通信技术的两个领域的结合 一&#xff0c;计算机网络中的基本概念&#xff1a; 局域网&#xff…

js中如何判断一个变量是否为数字类型?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐使用Number.isNaN()方法⭐使用正则表达式⭐使用isNaN()函数⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个…

线性代数的本质(二)——线性变换与矩阵

文章目录 线性变换与矩阵线性变换与二阶方阵常见的线性变换复合变换与矩阵乘法矩阵的定义列空间与基矩阵的秩逆变换与逆矩阵 线性变换与矩阵 线性变换与二阶方阵 本节从二维平面出发学习线性代数。通常选用平面坐标系 O x y Oxy Oxy &#xff0c;基向量为 i , j \mathbf i,…

【Linux网络编程】Socket-UDP实例

这份代码利用下面所有知识编写了一个简易聊天室&#xff08;基于Linux操作系统&#xff09;。虽然字数挺多其实并不复杂&#xff0c;这里如果能够看完或许会对你的知识进行一下串联&#xff0c;这篇文章比较杂并且网络编程这块知识需要用到系统编程的知识&#xff0c;希望能帮助…