潘文林
(云南民族大学 数学与计算机学院,云南 昆明 650500)
概念模型是信息系统开发的基础,概念模型的质量决定了信息系统开发的成败.概念模型的质量由概念建模过程中的各项活动和建模语言的表达能力决定.以下几位学者给出了概念建模质量相关的研究综述:
1) Moody[1]评述了概念模型质量相关的研究,并分析了需要解决的主要理论问题和实践问题.他细致分析了如何构造、开发、验证和应用概念模型质量评价框架.他认为,目前提出的概念模型质量评价框架已经太多了,但太多的框架反而会增加应用的难度,建议业界相关人员应共同建立一个通用的概念模型质量标准.最后他列举了开发数据模型质量通用标准的一些初期工作,在将来的概念模型质量标准化工作中可以借鉴.
2) Genero和Piattini[2]总结了已提出的质量框架和度量方法.不同框架和度量方法的目标不同,例如增强可阅读性、提高可维护性、评价简洁性和保证完整性等.对概念建模的质量评价还没有一个全面的视图,因此,很难建立一个具体的概念建模质量保证体系.
3) Olivé[3]总结了5条用来保证或验证概念模型质量的准则或特性:完整性(即百分之百准则)、正确性、简洁性、概念化和稳定性.
质量是过程质量而不是事后质量,概念建模过程的每个步骤都必须有质量保证才能确保获得高质量的概念模型.目前有文献提出了概念模型质量的重要性和评价方法,但没有文献从建模过程交流环节这个角度讨论语义损失对模型质量的影响.本文对概念建模过程中的知识抽取、传递和转换过程进行深入剖析,找出影响概念模型质量的关键因素.
构建应用领域的概念模型,需要该应用领域的专家和信息建模人员(知识工程师、信息分析师)的紧密合作.图1是对概念建模过程的详细分析.
概念建模是对应用领域的知识抽取和知识表达活动,即建模者首先把领域专家以自然语言及图表等描述的领域知识转换成某种建模语言描述的概念模型,然后再把概念模型转换为自然语言及图表表达的领域知识以便领域专家验证模型是否正确.从应用领域到概念模型是知识抽取和知识表达的过程;从概念模型到应用领域是模型正确性和完整性的检查过程.一个完整的概念建模过程如下:
1) 领域专家分析和抽象应用领域,然后使用自然语言和图表详细描述所理解和抽象的应用领域知识;
2) 建模人员听取领域专家口头描述的应用领域知识,阅读自然语言文本和图表描述的应用领域知识,通过分析后将所理解的应用领域知识转换为某种建模语言描述的概念模型;
3) 建模人员分析和解释概念模型,然后使用自然语言或图表来描述该模型所表达的领域知识;
4) 领域专家听取建模人员对概念模型口头解释,阅读自然语言文本和图表描述的对概念模型的解释,通过分析,检查和验证所理解的概念模型解释是否正确、完整、一致地反映了应用领域.如果存在问题,反馈问题,并从⑴开始在现有基础上继续建模并检验模型的正确性与完整性;否则,概念建模过程结束,保存概念模型.
可以看出,概念建模过程是一个增量迭代的活动.
从现实世界到概念模型,再回到现实世界进行验证的概念建模过程可以看作是信息抽取和信息转换的过程,因此,不可避免地会出现信息损失或信息理解错误的问题;此外,领域专家和建模人员关注应用领域的视角不同,也会引起信息传递和理解上的错误.
从信息抽取和模型构建过程来看,导致信息损失或错误的原因可能包括以下方面:
1) 由于应用领域过于庞大,未做领域分解和边界限定的处理,领域专家可能不知道建模人员需要获取哪方面的知识,提供了与建模目标领域无关的知识;
2) 领域专家对应用领域的理解存在错误或不完整,导致所提供的领域知识不正确、不一致或不完整;
3) 领域专家描述知识的能力有限,不能把所理解的领域知识正确、完整、一致地传递给建模人员;
4) 建模人员对领域专家提供的领域知识理解能力有限,不能正确地理解所接收到的领域知识;
5) 建模人员的概念建模能力有限,不能正确地将所理解的领域知识表达为概念模型;
6) 所采用的概念建模语言的表达能力有限,不能正确、完整、一致地表达建模人员所理解的信息.
从概念模型的正确性、完整性和一致性检查过程来看,导致信息损失或错误的原因可能包括以下方面:
1) 建模人员对概念模型的语义解释有偏差,错误地解释了模型的语义;
2) 建模人员将模型的语义解释描述为自然语言或图表的能力有限,不能正确、完整、一致地传递模型的语义解释;
3) 领域专家对建模人员提供的模型解释有理解偏差.
上述原因可以归结为以下3个方面:
1) 建模策略或建模管理方面,即上面分析的原因1);
2) 领域专家和建模人员的个人技能和沟通交流的能力,包括上面分析的原因2)、3)、4)、5),即领域专家理解领域知识、描述领域知识、理解模型知识的能力和建模人员理解知识、表达知识、解释模型、描述模型的能力;
3) 信息转换方法和建模语言的表达能力,即上面分析的原因6).
上述分析印证了“知识获取任务中大部分的困难来自所用的提取方法和与领域专家的沟通”这一说法[4].这里所说的提取方法包括领域知识的理解、分析、抽象和表达的方法,既包括建模相关人员的各种能力,也包括所采用的建模策略和建模语言的表达能力.
上述归结出来的3类原因中,建模边界的问题比较容易解决,其它2类问题则可进一步讨论其理想的状况.从建模相关人员的个人技能和沟通交流的能力角度来看,减少信息损失最理想的人选是高水平的领域专家本身还是一个高水平的建模人员,但这样的人选很难找到,此时的建模过程如图2所示.
从信息转换方法和建模语言表达能力角度来看,理想的建模方法及建模过程如图3所示.这种方法借助自动化建模工具,在建模人员的辅助下,该工具不仅能够通过分析自然语言描述的领域知识构建出建模语言表达的模型,同时还能够生成模型解释的自然语言描述文本和相应的样例.
可以看出,这种建模方法是基于自然语言分析技术的.在现有的概念建模方法中,只有面向事实的信息建模方法(fact-oriented modeling)具备这样的建模特征[5].有几个面向事实建模工具提供了通过自然语言分析构建信息模型的辅助交互界面[6],还有几个工具则实现了生成模型解释的伪自然语言描述的功能[7-9].因此,从技术实现角度看,这种借助自动化建模工具的建模方法是可行的.
从前面的分析可以看出,如果领域专家和建模人员的能力是一定的,那么,建模语言是影响模型质量的唯一原因了.本节专门讨论建模语言的表达能力、语言结构和复杂度对建模过程和模型表达的影响.
从应用领域到概念模型经过抽象、描述和表达等符号转换过程,概念模型的正确性、完整性和一致性检查则经过解释、描述和实例验证的逆过程.在这些过程中,我们假设:
1) 领域专家对领域知识足够清楚,抽象和描述的领域知识完全正确;
2) 领域专家与建模人员之间使用自然语言或伪自然语言交流和阅读不会产生任何歧义;
3) 建模人员完全掌握某种语言的建模方法,能够正确解释和描述模型.
在上述假设的前提下,只有建模语言具有足够强大的表达能力,建模人员才能够将所理解的抽象领域知识完全转换为模型符号表达.图4是按照表达能力和推理能力强弱组织的所有信息建模语言谱系[10].
从图4中可以看出,包括描述逻辑在内的所有逻辑语言都具有支持情景互操作的信息表达和推理能力,因此,使用逻辑语言能够最大程度地表达应用领域的知识.如果使用表达能力较弱的建模语言,所构建的概念模型只能表达应用领域的部分知识.
虽然逻辑语言具有强大的表达和推理能力,但其数学化的语言符号使用起来具有一定的难度,在建模过程中,建模人员很难直接使用逻辑语言来表达所获取的知识.因此,我们认为逻辑语言更适合于用来表达已经确认了的信息模型,并不适合用于概念建模过程中.
由于自然语言是人类日常交流的语言,如果建模语言的模型表达方法与自然语言中的命题与规则描述方法相近,建模人员很容易掌握和使用,建模工作的主要任务是将领域知识转换为结构相近的模型符号表达.
如果建模语言和自然语言的结构相差较大,将领域知识转换为建模语言的模型符号表达时,建模者需要对领域知识的结构进行处理才能完成领域知识到模型的符号映射工作.这样一来,符号转换过程就不再是只对抽象知识的符号描述,而是对抽象知识的结构变换.这样的转换过程实际上潜在地引入了建模人员对抽象知识结构的设计,建模人员必须具有很强的逻辑结构等价变换技术才能胜任这样的工作.但即使是高水平的建模人员,面对那些过于复杂的信息结构可能也会束手无策.而且有些信息结构根本无法等价转换为建模语言的模型结构,我们把这样的情况称为结构失配.对于结构失配的情况,只能根据重要程度取舍其中的信息.
下面给出一个简单的例子来说明语言易用性的问题.例如,对于“某房间在某时段只能安排一种活动,在某时段只能将某种活动安排在一个房间”这样的领域知识,采用一阶逻辑、OWL 2、RDF、ER、UML和ORM建立的概念模型分别如下:
1) 一阶逻辑:
∀xywc[房间(x)∧房间(w)∧时段(y)∧活动(z)∧活动(v)];
∧活动安排(x,y,z)∧活动安排(w,y,z);
∧活动安排(x,y,z)→(x=w)∧(z=v)].
2) OWL(抽象语法):
Declaration( Class(活动) )
Declaration( Class(房间) )
Declaration( Class(时段) )
Declaration( ObjectProperty(活动地点) )
Declaration( ObjectProperty(活动时间) )
ObjectPropertyDomain(活动地点 活动)
ObjectPropertyDomain(活动时间 活动)
ObjectPropertyRange(活动地点 房间)
ObjectPropertyRange(活动时间 时段)
HasKey(活动 (活动地点 活动时间))
Declaration( ObjectProperty(举办活动) )
Declaration( ObjectProperty(举办时间) )
ObjectPropertyDomain(举办活动 房间)
ObjectPropertyDomain(举办时间 房间)
ObjectPropertyRange(举办活动 活动)
ObjectPropertyRange(举办时间 时段)
HasKey(房间 (举办活动 举办时间)).
3) RDF如图5.
4) ER模型如图6.
5) UML模型如图7.
6) ORM模型如图8.
上述模型中,只有一阶逻辑、OWL 2和ORM的模型可完整地表达领域知识,而其中只有ORM模型的结构与自然语言的领域知识描述语句相似,并且可直接生成为伪自然语言文本描述.对于多数建模人员,一阶逻辑语言的数学符号模型并不容易理解,更不要说表达.OWL的模型虽然完整地表达了领域知识,但过于繁琐,不易阅读.RDF可以看作是OWL的一种图形化表达,但无法表达约束信息.ER可以表达其中一种约束,如果两个约束都要表达出来则会使模型冗余.UML使用直接表达三元关系的方式来建模,但无法表达约束.
从这个例子可以看出,ORM之所以能够简单、正确、完整地表达领域知识,与ORM直接采用带对象占位符的谓词来表达事实有直接的关系,因为带对象占位符的谓词与自然语言的陈述句结构相近.ORM能够如此直接地表达领域知识,和该语言的设计初衷有直接的关系.ORM起源于自然语言信息分析方法,用带对象占位符的谓词来直接表达事实类型是其核心.因此,ORM特别适合用于概念建模过程.
从建模语言的发展历史来看,大部分建模语言源自逻辑理论、程序设计语言、接口定义语言(IDL)或数据库逻辑模式的描述.例如,ER起源于数据库逻辑模式的描述,UML起源于面向对象设计语言,OWL的基础是描述逻辑.此类建模语言设计之初所关注的就是如何描述模型的逻辑结构,开始并未考虑语用的问题,即建模语言在建模过程中如何作为交流工具使用的问题.因此,此类建模语言更适用于逻辑模型的描述和设计,只有改进其可用性才适合用于概念建模活动.从这个角度上看,除了ORM外,各种信息建模方法学从未真正重视过概念建模活动中建模语言的可用性,没有为建模活动给出有效的方法学支持.
通过对概念建模的知识抽象、传递和转换以及模型的解释和验证过程进行详细地分析,辨识出影响概念建模质量的关键因素有如下2类:①领域专家和建模人员的个人技术水平、语言表达和交流能力;②建模语言的表达能力和可用性.
建模者的技能可通过教育和训练来提高,某些交流环节可通过自动化工具辅助实现,非本文讨论的重心.本文重点分析建模语言的表达能力和可用性对概念模型质量的影响,通过简单但颇具代表性的案例分析,对比分析了多个主流建模语言表达的概念模型,结论是:除了面向事实建模方法ORM,多数建模语言并不适合用于概念建模活动,它们适合用于描述系统的逻辑模型,而逻辑模型通常是经过设计获得的.
因为建模人员可能使用任意UML等建模语言进行概念建模,为了减少建模者受到建模语言的影响而在建模过程中加入设计的行为,本文提出一个概念建模准则:概念建模的任务是描述领域知识,而不是设计,即概念模型是描述出来的而不是设计出来的;一旦设计,概念建模就成为系统设计,概念模型就成为目标系统的逻辑模型,而不再是业务模型.
参考文献:
[1] MOODY D L. Theoretical and practical issues in evaluating the quality of conceptual models: current state and future directions[J]. Data & Knowledge Engineering, 2005, 55(3): 243-276.
[2] GENERO M, PIATTINI A. Metrics for software conceptual models[M]. London: Imperial College Press, 2005.
[3] OLIVÉ A. Conceptual modeling of information systems[M]. Berlin Heidelberg: Springer, 2007.
[4] 蔡自兴. 高级专家系统:原理、设计及应用[M]. 北京: 科学出版社, 2005.
[5] HALPIN T. Fact-oriented modeling: past, present and future[C]//Conceptual Modelling in Information Systems Engineering. Berlin Heidelberg: Springer, 2007: 19-38.
[6] BAKEMA G, ZWART J P, van der LEK H. Fully communication oriented information modeling[R]. Bommeljé Crompvoets en Partners (BCP), 2002.
[7] HALPIN T, CURLAND M. Automated verbalization for ORM 2[C]// On the Move to Meaningful Internet Systems 2006: OTM 2006 Workshops. Springer, 2006: 1181-1190.
[8] AZIZAH F N, BAKEMA G P, SITOHANG B, et al. Generic data model patterns using fully communication oriented information modeling (FCO-IM)[C]//Electrical Engineering and Informatics, 2009. IEEE, 2009, 2: 484-490.
[9] NIJSSEN M, LEMMENS I. Verbalization for business rules and two flavors of verbalization for fact examples[C]// On the Move to Meaningful Internet Systems: OTM 2008 Workshops. Springer, 2010: 760-769.
[10] DAVIS M. Semantic wave 2008 report: industry roadmap to web 3.0 & multibillion dollar market opportunities[R]. Executive Summary, 2008.