模型为什么需要仿真
建模的目的是能够预测未来的结果,而仿真无疑让预测更加真实。通过模型仿真可以:
发现未来的业务或者系统中潜在的瓶颈、低效或问题,
验证行为模型的正确性,
降低不确定性带来的返工成本。
模型仿真具有以下优点:
可以对概念模型的行为进行仿真,验证行为模型的正确性。
可以动态跟踪并突出显示模型中的活动节点。
更好地理解模型是如何工作运行的。
改善沟通和可视化系统是如何真正运作的。
降低复杂性和风险。
分析变更对系统或业务流程的影响。
支持UML活动(活动图)、交互(顺序图)、状态机(状态图)和BPMN业务流程(BPMN)的仿真。
可以对哪些图进行仿真
在EA中可以对哪些图进行仿真
活动图
状态图
时序图
BPMN等
下面简要介绍一下这些仿真。
顺序图仿真
模拟对象之间按照时间的进行的消息交互,
在仿真的时候可以对其中的判定条件进行选择,
也可以对已有的软件逆向生成顺序图。
状态图仿真
建模状态图。
模拟事件观察状态的变化。
可以设置断点暂停仿真。
可以检查调用堆栈,在运行时检查仿真变量。
活动图仿真:
建模活动图。
启动仿真,按照时序执行活动过程。
可以设置断点。
可以监视变量、调用堆栈。
BPMN仿真
建模BPMN工作流程。
仿真BPMN工作流执行过程。
分析业务流程,以确定瓶颈。
更改仿真的性能参数,评估业务流程的性能。
EA中的仿真器有哪些功能
EA中的仿真的功能是由仿真器(Simulator)负责的,它可以支持以上提到的各种仿真,具有如下功能:
触发器
监护条件
事件
堆栈
断点设置
变量监视
如何进行仿真
仿真属于EA中比较复杂的功能,需要正确的建模,严谨的操作。下面以贷款审批为例讲解仿真的应用方法。
这个仿真示例项目包括如下部分:
业务流程建模(BPMN工作流图)
业务决策建模(状态图)
界面原型建模(界面原型图)
如下图所示:
如下是贷款申请、审批业务流程的模型(采用BPMN建模):
BPMN建模的业务流程图可以进行仿真。操作方法是:选择Simulate,点击Start开始仿真,如下图:
接下来进行决策影响分析,根据贷款系统用户管理功能用例,设计用户登录的状态图,如下图:
对于登录的判定逻辑采用状态图进行建模,然后对界面原型建模。如下图:
把登录判定的状态图和界面原型关联,以便进行联合仿真。进入登录状态的时候会显示界面,然后界面上输入的用户名和密码会发送给状态图的判定条件,以便执行相应的判定规则,判断是否登录成功,会根据判定结果转入不同的状态,如下图:
基于SysML的参数图仿真
EA还可以进行SysML的参数图仿真,方法如下:
首先建立参数图以便描述算法,包括输入、输出和算法单元。
然后定义输入的参数来源。
选择监视到输出参数。
执行仿真,显示输出的参数面板,了解计算的结果。
EA的Sys ML参数图仿真 可以对接三种执行环境:
Matlab Simulink
OpenModelica
GNU Octave
如下是EA结合 Matlab Simulink的仿真界面截图:
如下是基于OpenModelica编译与运行环境的仿真界面截图:
如下是EA结合Octave的仿真界面截图:
EA具有的多种仿真功能,可以帮助用户根据需要选择适合的仿真:
如果是工作流建模,采用BPMN+BPSim仿真
如果是状态建模,采用状态图仿真
如果是状态模型+code生成,采用可执行状态机仿真;
如果是算法,采用Sys ML参数图仿真,可以根据需要选择3中执行环境:MatlabSimulink、Octave、OpenModelica。
如果是活动过程,可以采用活动图仿真。
如果要描述对象之间的交互,采用顺序图仿真。
如果您希望了解更多信息:
下载 pdf版:《EA模型的仿真-验证未来》
本文使用的建模工具为EA,可以下载试用版http://tool.uml.com.cn/ToolsEA/download.asp
后记
希望您读了此文后有所受益。
如果您有经验乐于分享,欢迎投稿给我们。
如果您对我们的培训、咨询和工具感兴趣:
|