CN105335133B - 用于生成业务规则模型的方法和装置 - Google Patents

用于生成业务规则模型的方法和装置 Download PDF

Info

Publication number
CN105335133B
CN105335133B CN201410273115.8A CN201410273115A CN105335133B CN 105335133 B CN105335133 B CN 105335133B CN 201410273115 A CN201410273115 A CN 201410273115A CN 105335133 B CN105335133 B CN 105335133B
Authority
CN
China
Prior art keywords
business
source code
procedure
operation flow
module
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.)
Active
Application number
CN201410273115.8A
Other languages
English (en)
Other versions
CN105335133A (zh
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201410273115.8A priority Critical patent/CN105335133B/zh
Priority to US14/706,630 priority patent/US10185925B2/en
Publication of CN105335133A publication Critical patent/CN105335133A/zh
Application granted granted Critical
Publication of CN105335133B publication Critical patent/CN105335133B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)

Abstract

本发明的各实施方式提供了用于生成业务规则模型的方法和装置。在本发明的一个实施方式中,提供了一种用于生成业务规则模型的方法,包括:从应用***的源代码提取所述源代码所执行的业务流程,所述业务流程包括按顺序执行的多个业务过程;分析所述源代码中与所述多个业务过程中的各个业务过程相关联的部分,建立描述各个业务过程所遵循的业务规则的规则元数据;基于所述顺序和所述规则元数据生成描述所述业务流程所遵循的业务规则模型。在本发明的一个实施方式中,提供了一种用于生成业务规则模型的装置。采用本发明的方法和装置,可以在无需人工操作的情况下,自动地从应用***的源代码中生成业务规则模型。

Description

用于生成业务规则模型的方法和装置
技术领域
本发明的各实施方式涉及数据处理,更具体地,涉及从遗留(legacy)应用***生成业务规则模型(Business Rule Model)的方法和装置。
背景技术
随着计算机技术的发展,应用***的开发方式经历了诸多变化。在早期开发的应用***中,用于控制业务流程的控制规则通常与源代码紧密耦合(例如,被嵌入在源代码中),这导致在应用***开发完成后并不能灵活地修改控制规则,进而造成应用***的灵活性较差。另外,计算机技术的发展还促进了编程语言的演变。较早的编程语言(例如,COBOL语言、C语言等)大多采用面向过程的编程模式,而近些年来主流编程语言(例如,C++语言、Java语言等)均采用面向对象的编程模式。
在诸如电力、金融等行业中,存在使用早期编程语言开发的大量遗留应用***,并且这些遗留应用***已经成为各个行业中的核心***。遗留应用***的技术已经逐渐过时,并且开始逐渐被新技术(例如,面向对象的编程模式)和新平台(云环境)取代。如何针对早期开发的、其中控制规则与源代码紧密耦合的应用***实现改造(modernization),成为目前的一项关注的焦点。
在改造过程中,首先需要了解遗留应用***的各项业务过程,分析各项业务过程中所涉及的业务规则,之后基于业务规则实现遗留应用***的改造。现有的技术方案通常需要具有丰富编程经验的技术人员人工读取遗留应用***的源代码,进而获得相关的业务规则。一方面,这需要大量的人力、物力和时间开销;另一方面,随着编程语言的飞速发展,目前已经很难找到精通早期编程语言(例如,COBOL语言)的技术人员。
因而,如何在无需人工操作的情况下,从遗留应用***的源代码生成业务规则模型成为应用***改造中的一个关键问题。
发明内容
因而,期望开发一种能够自动地从遗留应用***的源代码生成业务规则模型的技术方案,期望生成的业务规则模型可以包括源代码所执行的业务流程所遵循的各种规则,以便在后期处理中可以基于业务规则模型实现对遗留应用***的改造。
根据本发明的一个方面,提供了一种用于生成业务规则模型的方法,包括:从应用***的源代码提取源代码所执行的业务流程,业务流程包括按顺序执行的多个业务过程;分析源代码中与多个业务过程中的各个业务过程相关联的部分,建立描述各个业务过程所遵循的业务规则的规则元数据;基于顺序和规则元数据生成描述业务流程所遵循的业务规则模型。
在本发明的一个实施方式中,分析源代码中与多个业务过程中的各个业务过程相关联的部分,建立描述各个业务过程所遵循的业务规则的规则元数据包括:针对源代码中与多个业务过程中的各个业务过程相关联的部分,基于源代码所引用的数据结构与业务流程中的业务术语之间的映射关系,建立规则元数据。
在本发明的一个实施方式中,一种用于生成业务规则模型的装置,包括:提取模块,配置用于从应用***的源代码提取源代码所执行的业务流程,业务流程包括按顺序执行的多个业务过程;建立模块,配置用于分析源代码中与多个业务过程中的各个业务过程相关联的部分,建立描述各个业务过程所遵循的业务规则的规则元数据;生成模块,配置用于基于顺序和规则元数据生成描述业务流程所遵循的业务规则模型。
在本发明的一个实施方式中,建立模块包括:第一建立模块,配置用于针对源代码中与多个业务过程中的各个业务过程相关联的部分,基于源代码所引用的数据结构与业务流程中的业务术语之间的映射关系,建立规则元数据。
采用本发明所述的方法和装置,可以在无需人工干预的情况下,自动地从应用***的源代码中生成业务规则模型。进一步,可以使用所生成的业务模型来验证源代码中是否存在冲突。更进一步,还可以基于所生成的业务规则模型,辅助将遗留应用***移至新的应用环境。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示意性示出了适于用来实现本发明实施方式的示例性计算机***/服务器12的框图;
图2示意性示出了根据一个技术方案的遗留应用***的源代码的片段;
图3示意性示出了根据本发明一个实施方式的用于生成业务规则模型的技术方案的框图;
图4示意性示出了根据本发明一个实施方式的用于生成业务规则模型的方法的流程图;
图5示意性示出了根据本发明一个实施方式的包括规则分组的业务规则模型的框图;
图6示意性示出了根据本发明有一个实施方式的业务规则模型的框图;以及
图7示意性示出了根据本发明一个实施方式的用于生成业务规则模型的装置的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算机***/服务器12的框图。图1显示的计算机***/服务器12仅仅是一个示例,不应对本发明实施方式的功能和使用范围带来任何限制。
如图1所示,计算机***/服务器12以通用计算设备的形式表现。计算机***/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机***/服务器12典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机***/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机***/服务器12可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施方式的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作***、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施方式中的功能和/或方法。
计算机***/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机***/服务器12交互的设备通信,和/或与使得该计算机***/服务器12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机***/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机***/服务器12的其他模块通信。应当明白,尽管图中未示出,可以结合计算机***/服务器12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
在下文中,将结合遗留应用***的具体示例来阐明如何生成业务规则模型。由于COBOL语言具有较强的稳定性,在诸如金融、电力等行业中,早期的应用***大都采用COBOL语言来开发。在本发明的上下文中,将仅以利用COBOL语言开发的银行应用***为具体示例,示出如何实现本发明的技术方案。然而本领域技术人员应当理解,本发明的技术方案并不局限于银行应用***,也并不局限于以COBOL语言开发,而是可以应用于以各种语言开发的各个行业的应用***。
为了更加清晰地示出本发明的技术方案,首先介绍在本发明的上下文中涉及的技术术语的含义。
规则是指一系列特定的业务条件,或附属关系的策略、约束或要求。具体而言,在银行的日常操作中,规则的一个示例可以是,计算向用户收取的贷款利率的规则,该规则可以涉及多方面的内容,例如贷款利率可以与贷款人的年龄、贷款金额等因素相关。规则的另一示例可以是,计算转账手续费的规则,该规则可以涉及产品、客户和地理位置等多方面。
由于业务具有复杂性,在执行业务流程时可能会涉及多个相关联的规则,因而本发明还涉及规则分组的概念。规则分组是指包含了一组要执行的规则的集合。当执行规则组时,应当按指定的顺序执行规则组中的各个规则。
规则流是控制规则执行的方式,即,包括要执行哪些规则(组)以及按什么顺序执行的规则(组),这些规则(组)前后相继地执行,并且每个规则流都具有一个起点和至少一个终点。
图2示意性示出了根据一个技术方案的遗留应用***的源代码的片段200。图2所示的源代码片段实现计算向贷款人收取的利率的业务流程,并且在该业务流程中基于贷款人的年龄和贷款金额来计算利率。图2所示的源代码片段是基于COBOL语言编写的,并且在该源代码片段中以附图标记210和220示出的两个“IF”语句分别对应于业务流程中的两个业务规则。
附图标记210所示的“IF”语句用于判断贷款人的年龄是否大于“65”岁,并且可以基于判断结果执行不同的步骤;附图标记220所示的“IF”语句用于判断贷款金额和是否大于“1000000”元,并且可以基于判断结果执行不同的步骤。在如图2所示的源代码片段中,用于计算贷款利率的业务规则(例如,IF语句的判断条件“65”和“1000000”)被嵌入到源代码中。然而随着银行应用***改造以及银行贷款规则的变化,期望从源代码中分离业务规则,并且进一步,期望可以在无需重新编译源代码的情况下修改业务规则。例如期望可以方便地将贷款人年龄的判断条件修改为“60”岁,等等。
尽管目前已经提出了在遗留应用***的源代码中搜索诸如“IF”语句等判断语句来获得业务规则的技术方案,这些技术方案仅仅能够找到可能与业务规则相关联的潜在代码片段,然而在后期需要针对找到的代码片段进行人工分析以获得业务规则。此外,这些技术方案并不能获得所找到的代码片段之间的关系,因而也不可能获得代码片段所对应的业务规则之间的关系。
针对现有技术方案中的不足,本发明提供了一种用于生成业务规则模型的技术方案。图3示意性示出了根据本发明一个实施方式的用于生成业务规则模型的技术方案的框图300。如图3所示,采用本发明的技术方案,可以通过分析应用***的源代码的主程序(例如,MAIN-LOGIC)中对各个过程的调用(例如,PERFORM VALIDATION-MAXIMUMAGEREQ,以及PERFORM VALIDATION-MAXIMUMAMOUNT,等),来获得源代码所执行的业务流程。
接着,通过分析各个业务流程的源代码,可以建立各个业务流程所遵循的业务规则的元数据。例如,规则元数据310可以对应于源代码210,规则元数据320可以对应于源代码220。
继而,基于业务流程中的各个业务过程的执行顺序,可以生成业务规则模型330。该业务规则模型330可以包括源代码片段所遵循的规则(规则元数据310和规则元数据320),还可以包括各个规则的执行顺序(如规则元数据310和320之间的箭头所示)。以此方式,可以从应用***的源代码中生成与源代码相关的业务流程所遵循的业务规则模型。
具体地,在本发明的一个实施方式中,提供了一种用于生成业务规则模型的方法,包括:从应用***的源代码提取源代码所执行的业务流程,业务流程包括按顺序执行的多个业务过程;分析源代码中与多个业务过程中的各个业务过程相关联的部分,建立描述各个业务过程所遵循的业务规则的规则元数据;基于顺序和规则元数据生成描述业务流程所遵循的业务规则模型。
图4示意性示出了根据本发明一个实施方式的用于生成业务规则模型的方法的流程图400。在步骤S402中,从应用***的源代码提取源代码所执行的业务流程,该业务流程包括按顺序执行的多个业务过程。早期的编程语言通常是面向过程的语言,因而可以通过分析应用***的源代码的主程序中针对各个过程的调用来获取业务流程。业务流程可以包括按顺序执行的多个业务过程,例如,对于如图3所示的源代码的示例,业务流程可以包括以VALIDATION-MAXIMUMAGEREQ和VALIDATION–MAXIMUMAMOUNT表现两个业务过程。在源代码涉及多个文件的情况下,还可以基于主程序中的调用来在相应的文件中查找相关的业务流程。
在步骤S404中,分析源代码中与多个业务过程中的各个业务过程相关联的部分,建立描述各个业务过程所遵循的业务规则的规则元数据。在此步骤中,可以分别分析与VALIDATION-MAXIMUMAGEREQ和VALIDATION-MAXIMUMAMOUNT相关联的源代码,并建立描述与VALIDATION-MAXIMUMAGEREQ和VALIDATION–MAXIMUMAMOUNT相对应的业务过程所遵循的业务规则的规则元数据。
具体而言,VALIDATION-MAXIMUMAGEREQ,需要满足如图3中所示的“IF”语句210,而VALIDATION-MAXIMUMAMOUNT,需要满足如图3中所示的“IF”语句220。本领域技术人员可以定义规则元数据的格式,只要该格式能够描述源代码中与条件语句相关联的业务规则的含义即可。
在步骤S406中,基于顺序和规则元数据生成描述业务流程所遵循的业务规则模型。由于已经知晓了业务流程中的各个业务过程的执行顺序和各个业务过程相关联的规则元数据,因而可以按照执行顺序来“组装”各个规则元数据,以便生成描述业务流程所遵循的业务规则模型。本领域技术人员可以定义业务规则模型的数据格式,举例而言,例如可以采用如图3所示的流程图的方式,或者还可以基于XML语言、或者基于其他方式来存储业务规则模型。
在上文中,已经参见图3所示的源代码片段示意性示出了用于生成业务规则模型的方法的概要步骤。在下文中,将参见银行应用***中用于计算转账手续费的源代码片段(如下文表1所示),进一步示出用于生成业务规则模型的其他细节。
表1用于计算转账手续费的源代码片段
在上文表1所示的源代码片段中,当计算转账手续费时,需要考虑三方面的信息:1)产品维度,即用户从哪种产品(活期产品/定期产品)中转账;2)客户维度,即用户是哪种类型的客户(个人、普通客户/个人、VIP客户);以及3)位置维度,即转出银行与转入银行的位置是否相同(同城/异地)。现在将参见上文表1所示的源代码来描述本发明的实施方式的更多细节。
在本发明的一个实施方式中,从应用***的源代码提取源代码所执行的业务流程包括:基于源代码中的逻辑过程以及逻辑过程的执行顺序以提取业务流程,其中业务流程中的业务过程对应于源代码中的逻辑过程。
可以逐行分析源代码,以获取源代码中的逻辑过程以及逻辑过程的执行顺序。具体而言,在上文表1所示的源代码中,在主逻辑过程“0000-MAIN-PROCESS-RTN”中包括多个逻辑过程:“1000-SUB-LOGIC”、“1001-SUB-LOGIC”、…、以及“3000-SUB-LOGIC”。此时,可以基于多个逻辑过程来提取业务过程,具体地,逻辑过程“1000-SUB-LOGIC”对应于产品维度为“活期”时应当执行的业务过程,逻辑过程“1001-SUB-LOGIC”对应于产品维度为“定期”时应当执行的业务过程,等等。以此方式,可以从应用***的源代码提取源代码所执行的业务流程。
在本发明的一个实施方式中,分析源代码中与多个业务过程中的各个业务过程相关联的部分,建立描述各个业务过程所遵循的业务规则的规则元数据包括:针对源代码中与多个业务过程中的各个业务过程相关联的部分,基于源代码所引用的数据结构与业务流程中的业务术语之间的映射关系,建立规则元数据。
开发应用***的过程是以编程语言(例如,COBOL语言)来描述业务流程的过程,因而源代码中所引用的数据结构与业务流程中的业务属于之间存在映射关系。基于两者之间的映射关系,可以明确地了解源代码中的一个数据结构对应于哪个业务术语,因而可以基于这种映射关系,在源代码与业务规则之间建立联系。
在下文表2中示意性示出了上文表1所示的源代码所引用的数据结构的定义。在COBOL语言中,数据结构可以定义在“COPYBOOK”文件中;当用户使用其他编程语言时,可以在其他类型的文件中定义所使用的数据结构(例如,在C语言中,可以在“.h”文件中定义数据结构)。
表2COPYBOOK文件的示例
在上文表2所示的COPYBOOK文件中,“02I-PRDTYP PIC X(9)”表示源代码中的数据结构的定义,而“*@SEMANTIC(/MODEL/product/type)”表示与该数据结构对应的业务术语。具体而言,“I-PRDTYP”可以被映射至业务过程中的业务术语“product/type”,即,表示产品类型的含义。又例如,“02I-CUSTYP PIC X(9)”与“customer/type”之间存在映射关系,即,表示客户类型。又例如,“02CMFERAT1PIC S9(13)V9(2)COMP-3”与“/fee/rate/product”之间存在映射关系,即,表示客户维度费用优惠。又例如,“02I-CUSLEV PIC X(9)”与“customer/level”之间存在映射关系,即,表示客户等级,等等。
基于上文表1所示的源代码和表2所示的映射关系,可以建立业务规则模型的框架,如下文表3所示。
表3业务规则模型的框架
本领域技术人员可以基于上文表3中所示的模型的架构,并且通过分析与各个业务过程相关联的源代码,来自定义规则元数据的数据结构。具体而言,目前已经基于COPYBOOK知晓了“I-PRDTYP”对应于客户类型,例如可以从如下文表4所示的源代码片段建立元数据。
表4源代码片段
表4的源代码表示如下规则:当产品类型为“活期”时,产品维度费用优惠为100%。因而,针对表4所示的代码可以建立如表5所示的规则元数据。本领域技术人员可以自定义规则元数据的格式,只要能够描述规则即可。类似地,还可以针对其他代码建立其他的规则元数据。
表5规则元数据示例
在上文中已经示意性示出了从源代码中与多个业务过程中的各个业务过程相关联的部分来建立规则元数据的示例,在下文中将介绍在多个业务过程之间存在关联关系时的具体操作。应用***通常需要满足复杂的业务规则,多个业务过程之间经常存在关联关系,因而需要将存在关联关系的业务过程划分至相同的过程分组,并针对该过程分组中的各个业务过程来建立规则元数据。
在本发明的一个实施方式中,针对源代码中与多个业务过程中的各个业务过程相关联的部分,基于源代码所引用的数据结构与业务流程中的业务术语之间的映射关系,建立规则元数据包括:识别多个业务过程之间的关联关系以将多个业务过程划分为至少一个过程分组;以及分析源代码中与至少一个过程分组中的各个过程分组相关联的部分,基于映射关系建立与各个过程分组相关联的规则元数据。
图5示意性示出了根据本发明一个实施方式的包括规则分组的业务规则模型的框图500。在图5中,例如规则元数据310和320分别来自于两个不同的业务过程,并且这两个业务过程之间存在关联关系,此时可将这两个业务过程划分至相同的过程分组。相应地,规则元数据310和320也位于相同的规则分组510。
具体而言,在上文表1所示的源代码中,逻辑过程“2000-SUB-LOGIC”和“2001-SUB-LOGIC”均涉及基于客户维度(包括客户类型(I-CUSTYP)和客户等级(I-CUSLEV)),来确定相应的客户维度费用优惠,因而可以将对应于逻辑过程“2000-SUB-LOGIC”和“2001-SUB-LOGIC”的两个业务过程划分至相同的过程分组。
在上文表1所示的源代码中,计算转账手续费涉及到三方面的内容:产品维度、客户维度和位置维度,因而可以基于这三个维度来将业务过程划分为三个业务分组。具体地,图6示意性示出了根据本发明有一个实施方式的业务规则模型的框图600。如图6所示,业务规则模型可以包括三个规则分组,即,有关产品维度的规则分组610、有关客户维度的规则分组620和有关位置维度的规则分组630。进一步,有关产品维度的规则分组610包括两个规则:当产品是活期产品时应当遵循的规则612、以及当产品是定期产品时应当遵循的规则614。有关客户维度的规则分组620包括两个规则:当客户是个人普通客户时应当遵循的规则622、以及当客户是个人VIP客户时应当遵循的规则624。有关位置维度的规则分组630可以包括两个规则:当转出银行与转入银行位于相同城市时应当遵循的规则632、以及当转出银行与转入银行位于不同城市时应当遵循的规则634。通过将业务过程划分分组,可以将各个业务过程应当遵循的业务规则划分至相应的规则分组,因而可以清晰地定义规则元数据之间的层次关系。
在本发明的一个实施方式中,分析源代码中与至少一个过程分组中的各个过程分组相关联的部分,基于映射关系建立与各个过程分组相关联的规则元数据包括:针对至少一个过程分组中的当前过程分组,在源代码中与当前过程分组相对应的部分中查找执行语句以获取段落关键字;基于关键字定位代码段落;以及基于映射关系,解析代码段落以获得规则元数据。
对于以COBOL语言编写的源代码而言,可以在源代码中查找“PERFORM”语句,并获取段落关键字(例如,“1000-SUB-LOGIC”),继而,可以基于“1000-SUB-LOGIC”找到相对应的代码段落来用于后续的分析。
另外,本领域技术人员还应当注意,在源代码中还可能存在嵌套调用的情况,例如,在逻辑过程“1000-SUB-LOGIC”中还可能通过“PERFORM1002-SUB-LOGIC”语句调用另一逻辑过程“1002-SUB-LOGIC”。此时可以采用类似方式通过查找“PERFORM”语句,并获取进一步的段落关键字“1002-SUB-LOGIC”。
在本发明的一个实施方式中,其中基于映射关系,解析代码段落以获得规则元数据包括:从代码段落获取条件语句以及与条件语句相对应的动作语句;以及响应于条件语句与业务术语之间存在映射关系,基于条件语句和动作语句形成规则元数据。
应当注意,由于业务流程中的业务规则在源代码中通常以条件语句来表示,因而可以从相关代码段落中查找条件语句,来获得可能与业务规则相关联的代码。具体而言,在以COBOL编写的源代码中,条件语句可以以“IF…THEN…”的形式表示,因而例如可以采用文本搜索的方式在相关代码段落中查找关键字“IF”和“THEN”。
在本发明的上下文中,可以将“THEN”之后的语句称为动作语句,即,满足条件后应当执行的动作。此时,当条件语句与业务术语之间存在映射关系时,可以基于条件语句和动作语句形成规则元数据。
具体而言,当处理上文表4所示的源代码片段时,发现条件语句“IF I-PRDTYP OFPCCMIRTA='活期'”以及动作语句“MOVE'100'TO CMFERAT1OF PCCMFEEA”,此时,可以建立如上文表5所示的规则元数据。该规则元数据表示的含义是:如果产品类型是“活期”,则将产品维度费用优惠的数值设置为100%。
类似地,本领域技术人员还可以通过处理其他源代码片段来建立其他规则元数据。例如,继续上文的示例,可以处理与过程分组相关联的源代码,并建立相应的规则元数据。例如,基于图6所示的有关客户维度的规则分组620的源代码(如下文表6所示),可以建立如下文表7所示的规则元数据。
表6源代码片段
表7规则元数据的示例
在上文中已经结合具体示例示出了如何生成规则元数据,可以利用规则元数据来扩展上文表3所示的业务规则模型的框架,以便获得最终的业务规则模型。具体而言,在处理如表1所示的源代码后,可以生成如下文表8所示的业务规则模型。
表8业务规则模型
在上文中已经示意性示出了从源代码生成与计算转账手续费相关联的业务规则模型的示例。在本发明的一个实施方式中,还可以按照上述方法来从实现其他业务流程的源代码中生成相应的业务规则模型。例如,可以从图2所示的源代码片段中生成与计算贷款利率相关联的业务规则模型。
在本发明的一个实施方式中,进一步包括:基于业务术语之间的约束关系,验证业务规则模型。
在此实施方式中,还可以基于生成的业务规则模型来辅助判断在现有的源代码中是否存在潜在缺陷。假设从源代码中生成了如下业务规则:1)存款产品的利率在2-10%之间,并且不需要审批;2)定期存款产品的利率必须要审批。则此时可以发现这两个业务规则之间可能会存在冲突。定期存款产品是一种特殊类型的存款产品,并且当利率在2-10%之间时,根据业务规则1),该利率不需要审批;而根据规则2)则该利率需要审批。此时将会出现冲突。
由于COBOL语言是面向过程的语言,该语言并不支持“继承”的概念,因而需要分别定义不同的数据结构来表示不同的对象。具体而言,定期存款产品是一种特殊类型的存款产品,当使用面向对象的编程语言时,可以将定期存款产品定义为存款产品的子类。然而当采用COBOL语言编写代码时也仅能按照面向过程的语言的语法规定来定义两个数据结构。此时,在两个数据结构之间可能会存在冲突。
在以面向过程的编程语言开发应用***时,由于不能在两个单独的数据结构之间建立继承关系,因而很难发现源代码中的潜在缺陷。通过使用本发明的技术方案,可以从源代码中生成业务规则模型,进而可以通过比较该模型中的规则,即可判断在源代码中是否出现了潜在的缺陷。以此方式,可以验证业务规则模型中是否出现了潜在的冲突。当发现冲突时,可以发出警报以指示该冲突。
前面已经参考附图描述了实现本发明的方法的各个实施方式。本领域技术人员可以理解的是,上述方法既可以以软件方式实现,也可以以硬件方式实现,或者通过软件与硬件相结合的方式实现。并且,本领域技术人员可以理解,通过以软件、硬件或者软硬件相结合的方式实现上述方法中的各个步骤,可以提供一种基于相同发明构思的一种设备。即使该设备在硬件结构上与通用处理设备相同,由于其中所包含的软件的作用,使得该设备表现出区别于通用处理设备的特性,从而形成本发明的各个实施方式的设备。本发明中所述设备包括若干装置或模块,所述装置或模块被配置为执行相应步骤。本领域的所述技术人员通过阅读本说明书可以理解如何编写程序实现所述装置或模块执行的动作。由于所述设备与方法基于相同的发明构思,因此其中相同或相应的实现细节同样适用于与上述方法对应的装置或模块,由于其在上文中已经进行了详细和完整的描述,因此在下文中可能不再进行赘述。
图7示意性示出了根据本发明一个实施方式的用于生成业务规则模型的装置的框图700。具体地,提供了一种用于生成业务规则模型的装置,包括:提取模块710,配置用于从应用***的源代码提取源代码所执行的业务流程,业务流程包括按顺序执行的多个业务过程;建立模块720,配置用于分析源代码中与多个业务过程中的各个业务过程相关联的部分,建立描述各个业务过程所遵循的业务规则的规则元数据;生成模块730,配置用于基于顺序和规则元数据生成描述业务流程所遵循的业务规则模型。
在本发明的一个实施方式中,提取模块710包括:第一提取模块,配置用于基于源代码中的逻辑过程以及逻辑过程的执行顺序以提取业务流程,其中业务流程中的业务过程对应于源代码中的逻辑过程。
在本发明的一个实施方式中,建立模块720包括:第一建立模块,配置用于针对源代码中与多个业务过程中的各个业务过程相关联的部分,基于源代码所引用的数据结构与业务流程中的业务术语之间的映射关系,建立规则元数据。
在本发明的一个实施方式中,第一建立模块包括:分组模块,配置用于识别多个业务过程之间的关联关系以将多个业务过程划分为至少一个过程分组;以及分析模块,配置用于分析源代码中与至少一个过程分组中的各个过程分组相关联的部分,基于映射关系建立与各个过程分组相关联的规则元数据。
在本发明的一个实施方式中,分析模块包括:查找模块,配置用于针对至少一个过程分组中的当前过程分组,在源代码中与当前过程分组相对应的部分中查找执行语句以获取段落关键字;定位模块,配置用于基于关键字定位代码段落;以及解析模块,配置用于基于映射关系,解析代码段落以获得规则元数据。
在本发明的一个实施方式中,解析模块包括:获取模块,配置用于从代码段落获取条件语句以及与条件语句相对应的动作语句;以及形成模块,配置用于响应于条件语句与业务术语之间存在映射关系,基于条件语句和动作语句形成规则元数据。
在本发明的一个实施方式中,进一步包括:验证模块,配置用于基于业务术语之间的约束关系,验证业务规则模型。
本发明可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施方式中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施方式的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施方式的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施方式。

Claims (12)

1.一种用于生成业务规则模型的方法,包括:
从应用***的源代码提取所述源代码所执行的业务流程,所述业务流程包括按顺序执行的多个业务过程;
分析所述源代码中与所述多个业务过程中的各个业务过程相关联的部分,建立描述各个业务过程所遵循的业务规则的规则元数据,包括:
针对所述源代码中与所述多个业务过程中的各个业务过程相关联的部分,基于所述源代码所引用的数据结构与所述业务流程中的业务术语之间的映射关系,建立所述规则元数据;
基于所述顺序和所述规则元数据生成描述所述业务流程所遵循的业务规则模型。
2.根据权利要求1所述的方法,其中从应用***的源代码提取所述源代码所执行的业务流程包括:
基于所述源代码中的逻辑过程以及所述逻辑过程的执行顺序以提取所述业务流程,其中所述业务流程中的业务过程对应于所述源代码中的逻辑过程。
3.根据权利要求1所述的方法,其中针对所述源代码中与所述多个业务过程中的各个业务过程相关联的部分,基于所述源代码所引用的数据结构与所述业务流程中的业务术语之间的映射关系,建立所述规则元数据包括:
识别所述多个业务过程之间的关联关系以将所述多个业务过程划分为至少一个过程分组;以及
分析所述源代码中与所述至少一个过程分组中的各个过程分组相关联的部分,基于所述映射关系建立与所述各个过程分组相关联的规则元数据。
4.根据权利要求3所述的方法,其中分析所述源代码中与所述至少一个过程分组中的各个过程分组相关联的部分,基于所述映射关系建立与所述各个过程分组相关联的规则元数据包括:针对所述至少一个过程分组中的当前过程分组,
在所述源代码中与所述当前过程分组相对应的部分中查找执行语句以获取段落关键字;
基于所述关键字定位代码段落;以及
基于映射关系,解析所述代码段落以获得所述规则元数据。
5.根据权利要求4所述的方法,其中基于映射关系,解析所述代码段落以获得所述规则元数据包括:
从所述代码段落获取条件语句以及与所述条件语句相对应的动作语句;以及
响应于所述条件语句与所述业务术语之间存在所述映射关系,基于所述条件语句和所述动作语句形成所述规则元数据。
6.根据权利要求1所述的方法,进一步包括:
基于所述业务术语之间的约束关系,验证所述业务规则模型。
7.一种用于生成业务规则模型的装置,包括:
提取模块,配置用于从应用***的源代码提取所述源代码所执行的业务流程,所述业务流程包括按顺序执行的多个业务过程;
建立模块,配置用于分析所述源代码中与所述多个业务过程中的各个业务过程相关联的部分,建立描述各个业务过程所遵循的业务规则的规则元数据,包括:
第一建立模块,配置用于针对所述源代码中与所述多个业务过程中的各个业务过程相关联的部分,基于所述源代码所引用的数据结构与所述业务流程中的业务术语之间的映射关系,建立所述规则元数据;
生成模块,配置用于基于所述顺序和所述规则元数据生成描述所述业务流程所遵循的业务规则模型。
8.根据权利要求7所述的装置,其中所述提取模块包括:
第一提取模块,配置用于基于所述源代码中的逻辑过程以及所述逻辑过程的执行顺序以提取所述业务流程,其中所述业务流程中的业务过程对应于所述源代码中的逻辑过程。
9.根据权利要求7所述的装置,其中所述第一建立模块包括:
分组模块,配置用于识别所述多个业务过程之间的关联关系以将所述多个业务过程划分为至少一个过程分组;以及
分析模块,配置用于分析所述源代码中与所述至少一个过程分组中的各个过程分组相关联的部分,基于所述映射关系建立与所述各个过程分组相关联的规则元数据。
10.根据权利要求9所述的装置,其中所述分析模块包括:
查找模块,配置用于针对所述至少一个过程分组中的当前过程分组,在所述源代码中与所述当前过程分组相对应的部分中查找执行语句以获取段落关键字;
定位模块,配置用于基于所述关键字定位代码段落;以及
解析模块,配置用于基于映射关系,解析所述代码段落以获得所述规则元数据。
11.根据权利要求10所述的装置,其中所述解析模块包括:
获取模块,配置用于从所述代码段落获取条件语句以及与所述条件语句相对应的动作语句;以及
形成模块,配置用于响应于所述条件语句与所述业务术语之间存在所述映射关系,基于所述条件语句和所述动作语句形成所述规则元数据。
12.根据权利要求7所述的装置,进一步包括:
验证模块,配置用于基于所述业务术语之间的约束关系,验证所述业务规则模型。
CN201410273115.8A 2014-06-18 2014-06-18 用于生成业务规则模型的方法和装置 Active CN105335133B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410273115.8A CN105335133B (zh) 2014-06-18 2014-06-18 用于生成业务规则模型的方法和装置
US14/706,630 US10185925B2 (en) 2014-06-18 2015-05-07 Generating business rule model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410273115.8A CN105335133B (zh) 2014-06-18 2014-06-18 用于生成业务规则模型的方法和装置

Publications (2)

Publication Number Publication Date
CN105335133A CN105335133A (zh) 2016-02-17
CN105335133B true CN105335133B (zh) 2018-10-09

Family

ID=54869988

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410273115.8A Active CN105335133B (zh) 2014-06-18 2014-06-18 用于生成业务规则模型的方法和装置

Country Status (2)

Country Link
US (1) US10185925B2 (zh)
CN (1) CN105335133B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2580425C1 (ru) * 2014-11-28 2016-04-10 Общество С Ограниченной Ответственностью "Яндекс" Способ структуризации хранящихся объектов в связи с пользователем на сервере и сервер
US11216763B1 (en) * 2015-04-30 2022-01-04 Amdocs Development Limited System, method, and computer program for automatically translating business models to technical models
CN107066248B (zh) * 2016-12-29 2020-11-10 北京五八信息技术有限公司 处理模型确定方法及装置
EP3588279B1 (en) * 2018-06-25 2024-02-14 Tata Consultancy Services Limited Automated extraction of rules embedded in software application code using machine learning
CN111198973A (zh) * 2018-11-20 2020-05-26 阿里巴巴集团控股有限公司 基于领域模型的业务可视化处理方法及装置
CN109558393B (zh) * 2018-11-28 2023-08-22 中国海洋石油集团有限公司 一种数据模型构建方法、装置、设备及存储介质
CN109697280A (zh) * 2018-12-27 2019-04-30 北京中电普华信息技术有限公司 一种大并发自动编码生成方法及***
CN109857833B (zh) * 2018-12-30 2021-06-08 北京房江湖科技有限公司 一种规则引擎实现方法、装置及电子设备
CN111443905B (zh) * 2019-01-16 2023-04-11 阿里巴巴集团控股有限公司 业务数据的处理方法、装置、***及电子设备
US11790263B2 (en) 2019-02-25 2023-10-17 International Business Machines Corporation Program synthesis using annotations based on enumeration patterns
CN110675216A (zh) * 2019-09-03 2020-01-10 阿里巴巴集团控股有限公司 一种账单数据生成方法及装置
CN110782232A (zh) * 2019-11-04 2020-02-11 北京明略软件***有限公司 业务流程可视化配置方法、装置、电子设备及存储介质
CN112114817B (zh) * 2020-09-28 2023-09-19 中国银行股份有限公司 基于cobol语言的数据字典字段信息获取方法及装置
CN112445461B (zh) * 2020-11-13 2024-06-25 中信银行股份有限公司 一种业务规则生成方法、装置、电子设备和可读存储介质
CN113419719B (zh) * 2021-06-29 2023-10-13 北京仁科互动网络技术有限公司 一种基于业务场景的接口用例生成方法及***
CN113867699A (zh) * 2021-10-21 2021-12-31 中国工商银行股份有限公司 业务***的实现方法、装置、设备、介质及程序产品
US20240168780A1 (en) * 2022-11-23 2024-05-23 Salesforce, Inc. Metadata driven guided rules editor
CN116244386B (zh) * 2023-02-10 2023-12-12 北京友友天宇***技术有限公司 应用于多源异构数据存储***的实体关联关系的识别方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7316008B1 (en) * 2002-10-31 2008-01-01 First Data Corporation Method and system for extracting business logic from computer code
CN101689259A (zh) * 2007-06-08 2010-03-31 埃森哲环球服务有限公司 旧有应用的移植

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070067756A1 (en) 2005-09-20 2007-03-22 Trinity Millennium Group, Inc. System and method for enterprise software portfolio modernization
EP2087424A4 (en) 2006-04-26 2009-12-23 Tata Consultancy Services SYSTEM AND METHOD FOR AUTOMATED RE-ARCHITECTURE OF FORMER SYSTEMS MODELS USING OBJECT-ORIENTED LANGUAGE
US20080163159A1 (en) 2007-01-03 2008-07-03 Relativity Technologies, Inc. System and method for extracting UML models from legacy applications
US8099376B2 (en) * 2007-02-22 2012-01-17 Fair Isaac Corporation Rule-based management of adaptive models and agents
US8522195B2 (en) * 2007-09-14 2013-08-27 Exigen Properties, Inc. Systems and methods to generate a software framework based on semantic modeling and business rules
US20110153518A1 (en) * 2009-12-17 2011-06-23 American Express Travel Related Services Company, Inc. System and method for enabling product development
US8726286B2 (en) * 2011-04-08 2014-05-13 Microsoft Corporation Modeling and consuming business policy rules
US8813022B2 (en) * 2012-09-07 2014-08-19 International Business Machines Corporation Aggregating business analytics architecture and configurator
US9729615B2 (en) * 2013-11-18 2017-08-08 Nuwafin Holdings Ltd System and method for collaborative designing, development, deployment, execution, monitoring and maintenance of enterprise applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7316008B1 (en) * 2002-10-31 2008-01-01 First Data Corporation Method and system for extracting business logic from computer code
CN101689259A (zh) * 2007-06-08 2010-03-31 埃森哲环球服务有限公司 旧有应用的移植

Also Published As

Publication number Publication date
US10185925B2 (en) 2019-01-22
US20150371159A1 (en) 2015-12-24
CN105335133A (zh) 2016-02-17

Similar Documents

Publication Publication Date Title
CN105335133B (zh) 用于生成业务规则模型的方法和装置
CN105335137B (zh) 用于处理源文件的方法和装置
US11650970B2 (en) Extracting structure and semantics from tabular data
US10740380B2 (en) Incremental discovery of salient topics during customer interaction
US10762297B2 (en) Semantic hierarchical grouping of text fragments
US20180307978A1 (en) Multi-Modal Construction of Deep Learning Networks
EP4137961A1 (en) Method and apparatus for executing automatic machine learning process, and device
CN107204184A (zh) 语音识别方法及***
CN105446725B (zh) 用于模型驱动开发的方法和***
CN105446986B (zh) 用于处理web页面的方法和装置
US20150248409A1 (en) Sorting and displaying documents according to sentiment level in an online community
CN108629414A (zh) 深度哈希学习方法及装置
CN110502227A (zh) 代码补全的方法及装置、存储介质、电子设备
CN113064964A (zh) 文本分类方法、模型训练方法、装置、设备以及存储介质
US11100297B2 (en) Provision of natural language response to business process query
US11763320B2 (en) Extraction of a compliance profile for an organization
US11410184B2 (en) Extraction of compliance named entities of type organization
CN109582948A (zh) 评价观点抽取的方法及装置
US20210157553A1 (en) Source code auto-suggestion based on structural and semantic features
US20180330202A1 (en) Identifying augmented features based on a bayesian analysis of a text document
CN111538794A (zh) 一种数据融合方法、装置及设备
CN105446952B (zh) 用于处理语义片段的方法和***
CN112084779B (zh) 用于语义识别的实体获取方法、装置、设备及存储介质
CN112836487A (zh) 一种自动评论方法、装置、计算机设备及存储介质
CN110489559A (zh) 一种文本分类方法、装置及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant