书籍详情
《体系建模与仿真:基础与实践》[51M]百度网盘|亲测有效|pdf下载
  • 体系建模与仿真:基础与实践

  • 出版社:清华大学出版社
  • 出版时间:2018-04
  • 热度:9335
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

编辑推荐

DEVS是国际著名建模仿真专家Bernard Zeigler教授提出的一种仿真模型描述规范,是仿真领域至今影响*大的理论体系,近年来被广泛应用于复杂系统(体系)的建模仿真。本书系统地介绍了基于DEVS的建模环境MS4 Me及相关技术,并采用大量生动的案例详细介绍了如何在该环境下开展各类系统的建模及仿真试验。是一本学习和使用DEVS的重要读物。

内容简介

本书以全新的编排方式,由浅入深,循循渐进,并吸收现代计算方法介绍信号与系统的基本内容,包括:信号与系统分析的基本概念与方法;连续时间系统与离散时间系统的时域分析;连续信号的傅里叶变换与系统的频域分析;连续信号的拉普拉斯变换与系统本书反应了齐格勒教授及其团队在DEVS方面*新的研究与应用成果,系统且详细地介绍了如何利用DEVS和系统实体结构(SES),在MS4 Me等软件环境支持下,开展各类复杂系统的虚拟构建及仿真试验。

本书共分为三篇,即基本概念篇、高级概念篇和应用篇。第1篇基本概念篇(1至8章)从体系建模仿真的需求引出虚拟构建与试验的概念,这是全书的主题和线索。随后从不同角度介绍了一个可支持虚拟构建与试验的基于DEVS的建模仿真环境MS4 Me,这是第*个商业化DEVS产品。之后的几章对DEVS和SES基本原理进行了较为系统的介绍,对其中涉及的一些基本概念进行了讲解,如特化和修剪,方面和多方面等。

第2篇高级概念篇(9至12章)进一步介绍了MS4 Me等建模仿真环境中所涉及的更加深入的概念和技术,包括DEVS仿真协议、智能体建模和发布/订阅、基于兴趣关注的信息交换、构建DEVS模型的语言等。

第3篇应用篇(13至18章)通过多个实例,介绍了前两篇的概念和工具如何支持针对不同类型系统的虚拟构建与试验。


目录

目录

第Ⅰ篇基 本 概 念

第1章体系建模与仿真

1.1虚拟构建与试验

1.2面向虚拟构建与试验的建模和仿真内涵

1.3多范式建模实现多学科协同

1.4学术背景

1.5体系建模和仿真入门

第2章DEVS集成开发环境

2.1MS4 Me建模仿真环境

2.1.1针对建模仿真用户的介绍


2.1.2针对建模仿真开发人员的介绍


2.2针对建模仿真专家的介绍


2.2.1系统结构和行为


2.2.2有限确定性DEVS


2.2.3系统实体结构


2.3爵士乐队案例


2.4本章小结


附录DEVS的关键属性


参考文献


第3章系统实体结构基础


3.1建模仿真的简单流程


3.2建模仿真过程组件的分解和耦合


3.3建模仿真过程的分层结构


3.4本章小结


第4章DEVS自然语言模型及其细化


4.1在时间序列中生成作业的FDDEVS模型


4.2处理作业的FDDEVS模型


4.3简单的工作流耦合模型


4.4在Java中将FDDEVS细化为具有完整能力的模型


4.5将ProcessorOfJobs细化为Java模型


4.6变换器: 测量作业完成时间和吞吐量的模型


4.7使用细化过程处理不确定性状态转换


4.8使用细化过程处理多路并发输入


4.9使用细化过程生成多路并发输出


4.10使用时序图加快模型开发过程


4.11本章小结


附录变换器FDDEVS文件(Transducer.dnl)


第5章特化和修剪


5.1特化


5.2特化的修剪


5.3特化的多次出现


5.4添加特化的规则: 没有规则


5.4.1根实体下的特化


5.4.2方面实体下的特化


5.4.3特化实体下的特化


5.4.4组合特化


5.5变量和特化


5.6本章小结


第6章方面和多方面


6.1多方面(分解)


6.1.1表达同一实体的不同方面


6.1.2修剪方面


6.1.3方面: 视角和抽象


6.2多方面——实体的多个相关分解


6.2.1方面的局限性


6.2.2多方面重组


6.2.3多方面修剪


6.2.4多方面统一耦合


6.2.5一对多和多对一的耦合


6.2.6基于多方面的分层构建


6.2.7统一成对耦合


6.2.8预定义的耦合规格说明


6.3本章小结


参考文献


第7章管理修剪中的继承


7.1创建带下画线的实例


7.2指定继承的基类


7.3配置基类


7.4修剪中的继承


7.5指定来自子类的继承


7.6本章小结


第8章自动修剪和基于规则的修剪


8.1自动修剪


8.1.1枚举修剪


8.1.2随机修剪


8.2上下文无关修剪及上下文相关修剪


8.2.1上下文相关选择的修剪算法


8.2.2有条件的基于规则的修剪


8.2.3unless或ifnot条件规则


8.2.4实例: 时间严格(timecritical)的建模与仿真


8.2.5从剩余选项中随机选择


8.3本章小结


参考文献


第Ⅱ篇高 级 概 念


第9章DEVS仿真协议


9.1DEVS仿真协议概述


9.2DEVS仿真协议在MS4 Me中的体现


9.2.1接口对象


9.2.2输入输出端口


9.2.3有限确定性离散事件仿真系统(FDDEVS)规格说明


9.3实现DEVS协议的分布式仿真


9.3.1标准的DEVS协议实现


9.3.2基于点对点消息交互的DEVS协议实现


9.3.3基于实时消息交互的DEVS协议实现


9.4作为仿真互操作标准的DEVS协议


9.4.1带事件调度仿真器的DEVS协议


9.4.2关于仿真的互操作性的经验教训


9.5本章小结


附录ASimulator.dnl摘录


附录BCoordinator.dnl摘录


参考文献


第10章动态结构: 智能体建模和发布/订阅


10.1动态结构和智能体建模


10.2基于发布/订阅的数据分发机制


10.2.1发布者


10.2.2订阅者


10.2.3发布/订阅路由器


10.2.4发布/订阅操作


10.3数据分发服务


10.3.1数据分发服务中的DEVS仿真协议


10.3.2DEVS信息


10.3.3相关端口和通信主题


10.4本章小结


附录AExcerpts from PublishSubscribeRouter.dnl


附录BExcerpts from Agent.dnl


参考文献


第11章基于兴趣关注的信息交换:映射与模型


11.1背景


11.1.1汽车购买中的信息框架应用实例


11.2网络数据收集里的应用


11.2.1网络流量数据表示


11.3映射方法


11.3.1多方面映射


11.4交换XML的DEVS模型


11.4.1生成XML文件的模型


11.4.2用DEVS模型描述基于系统实体结构的

XML映射


11.4.3主系统实体结构到基于兴趣关注的系统

实体结构的映射


11.4.4交换相同XML的模型


11.5本章小结


附录系统实体结构实例


参考文献


第12章构建DEVS模型的语言


12.1原子模型的受限自然语言规格说明


12.1.1FDDEVS模型的局限性


12.1.2FDDEVS增强设施


12.1.3增强设施的开发优势


12.2分层耦合模型的受限自然语言规格说明


12.3DEVS和UML


12.4本章小结


附录FDDEVS的形式化定义


参考文献


第Ⅲ篇应用


第13章柔性建模的支撑环境


13.1通过开发过程支持多路径


13.2SOA(面向服务架构)中作为服务的建模仿真工具


13.3实例研究: 分体式卫星系统


13.3.1建模仿真支撑环境如何适应各类利益相关方


13.3.2系统实体结构: MSE柔性的关键支撑


13.3.3建模仿真支撑环境的实现: 面向服务架构


13.3.4建模仿真支撑环境的仿真服务


13.3.5使用Web服务的仿真


13.4建模仿真支撑环境操作: 线程实例


13.5本章小结


附录


参考文献


第14章基于服务的软件系统


14.1引言


14.2基于服务的软件系统


14.3面向服务的体系架构


14.4SOADEVS仿真建模


14.4.1简单模型


14.4.2复合模型


14.5SOADEVS 模型组件


14.5.1通用消息


14.5.2简单服务


14.5.3复合服务模型


14.6仿真模型范例


14.7动态结构SOAD


14.7.1代理执行模型设计


14.7.2扁平和分层模型组合


14.8本章小结


14.9练习


参考文献


第15章云系统仿真建模


15.1引言


15.2软件/硬件协同设计


15.3SOCDEVS SW/HW建模


15.3.1软件服务系统模型


15.3.2硬件系统模型


15.3.3服务系统映射


15.4面向服务的语音通信系统


15.4.1基本度量


15.4.2仿真参数估计


15.4.3实验设置和执行


15.4.4实例仿真结果


15.5本章小结


参考文献


第16章体系模型库


16.1引言


16.2逻辑化、可视化和持久化建模的统一


16.2.1简单的网络病毒模型


16.2.2模板、模板实例和实例模型的类型


16.2.3仿真和非仿真类型的模型


16.2.4逻辑模型


16.2.5可视化模型


16.2.6持久化模型


16.2.7模型命名空间


16.3CoSMoS进程生命周期


16.4CoSMoS云建模


16.4.1硬件模型


16.4.2软件模型


16.4.3软件(服务)系统映射模型


16.4.4模型约束


16.5本章小结


参考文献


第17章基于体系的生命系统建模与仿真


17.1生命系统建模与仿真中的挑战


17.2DEVS和VLE为何适用于生命系统建模和仿真


17.2.1系统方法: 涌现与规模转换


17.2.2异构形式和生命系统复杂性


17.2.3VLE和试验计划


17.3动物流行病的监测和控制


17.3.1动机和目标


17.3.2模型描述


17.3.3仿真结果


17.4植物生长模型


17.4.1动机和目标


17.4.2Ecomeristem模型


17.4.3总体功能


17.4.4拓扑


17.4.5DEVS的实现


17.4.6验证


17.4.7结论


17.5生命系统的模型连续性


17.6本章小结


参考文献


第18章基于活跃度的体系实现


18.1能量与活跃度


18.2体系原型构建


18.3实验框架和定时需求


18.4体系模型中的能量和活跃度


18.5活跃度概念综述


18.6定时需求、能量和活跃度


18.7体系实例: 扑救森林火灾


18.8体系硬件实现的有关活动


18.9实验测试


18.10本章小结


附录Quantizer.dnl



精彩书摘

第3章系统实体结构基础

在这一章中,将会看到系统实体结构(SES)是如何帮助构建复杂系统模型的。实际上,SES可以让我们更好地了解构建模型的过程。建模仿真(M&S)指的是为不同的目的而开展的一系列活动,例如通过仿真建模可以从可选的方案中选出最合适的; 针对复杂的技术建立仿真器用于训练; 提供对搭建虚拟环境的支持以及提供对复杂系统的测试(正如第1章所讲的)。在学习基于离散事件仿真(DEVS)工具的建模仿真理论(本书的重点)之前,站在一定的高度弄明白建模仿真(M&S)过程中的活动是很有帮助的。

将活动可视化为一个过程或者是完成一项任务的一系列步骤(在某种程度上类似于软件开发过程),虽然有些简单,但的确是一个好的开始。这里讨论的M&S任务是利用仿真模型帮助我们从可选的方案中做出最好的决策。这一过程可以用以下步骤描述。

(1) 明确本次建模仿真任务的目标——用于决策选择的模型开发可能隐含多种不同的目标。

(2) 收集相关数据。

(3) 构建模型。

(4) 运行模型。

(5) 解释仿真结果。

这里需要注意,虽然构建模型和运行模型是这一过程的核心,其他的活动,例如基础工作(步骤1、2)和结果说明(步骤5)也是不能忽略的。作为一个建模仿真开发人员,成功很大程度上依赖于对这些次要活动的理解和与其他人的合作能力。

3.1建模仿真的简单流程

在这种简单的形式中,建模仿真过程可以用“瀑布”的形式来表示,它从开始运行一直到结束而不会中途返回到之前的步骤(如图3.1所示)。

接下来将使用这种建模仿真的活动形式来介绍系统实体结构(SES)和DEVS的建模支撑工具MS4 Me。在后面的第13章,将返回来讨论MS4 Me是如何支持更真实更灵活的建模仿真过程的。

本书将会使用MS4 Me环境中的相关工具,利用系统实体结构(SES)构建图3.1中描述的建模仿真过程。图3.2展示了利用MS4 Me开展图3.1所示建模仿真过程的架构图。可以看出在图3.2中,建模仿真过程被当作是一个实体MSProcessSystem,这个实体被分解成为图3.1中的各个步骤,这些步骤也分别对应于图3.2中具有相关名字的实体。

图3.1“瀑布”形式的建模仿真过程

图3.2建模仿真过程的系统实体结构图

我们将以这种形式分别介绍建模仿真的各种活动和系统实体结构的基本形式。基于上述过程,可以生成一个仿真过程的动画,在这个仿真动画中可以看到,代表仿真对象一系列活动的各个模

依次被激活和这些模块之间的消息流动。

3.2建模仿真过程组件的分解和耦合

SES的两个特性是分解和耦合。分解指的是如何将一个实体分解成为多个实体,这些分解出来的实体在后面可以代表一个模型中的各个组件。耦合指的是组件之间信息如何流动。接下来看看MS4 Me环境是如何帮助我们构建SES的。第一步,指定SES的顶级实体和它的子实体,如下所示:

From the process perspective,MSProcessSystem is made ofUser,ClarifyObjectivesStep,

DataGatherStep,ConstructModelStep,ExecuteModelStep,and InterpretResultsStep!

注意,这些子实体(忽略顺序)在“is made of”短语之后,它们作为组件在一个特殊的分解标签之后,例如“From the…perspective”短语的“process”标签。这句话的常数部分用加粗字体表示,用户消息部分用普通字体表示。“process”标签使我们能够将组件耦合在一起。例如下面这句话:


From the process perspective,User sends InitialObjectives to ClarifyObjectivesStep!

这句话说明了User组件能够发送名为InitialObjectives的消息给ClarifyObjectivesStep组件。一个模型在任何时间是否真正输出InitialObjectives依赖于模型本身。当然,在这种耦合语句中的实体必须在“made of”语句中已经声明。下一语句:

from the process perspective,ClarifyObjectivesStep sends ClearObjectives to DataGatherStep!

该语句说明了ClarifyObjectivesStep组件能够发送名为ClearObjectives的消息给DataGatherStep组件。从这两句耦合语句可以看出ClarifyObjectivesStep获得了一个输入InitialObjectives,处理这个输入的同时产生了ClearObjectives输出。这与这个组件的名字也是一致的。

接下来这些耦合语句的意思是比较明显的:


from the process perspective,DataGatherStep sends ValidData to ConstructModelStep!


from the process perspective,ConstructModelStep sends ValidModel to ExecuteModelStep!


from the process perspective,ExecuteModelStep sends ExperimentSummaries to InterpretResultsStep!


from the process perspective,InterpretResultsStep sends RankedAlternatives to user!

上述语句定义的耦合出现在SES的架构中: 耦合的这种展示方法相对于原始的自然语言文本更容易阅读理解。

下面这句话也是一个耦合语句,但是它把全部的过程关联到了一个组件:

From the process perspective,MSProcessSystem sends StartUp to User!

该语句意思是,包含模型MSProcessSystem(encompassing model)发送一个StartUp消息给User组件。

上述语句的语义在MS4 Me仿真可视化工具中可以清晰地展示(见图3.4)。

练习

回顾上面讨论的语句,核对它们是否符合表3.1中的输入输出。

表3.1组件的输入输出

组件输入输出

UserStartUpInitialObjectives

UserRankedAlternatives no output 

ClarifyObjectivesPhaseInitialObjectivesClearObjectives

DataGatherPhaseClearObjectivesValidData

ConstructModelPhaseValidDataValidModel

ExecuteModelPhaseValidModelExperimentSummaries

InterpretResultsPhaseExperimentSummariesRankedAlternatives

如表3.1的输入输出表在由MS4 Me生成SES的仿真动画中发挥着重要的作用。由分析程序可导出各个实体之间的输入输出关系,通过分析参考这些表格的输入输出行为建立各个组件的模型。如果一个模型只有一个输入和输出,那么当这个模型接收到一个输入,它就生成一个输出来响应。如果一个模型有多个输入和输出,那么当这个模型接收到一个输入时将会产生多个输出,除非进行更改,这是因为SES的耦合特性,也可以理解为信息流,但是不能准确地指出哪些会输出。换句话说,只能推断实体模型的可能的输入输出关系(任何特定的输入可以产生任何特定的输出)。这种松耦合的行为不会按照你的意愿配对,所以你需要在模型中消除一些不希望出现的输入输出对。例如,在MSProcessSystem的SES中,User这个模块有两个输入: StartUp和RankedAlternatives,一个输出: InitialObjectives。表3.1列出了User组件在RankedAlternatives输入后没有输出,这是因为我们并不关心User是如何处理输入信号RankedAlternatives(产生输出信号或者返回M&S步骤)的,但是,在这个表中,这两个输入都生成了输出,所以需要移除不需要的输入输出对(RankedAlternatives和InitialObjectives)确保模型按照我们的意愿工作。

总结一下,如果这个模型可以按照实体所在的SES的耦合特性接收输入同时产生输出,那么我们说这个模型和这个实体是相容(Compatible)的。由于SES分析器仅能够分析与实体相关的耦合,因此它仅仅能够解决与这个实体相容的模型选择问题。

练习

针对以下描述提供一个反例,即总是有可能单独从一个SES的分析中推断出开发人员打算替换哪个模型作为实体中的一个组件。提示: 编写一个SES,包含一个实体,这个实体接收到两个不同的输入消息,产生两个不同的输出消息,要求至少有两个和实体的耦合特性相容的模型,但是要有不同的输入输出表。

3.3建模仿真过程的分层结构

接下来我们更加详细地研究建模仿真的全过程,将图3.1和图3.2的步骤按以下规则进行分解。

 把“明确目标”分解为明确需求(指明建模应支持的决策功能)、明确值(如何测量模型的输出)和明确加权(如何对这些测量值进行加权)。

 把“收集数据”分解为获取正确的数据、核对这些数据是否能代表被建模系统。

 把“构建模型”分解为定义一个模型、实现模型、校准模型以及用未使用过的或者新收集的相关数据验证模型。

 把“运行模型”分解为生成可选决策、运行仿真实验——用于对模型进行各种可选方案的评估。

 把“解读仿真结果”分解为评估可选方案、对方案排序并提供给用户参考。

建模仿真过程更详细的描述可以在SES中表示,所以它不仅仅是一个一级结构,而是一个分层结构。对比图3.3中的扁平模型,一个分模型包含至少一个组件,同时它自己又是由各个子组件构成的。下面我们以数据收集步骤为例来展示SES是如何实现这一点的。考虑DataGather阶段包含两个组件,getData和validateData(注意这里由于转换会导致相同的名字出现,我们使用“阶段(Phase)”代替了“步骤(Step)”来避免两种类型模型——原子模型和耦合模型的冲突),对于MSProcessSystem,我们用以下语句表示它的组成:


From the dataGather perspective,DataGatherPhase is made of getData and validateData!

图3.3建模仿真过程的系统实体耦合结构图

图3.4SES生成的DEVS耦合模型的仿真查看器


这句话的作用是将添加图3.5中DataGatherPhase下面的实体。


图3.5分解DataGatherPhase的SES扩展结构图



考虑下面这些耦合语句(对照图3.5):


From the dataGather perspective,DataGatherPhase sends ClearObjectives to getData!


From the dataGather perspective,validateData sends ValidData to DataGatherPhase!


From the dataGather perspective,getData sends Data to validateData!

前两个语句提到父实体DataGatherPhase,而第三个语句只提到它的子实体。第一句话是“外部输入耦合”的例子,它的意思是DataGatherPhase能够发送一个ClearObjectives信号给它的子组件getData。第二句话是“外部输出耦合”的例子,它的意思是子组件validateData能够向它的父实体DataGatherPhase发送validData信号。第三句话是“内部耦合”的例子,它描述了子实体getData和validateData的耦合关系。

MSProcessSystem的分层耦合模型的可视化形式如图3.6所示,展示了DataGatherPhase的子结构的耦合模型。注意这里的耦合包括DataGatherPhase作为MSProcessSystem子组件的耦合和DataGatherPhase作为getData、validateData父组件的耦合,这就允许发送给DataGatherPhase的ClearObjectives消息向下传递给它的子组件getData,类似地,validateData组件向上发送消息给它的父组件DataGatherPhase。

通过上面的描述,我们得到一个分解特性中重要的耦合原则: 当分解一个实体时,要使外部输入和外部输出的耦合与父实体的内部耦合相一致。

MSProcessSystem的分层模型如图3.7所示。

练习

扩展MSProcessSystem的SES,添加DataGatherPhase以外其他组件分解后的子组件; 将下列字段添加到原始的SES中,修剪并生成仿真查看器和动画; 将生成的各个组件仿真查看器和下面的仿真查看器进行比较; 比较顶层模型的仿真查看器和本节最后给出的模型; 在每个仿真例子中,观察动画产生的消息流,并思考消息的传输是如何由耦合引发的,思考为什么耦合被规定为既定的方式,并且试验其他可选的耦合给消息流带来的影响。

分解ClarifyObjectivesPhase:


From the clarifyObjectives perspective,ClarifyObjectivesPhase is made of clarifyRequirements,clarifyValues,and clarifyWeights!


From the clarifyObjectives perspective,ClarifyObjectivesPhase sends InitialObjectives to clarifyRequirements!

From the clarifyObjectives perspective,ClarifyObjectivesPhase sends InitialObjectives to clarifyValues!


From the clarifyObjectives perspective,ClarifyObjectivesPhase sends InitialObjectives to clarifyWeights!


From the clarifyObjectives perspective,clarifyRequirements sends ClearObjectives to ClarifyObjectivesPhase!


From the clarifyObjectives perspective,clarifyValues sends ClearObjectives to ClarifyObjectivesPhase!


From the clarifyObjectives perspective,clarifyWeights sends ClearObjectives to ClarifyObjectivesPhase!


这可以产生图3.8的分解图。


图3.8ClarifyObjectivesPhase的分解图

分解ConstructModelPhase:


From the constructModel perspective,ConstructModelPhase is made of defineModel,implementModel,calibrateModel,and validateModel!


From the constructModel perspective,ConstructModelPhase sends ValidData to defineModel!


From the constructModel perspective,defineModel sends ModelDefinition to implementModel!


From the constructModel perspective,implementModel sends ImplementedModel to calibrateModel!


From the constructModel perspective,calibrateModel sends CalibratedModel to validateModel!


From the constructModel perspective,validateModel sends ValidModel to ConstructModelPhase!


这可以产生图3.9的分解图。

图3.9ContructModePhase的分解图

分解ExecuteModelPhase:


From the executeModel perspective,ExecuteModelPhase is made of generateAlternatives and runExperiments!


From the executeModel perspective,ExecuteModelPhase sends ValidModel to generateAlternatives!


From the executeModel perspective,generateAlternatives sends Alternatives to runExperiments!


From the executeModel perspective,runExperiments sends ExperimentSummaries to ExecuteModelPhase!


这可以产生图3.10的分解图。


图3.10ExecuteModelPhase的分解图

分解InterpretResultPhase:


From the interpretResults perspective,InterpretResultsPhase is made of evaluateAlternatives and rankAlternatives!


From the interpretResults perspective,InterpretResultsPhase sends ExperimentSummaries to evaluateAlternatives!


From the interpretResults perspective,evaluateAlternatives sends EvaluatedAlternatives to rankAlternatives!


From the interpretResults perspective,rankAlternatives sends rankedAlternatives to InterpretResultsPhase!



前言/序言


复杂系统(Systems of Systems)又称体系,指的是一类具有系统组成与层次关系复杂、系统机理复杂、系统的子系统间以及系统与其环境之间交互关系复杂和能量交换复杂,其总体行为呈现出定性定量混合、变结构、自适应、非线性、涌现、不确定、协同、博弈、混沌等特点的系统。

复杂系统的研究与实施,对促进社会经济发展、巩固加强国防建设、提高人民生活质量有着十分重大的意义。实践表明,复杂系统建模与仿真技术是复杂系统研制与应用的重要手段,并正成为现代建模与仿真技术领域的一个研究热点。

原书英文版作者美国B.P.Zeigler教授是国际建模仿真领域最有影响力的学者之一,他提出的离散事件系统规范(DEVS)是仿真领域最重要的基础理论之一,其代表作《建模仿真理论》是迄今为止对建模仿真领域影响最大的著作。本书作为Zeigler教授在2013年的力作,凝聚了他在《建模仿真理论》出版以来的最新研究工作成果。

书中介绍了Zeigler教授团队最新开发的基于离散事件系统规范(DEVS)和系统实体结构(SES)的软件包,阐述了如何基于该软件以及智能体(Agent)、云(Cloud)、服务(Service)等新兴技术,对典型复杂系统进行构建、分析和仿真的方法。

此外,作为第一本讲述如何在系统设计中综合考虑能量与信息处理需求的著作,本书提出了一种针对生态系统的建模仿真方法,该方法的创新性在于综合考虑了能量/资源消耗与信息处理成本,能实现生态系统的优化分析与设计。

感谢北京航空航天大学张霖教授、宋晓副教授和北京信息科技大学吴迎年副教授的辛勤工作,他们多年来从事建模仿真领域的相关研究,具有丰富的英文写作与翻译经验,相信他们的专业经验能帮助读者更好地学习和掌握Zeigler教授在复杂系统建模仿真领域的最新研究成果。

李伯虎

中国工程院院士

2016年12月




中文版序

本书围绕体系(Systems of Systems,SoS)仿真的“虚拟构建与试验”这一中心主题展开讨论,书中所讨论到的不同技术概念和工具都围绕该主题并以之为线索。

体系的虚拟构建与测试可以由离散事件系统规范(DEVS)建模和系统实体结构(SES)本体所支持。本书讲述DEVS和SES的基本原理,以奠定DEVS系统工程的重要基础。并进一步介绍如何在MS4 Me工具集中执行它们。该书分为三部分。第一部分涉及DEVS和SES基础,从而引出第二部分中的高级概念。本书前两部分提出的想法已经成功应用于许多现实生活中的项目,在本书第三部分给出了这些项目的介绍。

我们与本书译者张霖教授等有长期的学术合作和交流,我们欣喜地发现近年来中国在复杂系统(体系)建模与仿真方面取得了十分出色的成绩,具有发展体系仿真技术的广沃土壤。感谢他们将本书译为中文,为中国读者阅读此书提供了更方便的渠道。

Bernard P. Zeigler

2016年12月






译者序

作为国际仿真领域最重要的学者之一,伯纳德·P.齐格勒(Bernard P. Zeigler)教授的每一本著作都会引起学术界的广泛关注。齐格勒教授于20世纪70年代提出的离散事件系统规范(DEVS)至今仍具有强大的生命力,国际上每年都有以DEVS为主题的学术研讨会以及有关DEVS的研究和应用的论文发表。通过与云技术、智能体、服务科学等新一代信息技术的结合,使得DEVS在处理复杂系统的能力上有了进一步的提高。近年来,齐格勒教授本人花费大量精力致力于DEVS的推广应用,亲自指导开发了基于DEVS的一系列重要的建模仿真工具,如MS4 Me。

本书反映了齐格勒教授及其团队在DEVS方面最新的研究与应用成果,系统且详细地介绍了如何利用DEVS和系统实体结构(SES),在MS4 Me等软件环境支持下,开展各类复杂系统的虚拟构建及仿真试验。

  本书共分为三篇,即基本概念篇、高级概念篇和应用篇。第Ⅰ篇基本概念篇(第1章至第8章)从体系建模仿真的需求引出虚拟构建与试验的概念,这是全书的主题和线索。随后从不同角度介绍了一个可支持虚拟构建与试验的基于DEVS的建模仿真环境MS4 Me,这是第一个商业化DEVS产品。之后的几章对DEVS和SES基本原理进行了较为系统的介绍,对其中涉及的一些基本概念进行了讲解,如特化和修剪、方面和多方面等。

  第Ⅱ篇高级概念篇(第9章至第12章)进一步介绍了MS4 Me等建模仿真环境中所涉及的更加深入的概念和技术,包括DEVS仿真协议、智能体建模和发布/订阅、基于兴趣关注的信息交换、构建DEVS模型的语言等。

  第Ⅲ篇应用篇(第13章至第18章)通过多个实例,介绍了前两篇的概念和工具如何支持针对不同类型系统的虚拟构建与试验。

  全书从实例出发,深入浅出,操作性强,既可作为大专院校研究生教材,也可作为工程开发人员的指导手册,同时也是科研人员深入了解和研究DEVS的参考书。

  体系建模与仿真是当今仿真领域的重大研究课题,有着极为重要的应用价值。DEVS理论和工具是支持体系建模与仿真的一种重要手段,有着广泛的应用前景。本书译者与齐格勒教授及其团队有多年的合作与交流,受其委托将此书介绍给中国读者,希望能对我国深入开展体系建模与仿真的研究和应用提供一些参考和帮助。翻译中若有错误和不妥之处,敬请指正。

张霖宋晓吴迎年


2017年1月




原书序

体系(Systems of Systems,SoS)仿真是解决21世纪全球经济、气候和能源等诸多系统所面临挑战的基本方法。一般情况下,我们习惯于在现实世界中直接建立这类系统,然而建立现实世界所对应的物理系统越来越危险,成本越来越高,而且可能存在道德问题或者具有较大风险,因此很多时候不具备建立真实物理系统的条件。在这种情况下,唯一可行的方案是在虚拟系统中构建与测试。本书中,将采用离散事件系统规范(DEVS)和系统实体结构(SES)仿真模型本体支持体系的虚拟构建与试验。

本书引导读者使用基于DEVS和SES的软件工具处理各种与体系仿真相关的问题,包括基于云技术的人工系统以及诸如农业食品作物的生活系统。同时,本书将深入介绍商业和开源的DEVS建模仿真环境。

本书提出在系统设计时考虑能量和信息处理的需求。本书的研究方法与基于DEVS的系统设计具有相同的理念和内在脉络,同时允许虚拟地构建与测试系统,并具备模拟生态系统的能力,以平衡其信息处理功能及其中的能量和资源消耗情况。

致谢: 感谢所有为本书出版做出贡献的开发者和用户。特别感谢Doohwan Kim、Chungman Seo、Robert Coop、Ranjit Singh、Robert Flasher、TingShen Fu、Weilong Hu、Vignesh Elamvazhuthi、Phillip Hammonds、Miguel Soto、Raphal Duboz和JeanChristophe Soulié,正是他们的奉献精神、努力工作和专业知识,使DEVS概念可以在包括MS4 METM,DEVSSuite,CosMoS和VLE等软件环境中得以实现。