信息物理融合系统新技术的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机学院
综合性实验报告
课程名称:计算机软件平台技术
开课学期:2015-2016学年第2学期
实验题目:信息物理融合系统建模与验证方法研究课题
软件平台技术综合设计性实验
自选一
一、实验目的与要求
1、了解信息物理融合系统新技术的应用.
2、熟悉CPS的建模与验证方法
3、掌握CPS的模型检验与定理证明
4、熟悉CPS的分析和设计
5、了解CPS在引入时间特性后工业软件工程的严格方法验证分析方法
6、掌握物联信息感知运动时动态性验证和能量控制
二、实验内容与安排方式
1、实验内容与要求:
(1)CPS的体系结构与特性分析
1)阐述CPS的基本特性(包括信息与物体高度集成性、深度嵌入与连通性、事件驱动性、领域相关性、可靠性、实时性、适应性、并发性、异质(构)性、
自治性、分布性、安全性、动态重组和重配置、能量控制等功能特性及其非功
能特性)集成性。物流信息的基本特点就是信息量大,每个环节都需要信息输入,并产生新的信息进入下一环节。所涉及的信息需要集成,并使其产生互动,实现资源共享、减少重复操作、减少差错,从而使得信息更加准确和全面。
与嵌入式系统相比,嵌入式系统侧重在处理器上运行,是一种在有限资源环境下的优化技术。CPS是计算与物理成分的集成,相当于嵌入式系统+网络+控制,是嵌入式系统的发展
方向和研究热点。CPS将计算和通信能力嵌入到传统的物理系统之中,导致了计算对象的
变化。它将计算对象从数字的变为模拟的,从离散的变为连续的,从静态的变为动态的。
它作为计算进程和物理进程的统一体,是集成计算、通信与控制于一体的下一代智能系统。
事件驱动性:物理环境和对象状态的变化构成CPS事件,触发事件——感知——决策——
控制——事件的闭环过程,最终改变物理对象状态
领域相关性:CPS的研究必须着眼于工程应用领域,诸如汽车,石油化工,航空航天,制
造业,民用基础设施等,要着眼于这些系统的容错,安全,集中控制和社会等方面会如何
对他们的设计产生影响
异构性:Cps包含了许多功能与结构各异的子系统,各个子系统之间要通过有线或无线的通
信方式相互协调工作
安全性:CPS的系统规模与复杂性对信息系统安全提出了更高的要求,更重要的是需要理
解与防范恶意攻击通过计算机进程对物理进程的严重威胁,以及CPS用户的被动隐私暴漏
等问题
可靠性:物理世界不是完全可预测和可控的,对于意想不到的条件必须保证CPS的Robustness;同时系统必须满足可靠性,效率,可扩展性和适应性
实时性:要求物理世界发生的事件能够几乎同时地反应到信息世界中,cps是计算与物理过程不断交互的系统,需要实时的感知物理过程并对物理过程进行干预
适应性:指的是cps中任务的完成具有最终期限,如果错过了这个最终期限,那么该任务就不需要再执行了
并发性:并发是物理环境中事件发生的基本特征,目前存在的计算模式基本是顺序的,而且人们似乎已经完全适应了这种计算模式,但是cps是计算和物理过程紧密结合的系统,必须开发新的并发计算软件系统以适应cps的需求
动态重组和重配置;cps的目标是完成各种任务,那么各种资源要能够根据任务的情况,动态的进行重组和重配置,当某些资源失效,如感知设备电池耗尽了,要能够自动的组织其他资源来做补充
2)描述一种层次化的CPS体系结构(包括阐述这种体系结构的划分方法和结构特性,CPS的特性模型描述的一致性)
层次式软件体系结构是把大型软件系统按照功能的扩展性, 分成若干层。为了使开发人员在开发软件时对系统体系结构有一个清晰的把握不至于将一大堆工作混杂在一起而造成系统的维护困难, 我们利用层次软件体系结构来对系统进行层次化的分类。软件系统的最终目标是完成目标系统需求所要求完成的任务。系统的各个组成部分在系统中扮演不同的角, 完成不同的任务, 它们组合在一起共同完成软件系统的所有任务。其中有些部分实现比较底层的操作, 比如与数据库打交道; 有些部分实现某一类数据结构的基本操作, 比如栈、队列的操作等; 还有些部分是专门与系统的最终用户进行交互, 读取用户输入信息, 将结果反馈给用户等。这些不同部分之间有可能是纯粹的聚集关系, 它们在一起只是因为系统需要它们各自的功能来成不同的任务。另外一种关系就可能是层次关系, 实现底层操作的部分为实现较高层操作的部分提供服务。有了底层的基本服务,高层操作就只需要关心本层必须完成的任务。对于底层的操作,它只需要明确定义可以提供给高层的服务接口即可, 其内部可以采用不同的实现方法, 层与层之间是完全透明的, 它们只通过层间的服务接口进行交互。在对软件系统进行分析后首先对它的所有功能进行层次化划分, 然后对每一个层次的功能进行模块化分解。一个层次中可能有多个模块具有相似的功能, 对这些模块进行更深层次的划分, 将相同部分提取出来作为低一层次来对
待, 而上层的不同部分就划分到不同模块中。这样的层次划分和模块化分解一直进行下去, 直到系统所有功能都有一个明确的模块归属为止。这种软件系统的分解采用先水平后垂直的划分方法, 层与层之间的界限是明确的, 但层中的模块内部可能要进行进一步的划分, 这是一个反复迭代的递归分解过程。至于为什么不采用先垂直后水平的划分方法是因为先垂直后水平的方法与传统的" 自上而下, 逐步求精"方法类似, 这种方法不易识别系统底层的公共操作, 减少了底层模块的复用机会, 容易造成不必要的重复开发。在对软件系统进行先水平后垂直的分解过程中, 可能会发现同一层不同模块的内部模块中有功能相似的子模块, 对于这种情况需要将它们的公共部分进行提取, 然后对初始的层次划分进行调整, 将公共部分作为它们的下一个层次, 当前层次只需要去访问公共部分提供的服务。完成软件系统的分解后, 首先按照各模块对上层提供的服务来定义它与上层模块之间的接口。定义好层与层之间的服务接口后, 就可以对各个模块进行独立的设计了。有了这种先进行层次化分解再进行独立设计的方法, 软件开发人员就可完全按照各模块的设计进行独立的开发, 这样就不会再出现将多个层次的东西揉合在一起的情况。为了明确层次化软件构造过程中不同构件所处的层次, 依照软件系统的层次分解思路将构件归属于如下三个层次: 第一,数据操作层构件: 这类构件与数据库打交道, 其主