CN103154905A - 组合应用的自动化分析 - Google Patents
组合应用的自动化分析 Download PDFInfo
- Publication number
- CN103154905A CN103154905A CN2011800489760A CN201180048976A CN103154905A CN 103154905 A CN103154905 A CN 103154905A CN 2011800489760 A CN2011800489760 A CN 2011800489760A CN 201180048976 A CN201180048976 A CN 201180048976A CN 103154905 A CN103154905 A CN 103154905A
- Authority
- CN
- China
- Prior art keywords
- classification
- application
- assembly
- combination application
- component interaction
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44589—Program code verification, e.g. Java bytecode verification, proof-carrying code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
一种应用分析机构,其分析组合应用符合一组组件交互规则的情况,该规则定义以不同语言编写的组件之间应该满足的一个或多个条件、以及取决于对条件的分析而执行的动作。当定义了组件交互规则时,接收组合应用。下面,构建组合应用的模型,其基于使用的编程语言将组合应用的组件分为各个分类,并包括描述组件之间的交互的元数据。然后对组合应用的模型运行该组组件交互规则。然后输出该分析的结果。对组合应用的自动分析去除了易于出现人为误差的大多数处理,从而提供用于分析组合应用的有效和一致的方法。
Description
技术领域
本公开总体上涉及分析组合应用,并且更具体地涉及自动分析组合应用符合规定组件之间的交互的一组规则的情况。
背景技术
多年来,计算机程序得以发展,从用汇编代码编写的简单程序开始到以高级语言编写的相对复杂的程序。计算机编程近来的发展包括以不同的编程语言编写复杂计算机程序的不同部分。服务组件架构(SCA)是由规定对符合面向服务架构的应用的要求的多个主要软件贩卖商提倡的提议。在SCA中,应用被称为“组合应用(composite application)”,这是因为其由多个编程语言的许多不同的组件组成。国际商业机器公司(IBM)提供了已知为WebSphere的产品,其支持已知为服务组件架构(SCA)应用的组合应用的开发。
分析诸如SCA应用的组合应用的步骤目前通过将应用导入WebSphere工具来实现。然后程序员手动检查应用的组件以找到接受的最佳和最差的实践(best and worst practices),并将其发现报告给客户。由于人类特性(humannature),重要的细节可能被粉饰或彻底忽略,从而负面地影响提供给客户的支持。由这个手动处理(process)产生的结果也很可能随时间而不一致,并且随着新规则被创建,早先的结果由于与这样的工作相关联的人工成本而不被重新创建。
已知的用于软件分析的工具允许进行以单个语言编写的计算机程序的静态分析,但是不支持分析具有以不同编程语言编写的多个组件的组合应用。在没有自动化对组合应用的分析的方法的情况下,当前的手动处理会继续易于出错且低效。
发明内容
一种应用分析机构,分析组合应用符合一组组件交互规则的情况,该组件交互规则定义以不同语言编写的组件之间应该满足的一个或多个条件以及取决于对条件的分析而执行的动作。当定义了组件交互规则时,接收组合应用。下面,构建组合应用的模型,其基于使用的编程语言将组合应用的组件分为各个分类,并包括描述组件之间的交互的元数据。然后对组合应用的模型运行该组组件交互规则。然后输出该分析的结果。对组合应用的自动分析去除了易于出现人为误差的大部分处理,以提供一种用于分析组合应用从而确保以不同编程语言编写的组件之间的交互满足组件交互规则的有效和一致的方法。
上述和其它特征以及优点从如在附图中示出的以下更具体的描述中将是显而易见的。
附图说明
将结合附图描述本公开,其中相同的参考标号表示相同的部件,并且:
图1是包括应用分析机构的装置的框图,该应用分析机构自动分析组合应用符合一组定义的组件交互规则的情况;
图2是示出用于图1的组合应用的一种适合的实施方式的框图;
图3是示出根据其编程语言而分组(group)的组件的应用模型的框图;
图4是图1和3中的包括六个不同的编程语言的应用模型的一个特定实施方式的框图;
图5是示出一组组件交互规则的框图;
图6是示出用于组件交互规则中的条件的一个特定实施方式的框图;
图7是用于自动分析组合应用符合一组组件交互规则的情况的方法的流程图;
图8示出第一样例组件交互规则;
图9示出第二样例组件交互规则;
图10示出第三样例组件交互规则;
图11示出对于样例组合应用、由应用分析机构输出的样例结果;以及
图12示出对于样例组合应用、由应用分析机构输出的样例结果。
具体实施方式
这里的权利要求和公开提供了一种应用分析机构,其自动分析组合应用符合一组组件交互规则的情况。所述规则定义了以不同编程语言编写的组件之间的交互。接收组合应用,并且产生该组合应用的模型,该模型基于组件的编程语言将组件分为不同的分类(category),并提供描述这些分类之间的交互的元数据。然后对该模型运行所述规则,并且向用户输出分析的结果。所述结果可包括统计数据和警告。该结果是自动分析组合应用符合组件交互规则的情况的工具。
示例1
参照图1,计算机系统100是包括应用分析机构的计算机系统的一个适合的实施方式。计算机系统100是IBM eSever系统i计算机系统。然而,本领域的技术人员应当理解这里的公开同样应用到任何计算机系统,而不管该计算机系统是复杂的多用户计算装置、单个用户工作站还是嵌入的控制系统。如图1所示,计算机系统100包括一个或多个处理器110、主存储器120、大容量存储器接口130、显示器接口140和网络接口150。这些系统组件(component)通过使用系统总线160而相互连接。大容量存储器接口130被用于将诸如直接存取存储设备155的大容量存储设备连接到计算机系统100。一种特定类型的直接存取存储设备155是可读和可写CD-RW盘,其可以向CD-RW195存储数据以及从CD-RW195读取数据。
主存储器120优选地包括数据121、操作系统122、组合应用123以及应用分析机构124。数据121代表充当向或从计算机系统100中的任何程序的输入或输出的任何数据。操作系统122是多任务操作系统。组合应用123是包括以不同的编程语言编写的多个组件的应用。应用分析机构124包括模型产生机构125、组件交互规则127以及规则分析机构128。模型产生机构125接收组合应用123,并从组合应用产生应用模型126。应用模型126优选地根据编程语言将组件分组,并且包括描述组件之间的交互的最佳和最差实践的元数据。组件交互规则127规定组件之间应被满足的一个或多个条件、以及如果所述条件未被满足要进行的一个或多个动作。规则分析机构128对应用模型126运行组件交互规则127,并输出结果129。结果129可以包括统计数据和警告,并且可输出到用户的显示器或以某种电子形式存储在存储器中或物理介质上。该结果是应用分析机构124,其自动地分析组合应用符合组件交互规则的情况。
计算机系统100采用公知的虚拟寻址机制,其允许计算机100的程序表现为如同其仅具有对较大的单个的存储实体的存取,而不是对多个较小存储实体(诸如主存储器120和DASD设备155)的存取。因此,尽管示出数据121、操作系统122、组合应用123和应用分析机构124驻留在主存储器120中,但是本领域的技术人员会意识到这些事物不一定同时全部被包含在主存储器120中。还应注意的是,这里一般使用术语“存储器”来指代计算机系统100的整个虚拟存储器,并且可包括耦接到计算机系统100的其它计算机系统的虚拟存储器。
处理器110可以由一个或多个微处理器和/或集成电路构造。处理器110执行主存储器120中存储的程序指令。主存储器120存储处理器110可能存取的程序和数据。当计算机系统100启动时,处理器110最初执行构成操作系统122的程序指令。处理器110还执行应用分析机构124。
尽管示出计算机系统100仅包含单个的处理器和单个的系统总线,但是本领域的技术人员应该理解可以使用具有多个处理器和/或多个总线的计算机系统来实现应用分析机构。此外,所使用的接口优选地每个都包括单个的、完全编程的微处理器,该微处理器被用于从处理器110承担计算密集型的处理。然而,本领域的技术人员会理解这些功能也可使用I/O适配器执行。
显示器接口140被用于将一个或多个显示器165直接连接到计算机系统100。可以是非智能(即哑(dumb))终端或完全可编程的工作站的这些显示器165被用来向系统管理员和用户提供与计算机系统100通信的能力。然而请注意,尽管提供显示器接口140来支持与一个或多个显示器165的通信,但是计算机系统100不一定需要显示器165,因为可经由网络接口150发生所有所需的与用户和其它处理的交互。
网络接口150被用于经由网络170将计算机系统100连接到其它计算机系统或工作站175。网络接口150宽泛地代表互连电子设备的任何适合的方法,而不管网络170是否包括现今的模拟和/或数字技术或经由未来的某种网络机构。网络接口150优选地包括允许通信网络170上的通信的硬件和软件的组合。网络接口150中的软件优选地包括通讯管理器,其使用适合的网络协议管理经由网络170与其它计算机系统175的通信。很多不同网络协议可以用来实现网络。这些协议是允许计算机跨越网络通信的专门的计算机程序。TCP/IP(传输控制协议/因特网协议)是可被网络接口150中的通信管理器使用的适合的网络协议的例子。
所属技术领域的技术人员知道,本发明的方面可以实现为系统、方法或计算机程序产品。因此,本公开可以采用完全的硬件实施例、完全的软件实施例(包括固件、驻留软件、微代码等),或结合了硬件和软件方面的实施例的形式,这里一般称为“电路”、“模块”或“系统”。此外,本发明的方面可采用实现在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含实现于其上的计算机可读程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意适合的组合。在本文献的上下文中,计算机可读存储介质可以是任何可以包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读信号介质可包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式的任何形式,包括——但不限于——电磁信号、光信号或上述的任意适合的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意适合的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的处理式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任意类型的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了用于实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机、其它可编程数据处理装置、或其它设备以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的处理,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的处理。
参照图2,用于组合应用123的样例实施方式包括以多个编程语言编写的多个组件,在图2中示出为语言1组件210A、语言2组件210B,……,语言N组件210N。由于组合应用123包括不同编程语言的组件,已知的静态分析工具不足以分析组合应用123的组件之间的交互。
参照图3,用于应用模型126的样例实施方式包括多个语言分类,其中每个组件根据该组件的编程语言置于一个分类中,并且其中每个分类包括描述这些组件类型之间交互的最佳和最差实践的元数据。描述最佳实践和最差实践的交互的元数据可来自任何适合的源,但是优选地来自服务组件定义语言(SCDL)。因此,应用模型126优选地包括多个语言分类,在图3中示为语言1310A、语言2310B,……,语言N310N。每个语言分类包括以该语言编写的对应的组件,以及描述该分类中的组件和一个或多个不同的分类中的组件之间的交互的元数据。因此,语言1310A包括一个或多个对应的组件320A和元数据330A;语言2310B包括一个或多个对应的组件320B和元数据330B等等,直到语言N310N,其包括一个或多个对应的组件320N和元数据330N。
应用模型126的一个特定示例在图4中示出作为应用模型126A。在该特定的应用模型中,有六个不同的分类,其每个对应于不同的编程语言。图4中示出的六个分类包括业务流程执行语言(BPEL)410;Java420;中介(mediation)流控制(Med Flow)430;网络服务定义语言(Web ServicesDescription Language,WSDL)440;可扩展标记语言(XML)模式文档(SchemaDocument,XSD)450;以及监视器模型460。应用模型126A是包括所示所有六个分类的组合应用的模型。图4中示出的410、420、430、440、450和460六个分类的每个是图3中示为310A、310B,……,310N语言的适当示例。组合应用中的每个组件将根据该组件的编程语言被分配给其中一个分类。此外,每个分类包括描述分类中的组件和一个或多个不同分类中的组件之间的交互的元数据。
图5示出用于图1中所示的组件交互规则127的一种适合的实施方式。组件交互规则127优选地包括多个规则,其每个规则规定条件和对应的动作。因此,规则1510A包括条件520A和动作530A;规则2510B包括条件520B和动作530B,等等;直到规则N510N,其包括条件520N和对应的动作530N。用于每个规则的对应动作可包括向分析的结果添加警告。
在图6中示出用于诸如图5中示出的条件520A的条件的一种适合实施方式。条件520A优选地规定第一语言610、第二语言620以及语言630之间的某种交互。在一个特定的实施方式中,交互630是期望的交互(最佳实践),以使得如果条件520A没有被满足,则向分析的结果添加警告从而指示组件之间的期望的交互不存在。在可选实施方式中,交互630是不期望的交互(最差实践),以使得如果条件520被满足,则向分析的结果添加警告从而指示组件之间的不期望的交互存在。图5和图6中示出的组件交互规则及其对应的条件和动作的例子通过示例的方式示出,并且为非限定的。这里表达的公开和权利要求扩展到可以对与组合应用对应的应用模型运行的任何适合的组件交互规则。
参照图7,方法700优选地由应用分析机构124、当由一个或多个处理器110执行时执行。首先,定义组件交互规则(步骤710)。在一个特定的实施方式中,由人类用户(human user)定义组件交互规则。然而,组件交互规则还可以由软件定义。例如,规则产生机构可以分析被验证过、强壮的组合应用的组件之间的交互,并且可以自动产生一个或多个组件交互规则。组件交互规则明确地扩展到由人类用户定义的规则和由计算机处理自动产生的规则的两种规则。
一旦在步骤710中定义了规则,接收组合应用(步骤720)。然后产生组合应用的模型(步骤730)。如以上参照图3和图4所描述的,应用模型优选地包括多个分类,其每个分类对应于不同的编程语言,其中每个组件根据该组件的编程语言而置于某分类中,并且其中元数据描述该分类中的组件和一个或多个不同分类中的组件之间的交互。然后选择组件交互规则(步骤740)。对模型运行所选的组件交互规则(步骤750)。产生结果(步骤760)。当有更多规则要处理时(步骤770=是),方法700循环回到步骤740并且继续,直到没有更多的规则要处理(步骤770=否),在此时输出结果(步骤780),并且方法700完成。请注意步骤760中产生的结果和/或步骤780中的输出可包括对于组合应用的统计数据以及警告。
图8-10示出适合的组件交互规则的特定示例。图8-10中的组件交互规则810、910和1010是图1和图5中示出的组件交互规则127的特定示例。图8中示出的组件交互规则810与迟绑定(late binding)有关,这代表最佳实践。第一行820规定SCDL的编程构造,而第二行830规定BPEL的业务流程。当行840中的条件被满足时,行850中布尔变量setEarlyBound被设置为真,且在行860中向结果添加没有自动选择(pick up)BPEL的新版本的警告。
示例2
图9中示出适合的组件交互规则910的另一例子,其解决调用(invocation)的问题。第一行920是SCDL的Component(组件)语句,而第二行930是调用BPEL文件的Java语句。行940和950测试以观察条件是否被满足,如果满足,则可向行960添加第一警告且向行970添加第二警告。该规则的逻辑规定如果Java文件调用BPEL组件,且BPEL组件应在运行时与其异步地交互,如果发生错误,则后端系统会处于不一致的状态,而这将要求外部补救,因此向结果添加适当的警告。
示例3
图10中示出适合的组件交互规则1010的第三示例,其解决调用的风格(style)。注意到该规则具有由相同的语言、即SCDL定义的两个组件,但是符合两个不同的模式,即Component(组件)和Import(导入),两者均使用XML定义。行1020规定得到每个组件,并且如果在行1030中用于该组件的实施类型是Java,则在行1040选择导入,并且在行1050中对于每个导入,如果在行1060中该导入不加入事务(transaction),则由于后端系统可能最终处于不一致的状态,因此在行1070添加警告。
可在图7的步骤760中产生且在步骤780中输出的样例结果被示出为用于样例组合应用的图11和12中1100。所述结果包括如图11中所示的与组合应用有关的很多不同参数的说明书(specification)。该结果还可包括如图12所示描述组合应用特征的统计数据。图12中所示的特定统计数据包括每个WSDL的平均操作数;每个WSDL的平均故障数;每个操作的平均故障数;每个XSD的平均字段数;每个XSD的平均业务对象(BO)数;每个BO的平均字段数;以及每BPEL的平均活动数。所述结果还可包括一个或多个警告,如图12所示。当组件交互规则中的条件规定向结果添加警告时,向结果添加各种警告。图11和12中的结果优选地被显示给人类程序员,其可以使用所述统计数据和警告来确定组合应用是否将如预期的操作。当然,所述统计数据和警告也可由自动处理来使用,该自动处理可向组件推荐特定的变化以与组件交互规则一致。
本公开和权利要求公开了一种自动分析包括以不同编程语言编写的组件的组合应用符合一组组件交互规则的情况的方式,该组组件交互规则定义以不同语言编写的组件之间应当满足的一个或多个条件、以及取决于对所述条件的分析而执行的动作。产生了组合应用的模型,并且对该模型运行所述规则。输出结果,所述结果可包括对于组合应用的统计数据和警告。对组合应用的自动分析去除了易于出现人为误差的大多数处理,以提供一种用于分析组合应用从而确保以不同编程语言编写的组件之间的交互满足组件交互规则的一致的方法。
本领域技术人员应理解在权利要求的范围内诸多变型是可能的。因此尽管本公开如上被部分地示出和描述,本领域的技术人员应理解在不偏离权利要求的主旨和范围的情况下,这里可以对形式和细节进行这些或其它的改变。
工业实用性
本发明适用于对组合应用符合规定组件之间交互的一组规则的情况的自动分析。
Claims (19)
1.一种装置,包括:
至少一个处理器;
耦接至所述至少一个处理器的存储器;
驻留在所述存储器中的组合应用,所述组合应用包括以多个不同的编程语言编写的多个组件;
驻留在所述存储器中的多个组件交互规则,每个组件交互规则包括不同编程语言的组件之间的至少一个条件、以及取决于所述至少一个条件是否被满足而执行的至少一个动作;以及
驻留在所述存储器中并且由所述至少一个处理器执行的应用分析机构,所述应用分析机构产生所述组合应用的应用模型、分析所述应用模型符合多个组件交互规则的情况,以及输出所述应用模型符合多个组件交互规则的情况的分析结果。
2.根据权利要求1所述的装置,其中所述至少一个动作包括向所述结果添加警告。
3.根据权利要求1所述的装置,其中所述结果包括对于所述组合应用的统计数据和至少一个警告。
4.根据权利要求1所述的装置,其中所述应用模型包括所述组合应用中根据编程语言被分为多个分类的所述多个组件。
5.根据权利要求4所述的装置,其中所述模型还包括描述所述多个分类中的第一分类中的组件和所述多个分类中的第二分类中的组件之间的交互的元数据。
6.根据权利要求1所述的装置,其中所述至少一个条件规定两个编程语言和所述两个编程语言之间的交互。
7.一种计算机实现的方法,用于分析包括以多个不同的编程语言编写的多个组件的组合应用,所述方法包括以下步骤:
提供至少一个处理器;
提供耦接至所述至少一个处理器的存储器;
提供驻留在所述存储器中的多个组件交互规则,每个组件交互规则包括不同编程语言的组件之间的至少一个条件、以及取决于所述至少一个条件是否被满足而执行的至少一个动作;
所述至少一个处理器执行以下步骤:
接收所述组合应用;
产生所述组合应用的应用模型;
分析所述应用模型符合多个组件交互规则的情况;以及
输出所述应用模型符合多个组件交互规则的情况的分析结果。
8.根据权利要求7所述的方法,其中至少一个动作包括向所述结果添加警告。
9.根据权利要求7所述的方法,其中所述结果包括对于所述组合应用的统计数据和至少一个警告。
10.根据权利要求7所述的方法,其中所述应用模型包括所述组合应用中根据编程语言被分为多个分类的所述多个组件。
11.根据权利要求10所述的方法,其中所述模型还包括描述所述多个分类中的第一分类中的组件和所述多个分类中的第二分类中的组件之间的交互的元数据。
12.根据权利要求7所述的方法,其中所述至少一个条件规定两个编程语言和所述两个编程语言之间的交互。
13.一种计算机实现的方法,用于分析包括以多个不同的编程语言编写的多个组件的组合应用,所述方法包括以下步骤:
提供至少一个处理器;
提供耦接至所述至少一个处理器的存储器;
提供驻留在所述存储器中的多个组件交互规则,每个组件交互规则包括不同编程语言的组件之间的至少一个条件、以及取决于所述至少一个条件是否被满足而执行的至少一个动作;
所述至少一个处理器执行以下步骤:
接收所述组合应用;
产生所述组合应用的应用模型,所述应用模型包括所述组合应用中根据编程语言被分为多个分类的所述多个组件,其中所述多个分类的每个分类包括描述不同分类中的组件之间的交互的元数据;
分析所述应用模型符合多个组件交互规则的情况;以及
输出所述应用模型符合多个组件交互规则的情况的分析结果,所述结果包括对于所述组合应用的统计数据和至少一个警告。
14.一种制造品,其包括存储在有形存储介质上的软件,所述软件包括:
应用分析机构,产生包括以多个不同的编程语言编写的多个组件的组合应用的应用模型,分析所述应用模型符合多个组件交互规则的情况,每个组件交互规则包括至少一个不同编程语言的组件之间的条件以及取决于所述一个条件是否被满足而执行的至少一个动作,以及输出所述应用模型符合多个组件交互规则的情况的分析结果。
15.根据权利要求14所述的制造品,其中所述至少一个动作包括向所述结果添加警告。
16.根据权利要求14所述的制造品,其中所述结果包括对于所述组合应用的统计数据和至少一个警告。
17.根据权利要求14所述的制造品,其中所述应用模型包括所述组合应用中根据编程语言被分为多个分类的所述多个组件。
18.根据权利要求17所述的制造品,其中所述模型还包括描述所述多个分类中的第一分类中的组件和所述多个分类中的第二分类中的组件之间的交互的元数据。
19.根据权利要求14所述的制造品,其中所述至少一个条件规定两个编程语言和所述两个编程语言之间的交互。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/901,847 US8839197B2 (en) | 2010-10-11 | 2010-10-11 | Automated analysis of composite applications |
US12/901,847 | 2010-10-11 | ||
PCT/JP2011/004901 WO2012049802A1 (en) | 2010-10-11 | 2011-09-01 | Automated analysis of composite applications |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103154905A true CN103154905A (zh) | 2013-06-12 |
CN103154905B CN103154905B (zh) | 2016-06-01 |
Family
ID=45926121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180048976.0A Expired - Fee Related CN103154905B (zh) | 2010-10-11 | 2011-09-01 | 用于组合应用的自动化分析的装置和方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8839197B2 (zh) |
JP (1) | JP5568177B2 (zh) |
CN (1) | CN103154905B (zh) |
DE (1) | DE112011103428T5 (zh) |
WO (1) | WO2012049802A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105637912A (zh) * | 2013-10-14 | 2016-06-01 | 国际商业机器公司 | 用于把智能电话应用转换成基本电话应用的方法和系统 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9407443B2 (en) | 2012-06-05 | 2016-08-02 | Lookout, Inc. | Component analysis of software applications on computing devices |
US9589129B2 (en) | 2012-06-05 | 2017-03-07 | Lookout, Inc. | Determining source of side-loaded software |
US9021091B2 (en) | 2012-10-15 | 2015-04-28 | International Business Machines Corporation | Transaction middleware based application level transaction instance tracking across a composite application |
KR102363433B1 (ko) | 2015-01-15 | 2022-02-16 | 삼성전자주식회사 | 이미지 센서 |
US9705973B2 (en) | 2015-04-29 | 2017-07-11 | International Business Machines Corporation | Release and management of composite applications on PaaS |
AU2016258533B2 (en) | 2015-05-01 | 2017-11-30 | Lookout, Inc. | Determining source of side-loaded software |
KR101745808B1 (ko) * | 2015-12-31 | 2017-06-28 | 엔에이치엔엔터테인먼트 주식회사 | 서버측 로직의 모듈화를 위한 모듈 처리 방법 및 시스템 |
US10218697B2 (en) | 2017-06-09 | 2019-02-26 | Lookout, Inc. | Use of device risk evaluation to manage access to services |
US10725745B2 (en) * | 2018-05-24 | 2020-07-28 | Walmart Apollo, Llc | Systems and methods for polyglot analysis |
FR3091106B1 (fr) | 2018-12-20 | 2021-02-12 | Commissariat Energie Atomique | Système de supervision formelle de communications |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5857071A (en) * | 1994-08-10 | 1999-01-05 | Intrinsa Corporation | Computer process resource modelling method and apparatus |
CN101452392A (zh) * | 2007-12-07 | 2009-06-10 | 阿尔卡特朗讯 | 自动构建应用的设备和方法 |
US20100005451A1 (en) * | 2008-07-03 | 2010-01-07 | International Business Machines Corporation | Policy application rules for automated configuration of software components |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7483901B1 (en) * | 2003-09-10 | 2009-01-27 | Nextaxiom Technology, Inc. | System and method for data transfer between two or more connected software services |
US8271541B2 (en) * | 2004-03-31 | 2012-09-18 | Fusionops Corporation | Method and apparatus for developing composite applications |
US8219975B2 (en) * | 2007-10-26 | 2012-07-10 | Microsoft Corporation | Real-time analysis of performance data of a video game |
US8321841B2 (en) * | 2008-01-08 | 2012-11-27 | International Business Machines Corporation | Validation framework for service oriented architecture (SOA) application adoption |
US9836282B2 (en) * | 2008-08-08 | 2017-12-05 | Entit Software Llc | Separation of concerns between information technology services models |
US8898627B2 (en) * | 2010-05-11 | 2014-11-25 | Smartshift Gmbh | Systems and methods for applying rules to transform objects of an application |
US8887124B2 (en) * | 2009-09-30 | 2014-11-11 | Sap Se | Validation of process models |
-
2010
- 2010-10-11 US US12/901,847 patent/US8839197B2/en not_active Expired - Fee Related
-
2011
- 2011-09-01 WO PCT/JP2011/004901 patent/WO2012049802A1/en active Application Filing
- 2011-09-01 JP JP2013510818A patent/JP5568177B2/ja not_active Expired - Fee Related
- 2011-09-01 CN CN201180048976.0A patent/CN103154905B/zh not_active Expired - Fee Related
- 2011-09-01 DE DE112011103428T patent/DE112011103428T5/de not_active Ceased
-
2012
- 2012-12-08 US US13/708,948 patent/US8839198B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5857071A (en) * | 1994-08-10 | 1999-01-05 | Intrinsa Corporation | Computer process resource modelling method and apparatus |
CN101452392A (zh) * | 2007-12-07 | 2009-06-10 | 阿尔卡特朗讯 | 自动构建应用的设备和方法 |
US20100005451A1 (en) * | 2008-07-03 | 2010-01-07 | International Business Machines Corporation | Policy application rules for automated configuration of software components |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105637912A (zh) * | 2013-10-14 | 2016-06-01 | 国际商业机器公司 | 用于把智能电话应用转换成基本电话应用的方法和系统 |
US10111064B2 (en) | 2013-10-14 | 2018-10-23 | International Business Machines Corporation | Automatic system and method for conversion of smart phone applications to basic phone applications |
CN105637912B (zh) * | 2013-10-14 | 2019-04-09 | 国际商业机器公司 | 用于把智能电话应用转换成基本电话应用的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2012049802A1 (en) | 2012-04-19 |
US8839197B2 (en) | 2014-09-16 |
JP2013542474A (ja) | 2013-11-21 |
JP5568177B2 (ja) | 2014-08-06 |
CN103154905B (zh) | 2016-06-01 |
US20130125095A1 (en) | 2013-05-16 |
US20120089963A1 (en) | 2012-04-12 |
DE112011103428T5 (de) | 2013-07-18 |
US8839198B2 (en) | 2014-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103154905A (zh) | 组合应用的自动化分析 | |
CN110780979B (zh) | 微服务框架下配置的控制方法及装置、介质和电子设备 | |
CN109741087A (zh) | 电子优惠券的管理方法及装置 | |
CN108595316A (zh) | 分布式应用的生命周期管理方法、管理器、设备和介质 | |
CN103946809A (zh) | 为测试服务器产生产品服务器负载活动 | |
CN108804322A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN112559301A (zh) | 业务处理方法、存储介质、处理器及电子装置 | |
CN114138674A (zh) | 自动化测试方法、装置及计算机设备 | |
CN104866402A (zh) | 一种测试服务器的方法及装置 | |
CN102014163B (zh) | 一种基于事务驱动的云存储测试方法及系统 | |
CN101196901A (zh) | 用于数据库查询的计算机系统和方法 | |
CN114328223A (zh) | 一种信息测试方法、装置、设备及存储介质 | |
CN109710447A (zh) | 用于数据访问的方法、装置、介质和计算设备 | |
CN111681032B (zh) | 一种配置附加资源的方法、装置和电子设备 | |
CN109582320A (zh) | 写码方法及终端设备 | |
CN111680869A (zh) | 一种监测投放策略的方法、装置和电子设备 | |
CN107678965A (zh) | 自动集成测试方法及系统、服务终端、存储器 | |
CN115617874A (zh) | 数据分析系统、方法、电子设备和计算机可读介质 | |
CN110868330B (zh) | 云平台可划分cpu资源的评估方法、装置及评估系统 | |
Peng et al. | Do modular products lead to modular organisations? Evidence from open source software development | |
CN112463574A (zh) | 软件测试方法、装置、系统、设备和存储介质 | |
Savolainen et al. | Conflict-centric software architectural views: Exposing trade-offs in quality requirements | |
CN108255549A (zh) | 服务器程序可视化控制方法和装置 | |
CN111681093B (zh) | 一种展示资源页面的方法、装置和电子设备 | |
CN110297748A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160601 |
|
CF01 | Termination of patent right due to non-payment of annual fee |