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

文档序号:8344592阅读:来源:国知局
中,整数可以指定从对应行的聚类或元素到对应列的聚类或元素做出的调用的量。
[0047]图6示出根据本文提出的实施例的最终对象模型126的示例性实施方式的屏幕显示图。如前面描述的,通过功能性知识分析模块122的接口,用户能够应用功能性域知识验证元素的每个聚类,作为面向对象的框架中的潜在类或低层模块。用户可以将多个聚类进一步重新布置和聚合为面向对象的框架中的高层模块、子系统或包。在一个示例中,第一模块602可以包括聚类vp_l和聚类vp_5。在另一个示例中,第二模块604可以包括聚类vp_2、聚类 vp_17、聚类 vp_15 和聚类 vp_16。
[0048]图7示出根据本文提出的实施例的聚类508的类定义702的示例性实施方式的屏幕显示图。如前面描述的,目标系统映射模块106可以对最终对象模型126中的每个聚类执行低层分析,以便识别每个聚类的属性和方法。例如,图7示出聚类508的类定义702。类定义702可以包括属性704的集合和方法706的集合。
[0049]图8和图9示出根据本文提出的实施例的代码框架表示128的示例性实施方式的屏幕显示图。图8示出最终对象模型126的一个示例性实施方式。图8还示出从最终对象模型126映射的ECLIPSE表示802和从最终对象模型126映射的MATLAB表示804。
[0050]图9示出ECLIPSE表示802和MATLAB表示804两者中的其中一个模块的扩展。在ECLIPSE表示802中,每个模块可以表示JAVA包。每个JAVA包可以包括一个或更多个JAVA类。每个JAVA类可以包括一个或更多个JAVA方法。例如,JAVA包806可以被扩展以示出JAVA类808,以及JAVA类可以被扩展以示出JAVA方法810。在MATLAB表示804中,每个模块可以存在一个MATLAB包。每个MATLAB包可以包括一个或更多个MATLAB类。每个MATLAB类可以包括一个或更多个MATLAB函数。例如,MATLAB包812可以被扩展以示出MATLAB类814,以及MATLAB类814可以被扩展以示出MATLAB函数816。
[0051]现在转到图10,将提供关于本文提出的用于将非面向对象的应用迀移到面向对象的平台的实施例的附加细节。应当理解,本文描述的逻辑操作被实施为(I)运行在计算系统上的计算机实施的动作或程序模块的序列和/或(2)计算系统内的互联机器逻辑电路或电路模块。所述实施方式是取决于计算系统的性能和其他操作参数的选择问题。相应地,不同情况下,本文描述的逻辑操作被称为操作、结构性装置、动作或模块。这些操作、结构性装置、动作和模块可以以软件、固件、硬件、专用数字逻辑和其任何组合实施。还应当理解,可以执行比本文描述的以及图中示出的更多或更少的操作。这些操作还可以以并行方式执行或与本文描述的顺序不同的顺序执行。
[0052]图10示出用于将非面向对象的应用迀移到面向对象的平台的例程1000。例如,可以利用例程500将FORTRAN应用迀移到ECLIPSE或JAVA的代码框架表示。在一些实施例中,例程1000可以由迀移系统100的DSM生成模块102、DSM分析模块104和/或目标系统映射模块106执行。
[0053]例程1000在操作1002处开始,其中迀移系统100可以接收非面向对象的应用。例如,非面向对象的应用可以是FORTRAN应用。在操作1002之后,例程1000可以行进到操作1004ο
[0054]在操作1004处,迀移系统100可以将非面向对象的应用解析为非面向对象的应用的元素。例如,FORTRAN应用的元素可以包括FORTRAN模块、源文件、子程序、函数、公共块和/或变量。在操作1004之后,例程1000可以行进到操作1006。
[0055]在操作1006处,迀移系统100可以生成元素的DSM表示。DSM表示可以包括对应于元素顺序的行的集合、对应于元素顺序的列的集合和单元的集合。每个单元可以对应于一行和一列。在操作1006之后,例程1000可以行进到操作1008。
[0056]在操作1008处,迀移系统100可以对DSM表示执行各种分析。如前面描述的,这种分析可以包括DSM分析模块104执行的操作。具体地,DSM分析模块104可以执行域独立分析(例如,划分或聚类)和域关联分析(例如,重组DSM表示中的标记以便与应用的业务功能对齐)。在操作1008之后,例程1000可以行进到操作1010。
[0057]在操作1010处,迀移系统100可以基于DSM表示的分析结果生成最终对象模型。迀移系统100可以基于划分和/或聚类生成目标系统对象模型。迀移系统100可以通过聚合聚类的组以识别目标系统对象模型中的包。迀移系统100可以基于目标系统对象模型中识别的包来生成最终对象模型。在操作1010之后,例程1000可以行进到操作1012。
[0058]在操作1012处,迀移系统可以将最终对象模型映射到面向对象的开发环境的代码框架表示。一些示例性面向对象的开发环境可以包括ECLIPSE和MATLAB。在ECLIPSE中,代码框架表示可以定义JAVA包、JAVA类和JAVA方法。在MATLAB中,代码框架表示可以定义MATLAB包、MATLAB类和MATLAB函数。在操作1012之后,例程1000可以重复(例如,周期性地、连续地或按照所需要求)或终止。
[0059]图11示出能够执行本文描述的软件元素以用于将非面向对象的应用迀移到面向对象的平台的说明性计算机1100。计算机1100可以具体化在单个计算设备中或在一个或更多个处理单元、存储单元和/或其他计算设备的组合中。计算机1100包括一个或更多个中央处理单元1102( “CPU”)、包括随机存取存储器1114( “RAM”)和只读存储器1116( “ROM”)的系统存储器1108和将存储器连接到CPU 1102的系统总线1104。
[0060]CPU 1102可以是标准可编程处理器,其执行计算机1100的操作所必需的算术和逻辑运算。CPU 1102可以通过操纵开关元件执行从一个离散物理状态转变为下一个状态所必需的操作,这些开关元件区分并改变这些状态。开关元件通常可以包括保持二进制状态的其中一个的电子电路,例如触发器,和基于一个或更多个其他开关元件(如逻辑门)的状态的逻辑组合提供输出状态的电子电路。这些基本开关元件可以被组合以便产生更复杂的逻辑电路,包括寄存器、加减器、算术逻辑单元、浮点单元等。
[0061]计算机1100还包括大容量存储设备1110。大容量存储设备1110可以通过大容量存储控制器(未示出)连接到CPU 1102,大容量存储控制器进一步连接到总线1104。大容量存储设备1110及其相关计算机可读介质提供计算机1100的非易失性、非临时存储。大容量存储设备1110可以存储操作系统1118以及具体应用模块或其他程序模块,例如DSM生成模块102、DSM分析模块104和目标系统映射模块106,如上面参考图1描述的。大容量存储设备1110还可以存储各种系统和模块(例如DSM表示116、最终对象模型126和代码框表示128)收集或利用的数据。
[0062]计算机1100可以通过转换大容量存储设备的物理状态以反应存储的信息,从而在大容量存储设备1110上存储程序和数据。在本公开的不同实施方式中,物理状态的具体转换可以基于各种因素。这种因素的示例可以包括,但不限于,用于实施大容量存储设备Il1的技术、大容量存储设备是否被表征为主要或次要存储装置等。例如,计算机1100可以通过存储控制器发布指令以便改变磁盘驱动设备内的具体位置的磁特性,光存储设备内的具体位置的反射或折射特性,或固态存储设备中的具体电容器、晶体管或其他离散元件的电学特性,从而将信息存储到大容量存储设备1110。前面提供的示例仅为了帮助本说明书的描述,在不脱离本发明的范围和精神的情况下,物理介质的其他转换是可能的。计算机1100可以进一步通过检测物理状态或大容量存储设备内的一个或更多个具体位置的特性,从大容量存储设备1110读取信息。
[0063]尽管本文包含的计算机可读介质的描述涉及大容量存储设备,例如硬盘或CD-ROM驱动器,本领域技术人员应当理解,计算机可读介质能够是能够被计算机1100存取的任何可用的计算机介质。计算机可读介质包括通信介质(例如信号)和计算机可读存储介质。作为示例,但不限于,计算机可读存储介质包括以任何方法或技术实施的以用于存储信息的易失和非易失、可移除和不可移除介质,例如计算机可读指令、数据结构、程序模块或其他数据。例如,计算机可读存储介质包括,但不限于,RAM、ROM、EPROM, EEPR0M、闪存或其他固态存储技术、CD-ROM、数字视盘(“DVD”)、HD-DVD, BLU-RAY或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁性存储设备,或能够用于非临时方式存储期望信息和能够被计算机1100存取的任何其他介质。根据一个实施例,计算机1100可以存取存储计算机可执行指令的计算机可读存储介质,当该指令被计算机执行时,执行例程500以将基于天气的符号临时显示在图形地图显示器上,如参考图5描述的。
[0064]根据各种实施例,计算机1100可以通过网络(例如网络1120),使用到远程计算机的逻辑连接,在联网环境中操作。计算机1100可以通过连接到总线1104
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1