没有合适的资源?快使用搜索试试~ 我知道了~
数据存储和数据交换模型的差异及其影响:需求驱动、数据传送、架构决策
理论计算机科学电子札记94(2004)51-58www.elsevier.com/locate/entcs数据存储模型与数据交换模型不同迈克尔·布拉哈1OMT Associates Inc,Chesterfield,Missouri,USA摘要数据存储的模型与数据交换的模型有很大不同。 数据存储的模型是由构建应用程序的需求驱动的。相反,数据交换的模型是由在应用程序之间传送数据的需要驱动的。过去的一个整合化学工程数据的项目说明了忽视差异的不良后果关键词:数据交换,数据存储,元模型,模型,PDXI,存储库1数据存储与数据交换数据存储是为应用程序管理持久数据的地方数据存储位于应用程序的核心,定义其关键概念,存储其数据,约束其数据并促进其行为。必须仔细管理数据存储以确保正确性并提供应用程序内存。相反,数据交换提供了在应用程序之间传送数据的方法数据交换是暂时的,其存在只是为了将数据从源移动到目标。源应用程序必须将其发送的数据转换为数据交换格式。类似地,目标应用程序必须使用数据交换格式来填充自己的内部数据存储。因此,数据交换中介应用程序,并与它们分开1电子邮件地址:blaha@computer.org1571-0661 © 2004 Elsevier B.V. 在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2004.04.00152M. Blaha / Electronic Notes in Theoretical Computer Science 94(2004)51-表1要求. 数据存储的要求与数据交换模型有很大表2产生的架构。这些需求导致了不同的体系结构决策管理应用程序内部数据的要求与在应用程序之间移动数据的要求有很大不同,如表1所示。表2显示了需求对体系结构决策的影响。交换模型并不意味着构建应用程序的规范。相反,设计良好的交换模型通常不适合构建应用程序。交换模型的结构必须很小,并且易于解析。它不需要关注强制数据质量。考虑到对小模式大小和可扩展性的需求,典型的交换模型将元数据和数据结合在一起。这可能使他们难以定义和理解。M. Blaha / Electronic Notes in Theoretical Computer Science 94(2004)51-532示例我们将通过讨论过去的一个项目来阐明我们的想法。过程数据交换研究所(PDXI)成立于20世纪90年代初,由20家公司组成,其中大部分是石化公司,由AIChE(美国化学工程师协会)赞助[2]。PDXI的目的是开发一种在化学工程设计应用程序之间交换数据的方法。该项目合同在竞争性招标中授予了一个由密苏里大学罗拉分校的尼尔·布克。该团队的成员来自不同的学校,包括Michael Blaha,JimFielding,Barbara Goldstein,John Hedrick,Rudy Motard和Ollie Sitton。最初,人们担心将合同授予一个由大学领导的团队。工业赞助商担心大学领导的团队不会像商业一样完成项目。然而,随着合同团队的凝聚力和良好的合作,这些担忧变得毫无根据。合同团队准备了约150页面向对象的类模型,涵盖了化学工艺设计这些模型旨在作为数据交换标准的规范不幸的是,工业赞助商并不准备接受所有这些模型并采取行动。最终,PDXI项目导致进展有限。现在回想起来,我们的可交付成果中的一个问题很明显。 我们交付的150页模型对于交换标准来说太大了。 当时没有人意识到,但我们犯了一个错误, 具有交换模型的应用程序模型图1显示了设备数据存储模型的一小部分。(The PDXI设备模型长达50多页。 有一个广泛而深入的分类法,超类-子类结构组织了许多数据片段图2显示了设备的数据交换模型。一个对象有一个类,它确定可以存储值的属性。这些类使用单一继承组织成层次结构。设备继承自对象。这个模型也被简化了,我们可以将它细化为一个更完整的设备元模型,包括聚合、关联和其他方面。图1有十个类,每个类都是图2类中的一条记录。图1有三个泛化,它们在图2的泛化中将变成三个记录。图1中的一个单独的PumgalPump对象将导致图2中的十条Value记录。您可以看到,数据存储模型是有形的,54M. Blaha / Electronic Notes in Theoretical Computer Science 94(2004)51-Fig. 1. 示例:设备图二、示例:设备的数据交换模型到应用程序。相反,数据交换模型是抽象的,它将数据和元数据结合在一起。数据存储模型可以相当大,但更容易理解。数据交换模型很小,但可能涉及大量记录及其填充。数据交换模型应该包含元数据并且是抽象的,这样它就更容易改变。例如,添加DistillationColumn类作为图1中的Pump、HeatExchanger和Tank的兄弟,这就需要添加一个具有各种读写方法的类。相反,DistillationColumn类不会导致M. Blaha / Electronic Notes in Theoretical Computer Science 94(2004)51-55结构,并且只会添加更多的元数据。因此,图1需要结构变化和新类型设备的编程,而图2不太可能需要任何变化。现在回想起来,图2是为PDXI项目建模设备的正确方法。但我们当时没有意识到这一点,并使用了图1的方法。3从PDXI项目中吸取的经验教训这个项目取得了一些成功,但有些事情我们本可以做得更好。应用模型和交换模型之间的区别。虽然我们当时没有认识到这一区别,但我们的方法有些不对劲。 150页的模型对于交换模型来说太大了。 它只有在回顾过去的时候,我们才能清楚地认识到我们的错误,正如本文所解释的那样。关于元模型的困惑 PDXI发起人在理解元模型方面存在困难,这使得我们倾向于将模型做得太大。PDXI模型的一部分用于设备PDXI模型的另一部分涵盖了物理特性(熔点、蒸汽压、比重、烟点等)。我们碰巧为这一部分构建了一个元模型,但公司发起人不喜欢它,他们一直要求更具体的东西。回想起来,工业赞助商并不知情。他们想要一个数据交换模型用于他们的业务目的,但不知道这应该是什么样子。不均匀的方法。 如前所述,我们为设备准备了一个有形模型,为物理属性准备了一个元模型。我们当时没有意识到这一点,但抽象的这种变化本身就是一个麻烦的迹象。不同的抽象层次是一组的副作用一组是从事设备工作的人员,另一组是从事物理特性工作的人员。我们应该协调这两种方法,并选择一个统一的抽象级别。由于电子商务的规模和我们的工业赞助商无法接受高度抽象的模型,我们的认识不足更加严重。所有制我们在处理所有权问题上有问题。工业赞助商愿意为交换模型付费,但不想56M. Blaha / Electronic Notes in Theoretical Computer Science 94(2004)51-支持他们。一些供应商愿意支持这些模型,但这是不可取的,因为交换模型的目的是弥合供应商和他们的个人利益。最终,一家化学工程软件的主要供应商收到了这些模型并提供了支持孤儿技术。 几乎所有的PDXI资金都来自石油化工公司。他们的主要兴趣是石油化工技术。数据交换问题对他们来说很重要,但仍然不是核心兴趣。对于非核心竞争力的东西,很难获得公司的支持。因此,我们的支持者只来自第一和第二层管理层。他们几乎没有筹资权力,限制了PDXI的预算。相比之下,几年后,欧洲共同体启动了一个类似的项目,政府提供了大量资金,远远超过PDXI。协同任何一种标准都有许多相互冲突的利益。我们很难协调每个人我们从来没有收到过我们的许多模型的完整签名(或拒绝)。无所谓对错。图1和图2中的模型都是正确的。因此,本文中的问题不是“正确”或“不正确”模型的问题。相反,这个问题是一个范围和模型目的的问题。从其他项目的额外经验中,我们了解到关注范围和目的对于构建有用的模型至关重要记录要求。在后来的一个不相关的项目中,我们学习了如何更好地表示元模型。我们根据项目需求构建了一个元模型,然后构建应用程序模型来填充元模型。我们向最终用户展示了应用程序模型,以便他们可以验证其内容。我们告诉用户关于元模型的信息,但并没有深入地展示它们--在某种意义上,元模型和应用程序模型的使用是一个多层数据模型,如[3]所解释的。4知识库技术文献中有许多关于知识库技术的论文,这是一个与数据交换相关的主题。存储库是保存软件工程工具信息的数据库。存储库充当在各种工具之间移动数据的中介,并提供除了特定工具需要之外的通用数据软件工程M. Blaha / Electronic Notes in Theoretical Computer Science 94(2004)51-57表3相似性-存储库与交换模型表4数据库-存储库与交换模型工具从存储库导入和导出数据。参考文献[1]讨论了存储库软件的需求。从定义中可以看出,存储库的目的和功能与交换模型的目的和功能之间存在重叠。表3指出了相似之处。表4指出了差异。5结论根据我们的经验,我们有以下建议。尺寸交换模型应该保持较小的规模(理想情况下不超过几页)。抽象。交换模型应该是高度抽象的。让人们理解他们是另一个问题。灵活性. 一个小的、抽象的模型最有可能满足未来不可预见的应用程序的交换需求。真正的融合。单独的建模任务必须深度协调。仅仅拥有一切的结合是不令人满意的58M. Blaha / Electronic Notes in Theoretical Computer Science 94(2004)51-我们认为软件数据交换有许多应用程序需要集成,并具有不同的重叠量。最好使用一个小的模型来抽象预期的差异,而不是为每一个需求编写繁琐的特定代码。引用[1] 迈克尔·布拉哈,大卫·拉普兰特,和埃里卡·马瓦克。对存储库软件的要求。第五届IEEE逆向工程工作会议。檀香山,夏威夷,1998年10月,164-173。[2] Neil Book,Oliver Sitton,Rodolphe Motard,Michael Blaha,Barbara Maia-Goldstein,JohnHedrick,and James Fielding.通往通用字节的道路。化学工程杂志1994年9[3] 安东尼·考克斯和查尔斯·克拉克多层数据建模。2003年11月,不列颠哥伦比亚省维多利亚举行的逆向工程元模型和模式研讨会。电子笔记理论计算机科学(本卷),2004年。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功