版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
6.2嵌入式软件
同学们大家好,本次课程我们了解一下嵌入式软件定义、发展与特征,探究一下嵌入式
软件对于工业软件行业发展的帮助。
首先我们了解一下什么是嵌入式软件,嵌入式软件就是嵌入在硬件中的操作系统和开发
工具软件,它在产业中的关联关系体现为:芯片设计制造一嵌入式系统软件一嵌入式电子设
备开发、制造。
嵌入式软件与嵌入式系统是密不可分的,嵌入式系统一般由嵌入式微处理器、核心硬件
设备、嵌入式操作系统以及用户的应用程序4个部分组成,用于实现对其他设备的控制、监
视或管理等功能。嵌入式软件就是基于嵌入式系统设计的软件,它也是计算机软件的一种,
同样由程序及其文档组成,是嵌入式系统的重要组成部分。
在嵌入式软件的发展过程中经历了两个阶段。
第一阶段:早期所采用的嵌入式系统设计与实现方法,一般严格采用“硬件优先”的设计
原则。这就要求设计者在只粗略估计软件任务要求的情况下,进行•■个硬件的设计和实现工
作。然后,在完成这个的硬件平台的设计实现之上,接着进行软件的设计。因此这很难能够
在短期范围内完全达到充分利用硬件软件资源并取得最佳工作性能要求的效果。同时,如果
在测试时发现问题,需要对设计进行修改时,整个设计沆程则需要重新进行,这对成本和设
计周期的影响是十分复杂而巨大的。这种相对比较传统的设计方法只能做到改善硬件或者软
件本身的性能,在有限的设计空间不可能对系统做出比较好的性能优化,这在很大程度上是
基于设计者长期以来积累的经验。
第二阶段:从90年代中后期开始,随着电子系统功能的口益成熟和高度微型化,系统
设计所涉及的各种问题越来越多,实施难度相对来说也越来越大。同时硬件和软件两个名词
也发展成了密不可分的两个概念,出现了软硬件协同(codesign)全新的设计方法,即使用
统一科学的方法和技术工具管理软硬件,这样有利于更高性能以及更低代价的优化设计方
案。
嵌入式软件具有以下的特点:
1)独特的实用性:嵌入式软件是服务于嵌入式系统的,它需要同时与外部硬件和设备
保持联系密切。嵌入式系统的核心是应用,嵌入式软件是应用系统,根据应用需求定向开发,
面向产业、面向市场,需要特定的行业经验。
2)灵活的适用性:嵌入式软件通常可以认为是一种模块化软件,它可以便捷地运用到
各种嵌入式系统中,并且不会破坏或修改原有的系统特性和功能。
3)程序代码精简:由于嵌入式系统本身的应用一般都有小体积、小存储空间、低成本、
低功耗等要求,嵌入式软件和大型机上的软件相比,具有代码精简、执行效率高等特点。
4)可靠性、稳定性高:嵌入式系统应用要求一般较为苛刻,特别是在涉及安全相关的
领域,如汽车电子、工业控制、航空航天等,这些领域的嵌入式系统不仅要求硬件可靠,还
对嵌入式软件提出了更高的要求。嵌入式软件需要运行可靠、稳定,具有错误处理及故障恢
复等功能。
在嵌入式系统当中,系统软件和应用软件运行在目标平台上(即嵌入式设备上),而对
于各种软件开发工具来说,它们大部分都运行在开发平令(PC机)上,运行Windows或
Linux操作系统。
本次课程我们就到这里,感谢聆听。
6.3工业APP
同学们大家好,本次课程我们来了解一下工业APP,工业APP是基于工业互联网,承
载工业知识和经验,满足特定需求的工业应用软件。工业APP承载工业技术知识、经验与
规律的形式化工业应用程序,是工业技术软件化的重要成果。
工业APP是为了解决特定问题、满足特定需要而将工业领域的各种流程、方法、数据、
信息、规律、经验、知识等工业技术要素,通过海量数据建模与分析、结构化整理、系统性
抽象提取,并基于统一的标准,将这些工业技术要素封装固化后所形成的一种可高效重用和
广泛传播的工业应用程序。
工业APP是工业技术软件化的重要工业科技成果,本质上是一种与原宿主解耦的工业
技术经验、规律与知识的沉淀、转化和应用的载体。
了解工业APP所承载和封装的具体工业技术知识对象
1)经典数学公式、经验公式。
2)业务逻辑(包括产品设计逻辑、CAD建模逻辑、CAE仿真分析逻辑、制造过程逻
辑)。
3)数据对象模型、数据交换模型。
4)领域机理知识(包括航空、航天、汽车、能源、电子、冶金、化工、轨道交通等行业
机理知识,机械、电子、液压、控制、热、流体、电磁、光学、材料等专业知识,车、铳、
刨、磨、馍、热、表、铸、锻、焊等工艺制造领域的知识,配方、配料、工艺过程与工艺参
数的知识,以及故障、失效等模型,还可以是关于设备操作与运行的逻辑、经验与数据)。
5)工具软件适配器,工业设备适配器。
6)数学模型(设备健康预测模型、大数据算法模型、人工智能算法模型)。
7)将多领域知识进行特征化建模形成的知识特征化模型。
8)人机交互界面。
工'业APP有两个关注点,第一是关注对工业数据的建模以及对模型的持续优化,第二
是关注对已有工业技术知识的提取与抽象。两类不同的关注对象形成两大类工业APP,大多
数工棍互联网平台所做的都是工业数据建模。
工业APP强调解耦、标准化与体系化。
强调解耦是要解决知识的沉淀与重用,通过工业技术要素的解耦才能实现工业技术知识
的有效沉淀与重用;
强调标准化是要解决数据模型和工业技术知识的重用及重用效率,通过标准化使得工业
APP可以被广泛重用,并且可以让使用者不需要关注数据模型和知识本身,而直接进行高效
使用;
强调体系化是要解决完整工业技术体系的形成,以便通过整个体系中不同工业APP的
组合,完成复杂的工业应用。工业APP解决特定的问题,当需要解决复杂问题时,必须通
过一系列的APP组合来支撑,所以要形成面向不同工业、不同行业的工业APP生态才能完
成对复杂对象的描述与应用。
工业APP可以让工业技术经验与知识得到更好的保护与传承、更快的运转、更大规模
的应用,从而H吾甚至百倍地放大工业技术的效应,推动工业知识的沉淀、复用和重构。
作为一种特殊的工业应用程序,工业APP具有如卜7个方面的典型特征,从而区别于
一般的工业软件或工业应用程序。
1)完整地表达一个或多个特定功能,解决特定的问题每一个工业APP都是可以完整地
表达一个或多个特定的功能,解决特定的具体问题的工业应用程序。这是工业APP区别于
一般的工具软件和工业软件的特征,工具软件和工业软件的功能通常具有普适性,可解决一
大类相似的问题。
2)工业技术要素的载体工业APP是工业技术要素的载体,在工业APP中封装了具有
特定功能和解决特定问题的流程、逻辑、数据流、经验、算法、知识、规律等工业技术要素,
工•业APP固化这些技术要素,每一个工业APP都是一些特定工业技术要素结合特定应用场
景的集合与载体,这一特征赋予工业APP知识的属性。
3)工业技术要素与原宿主解耦从工业APP的定义看,工业APP是要高效重用并广泛
传播的一种工业应用程序,如果工业APP承载的工业技术要素不能与原宿主解耦,高效重
用和广泛传播的目标就很难达成。因此,工业APP所承载的工业技术要素必须与原宿主解
耦。这里所说的原宿主可以是拥有工业技术经验、掌握规律与知识的人或由人构成的组织,
也可以是隐含或潜藏着规律与特性的客观存在的某一个事物。
4)小轻灵,可组合,每一个工业APP都非常小巧灵活,一个复杂的问题可以通过不同
工业APP的交互组合来解决。
5)结构化和形式化工'也APP是流程与方法、信息与规律、经验与知识等工业技术要素
进行结构化整理和抽象提取后的一种显性表达,结构化提供了可组合应用的基础。以图形化
方式定义这些技术要素及其相互之间的关系,并提供图形化人机交互界面,以及可视的输入
输出,方便工业技术知识的广泛重用。
6)轻代码化轻代码化不是排斥代码。工业APP需要一个非常庞大的生态来支撑,这就
要求让掌握了工业技术知识的广大工程技术人员尽量都能参与到工业APP生态建设的进程
中.所以,工业APP的开发主体一定是“工业人”,而不是“IT人”.这就要求工业APP的开
发是在一种图形化的环境中通过简单的拖、拉、拽等操作和定义完成的,不需要代码或仅需
要少量代码。
即便如此,工业APP并不排斥通过代码方式实现的工业用途的APP。轻代码化的特征
主要是从工业APP生态形成的角度,对生态中绝大多数工业APP实现方式的归纳。
7)平台化可移植工业APP集合与固化了解决特定问题的工业技术要素,因此,工业
APP可以在工、Ik互联网平台中不依赖于特定的环境运行。
平台化可移植这个特征与工业APP建模密切相关,由于工业领域四类模型的不同建模
方式和所需建模引擎的差异,工业APP的平台化将以工业互联网平台能否提供完善的建模
引擎为前提。只有提供通用的建模引擎时,工业APP才能实现平台化可移植。
工业APP的这7个典型特征充分映射了工业APP的根本目的:
•便于“工业人”实现经验与知识的沉淀;
•便于利用数据与信息转化为规律与特性涌现;
•便于将经验与隐性知识转化为显性知识;
•便于在一个共享的氛围中实现知识的社会化传播;
•结构化、显性化、特征化表达,便于知识的高效应用。
工'业APP本质上是•种与原宿主解耦的工业技术经验、规律与知识的沉淀、转化和使
用的应用程序载体。其中包含三层意思:”第一,工业APP是工业技术经验、规律与知识的
沉淀、转化和应用的载体;第二,这种工业技术经验、规律与知识必须是与原宿主解耦的;
第三,这种融合了工业技术知识的应用程序,为人们一直以来孜孜以求的“知识驱动的应用J
从工业APP的本质来说,有以下几个比较容易混淆的问题必须明确:
1)工业APP承载的是已经与人解耦的结构化、显性化、特征化表达的工业技术知识、
经验与规律。
2)工业APP不承载设施设备等资源,虽然设施设备也是各种工业技术的集合与成果,
但是由于这种设施设备中的工'业技术并没有被抽取出来,便其独立存在并可与该设施设备解
耦,因此不能说这个设施设备资源可以作为工业APP。但是,工业APP可以承载操作与使
用设施设备的经验与知识,以及通过数据所发现的规律。
3)要注意区分利用工业APP定义、描述以及实现的工业品实例与工业APP的差别,
定义、描述以及实现某工业品对象的工业应用程序是工业APP,但是工业品实例不能作为工
业APP。
4)APP的应用是一种“知识驱动的应用”,如知识驱动的设计等应用"工业APP实现了
以前大家一直想要实现的“知识驱动设计”。
在工业APP驱动产品设计的过程中,工程师不需要直接操作CAD和CAE分析软件来
进行设计,只需要在人机交互时输入与飞机总体设计相关的需求和技术参数,而其他建模和
分析过程全部由APP中所承载的工业知识驱动完成,这就是典型的知识驱动设计。
本次课程我们就到这里,感谢聆听。
6.4基于微服务的云原生架构
同学们大家好,本次课程我们来了解基于微服务的云原生架构。在工业软件中,软件架
构非常重要,其中最先进的就是云原生架构,云原生架构本质上也是一种软件架构,最大的
特点是在云环境下运行,也算是微服务的一种延伸。
在讲云原生之前,我们先了解一下CNCF,即云原生计算基金会,2015年由谷歌牵头成
立,基金会成员目前已有一百多企业与机构,包括亚马逊、微软。思科等巨头。
CNCF给出了云原生应用的三大特征:
容器化封装:以容器为基础,提高整体开发水平,形成代码和组件重用,简化云原生应
用程序的维护。在容器中运行应用程序和进程,并作为应用程序部署的独立单元,实现高水
平资源隔离。
动态管理:通过集中式的编排调度系统来动态的管理和调度。
面向微服务:明确服务间的依赖,互相解耦。
云原生包含了•组应用的模式,用于帮助企业快速,持续,可靠,规模化地交付业务软
件。云原生由微服务架构,DevOps和以容器为代表的敏捷基础架构组成。
12-Factors经常被直译为12要素,也被称为12原则,12原则由公有云PaaS的先驱
Heroku「2012年提出(hltps:〃12factor.neI/),目的是告诉开发者如何利用云平台提供的便
利来开发更具可靠性和扩展性、更加易于维护的云原生应用。具体如下:
•基准代码
•显式声明依赖关系
•在环境中存储配置
•把后端服务当作附加资源
•严格分离构建、发布和运行
•无状态进程
•通过端口绑定提供服务
•通过进程模型进行扩展
•快速启动和优雅终止
•开发环境与线上环境等价
•日志作为事件流
•管理进程
另外还有补充的三点:
•API声明管理
•认证和授权
•监控与告警
距离12原则的提出已有五年多,12原则的有些细节可能已经不那么跟得上时代,也有
人批评12原则的提出从一开始就有过于依赖Heroku自身特性的倾向。不过不管怎么说,12
原则依旧是业界最为系统的云原生应用开发指南。
最近几年docker容器化技术很火,经常在各种场合能够听到关于docker的分享。Docker
让开发工程师可以将他们的应用和依赖封装到一个可移植的容器中。Docker背后的想法是
创建软件程序可移植的轻量容器,让其可以在任何安装了Docker的机器上运行,而不用关
心底层操作系统。
Docker可以解决虚拟机能够解决的问题,同时也能够解决虚拟机由于资源要求过高而
无法解决的问题。其优势包括:
•隔离应用依赖
•创建应用镜像并进行复制
•创建容易分发的即启即用的应用
•允许实例简单、快速地扩展
•测试应用并随后销毁它们
自动化运维工具可以降低环境搭建的复杂度,但仍然不能从根本上解决环境的问题。在
看似稳定而成熟的场景下,使用Docker的好处越来越多。
JimmySong对云原生架构中运用服务编排的总结是:Kubcrnetes-----让容器应用进入大
规模工业生产“
这个总结确实很贴切3编排调度的开源组件还有:Kubernetes>Mesos和Dockerswarm。
Kubernetes是目前世界上关注度最高的开源项目,它是一个出色的容器编排系统。
Kubemetes出身于互联网行业的巨头Google公司,它借鉴了由上百位工程师花费十多年时
间打造Borg系统的理念,通过极其简易的安装,以及灵活的网络层对接方式,提供一站式
的服务。
Mess则更善丁构建个可靠的平台,用以运行多任务关键工作负载,包括Duckci容
器、遗留应用程序(例如Java)和分布式数据服务(例如Spark、Kafka、CassandraElastic)o
Mesos采用两级调度的架构,开发人员可以很方便的结合公司业务场景自定制
MesosFramework。
他们为云原生应用提供的强有力的编排和调度能力,它们是云平台上的分布式操作系统。
在单机上运行容器,无法发挥它的最大效能,只有形成集群,才能最大程度发挥容器的良好
隔离、资源分配与编排管理的优势,而对于容器的编排管埋,Swarm.Mesos和Kubemetes
的大战已经基本宣告结束,kubemeles成为了无可争议的赢家。
传统的web开发方式,一般被称为单体架构(Monolithic)所有的功能打包在一个WAR
包里,基本没有外部依赖(除了容器),部署在一个JEE容器(Tomcat,JBoss,WebLogic)
里,包含了DO/DAO,Service,UI等所有逻辑。
单体架构进行演化升级之后,过渡到SOA架构,即面向服务架构。近几年微服务架构
(Micro-ServiceArcheticture)是最流行的架构风格,旨在通过将功能模块分解到各个独立的
子系统中以实现解耦,它并没有一成不变的规定,而是需要根据业务来做设计。微服务架构
是对SOA的传承,是SOA的具体实践方法。微服务架沟中,每个微服务模块只是对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理管理中的团队建设与领导力
- VTE护理中的患者安全
- 大丰市小海中学高二生物三同步课程讲义第讲植物的激素调节
- 2025秋人教版初中美术九年级上册知识点及期末测试卷及答案
- 2025年保密信息交换协议
- 基于人工智能的地理信息挖掘与分析
- 复杂背景手势追踪
- 基于同态加密的图像敏感信息处理
- 土地权属登记信息化
- 2026 年中职康复治疗技术(康复管理)试题及答案
- 2025中国融通资产管理集团有限公司招聘(230人)(公共基础知识)测试题附答案解析
- 2026年哈尔滨传媒职业学院单招职业倾向性考试题库附答案
- 2025云南省人民检察院招聘22人考试笔试备考题库及答案解析
- 2025国家统计局齐齐哈尔调查队招聘公益性岗位5人笔试考试备考题库及答案解析
- 水厂设备调试与试运行方案详解
- 2025陕西陕煤集团神南产业发展有限公司招聘120人参考笔试试题及答案解析
- 2026光大永明人寿校园招聘参考笔试题库及答案解析
- 2025年江苏省镇江市辅警协警笔试笔试真题(附答案)
- 2025年煤矿安全生产管理人员安全资格培训考试机电运输知识题库及答案
- 线性规划完整课件
- 食品食材采购入围供应商项目投标方案
评论
0/150
提交评论