CN102567023A - 参数化接口标识符技术 - Google Patents
参数化接口标识符技术 Download PDFInfo
- Publication number
- CN102567023A CN102567023A CN2011104468587A CN201110446858A CN102567023A CN 102567023 A CN102567023 A CN 102567023A CN 2011104468587 A CN2011104468587 A CN 2011104468587A CN 201110446858 A CN201110446858 A CN 201110446858A CN 102567023 A CN102567023 A CN 102567023A
- Authority
- CN
- China
- Prior art keywords
- interface
- interface identifier
- type
- identifier
- signature
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- 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/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Communication Control (AREA)
Abstract
描述了接口标识符参数化技术。在一个或多个实现方式中,获得以编程模型的二进制标准表示的参数类型的文本描述,以及至少部分地基于所获得的参数类型的文本描述生成接口标识符。
Description
背景技术
用于标识计算语言中的接口(例如,组件对象模型(COM))的传统技术依赖于编程人员为每个接口人工地创建全局唯一标识符(GUID)。一般地,创建并实现接口标识符以使得组件可在二进制级上互操作。然而,因为这些传统的技术依赖于编程人员来创建标识符,两个编程人员将不能独立地计算相同接口的相同接口标识符,使得他们不能设计可以彼此互操作的组件。
发明内容
描述了参数化接口标识符技术。在一个或多个实现方式中,获得以编程模型的二进制标准表示的参数类型(parametric type)的文本描述,以及至少部分地基于所获得的参数类型的文本描述来生成接口标识符。
在一个或多个实现方式中,接收对实例化接口的请求。获得描述接口的参数列表的、用于该接口的参数化接口定义。向接口分配接口标识符,该接口标识符至少部分地基于参数列表。
在一个或多个实现方式中,一个或多个计算机可读存储介质包括计算机可执行指令,其响应于计算设备的执行,使得计算设备执行操作,包括:根据组件对象模型(COM),基于用于接口的参数类型的定义来自动地生成文本描述;至少部分地基于该文本描述生成全局唯一标识符(GUID);并将GUID分配为接口的接口标识符。
提出本发明内容,来以简化形式介绍了以下在具体实施方式中进一步描述的概念选集。本发明内容既不意图标识所要求主题的关键或重要特征,也不意图被用于辅助确定所要求主题的范围。
附图说明
参照附图描述了具体实施方式。在图中,附图标记的最左侧数字(多个)标识了附图标记首次出现的图。相同的附图标记在说明书及图中的不同实例中的使用可指示相似或相同的项目。
图1是可操作为采用此处描述的参数化法技术的示例实现方式中的环境的说明。
图2是示例实现方式中的系统的说明,其中更详细地将图1的IID生成模块示为生成兼容互操作语言的二进制标准的、用于对象的示例IID。
图3是描绘了其中示出了生成参数化接口标识符的示例实例方式中的过程的流程图。
图4是描绘了其中生成兼容互操作语言的二进制标准的接口标识符的示例实现方式中的过程的流程图,。
图5是描绘了描述示例实例算法的示例实现方式中的过程的流程图。
图6是可操作来执行图4的过程的系统的例示。
具体实施方式
概述
对支持在二进制级(例如,COM等)使用的接口进行编码的传统技术依赖于编程人员人工生成由每个接口使用的标识符。因此,当多个编程人员期望在相同和/或有关接口上工作时,这导致编码更加复杂化。
描述了涉及接口标识符参数化法技术的技术。在一个或多个实现方式中,这些技术可用于影响由例如集合和委托(delegate)的领域使用的共用设计范例。例如,参数类型可被指定为充当表达这些范例的基础,同时维护类型安全并提升易用性。
例如,为了表达COM内的参数类型,为每个参数化的接口自动生成GUID。然后,将该GUID映射到接口,就好像其被“压平”到操作的COM接口中那样。自动GUID生成和参数化接口表达之间的连接使得知道COM(COM-aware)的编程语言能使用基于COM的参数类型。这些技术适合于依赖于二进制标准进行通信的各种各样的其他语言。因此,虽然在以下讨论中给出COM作为示例,但是应容易地清楚,可由各种各样的不同类型的语言、系统和体系架构采用这些技术。
示例环境
图1是可操作来采用此处描述的参数化法技术的示例实现方式中的环境100的例示。例示的环境100包括计算设备102,其可以以各种方式配置。例如,计算设备102可被配置为能够通过网络104进行通信的计算机,诸如台式计算机、移动台、娱乐家用电器、与显示设备通信耦连的机顶盒、无线电话、游戏控制台等。另外,虽然示出了单个计算设备102,但是计算设备102可以代表多个不同设备,如由企业利用来执行操作的多个服务器。因此,此处描述的操作可以跨越机器边界。
计算设备102还可包括实体(例如,软件),其使得计算设备102的硬件(例如,处理器、功能块等)执行各操作。例如,计算设备102可包括被配置为保持指令的计算机可读介质,该指令使得计算设备,并且更具体地,使得计算设备102的硬件执行各操作。因此,指令用于配置硬件以执行各操作,并以这种方式导致硬件的变换来执行各功能。可由计算机可读介质通过各种不同的配置向计算设备102提供指令。
一个这样的计算机可读介质的配置是信号承载介质,并且因此被配置为诸如经由网络104向计算设备的硬件传输指令(例如,作为载波)。计算机可读介质还可被配置为计算机可读存储介质,并且因此不是信号承载介质。计算机可读存储介质的示例包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪存、硬盘存储器,以及可使用磁、光学和其他技术来存储指令和其他数据的其他存储器设备。
虽然网络104被例示为因特网,但可假设网络是各种各样的配置。例如,网络104包括广域网(WAN)、局域网(LAN)、无线网络、公共电话网络、内联网等等。而且,虽然示出了单个网络104,但是网络104可被配置为包括多个网络。
计算设备102还被例示为实现互操作语言106。互操作语言106可用于支持用于通信的语言中立技术,其可包括在计算设备102自身内以及跨越机器边界(例如,经由网络104与另一计算设备)的进程间通信。一个类型的互操作语言涉及允许共享数据的二进制接口的使用。
例如,互操作语言106可包括对象108,其兼容组件对象模型(COM)是可重用的,并且因此可从其他对象继承等。这些对象108可提供各种各样的功能性。为了访问这个功能性,对象108包括接口110,以与对象108的各方法112(即,功能性)进行交互。因此,可调用接口110来访问对应的方法112。像对象一样,接口也可从其他接口继承。
在COM的示例实现方式中,接口112的接口标识符(IID)114被形成为具有128比特的全局唯一标识符(GUID),但是还可预期其他的实现方式。然而,如前所述,传统的接口标识符由编程人员自身人工地指定。因此,在多个编程人员将要在相同对象108上工作,在对象108的相同或不同接口110或方法112等上工作的情况下,由编程人员执行的、涉及使用具有这样的接口标识符的互操作语言的编码可能变得复杂。
在一个或多个实现方式中,采用参数化技术来向接口(诸如,兼容互操作语言106的对象108的接口110)分配接口标识符。例如,可采用参数化技术分配作为全局唯一标识符(GUID)来工作的二进制标识符,以使用参数来彼此唯一地标识各接口。其也可被用于发现针对接口和对应方法等的封送器(marshaler)。
在各种示例之一中,当利用类型语境(如方法参数位置)中的类型的变元列表调用参数化接口时,进行参数化接口的实例化。例如,“HRESULT foo(X<Y>X)”利用名为“Y”的类型变元实例化名为“X”的参数化接口。应注意到,一些变元可能不具有类型。例如,验证或约束变元乃至可执行程序代码的数字、串和其他值可改变涉及将要如何生成“压平”的接口定义的各种因素。
因此,在图1的环境100中例示了接口标识符(IID)生成模块116。IID生成模块116代表使用参数化技术生成IID 114的功能性。例如,IID生成模块116可作为由编译器118执行的编译的一部分来操作以根据此处描述的参数化技术来生成IID 114。例如,IID生成模块116可通过使用参数类型表达由诸如集合和委托之类的领域使用的共用设计范例。以此方式,可维护类型安全和易用性,可参照附图找到其进一步讨论。
图2描绘了示例实现方式中的系统200,其中更详细地将IID生成模块116示出为以互操作语言106中生成对象108的示例IID 114。在例示的示例中,IID生成模块116被例示为影响参数化接口定义202。
例如,参数化接口定义202可指定参数206的列表204,其可被用作生成参数化接口标识符的基础,在以下讨论中,其还可被称为接口标识符。参数化接口定义202还可为接口指定名称208、com继承条款(com-inheritance clause)210、可选的接口需求条款212和接口主体214。在com继承条款210、接口需求条款212和接口主体214中,任何类型语境可附加地命名由参数化接口定义202中的列表204指定的类型,或用参数化接口定义202的列表204指定的类型实例化其他参数化接口。而且,在一个或多个实现方式中,参数化接口定义202可指定参数206要被用于创建接口标识符114的顺序,可采用逻辑(例如,布尔连接器)等等。
当以高级语言(例如,通过IDL)产生用于消耗(consumption)的输出时,其确保输出将完全地定义在该输入中被实例化的每个参数化接口。例如,如果输入实例化“X<int>”及其输出是“foo.h”,则导入“foo.h”的高级语言能够实现X<int>。然后,如果输入未实例化X<float>,则可能不能让 “foo.h”的用户实现X<float>,相反用户也将编辑输入以实例化X<float>。
IID生成模块116采用的算法可包括以下特征:
a)当利用匹配的变元实例化参数化类型两次时,两个实例被分配了相同接口或委托主体以及相同的IID 114。
b)如果实例化两个不同的参数化类型,即使利用相同的变元,则统计学上不太可能向两个实例分配相同的IID 114。
c)如果实例化参数化类型两次,但利用不同的变元进行,则统计学上不太可能向两个实例分配匹配的IID 114。
在一个或多个实现方式中,不允许利用与变元或者与可能出现在变元列表中的其他参数化类型的变元相同的实例(即,循环实例)来实例化参数化类型。例如,如果X=Foo<Y>,并且Y=Foo<X>,则已违反非循环性。然而,如果X=Foo<Y>并且Y=Foo<int>,则已维持非循环性。然而,在其他实现方式中,由系统解决循环性。可参照附图找到参数化技术的进一步讨论。
一般地,可使用软件、固件、硬件(例如,固定的逻辑电路)、人工处理或这些实现方式的组合来实现此处描述的任何功能。一般地,此处使用的术语“模块”和“功能性”表示硬件、软件、固件或其组合。在软件实现方式的情况下,模块、功能性或逻辑表示指令和执行由硬件指定的操作的硬件(例如,一个或多个处理器和/或功能块)。
指令可被存储在一个或多个计算机可读介质中。如上所述,一个这样的计算机可读介质的配置是信号承载介质,并且因此被配置为诸如经由网络104向计算设备的硬件传输指令(例如,作为载波)。计算机可读介质还可被配置为计算机可读存储介质,并且因此不是信号承载介质。计算机可读存储介质的示例包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪存、硬盘存储器,以及可使用磁、光学和其他技术来存储指令和其他数据的其他存储器设备。以下描述的技术的特征是独立于平台的,意味着可在具有各种硬件配置的各种商业计算平台上实现各技术。
示例过程
以下讨论描述了可利用先前描述的系统和设备实现的接口标识符参数化技术。每个过程的各方面可以以硬件、固件、或软件、或其组件实现。过程被示出为指定由一个或多个设备执行的操作的一组块,并可不必限于用于由各自块执行的操作示出的顺序。在以下讨论的部分中,将参考图1的环境100和图2的系统200。
图3描绘了其中示出了生成参数化接口标识符的示例实例方式中的过程300。接收实例化接口的请求(块302)。例如,如前所述,可接收请求以实例化参数化接口。
获得接口的参数化接口定义,其描述接口的参数列表(块304)。例如,列表204可描述将要被用作生成IID的基础的参数206,如与正被实例化的接口有关的参数。
将接口标识符分配给接口,接口标识符至少部分地基于参数列表(块306)。以该方式,可至少部分地基于正被标识的接口的参数的值,来生成接口标识符。可采用各种不同的技术,可参照附图找到其进一步讨论。
图4描绘了其中使用参数类型的文本描述来生成接口标识符的示例实现方式中的过程400。获得以编程模型的二进制标准表示的参数类型的文本描述(块402)。例如,给定参数类型(例如,像IVector<int>),可自动地生成(例如,无需用户介入)参数类型的文本描述。
然后,至少部分地基于所获得的参数类型的文本描述,生成接口标识符(块404)。继续先前的示例,然后,接口标识符可被用于生成GUID,从而“压平”以二进制标准(例如,COM、C++、JAVA、Python等)使用的参数类型。
然后,将IID映射到接口(块406)。在该示例中,在自动GUID生成和参数化接口表达之间的连接使得知道COM的编程语言能使用基于COM的参数类型,但是如前所述,还可预期针对互操作语言的其他二进制标准,而不脱离其精神和范围。
此外,可执行GUID的生成,以自动遵循现有COM IID修订规则。因此,当接口被修订并被分配新的GUID时,该接口的参数化实例也可自动地修订对应的IID。当两个独立方具有接口的命名冲突(但是选择唯一的IID)等时,即使存在接口的多个修订,这也允许继续使用参数化接口。
图5描绘了描述示例实例算法的示例实现方式中的过程500,并且图6描绘了可操作来实现过程500的系统600。因此,以下讨论将参照两个附图。从图6开始,IID生成模块116被例示为接收参数化接口实例请求602和描述接口、结构、内置定义等的数据604。因此,IID生成模块116可首先采用签名生成模块606,其代表生成可被用作IID的基础的签名的功能性。
例如,每个参数化类型可由其作者分配参数化接口ID(块502),其在以下讨论中被缩写为PIID。应注意,PIID不是IID,并不作为变元被传递至QI等等。
在一个或多个实现方式中,依赖作者(例如,通过与用户接口的交互)以确保PIID对于该p类型(p-type)是唯一的。用于基础类型的类型签名是ASCII八位串,以下出现的表格中示出了其示例,例如,Int32是“i4”。用于非参数化接口实例的接口的类型签名是以短线形式并被包围在花括号中的、以ASCII进行编码的各个IID,例如,“{00000000-0000-0000-0000-000000000000}”。用于非p委托(p-delegate)实例的委托的类型签名是串“delegate”,并且IID与接口一样。具体语法如下。
根据被采用为参数化接口定义的部分的语法,来计算参数化类型的IID(块504)。例如,可以根据以下语法来计算参数化类型的GUID:
● signature_octets => guid_to_octets(wrt_pinterface_namespace) ascii_to_octets(ptype_instance_signature)
● wrt_pinterface_namespace => “11f47ad5-7b73-42c0-abae-878b1e16adee”
● ptype_instance_signature => pinterface_instance_signature | pdelegate_instance_ signature
● pinterface_instance _signature => “pinterface(“ piid_guid “;” args “)”
● pdelegate_instance _signature => “pdelegate(“ piid_guid “;” args “)”
● piid_guid => guid
● args => arg | arg “;” args
● arg => type_signature
● type_signature => base_type_identifer | com_interface_signature | interface _signature | delegate_signature | interface_group_signature | runtime_class_signature | struct_signature | enum_signature | pinterface_instance_signature | pdelegate_instance_signature
● com_interface_signature => “cinterface(IInspectable)”
● base_type_identifier如下定义
● interface_signature => guid
● interface_group_signature => “ig(“ interface_group_name “;” default_interface “)”
● runtime_class_signature => “rc(“ runtime_class_name “;” default_interface “)”
● default_interface => type_signature
● struct_signature => “struct(“ struct_name “;” args “)”
● enum_signature => “enum(“ enum_name “;” enum_underlying_type “)”
● enum_underlying_type => type_signature
● delegate_signature => “delegate(“ guid “)”
● guid => “{“ dashed_hex “}”
● dashed_hex 是当没有传递变元时uuidgen写入的格式:
● dashed_hex => hex{8} “-” hex{4} “-” hex{4} “-” hex{4} “-” hex{12}
● hex => [0-9a-f]。
然后,计算签名八位位组的哈希(块506)。例如,可根据UUID RFC 4122,计算signature_octets的由sha-1第5版本生成的哈希。在这个示例中,哈希生成模块608使用单个winrt pinterface/pintergroup GUID 610作为如RFC 4122/4.3中所述的命名空间,并使用由签名生成模块606接收的、用来实例化的pinterface/pintergroup的签名和变元作为名称串。
向参数化接口实例分配GUID以及根据语法计算的签名(块508)。例如,IID生成模块116可将哈希生成模块608计算的值映射到相应的接口。因此,根据需要,当将p类型实例作为变元传递至另一参数化接口时,根据类型签名计算的签名用作在语法元素“pinterface_instance_signature”或“pdelegate_instance_signature”中的类型签名。
当遇到时,以下名称可被用于基础类型:
UInt8 映射为 “u1”
Int32 映射为 “i4”
UInt 映射为 “u4”
Int64 映射为 “i8”
UInt64 映射为 “u8”
Single 映射为 “f4”
Double 映射为 “f8”
Boolean 映射为 “b1”
Char16 映射为 “c2”
String 映射为 “string”
Guid 映射为 “g16”。
在实现方式中,上述名称是区分大小写的。除了针对串,类型名称使用单个字母以暗示数据的种类,并续之以以字节为单位的尺寸。这些示例名称可被选择为是简洁的(例如,以避免结构类型签名的大尺寸),以免混淆地表现为类似于WinRT名称、RIDL名称,或者针对任何类型的语言规划名称,并仍保持人类可读。
而且,在针对enum_type_signature的一个或多个实现方式中,接下来的type_signature是enum的基础类型。对于struct_type_signature,args是针对字段struct的type_signatures的按顺序列表。Struct_name和enum_name可以是合格的命名空间,使用句点“.”作为定界符,例如,“namespaceX {struct A {int;}; }”变为“struct(X.A;i4)”。
结论
虽然已以特定于结构特征和/或方法动作的语言描述了本发明,但是将理解,在所附权利要求中定义的本发明不必限于描述的特定特征或动作。相反,特定特征和动作被公开为实现所要求的发明的样例。
Claims (11)
1.一种由计算设备实现的方法,所述方法包括:
获得以编程模型的二进制标准表示的参数类型的描述;以及
至少部分地基于所获得的参数类型的描述,生成接口标识符。
2.如权利要求1所述的方法,其中根据组件对象模型(COM)配置所述二进制标准。
3.如权利要求1所述的方法,其中所述描述是所述参数类型的文本描述或二进制元数据表示。
4.如权利要求1所述的方法,其中所述二进制标准指定用于由所述计算设备编译的结构,以及各对象如何在所述计算设备的存储器中组织。
5.如权利要求1所述的方法,其中自动地遵循修订规则来执行所述生成,使得当对接口作出修订时,自动地修订用作生成所述接口标识符的基础的文本描述。
6.如权利要求1所述的方法,其中在运行时间期间,不执行所述接口标识符的生成。
7.如权利要求1所述的方法,其中使用参数化接口定义执行所述接口标识符的生成,所述参数化接口定义包括用于生成所述接口标识符的参数列表。
8.如权利要求1所述的方法,其中所述生成包括计算对应接口的类型签名和根据所述类型签名计算哈希。
9.一种由一个或多个计算设备实现的方法,所述方法包括:
接收对于实例化接口的请求;
获得所述接口的参数化接口定义,其描述所述接口的参数列表;以及
为所述接口分配接口标识符,所述接口标识符至少部分地基于所述参数列表生成。
10.如权利要求9所述的方法,其中所述参数化接口定义还描述接口的名称、继承条款和接口主体。
11.一种计算设备,包括接口标识符生成模块(116),所述接口标识符生成模块被配置为根据如权利要求1-10中的任一个所述的方法进行操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/979,618 US8667466B2 (en) | 2010-12-28 | 2010-12-28 | Parameterized interface identifier techniques |
US12/979618 | 2010-12-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102567023A true CN102567023A (zh) | 2012-07-11 |
CN102567023B CN102567023B (zh) | 2016-03-16 |
Family
ID=46318622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110446858.7A Active CN102567023B (zh) | 2010-12-28 | 2011-12-28 | 参数化接口标识符技术 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8667466B2 (zh) |
EP (1) | EP2659359A4 (zh) |
CN (1) | CN102567023B (zh) |
WO (1) | WO2012092324A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109117181A (zh) * | 2018-07-24 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种标识的生成方法及装置 |
CN110569064A (zh) * | 2019-09-03 | 2019-12-13 | 北京达佳互联信息技术有限公司 | 接口标识生成方法、装置、设备及存储介质 |
WO2023061452A1 (zh) * | 2021-10-14 | 2023-04-20 | 华为技术有限公司 | 语言互操作方法、装置、存储介质及程序产品 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761441B (zh) * | 2012-06-29 | 2016-02-17 | 深圳市同洲电子股份有限公司 | 一种数字电视业务监控方法、装置及系统 |
US10185556B2 (en) * | 2017-02-22 | 2019-01-22 | Sap Se | Interactive software development kit documentation tool |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030079214A1 (en) * | 2001-10-24 | 2003-04-24 | International Business Machines Corporation | Using identifiers and counters for controled optimization compilation |
US7096465B1 (en) * | 1999-05-17 | 2006-08-22 | Invensys Systems, Inc. | Process control configuration system with parameterized objects |
CN1940865A (zh) * | 2005-09-29 | 2007-04-04 | 腾讯科技(深圳)有限公司 | 一种应用编程接口控制方法和控制功能模块 |
US20080301702A1 (en) * | 2007-06-01 | 2008-12-04 | Microsoft Corporation | Automated generation of different script versions |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6438744B2 (en) | 1998-07-15 | 2002-08-20 | Microsoft Corporation | Dynamic mapping of component interfaces |
US20040073512A1 (en) | 2001-02-23 | 2004-04-15 | David Maung | Unique session storage design |
FR2825491B1 (fr) | 2001-05-30 | 2003-12-05 | Bull Sa | Procede d'implementation d'un pluralite d'interfaces d'objets |
CN1920772B (zh) * | 2006-08-18 | 2010-05-12 | 上海科泰世纪科技有限公司 | 构件化软件系统中自动为构件分配通用唯一标识符的方法 |
-
2010
- 2010-12-28 US US12/979,618 patent/US8667466B2/en active Active
-
2011
- 2011-12-28 EP EP11854397.4A patent/EP2659359A4/en not_active Ceased
- 2011-12-28 WO PCT/US2011/067499 patent/WO2012092324A2/en active Application Filing
- 2011-12-28 CN CN201110446858.7A patent/CN102567023B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7096465B1 (en) * | 1999-05-17 | 2006-08-22 | Invensys Systems, Inc. | Process control configuration system with parameterized objects |
US20030079214A1 (en) * | 2001-10-24 | 2003-04-24 | International Business Machines Corporation | Using identifiers and counters for controled optimization compilation |
CN1940865A (zh) * | 2005-09-29 | 2007-04-04 | 腾讯科技(深圳)有限公司 | 一种应用编程接口控制方法和控制功能模块 |
US20080301702A1 (en) * | 2007-06-01 | 2008-12-04 | Microsoft Corporation | Automated generation of different script versions |
Non-Patent Citations (2)
Title |
---|
DR.DOBBS JOURNAL, MICROSOFT CORPORATION: "The Component Object Model:Technical Overview", 《HTTP://WWW.CS.UMD.EDU/~PUGH/COM/》 * |
SIGBJORN FINNE, DAAN LEIJEN, ERIK MEIJER, SIMON PEYTON JONES: "Calling hell from heaven and heaven from hell", 《PROCEEDINGS OF THE FOURTH ACM SIGPLAN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109117181A (zh) * | 2018-07-24 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种标识的生成方法及装置 |
CN110569064A (zh) * | 2019-09-03 | 2019-12-13 | 北京达佳互联信息技术有限公司 | 接口标识生成方法、装置、设备及存储介质 |
CN110569064B (zh) * | 2019-09-03 | 2024-01-30 | 北京达佳互联信息技术有限公司 | 接口标识生成方法、装置、设备及存储介质 |
WO2023061452A1 (zh) * | 2021-10-14 | 2023-04-20 | 华为技术有限公司 | 语言互操作方法、装置、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
EP2659359A2 (en) | 2013-11-06 |
US8667466B2 (en) | 2014-03-04 |
US20120167049A1 (en) | 2012-06-28 |
CN102567023B (zh) | 2016-03-16 |
WO2012092324A3 (en) | 2012-11-08 |
WO2012092324A2 (en) | 2012-07-05 |
EP2659359A4 (en) | 2016-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7937500B2 (en) | Dynamic, real-time integration of software resources through services of a content framework | |
US9823907B2 (en) | Extensible device object model | |
US6985939B2 (en) | Building distributed software services as aggregations of other services | |
US7035944B2 (en) | Programmatic management of software resources in a content framework environment | |
US20110131547A1 (en) | Method and system defining and interchanging diagrams of graphical modeling languages | |
CN102567023B (zh) | 参数化接口标识符技术 | |
EP1754148A2 (en) | Architecture, apparatus and method for device team recruitment and content renditioning for universal device interoperability platform | |
MX2007015887A (es) | Flujos de trabajos centricos de datos. | |
Riliskis et al. | Ravel: Programming iot applications as distributed models, views, and controllers | |
KR20180116793A (ko) | Cim 및 opc-ua 기반 데이터 상호 호환 방법 | |
US20080155557A1 (en) | Unified metamodel for web services description | |
Katasonov | Enabling non-programmers to develop smart environment applications | |
US10853366B2 (en) | Cooperative expression visitors | |
Wallace et al. | Intelligent System Development and Integration for Cloud Computing | |
Pfisterer et al. | Energy-optimized data serialization for heterogeneous WSNs using middleware synthesis | |
Gray | Infrastructure for an intelligent kitchen | |
Cao et al. | Architecting and implementing distributed Web applications using the graph‐oriented approach | |
Kulakov et al. | An Approach to Generating Ontology-Based Object Model for Smart-M3 platform | |
US20100023923A1 (en) | Method for medeling objects in a hetrogenious computing environment | |
Gripay et al. | Managing pervasive environments through database principles: A survey | |
Chou | Endosymbiotic Computing: Enabling surrogate GUI and cyber-physical connectivity | |
Wang et al. | The Transplantation of BOA Based on Linux3. 0.1 and S3C6410 | |
Ahlbrecht et al. | Leap-db: A mobile-agent-based distributed dbms not only for pdas | |
Diakopoulos et al. | Netpixl: Towards a New Paradigm for Networked Application Development. | |
Palonen | OPC UA-tietomallien oliopohjainen toteutus Java-kielellä |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150604 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150604 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |