基于模型关联关系的遗产软件系统的现代化的制作方法

文档序号:8344592阅读:411来源:国知局
基于模型关联关系的遗产软件系统的现代化的制作方法
【技术领域】
【背景技术】
[0001]FORTRAN(FORmula TRANslat1n,公式翻译程式语言)是一种适于执行大型、复杂数值和科学计算的程序设计语言。自20世纪50年代引入FORTRAN以来,已经使用FORTRAN开发了很多不同规模和复杂度的系统。这些系统中的一些可能有几十年之久并且仍然可以有效用于各个行业中。因此,这些系统可以被称为遗产(Iegacy)FORTRAN系统。
[0002]遗产FORTRAN系统能够存在各种缺点。第一,遗产FORTRAN系统可能具有少量或没有文档。第二,遗产FORTRAN系统可能是使用过时的软件设计方法开发的或者完全没有使用软件设计方法开发。第三,可能存在多个程序员从事遗产FORTRAN系统,从而产生的代码具有多种编程风格并且有时具有不同的编程风格。第四,当前进入劳动力市场的新的大学毕业生可能接收很少或没有接收正式的遗产编程语言(如FORTRAN)的培训,从而减少了能够从事遗产FORTRAN系统的熟练程序员的数量。这些缺点和其他缺点能够影响组织者对遗产FORTRAN系统的维护、迀移和/或现代化的能力。
[0003]基于这些考虑和其他考虑,提出本文所述公开。

【发明内容】

