没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记163(2006)31-44www.elsevier.com/locate/entcs面向主题的模型驱动框架放大图片作者:Carlos Gonzalez,Juan M.Murillo穆里略1,2Quercus Software Engineering Group埃斯特雷马杜拉大学计算机科学系。西班牙摘要模型驱动架构是一种解决以下问题的方法:软件产品需要准备好使用的高可用性,软件系统目前具有的高度进化,等等。然而,在大型复杂系统的开发中,由于描述这些系统的模型的大小和复杂性,这种方法的好处已经减少。在这个面向对象的软件开发(AOSD)似乎可以提高对软件产品的理解、可重用性和适应性。它的机制是基于横切关注点的模块化,这些关注点被称为方面。因此,我们建议同时使用AOSD和MDA,希望减少后者的缺点。因此,安全性、复制、实时约束等方面,将由专业建模人员在整个MDA框架中独立建模。我们的建议利用了一个工具,用于检查不同的模型(方面)之间的一致性,在同一个抽象级别,支持UML元素,需求和关注的可追溯性,并控制整个MDA框架的变化的影响关键词:AOSD,面向主题建模,MDA,可追溯性1介绍模型驱动开发[14]是一种尝试减少在实施时的责任和工作量。因此,它的目标是用一个以模型为中心的开发过程来改变传统的以代码为中心的开发过程。因此,开发人员可以专注于软件系统的语义来对其进行建模,而无需考虑与底层平台相关的细节这方面的一种方法是OMG的模型驱动架构[20]。这种方法是在关注点分离原则[8]中向前迈出的一步,1这项工作是在西班牙科学技术部根据合同TIC 2002 -04309-C 02 -01和埃斯特雷马杜拉委员会根据合同2 PR04 B 011的支持下进行的。2电子邮件:pabloama@unex.es1571-0661 © 2006 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2006.07.00632P. Amaya等人/理论计算机科学电子笔记163(2006)31将技术关注点划分为不同的抽象层次(关注点的垂直分离)[19]。因此,它建立了三个抽象级别,称为CIM(计算无关模型),PIM(平台无关模型)和PSM(平台特定模型)。每一个层次都集中在正在开发的软件系统的不同关注点上。CIM独立于任何计算系统对真实系统进行建模,也就是说,它构成了一个域模型。PIM从独立于任何底层平台的计算角度对系统进行建模,PSM针对特定平台对系统进行建模。此外,在每对连续的模型之间是转换,这是MDA和MDD的另一个关键机制[32]。其目的是建立从源抽象模型到更细化或抽象模型的元素之间的映射。因此,实现了不同抽象级别之间的需求和元素的可追溯性。由于这一特性方便了系统的维护,因此对于软件开发来说是非常重要的。然而,当MDA被用于大型复杂系统的开发时,这个框架所承诺的好处(可追溯性,演化,维护等)大大缩小了。这个问题的出现是因为系统是由非常大的,复杂的,单片模型[30]。因此,这些模型很难维护,发展,扩展,适应,重用等,此外,不同的抽象模型之间的转换变得非常复杂,庞大,可重用性差。在这个范围内,由于这些模型之间缺乏一致性,跨不同抽象级别的元素的可跟踪性是困难的[30]。这一事实意味着需求的设计和实现分别分散在几个设计和实现实体中。最终的结果是,从CIM到代码的跟踪需求可能会产生太多的可跟踪性信息,这将难以管理。另一方面,AOSD [3,26]将面向方面编程[12,24]的好处扩展到整个软件开发生命周期。这种方法假定了软件模块化的进步。因此,它允许我们将那些属性隔离在人工事实(称为方面)中,这些属性的规范分散在整个系统中,并且难以通过传统的建模技术进行管理。通过这种方式,AOSD技术促进了软件系统中关注点的可追溯性[17]。为了在MDA框架中支持需求、UML元素、主题和关注点的可追溯性,本文提出了一种MDA和AOSD的集成方法。在此基础上,提出了一种从CIM到PSM的需求跟踪算法。 在我们的建议中,每个MDA级别由以下内容组成:一组模型-它们中的每一个对应于软件系统3的一个方面。这些方面(模型)将在协作开发环境中的MDA框架中单独开发和转换4[35]。在这种情况下,典型的方面可能是安全性、实时约束等,它们将被具体化UML2规范指出,模型是软件系统的部分规范。 通过这种方式,我们将一个方面视为软件系统的部分规范协作开发环境是指多个开发人员协作构建同一个系统的场景,每个开发人员都专注于系统的一个领域。P. Amaya等人/理论计算机科学电子笔记163(2006)3133由该方面所关注的领域的专家进行。 因此,保持不同的关注点因为每个抽象级别上的不同模型允许更清晰的转换和映射,并因此允许改进的可跟踪性。此外,我们的建议允许我们在MDA上下文中以协作和一致的方式对方面进行建模。它使用xlinkit [7]在每个抽象层(CIM,PIM或PSM)进行模型一致性检查。此功能还支持自动分析影响在任何抽象层次上的模型变化论文的其余部分组织如下:在第2节中,概述了提案以及如何使用xlinkit实现我们的目标;第3节介绍了MDA中的可追溯性和演化工具的改进;第4节显示了如何管理相同抽象级别的模型一致性;第5节显示了相关工作;最后,在第6节中,提出了结论和未来工作的可能路线。2基于模型驱动架构和面向主题设计的本节分为三个小节:第一小节介绍了关于AOSD的一些背景;第二小节通过一个示例深入了解了我们的建议;第三小节展示了如何使用xlinkit来检查表示相同抽象级别的不同方面的模型之间的一致性2.1背景AOSD的目标是将AOP范式扩展到软件开发的所有阶段。AOP和AOSD的关键概念是横切关注点的分离。在实现阶段解决了这个问题之后,AOP概念被扩展到软件生命周期的所有阶段[26]。因此,已经提出了一些方法用于设计阶段[30,27],其他方法用于分析阶段[11],还有一些方法用于需求阶段[4]。几乎所有的方法都使用UML对系统进行建模。这项工作是基于面向主题的建模(SOM)[28,30]。这种选择是由它在UML设计中提供的高度可重用性和可追溯性所激励的。SOM提出每个需求可以设计成一个UML包,称为主题,每个主题可以用Aspect/J或Hyper/J实现,这样,当系统需求发生变化时,这种变化只会修改一个主题,从而提高了系统维护的效率。此外,SOM由于其对称设计范式的特点,非常适合于协同开发。在[35]中解释了对称方法适合于协作开发,而非对称方法适合于基于扩展的开发。34P. Amaya等人/理论计算机科学电子笔记163(2006)312.2提案概述这项工作假设横切系统的关注点已经在早期阶段被识别出来。这些问题将由专家工作组单独研究模型也将独立转换,使它们在开发过程中保持分离因此,这些工作组将分别对CIM到PSM的每个方面进行建模和转换通过使用SOM方法来管理分离。通过这种方式,允许使用我们的建议来协作地对这些在同一个抽象层次上有不同的模型,这就需要在它们之间建立组合关系。这是因为必须指定系统的所有方面(由不同的模型描述)之间共享的语义,检测这些模型之间的冲突,并将它们集成为一个整体。这些关系由协调建模者单独指定给模型,以便建模者专注于开发他们的方面,而不知道系统的其他方面。组合关系在XML文档中指定。关于这个问题的更多细节将在第2.3节 Xlinkit中给出Fig. 1. CIM和PIM建模两个系统方面图1显示了我们的框架的CIM和PIM级别,它是基于一个电子政务信息系统的案例研究。这个例子涉及我们的行政委员会(Junta de Extremadura)的一项制裁行政协议5本任务超出本工作P. Amaya等人/理论计算机科学电子笔记163(2006)3135我们提出了一个小例子,其中包含一组专家,公民和魔法。每当一个公民因行政过失而必须受到制裁时,这个制度就会创造一个新的权宜之计,并将其分配给一个特定的地方法官。然后,当法官作出裁决时,这种权宜之计是一种惩罚, 对公民来说。在这个小例子中,我们确定了CIM中的三个需求。使用面向主题的设计(SOD),这三个要求已被设计保持他们分开。如果使用传统的UML建模,就会 出 现 Jacobson 在 [15] 中 描 述 的 散 射 和 缠 结 问 题 图 1 显 示 了 由 主 题“RecovExpediente”设计的(1) 在模型“利益相关者用户”(2)中。此外,两个方面(3)(4)已经用UML2模型元素的viewCIM和viewPIM原型建模[21]。以同样的方式,用例和两个viewPIM模型将在PSM级别保持分离。 我们采用了SOM方法,建议 与SOD不同的是,这里权宜关注点和认证关注点之间的组合关系是用XML指定的(5)由协调器模型。XML规范是我们自己的转录,我们已经由SOD提出的三种关系-合并,覆盖和绑定。这种在组合模型外部指定组合关系的方式有两个优点:• 首先,因为建模者应该在他们之间尽可能少的沟通的情况下开发关注点[9],也就是说,建模者应该只专注于他的方面而不知道其他方面。然后由协调建模专家建立• 其次,使用XML作为基础来指定关系允许使用工具检查模型的一致性。特别是,我们使用xlinkit。 这将在下一节中详细2.3XlinkitXlinkit是一个管理分布式和异构XML格式文档一致性的工具,这对软件开发至关重要[7]。这些文档将根据一组作为规则实现的约束进行检查。例如,一个非常简单的规则可以检查Java实现的类名是否 与它们的UML类的名称一致。这个规则可以强制设计中的所有类在实现中必须有一个同名的类。Xlinkit基于XML、XML和XLink,用于在分布式文档之间生成超链接。该工具接受一组表示模型的XML文档和另一组包含这些模型元素必须满足的规则的XML文档。因此,xlinkit生成了一个XML文档,该文档带有用于确定一致和不一致元素的链接对(LinkBase)作为输出。 也就是说,如果两个模型的两个元素满足一个特定的规则,链接库会显示指向该规则和一致元素的超链接。xlinkit的最初目标是管理两个mod之间的一致性36P. Amaya等人/理论计算机科学电子笔记163(2006)31图二. XML文件埃尔。然而,这项工作利用xlinkit的优势,只是为了:- 在同一抽象级别检查方面(模型)及其组合关系。通常,xlinkit中检查的语义完全存储在约束规则中,但在我们的例子中,该语义在一致性规则和组合关系之间共享,因为后者指定了两个或多个模型的元素应该如何相关。 出于这个原因,我们正在开发一组规则,用于验证和识别模型之间的组合关系中的冲突。- 检查一个模型和它转换成另一个更抽象或细化的模型之间的一致性。在这种情况下,一致性规则应该考虑转换模型中存储的关于两个模型之间映射的信息。- 使用LinkBase作为文档来导航到方面之间的组合关系,作为源来支持不同模型之间的自动跟踪,以及评估更改的影响按照前面的示例(图1),第一步是由协调器建模器指定XML中的组合关系,以便xlinkit处理viewPIM。图2.c显示了在图2.c中的绑定[-User,getAntecedentData()-]关系。P. Amaya等人/理论计算机科学电子笔记163(2006)3137XML(图1(6))。第二步是创建或选择一组规则,用于检查和建立XML组合文档中指定的不同关系。 这个任务可以通过使用xlinkit工作台工具来完成[31]。 图2.b显示了一个非常简单的规则,检查前面的绑定关系,验证组合关系中指定的元素存在于两个模型中,并且由主题构造型建模。例如,另一个规则可以验证通过绑定关系链接的参数和元素都是兼容的,并且都没有被省略。第三步是将viewPIM导出到XMI [22]文档。目前,这三个步骤都是手动完成的一旦前面的三个步骤已经完成,就可以执行xlinkit来处理模型和针对指定规则集的组合关系。然后,通过xlinkit生成XML格式的LinkBase,并将其分为两部分:• 第一个包含视图PIM之间一致的元素(a 使用subject-relationships-subject的列表)。• 第二个包含不一致的元素,这些元素违反了检查它们所依据的图2.a显示了一个简单的LinkBase,它包含两个viewPIM之间的两个一致元素。这些元素[@ xmi.id =4]和[@xmi.id=6](图1(7)和(8))以及组合关系([@id=1]图1(6))与r1检查规则一致。在这一点上,可以遵循两种策略来获得整个系统实现:• 为Hyper/J生成每个模型(方面)的代码[13]。在这种情况下,LinkBase和组合XML用于导出Hyperslices和Hypermodules之间的组合关系。• 在PSM级别组合或编织模型(方面),然后生成通常的PSM代码[10]。我们选择了第一个选项,因为它比第二个选项简单。第二种策略应该进行组合转换以编织方面模型,并进行模型转换以从PSM生成代码[18]。此外,由于我们的建议既生成面向方面的代码,又使用xlinkit在PIM和PSM级别检查模型这个特性非常重要,因为模型的组成是一项复杂而艰巨的任务[5]。目前,我们正在将模型(方面)和组合关系手动地从PSM映射到代码。这种映射基于[29]中所述的规则。 然而,我们已经开始使用工具来自动转换这些实体,但我们还没有得到结果。 这些工具基于QVT [25]。38P. Amaya等人/理论计算机科学电子笔记163(2006)313检查一致性并支持可追溯性在本节中,将展示如何使用xlinkit检查模型之间的一致性。检查过程生成LinkBase文档,该文档将作为从CIM到PSM的需求自动跟踪的入口完成了上一节中描述的步骤之后,就可以检查模型之间的一致性了。特别是,应在以下情况下执行检查过程:- 在将一个模型转换成另一个(更精细的)模型之前,检查它与相同抽象级别的模型的一致性是很方便的。这一步保证源模型是正确的。- 在执行转换之后,应该检查源模型和目标模型之间的一致性,以验证转换的正确性- 当一个新的方面(模型)被添加到系统中时,检查结果模型是否正确是必要的。图3.第三章。用于检查部分错误的链接库使用xlinkit检查一致性会生成一组LinkBase文档。 如图3所示,使用分离的模型可以实现部分管理,能够进行一致性检查。相反,如果没有这项工作中提出的分离,只允许全局一致性检查,这在开发大型复杂系统时有时既不可能也不可取[6]。此外,LinkBase文档可以用作跟踪框架中UML元素、关注点、需求和主题的算法的入口。例如,如果已经选择Java编程语言来实现系统,并且在生成Java类时获得失败。那么能够追踪“那个类来自哪里”,也就是什么PIM,PSM元素(甚至CIM)是该类的可追溯性可以通过在一个简单的向下和向上的方法。这个过程可以如下:首先要跟踪的源元素位于LinkBase中,然后它的对位于下一个模型中路是确定的。该对在该模型中被跟踪,并位于下一个LinkBase文档中,依此类推。算法1展示了如何从P. Amaya等人/理论计算机科学电子笔记163(2006)3139CIM到PSM。例如,我们使用XMI模型和安全视图的垂直链接库(图3的右边部分)来跟踪从CIM到PSM的AuthenticateUser用例(图1)更详细地,该算法运行以下步骤:(i) 它提供了一个跟踪列表,用于存储从CIM到PSM要跟踪的元素。(ii) 接下来,在CIM中搜索用例XMI标识符(XMI格式)。它使用//UML:RISCase/@name索引来提取包含有关该用例的信息的节点,然后使用//UML:RISCase/@ xmi.id索引来获得搜索到的XMI标识符用例名称和标识符与CIM的名称一起存储在跟踪列表(iii) 然后,它通过使用CIM-PIM LinkBase和在前一步中找到的标识符它使用//xlinkit:locator/@ xlink:href来提取包含用例和主题之间的一致性链接(不一致或一致)因此,我们可以获得存储主题XMI标识符的该节点的兄弟节点。此外,它还使用以前的主题XMI标识符和//UML:Package/@www.example.com标识符搜索主题xmi.id主题(iv) 一旦获得了PIM级别的受试者,下一步就是获得PSM级别的受试者。该算法通过使用PIM-PSM LinkBase和在前一步骤中找到的标识符来搜索实现PIM主题的PSM主题。它使用//xlinkit:locator/@ xlink:href函数来提取包含这些主题之间的一致性链接(不一致或一致)的节点。因此,我们可以获得存储PSM的主体XMI标识符的该节点的兄弟节点。同样,它使用前面的主题XMI标识符和//UML:Package/@ www.example.com目录在PSM中搜索主题xmi.id受试者该跟踪列表还可以用于其他目的,例如:打印报告,存储历史可追溯性等。由于前面的步骤用于跟踪从CIM到PSM的用例,因此跟踪另一种元素(如主题或类)所需的更改是最小的。例如,为了跟踪从PIM到PSM的类,第三步和第四步应该只通过类引用更改用例引用,并通过XPath中的//UML:Class字符串更改//UML:Package字符串。此外,我们的框架可以有其他额外的PIM或PSM级别。在这种情况下,跟踪算法应该只重复第三和第四步,以便从CIM跟踪到较低的PSM。无论如何,如果用例没有在PIM和PSM级别映射到良好模块化的实体(在我们的建议中是子实体),也就是说,它的功能分散在几个类中,那么关于可跟踪性的信息就太大了,因为映射不像我们的建议那样线性这些信息甚至更大,40P. Amaya等人/理论计算机科学电子笔记163(2006)31算法1. trace-list:=在XMIxmi-id-CIM:=获取搜索用例的ID,将xmi-id-CIM和用例名称以结尾添加到trace-list使用CIM:PIM LinkBaseforall xlinkit:带有xmi-id-CIM的xmi-id-PIM:=获取此节点在XMI中具有PIM的兄弟节点的元素ID在跟踪列表中添加id=xmi-id-PIM的元素,元素对于所有xlinkit-locator与xmi-id-PIMxmi-id-PSM:=在XMI将id=xmi-id-PSM且元素名为end for all的元素添加到trace-list以全部结束算法1. 在整个MDA框架中跟踪用例在PSM级别处理更复杂。该算法能够跟踪使用xlinkit检查过的元素,即LinkBase中出现的任何类型的元素可追溯性的好处之一是能够预测变化的影响[17]。一旦系统开发完成,如果需要在需求、设计或要素方面进行更改,则需要了解哪些要素在较低和较高的水平将受到这种变化的影响。由于我们的方案可以自上而下和自下而上地跟踪元素,通过对LinkBase的处理,可以得到这种变化可能涉及的其他层次的元素。例如,如果在CIM级别删除了一个需求,则此更改可能会导致在PIM和PSM级别删除主题、调整组合关系、修改抽象级别之间的映射等多个更改。因此,这些更改可能成本太高,并且可能会被执行、延迟或取消。相同的过程可用于跟踪和控制水平方向上的变化。在这种情况下,我们处理链接库,链接库在同一抽象级别上联系不同的模型,即水平链接库。总之,一方面,SOM在抽象级别(CIM、PIM和PSM)之间提供了良好的一致性,因此有助于在MDA框架的任何抽象级别发生变化后识别关注点和需求。另一方面,LinkBase可以用于跟踪整个MDA框架中的需求、关注点、元素和主题。P. Amaya等人/理论计算机科学电子笔记163(2006)3141此外,模型转换自动化并在系统中进行敏捷更改。因此,这项工作集成了所有这些技术在一个合适的方式模型驱动的开发。4实现持续的渐进式发展本文提出的另一个重要特点是通过集成面向主题建模和MDA来支持大型复杂系统的渐进式开发过程。这是由于SOM能够在已经实现的模型中添加或修改行为和结构,而不是侵入性地。例如,在我们的案例研究中,一旦安全方面的三个抽象级别(viewCIM,viewPIM和viewPSM)已经建模,系统可能需要更改其需求的规范:“访问控制将通过SSL在安全的网络上进行”。这种修改将涉及创建一个新的用例,“扩展”以前的安全用例。 此外,这种变化意味着修改PIM和PSM实体,但这些都是添加完成因此,将设计一个新的主题,用于在“AuthenticateUser”主题上附加新的安全行为(图1(8)),而不修改现有的主题。 PSM完全重复相同的过程。因此,这意味着通过增加变更来改进软件系统的演化和维护。此外,xlinkit可以轻松管理这些添加性更改。Xlinkit允许我们对一致性进行增量分析,也就是说,它通过只分析那些在修改后可能不一致的元素来提取XMI模型修改前后的差异。因此,当系统中引入的更改被很好地识别和隔离时,xlinkit将只检查新的方面和与之相关的元素5相关作品Reina等人[1]建议使用不同的面向方面的建模建议 在PSM级别。 作者对此提出异议的原因是,平台专用。 因此,他们建议对在PIM级别建模的每个方面使用领域特定语言(DSL)。问题是,对于每个新的系统方面,都需要使用新的DSL(基于元模型扩展或UML概要文件),因此,开发人员必须在同一抽象级别上使用多种语言。此外,这种方法提出了一组模型,这些模型与PIM级别的Web技术(表示、导航、安全等)相关,实际上,这个级别似乎并不独立于技术Ivar Jacobson在[15,16]中分析了在用例指导的软件开发过程中组件图中的缠结和分散问题。他使用多维关注点分离来解决这些问题。他建立的维度是用例和类。然而,他没有给出关于组成的细节,也没有给出模型的变换、组成规则、结构关系,42P. Amaya等人/理论计算机科学电子笔记163(2006)31等Kulkarni等人[33,34]将关注点分离集成到MDD中,以促进软件系统中的可跟踪性,可重用性和演化。为了实现这种分离,抽象的模板元模型被用来分离系统的关注点,在模型和代码级的层次化的方式。但是抽象模板本身将某些方面与其他方面耦合在一起。本文中提出的工作类似于主题方法[11]。 在在这种方法中,软件需求通过使用Action View的Theme/DOC来指定,分析和设计阶段通过使用Theme/UML(主题和组合模式)来建模。因此,这种方法应该组合模型来检查和验证它们,但在我们的建议中,这项任务不是必需的由于使用了xlinkit。 此外,他们没有提出任何关于方面或模型转换的建议,他们只提出了分析和设计阶段,而没有关注可能的中间阶段或模型的改进。也就是说,我们的方案明确地将软件系统设计分为两个阶段,一个是技术独立阶段,另一个是MDA合规的特定阶段我们的建议是非常相似的方法,提出了罗伯特法国等[10],这也是基于MDA。最重要的区别是它区分了核心模型和其他方面模型因此,对于前者,这是一种不对称的方面方法,我们的建议是对称的[23] [35]。因此,这一提议受到了ANOJ [12]的高度支持,而我们的工作最接近于关注点的多维分离[24]。6结论a在这项工作中,我们提出了一个MDA框架,提出了不同的模型,保持他们从CIM到PSM分离的系统方面。此外,viewModel(为三个抽象级别开发的方面)可以由不同的专业建模人员使用xlinkit工具以一致和增量的方式开发。此外,该提案还集成了一个灵活的外部机制,用于自动跟踪MDA上的关注点、需求和其他抽象工件。因此,软件系统的维护和演化可以在一种通过识别可以在之后进行检查的元素的受控方式系统的变化。在这种情况下,面向主题的建模允许我们添加设计这些变化,而不是侵入。我们认为,模型的组成是一项艰巨而复杂的任务,可能过于昂贵。因此,我们建议生成面向方面的代码,并使用xlinkit检查模型,以避免模型组合。一个重要的开放性问题是研究如何ViewPIM和ViewPSM的内部组织可能会改变,如果其他类型的图模型系统的需求,在CIM中使用:活动图,工作流程,域模型,这些混合物,BPMS等,此外,我们可以寻找最合适的方式来分离,使现在,我们正在开发一个涵盖所有MDAP. Amaya等人/理论计算机科学电子笔记163(2006)3143程度.也就是说,我们的目标是拥有覆盖三个抽象层次的方面模型存储库,以便在同一领域的不同系统中重用它们如前所述,我们正在制作一个目录,其中包含关于主题成分约束的规则,以便在模型级别执行强有力的检查。这将在该抽象级别验证组合,以便从该模型引用[1] A.M. Reina、J. Torres和M.托罗面向开发具有方面的通用解决方案。2004年10月与UML 2004会议一起举办的面向方面建模[2] A. Solberg,D.西蒙兹河,巴西-地雷迪,S。戈什河法国,“使用面向方面的技术支持模型驱动开发中的关注点分离苏格兰,2005[3] 面向软件开发的Web站点,http://www.aosd.net,2005年[4] A. Rashid,A. Moreira,J. Arajo.模块化和方面要求的组成,AOSD 2003,波士顿,美国,17-21。2003年3[5] B. Baudry,F.弗勒里河法兰西河雷迪探索模型构成之间的关系模型转换。在2005年10月与AOM 2005会议一起举办的面向方面建模研讨会上。[6] B. Nuseibeh,S. Easterbrook和A.罗素.在软件开发中利用不一致性。IEEE Computer,33(4):24-29,April 2000.[7] C. Nentwich,W. Emmerich,A. Finkelstein和E. Ellmer,12,pp.2003年第28-63号[8] Dijkstra,E.W.,《程序设计的一门学科》,Prentice-Hall,1976年。[9] D. L.帕纳斯关于将系统分解成模块的准则。在通信技术中ACM,卷。15、问题12ACM,1972年12月[10] D. Simmonds,A.索尔贝格河雷迪河法国S.高希面向方面的模型驱动框架。[11] E. Baniassad和S.克拉克主题:一种面向抽象的分析和设计方法。2004年第26届ICSE会议论文集[12] G. Kiczales,J. Lamping,A.门德赫卡尔角前田角洛佩斯,J.M. Loingtier和J. Irwin。面向方面编程。在ECOOP'97面向对象编程,第11届欧洲会议。LNCS 1241,第220- 242页,1997年。[13] H. Ossher和P.Tarr:多维关注点分离和超空间方法。软件体系结构和组件技术研讨会论文集:软件开发的艺术Kluwer,2000年[14] IEEE Software.关于模型驱动开发的特刊。第20卷第5条2003年9月/10月。[15] Ivar Jacobson:用例和方面一起工作。在对象技术杂志,卷。号24,July-August 2003,pp.7比28[16] I.作者:Jacobson,Pan-Wei Ng.使用用例进行面向对象的软件开发。Addison Wesley Professional,2004年。[17] J. 巴克关注的可追溯性硕士[18] Krzystof Czarnecki和Ulrich W.艾森内克生成式编程:方法、工具和应用。Addison-Wesley,波士顿,2000年[19] M. Aksit MDA设计方法中横切关注点的系统分析。MDA的适应性如何特温特大学,2005年5月[20] OMG. MDA指南V1.0.1.文件-44P. Amaya等人/理论计算机科学电子笔记163(2006)31[21] OMG. UML 2.0 Superstructure。文件-[22] OMG. XMI 2.0。文件-正式/03-05-02[23] P. Amaya,C. Gonzlez,J.M.穆里略MDA和方面分离:基于多视图和面向主题设计的方法。在联合举办的面向方面建模研讨会上, 2005年3月,AOSD 2005会议[24] P. Tarr,H. Osher,W. H. Harrison和S. S. Jr. N度分离:关注点的多维分离。在ICSE会议记录中,第107119页。北京:计算机科学出版社,1999.[25] QVT-合并组。修订提交的MOF 2.0查询/查看/转换RFP(ad/2002- 04-10)。OMG,2005年。[26] R. Filman,T. Elad,S. Clarke,M. Aksit(编辑)[27] R. B.法兰西岛雷,G。Georg和S.高希面向方面的设计建模方法。IEE Proceedings - Software,SpecialIssue on Early Aspects : Aesthet-Oriented Requirements Engineering and Architecture Design , 151(4),August 2004.[28] S. 克 拉 克 ”Extending standard UML with model composition semantics” in Science of ComputerProgramming, 71比100 Elsevier Science,2002年7月[29] S.作者声明:Robert J.”Separating Crosscutting Concerns across the Lifecycle: From Composition [TCD-CS-2001-15],都柏林三一学院和不列颠哥伦比亚大学May 2001[30] S. Clarke,W. Harrison,H. Ossher,P. Tarr.面向主题的设计:改进需求、设计和代码的一致性。在美国科罗拉多州丹佛的OOPSLA会议记录中,1999年11月[31] Systemwire网页。Xlinkit规则http://www.systemwire.com,2005年[32] S. Sendall , W. 科 扎 钦 斯 基 ”Model Transformation: The Heart and Soul of Model-Driven SoftwareDevelopment,”号20第5页。42-45,2003年9月/10月[33] V. Kulkarni,S. Reddy:将方面与模型驱动软件开发集成。在SERP'03国际会议上客:拉斯维加斯June2003[34] V. Kulkarni,S. Reddy:模型驱动开发中的关注点分离。IEEE Software 20(5):64-69(2003).[35] W. Harrison,H.作者声明:by P.软件组合的非对称与对称组织范例。技术报告,IBM,2002年。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功