计算机应用研究
APPLICATION RESERCH OF COMPUTERS
2000  Vol.17　No.1　P.9-11，15




新一代可视化交互集成仿真环境Arena
陈旭　武振业
摘 要 作为目前呼声最高的新一代可视化集成仿真环境，Arena的产生是需要和可能共同作用的结果。在对Arena的产生进行研究的基础上，探讨了Arena的层次结构体系，从输入分析器、可视化柔性建模、输出分析器、Arena定制与集成等方面讨论了Arena的功能特点。最后，探讨了Arena在制造系统、公共系统和服务系统三方面的应用。
关键词 Arena 面向对象技术 可视化技术 集成仿真环境
　　Arena是美国System Modeling公司于1993年开始研制开发的新一代可视化通用交互集成仿真环境。基于SIMAN/CINEMA发展起来的Arena，很好地解决了计算机仿真与可视化技术的有机集成，兼备高级仿真器(simulators)易用性和专用仿真语言柔性(flexibility)的优点，并且还可以与通用过程语言，如：Visual Basic，FORTRAN和C/C++等编写的程序连接运行。目前，System Modeling公司推出的Arena3.02版，代表了现代计算机仿真软件的最新水平[1]。
1　Arena的产生
　　任何新概念、新方法和新商品的产生都是需要和可能二者共同作用的结果，Arena作为商品化的软件也不例外。需要是直接动力，可能是现实基础，二者缺一不可。
1.1　从需要来看
　　以制造业为例，制造业是国民经济的支柱产业之一，对一个国家综合国力的提升可谓举足轻重。为了生产TQCSE产品，即使得生产的产品周期(T)缩减、产品质量(Q)提高、产品成本(C)降低、产品的服务质量(S)更好和对环境(E)无污染，各种先进制造技术(如：计算机集成制造系统(CIMS)、精良生产(LP)，敏捷制造(AM)等)纷纷出现，生产自动化水平不断提高。同时，随着生产自动化水平的提高，生产系统的复杂性、快节奏、柔性和半结构化的特点使得管理决策的机会成本日益昂贵，传统的管理方法难以为继。另一方面，系统仿真具有良好的可控性、无破坏性、可复现性和经济性的特点，能够“用较少的投资换取风险的大幅度降低“，成为理论分析和实物实验之后又一主要的认识客观世界规律性的强有力的手段和工具。作为未来企业管理决策的一项铰约际[2]，系统仿真为传统管理决策难以解决的问题提供了新的方法和思路。同时，系统仿真是以多种学科理论为基础，以计算机及其仿真软件为工具进行实验研究的理论和方法论体系。作为系统仿真工具的仿真软件的发展成为管理决策的迫切的客观需要。
1.2　从可能上看
　　如果仅有需求还只能算是美好的梦想，那么要“梦想成真”则还需要现实的可能。对于Arena，其现实可能可归纳为以下四个方面。
　　(1)Buffon针实验奠定了系统仿真的基本理念和思路[3]。
　　(2)80年代初，微机的问世使系统仿真得到了划时代的发展。原来靠手工无法实现的大规模的计算和实验成为可能。
　　(3)从60年代初的Simula-60和GPSS等仿真软件的问世以来，人们从三、四十年的软件开发和应用历程中积累了较为丰富的实践经验。
　　(4)SIMAN/CINEMA的不断发展则是Arena产生的直接来源。SIMAN和CINEMA都是System Modeling公司开发研究的“主打”产品。SIMAN是一种柔性建模语言，由System Modeling公司于1982年推向市场。CINEMA则是由System Modeling公司于1984年开始推出的与SIMAN配套的计算机动画环境。在随后的十余年里，SIMAN、CINEMA不断推出新产品，成为目前世界上最有影响力的仿真软件之一，为Arena的产生奠定了技术基础。基于SIMAN/CINEMA发展起来的新一代通用可视化交互集成仿真环境，Arena的核心技术来源于SIMAN和CINEMA，又在此基础上有了深刻的变化。其变化的力度不亚于Windows 95相对于Windows 3.2。
　　需求和可能的共同作用使目前呼声最高的仿真环境Arena的产生成为现实。
2　Arena的结构体系
　　专用仿真语言，像GPSS、SIMSCRIPT和SLAM等，具有建模灵活的优点，但是需要花费不少时间学习编程，并且由于特定语法规则的限制，编程较复杂和容易出错。通用过程语言(如：Visual Basic、FORTRAN、C/C++等)更是如此。另一方面，近年出现的仿真器(simulator)，很好地解决了专用仿真语言和通用过程语言使用复杂的特点，采用像直观的鼠标驱动图形用户界面、菜单和对话框等典型操作，简单易用。进行仿真时，只需选择可以获得的仿真建模构造(如：仿真模块等)，将它们连接起来，然后运行所建模型，就可进行仿真，系统成分的可视化图形动画就会随模型的运行而动画和变换。但与此同时，仿真器又往往为了达到易用的目标而损失建模的灵活性，走向了另一个极端。可视化集成仿真环境Arena，则将通用过程语言、专用仿真语言和仿真器的优点有机地整合集成起来，采用面向对象技术、层次化的系统结构(如图1所示)，兼备易用性和建模灵活性两方面的优点。

图1　Arena的层次结构体系
　　一方面，Arena提供了可供选择和可供交替的模板，这些模板由动画仿真建模和分析模块组成，你可以采用这些模块建造范围十分广泛的仿真模型。为了显示、使用和组织的简便，模块被分类组成不同类的模板。这样，通过转换模板，就可以获得完全不同的建模结构和能力，并且这些由来自不同面板和模板模块可以混用来建立一个模型。另一方面，Arena通过完整的体系保持其建模的柔性。Arena的层次结构从下向上建模水平依次提高。在最底层，你可用过程语言(如：VB，FORTRAN或C/C++等)来建造你的模型，常常用来满足复杂的决策规则或外部数据的选取等这些特别的需求。块和元素面板是由SIMAN模块组成的，即SIMAN模板，因而它具有SIMAN的一切优点。支持与运送面板是由SIMAN模块封装后组成的模板，可以进行灵活性更大的建模。常用面板是仿真建模过程中最常用的一些通用模块，它和支持与运送面板一起组成了Arena模板，SIMAN模板、Arena模板则和用户用过程语言(如：VB，FORTRAN或C/C++等)编写的程序一起构成了Arena的标准版本。应用方案模板(Application Solution Templates，简称：ASTs)是System Modeling公司建造的一些常用系统模板，如：先进制造模板、流程再造模板、程控中心模板和其它工业模板等。应用用户生成模板可以生成用户自己公司需要的各种模板，目前用户已经建立了的模板有矿业模板、自动制造业模板、快餐店模板和森林资源管理模板等，Arena的标准版本与ASTs和用户生成模板一起则组成了Arena的专业版本。在建模过程中，你可以从上述模板和面板中获取需要的模块或编写需要的代码，并且所有这些部分，不管在该体系中位置多高或多低，都采用Arena提供的统一的可视化用户界面。这样，就既保证了使用的方便性，又保证了建模的灵活性。此外，在同一工作环境里，Arena还提供了与模型集成的模块动画、动画和图表数据设计分析等可视化技术支持。
3　Arena的功能特点
　　作为新一代可视化交互集成仿真环境，Arena具有强大的功能。下面本文将从输入分析器、可视化柔性建模、输出分析器、Arena定制与集成等方面来讨论Arena的功能特点。
3.1　输入分析器(Input Analyzer)
　　输入数据质量的好坏与系统仿真的质量密切相关。如果输入的数据质量不高甚至是错误的，再好的建模仿真也不过是把错误“精确地”处理了一下，此即所谓的“垃圾进，垃圾出（Garbage in，garbage out）”。传统的系统仿真中的输入数据用手工处理，费事费力且效果不好。在Arena环境下，提供有专门的输入分析器作为Arena的一个标准组成成分来辅助用户进行数据处理。
　　输入分析器是一个功能强大且通用的工具，能够用来拟合你所提供的数据概率分布函数，你可以预先选择分布函数，然后用输入分析器进行相应参数的数字估计，并计算出该分布的拟合质量；你也可以用输入分析器直接对你所提供的数据进行拟合分布，进行相应参数的数字估计，计算出各分布的拟合质量，然后从中选择最合适的一个分布函数。不管那种情况，生成的分布都可直接结合进用户模型。采用输入分析器来拟合你所提供的数据，通常采用以下四个步骤：(1)生成包含你所提供数据的文本文件；(2)在输入分析器里对上述数据拟合一个或多个概率分布；(3)选择合适的概率分布；(4)将借助输入分析器得到的概率分布结合进Arena模型的适当位置。需要注意的是，数据文件需用ASCII的文本文件形式，数据之间用空格或竖线隔开，其它方面的形式(如：如何分行，每行的数据个数等)则没有限制。
　　输入分析器可以用来显示同一个概率分布函数的参数变化影响；还可以产生可被输入分析器分析的随机数流。在实际仿真中，用输入分析器进行分析的数据文件的典型代表是表示随机过程的间隔时间(如：到达间隔时间、一系列加工(服务)时间、相继失败的过程时间等)、实体类型、实体的批次批量等。Arena提供了包括贝塔分布、常数分布、指数分布、经验连续分布、经验离散分布、k阶爱尔朗分布、伽玛分布、约翰逊分布、正态分布、泊松分布、三角分布、均匀分布、维布尔分布等十五种常用的分布函数。
3.2　可视化柔性建模
　　Arena通过采用层次化的体系结构，保证了具有易用性和柔性建模两方面的优点。在Arena环境下，采用的是面向对象的层次建模方法。对象是构成模型的最基本的元素，对象与对象之间相互作用构成了模型。由于对象具有封装和继承的特点，使得对象构成的模型也具有对象的特点，即模型本身也是模块化的。这样，模型又可以与其它模块或对象构成新的更大更复杂的模型，从而形成层次建模，保证了模型层次分明且易于管理。根据不同的类，Arena将模块化的模型组成不同类的模板，不同模板公用一个统一的图形用户界面，不同模板之间转换简便，且来自不同模板的模块可以共同来完成一个模型的建立工作。
　　与传统建模环境SIMAN和可视化环境CINEMA分为独立的两个系统不同的是，在可视化交互集成环境Arena下，建模与可视化技术是集成在一起的。这样，在建模的同时实现模型的可视化表达，提高了可视化建模的效率。
3.3　输出分析器(Output Analyzer)
　　仿真研究的输出数据是科学决策的依据和来源，对系统仿真输出数据进行预加工则是决策的前提。输出分析器作为Arena集成仿真环境的有机组成部分，提供了一个易用的用户界面以帮助用户简化数据分析，使你查看和分析输出数据更加快捷，简便。下面简要讨论一下如何用输出分析器来辅助用户结实和分析系统仿真输出数据。
　　输出数据文件是由一次或多次仿真运行产生，用来记录单个统计观测值和该观测值发生的时间。输出数据文件还可由输出分析器提供的工具(如：为缩短预热期采用过滤产生的数据值等)和外部数据加载产生。Arena环境下提供了七个输出数据文件类型：Counter，Cstat，Dstat，Frequency，Tally，Output，and Batched。Batched类型的输出文件由输出分析器直接产生，其它类型分别由位于SIMAN面板和常用面板的模块产生。为了对输出数据进行分析，常将输出数据文件的数据通过与输出数据处理器交互来进行分组。然后借助输出数据分析器就可对数据进行多样的显示处理(如：条形图(Barchart)、柱状图(Histogram)、移动平均(Moving Average)、曲线图(Plot)、表(Table)等)和功能强大的数理统计分析(如：分批/截断观察(Batch/Truncate Observations)、相关图(Correlogram)分析、古典置信区间(Classical Confidence Interval)分析、标准化时间序列置信区间(Standardized Time Series Confidence Intervals)分析、标准差置信区间(Confidence Interval on Standard Deviation)分析、均值比较(Compare Means)分析、方差比较(Compare Variances)分析、单因素固定效应模型方差分析(one-way analysis of variance (ANOVA) fixed-effects model)等)，为进一步的科学决策提供准确有力的数量支持。
3.4　Arena的定制与集成
　　Arena2.0以上的版本能完全与Microsoft Windows和Microsoft Windows NT等兼容。Arena开发了两项Windows技术以增强桌面应用程序的集成性。一是ActiveX自动化(OLE自动化)，它允许应用程序间通过一个编程界面相互控制。一个应用程序要能够自动化，它必须有一个列出可以控制的应用程序对象的归对象模型，并在安装时注册。这样用户使用一种自动化编程语言并计划利用应用程序的这项功能时，只需建立一个指向引用对象模型的引用即可直接对该模型进行编程。许多桌面应用程序(如：Microsoft Office，AutoCAD和Visio等)都可以自动化(即被其它应用程序控制)，读者可以使用像C++，Visual Basic或Java这样的编程语言来生成控制这些应用程序的程序。Arena开发的第二项应用程序集成技术表述了编程界面的问题。Visual Basic for Application(VBA)是一个包含在桌面应用程序中支持ActiveX自动化的Visual Basic编程环境。使用VBA，用户不用购买附加的编程产品就可以开发出集成的自动化程序。安装了Arena后，通过Tools菜单的Show Visual Basic Editor项或点击相应的工具按钮就可以进入一个完整的Visual Basic编程环境。这两项Windows技术共同作用使得Arena可以和其它支持ActiveX自动化的程序集成到一起。
　　Arena可以控制和定制用户化的输出报表。通过块面板上Arena提供的VBA模块，相关的Visual Basic Editor编写的VB代码，RunBeginSimulation中设置的g-SIMAN变量，用CreateObject ActiveX自动化调用Microsoft Excel，用Excel.Workbooks.Add方法自动化启动Excel，用g-nextRow变量决定行数，以及调用RunEndReplication VBA过程等，来灵活定制用户化的特殊报表。在有很多人需要看仿真结果，特别是一些非仿真人员，这样的特殊报表能够帮助你一种别人很容易理解的格式组织和显示输出数据。
　　Arena还可以通过对象链结与嵌入(OLE)使用其它应用程序的文件和函数。如：在Arena的模型中放入Word文件；建立到Microsoft Powerpoint的链结；添加声音文件；标记Arena对象作为VBA中的标识；增加欢迎窗体等。另外，使用Arena专业版还可以定制用户化的模块和面板。
4　Arena的应用
　　作为通用的可视化交互集成仿真环境，Arena的应用范围十分广泛，几乎覆盖可视化仿真的所有领域。下面按制造系统(生产系统)的应用、公共系统的应用和服务系统的应用三个方面来讨论。
4.1　制造系统(生产系统)的应用[4]
　　制造系统按其物质流、信息流及其相互作用可分为三个部分：生产过程系统、生产管理系统和生产价值系统。Arena在生产系统中的应用，主要有以下几个方面。
　　生产过程系统中的工艺过程计划，设备布置，工件加工轨迹的可视化仿真寻优等。生产管理系统中的生产计划，库存管理，生产控制和产品市场的预测和分析等；生产价值系统中的生产系统的经济性、风险性进行分析，改进生产，降低成本或辅助企业投资决策等。
可视化仿真是先进制造模式(如：计算机集成制造(CIM)、精益生产(LP)、敏捷制造(AM)、并行工程(CE)等)研究的关键技术之一，对各种先进制造模式的可视化仿真成为目前Arena应用研究的让，如：企业流程再造(Business Re-engineering)可视化仿真优化，虚拟组织(Virtual Organization)的建立与管理可视化仿真决策，敏捷供应链(agile supply chain)管理的可视化仿真决策等。
4.2　公共系统的应用
　　Arena在公共系统的应用常见的有：医疗系统的医院临床设备、医生、护士的配备方案选择和医疗改善等)；军事系统的兵力部署、军事后勤系统等；自然资源的环境污染防治，水土资源管理等；公共服务的紧急救援系统，公民诉讼流向等。
4.3　服务系统应用
　　Arena在服务系统的应用也非常广泛，如：交通运输中的高速公路的交通控制，出租车的管理和路线控制，港口运输计划模型，车辆调度等；计算机系统实现中的数据传输，内存队列分析模型评估等；化学工业中的加工设备设计，专用化工产品工厂决策支持等；航空运输中的航线分析，空难疏散中的旅客行为等；通讯系统中的无线电中继站网络分布，电话服务过程，远程通讯网的虚拟现实等。
国家自然科学基金资助项目(No. 79870035)
陈旭（西南交通大学经济管理学院 成都 610031）
武振业（西南交通大学经济管理学院 成都 610031）
参考文献
l，W David Kelton, et al. Simulation with Arena. The Mc Graw-Hill Companies, In., U.S.A, 1998
2，Milan Gregor, Jan Kosturiak. Simulation: Strategic Technique for the Factory's Future. SIMULATION, Vol.69, No.5; 291~305, 1997
3，徐光主编. 计算机模拟与信息技术. 国防科技大学出版社, 1997年10月: p1～10
4，武振业, 陈 旭. 生产系统动画模拟综述. 计算机应用研究, Vol.15, No.4, 1998: 9～11
收稿日期：1999年10月21日
