没有合适的资源?快使用搜索试试~ 我知道了~
基于本体的逆向工程工具集成系统中的事实库过滤问题
理论计算机科学电子笔记137(2005)65-75www.elsevier.com/locate/entcs基于本体的反求工程工具集成系统中的事实库过滤问题金院长1加拿大曼尼托巴大学计算机科学系James R. 科迪2加拿大金斯顿皇后大学计算机学院摘要本体自适应服务共享集成系统(OASIS)通过在以概念上等效的方式表示软件的工具之间共享服务,促进了逆向OASIS使用一个领域本体来记录每个工具的表示和服务相关的概念.专用适配器使用过滤过程将事实库实例映射到领域本体概念并应用共享服务。本文探讨了与过滤过程相关的三个问题:代表性对应,精度损失和信息稀释。关键词:逆向工程,工具集成,互操作性,服务共享,领域本体,事实库过滤1引言以前的逆向工程工具集成方法集中在通过专用硬编码接口(API)或1电子邮件:djin@cs.umanitoba.ca2电子邮件:cordy@cs.queensu.ca1571-0661 © 2005 Elsevier B.V. 在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2005.07.00666D. Jin,J.R.Cordy/Electronic Notes in Theoretical Computer Science 137(2005)65严格的标准化交换格式[13]。这些方法未能为软件维护人员提供支持和自动化逆向工程任务的统一环境[2,6,9,11]。这是因为这些方法是规定性的,迫使工具开发人员为另一个工具提供特定的功能,或者遵循惯用标准,以便参与集成过程。本体自适应服务共享集成系统(OASIS)是一种新的集成方法,它为逆向工程工具提供了一种协同工作的手段,以共享服务并协助维护人员执行逆向工程任务。OASIS利用专门构造的外部工具适配器和领域本体来促进一组逆向工程工具之间的集成。OA-SIS的概念实现的证明最近进行了参与软件设计本体论项目在皇后大学的研究人员。该实现成功地在三个逆向工程工具之间共享服务:ASDT[8,1],Fahmy Tool[4]和Rigi[10,12]。本文概述了OASIS,并重点讨论了在集成过程中使用事实库过滤所产生的三个问题。2 OASIS概述在OASIS实现中,选择一组逆向工程工具来参与集成。每个工具都向集成提供一组服务,这些服务在其他参与者之间共享。工具服务是由工具提供的功能,当给定一组一个或多个输入时,工具服务生成与维护人员相关的相应输出在逆向工程工具的情况下,输入通常是源代码(或关于源代码的事实),输出通常是报告或可视化。图1提供了OASIS的体系结构概述。图中显示了由两个参与工具(T1和T2实际的OASIS实现可以有任意数量的参与者。为了简单起见,这里只显示每个工具都包含一个事实库实例(I1和I2),其中包含由模式(S1和S2)指定形式的软件事实。一组事务(Q1和Q2)符合模式并在实例上操作。在[7]中,我们认为大多数逆向工程工具都是专门用于存储、操作和分析软件事实的数据库系统。我们用来描述逆向工程工具的操作特征的术语(即事务、模式、实例)与数据库系统社区的研究人员使用的术语是等价的(例如,参见[3])。D. Jin,J.R.Cordy/Electronic Notes in Theoretical Computer Science 137(2005)6567OT1T2年q1的1一个2Q2S1S2I1I2Ax=概念服务适配器Ix= Factbase实例O=领域本体Qx=事务集Sx=模式Tx=工具参与者Fig. 1. OASIS架构OASIS实现涉及两种类型组件的构建:领域本体(O)和特定于工具的概念服务适配器(A1和A2)。支持参与集成的每个工具之间的服务共享所需的所有知识都存储在域本体中。我们的领域本体是一个表格化的,交叉引用的汇编共享的代表性的概念和服务的集成中的每个参与者所提出的。只有一个领域本体构造的OASIS实现。概念服务适配器(CSA)充当集成促进器。一个CSA与每个集成参与者关联。尽管所有CSA都具有相同的体系结构和操作特性,但每个CSA都经过定制,以处理其相应工具的功能和信息过滤方面,这些方面是促进互操作性所需的。参与集成的工具所提供的服务只有在服务所需的概念与另一个参与工具所支持的概念相交时才能共享。3Factbase过滤领域本体具有在参与集成的所有工具之间共享的概念的知识总之,这些概念定义了一个概念空间,由事实基础实例适合的概念“槽”组成当一个事实库实例所代表的概念与领域本体中的一个概念相概念中的代表性68D. Jin,J.R.Cordy/Electronic Notes in Theoretical Computer Science 137(2005)65概念空间outFilter地图概念上表示的事实到本地事实库实例- 概念事实表示- 无约束- 无模式inFilter将局部事实库实例映射到概念空间Factbase实例- 工具相关所代表的事实- 约束- 模式严格执行图二. inFilters、outFilters和概念空间每个概念服务适配器使用inFilter和outFilter分别将软件事实映射到事实库实例和由领域本体定义的概念空间,并从事实库 存储在事实库中的事实总是符合工具模式。概念空间表示不受模式的约束,因为事实只有在它们表现出与领域本体概念的概念等价时才存在真实空间是基于概念上的等价,因此它不受模式的约束,也不受任何约束。共享服务只对实际适合概念插槽的事实实例进行操作。当服务被共享时,涉及的两个工具的CSA将所有事实库实例映射到概念空间中或从概念空间中映射出来。我们把这个映射到概念空间和从概念空间映射出来的过程称为概念空间过滤。inFilter将事实库实例映射到概念空间。outFilter将概念空间中概念上表示的事实映射回工具事实库实例。事实库实例、inFilter、outFilter和概念空间之间的关系如图2所示。每个CSA使用的inFilter和outFilter都是专门定制的,以与CSA对应的工具所支持的表示一起工作。在OASIS概念验证实现中,过滤器是使用LINUX shell脚本和可执行grok [5]工具脚本的组合构建的。理解每个inFilters和outFilters执行的实际过滤非常重要虽然没有正式说明,但图3和图4显示了ASDT和Fahmy Tool发生的过滤在这些D. Jin,J.R.Cordy/Electronic Notes in Theoretical Computer Science 137(2005)6569在图中,左列指示来自用于工具的模式的参与过滤过程的实体和关系 右列显示了构成概念空间的领域本体概念。两列之间的箭头指示inFilters和outFilters执行的映射。inFilters从左列映射到右列。outFilters从右列映射到左列。例如,在图4中,来自Fahmy Tool模式的模块实体被映射到概念空间中的概念SubProgram。同样,在图3中,概念空间中的包含图3和图4显示了与事实库过滤相关的一些问题。特别是,我们将在以下章节中讨论表征对应、精确度损失和信息稀释3.1表象对应表征对应是一个重要的考虑因素,涉及到事实库实例到概念空间的映射。有三种方式可以发生这些映射:• 一对一当工具原生地表示在概念空间中找到的概念时,会发生这种映射。当事实库实例通过概念时,在任何一个方向上都没有损失代表性的细节真正的空间例如,• 散开当单个工具模式条目产生多个概念空间概念时,我们将映射称为扇出。一个很好的例子是Fahmy Tool中的usevar关系(参见图4),它对应于概念空间中的Variable实体和ContainmentandUse关系。我们称这种表示为“概念丰富”。映射本身是建设性的,因为它为遇到的每个usevar factbase实例生成三个概念。请注意,扇出与多概念等价不同,其中单个工具模式条目在概念上等价于多个概念空间概念。这种情况强烈地表明了领域本体中的概念过度分类。如果概念分类的粒度太细,概念之间的区别就会变得模糊,工具模式条目的概念等价性也很难确定。• 扇风进去在这种情况下,多个实体或关系组合在一起以对应于单个概念空间概念。扇入在ASDT工具中很明显(参见图3),其中函数和过程70D. Jin,J.R.Cordy/Electronic Notes in Theoretical Computer Science 137(2005)65ASDT inFilterASDT outFilter(S+)(米)(个)程序模块function过程系统模块子程序(五)恒定常量参数普适常量变量var_param eter可变包含S+ mS+ sS+ vM mM sM vS V包容性<实体>实体>电话间接调用(五)(三)S+sMsSsread_refread_ref_indirectS+ vM vS V(五)美国e<实体>实体><实体>变量>写引用write_ref_indirecS+vMvSV(五)(1) 精度损失:子程序与程序一致(2) 精度损失:变量与变量(3) 精度损失:使用与调用(4) 精密度损失:使用与读取参考一致(5) 关系调用间接、读引用间接和写引用间接由切片服务产生。ASDT outFilter不会将概念空间中概念上表示的事实映射到这些关系中。图三. ASDT模式到概念空间的进出过滤(四)(二)(一)ASDT架构概念空间D. Jin,J.R.Cordy/Electronic Notes in Theoretical Computer Science 137(2005)6571过滤器中的Fahmy工具Fahmy Tool outFilter(S+)(米)(个)系统子系统模块没有代表(二)系统模块子程序可变包含S+ mM mM s包容性<实体>实体>(二)没有代表<实体>变量>中文(简体)M m使用过程S s使用<实体>实体>MsSM乌瑟瓦尔(三)(三)(二)S s<实体>变量>中文(简体)s m(3)(一)(1) 这是Use的一个特殊情况,其中范围中的每个变量都以包含它的子程序。(2) 虽然Fahmy Tool不支持变量的表示,但我们可以从usevar表示中导出它们。UniqueVariable实例是根据包含变量的实体的名称生成的这些实例在usevar关系的范围内是可识别的每个usevar实例在概念空间中生成一个Variable和Containment以及Use(3) 这些约束存在于“隐藏内部”服务的结果中。Fahmy工具outFilter不会将概念空间中概念上表示的事实映射到这些关系约束中。inFilter将这些事实实例映射到概念空间。(4) 关系hlu由高级使用服务产生。 Fahmy工具outFilter不会将概念空间中概念上表示的事实映射到该关系中。见图4。 Fahmy工具图式对概念空间的法赫米工具架构概念空间72D. Jin,J.R.Cordy/Electronic Notes in Theoretical Computer Science 137(2005)65这些表示一起构成概念空间中的SubProgram。这种映射是有损的,因为在从ASDT到概念空间的映射中丢失了表示细节3.2精度损失精度损失是第3.1节中讨论的“扇入”代表性对应的逆过程当概念上表示的事实对应于本地工具事实库实例中的多个表示时,就会发生这种情况。一个单一的映射而不损失代表性的细节是不可能的。在这种情况下,OASIS实现者必须决定哪种局部工具表示更接近于概念上表示的事实。必须对工具的outFilter进行编程,以将那些概念上表示的事实映射到所选的本地表示。在图3所示的ASDT输出滤波器中可以观察到精度损失的三个示例。SubProgram实体与过程协调,导致函数表示丢失。Variable实体被重命名为variable,导致四种实体表示形式的丢失:常量、常量参数、普适常量和var参数。最后,实体>和变量>之间的使用关系被协调为读引用,导致写引用关系表示的丢失。精度损失的负面影响可能是最小的。例如,将事实实例引入到共享服务执行工具中的精度损失通常不是问题。无论如何,该服务只对“较低精度”的事实进行操作。然而,从共享服务返回的结果可能没有意义。OASIS实现中的精度损失可能是需要重新评估领域本体的指示器。可能有必要扩展本体以区分一个重要概念和另一个重要概念。这将具有增加本体的精确度的效果,使得当从概念空间映射时,两个概念之间的区别不再丢失。3.3信息稀释在OASIS实现中促进共享服务时,一个非常重要的考虑因素是信息稀释问题。通常情况下,特定工具的用户对共享服务的期望超出了服务所能提供的范围参与OASIS实现的工具所支持的表示中通常存在非常微妙的差异。这些代表性的分歧表明,D. Jin,J.R.Cordy/Electronic Notes in Theoretical Computer Science 137(2005)6573通过概念空间转发到共享服务并最终导致意外结果的实例。考虑由Fahmy工具提供的高级使用服务在图5(a)中,我们看到了一个假设软件系统的ASDT表示。在这个表示上执行Fahmy Tool函数foo和bar之间的调用关系被现在考虑图5(c)中所示的类似ASDT表示这里模块3调用函数foo。由于ASDT支持这种表示,我们可以假设这种表示在该工具支持然而,在这个表示上执行Fahmy Tool在这第二种情况下,结果不如预期的原因很清楚。图3显示了ASDT支持模块和函数实体之间的调用当ASDT inFilter将它们映射到概念空间时,此表示将被保留。图4显示了Fahmy工具只支持从模块到模块实体的useprocFahmy工具outFilter不会将概念空间中最初来自ASDT的所有事实映射到Fahmy工具正是在这一点上,信息稀释发生。因此,高级别使用服务会产生用户意想不到的结果。信息稀释是有问题的,因为看起来集成“工作”,但结果看起来不正确,即使它们是正确的。更麻烦的是,可能没有意识到信息稀释已经发生。在我们上面提供的场景中,真正的问题是ASDT用户没有被警告信息稀释已经发生,因此结果可能不会像预期的那样。4讨论和今后的工作也许理解OASIS实现最困难的方面是本体论背后的思想和它定义的概念空间。模式通常定义存储在事实库实例中的信息的允许特征。在OASIS中,领域本体是参与集成的工具支持的表示和服务相关概念的列表。在OASIS实现中使用的领域本体不是一个模式,它不对概念空间表示施加约束。OASIS的目标是在工具参与者支持的表示中识别概念上的等价性当两74D. Jin,J.R.Cordy/Electronic Notes in Theoretical Computer Science 137(2005)65模块A包含模块BHLU包含包含包含包含包含函数foo电话功能栏包含包含函数foo电话功能栏模块2模块B包含包含模块3电话函数foo模块2(一)(b)第(1)款(c)第(1)款图五. 高级使用服务(Fahmy工具)工具支持相同的概念,那么在这些概念上操作的服务可以被有效地共享。虽然OASIS概念验证实施的成功是显而易见的,但仍有许多工作要做,以改进该系统。一个主要的考虑是扩展集成以包括更多的工具。特别是,我们有兴趣探索的工具,操作在非常不同的抽象细节的水平,就其表示的软件集成。扩展这些工具将需要领域本体需要支持的概念范围的显著扩展。我们的期望是,随着本体的增长,它作为一个更广泛的逆向工程工具之间的集成促进者的有用性。同时,以这种方式扩充本体可能会引入大量的细节,这将使其更加难以管理。5结论OASIS概念验证成功地证明了服务共享作为一种手段的可行性,以促进信息和服务之间的逆向工程工具集的集成。它还提供了一个机会,审查由于OASIS的实施方式而产生的问题。在本文中,我们研究了与OASIS用于通过系统管理信息流的事实库过滤过程相关的三个关注领域。需要进一步的研究,以进一步探讨这些问题对逆向工程工具集成和系统集成的影响。模块1包含模块2模块A包含模块B模块1模块A模块1D. Jin,J.R.Cordy/Electronic Notes in Theoretical Computer Science 137(2005)6575引用[1] 科迪,J.R.和K. A. Schneider,[2] Ebert,J.,B. Kullbach和A. Winter,八九比九十八[3] 埃尔马斯里河和S. B.数据库系统的基本原理,Addison-Wesley,2000年[4] Fahmy,H. M.,R. C.霍尔特和J. R. Cordy,《代数变换的得失》第1 6 届 I E E E 自 动 化 软 件工 程 国 际 会 议 论 文 集 ( A S E ' 2 0 0 1 ) , 加 利 福 尼 亚 州 圣 地 亚 哥 , 2 0 0 1 年 。[5] 霍尔特河,巴西-地C.的方法,“Structural Manipulations of Software Architecture UsingTarski Relational Algebra”[6] 霍尔特河 C. 、杨A. 我是一个很好的人。徐文龙,“GXL:一个标准的交换机”,载于:第七届逆向工程工作会议(WCRE'00)再工程交换机专家组会议录(2000年[7] Jin,D.,J. R. Cordy和T. R. Dean,399-408[8] Lamb,D. A.和K. A. Schneider,J. Botsford,A. Ryman,J. Slonim和D.泰勒,编辑,1992年高级研究会议中心(CASCON201-214[9] Müller,H. A. ,J.H.Jahnke ,D. B.是的 ,M 。-A. 是的,S 。 R. 直到你和K 。王,Finkelstein,编辑,软件工程的未来,国际软件工程会议(ICSE[10] Müller,H. A. 和K. Klashinsky,80-86.[11] Perelgut,S.,[12] Rigi Group主页,URL:http://www.rigi.csc.uvic.ca/。[13] 西姆,S。E、 278-283.
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- WebLogic集群配置与管理实战指南
- AIX5.3上安装Weblogic 9.2详细步骤
- 面向对象编程模拟试题详解与解析
- Flex+FMS2.0中文教程:开发流媒体应用的实践指南
- PID调节深入解析:从入门到精通
- 数字水印技术:保护版权的新防线
- 8位数码管显示24小时制数字电子钟程序设计
- Mhdd免费版详细使用教程:硬盘检测与坏道屏蔽
- 操作系统期末复习指南:进程、线程与系统调用详解
- Cognos8性能优化指南:软件参数与报表设计调优
- Cognos8开发入门:从Transformer到ReportStudio
- Cisco 6509交换机配置全面指南
- C#入门:XML基础教程与实例解析
- Matlab振动分析详解:从单自由度到6自由度模型
- Eclipse JDT中的ASTParser详解与核心类介绍
- Java程序员必备资源网站大全
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功