购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 概念模型

在由真实世界向仿真世界转换的过程中,一般要经历3个基本建模阶段——概念建模、数学建模、仿真建模。这3个阶段所采用的表达形式,其抽象程度是依次递增的,也就是说,从表现形式上,模型离我们所认知的真实世界越来越远(在这里,不涉及仿真可视化所达成的直观性)。

概念模型(conceptual model)是对真实世界的第一次抽象,是构建后续模型的基本参照物。可以肯定的是,在任何模型或仿真开发活动中,概念建模阶段是必然发生的,无法回避。过去,由于缺乏有效的管理机制,缺乏相应方法论的指导以及操作性强的建模理论方法,概念建模往往很容易被开发团队忽视,实施的形式往往很随意,很不规范,所采用的描述形式多种多样,获得的成果只能描述使命空间的局部或片段,无法获取完备、系统、规范的格式化文档。一套成熟完善的概念模型理论和方法,以及辅助的知识获取工具,可以有效地支持概念建模人员将存在于领域主题专家头脑中以及分散知识源内的领域知识,变成集中的知识集合;将自发的、随意性较强的概念建模活动,变成自觉的、有目的的组织行为;将零散的、非结构化的、格式各异的、可读性较差的领域知识,转换为系统的、结构化的、格式统一的、可读性较强的概念模型文档。从而,为后续仿真开发活动奠定良好的知识基础。

2.3.1 问题的提出

仿真系统的核心功能是对真实或构想的世界的某些事物及其某些行为进行表达,这是仿真系统与其他计算机软件系统相区别的最重要的方面。仿真系统在何种程度上逼真地表达了真实或想象的世界中的原型,是衡量其质量好坏的根本标尺。为了表达“真实”系统这一特有功能,在仿真系统的需求中,不仅要包括如显示与控制、性能、安全考虑等共性信息,还有一个是仿真系统所独有的方面,即仿真“关注对象”的描述信息。此类信息是否足够完备、详尽,对于仿真系统是否逼真,能否产生可信的仿真结果,有着至关重要的影响。作为仿真开发者,有必要准确地了解待开发的仿真系统需要“做什么”“表达什么”“怎样表达”等重要信息,并建立能够清晰陈述各项需求的文档。需求文档应该具备良好的结构性和可追溯性,清晰地标识和定义每一项需求,以便指导和约束后续的开发活动。作为仿真系统用户及其代理人,必须以某种方式,向仿真开发者传递上述一整套需求信息。作为校核、验证和确认(VV&A)机构,同样不仅要了解系统能提供哪些操作和服务功能,即“能做什么”,还要了解仿真系统“能表达什么”“怎样表达”以及软件是否准确实现了需求。

在仿真开发过程中,这些“做什么”“表达什么”“怎样表达”等信息就是大家常说的概念模型信息。要准确地开发系统,就要建立所研究系统的详细的概念模型。需要注意的是,在建立概念模型的过程中会遇到这样或那样的问题。主要表现为以下几方面:

(1)要建立被仿真对象的概念模型,必须要对被仿真对象有正确、全面的认识,但是在现实生活中往往是“隔行如隔山”,信息难以获取,尤其是军事领域,因其特殊性更是如此。即便是同一领域内不同的专业,境况也是如此。例如,军事人员只懂军事,仿真开发人员只懂仿真技术这种现象往往很普遍。在仿真系统开发过程中,军事人员只为仿真技术人员提供基本的想定文本和相关的技术经验数据,而无法将自身的知识和经验表达为用户认可的军事知识,而仿真开发人员又不能对军事知识进行准确的描述,因而在多数情况下,最终建立的仿真系统是不可信的,也难以满足军事人员的意图和要求。

(2)无论是软件开发还是新的系统开发计划,都需要进行一次资料收集与概念分析,但是以可观的费用获取的信息却难以重用。进行系统开发,资料的收集相当困难,而且也是一项开销相当大的基础工作。在过去,系统开发工作人员所进行的资料准备工作都是围绕着特定的目的而展开,随着系统前期分析工作的结束而结束。由于缺乏可用的信息管理和维护工具,这些资料和结果无法转化成以统一格式存储起来的信息,因此无法为未来的系统开发所重用,造成重复开发,浪费严重。

(3)概念分析的结果往往是隐式的,多存在于个人的头脑中,或隐含在程序中,重用非常困难,也难以进行核验和维护。

(4)即使获取的信息是完整的、明确的,但对真实世界事物行动的描述也很难达成一致。不同单位、不同系统的开发者,通常依赖不同的资源获取同类信息,对领域使命空间进行不同的划分,对事物行动进行不同的抽象,从而产生对真实世界不一致的描述。这些不一致的描述会导致各自的仿真系统给予不同的知识框架,从而无法进行模型的交互、连接、聚合与解聚,各系统中的模型也无法在其他系统中重用。

2.3.2 概念模型的定义

概念模型的定义目前在学术界还没有形成权威的定论,各种不同的学术观点也很难达成共识。有的学者认为,所谓概念模型是对事物的一种书面描述,它不一定是必须用某种数学公式表示,可以是图形,甚至可以是文字叙述。有的学者认为,概念模型是对那些存在于人们头脑中的未来事物在现实世界中的形象化映射,也就是关于概念的模型,如概念武器系统。还有观点是把关于软件系统的功能需求、结构设想和设计方案的描述,即我们通常所说的设计说明,也看作概念模型。概念模型定义的不统一,已经在作战仿真领域造成了很大的混乱。

概念模型一般是说明目标系统的,是设计和实现系统的参照物。这里的系统不仅包括传统意义上的工程、经济、军事等仿真系统,也包括人工智能系统,因为后者本质上是对人类思维(表象、概念、推理、判断、决策)的仿真,这其中既包含复杂的思维发生机理,也包含比较简单、机械的思维规则。谈概念模型一定要指出它的目的和范畴,否则就太泛化,给人以模糊性。

2008年,Robinson强调,概念模型是将要、正在或已经研发的计算机仿真模型的一种与软件无关的描述,它描述了模型的目标、输入、输出、内容、假设条件和简化。他认为,概念模型建立了对开发总体模型至关重要的公共视角。概念模型特别关注问题的理解、建模与项目目的以及模型内容的确定、假设条件和简化的识别。2008年,Tolk等学者强调为了便于专家和客户之间的交流,提供建模产品的必要性。这种建模产品不仅独立于实现,而且是机器可读的,这就意味着概念模型应该是概念化的一种形式化规范,代表着建模阶段的成果。

笔者推荐的概念模型定义为:概念模型是为了某一应用目的,运用语言、符号和图形等形式,对真实世界系统信息进行的抽象和描述。构建概念模型的过程,通常分为交替实施的概念分析、概念描述和概念验证3个阶段。在概念分析阶段,研究者从所研究的问题中提取出关于结构特征、功能特征、行为特征等的关键要素;在概念描述阶段,根据要素之间的相互关系,采取一定的形式将其精确地描述出来,组成一个集中的概念知识体,来说明研究的问题。这种集中的概念知识体就称为概念模型。

概念模型是对真实世界(或想象的真实世界)的第一次抽象,是对真实世界存在的实体、发生的行动和交互等进行概念描述的与仿真实现无关的视图。它作为仿真系统开发的参照物,抽取出与真实世界的运行有关的重要实体及其主要行动和交互的基本信息。从仿真应用的角度,概念模型不是模型的最终形态,而一般是作为由真实世界向仿真世界转换的桥梁和过渡。它陈述仿真系统需要表达的内容及有关各方对表达方法的约定,是用户与开发者对目标仿真系统的共同见解。它包括对使命空间要素进行描述的概念、符号、格式、陈述、逻辑和算法,并明确地标识出模型所采用的假设和约束。概念模型不能直接在仿真系统上运行,需要将它转换为数学模型,并进一步转换为仿真模型。概念模型只用于抽象和常规设计,它只是系统信息定义的规范描述,而不是具体和专门地执行设计。

概念模型是一种形式化的领域知识,它改变的只是领域知识的表现形式,而不是领域知识的内容。因此,概念模型必须衍生于权威的领域知识。权威的领域知识源包括官方颁布的条令条例、理论文献、经过认可的专业教材以及领域主题专家的经验。权威领域知识源中的知识必须是已经有定论的、公认的知识,不能包括那些尚处于学术争论中的知识,否则在此基础上构建的概念模型将很难具备足够的公信度。

不同的领域对应不同的概念模型。概念模型一方面由领域主题专家和系统开发人员共同构建,其主要作用在于为领域主题专家(有时也包括用户)和仿真开发人员提供沟通的桥梁。借助概念模型,仿真开发人员可获取所仿真的真实世界系统的细节信息,以便于进行仿真系统的基于实体分析和设计。另一方面,由领域主题专家、模型专家和软件专家组成的第三方权威认证机构,在确认概念模型的合理性之后,可对照概念模型检验数学模型和软件模型的准确性及合理性,从而便于对整个系统进行检验、验证和确认。借助概念模型,领域主题专家/用户和仿真开发人员更容易在简化和逼真之间达成妥协,在系统需求的确认上达成共识。概念模型可以视为描述领域专家问题求解过程的本体论,它用基本术语和术语合成法则去描述问题求解中所涉及的实体、属性和关系。为此概念模型是描述问题求解的抽象框架,也是设计建模语言的基础。

概念模型详细陈述了仿真系统或仿真组元所表达的内容、所采用的实体粒度、分辨率和抽象方法、输入数据和输出数据等关键的建模信息,是仿真开发者判断仿真资源可重用潜力的基础。另外,概念模型本身也是可重用的领域知识产品,可以用来支持包括同样表达需求的仿真应用目标。仿真系统的开发,离不开概念模型。完善的概念模型理论体系,是仿真系统开发过程中全面贯彻软件工程原则提升仿真系统质量的理论基础之一。

2.3.3 概念建模

概念建模就是构建概念模型的过程,它是仿真开发过程的有机组成部分,是无法回避的一个开发步骤。概念建模一般包括以下3个步骤:

第一步:收集权威的信息以及非正式需求(文档形式),用自然语言对需求进行说明和解释。这一阶段主要是进行需求的分析与相关信息的收集。

第二步:把自然语言说明和解释转化为形式说明(如结构形式化语言)。在这一阶段要对所收集到的信息进行分析,可采用语义分析和语法分析,找出所关心的内容,加以划分,如有哪些实体、有哪些任务、各实体的交互活动等,并建立部分相关词典。

第三步:概念模型的最终描述和归档。在这一阶段,可以采用多种方法相结合,对概念模型进行形式化描述,建立文档,并进行可视化,这里可融合面向对象的设计方法,如UML语言进行描述。

好的表达需求是保证仿真应用的系统具有真实性的重要前提。在实践中,人们已经深刻认识到了这一点。为了获取全面、准确的表达需求,并便于权威机构对仿真系统的表达需求进行检验、验证和确认,必须以系统工程的观点来考察拟开发的仿真系统的概念分析与概念建模过程,建立一种有效的过程控制机制,确保其成为仿真系统开发的有机步骤。同时,为了顺利有效地执行这一过程,提供方法论的指导与工具支持。只有这样,才可能为后续的仿真开发工作打下良好的基础,尽可能“防患于未然”,从而有效提高最终仿真系统的质量。

要建立正确的模型,就必须确定在相应的使命空间内,哪些要素需要建立模型,采用什么方法建立这些要素的模型。为此,必须识别出这些使命空间要素,对其需要用模型表达的方面,以及建模所采用的假设和算法进行明确的描述,这就是进行概念分析、建立概念模型的过程。一个仿真系统的概念分析与概念建模过程必须结合特定的仿真应用目标,从各种权威知识源收集对仿真内容进行描述的足够全面和详细的信息,并在预先定义的通用语义环境下,采用规范的表示法(通常使用统一建模语言或系统建模语言图来进行描述),形成完备而详尽的格式化文档。

2.3.4 概念模型的描述形式

把与概念模型相关的数据、信息抽取出来之后,经过适当的整理,最后形成知识,这个过程叫做概念模型的描述。概念模型使用的目的不同,也就是需求不同,对概念模型所采取的描述形式也不尽相同。这些描述形式主要有自然语言、结构化、半结构化、层次化、形式化、半形式化和格式化等。可以把它们分为3类:自然语言描述、半形式化描述和形式化语言描述。

自然语言是指人类日常使用的语言,它包括口语、书面语等。自然语言是人类最基本的交流思想、传递信息的工具。如果只是把概念模型作为一种说明、参考,不作深入使用,或者是由纯专业人员对专业问题进行描述,一般就采用自然语言描述,这样既省时又省力,优点比较明显。采用自然语言描述,必须要用书面语言。目前概念建模在许多情况下采用这种语言进行描述。虽然自然语言描述比较方便,但是它有如下缺点:

(1)自然语言存在二义性。

(2)自然语言不具有严格的一致性结构。

(3)采用自然语言描述,各类知识和信息分散在概念模型文档的行文之间,不方便查找,不利于捕获模型的语义。

如果对概念模型有深入的利用,比如要从中获取大量的数据,进行推理,从而进一步建立知识库系统,就不是自然语言描述方式所能满足的了。在这种情况下,就需要对信息、知识进行半形式化或形式化描述。

半形式化语言是介于自然语言和形式化语言之间的语言。这种语言运用一定的结构,采用自然语言,并采用图、文、表等形式对概念、知识进行描述。我们又把这种描述叫做格式化描述。概念建模在许多情况下主要采用这种形式进行说明。半形式化表示可以捕获结构和一定的语义,也可以实施一定的推理和一致性检查。这种描述方式是当前采用的最多的形式。

形式化语言是为了特定应用而人为设计的语言。要利用抽取的信息、知识建立知识库,必须要把这些已抽取的元素以某种一致化的结构存储和组织起来,以实现计算机自动知识处理和问题求解,这就是所谓的形式化描述。常见的描述方法有:①基于逻辑的表示方法;②基于关系的表示方法;③面向对象的表示方法;④基于框架的知识表示;⑤基于规则的表示方法;⑥语义网络表示;⑦基于XML(extensible markup language,可扩展标记语言)的表示方法;⑧基于本体的知识表示;⑨综合表示法。

自然语言形式具有表达能力强的特点,但它不利于捕获模型的语义,一般只用于需求抽取或标记模型。半形式化表示可以捕获结构和一定的语义,也可以实施一定的推理和一致性检查。形式化表示具有精确的语义和推理能力,但是要构造一个完整的形式化模型,需要较长时间和对问题领域的深层次理解。因此,选择何种形式描述概念模型需要慎重考虑。究竟采用哪种形式来描述,与概念模型的用途分不开。

2.3.5 基于实体还是基于过程

概念建模方法包括对使命空间进行概念分析的方法和将分析所得信息加以描述的方法。概念分析方法侧重于思维方式,概念描述方法侧重于表现形式。建模方法侧重于思维方式,但又离不开建模语言。建模语言是一种描述性语言,利用它所期望解决的核心问题就是沟通障碍问题。领域专家与开发人员在沟通上的最大障碍就是领域术语,而解决这个问题,最有效的方式就是寻找一种公共语言(common language)来进行交流,这是建模语言所起到的最为重要的作用。同时,建模语言必须支持的是一种思考复杂问题所必须采用的思维方式(抽象、分解、求精),并且提供特定问题的特定描述方式,利用不同的形式(如图形、符号、文字等)从各个方面对系统的全部或部分进行描述。

基于过程的建模技术始于结构化分析与设计技术(structured analysis and design technique,SADT)。美国空军在20世纪70年代的集成化计算机辅助制造(integrated computer aided manfacturing,ICAM)系统项目中,为了解决制造业人员与IT人员无法准确、顺利沟通的问题,在项目的早期定义了IDEF(ICAM DEFinition)系列的图形化建模语言,这套建模语言很快得到了广泛的认可,并由IEEE进行维护与发布。如今,IDEF(其中的IDEF3)已成为基于过程的建模技术的代表。基于实体的建模技术起源于20世纪60年代的面向对象分析(object-oriented analysis,OOA)和面向对象设计(object-oriented design,OOD),在多年的发展历程中一直处于百家争鸣的状态,直到20世纪90年代初UML的诞生,使基于实体技术得到了越来越广泛的应用。适合基于过程的建模语言有IDEF3(过程建模)、XML、流程图等,适合基于实体建模的语言有UML、IDEF0(功能建模)、IDEF1x(信息建模)、IDEF4(面向对象设计方法)等。

就建模方法而言,包括思维方式(基于过程)和模型表述语言(基于实体)两个重要的部分。基于实体也好,基于过程也好,都有其特定的适用范围,不能武断地讲哪个好、哪个不好。任何思维方式和表述性语言,如果超越了它所适应的范围来使用,都无法取得好的效果。

在概念抽象阶段,领域主题专家(业务专家)需要将需求及规格进行完整、准确的描述,需求就是业务过程,而规格就是业务过程中涉及的信息的结构。要描述这些内容,应当采用什么样的方法自然一目了然,描述过程的东西自然使用基于过程的方法更为直接,便于理解。

在概念分析(分解、求精)阶段,开发人员需要对需求进行专业化的理解,并且需要将自己的理解展现给业务人员来验证,自然在表述方法上要采取业务人员易于理解的形式。在这两个环节,都需要业务人员紧密协作,而且围绕的问题都是业务过程,因此,基于过程应当更为方便与直接。

如果在这些环节采用了基于实体的方法,就必须要求业务人员具备与开发人员相同的与自己的业务过程相应对象化的能力,这无疑增加了难度。在需求交流上的障碍是致命的,它将引起以下连锁反应:需求理解产生偏差,但没有被及时发现;开发人员基于错误的理解完成了设计和编码环节,并顺利地通过了系统测试,但在项目验收的时候却很难通过,最终会引起大规模的返工,既增加了团队的开发成本,又延迟了用户的系统上线时间,使双方都受到损失。更为严重的是,客户的延迟往往是有限度的,而当项目的结束期限逼近的时候,被牺牲的一定是产品的质量,而质量问题会导致在产品的维护上需要开销大量的资源,开发人员被绑定在缺陷产品上,而开发团队也因此陷入一个可怕的恶性循环。

我们因此有理由认为,在概念建模过程中,在概念分析环节最为有效的方法是基于过程的方法。不过这并不代表在概念建模中不需要基于实体的方法。在概念描述阶段采用基于实体的技术,是十分必要的。其一,对象化的应用体系结构设计模型,可以将复杂逻辑进行可视化的展现,从方便应用系统的维护和质量管理的角度来看是有帮助的;其二,便于概念模型的重用;其三,使模型在应用上具有稳定性,即如果需求发生小规模的变更时,采用基于实体的方法不至于引发对模型的大量修改。

在概念建模过程中,要抓住主要矛盾,并采用适当的方法解决所面临的问题。在以“实现驱动”为主流的仿真开发模式中,要特别纠正那种认为“基于实体是先进的,基于过程是过时的、落后的”错误认识,充分重视基于过程技术在仿真开发中所能够起到的重要作用,将基于过程与基于实体在项目中进行有机结合,寻求解决概念分析和概念描述问题的最佳途径。 zqrY1Pm9+mzU2ytX1bv9/TcHZhyqqCNS/75Rj/LG2QlLcj53nsw0FjiVdI9yFSOE

点击中间区域
呼出菜单
上一章
目录
下一章
×