CN1509433A - 把传统软件应用程序转换为现代面向对象系统的方法和系统 - Google Patents

把传统软件应用程序转换为现代面向对象系统的方法和系统 Download PDF

Info

Publication number
CN1509433A
CN1509433A CNA028097408A CN02809740A CN1509433A CN 1509433 A CN1509433 A CN 1509433A CN A028097408 A CNA028097408 A CN A028097408A CN 02809740 A CN02809740 A CN 02809740A CN 1509433 A CN1509433 A CN 1509433A
Authority
CN
China
Prior art keywords
code
procedural language
data
data structure
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA028097408A
Other languages
English (en)
Inventor
�ά�¶�
戴维·通德尔奥
约翰·迈霍尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CA Inc
Original Assignee
Computer Associates Think Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Computer Associates Think Inc filed Critical Computer Associates Think Inc
Publication of CN1509433A publication Critical patent/CN1509433A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering

Abstract

一种用于把具有过程语言代码的过程程序转换为一个面向对象的程序的系统和方法,其中包括:扫描该过程语言代码并且根据所扫描的过程语言代码创建一个映射;把所扫描的过程语言代码存储为中间代码;使用该映射处理该过程语言代码的至少一个片断;使用所处理的片断创建第一数据结构;根据该第一数据结构更改该中间代码;以及根据更改的中间代码创建具有一个对象类的面向对象程序。

Description

把传统软件应用程序转换为现代面向对象系统的方法和系统
对相关申请的交叉引用
本申请要求在2001年5月11日递交的名称为“把传统软件应用程序转换为现代面向对象系统的方法和系统”的美国临时申请No.60/290,203号的优先权,该申请的全部内容通过引用的方式被包含于此。
技术领域
本发明涉及计算机程序的转换。特别地,本发明涉及用于把传统软件应用程序转换为现代面向对象系统的方法和系统。
背景技术
存在有许多技术和方法用于把软件应用程序从一种编程语言转换为另一种编程语言。但是编写软件应用程序的语言仅仅是其构成的一个方面。一种软件应用程序是一个具有许多部分的复杂系统。
该“代码”是用编程语言所编写的软件应用程序的一部分,并且包含在各种情况下该软件应用程序所执行的操作的指令。在早期的计算机中,软件应用程序是使用汇编语言来编写的。一种汇编语言程序被称为汇编程序的一个应用程序转换为由计算机的中央处理单元所执行的机器语言。汇编语言操作是非常低级的,并且使得编写应用程序变得困难。随着计算机技术的发展,其他“更高级”的语言被开发,其允许程序员更加容易地创建执行复杂任务的软件。一种称为编译器的专用软件应用程序被开发,其把较高级语言转换为可以由计算机所执行机器语言。较高级语言使得程序员把代码组织成称为例程或过程的代码块,其可以根据需要被重复执行。
软件应用程序还需要被用于管理信息。因此软件开发工具提供描述数据结构的能力。数据结构提供按照有组织和可识别的方式把数据存储在存储器中,使得数据可以被该代码所作用。该代码包含用于作用在该数据结构上的指令,并且被按照称为例程的片断而分组。在早期的软件开发工具中,该数据结构和例程被分别定义。为了使得任何例程作用于数据,该数据必须被作为参数传送到该例程。编写称为例程并且传送参数的方法通常被称为“过程程序设计(procedural programming)”。一种更加现代的方法是“面向对象”或者OO模型。该OO模型相对于该过程模型具有较大差别。
在OO模型中,数据结构和代码例程可以被分组为被称为“类”的单个独立数据结构。一个类是称为方法的例程的模板定义,并且数据结构属于特定种类的对象。该类定义成员对象的公共属性。由于模块化可重新使用的代码结构,OO程序可以被容易地创建和更改。
OO程序设计还具有许多其他有利特性,例如继承性。继承性使得用户通过指定另一个对象作为其父类(或者“超类”)而创建一个新对象。该新创建的对象立即获取所有父类的功能。但是,用户可以在任何情况下定制新类的行为。
一个“用户界面”是使得个人与软件应用程序交互作用的应用程序的一部分。在许多情况下,该用户界面使用“窗体”来创建。一个窗体指定在一个显示器上显示给用户的“字段”和“点缀(trim)”的外观。字段是用户可以输入数据的各个区域。点缀是例如标签这样的固定信息,其指示用户在不同的字段中输入何种的信息,或者在该应用程序提供一些其他目的。通常这些窗体不使用代码来实现。而是,存在作为一个软件开发环境的一部分的“窗体编辑器”,其使得程序员交互地构造该窗体。该窗体的定义被存储在一个存储库和该开发环境中,并且在该应用程序被执行提供该窗体的显示。
1970年代和1980年代的软件开发工具使用一种“基于字符”的用户界面。一般来说,该用户界面被限制于显示24行,并且每行为80个字符的窗体。这些工具通常使用在一个终端上的第25行来显示与该活动窗体相关的命令。更加现代的工具允许使用图形用户界面(GUI)的窗体。该GUI使得具有更大数目和多种用户控制的更加复杂的窗体得以实现。
该代码和窗体一同创建一个可以执行任务的应用程序。管理用户界面的程序的一部分被称为“显示逻辑”。这包括捕获用户输入和启动程序动作的代码语句,以附加的信息提示用户或者否则对该显示器做出改变。该代码的其他部分被称为“业务逻辑”。该业务逻辑包括工作流程、数据库存取、事务处理和作为用户命令的结果的其他动作。业务逻辑和显示逻辑通常是相互纠缠在一起的。
一种数据库系统(DBMS)是可以存储、更改和从数据库中提取信息的程序的集合。以查询(这是一个格式化的问题)的形式从数据库请求信息。用于构造查询的规则被称为查询语言。不同DBMS支持不同的查询语言,但是这是被称为SQL(结构化查询语言)的一个半标准化的查询语言。
存储在一个数据库中的信息可以用各种格式来显示。大多数DBMS包括一个报告书写程序,其使得数据以报告的形式输出。该报告写入程序也被称为一个报告产生器,这是从一个或多个文件提取信息并且以特定格式显示该信息的数据库管理系统的一部分。报告书写允许选择满足特定条件的记录,并且在行和列中显示所选择的字段。数据可以被格式化为饼分图、柱形图和其他图形。一旦创建一个报告格式,该格式标准可以被保存在一个文件中并且在将来演示时被重新使用。
相关的数据库管理系统(RDBMS)是一种相关窗体。关系数据库可能需要关于数据如何相关或者如何从该数据库中提取的几个假设。结果,可以用许多不同方式来察看相同的数据库。在关系数据库管理系统中,信息被以窗体的形式存储,例如参照排列为行和列的数据的电子窗体。一个关系系统所需的特征是单个数据库可以在几个窗体上展开。
使用一些类型的“构架”来实现一个软件应用程序。该构架描述应用程序的基本结构。构架的一个方面关于所涉及的计算机的数目。单个层级的应用程序是所有应用程序和/或系统在单个计算机上运行的应用程序。这包括任何外部调用,即,制作其他软件应用程序所需的软件。例如,一个软件应用程序可能“调用”一个数据库管理系统,以提取或更新数据。在单个层级的模型中,该软件应用程序和数据库管理系统将运行在单个计算机上。用户接口可以显示在一个“哑终端”上,这是能够仅仅显示一个窗体的设备,使得用户输入信息,并且把该信息返回到“主”计算机。
一个客户机/服务器应用程序或者两个层级的软件应用程序是这样一个应用程序,其中该软件应用程序运行在一个计算机(客户机)上,并且通过网络连接对另一个计算机(服务器)上运行的其他软件应用程序进行外部调用。
一个最近的构架创新是N层级的应用程序。在该N层级的模型中,仅仅部分软件应用程序运行在该客户机工作站上。这通常是一个智能的用户界面(或者是瘦客户机(thin client))。当需要执行特定任务时,该客户机定位包含所需的业务逻辑的一个“应用程序服务器”,并且该工作实际在运行应用程序服务器的计算机上执行。该应用程序服务器可能需要与另一个计算机相联系,例如数据库服务器,以完成该客户机所要求的处理。当该事件链最终涉及无限数目的客户机时,该模型被称为N层级模型。
当今许多组织所面临的一个挑战是它们已经投入大量的金钱和时间来开发使用字符界面的软件应用程序,其本质是程序上的,并且应用于单个层级的模型。这些应用程序通常被称为“传统”应用程序。支持和增强这些应用程序是一个大的挑战,因为开发人员不再学习创建这些程序的技术。另外,当前的互联网和电子商务世界需要采用图形用户界面的系统,它们本质上是面向对象的,并且使用N层级的模型来实现。目前还没有创建使得一个组织把它们现有的传统应用程序转换为使用图形用户界面的现代的面向对象的N层级应用程序。结果,该组织必须经历费时和费钱的过程来使用现代工具完全重新设计和改写该应用程序。
根据本申请的方法和系统解决这些和其他问题。例如,根据本发明的该方法和系统能够把一个传统软件应用程序“转换为”基于GUI的软件应用程序。该由本发明所完成的转换包括转换和增强该系统的各个方面。在单个处理中,传统软件应用程序的基于字符的用户界面可以被转换为GUI,该代码和数据结构被集成、重构和再生为适当形成的对象类,并且对该传统软件应用程序进行增强和添加,使其操作为一个客户机/服务器或者N层级系统。
发明内容
本发明涉及一种用于把具有过程语言代码的过程程序转换为一个面向对象的程序的方法,其中包括扫描该过程语言代码并且根据所扫描的过程语言代码创建一个映射,把所扫描的过程语言代码存储为中间代码,使用该映射处理该过程语言代码的至少一个片断,使用所处理的片断创建第一数据结构,根据该第一数据结构更改该中间代码,并且根据更改的中间代码创建具有一个对象类的面向对象程序。该方法还可以包括当检测到该过程语言代码的预定片断时暂停处理该过程语言代码的步骤,以及根据预定片断更改其他中间代码。该方法还可以包括根据该过程语言创建第二数据结构,并且该第二数据结构可以是具有识别该过程编程语言的语句的属性的一个节点的一个层级树。创建第一数据结构的步骤可以包括根据所处理的片断定位在第二数据结构中的一个节点,遍历第二数据结构中的节点直到根节点,并且把所遍历节点的内容包含在第一数据结构中。
本发明还涉及一种包括用于把具有过程语言代码的过程程序转换为面向对象程序的计算机可执行代码的存储介质,包括用于扫描该过程语言代码和根据所扫描的过程语言代码创建一个映射的代码,用于把所扫描的过程语言代码存储为中间代码的代码,用于使用该映射处理该过程语言代码的至少一个片断的代码,使用所处理的片断创建第一数据结构的代码,用于根据第一数据结构更改该中间代码的代码,以及用于根据该更改的中间代码创建具有一个对象类的面向对象程序的代码。该存储介质还可以包括用于在该过程语言代码的预定片断被检测时暂停处理该过程语言代码的一个片断的代码,以及用于根据预定片断更改其他中间代码的代码。该存储介质还可以包括用于根据该过程语言创建第二数据结构的代码,以及该第二数据结构可以是具有识别该过程编程语言的语句的属性的节点的层级树。用于创建第一数据结构的代码可以包括用于根据所处理的片断定位在该第二数据结构中的一个节点的代码,用于遍历该第二数据结构中的节点直到一个根节点的代码,以及用于把所遍历的节点的内容包含在第一数据结构中的代码。
本发明还涉及一种在传送介质中体现并且包括用于把具有过程语言代码的过程程序转换为一种面向对象程序的计算机可执行指令的计算机数据信号,其中包括用于扫描该过程语言代码和根据所扫描的过程语言代码创建一个映射的数据信号部分,用于把所扫描的过程语言代码存储为中间代码的数据信号部分,用于使用该映射处理该过程语言代码的至少一个片断的数据信号部分,使用所处理的片断创建第一数据结构的数据信号部分,用于根据第一数据结构更改该中间代码的数据信号部分,以及用于根据该更改的中间代码创建具有一个对象类的面向对象程序的数据信号部分。该计算机数据信号还可以包括用于在该过程语言代码的预定片断被检测时暂停处理该过程语言代码的一个片断的数据信号部分,以及用于根据预定片断更改其他中间代码的数据信号部分。该计算机数据信号还可以包括用于根据该过程语言创建第二数据结构的数据信号部分,以及该第二数据结构可以是具有识别该过程编程语言的语句的属性的节点的层级树。用于创建第一数据结构的数据信号部分可以包括用于根据所处理的片断定位在该第二数据结构中的一个节点的数据信号部分,用于遍历该第二数据结构中的节点直到一个根节点的数据信号部分,以及用于把所遍历的节点的内容包含在第一数据结构中的数据信号部分。
本发明还涉及一种用于把具有过程语言代码的过程语言转换为一种面向对象程序的方法,其中包括:扫描该过程语言代码和根据所扫描的过程语言代码创建一个映射,把该映射和所扫描的过程语言代码作为中间数据(metadata)存储在一个存储库中,创建用于每个部件的所转换表示的新目标中间数据容器组,使用过程中间数据表示处理该过程语言代码的至少一个片断,以使用所处理的片断创建第一抽象语法树,根据第一抽象语法树增殖该目标中间数据容器并且根据该第一抽象语法树产生具有一个对象类的原始过程程序的面向对象的中间数据表示。该方法进一步包括用于在该过程语言代码的预定片断被检测时暂停处理该过程语言代码的一个片断的步骤,以及根据预定片断更改另一个抽象语法树的步骤。该方法可以进一步包括根据该过程语言创建第二抽象语法树的步骤,其中第二抽象语法树可以是具有识别该过程编程语言的语句的属性的节点的抽象语法树。创建第一抽象语法树的步骤可以包括根据所处理的片断定位在该第二抽象语法树中的一个节点的步骤,用于遍历该第二抽象语法树中的节点直到一个根节点的步骤,以及把所遍历的节点的内容包含在第一抽象语法树中的步骤。
附图说明
从下文结合附图的详细描述中,可以更好地理解本发明以及其附加的许多优点,其中:
图1示出能够实现本发明的方法和系统的计算机系统的一个例子;
图2示出根据本发明的一个实施例的流程图的例子;
图3示出根据本发明一个实施例的传统语言语句语法树的示意格式;
图4示出根据本发明一个实施例的抽象语法树的一个示意格式;
图5示出根据本发明一个实施例的处理的流程图;以及
图6示出被表达XML文档的一个抽象语法树的示意表示。
具体实施方式
在图中所示的本发明的所述优选实施例中,为了清楚说明的目的使用具体术语。但是,本发明不限于所选择的具体术语,并且应当知道每个具体部件包括可以用类似的方式工作的所有技术上的等效物。
图1示出能够实现本发明的方法和系统的一种计算机系统的例子。本发明的系统和方法可以以在一个计算机系统上运行的软件应用程序的形式来实现,例如,该计算机系统例如大型机、个人计算机(PC)、手持计算机、服务器等等。该软件应用程序可以存储在例如软盘、光盘、硬盘等等这样可以由该计算机系统所存取的一个记录介质上,或者可以远离该计算机系统并且通过到例如局域网或互联网这样的一个网络的硬布线或无线连接而存取。
该计算机系统被总称为系统100,并且可以包括中央处理单元(CPU)102、存储器104,例如随机存取存储器(RAM)、打印机接口106、显示单元108、(LAN)局域网数据传送控制器110、LAN接口112、网络控制器114、内部总线116以及一个或多个输入设备118,例如键盘、鼠标等等。如图所示,该系统100可以通过一个链路122连接到例如硬盘这样的数据存储设备120。
本发明的系统和方法执行一个转换,用于把传统应用程序转换为现代的面向对象的使用图形用户界面的N层级应用程序。这可以包括用于分析该传统应用程序代码、根据该传统代码创建类和它们的方法,以及根据该传统代码创建图形用户界面。在特定情况下,可能不希望转换传统代码的一些片断,其中该处理可以传送该原始代码或者可以替换新的代码。
图2示出根据本发明一个实施例的流程图的例子。在一个实施例中,该转换以采集处理140为开始,其可能涉及发现142、分析144、配置146、GUI设计向导148、扩展向导150、应用程序分析报告152以及准备154和收集该传统软件应用程序所需的所有资源以及准备转换它们所需的步骤。一旦以中间格式存储时,该中间部件可以通过转换处理156和转换1-转换4 158-164,其中该中间部件可以被处理,重新组织和增强。在该转换处理过程中,该传统中间部件被转换为对象中间部件。最后,在再生处理166过程中,在该扩展步骤168中,根据来自该采集处理140的结果构建库,并且在再生步骤170中,该对象中间部件被以特定的面向对象语言应用为实际对象类。
把本发明的转换系统分离为上述的多个处理提供本发明的几个附加特征。第一特征是产生“从任何位置/到任何位置”的转换。这是因为该中间部件可以由该转换系统所定义。例如,为了转换特定的传统软件应用程序,可以提供能够存储该传统部件的采集处理140作为在该库中的中间部件。为了把一个传统语言软件应用程序转换为特定对象语言,还可以提供能够用所需的对象语言从该对象中间部件创建对象类的转换处理156和再生处理166。当希望更改该转换的结果时,第二个特征是附加的新步骤可以被添加到转换系统的处理。
例如,为了定制特定的转换方法,可以在处理中添加“定制”步骤。这些定制步骤可以在执行该转换系统中的其他步骤之一后对任何或所有部件执行改变。这种定制步骤可以被用于添加、删除或更改部件。例如,希望从一个或多个窗体删除一个特定的字段,把一个不同的字段或其他资源(例如一个图标)添加到相应的GUI,然后对相关的对象代码进行更改。由于这种基础结构可能存在许多其他特征。
根据本发明的另一个方法是可以从该传统软件应用程序中的任何步骤或处理和以及任何部件重新开始。例如,如果在任何处理部分过程中出现断电,则该转换系统和方法可以从在出现断电时被处理的步骤和部件重新开始。为了实现该特征,希望所选择的存储库是一个永久的存储设备(例如,数据存储库)。
采集、转换和再生处理的示意例子在下文中更加详细地描述。
采集处理
该采集处理140公开一个转换所需的资源,把它们存储在该存储库中,准备它们以及该转换所需的任何其他中间部件。最好,该采集处理140具有报告在避免完全转换的传统软件应用程序中找到的任何缺陷的功能。这些缺陷通常是丢失的部件,例如源代码或窗体定义。该采集处理140还可以提供用于使操作员输入,其在该采集处理140遇到具有未知转换或者该转换系统还没有被编程以执行处理的传统开发环境的功能时被使用。这向操作员提供在该处理的剩余部分运行之前纠正任何缺陷或者增强该转换系统的机会。
下面的步骤是可以由该采集处理140所执行的步骤的例子。每个所述的步骤可能用于或不用于特定的转换方法。另外,每个转换方法可以具有一组配置值,其更改由该处理所产生的输出。例如,一个特定的配置值可以使得该所获得部件根据特定模式而改名。每个配置值可以具有由操作员所超越的默认设置。
发现
该发现步骤142查询该传统软件开发环境并且开发包含在一个特定应用程序中的部件类别。该发现步骤可以根据在所扫描的计算机上出现的操作系统扫描特定逻辑存储器,例如,物理存储器块和虚拟存储页。所扫描的部件可以包括但不限于源代码、窗体定义、应用程序结构、任何相关的数据库、窗体、框架、过程、记录定义、全局变量、常数、主例程等等的规划。这些部件可以被作为中间部件存储在该存储库中。另外,对于源代码部件,该源代码可能被“标记化”或者被分解为一串基本编程符号。然后,这些部件的副本被作为中间部件存储在一个“存储库”中,这些部件可以被在该存储库重复检索、更改和保存。该存储库可以是一个高速缓冲存储器、文件系统、数据库或者任何其他适当的信息存储设备。
分析
在该分析步骤144中,所有中间部件的信息被分析,并且对每个部件创建一个映射。该映射包含关于每个例程和在一个例程中的部分在该标记流中开始和停止的位置的信息。另外,关于每个部件的规格的可以被用于创建一个应用程序分析报告152。
确认
在确认过程中,产生在该传统应用程序中的所有部件。该交叉引用提供由一个部件所引用的每个部件(模块、数据源、窗体等等)的列表。然后,该存储库被检查,以保证该传统环境的所有部件已经被存储在该存储库。如果,发现任何部件丢失,则该操作员被通知以克服该缺陷。该处理可以用不被引用的部件继续执行,但是引用它们的部件将不被完全转换。
配置
在配置步骤146过程中,来自分析步骤144的信息被用于建立初始配置。该配置被存储在该中间部件中,其描述该传统应用程序本身。该中间部件控制转换处理156。在确认阶段过程中,这些参数中的一些参数可以被更改。
GUI设计向导
该GUI设计向导148向操作员提供通过超越其默认标准而定制所获得的图形用户界面的功能。该向导创建一个定制菜单栏,工具条和按键条定义被应用于所有图形形式,以在所获得的应用程序中提供一致的外观和感觉。
扩展向导
该扩展向导150向操作员提供指导该转换处理156的机会,以创建一个新的基础类库、业务对象库和用于该应用程序的前端库。
应用程序分析报告
最好该应用程序分析报告152是关于整个传统基础结构的复杂报告,并且包括所有资源和详细信息的交叉引用以及关于每个部件的规格。还可以提供上述问题区域的列表。该规格包括:在传统应用程序中的部件的种类和总数、源代码的总行数、构成每个模块的例程数目和定义、由该应用程序所提供的所有命令的编辑等等。
准备
在准备步骤154过程中,用于转换的所有附加目标OO中间部件被在该存储库中创建。如果从该转换处理的以前运行中,该中间部件存在于该存储库中,则它们被破坏并且创建新的中间部件。
转换处理
该转换处理156提供一种机制,通过该机制,现在存储在存储库中的传统中间部件被操纵以创建该对象中间部件。该转换处理156执行一种转换,其中整个传统应用程序可以被在一个多级并行处理中转换。在该转换处理156中,任何特殊的来源语句(在代码的例子中),或者窗体部分,或者该传统软件应用程序的一个部件的任何其他部分可以潜在地触发一个规则,其按照一些方式更改一个或多个部件(或过程)。例如,在一个“框架”(一个框架是需要用户界面并且具有相关窗体的一个过程)的转换过程中,该转换处理156可能发现一个参数。该参数变为被创建以替换该框架的一个对象类的属性。该框架的处理被暂停,该对象类被从存储库中提取,该属性被添加到该对象类,该对象类被返回到该存储库,并且重新开始该来源的处理。类似地,在该框架的窗体定义处理中,如果在该窗体中遇到一个字段,一个属性被按照类似的方式添加到相同的对象类中。在可能根据条件把代码的整个块从一个部件(或过程)移动到另一个部件的处理中,存在许多其他更加复杂的业务处理。
为了促进上述并行处理,应当提供具有管理来自该传统软件应用程序、新应用程序和中间应用程序(或meta-application)的部件的中间表示的功能的暂时存储设备。该中间应用程序是方便的,因为它不是依赖于任何特殊软件开发环境的特定应用。其包含在任何这些环境中所找到的结构。通过操纵“中间部件”,把传统软件应用程序转换为新的应用程序的处理可以被分为三个不同的处理:采集、转换和再生。
下面将描述作为四种转换的转换处理156的实施例。
转换1
转换1引擎158负责分解该传统源代码并且把它组织为一个可以容易操纵的结构化格式。通过使用在分析步骤过程中创建的映射作为一个向导,分解用于该部件的源代码。每个参数和变量声明以及每个来源语句被分解、组织和转换为一个内部格式。这可以通过用一些方式来实现。一种方式是把用于一个部件的传统源代码分解为一个属性树数据结构。一个属性树是为在该树中的任何节点处的不限定数目的标识符或属性的存储而提供的一个层级结构。该分解使用几个步骤来实现。
第一步骤是开发一种采用层级属性树的形式的传统编程语言的语法表示。在转换之前,一个传统编程语言语法(在图3中示出它的一个例子)被创建,其表示传统编程语言的特性。该传统语言所支持的每个不同类型的语句被在该传统语言中识别(例如,FOR-ENDFOR、CALL、PROMPT等等)。通过分组公共类型的语句而把该语句分组为一个层级结构。例如,FOR-ENDFOR和WHILE-ENDWHILE被认为是“循环控制”。对于该属性树创建单个根节点200。在该根节点200处,在对于所有语句共同的树中创建属性。例如,“行数”可以是对于所有语句共同的一个属性。在根节点之下,分类节点202被在表示为上述语句而开发的层级结构的树中创建。在每个分类节点202处,应用对于这些语句共同的属性。例如,“循环计数器”可以是所有循环控制的公共属性。最后,在表示特定语句的适当的分类节点202中创建语句节点204。为对于该语句唯一的节点创建属性。在该方法中,以具有对于该语句唯一的默认值的每个语句节点204处定义至少一个公共属性:语句类型。
在转换1 158过程中,对于每个部件开发被称为抽象语法树的另一种树。一个抽象语法树是被设计为包含完全分解的源代码的层级属性树的专用版本。一个抽象语法树的例子在图4中示出。一个根节点250被创建,并且属性在把该部件识别为一个整体的根节点250处定义。对于存在于该部件中的每个代码块创建例程节点252。如果对再生处理166(在下文中讨论)提供优点,则可以创建保存不同类型的代码块的分类节点(未示出)。每个例程节点252具有被定义的参数,其表示该例程。在该例程节点252之下创建部分节点254、256和258,并且表示该例程的不同部分。随后的三个部分类型一般为:参数节点254、本地变量节点256和语句节点258。
该转换1 158还使用在采集处理140的分析步骤144过程中创建的映射。该映射包含关于每个例程和一个例程中的部分在该标记流中开始和停止的位置的信息。以在用于该代码的参数部分的第一标记为开始,转换1 158处理标记,直到发现一个完整的说明语句。它然后把一个声明节点260添加到该参数部分节点254。在该节点处,定义完全确定义被声明为一个参数的变量的属性。对本地变量和语句部分重复该处理。一旦转换1 158识别该语句类型时,它定位在表示该语句的图3中所示的传统语言语法中的节点。它遍历该树,复制确定该语句的所有属性或者任何分类节点的属性,直到并且包含根节点。这些属性然后在该部件属性树的语句节点中定义。然后转换1 158分析该语句,并且用在该语句中找到的确切数值来代替每个属性的默认值。
另外,转换1 158保持在语句之间的关系。例如,在FOR语句之后和在相应的ENDFOR之前的任何语句将被创建为该FOR语句节点的一个子节点。该嵌套可以继续直到所需的深度。按照这种方式嵌套代码容易在转换的过程中把整个代码块向后移动。一旦该处理被完成,一个完整有组织的传统源代码的版本已经被创建,并且现在可以被作用。被表达为一个XML文档的抽象语法树的示意例子在图6中示出。
转换2
转换2引擎160负责把传统窗体转换为可以在再生过程中用于创建一个图形界面的对象中间部件。这可以用类似于该传统源代码在转换1158中操纵的方式来实现。该处理使用两个参考属性树、一个图形界面窗体模板树以及一个OO类层级树。
该图形界面窗体模板树包含一个空白的图形界面窗体的表示。用于该窗体的根节点包含该窗体的基本特性的描述。该属性树将包含三个根节点。第一根节点将包含描述“窗口”的属性。一个窗口是用于在图形用户界面上显示信息的区域。该第二根节点包含用于该菜单栏的占位符。一个菜单栏是通常置于一个窗口的顶部的特定区域,其使得用户从一系列命令中选择。该第三根节点包含子节点,其描述该窗口自身的内容。为了创建一个更加有效的处理,应当在该属性树中提供用于该窗口内容的默认配置。OO类层级树描述面向目标对象的软件开发环境的类层级结构。该属性树基本上类似于传统语言语法而创建。每个OO模型软件开发环境具有一个“系统”或建造类层级结构。该类层级结构定义构成该开发环境的基本类对象。通过采用描述在该层级结构中的每个类的每个属性的一个属性树而创建该OO类层级树。
参见图5,转换2 160从表示一个传统窗体的库中提取一个中间部件(步骤S350)。创建一个新的属性树,其表示用于该传统窗体的图形界面窗体替换(步骤S352)。这通过首先复制图形界面窗体模板而实现。转换2 160扫描该中间部件(步骤S354),并且如果被扫描的代码不是一个命名的数据项目字段(否,步骤S356),然后,对于在该传统字符窗体(字段、点缀等等)上的每个项目,转换2 160确定哪一个替换对象将置于该图形窗体上(步骤S358)。一旦执行该判断,则该处理可以查找在该OO类层级树中的对象类,以及通过遍历该树直到根节点并且沿途收集属性而收集所有它的属性(步骤S360)。然后,在该抽象语法树的窗体部分中创建一个字段节点,并且所复制的属性被在该节点处定义,由从该传统窗体中读取的数值代替该默认值(步骤S362)。一旦在该传统窗体上的所有项目已经被处理,剩下的是一个图形界面的完整描述。
在该图形界面的创建过程中可以实现两个其他处理。首先,当在该传统窗体上遇到一个被命名的数据项字段时(是,步骤S356),则该窗体的处理被暂停(步骤S364),然后提取用于将取代与该窗体相关的源代码的对象类的中间部件,并且把一个属性添加到与该字段的定义相匹配的对象(步骤S366)。执行该操作是因为在许多传统软件开发环境中,关于窗体的字段是在该窗体的源代码中暗示地声明的变量。在OO模型中,它们变为对象的声明属性。其次,在处理传统窗体之后,该处理扫描在用于该窗体的源代码的转换1 158中创建的抽象语法树。具体来说,该处理在该传统源代码中查找用户命令。如果找到任何用户命令,则可以在基于来自GUI设计向导的输入在该图形用户界面属性树上创建几个GUI控制(按键、工具条图标、或者菜单栏命令)之一。然后,一个或多个“事件”被添加到该抽象语法树,其表示用于该窗体的新代码逻辑。这些添加的“事件”将把新的GUI窗体控制与在与该传统应用程序中的菜单命令相关的逻辑的转换表示的对象类中创建。
转换3
在转换3 162中,用于每个传统源代码部件的抽象语法树被从该库中提取。该相应的对象中间部件也被提取。对于在该抽象语法树中的每个例程节点,在该对象中间部件中创建一个“方法”节点。一个方法是可以作用于该对象的一个对象中的源代码。转换3 162首先取该例程的任何参数,并且把它们声明为该方法的参数。
对本地变量执行相同的操作。该语句然后被处理。对于每个传统语句类型,转换3 162确定如何转换该语句以及把它置于何处。在许多情况中,该引擎可以确定把整个例程或者一个例程的子集移动到一个完全不同的对象。这在该传统软件开发语言的一个特征不容易转换到新的软件开发环境时出现这种情况。
转换3 162的另一个部分是把该传统软件应用程序的过程环境转换为一个对象环境。这具有两个方面。首先,在一个处理环境中,一个部件通过“调用”而激活另一个部件。在OO模型中,不是调用一个过程,而是创建一个对象的实例(或者副本),并且激活它的一个方法。无论何时转换3 162遇到一些传统调用语句时,它暂停处理,提取定义被调用的对象的对象中间部件,并且确认用于该调用的参数。在一些例子中,该对象可能需要调节。然后,在该调用部件中,该调用语句被几个不同的语句所代替。第一语句是对象请示代理软件(ORB)。一个ORB是一个特殊的对象,其工作是根据一个请求管理其他对象的创建。下一个被添加的语句是对“激活”或启动该对象处理的所有转换的部件共同的特殊方法的调用。
从一个过程到一个对象环境的转换的第二方面是过程软件开发工具和OO软件开发工具之间的语法差别。在该语句的处理过程中,每个标记被检查,以察看它是否是引用已经被转换为该类的一个属性的变量。如果为是,则对该来源进行适当的改变,使得适当的变量被引用。
转换4
转换4 164是本实施例中的转换。这涉及清除可能保留但是可能不被与在转换3 162中执行的所有处理并行的解决的各种小问题。
再生处理
该再生处理166是采集处理140的逆转。在再生处理166过程中,在该转换处理156过程中创建的对象中间部件被用于创建置于新的软件开发环境中的实际对象类。另外,新的图形界面窗体和任何其他必要部件被创建并且置于新的软件开发环境中。
扩展
该扩展步骤168构造在采集处理140过程中由扩展向导所指定的新的基础类库、业务对象库和前端部件库。
再生
在再生步骤170中,实际对象类和GUI窗体被从根据所包含的标准从对象中间部件中产生。
在上述思想的指导下,本发明有各种其他变型和更改。因此,应当知道在所附权利要求的范围内,可以用除了在此所述实施例之外的方式来实现本发明。

