UML软件工程组织

面向系统建模的模型集成
来源:e-works 作者: 唐锡晋

摘要 本文简述了模型集成有关的问题。模型集成是为了系统建模,其研究始于模型管理,但前者扩展了后者的范围,特别是在对复杂的社会经济或环境问题建模时。怎样实现模型集成?本文总结了 3 种方法,自上而下,自下而上和系统方法。文章最后并例举目前比较常用的模型集成平台和一些典型的模型集成的例子。

 关键词 模型 系统建模 模型集成

•  引言

使用模型就像找专家咨询来帮助解决问题。当问题既不寻常又少见,有必要寻求多方意见而综合考虑,这是对系统建模中模型集成的一个很通俗的解释。规范一些, 系统 是一些对象或部件如人、资源、概念或者过程的集合,以完成某些功能或者达到某个目标。 模型 是有关一个系统、理论或现象的一个概要性的描述,它阐明已知或可推出的性征以用于深入的研究。 在分析问题时,常需要创建一个或多个模型,特别是对于复杂的问题。多个模型的组织是模型集成所考虑的问题。但模型集成不仅仅囿于单纯地建立模型间的连接,它与系统建模过程紧密联系。关于模型集成的研究因领域人员对模型的理解而有所不同,尤其体现在运筹 / 管理科学和信息系统领域人员对此问题的认识上,实际表现为对模型与知识的区别。 从知识工程来看,知识可定义为一种模式 (pattern) ,而模型是一种特殊形式的模式。知识表达可以是专家系统知识库中的逻辑形式,亦可以是各种分析形式的表达。从其他领域,特别是运筹与管理领域,则持相反的观点,认为模式是一种特殊形式的模型 [1] 。关于知识与模型的争论始终持续着,这也反映在决策支持系统的发展上。 DSS 最初是基于模型的,有优化模型、仿真模型、启发式模型、其它的描述型模型、预测模型等等。模型的增多,就有一个管理以提高效率的问题。 20 世纪 70 年代中期数据库技术发展开始成熟,人们借鉴数据管理上的方法实现模型管理。由于数学模型的结构不能显性表达,简单套用数据管理的方法实现模型管理有很大的局限,因为建模是复杂的、迭代的过程,于是发展了支持建模过程的模型管理。建模过程包括 识别问题、创建、实现、验证、求解、分析和维护模型等任务, 支持建模过程即提供相应的工具,这些工具有任务表达的语言并能执行完成任务的操作。而具体实现时“模型集成”被视为创建模型的一个目标。

关于模型管理的一些代表性的综述,较早的有 Elam 和 Lee 主编的 1986 年在 Decision Support Systems 第 2 卷第 1 期对过去 6 、 7 年研究的思考和今后研究的展望 [2] ,之后有 Shetty, Bhargava 和 Krishnan 等主编的 Annals of Operations Research1992 年的一期专集 [3] , Blanning 主编的 1993 年 Decision Support Systems 的一期专集 [4] ,正是 6 、 7 年前展望的一些成果。最新的一篇综述由 Krishnan 和 Chari 所著, 2000 年在网络杂志 Interactive Transactions of ORMS 上发表 [5] 。 93-94 年间涌现了大批有关模型管理的文献,体现了该领域的丰富成果。而模型集成逐渐不再视为模型管理的一支,它已涵盖模型创建任务中的所有问题。但自那以后直到 2000 年的 6 、 7 年间很少有深刻或全面的文章,研究似乎处于低潮。实际上,深入的研究走向将理论研究成果应用于现实的复杂性,涌现了一批面向特定领域或问题的建模支持软件。另一方面,互联网技术自 90 年代以来的迅猛发展为模型集成与管理带来了新的机遇和挑战,如分布式技术。

 本文集中讨论模型集成,它源于考虑这样的问题:面对新问题没有现成模型时,系统建模者如何利用已有资源(模型和经验)而构建一个关于问题的描述模型,以深入探索?

•  模型集成与集成式建模环境

•  模型表达

在过去的十几年间模型管理的主要成就体现在模型表达,有三个主要流派:结构建模、逻辑建模和图建模。结构建模 (structured modeling) 是一种基于图论的标准的描述型模板,它扩充了数据库技术中的语义数据模型以描述数学模型中的复杂性 [6] 。结构建模允许用户在不同的抽象层面上以图形、文本或代数形式察看模型。逻辑建模 (logic modeling) 是人工智能和数学规划的一种结合,主要是应用一阶逻辑表达模型知识 [7] 。图建模 (graph grammars) 将模型比喻为图,从而提供了一种形象化的模型表达方式 [8] 。这种描述和操纵模型的方式在使用可视化程序设计技术时特别有利于模型的实现。这三种模型表达方式相互借鉴,相互融合也是模型表达重要的研究领域 [9,10] 。

•  集成方式

模型集成有两类广泛的议题,即结构 (scheme) 集成和过程 (process ) 或求解器的集成 [11] 。这是从技术角度根据传统的程序设计语言考虑的。结构集成指合并两个模型的体系以创立一个新模型。过程集成指求解过程的连接;简单地可理解为一个模型的输入是另一个模型的输出,问题是求解过程的组织序列是否可以推理出来。这里值得研究的问题很多,如化解冲突、模型表达、求解控制等。这时模型不再被视为黑盒子,而是玻璃盒子。允许访问模型的全部结构的设计是极为复杂的。目前有关研究主要在化解冲突和模型表达上。给定模型结构变化的范围,人们怎样才能判定集成的模型是有效的?在这方面最著名的工作是 Geoffrion 的结构建模。文 [11] 则是过程集成方面的先驱性的工作,其中也讨论了从组织视角和实现视角等方面的考察。当一个组织有模型集成的动机时一般立足于战略性建模,因为有效的战略规划需要集成有关特定功能和操作的各种模型,如后勤管理系统中的复杂操作。而实现视角则关注于面向对象的集成式建模环境。不过目前大多数的理论研究集中于技术角度。

 Geoffrion 从结构建模的角度对应于结构 / 过程集成对模型集成方式作了一种划分:纵深 (deep) 集成和功能 (functional) 集成 [12] 。纵深集成合成两个以上的模型以创建一个新的模型;新模型采用同样的表达方式。功能集成并不产生同样表达方式的新模型。通过叠加一个计算议程而协调模型的运算,议程规定了如何实现功能集成。典型的如指定某些已有模型的输出是另外一些模型的输入但需要明确模型运算的顺序。

 区分这两种集成很重要,更重要的是辨明什么需要集成。 Geoffrion 解释了四种层次的模型抽象:模型实例 (instance), 模型类 (class), 模型或问题模板 (paradigm) 和模型领域 (tradition) [13] 。如一个传统的运输模型可视为 Hitchcock -Koopmans 运输模型类的一个实例,后者又是运筹 / 管理领域的网络流建模问题;其他一些相关的建模领域可能包括数据库管理和人工智能。以下为 10 种可能的集成类型(其中两个指两个或两个以上):

•  两个建模领域的接合;

•  一个建模领域中两个问题的接合;

•  不同建模领域中两个问题的接合;

•  同一领域同一问题的两个模型类的接合;

•  同一领域不同问题的两个模型类的接合;

•  不同领域和问题的两个模型类的接合;

•  同一领域同一问题同一模型类的两个模型实例的接合;

•  同一领域同一问题不同模型类的两个模型实例的接合;

•  同一领域不同问题的不同模型类的两个模型实例的接合;

•  不同领域的不同问题的不同模型类的两个模型实例的接合;

 其中类型( 1-3 )的集成由于涉及建模领域和问题的混杂属于病态结构问题,只有当其他类型的集成讨论清楚后才好深入讨论。显然, 4<5<6 和 7<8<9<10 ;这里 < 表示更容易研究。这样的偏序关系用于指导研究投入的分配是很谨慎的,因为功能集成不必像纵深集成那样协调不同的模型类或实例。它更适合处理更难研究的集成类型,所以功能集成比纵深集成更实际些。类型 (8-10) 可能没有多少意义,因为多数基于模型的工作更多地关注模型的类。在这样的前提下, Geoffrion 认为应当更关注类型 (4-7) 。如果类型 (4-5) 的研究没有显著的进展时,类型 (6) 的研究也是很难深入的。文 [14] 给出了各种类型的例子。

 •  集成建模环境

 自 1988 年以来集成建模环境 (integrated modeling environment) 就是夏威夷国际系统科学会议知识与决策支持系统主题中的一个分主题,讨论包括模型管理方面所有的论题并围绕决策支持建模有关的不同的理论与实践问题。 IME 可加快模型集成的过程,主要用于模型集成的快速实现。在模型实现过程中需要考虑 4 个原则: ① 模型数据的独立性; ② 模型求解器的独立性; ③ 模型模板的独立性; ④ 元表达和元推理。

 电子数据表和计划系统是很流行的模型实现工具;但它们不支持模型数据的独立性,因为每个电子数据表模型是一个模型实例。这在理解、验证和维护方面限制了模型的规模。不过电子数据表保证求解器的独立。如这些工具中有优化模型、回归模型,它们互有联系。

 此外建模语言及其支持环境也是一种 IME 。代数建模语言是一种提高建模效率的工具,较有名的有 GAMS [15] 和 AMPL [16] 。 GAMS 支持求解器独立,但不支持模型数据或模板独立。 AMPL 支持模型数据和求解器独立,但不支持模板独立。没有一种代数建模语言支持元表达或推理。关系型建模语言则根据一些数学规划模型扩展了数据库中常用 SQL 语言。这种方式最显著的优点是采用数据字典获得一些元信息,以支持元推理。还有基于三种模型表达而发展的模型语言如结构建模语言有 SML ,逻辑建模语言 TEFA [17] 和图建模语言 NETWORKS [8] 。它们的设计发展也努力遵循模型实现的四原则。

模型集成支持工具的发展紧随技术进步,如软件集成提高了支持模板集成的建模环境的可行程度,互联网技术特别是分布式计算触发了新一代的模板集成,还有软件工程领域基于面向对象的分析与设计的统一建模语言 (unified modeling language –UML) 等等。

Agent 技术为系统建模和 IME 的发展提供了新的契机。马里兰大学开发的集成建模工具箱 (integrating modeling toolkit – IMT) 是一个功能全面可扩展的集成建模环境,其中可定义并能共同使用模型组件,建模者可创建由 IMT agent 组成的 IMT 世界,这些 agent 在建模过程中完成各自的任务。 IMT agent 的核心集合可以描述一般性的、模块化的、分布式的模型组件,它们分别完成诸如简单计算、仿真、优化、 GIS 分析和高级的统计分析,这些 agent 很容易与上一层的仿真粘合起来,从而集成了不同的模型模板和工具集 (http://ima.umces.edu/) 。这些巨大的进步反映了人们对模型集成视角的变化。国内也有一些基于 agent 技术的专用 IME [18] 。下面我们讨论如何实现模型集成。

•  模型集成实现策略

当前技术研究中模型集成通常有两种策略:自上而下 (top-down) 和自下而上 (bottom-up) 。

自上而下指一个对象被分解为基本的部件或模块,并能够按功能汇聚起来。采用该策略,需要对问题有一个全面综合的模型,以便对问题进行有效的分解。该策略反映了一种对问题分而治之的集中机制。这时综合的模型最为重要,决定集成的成败或者集成后系统的性能。以企业集成为背景,多伦多虚拟企业 TOVE (TOronto Virtual Enterprise) 就是一个试图包括企业集成众多议题的一个项目 [19] ,探讨了许多问题,如是否存在一个通用企业模型 (generic enterprise model) ?它能否准确定义?所有的知识都可以明确表达吗?如何判别好的企业模型?组织会接受它们吗? TOVE 的可重用表达是关于工业概念的本体化工程。在 TOVE 中有关于活动、状态、时间、资源、库存、定货需求和部件等的本体,有关本体的知识视为原子知识,可用于演绎推理时回答常识问题。显然即使有模型集成工具,一个 GEM 的生成是极为费时的。

 自下而上体现系统建模和模型集成实现上的分布式或分散性的活动。这种方法克服了因难于获得一个标准的系统架构而带来的模型集成上的限制。分布式模型集成可能会有两种不同的形式:分布的建模者对集中的资源,和分步的建模者对分布的资源。分散式指建模者之间的协调不是中央控制的。互联网具备这两种特色。在最近的一项研究中, Dolk 的分布式集成建模思路是将一个包含决策矩阵的数据仓库、包含结构化的决策模型的模型仓库和运用 UML 和基于组件的插件等相结合,以增强包括优化、统计和其他建模模板的模型求解器的交叉表分析功能 [20] 。

文 [21] 总结了自上而下方法在企业集成遇到的问题,并推荐了自底向上的集成方法。分布式人工智能和多 agent 技术为自底向上的策略提供了技术支持。然而后者仍然需要对问题有一个概念模型。这指的是对问题本身需要系统地思考。在整个建模过程中,有 4 类问题需要解决: ① 理解在建模生命周期中建模者的活动—认知( cognitive )问题; ② 模型及与模型相关的信息表达和利用这些信息进行推理—语言 (language) 问题; ③ 模型系统的设计和实现—系统 (system) 问题; ④ 在实际中模型管理系统的操作影响—经验 (empirical) 问题 [22] 。有关问题 ① 和 ④ 超出了目前模型集成方法研究的范畴。它们不是一下子能够解决,需要经过一个边学习边思考循序渐进的过程,这正是系统思考流派的学者所倡导的。重要的是弄清模型集成的目的(所要分析的系统),这需要对问题或系统的更深入和更广泛的了解。正如著名系统科学家阿可夫所讲:“形成问题、解决问题、采取行动是同时进行的三个交互过程” [23] 。
系统思考即不再仅以还原论的观点分析问题,而是采用系统的观点。软化的趋势越来越显著;人、群体、其世界观、文化观等越来越成为系统建模中需要着重分析的因素。而东方的传统思维有独特之处 [24-27] 。而技术上的进步特别是分布式人工智能领域的成果支持了这方面的深入。下面介绍几个目前有代表性的模型集成的工具。

•  一些模型集成的工具及应用实践

   DOME (Distributed Object-based Modeling and Evaluation )

 DOME 是 MIT 的 CAD 实验室自 1995 年开始的 W. David 教授主持的最早由美国国家科学基金和福特公司资助的一个项目,它提供了一个分布式建模环境,其中包括异质数据库、模型和工具,注册用户可从中获得或提供与其领域相关的仿真资源,进行协同工作,评价不同方案 [28] 。图 1 为的 DOME 的体系结构。采用 DOME 建模,主要采用自上而下的策略。 DOME 目前的应用有福特公司、美国海军和一个全球可持续发展的项目。

•  支持复杂系统分析的多 agent 平台

 这里的多 agent 平台主要用于研究复杂系统行为的模拟分析,如 Santa Fe 研究所的 SWARM , Brooking 研究所的 Ascape 和芝加哥大学经济系的 RePast 等等。其中 RePast 吸收了前两者的一些特点。有关详情可浏览相关的网站。这些工具广泛应用于社会和经济问题分析,如 SWARM 曾用于生态系统仿真 [29] 。这类平台为自底向上策略的实施提供了便利。

 •  DecisionNet

 DecisionNet 是一个 4 年( 95-99 )的研究项目,由美国海军研究生院的 H.Bhargava ,卡内基 - 梅隆大学的 R.Krishnan 和德国 Humboldt 大学的 R.Muller 合作进行。该项目旨在李用户联网技术的优势增进决策技术的可用性、可重用性和相互操作性 [30] 。它得到美国陆军研究办、陆军人工智能研究中心和 DAPRA 的资助。图 2 为 DecisionNet 的架构。

 在 DecisionNet 中有多种决策技术如数据集、模型实例、模型模板、算法、求解器、模型语言、建模系统和环境。供方主要提供两类技术:独立技术和独占技术。独立技术主要是供方开发的基于 web 的应用,它们亦可以独立于 DecisionNet 运行。独占技术是 DecisionNet agent 提供的界面和动态控制等技术。 Bhargava 等实现了分别以 AMPL 和 GAMS 建模环境的两类 agent ,包括了有关供方与用户间谈判的不同设计 [31] 。敏捷的 AMPL agent 可为双方提供重要的知识和推理的需求, GAMS agent 封装了 GAMS 语言和建模环境协调供方注册模型并为用户创建一个运行界面。 DecisionNet 的一个应用例子是在美国海军研究生院实现的关于作战模拟的 NPSNet 。

 这里我们仅介绍 3 个模型集成的使用工具,还有其他一些应用于企业界的,如企业集成 (Enterprise Integration) 、企业信息门户 (Enterprise Information Portal) ,等等。模型集成类型的应用领域是复杂问题集中的经济与可持续发展、水资源与环境管理、军事系统分析等领域。位于奥地利的国际应用系统分析研究所 (IIASA) 一直在前两类问题进行密集的研究,国内亦有大量的研究。

 •  结束语

 建模是一项几乎遍布于任何领域的活动。在模型管理研究中发现的潜在重要性超出了运筹管理和其它以模型为主的领域。作为 DSS 核心的模型管理的扩展,模型集成的研究因信息技术的进步和人们探索复杂问题的深入而演化得更丰富多彩,成为名副其实的活跃交叉研究领域。类似于数据管理,在模型集成的理论研究和集成建模环境长期充斥着数据管理的思想,这体现在模型集成在上个世纪 80 年代到 90 年代初期迅速发展期中。但这很快变成瓶颈,因为关系型模型表达和操纵机制上的精巧遮掩了系统建模的复杂的领域背景,而后者正是系统建模的主要关注点。

 在过去的 20 多年间,模型集成的主要成就在模型表达。出现了三个有代表性的学派,以 Geoffrion 为代表的结构建模,以 Jones 为代表的图建模和以 Kimbrough 等为代表的逻辑建模。这三种表达在发展中互相融合,也反映了运筹管理与计算机科学研究的合作态势。模型集成的实现一般采用自上而下或自下而上,而系统方法的导入更体现对问题本身的全面思考从而有助于综合系统建模,特别是越来越多地关注于社会组织等“剪不断,理还乱”的复杂因素。对这些复杂议题或论题进行综合系统的思考是建立系统概念模型或形成设想的必经之路,也是系统论证过程的起点。

 信息技术的进步对近期模型集成的发展起到了加速的作用,但复杂系统建模仍然需要新的视角。模型并不是为集成而拼凑在一起,它服务于系统建模。而对复杂问题的认识是一个学习渐进的过程,这样对敏捷的模型集成的要求更高了。

 

 

版权所有:UML软件工程组织