[0004]应当理解,以简化形式提供此
【发明内容】
引入了一些概念,它们将在下面的【具体实施方式】中进一步描述。此
【发明内容】
目的不用于限制所要求保护主题的范围。
[0005]本文描述的方法、系统和计算机可读介质用于将非面向对象的应用(applicat1n,应用/应用程序)迀移到面向对象的平台。根据本文提出的实施例,可以接收非面向对象的应用。非面向对象的应用可以被解析为非面向对象的应用的元素。可以生成元素的设计或关联关系结构矩阵(design or dependency structure matrix, DSM)表示。基于DSM表示可以生成最终对象模型。最终对象模型可以映射到面向对象的开发环境的代码框架表示。
[0006]本文讨论的特征、功能和优点能够独立地在本发明的各种实施例中实现或者可以被组合在其他实施例中,这些特征、功能和优点的进一步细节能够参考下面的说明书和附图而了解到。
【附图说明】
[0007]图1示出根据本文提出的实施例的迀移系统的框图,迀移系统被配置为将源应用迀移到面向对象的平台;
[0008]图2示出根据本文提出的实施例的DSM表示的示例性实施方式的屏幕显示图;
[0009]图3是根据本文提出的实施例在划分模块已经划分DSM表示之后,示例性划分的DSM表不的屏蒂显不图;
[0010]图4是根据本文提出的实施例在聚类模块已经识别DSM表示中的聚类之后,示例性聚类的DSM表示的屏幕显示图;
[0011]图5示出根据本文提出的实施例的目标系统对象模型的一个示例性实施方式的屏蒂显不图;
[0012]图6示出根据本文提出的实施例的最终对象模型的示例性实施方式的屏幕显示图;
[0013]图7示出根据本文提出的实施例的聚类的类定义的示例性实施方式的屏幕显示图;
[0014]图8和图9示出根据本文提出的实施例的代码框架表示的示例性实施方式的屏幕显不图;
[0015]图10示出根据本文提出的实施例的用于将非面向对象的应用迀移到面向对象的平台的方法的流程图;以及
[0016]图11示出计算系统的一个说明性计算机硬件和软件架构的框图,该计算系统能够实施本文提出的实施例的各个方面。
【具体实施方式】
[0017]下面的【具体实施方式】涉及用于将遗产软件应用(例如FORTRAN应用)迀移到现代的面向对象的平台的方法、系统、计算机可读介质和其他合适的技术。根据各种实施例,所述技术可以被配置为执行三级迀移过程。在第一级中,所述技术可以被配置为接收源应用、提取源应用的元素、获取元素之间的关联关系,并生成设计或关联关系结构矩阵(DSM)表示,该设计或关联关系结构矩阵表示图形化描绘了提取的元素和它们被获取的关联关系。在第二级中,所述技术可以被配置为执行DSM表示的分析,以生成源应用的模块化框架。一些示例分析可以包括域知识独立分析(domain knowledge independent analysis)和功能性知识分析。在第三级中,所述技术可以被配置为基于模块化框架生成面向对象的目标系统中的代码框架。程序员可以利用代码框架有效且高效地将源应用从它的源语言(例如,FORTRAN)翻译为面向对象的目标语言(例如,JAVA)。
[0018]一般情况下,DSM是复杂系统的紧凑简洁的可视化表示。可以利用使用DSM的分析技术来模拟系统以便解决分解和整合问题。根据各种实施例,软件分析使用的DSM是nXn方阵,其中对角线单元表示系统的节点或模块。每个对角线单元可以与数值权重相关联,该数值权重表示相应节点相对于整个系统包括的代码的百分比。矩阵中的所有其他单元可以表示阴影(或以其他方式进行高亮)指示的元素或模块的组和/或对角线之外的数值加权的单元之间的潜在关联性或关系。
[0019]出于说明目的,本文描述的实施例主要涉及遗产FORTRAN应用向现代的面向对象的平台的迀移。然而,应当理解,这些实施例仅是示例性的,目的不是限制性的。具体地,本文描述的概念和技术可以类似地用于以其他遗产编程语言(例如,LISP、C0B0L等)撰写的应用的现代化。
[0020]在下面【具体实施方式】中,参考构成本发明的一部分并通过图示说明的方式示出具体实施例或示例的附图。在参考附图时,多个图中相似的附图标记表示相似元件。
[0021]图1示出根据本文提出的实施例的迀移系统100的框图,迀移系统100被配置为将源应用迀移到面向对象的平台。迀移系统100可以包括DSM生成模块102、DSM分析模块104和目标系统映射模块106。
[0022]DSM生成模块102可以包括FORTRAN解析器108和DSM表示生成工具110。FORTRAN解析器108的一个示例是SCIENTIFIC TOOL WORKS公司(也称为SCIT00LS,科学工具厂公司)生产的UNDERSTAND静态代码分析工具。DSM表示生成工具110的一个示例是LATTIX公司的LATTIX LDM。在这种情况下,术语LDM可以指代轻量级关联关系模型。FORTRAN解析器108和/或DSM表示生成工具110的其他实施方式可以由本领域技术人员想到。
[0023]FORTRAN解析器108可以接收FORTRAN应用112作为输入。FORTRAN解析器108可以将FORTRAN应用112分解为它的基本元素,该元素组成系统结构114。例如,系统结构114可以包括FORTRAN应用112的FORTRAN模块、源文件、子程序、函数、公共块、变量。
[0024]DSM表示生成工具110可以接收系统结构114作为输入、识别系统结构114中的元素之间的关联关系并生成表示元素和它们的关联关系的DSM表示116。两个元素之间的关联关系可以在一个元素使用另一个元素时识别。例如,在第一子程序调用第二子程序时,第一子程序和第二子程序之间可以存在关联关系。两个元素之间的关联关系还可以在一个元素包括另一个元素时识别。例如,在子程序包括公共块时,子程序和公共块之间可以存在关联关系。如本文使用的,当第一元素使用或包括第二元素时,第一元素可以被称为“关联于”第二元素。
[0025]DSM表示116可以包括FORTRAN应用112的元素的图形化表示。DSM表示116可以被配置为具有多行、多列和多个单元的方阵。每个单元可以对应于一行和一列。每行可以被标记并对应于FORTRAN应用112的元素或元素组。每列可以被标记并且也对应于FORTRAN应用112的元素或元素组。给定元素或元素组可以嵌套,以扩展元素或元素组导致显示嵌套元素。
[0026]行和列可以根据元素的相同顺序(order,顺序/阶)设置。因此,DSM表示116的每个对角线单元可以对应于沿着行和沿着列的相同的元素。DSM表示116中的每个对角线外的单元可以指示相应的列表示的元素和相应的行表示的元素之间是否存在关联关系。DSM表示116可以反映DSM生成模块102提取的FORTRAN应用112的原始数据。因此,元素可以不按照对FORTRAN应用112进行有意义分析的方式布置、分离或分组。下面描述图2中示出的DSM表示116的一个示例。
[0027]DSM分析模块104可以接收DSM表示116作为输入。DSM分析模块104可以包括划分模块118、聚类模块120和功能性知识分析模块122。划分模块118和聚类模块120可以被配置为对DSM表示116执行域知识独立分析的各种方面。功能性知识分析模块122可以被配置为对DSM表示116执行功能性知识分析的各个方面。
[0028]划分模块118可以对DSM表示116执行基于组件的划分,以便识别DSM表示116内的层。层可以表示DSM表示116中的元素组的分层结构。划分模块118可以基于DSM表示116中的元素的关联关系分离所述元素,使得每层包含一组或更多组相关元素。
[0029]在一些实施例中,所述层可以包括顶层、中间层和底层。顶层中的元素可以关联于
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1