Claims (16)

1.一种用于把具有过程语言代码的过程程序转换为一个面向对象的程序的方法,其中包括:
扫描该过程语言代码并且根据所扫描的过程语言代码创建一个映射;
把所扫描的过程语言代码存储为中间代码;
使用该映射处理该过程语言代码的至少一个片断;
使用所处理的片断创建第一数据结构;
根据该第一数据结构更改该中间代码;以及
根据更改的中间代码创建具有一个对象类的面向对象程序。
2.根据权利要求1所述的方法,其中进一步包括:
当检测到该过程语言代码的预定片断时暂停处理该过程语言代码的步骤;以及
根据预定片断更改其他中间代码。
3.根据权利要求1所述的方法,其中进一步包括:根据该过程语言创建第二数据结构,其中该第二数据结构是具有识别该过程编程语言的语句的属性的一个节点的一个层级树。
4.根据权利要求3所述的方法,其中进一步包括创建第一数据结构的步骤包括根据所处理的片断定位在第二数据结构中的一个节点,遍历第二数据结构中的节点直到根节点,并且把所遍历节点的内容包含在第一数据结构中。
5.一种包括用于把具有过程语言代码的过程程序转换为面向对象程序的计算机可执行代码的存储介质,包括:
用于扫描该过程语言代码和根据所扫描的过程语言代码创建一个映射的代码;
用于把所扫描的过程语言代码存储为中间代码的代码;
用于使用该映射处理该过程语言代码的至少一个片断的代码;
使用所处理的片断创建第一数据结构的代码;
用于根据第一数据结构更改该中间代码的代码;以及
用于根据该更改的中间代码创建具有一个对象类的面向对象程序的代码。
6.根据权利要求5所述的存储介质,其中进一步包括:
用于在该过程语言代码的预定片断被检测时暂停处理该过程语言代码的一个片断的代码;以及
用于根据预定片断更改其他中间代码的代码。
7.根据权利要求5所述的存储介质,其中进一步包括:用于根据该过程语言创建第二数据结构的代码,其中该第二数据结构是具有识别该过程编程语言的语句的属性的一个节点的层级树。
8.根据权利要求7所述的存储介质,其中进一步包括:用于创建第一数据结构的代码包括用于根据所处理的片断定位在该第二数据结构中的一个节点的代码,用于遍历该第二数据结构中的节点直到一个根节点的代码,以及用于把所遍历的节点的内容包含在第一数据结构中的代码。
9.一种在传送介质中体现并且包括用于把具有过程语言代码的过程程序转换为一种面向对象程序的计算机可执行指令的计算机数据信号,其中包括:
用于扫描该过程语言代码和根据所扫描的过程语言代码创建一个映射的数据信号部分;
用于把所扫描的过程语言代码存储为中间代码的数据信号部分;
用于使用该映射处理该过程语言代码的至少一个片断的数据信号部分;
使用所处理的片断创建第一数据结构的数据信号部分;
用于根据第一数据结构更改该中间代码的数据信号部分;以及
用于根据该更改的中间代码创建具有一个对象类的面向对象程序的数据信号部分。
10.根据权利要求9所述的计算机数据信号,其中进一步包括:
用于在该过程语言代码的预定片断被检测时暂停处理该过程语言代码的一个片断的数据信号部分;以及
用于根据预定片断更改其他中间代码的数据信号部分。
11.根据权利要求9所述的计算机数据信号,其中进一步包括:用于根据该过程语言创建第二数据结构的数据信号,其中该第二数据结构是具有识别该过程编程语言的语句的属性的一个节点的层级树。
12.根据权利要求11所述的计算机数据信号,其中用于创建第一数据结构的数据信号部分包括用于根据所处理的片断定位在该第二数据结构中的一个节点的数据信号部分,用于遍历该第二数据结构中的节点直到一个根节点的数据信号部分,以及用于把所遍历的节点的内容包含在第一数据结构中的数据信号部分。
13.一种用于把具有过程语言代码的过程语言转换为一种面向对象程序的方法,其中包括:
扫描该过程语言代码和根据所扫描的过程语言代码创建一个映射;
把该映射和所扫描的过程语言代码作为中间数据存储在一个存储库中;
创建用于每个部件的所转换表示的新目标中间数据容器组;
使用过程中间数据表示处理该过程语言代码的至少一个片断,以使用所处理的片断创建第一抽象语法树;
根据第一抽象语法树增殖该目标中间数据容器;以及
根据该第一抽象语法树产生具有一个对象类的原始过程程序的面向对象的中间数据表示。
14.根据权利要求13所述的方法,其中进一步包括:
用于在该过程语言代码的预定片断被检测时暂停处理该过程语言代码的一个片断的步骤;以及
根据预定片断更改另一个抽象语法树的步骤。
15.根据权利要求13所述的方法,其中进一步包括根据该过程语言创建第二抽象语法树的步骤,其中第二抽象语法树是具有识别该过程编程语言的语句的属性的节点的抽象语法树。
16.根据权利要求15所述的方法,其中创建第一抽象语法树的步骤包括根据所处理的片断定位在该第二抽象语法树中的一个节点,遍历该第二抽象语法树中的节点直到一个根节点,以及把所遍历的节点的内容包含在第一抽象语法树中。
CNA028097408A 2001-05-11 2002-05-10 把传统软件应用程序转换为现代面向对象系统的方法和系统 Pending CN1509433A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US29020301P 2001-05-11 2001-05-11
US60/290,203 2001-05-11

Publications (1)

Publication Number Publication Date
CN1509433A true CN1509433A (zh) 2004-06-30

Family

ID=23114953

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA028097408A Pending CN1509433A (zh) 2001-05-11 2002-05-10 把传统软件应用程序转换为现代面向对象系统的方法和系统

Country Status (13)

Country Link
US (1) US7467375B2 (zh)
EP (1) EP1388054B1 (zh)
JP (1) JP2005515518A (zh)
KR (1) KR20040004619A (zh)
CN (1) CN1509433A (zh)
AT (1) ATE476702T1 (zh)
AU (1) AU2008201056A1 (zh)
BR (1) BR0209497A (zh)
CA (1) CA2446162A1 (zh)
DE (1) DE60237200D1 (zh)
IL (1) IL158696A0 (zh)
WO (1) WO2002093367A1 (zh)
ZA (1) ZA200308593B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100571167C (zh) * 2006-02-24 2009-12-16 国际商业机器公司 Web服务业务流程的单元测试的方法和设备
WO2012083521A1 (zh) * 2010-12-21 2012-06-28 北京中天安泰信息科技有限公司 规范计算机系统行为的方法
CN102768682A (zh) * 2012-06-28 2012-11-07 用友软件股份有限公司 业务规则处理装置和业务规则处理方法
CN101770363B (zh) * 2005-06-27 2014-03-12 Csc科技(新加坡)私人有限公司 将可执行代码转换为不同编程语言的方法及设备
CN104662514A (zh) * 2012-09-25 2015-05-27 波音公司 基于模型关联关系的遗产软件系统的现代化
CN110007926A (zh) * 2019-04-17 2019-07-12 广东三维家信息科技有限公司 语言转换方法及装置
CN110149800A (zh) * 2015-04-07 2019-08-20 华为技术有限公司 一种用于处理与源程序的源代码相关联的抽象语法树的装置
CN112166409A (zh) * 2018-06-06 2021-01-01 欧姆龙株式会社 控制系统、控制系统的控制方法以及控制系统的程序
CN112698819A (zh) * 2019-10-22 2021-04-23 北京信普飞科科技有限公司 面向树化对象编程程序设计方法、装置及存储介质

Families Citing this family (198)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US6948135B1 (en) 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US7191394B1 (en) 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US7624356B1 (en) 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US6983448B2 (en) * 2001-07-12 2006-01-03 International Business Machines Corporation Open framework for the definition of metadata
US8301657B1 (en) * 2002-05-09 2012-10-30 Teradata Us, Inc. Set-level database access for performing row-sequential operations
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7913159B2 (en) 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US7296017B2 (en) 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US20080320054A1 (en) * 2003-04-09 2008-12-25 Cindy Howard Database and Software Conversion System and Method
US7240338B1 (en) 2003-05-29 2007-07-03 Itt Manufacturing Enterprises, Inc. Computer language translation system and method of converting procedural computer language software to object-oriented computer language software
US7451392B1 (en) 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US7272821B2 (en) * 2003-08-25 2007-09-18 Tech Mahindra Limited System and method of universal programming language conversion
US7318216B2 (en) * 2003-09-24 2008-01-08 Tablecode Software Corporation Software application development environment facilitating development of a software application
US7904819B2 (en) * 2003-12-03 2011-03-08 International Business Machines Corporation Self-configuring component for recognizing and transforming host data
US20050138606A1 (en) * 2003-12-17 2005-06-23 Sujit Basu System and method for code migration
US7640497B1 (en) 2003-12-22 2009-12-29 Apple Inc. Transforming a hierarchical data structure according to requirements specified in a transformation template
US8819072B1 (en) 2004-02-02 2014-08-26 Microsoft Corporation Promoting data from structured data files
CN100337203C (zh) * 2004-04-05 2007-09-12 中国科学院计算技术研究所 一种遗产代码向现代语言变换过程中的控制流变换方法
KR20070015440A (ko) * 2004-04-26 2007-02-02 구글 잉크. 고레벨 프로그래밍 언어들로부터 분산 인터랙티브애플리케이션들을 동적으로 구성하는 방법들 및 시스템들
US7496837B1 (en) 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US7281018B1 (en) 2004-05-26 2007-10-09 Microsoft Corporation Form template data source change
US7774620B1 (en) 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
US7692636B2 (en) 2004-09-30 2010-04-06 Microsoft Corporation Systems and methods for handwriting to a screen
US7636912B2 (en) * 2004-10-28 2009-12-22 Microsoft Corporation Custom assembly to extend a wizard
US8487879B2 (en) 2004-10-29 2013-07-16 Microsoft Corporation Systems and methods for interacting with a computer through handwriting to a screen
US7712022B2 (en) 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
US7721190B2 (en) 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
US7904801B2 (en) 2004-12-15 2011-03-08 Microsoft Corporation Recursive sections in electronic forms
US7937651B2 (en) 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
US7725834B2 (en) 2005-03-04 2010-05-25 Microsoft Corporation Designer-created aspect for an electronic form template
US8010515B2 (en) 2005-04-15 2011-08-30 Microsoft Corporation Query to an electronic form
AU2012201466B2 (en) * 2005-06-27 2014-07-03 Csc Technology Singapore Pte Ltd Code Transformation
US8200975B2 (en) 2005-06-29 2012-06-12 Microsoft Corporation Digital signatures for network forms
US7739696B2 (en) * 2005-09-08 2010-06-15 Honeywell International Inc. Message translation systems and methods
US7752651B2 (en) * 2005-09-26 2010-07-06 Bea Systems Inc. System and method for propagating security information in a web portal system
US7730477B2 (en) * 2005-09-26 2010-06-01 Bea Systems Inc. System and method for propagation in a web portal system
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
KR100771057B1 (ko) * 2005-12-26 2007-10-29 주식회사 신지소프트 모바일 플랫폼의 중간 언어 변환 장치 및 그 방법
US7779343B2 (en) * 2006-01-30 2010-08-17 Microsoft Corporation Opening network-enabled electronic documents
CA2641941C (en) * 2006-02-10 2014-09-09 Make Technologies, Inc. Legacy software modernization system
US8751946B2 (en) * 2006-04-05 2014-06-10 International Business Machines Corporation Enhanced display of properties for a program object
US8812556B2 (en) * 2006-04-06 2014-08-19 International Business Machines Corporation Storing modification data for recreating modifications
US7716653B2 (en) * 2006-04-06 2010-05-11 International Business Machines Corporation Configurable importers and resource writers for converting data into another format
US20070271553A1 (en) * 2006-05-22 2007-11-22 Micro Focus (Us), Inc. Method and system for translating assembler code to a target language
US7792853B2 (en) * 2006-11-08 2010-09-07 Ragothaman Subbian Presenting data flow in legacy program
KR101371619B1 (ko) * 2007-02-14 2014-03-06 삼성전자주식회사 레거시 시스템을 컴포넌트화하는 장치 및 방법
US8930331B2 (en) 2007-02-21 2015-01-06 Palantir Technologies Providing unique views of data based on changes or rules
US20080235658A1 (en) * 2007-03-21 2008-09-25 Asaf Adi Code generation for real-time event processing
US8281287B2 (en) * 2007-11-12 2012-10-02 Finocchio Mark J Compact, portable, and efficient representation of a user interface control tree
US8707257B2 (en) * 2007-11-28 2014-04-22 Red Hat, Inc. Automatic object instantiation
US8504986B2 (en) * 2008-01-23 2013-08-06 Red Hat, Inc. Calling functions as methods
US8516458B2 (en) * 2008-02-29 2013-08-20 Iti Scotland Limited System representation and handling techniques
WO2009132444A1 (en) * 2008-04-28 2009-11-05 Sitemasher Corporation Object-oriented system for creating and managing websites and their content
US9639331B2 (en) 2008-07-09 2017-05-02 International Business Machines Corporation Service interface creation and modification for object-oriented services
US9348499B2 (en) 2008-09-15 2016-05-24 Palantir Technologies, Inc. Sharing objects that rely on local resources with outside servers
US20130227533A1 (en) * 2008-11-06 2013-08-29 Albert Donald Tonkin Code transformation
US8341608B2 (en) * 2008-11-13 2012-12-25 Visicom Media, Inc. Cross-browser toolbar and method thereof for facilitating cross-browser interoperability
US20100153933A1 (en) * 2008-12-17 2010-06-17 Karsten Bohlmann Path Navigation In Abstract Syntax Trees
US8312437B2 (en) * 2008-12-30 2012-11-13 Microsoft Corporation Structured search in source code
US20110231847A1 (en) * 2009-10-28 2011-09-22 Lategan Christopher F Management of multiple instances of legacy application tasks
US8402064B2 (en) * 2010-02-01 2013-03-19 Oracle International Corporation Orchestration of business processes using templates
US10789562B2 (en) * 2010-03-05 2020-09-29 Oracle International Corporation Compensation patterns for adjusting long running order management fulfillment processes in an distributed order orchestration system
US20110218921A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Notify/inquire fulfillment systems before processing change requests for adjusting long running order management fulfillment processes in a distributed order orchestration system
US8793262B2 (en) * 2010-03-05 2014-07-29 Oracle International Corporation Correlating and mapping original orders with new orders for adjusting long running order management fulfillment processes
US10395205B2 (en) * 2010-03-05 2019-08-27 Oracle International Corporation Cost of change for adjusting long running order management fulfillment processes for a distributed order orchestration system
US9904898B2 (en) * 2010-03-05 2018-02-27 Oracle International Corporation Distributed order orchestration system with rules engine
US9269075B2 (en) * 2010-03-05 2016-02-23 Oracle International Corporation Distributed order orchestration system for adjusting long running order management fulfillment processes with delta attributes
US20110218923A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Task layer service patterns for adjusting long running order management fulfillment processes for a distributed order orchestration system
US10061464B2 (en) * 2010-03-05 2018-08-28 Oracle International Corporation Distributed order orchestration system with rollback checkpoints for adjusting long running order management fulfillment processes
US20110218926A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Saving order process state for adjusting long running order management fulfillment processes in a distributed order orchestration system
US20110218925A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Change management framework in distributed order orchestration system
US8984009B2 (en) 2010-04-21 2015-03-17 Salesforce.Com, Inc. Methods and systems for utilizing bytecode in an on-demand service environment including providing multi-tenant runtime environments and systems
US9223892B2 (en) 2010-09-30 2015-12-29 Salesforce.Com, Inc. Device abstraction for page generation
US9658901B2 (en) 2010-11-12 2017-05-23 Oracle International Corporation Event-based orchestration in distributed order orchestration system
US8935360B2 (en) 2010-12-03 2015-01-13 Salesforce.Com, Inc. Techniques for metadata-driven dynamic content serving
US9547693B1 (en) 2011-06-23 2017-01-17 Palantir Technologies Inc. Periodic database search manager for multiple data sources
US8799240B2 (en) 2011-06-23 2014-08-05 Palantir Technologies, Inc. System and method for investigating large amounts of data
US9092482B2 (en) 2013-03-14 2015-07-28 Palantir Technologies, Inc. Fair scheduling for mixed-query loads
US8732574B2 (en) 2011-08-25 2014-05-20 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US8504542B2 (en) 2011-09-02 2013-08-06 Palantir Technologies, Inc. Multi-row transactions
US8806433B2 (en) * 2011-10-27 2014-08-12 Reputation.com Method and framework for software development
US10552769B2 (en) 2012-01-27 2020-02-04 Oracle International Corporation Status management framework in a distributed order orchestration system
US8762322B2 (en) 2012-05-22 2014-06-24 Oracle International Corporation Distributed order orchestration system with extensible flex field support
US9672560B2 (en) 2012-06-28 2017-06-06 Oracle International Corporation Distributed order orchestration system that transforms sales products to fulfillment products
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
US8930923B2 (en) 2012-12-20 2015-01-06 International Business Machines Corporation Generating debugging extension source code utilizing debugging information
US9380431B1 (en) 2013-01-31 2016-06-28 Palantir Technologies, Inc. Use of teams in a mobile application
US10037314B2 (en) 2013-03-14 2018-07-31 Palantir Technologies, Inc. Mobile reports
US8937619B2 (en) 2013-03-15 2015-01-20 Palantir Technologies Inc. Generating an object time series from data objects
US8903717B2 (en) 2013-03-15 2014-12-02 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US9965937B2 (en) 2013-03-15 2018-05-08 Palantir Technologies Inc. External malware data item clustering and analysis
US8930897B2 (en) 2013-03-15 2015-01-06 Palantir Technologies Inc. Data integration tool
US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets
US8917274B2 (en) 2013-03-15 2014-12-23 Palantir Technologies Inc. Event matrix based on integrated data
US8855999B1 (en) 2013-03-15 2014-10-07 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US20140282373A1 (en) * 2013-03-15 2014-09-18 Trinity Millennium Group, Inc. Automated business rule harvesting with abstract syntax tree transformation
US8818892B1 (en) 2013-03-15 2014-08-26 Palantir Technologies, Inc. Prioritizing data clusters with customizable scoring strategies
US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube
US10275778B1 (en) 2013-03-15 2019-04-30 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation based on automatic malfeasance clustering of related data in various data structures
US8799799B1 (en) 2013-05-07 2014-08-05 Palantir Technologies Inc. Interactive geospatial map
US9335897B2 (en) 2013-08-08 2016-05-10 Palantir Technologies Inc. Long click display of a context menu
US9223773B2 (en) 2013-08-08 2015-12-29 Palatir Technologies Inc. Template system for custom document generation
US8713467B1 (en) 2013-08-09 2014-04-29 Palantir Technologies, Inc. Context-sensitive views
US9785317B2 (en) 2013-09-24 2017-10-10 Palantir Technologies Inc. Presentation and analysis of user interaction data
US8938686B1 (en) 2013-10-03 2015-01-20 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US8812960B1 (en) 2013-10-07 2014-08-19 Palantir Technologies Inc. Cohort-based presentation of user interaction data
US8924872B1 (en) 2013-10-18 2014-12-30 Palantir Technologies Inc. Overview user interface of emergency call data of a law enforcement agency
US9116975B2 (en) 2013-10-18 2015-08-25 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores
US9021384B1 (en) 2013-11-04 2015-04-28 Palantir Technologies Inc. Interactive vehicle information map
US8832594B1 (en) 2013-11-04 2014-09-09 Palantir Technologies Inc. Space-optimized display of multi-column tables with selective text truncation based on a combined text width
US8868537B1 (en) 2013-11-11 2014-10-21 Palantir Technologies, Inc. Simple web search
US9105000B1 (en) 2013-12-10 2015-08-11 Palantir Technologies Inc. Aggregating data from a plurality of data sources
US10025834B2 (en) 2013-12-16 2018-07-17 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US9552615B2 (en) 2013-12-20 2017-01-24 Palantir Technologies Inc. Automated database analysis to detect malfeasance
US10356032B2 (en) 2013-12-26 2019-07-16 Palantir Technologies Inc. System and method for detecting confidential information emails
US8832832B1 (en) 2014-01-03 2014-09-09 Palantir Technologies Inc. IP reputation
US9043696B1 (en) 2014-01-03 2015-05-26 Palantir Technologies Inc. Systems and methods for visual definition of data associations
US9483162B2 (en) 2014-02-20 2016-11-01 Palantir Technologies Inc. Relationship visualizations
US9009827B1 (en) 2014-02-20 2015-04-14 Palantir Technologies Inc. Security sharing system
US9727376B1 (en) 2014-03-04 2017-08-08 Palantir Technologies, Inc. Mobile tasks
US8924429B1 (en) 2014-03-18 2014-12-30 Palantir Technologies Inc. Determining and extracting changed data from a data source
US9836580B2 (en) 2014-03-21 2017-12-05 Palantir Technologies Inc. Provider portal
US9483236B2 (en) * 2014-04-11 2016-11-01 Fair Isaac Corporation Efficiently representing complex score models
US9857958B2 (en) 2014-04-28 2018-01-02 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive access of, investigation of, and analysis of data objects stored in one or more databases
US9009171B1 (en) 2014-05-02 2015-04-14 Palantir Technologies Inc. Systems and methods for active column filtering
US9535974B1 (en) 2014-06-30 2017-01-03 Palantir Technologies Inc. Systems and methods for identifying key phrase clusters within documents
US9619557B2 (en) 2014-06-30 2017-04-11 Palantir Technologies, Inc. Systems and methods for key phrase characterization of documents
US9785773B2 (en) 2014-07-03 2017-10-10 Palantir Technologies Inc. Malware data item analysis
US9202249B1 (en) 2014-07-03 2015-12-01 Palantir Technologies Inc. Data item clustering and analysis
US9021260B1 (en) 2014-07-03 2015-04-28 Palantir Technologies Inc. Malware data item analysis
US9256664B2 (en) 2014-07-03 2016-02-09 Palantir Technologies Inc. System and method for news events detection and visualization
US10572496B1 (en) 2014-07-03 2020-02-25 Palantir Technologies Inc. Distributed workflow system and database with access controls for city resiliency
US9563421B2 (en) 2014-08-05 2017-02-07 International Business Machines Corporation Refining data understanding through impact analysis
US9454281B2 (en) 2014-09-03 2016-09-27 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US9767172B2 (en) 2014-10-03 2017-09-19 Palantir Technologies Inc. Data aggregation and analysis system
US9501851B2 (en) 2014-10-03 2016-11-22 Palantir Technologies Inc. Time-series analysis system
US9785328B2 (en) 2014-10-06 2017-10-10 Palantir Technologies Inc. Presentation of multivariate data on a graphical user interface of a computing system
US9984133B2 (en) 2014-10-16 2018-05-29 Palantir Technologies Inc. Schematic and database linking system
US9229952B1 (en) 2014-11-05 2016-01-05 Palantir Technologies, Inc. History preserving data pipeline system and method
US9043894B1 (en) 2014-11-06 2015-05-26 Palantir Technologies Inc. Malicious software detection in a computing system
US10552994B2 (en) 2014-12-22 2020-02-04 Palantir Technologies Inc. Systems and interactive user interfaces for dynamic retrieval, analysis, and triage of data items
US10362133B1 (en) 2014-12-22 2019-07-23 Palantir Technologies Inc. Communication data processing architecture
US9348920B1 (en) 2014-12-22 2016-05-24 Palantir Technologies Inc. Concept indexing among database of documents using machine learning techniques
US9367872B1 (en) 2014-12-22 2016-06-14 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation of bad actor behavior based on automatic clustering of related data in various data structures
US9335911B1 (en) 2014-12-29 2016-05-10 Palantir Technologies Inc. Interactive user interface for dynamic data analysis exploration and query processing
US9870205B1 (en) 2014-12-29 2018-01-16 Palantir Technologies Inc. Storing logical units of program code generated using a dynamic programming notebook user interface
US9817563B1 (en) 2014-12-29 2017-11-14 Palantir Technologies Inc. System and method of generating data points from one or more data stores of data items for chart creation and manipulation
US10372879B2 (en) 2014-12-31 2019-08-06 Palantir Technologies Inc. Medical claims lead summary report generation
US11302426B1 (en) 2015-01-02 2022-04-12 Palantir Technologies Inc. Unified data interface and system
US10387834B2 (en) 2015-01-21 2019-08-20 Palantir Technologies Inc. Systems and methods for accessing and storing snapshots of a remote application in a document
US9727560B2 (en) 2015-02-25 2017-08-08 Palantir Technologies Inc. Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags
EP3611632A1 (en) 2015-03-16 2020-02-19 Palantir Technologies Inc. Displaying attribute and event data along paths
US9886467B2 (en) 2015-03-19 2018-02-06 Plantir Technologies Inc. System and method for comparing and visualizing data entities and data entity series
US10628834B1 (en) 2015-06-16 2020-04-21 Palantir Technologies Inc. Fraud lead detection system for efficiently processing database-stored data and automatically generating natural language explanatory information of system results for display in interactive user interfaces
US9418337B1 (en) 2015-07-21 2016-08-16 Palantir Technologies Inc. Systems and models for data analytics
US9454785B1 (en) 2015-07-30 2016-09-27 Palantir Technologies Inc. Systems and user interfaces for holistic, data-driven investigation of bad actor behavior based on clustering and scoring of related data
US9996595B2 (en) 2015-08-03 2018-06-12 Palantir Technologies, Inc. Providing full data provenance visualization for versioned datasets
US9456000B1 (en) 2015-08-06 2016-09-27 Palantir Technologies Inc. Systems, methods, user interfaces, and computer-readable media for investigating potential malicious communications
US9600146B2 (en) 2015-08-17 2017-03-21 Palantir Technologies Inc. Interactive geospatial map
US10489391B1 (en) 2015-08-17 2019-11-26 Palantir Technologies Inc. Systems and methods for grouping and enriching data items accessed from one or more databases for presentation in a user interface
US10102369B2 (en) 2015-08-19 2018-10-16 Palantir Technologies Inc. Checkout system executable code monitoring, and user account compromise determination system
US10853378B1 (en) 2015-08-25 2020-12-01 Palantir Technologies Inc. Electronic note management via a connected entity graph
US11150917B2 (en) 2015-08-26 2021-10-19 Palantir Technologies Inc. System for data aggregation and analysis of data from a plurality of data sources
US9485265B1 (en) 2015-08-28 2016-11-01 Palantir Technologies Inc. Malicious activity detection system capable of efficiently processing data accessed from databases and generating alerts for display in interactive user interfaces
US10706434B1 (en) 2015-09-01 2020-07-07 Palantir Technologies Inc. Methods and systems for determining location information
US9576015B1 (en) 2015-09-09 2017-02-21 Palantir Technologies, Inc. Domain-specific language for dataset transformations
US10296617B1 (en) 2015-10-05 2019-05-21 Palantir Technologies Inc. Searches of highly structured data
US9542446B1 (en) 2015-12-17 2017-01-10 Palantir Technologies, Inc. Automatic generation of composite datasets based on hierarchical fields
US9823818B1 (en) 2015-12-29 2017-11-21 Palantir Technologies Inc. Systems and interactive user interfaces for automatic generation of temporal representation of data objects
US10089289B2 (en) 2015-12-29 2018-10-02 Palantir Technologies Inc. Real-time document annotation
US9612723B1 (en) 2015-12-30 2017-04-04 Palantir Technologies Inc. Composite graphical interface with shareable data-objects
US10339205B2 (en) 2016-02-22 2019-07-02 International Business Machines Corporation Efficient handling of bi-directional data
US10698938B2 (en) 2016-03-18 2020-06-30 Palantir Technologies Inc. Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags
US10324609B2 (en) 2016-07-21 2019-06-18 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US10719188B2 (en) 2016-07-21 2020-07-21 Palantir Technologies Inc. Cached database and synchronization system for providing dynamic linked panels in user interface
US10437840B1 (en) 2016-08-19 2019-10-08 Palantir Technologies Inc. Focused probabilistic entity resolution from multiple data sources
US10318630B1 (en) 2016-11-21 2019-06-11 Palantir Technologies Inc. Analysis of large bodies of textual data
US10460602B1 (en) 2016-12-28 2019-10-29 Palantir Technologies Inc. Interactive vehicle information mapping system
US10459829B2 (en) * 2017-06-07 2019-10-29 M/S. Cigniti Technologies Limited Overall test tool migration pipeline
US10956406B2 (en) 2017-06-12 2021-03-23 Palantir Technologies Inc. Propagated deletion of database records and derived data
US10403011B1 (en) 2017-07-18 2019-09-03 Palantir Technologies Inc. Passing system with an interactive user interface
US11029934B2 (en) * 2017-12-15 2021-06-08 Uniquesoft, Llc Method and system for updating legacy software
US10996935B2 (en) * 2018-01-09 2021-05-04 Hcl Technologies Ltd. Automated technology modernization accelerator
US10691434B2 (en) 2018-02-09 2020-06-23 Macrosoft, Inc. System and method for converting a first programming language application to a second programming language application
US11599369B1 (en) 2018-03-08 2023-03-07 Palantir Technologies Inc. Graphical user interface configuration system
US10754822B1 (en) 2018-04-18 2020-08-25 Palantir Technologies Inc. Systems and methods for ontology migration
US10885021B1 (en) 2018-05-02 2021-01-05 Palantir Technologies Inc. Interactive interpreter and graphical user interface
US10423396B1 (en) 2018-05-04 2019-09-24 Salesforce.Com, Inc. Transforming non-apex code to apex code
US11119630B1 (en) 2018-06-19 2021-09-14 Palantir Technologies Inc. Artificial intelligence assisted evaluations and user interface for same
US10846083B2 (en) * 2018-12-12 2020-11-24 Sap Se Semantic-aware and self-corrective re-architecting system
CN110879710B (zh) * 2019-07-24 2023-07-07 中信银行股份有限公司 一种rpg程序自动转成java程序的方法
US20230236849A1 (en) * 2022-01-26 2023-07-27 Oracle International Corporation Enterprise application runtime customization and release management

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5765131A (en) * 1986-10-03 1998-06-09 British Telecommunications Public Limited Company Language translation system and method
CA2002201C (en) * 1988-12-06 1999-04-27 John Charles Goettelmann Translation technique
US5313614A (en) * 1988-12-06 1994-05-17 At&T Bell Laboratories Method and apparatus for direct conversion of programs in object code form between different hardware architecture computer systems
US5530863A (en) * 1989-05-19 1996-06-25 Fujitsu Limited Programming language processing system with program translation performed by term rewriting with pattern matching
CA2284245C (en) * 1989-09-01 2001-02-06 Amdahl Corporation Operating system and data base having an access structure formed by a plurality of tables
US5488714A (en) * 1990-05-23 1996-01-30 Unisys Corporation Computer program analyzer for adapting computer programs to different architectures
US5481721A (en) * 1991-07-17 1996-01-02 Next Computer, Inc. Method for providing automatic and dynamic translation of object oriented programming language-based message passing into operation system message passing using proxy objects
US5579223A (en) * 1992-12-24 1996-11-26 Microsoft Corporation Method and system for incorporating modifications made to a computer program into a translated version of the computer program
JPH06309193A (ja) * 1993-04-27 1994-11-04 Toshiba Corp 機械語プログラムの動作検証方法および装置
US5626569A (en) * 1993-11-08 1997-05-06 B. Braun Biotrol Device for venting and controlling the pressure inside a stoma collection bag
AU1323395A (en) * 1993-12-30 1995-07-17 Raymond Obin Method for compiling a procedural program to an object class definition
JP2755154B2 (ja) * 1994-02-23 1998-05-20 日本電気株式会社 プログラム変換処理装置およびプログラム変換処理方法
JP3081105B2 (ja) * 1994-05-16 2000-08-28 三菱電機株式会社 符号変換装置
US5678039A (en) * 1994-09-30 1997-10-14 Borland International, Inc. System and methods for translating software into localized versions
US6151702A (en) * 1994-09-30 2000-11-21 Computer Associates Think, Inc. Method and system for automated, interactive translation of a software program to a data model for input to an information repository
US5842204A (en) * 1994-10-07 1998-11-24 Tandem Computers, Inc. Method and apparatus for translating source code from one high-level computer language to another
US5768564A (en) * 1994-10-07 1998-06-16 Tandem Computers Incorporated Method and apparatus for translating source code from one high-level computer language to another
JP3444671B2 (ja) * 1994-11-08 2003-09-08 富士通株式会社 並列コード変換処理方法とそのシステム
US5758032A (en) * 1995-04-13 1998-05-26 Sterling Software, Inc. Method and system for automated transformation of declarative language process specification
US5682158A (en) * 1995-09-13 1997-10-28 Apple Computer, Inc. Code converter with truncation processing
JPH09135172A (ja) * 1995-11-08 1997-05-20 Sony Corp 符号変換方法
US5974372A (en) * 1996-02-12 1999-10-26 Dst Systems, Inc. Graphical user interface (GUI) language translator
US5819067A (en) * 1996-02-23 1998-10-06 Advanced Micro Devices, Inc. Computer system configured to translate a computer program into a second computer program prior to executing the computer program
US5805893A (en) * 1996-03-01 1998-09-08 Electronic Data Systems Corporation Assembly language program converter
US5805895A (en) * 1996-06-09 1998-09-08 Motorola, Inc. Method and apparatus for code translation optimization
US5870039A (en) * 1996-06-19 1999-02-09 Matsushita Electric Industrial Co., Ltd. Code converter, variable length code decoder, and associated methods
US5898394A (en) * 1996-07-31 1999-04-27 Matsushita Electric Industrial Co., Ltd. Code conversion method and apparatus, code recording medium, code recording apparatus and code reproducing apparatus
US5956510A (en) * 1996-09-10 1999-09-21 Unisys Corporation Apparatus and method for revising computer program code
EP0951706A4 (en) * 1996-12-03 2000-02-23 Ergolight Ltd COMPUTERIZED DEVICE AND METHOD FOR IDENTIFYING USEFUL PROBLEMS OF A COMPUTED SYSTEM
JP3209264B2 (ja) * 1997-04-03 2001-09-17 日本電気株式会社 言語処理装置および方法、情報記憶媒体
DE69818796T2 (de) * 1997-06-26 2004-08-05 Koninklijke Philips Electronics N.V. Maschinenorganisiertes verfahren und vorrichtung zum übersetzen einer wortorganisierten textquelle in einen wortorganisierten zieltext
US5974256A (en) * 1997-09-29 1999-10-26 International Business Machines Corporation Method for translating graphical user interface (GUI) resource data into native java code
US5983020A (en) * 1997-10-02 1999-11-09 International Business Machines Corporation Rule-based engine for transformation of class hierarchy of an object-oriented program
US6002874A (en) * 1997-12-22 1999-12-14 International Business Machines Corporation Method and system for translating goto-oriented procedural languages into goto-free object oriented languages
US6195792B1 (en) * 1998-02-19 2001-02-27 Nortel Networks Limited Software upgrades by conversion automation
US6164841A (en) * 1998-05-04 2000-12-26 Hewlett-Packard Company Method, apparatus, and product for dynamic software code translation system
US6158047A (en) * 1998-07-08 2000-12-05 Hewlett-Packard Company Client/server system for fast, user transparent and memory efficient computer language translation
US6453312B1 (en) * 1998-10-14 2002-09-17 Unisys Corporation System and method for developing a selectably-expandable concept-based search
US6523171B1 (en) * 1998-12-29 2003-02-18 International Business Machines Corporation Enhanced source code translator from procedural programming language (PPL) to an object oriented programming language (OOPL)
US7065750B2 (en) * 1999-02-17 2006-06-20 Elbrus International Method and apparatus for preserving precise exceptions in binary translated code
US6519605B1 (en) * 1999-04-27 2003-02-11 International Business Machines Corporation Run-time translation of legacy emulator high level language application programming interface (EHLLAPI) calls to object-based calls
US6654950B1 (en) * 1999-08-24 2003-11-25 Bae Systems Mission Solutions Inc. Software rehosting system and method
US7590644B2 (en) * 1999-12-21 2009-09-15 International Business Machine Corporation Method and apparatus of streaming data transformation using code generator and translator
US20030154266A1 (en) * 2000-09-01 2003-08-14 Mark Bobick Server system and method for discovering digital assets in enterprise information systems

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770363B (zh) * 2005-06-27 2014-03-12 Csc科技(新加坡)私人有限公司 将可执行代码转换为不同编程语言的方法及设备
CN100571167C (zh) * 2006-02-24 2009-12-16 国际商业机器公司 Web服务业务流程的单元测试的方法和设备
US9230067B2 (en) 2010-12-21 2016-01-05 Antaios (Beijing) Information Technology Co., Ltd. Method for normalizing a computer system
WO2012083521A1 (zh) * 2010-12-21 2012-06-28 北京中天安泰信息科技有限公司 规范计算机系统行为的方法
CN102768682A (zh) * 2012-06-28 2012-11-07 用友软件股份有限公司 业务规则处理装置和业务规则处理方法
CN104662514B (zh) * 2012-09-25 2018-06-05 波音公司 基于模型关联关系的遗产软件系统的现代化
CN104662514A (zh) * 2012-09-25 2015-05-27 波音公司 基于模型关联关系的遗产软件系统的现代化
CN110149800A (zh) * 2015-04-07 2019-08-20 华为技术有限公司 一种用于处理与源程序的源代码相关联的抽象语法树的装置
CN110149800B (zh) * 2015-04-07 2021-12-14 华为技术有限公司 一种用于处理与源程序的源代码相关联的抽象语法树的装置
CN112166409A (zh) * 2018-06-06 2021-01-01 欧姆龙株式会社 控制系统、控制系统的控制方法以及控制系统的程序
CN112166409B (zh) * 2018-06-06 2023-11-14 欧姆龙株式会社 控制系统、控制系统的控制方法以及记录介质
CN110007926A (zh) * 2019-04-17 2019-07-12 广东三维家信息科技有限公司 语言转换方法及装置
CN112698819A (zh) * 2019-10-22 2021-04-23 北京信普飞科科技有限公司 面向树化对象编程程序设计方法、装置及存储介质

Also Published As

Publication number Publication date
DE60237200D1 (de) 2010-09-16
WO2002093367A1 (en) 2002-11-21
BR0209497A (pt) 2005-08-30
EP1388054A1 (en) 2004-02-11
KR20040004619A (ko) 2004-01-13
ZA200308593B (en) 2005-04-08
ATE476702T1 (de) 2010-08-15
US20030226132A1 (en) 2003-12-04
IL158696A0 (en) 2004-05-12
US7467375B2 (en) 2008-12-16
EP1388054B1 (en) 2010-08-04
CA2446162A1 (en) 2002-11-21
AU2008201056A1 (en) 2008-04-03
JP2005515518A (ja) 2005-05-26

Similar Documents

Publication Publication Date Title
CN1509433A (zh) 把传统软件应用程序转换为现代面向对象系统的方法和系统
AU2006264207B2 (en) Code transformation
Murphy et al. Software reflexion models: Bridging the gap between design and implementation
US5970490A (en) Integration platform for heterogeneous databases
US9305057B2 (en) Extensible indexing framework using data cartridges
Kienle et al. Rigi—An environment for software reverse engineering, exploration, visualization, and redocumentation
US20130227533A1 (en) Code transformation
CN101030224A (zh) 用于构建跨越异构环境的统一查询的系统和方法
Çetinkaya et al. Model continuity in discrete event simulation: A framework for model-driven development of simulation models
US20060122973A1 (en) Mechanism for defining queries in terms of data objects
CN101208660A (zh) 代码转换
Steel et al. A transformation workbench for building information models
CN115469860B (zh) 基于指令集的需求到软件领域模型的自动生成方法及系统
AU2012201466B2 (en) Code Transformation
Jodłowiec et al. Towards the pattern-based transformation of SBVR models to association-oriented models
Jacindha et al. Program synthesis—a survey
Cen et al. Block affordances for graphql in mit app inventor
JP2006004145A (ja) プログラムコード生成装置
Du et al. Research and Implementation of MapReduce Programming Oriented Graphical Modeling System
Akgun et al. Conjure revisited: Towards automated constraint modelling
Wang et al. Improve Software Development: An Overview of Program Synthesis
CN117608656A (zh) 一种基于ast和llm的混合式前端框架迁移方法
CN117591095A (zh) 一种基于表达式ast解析和可配置模板的代码生成方法
AU2002305544A1 (en) Method and system for transforming legacy software applications into modern object-oriented systems
Martins et al. A Web-Based Information Integration Tool for the Rapid Prototyping of Spatio-Temporal Mashups

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication