CN1561482A - 应用程序类扩展 - Google Patents

应用程序类扩展 Download PDF

Info

Publication number
CN1561482A
CN1561482A CNA02819277XA CN02819277A CN1561482A CN 1561482 A CN1561482 A CN 1561482A CN A02819277X A CNA02819277X A CN A02819277XA CN 02819277 A CN02819277 A CN 02819277A CN 1561482 A CN1561482 A CN 1561482A
Authority
CN
China
Prior art keywords
computer
application class
code means
program code
readable program
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
CNA02819277XA
Other languages
English (en)
Inventor
威廉·O.·博伊尔
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.)
Azenta Inc
Original Assignee
Brooks Automation 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 Brooks Automation Inc filed Critical Brooks Automation Inc
Publication of CN1561482A publication Critical patent/CN1561482A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/4492Inheritance

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一个用于扩展一个第一应用程序类的方法(图2)包括,在所述第一应用程序类中集成一个用来存放所扩展特性的第一数据缓存,以及利用一个基于规则的引擎来确定和所述第一应用程序类相关联的一个或多个所述扩展特性的值。

Description

应用程序类扩展
优先权要求
本申请从2001年8月24日提交的临时申请第60/314,899中要求优先权。
技术领域
本发明涉及扩展应用程序类的行为及特性,尤其涉及在运行时间内、在无需修改现有代码的情况下提供这些扩展。
背景技术
在C++或其他任何直接被编译成机器代码的编程语言中,没有对应用程序类进行运行时扩展的已知方法,以使得原始程序保持在未修改状态。现在,需要一个兼容于所有正在使用的系统的编译器,必须撰写并编译适当的应用程序代码,然后则必须要有联接最终可执行程序所需的二进制文件。这就导致了一个全新程序的出现,以及随之而来的对扩展性回归测试及验证的需求。
能够在不改变原始程序的情况下扩展应用程序类的行为及特性将是十分有利的,这样就排除了使用兼容的编译器及二进制文件的需要,也排除了对回归测试及验证的需要。
发明内容
本发明在于一种用于扩展应用程序类的技术,即改变一个现有类的结构,创建新的类,或者修改一个类实例的上下文结构。这些应用程序类扩展在运行时执行,而无需改变原始程序。
本发明的运作是通过在现有类中集成一个通用的、可调整大小的数据缓存,可用来保存由所述扩展特性所代表的数据,以及通过提供一个基于规则的引擎,该引擎能够根据应用程序类的特性确定其关系及行为,从而得到如下的机制,其中应用程序的用户可以在无需编程或修改原始程序的情况下修改应用程序系统的特性及行为。
在一个实施方式中,本发明包括一个方法,用于扩展第一应用程序类。此方法包括,在所述第一应用程序类中集成一个用于存放所扩展特性的第一数据缓存,以及利用一个基于规则的引擎来确定与所述第一应用程序类的一个或多个扩展特性相关联的值。
在另一个实施方式中,本发明在于一个计算机程序产品,包括一个具有计算机可读代码装置的计算机可用媒介,其中所包含的计算机可读代码装置用于使计算机扩展第一应用程序类。所述计算机程序产品中的计算机可读代码装置包括用于使计算机在所述应用程序类中集成一个用来存放所扩展特性的第一数据缓存的计算机可读程序代码装置,以及用于使计算机利用一个基于规则的引擎来确定与所述第一应用程序类相关联的一个或多个扩展特性的计算机可读程序代码装置。
在又一个实施方式中,本发明在于一个控制器,用于一个基底处理设备。所述控制器包括用于扩展第一应用程序类的第一电路,其包括用于在所述应用程序类中集成一个用来存放所扩展特性的第一数据缓存的电路,以及用于利用一个基于规则的引擎来确定与所述第一应用程序类相关联的一个或多个扩展特性的电路。
附图说明
下面,联系附图说明本发明的上述各方面及其他特征,其中:
图1是一个类结构图,示出了元数据和类属性的关系。
图2是一个类结构图,示出了一个类工厂及其与所述类元数据的集成。
图3是一个类结构图,示出了扩展类,永久对象以及动态扩展特性间的关系。
图4是一个典型设备的一个实施方式的框图,所述设备合并了本发明的各特征。
具体实施方式
虽然下面将参照附图中所示的实施方式描述本发明,但应该了解到本发明可以实现于多种不同形式的实施方式。此外,可以使用任何大小、形状或类型合适的的元件或原材料。
图1是一个类结构图,示出了特性映射1005中的各特性,永久元数据1010,元数据1015,属性集1020,属性缺省值1025和对象值范围1035,属性类型1030,类型化属性1040,类型化永久属性1050,以及永久属性1045之间的关系。
图2示出了一个类工厂(class factory)1055,其与类元数据1015的集成,以及其与类初始化软件1060和一个工厂构造器1065的关系。
图3示出了扩展类1090,永久对象1075,虚拟对象1085,动态扩展特性1080,以及永久元数据1070之间的关系。
如图1中所示,本发明通常包括一个用充足的信息描述一个类结构的装置,以使得图2中所示的类工厂1055能构造出所述类的实例。图3描述了在运行时附加特性1080如何能够与一个对象1075动态关联,而无需修改该对象所属类的结构。图3还示出了扩展类1090,永久对象1075,以及动态扩展特性之间的关系。在面向对象编程中,一个类被定义成一个类型化的数据结构,其中包括用来定义所述类实例状态的特性。一个对象通常认为是一个类的实例,其状态特性确定了该对象的身份。至少是用于本发明的目的,属性1020、1040、1045、1050包括了关于一个特定类特性的信息,该信息允许在仅知道所述特性名称的情况下对其进行构造、访问、设置及消灭。一个特性可以是一个类属性,其设置组成了所述类的结构,其值确定了所述类的任何特定实例的状态。元数据1010、1015被定义成关于一个应用程序中数据的结构的信息。元数据可被表示成具有所有相关特性及属性的一个类的定义。
根据本发明,一个应用程序可以改变一个现有类的结构,创建可以像所述应用程序中任何其它的预定义类一样被使用的全新的类,或者在运行时根据特定对象运行时的上下文修改一个类实例的结构。依照本发明,这可以通过将这些改变列入一个储藏库并将其载入所述运行中的应用程序来实现,而无需编写代码、编译、或以任何形式改变所述应用程序自身的现有代码或结构。这就使得一个应用程序能够实现上述改变而无需修改现有计算机代码,也无需生成一个新的应用程序。这里描述的改变一个类、创建一个类或修改一个类的结构的这一能力被称为应用程序类扩展(ACE)。
举例来说,Java或Visual Basic语言要求把对一个应用程序的结构的修改写入所述适当的计算机语言并重编译。这改变了所述程序的基本结构及行为,反之,如下面所说明的一样,依照本发明的应用程序类扩展则无需这类改变。
ACE包括建立关于一个类的结构及其特性的详细信息,以及建立一个类工厂以使用这一结构和特性信息来改变结构、创建新类、或者根据上下文修改一个实例的结构。
关于类结构的信息可以被包括在元数据中。应用程序类的扩展要求关于一个类的结构及其特性的详细信息,即所述类元数据1010、1015。这一信息可以被编译入所述应用程序,也可以存储在一个储藏库中并在运行时被载入所述应用程序内存。当通过名称或ID被识别后,所述类元数据被类工厂1055利用来创建一个类的新实例,或当被类似的识别时访问类特性。换句话说,所述类工厂能够通过名称或ID查找所述元数据或任何类,然后能够使用该信息来正确构造所述类的一个新实例,其中包括了所述类的扩展特性。本发明允许一个应用程序往一个类的元数据添加新特性,这将会改变由所述类工厂构造的实例的结构。
在C++这样的编译语言中,一个类的布局在该类被编译时确定。这就需要一个为这些新特性分配存储空间并执行其初始化代码(必要时)的机制,以使得所述类的实例具有这些新特性。本发明提出了一个方法以使每个特性与一个属性类相关联。对于每个类特性都有一个属性类实例被生成,并与所述类元数据一同保存。所述属性实例是所述类元数据的实体,其中所述属性实例定义了属于所述类的各实例的每个特性。
用于各个类的所述元数据包括一般信息,首先是类名称及ID以使得所述类工厂能够通过名称或ID查找一个类。其他信息为isA(类)及isKindOf(类)之类的运行时类型识别函数提供支持,并提供到基类的链接,以及一个到所述类的一个属性集(特性定义)的链接。
一个类的每个特性都具有一个与所述类元数据相关联的属性对象。此对象包含的信息使得所述类构造器能够定位所述特性的内存并在所述构造器被终止前将其正确初始化。被编译入一个类的特性由所述编译器生成的代码初始化,但是用于ACE的特性则必须由所述属性类所操作的另一步骤初始化。每个属性对象至少包括以下信息:所述特性的名称;所述特性的类型;一个用来定位所述特性数据的机制;以及所述特性的大小。可选地,一个属性对象还可以随意地包括用来正确构造及消灭所述特性的代码地址,以及一个用来设置所述特性的预设值。
此信息允许通过名称来访问一个特性,即使所述特性未被编译入所述类而是在运行时由应用程序类扩展添加。这是必要的,以便使得特性能够由应用程序代码查询或设置。
本发明还包括用于动态定义的类特性的管理存储。管理存储的程序包括:为每个特性分配存储空间;初始化或构造每个特性对象;当不再需要时消灭(若恰当)每个特性对象;以及为每个特性解除分配的所述存储空间。
由于用于ACE的特性未编译入所述类的结构,那么其所使用的空间必须以某种方法与所述类的适当实例相关联,并在所述类实例被消灭时被解除分配。这通过所述类的一个隐藏(私有)特性实现,其封装了一个可变大小的通用内存缓存。所述私有特性包括所述类的所有动态(非编译)特性,当构造一个所述类的实例时所述缓存被分配。所述类元数据的各属性知道其特性在此缓存中的位置,这样它们就可以在适当时机正确初始化、访问、设置及消灭其所管理的数据。
如上面所提到的,本发明的一个特征是改变现有类结构的能力。前面所描述的任何具有代表性元数据的类都有潜力通过往一个类元数据添加新属性来改变其结构,从而表示每个新特性。一个用来包含所述新特性数据的缓存可能被创建并与所述类的每个实例相关联。然后所述缓存通利用所述已经登记属性的能力而被正确初始化。结果,所改变的类的新实例既包括已有特性,也包括与其元数据一同登记的新特性。
本发明的另一特征是创建新类的能力。创建一个新类与改变一个现有类非常类似,因为所述新类实际上是基于一个已有类。为使这一新类被所述系统识别,本发明以一个新名称和类ID创建并登记新的元数据。所述ACE系统还必须向所述类工厂登记所述正确构造方法。在创建并登记所述新的元数据及构造方法的基础上,一个应用程序就可以通过向所述类工厂指定其名称来构造这一新类的实例。
本发明还包括通过上下文改变对象结构的能力。为了根据一个特定对象运行时的上下文改变其结构,所述ACE应用程序:确定地识别将与所述对象相关联的特性;设置所述特性值;删除不再与当前对象上下文相关联的先前的特性值。
上下文(context)可被定义成在任意给定时间点一个对象的状态连同所述系统的整体状态。所讨论的所述对象或所述系统中任何其他相关对象状态的改变,都会改变所述上下文,并潜在地改变与所述对象相关联的特性。下文就说明了一个对象状态改变的实例。
以一个制造系统为例,一个类建模了一个制造设备的状态。所述设备的一个正常特性可以是其名称、位置、容量以及工作状态。比方说,所述工作状态可以是“运行中”、“闲置”、“维护”或“不可用”。根据所述工作状态,我们可能想要将一组不同的特性与此设备相关联。当设备处于“运行中”状态时,我们可能想要知道相关的处理批量、制作方法及操作人员。当设备处于“闲置”状态时,我们可能想要知道是什么时候、由谁将其置于闲置状态的。当设备处于“维护”状态时,我们可能想要知道其所经历工作顺序以及负责维护的技师。这些是完全不同的信息,但在各个时间点对于所述设备来说却是适当的。这样,表示不同信息比特的不同特性在适当时就可以与所述设备的不同工作状态或上下文相关联。
确定上下文的一个方法是在运行时识别对象特性何时变化。当识别到特性中的一个变化时,可以运用规则来确定什么样的特性与哪些对象相关联,并按要求改变上下文特性。本发明包括确定一个对象的上下文,但是并不限于用于确定上下文的任何特定技术或结构。
当改变一个对象的所述上下文特性时,必须由所述应用程序或由用来确定新特性必须设为何值的某一框架工具来设置新特性的值。最好是由所述系统框架来施行这些变化,因为它们可能会以一种所述应用程序不易适应的方式随时间变化。为所述系统框架提供设置特性值的能力的一个方法是通过提供一组特性映射规则1005。这些规则可以存储在一个储藏库中,由所述应用程序在运行时载入,并在系统状态变化时应用于对象的所述相关类。
ACE可以在执行于一台或多台计算机的软件及计算机程序中实现。图4是一个典型设备4000的一个实施方式的框图,该设备合并了本发明的各个特征。如图所示,第一计算机系统4005可被连接到第二计算机系统4010,这样第一和第二计算机系统就能够互相交换信息。在一个实施方式中,第一计算机系统4005可以包括一个服务器,且第一和第二计算机系统能够通过一个网络通信,如在此实施方式中所示的因特网4015。第一和第二计算机系统4005和4010可以利用任何适当的用于交换数据的方法连接到一起,比方说包括一个调制解调器、硬件连接、无线连接或者光纤连接。一般来说,由第一和第二计算机系统4005、4010通过使用一个通信协议来进行信息交换。第一和第二计算机系统4005、4010通常使用程序存储装置4020、4025,其中包含了机器可读程序源代码,用来使第一和第二计算机系统4005、4010实现本发明的各方法。合并了本发明各特征的所述程序存储装置4020、4025可以作为一台机器的一个部件被设计、制造及使用,所述机器利用光学、磁学以及/或者电学特性来实现本发明的程序及方法。在其他实施方式中,所述程序存储装置4020、4025可以包括计算机可读可执行的磁媒介,比如磁盘或计算机硬盘。在另外不同的实施方式中,所述程序存储装置4020、4025可以包括一张软盘、一张光盘、只读存储器(ROM)、随机存取存储器(RAM)、任何类型的半导体存储器或者其他适于存储信息的存储装置。第一和第二计算机系统4005、4010,每个还可以包括一个用于执行所存储程序的处理器4030、4035,以及一个用户接口4040、4045,所述接口可以包括一个显示装置4050、4055及一个输入装置4060、4065。
在一个首选实施方式中,第二计算机系统4010连接到一个用于处理基底的设备4070,比如半导体晶片、平面显示基底或其他类型的基底。第二计算机系统4010可以包括硬件接口、用于控制基底处理设备4070的操作的软件及程序。所述软件和计算机程序最好合并本发明的宗旨及特征。
应该理解的是,前面的描述仅仅是对本发明的说明。熟悉技术的人在不背离本发明的前提下可以设计各种替代方案及修改。因此,本发明意在包含在所附权利要求书范围内的所有此类替代方案、修改及变动。

Claims (28)

1.一种方法,用于扩展一个第一应用程序类,包括:
将一个第一数据缓存集成到所述第一应用程序类中,用于存放扩展特性;以及
利用一个基于规则的引擎来确定与所述第一应用程序类的一个或多个扩展特性相关联的值。
2.权利要求1的方法,还包括利用与所述第一应用程序类相关联的一个或多个扩展特性来改变所述第一应用程序类的一个结构。
3.权利要求2的方法,其中改变所述第一应用程序类的一个结构包括:
创建一个属性来表示与所述第一应用程序类相关联的一个或多个扩展特性中的每一个扩展特性;
创建一个第二数据缓存,用于存放与所述第一应用程序类相关联的一个或多个扩展特性;以及
将所述第二数据缓存与所述第一应用程序类的每个实例相关联。
4.权利要求1的方法,还包括利用与所述第一应用程序类相关联的一个或多个扩展特性来创建一个第二应用程序类。
5.权利要求1的方法,还包括利用与所述第一应用程序类相关联的一个或多个扩展特性来改变所述第一应用程序类的一个实例的结构。
6.权利要求5的方法,其中改变所述第一应用程序类的一个实例的结构包括:
识别所述第一应用程序类的所述实例的一个上下文;
根据所识别的上下文识别一组所述扩展特性;以及
将所述一组扩展特性应用于所述应用程序类的所述实例。
7.权利要求6的方法,其中识别实例的上下文包括识别一个系统状态何时改变,并且其中识别所述一组扩展特性包括:
生成特性映射规则;以及
当识别到所述系统状态改变时,将所述特性映射规则应用于所述实例。
8.一种计算机程序产品,包括:
一个其中具有计算机可读代码装置的计算机可用媒介,用于使一台计算机扩展一个第一应用程序类,所述计算机程序产品中的所述计算机可读代码装置包括:
用于使一台计算机在所述应用程序类中集成一个用来存放扩展特性的第一数据缓存的计算机可读程序代码装置;以及
用于使一台计算机利用一个基于规则的引擎来确定与所述第一应用程序类相关联的一个或多个扩展特性的计算机可读程序代码装置。
9.权利要求8的计算机程序产品,其中所述计算机程序产品中的所述计算机可读代码装置还包括:
用于利用与所述第一应用程序类相关联的一个或多个扩展特性来改变所述第一应用程序类的一个结构的计算机可读程序代码装置。
10.权利要求9的计算机程序产品,其中用来改变所述第一应用程序类的一个结构的所述计算机可读代码装置还包括:
用于创建一个属性来表示与所述第一应用程序类相关联的一个或多个扩展特性中的每一个扩展特性的计算机可读程序代码装置;
用于创建一个第二数据缓存来存放与所述第一应用程序类相关联的一个或多个扩展特性的计算机可读程序代码装置;以及
用于将所述第二数据缓存与所述第一应用程序类的每个实例相关联的计算机可读程序代码装置。
11.权利要求8的计算机程序产品,其中所述计算机程序产品中的所述计算机可读代码装置还包括:
用于利用与所述第一应用程序类相关联的一个或多个扩展特性来创建一个第二应用程序类的计算机可读程序代码装置。
12.权利要求8的计算机程序产品,其中所述计算机程序产品中的所述计算机可读代码装置还包括:
用于利用与所述第一应用程序类相关联的一个或多个扩展特性来改变所述第一应用程序类的一个实例的结构的计算机可读程序代码装置。
13.权利要求12的计算机程序产品,其中用来改变所述第一应用程序类的一个实例的结构的所述计算机可读程序代码装置还包括:
用于识别所述第一应用程序类的所述实例的一个上下文的计算机可读程序代码装置;
用于根据所识别的上下文识别一组所述扩展特性的计算机可读程序代码装置;以及
用于将所述一组扩展特性应用于所述应用程序类的所述实例的计算机可读程序代码装置。
14.权利要求13的计算机程序产品,其中用于识别所述实例的所述上下文的所述计算机可读程序代码装置包括用于识别一个系统状态何时改变的计算机可读程序代码装置,并且其中用于识别所述一组特性的计算机可读程序代码装置包括:
用于生成特性映射规则的计算机可读程序代码装置;以及
当识别到所述系统状态改变时,用于将所述特性映射规则应用于所述实例的计算机可读程序代码装置。
15.一件制造设备,包括:
一个其中具有计算机可读程序代码装置的计算机可用媒介,用于使一台计算机扩展一个第一应用程序类,所述制造设备中的所述计算机可读代码装置包括:
用于使一台计算机在所述应用程序类中集成一个用来存放扩展特性的第一数据缓存的计算机可读程序代码装置;以及
用于使一台计算机利用一个基于规则的引擎来确定与所述第一应用程序类相关联的一个或多个扩展特性的计算机可读程序代码装置。
16.权利要求15的制造设备,其中所述计算机程序产品中的所述计算机可读代码装置还包括:
用于利用与所述第一应用程序类相关联的一个或多个扩展特性来改变所述第一应用程序类的一个结构的计算机可读程序代码装置。
17.权利要求16的制造设备,其中用来改变所述第一应用程序类的一个结构的所述计算机可读代码装置还包括:
用于创建一个属性来表示与所述第一应用程序类相关联的一个或多个扩展特性中的每一个扩展特性的计算机可读程序代码装置;
用于创建一个第二数据缓存来存放与所述第一应用程序类相关联的一个或多个扩展特性的计算机可读程序代码装置;以及
用于将所述第二数据缓存与所述第一应用程序类的每个实例相关联的计算机可读程序代码装置。
18.权利要求15的制造设备,其中所述计算机程序产品中的所述计算机可读代码装置还包括:
用于利用与所述第一应用程序类相关联的一个或多个扩展特性来创建一个第二应用程序类的计算机可读程序代码装置。
19.权利要求15的制造设备,其中所述计算机程序产品中的所述计算机可读代码装置还包括:
用于利用与所述第一应用程序类相关联的一个或多个扩展特性来改变所述第一应用程序类的一个实例的结构的计算机可读程序代码装置。
20.权利要求19的制造设备,其中用来改变所述第一应用程序类的一个实例的结构的所述计算机可读程序代码装置还包括:
用于识别所述第一应用程序类的所述实例的一个上下文的计算机可读程序代码装置;
用于根据所识别的上下文识别一组所述扩展特性的计算机可读程序代码装置;以及
用于将所述一组扩展特性应用于所述应用程序类的所述实例的计算机可读程序代码装置。
21.权利要求20的制造设备,其中用于识别一个实例的所述上下文的所述计算机可读程序代码装置包括用于识别一个系统状态何时改变的计算机可读程序代码装置,并且其中用于识别所述一组特性的计算机可读程序代码装置包括:
用于生成特性映射规则的计算机可读程序代码装置;以及
当识别到所述系统状态改变时,用于将所述特性映射规则应用于所述实例的计算机可读程序代码装置。
22.一个控制器,用于一个基底处理设备,包括:
用于扩展第一应用程序的第一电路,其包括:
用于在所述应用程序类中集成一个用来存放扩展特性的第一数据缓存的电路;以及
用于利用一个基于规则的引擎来确定与所述第一应用程序类相关联的一个或多个扩展特性的电路。
23.权利要求22的控制器,还包括用于利用与所述第一应用程序类相关联的一个或多个扩展特性来改变所述第一应用程序类的一个结构的电路。
24.权利要求23的控制器,其中用来改变所述第一应用程序类的一个结构的所述电路包括:
用于创建一个属性来表示与所述第一应用程序类相关联的一个或多个扩展特性中的每一个特性的电路;
用于创建一个第二数据缓存来存放与所述第一应用程序类相关联的一个或多个扩展特性的电路;以及
用于将所述第二数据缓存与所述第一应用程序类的每个实例相关联的电路。
25.权利要求22的控制器,还包括用于利用与所述第一应用程序类相关联的一个或多个扩展特性来创建一个第二应用程序类的电路。
26.权利要求22的控制器,还包括用于利用与所述第一应用程序类相关联的一个或多个扩展特性来改变所述第一应用程序类的一个实例的结构的电路。
27.权利要求26的控制器,其中用来改变所述第一应用程序类的一个实例的结构的所述电路包括:
用于识别所述第一应用程序类的所述实例的一个上下文的电路;
用于根据所识别的上下文识别一组所述扩展特性的电路;以及
用于将所述一组扩展特性应用于所述应用程序类的所述实例的电路。
28.权利要求27的控制器,其中用于识别一个实例的所述上下文的所述电路包括用于识别一个系统状态何时改变的电路,并且其中用于识别所述一组特性的电路包括:
用于生成特性映射规则的电路;以及
当识别到所述系统状态改变时,用于将所述特性映射规则应用于所述实例的电路。
CNA02819277XA 2001-08-24 2002-08-23 应用程序类扩展 Pending CN1561482A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US31489901P 2001-08-24 2001-08-24
US60/314,899 2001-08-24

Publications (1)

Publication Number Publication Date
CN1561482A true CN1561482A (zh) 2005-01-05

Family

ID=23221962

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA02819277XA Pending CN1561482A (zh) 2001-08-24 2002-08-23 应用程序类扩展

Country Status (5)

Country Link
US (1) US7185325B2 (zh)
KR (1) KR100909731B1 (zh)
CN (1) CN1561482A (zh)
TW (1) TWI240889B (zh)
WO (1) WO2003019363A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI337310B (en) * 2003-08-21 2011-02-11 Microsoft Corp Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system
US7308679B2 (en) * 2003-09-26 2007-12-11 International Business Machines Corporation Method and computer program product for providing a meta-data programming language level interface
US7720877B1 (en) * 2004-04-14 2010-05-18 Oracle America, Inc. Class structure based enhancer for data objects
US8214799B2 (en) * 2004-07-08 2012-07-03 Microsoft Corporation Providing information to an isolated hosted object via system-created variable objects
US20070168926A1 (en) * 2005-12-16 2007-07-19 Raghuram Rajah Software customization framework
US8490053B2 (en) * 2006-10-23 2013-07-16 Intuit Inc. Software domain model that enables simultaneous independent development of software components
US8381177B2 (en) * 2007-09-28 2013-02-19 Texas Instruments Incorporated Method and system of performing Java language class extensions
US20090193444A1 (en) * 2008-01-29 2009-07-30 Microsoft Corporation Techniques for creating and managing extensions
US20110115702A1 (en) * 2008-07-08 2011-05-19 David Seaberg Process for Providing and Editing Instructions, Data, Data Structures, and Algorithms in a Computer System
US9026989B2 (en) * 2012-06-07 2015-05-05 Microsoft Technology Licensing Llc Object extensions using attributes to decouple base classes from derived classes
US9891930B2 (en) * 2016-05-05 2018-02-13 Sap Se Rapid identification of object properties in an evolving domain model of an enterprise application on the cloud
US10268455B2 (en) 2016-05-20 2019-04-23 Microsoft Technology Licensing, Llc Augmenting an original class with an augmenting class
GB2573775A (en) * 2018-05-16 2019-11-20 Sage Uk Ltd Application Deployment

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5857212A (en) * 1995-07-06 1999-01-05 Sun Microsystems, Inc. System and method for horizontal alignment of tokens in a structural representation program editor
US6237135B1 (en) * 1998-06-18 2001-05-22 Borland Software Corporation Development system with visual design tools for creating and maintaining Java Beans components
US6637020B1 (en) * 1998-12-03 2003-10-21 International Business Machines Corporation Creating applications within data processing systems by combining program components dynamically
WO2001025860A1 (en) * 1999-10-05 2001-04-12 Togethersoft Corporation Method for generating and defining a pattern
US20020174082A1 (en) * 2000-09-26 2002-11-21 Z-Force Corp. Reusable parts for assembled software systems
US7174534B2 (en) * 2001-01-22 2007-02-06 Symbol Technologies, Inc. Efficient system and method for running and analyzing multi-channel, multi-modal applications
US6816865B2 (en) * 2001-04-18 2004-11-09 International Business Machines Corporation Process for data driven application integration for B2B

Also Published As

Publication number Publication date
WO2003019363A1 (en) 2003-03-06
US20030051229A1 (en) 2003-03-13
US7185325B2 (en) 2007-02-27
TWI240889B (en) 2005-10-01
KR20040054677A (ko) 2004-06-25
KR100909731B1 (ko) 2009-07-29

Similar Documents

Publication Publication Date Title
US6411956B1 (en) Method for distributed transaction support using JDBC 1.0 drivers
CN1318956C (zh) 软件构件插件程序结构的系统和方法
US7606792B2 (en) System and method for efficient evaluation of a query that invokes a table valued function
US6976262B1 (en) Web-based enterprise management with multiple repository capability
CN1561482A (zh) 应用程序类扩展
CN102103497B (zh) 有限状态机执行装置和方法、在应用中的建立和使用方法
CN1141641C (zh) 安装被许可应用程序的方法及装置
CN100462921C (zh) 用于简档形成接口辅助类加载的方法和系统
EP0889422A2 (en) Global file system-based system and method for rendering devices on a cluster globally visible
US7650346B2 (en) User-defined type consistency checker
CN1582441A (zh) 建立查询的拖放技术
US6941309B2 (en) Object integrated management system
CN1140500A (zh) 分布式数据库系统
US8615729B2 (en) Extending existing model-to-model transformations
US7634755B2 (en) Application splitting for network edge computing
US6981006B2 (en) Schema-based file conversion
US7013246B1 (en) Parametric exchange of data between a modeling system and an external application program
CN101046746A (zh) 分布式软件开发环境中的代码管理
US7933948B2 (en) Computer-readable medium to multiplex multiple application server requests over a single database connection
CN101030149A (zh) 快速的基于补丁的方法调用
US20070005552A1 (en) Methods and systems for reducing transient memory consumption in an object-oriented system
US20050171953A1 (en) Method, system, and article of manufacture for generating device specific requests
US20090144752A1 (en) Unmanaged-to-managed aggregation
US7752638B2 (en) Method for defining and dynamically invoking polymorphic call flows
CA2365731C (en) Support for concurrent active sql statements having shared sql context information

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20050105

C20 Patent right or utility model deemed to be abandoned or is abandoned