当前位置: 首页 > 专利查询>微软公司专利>正文

灵活的元数据组合制造技术

技术编号:8593803 阅读:187 留言:0更新日期:2013-04-18 06:56
各种实施例提供了在多个类型系统之间对类型解析进行抽象的能力。至少一种类型可以在一个或多个可编程访问文件中描述。在一些实施例中,使用不同类型系统的应用程序可以在不了解类型的描述所在位置的情况下,可编程地访问并解析至少一个类型系统的类型。可替代地或附加地,至少部分地基于所述类型描述,可以对包含在一个或多个可编程访问文件中的类型描述进行分析,并且将其重新构成一个或多个新的可编程访问文件。

【技术实现步骤摘要】
灵活的元数据组合
技术介绍
计算装置通常把运行操作系统作为管理计算装置的硬件和/或软件资源的一种方式。在一些情况下,操作系统可以提供对这些资源的简化的编程访问。例如,操作系统可以包含应用程序接口(API),用以暴露各种组件。只要应用程序获知与API相关的是什么类型,应用程序就可以利用与API不同的编程语言和/或类型系统成功地调用API。例如,API可以包含一个或多个输入和/或输出参数。为了调用API,程序员不仅决定API的参数,而且决定与这些参数相关的是什么数据类型。如上所述,可以用不同于调用编程语言类型系统的类型系统来描述API。为了连接不同的类型系统,程序员通常编写包装代码,用以在各类型系统之间进行转化。让程序员将API访问包含于程序中的一个方法是通过一个或多个文件和/或命名空间将API定义包含到源代码中。为了成功地将文件和/或命名空间结合到源代码,源代码可以被配置成包含对文件/命名空间的特定位置的引用(例如,硬编码的路径、利用该路径访问注册表项等)。如果该位置、文件名称、和/或命名空间名称发生变化,则链接被中断,直到用适当的修改对代码和/或软件工具进行更新。
技术实现思路
提供这个
技术实现思路
部分来以简化的形式介绍下面在具体实施方式中进一步描述的概念的选择。这个
技术实现思路
并不旨在识别所请求保护的主题的关键特征或基本特征,也不旨在用于限制所请求保护的主题的范围。。各种实施例提供了在多个类型系统之间对类型解析进行抽象的能力。可以在一个或多个可编程访问文件中对至少一个类型进行描述。在一些实施例中,在不了解类型描述的所在位置的情况下,使用不同类型系统的应用程序可以可编程地访问并解析该类型系统的类型。可替代的或附加的,至少部分基于类型系统描述,可以对一个或多个可编程访问文件中所包含的类型描述进行分析并重新构成一个或多个新的可编程访问文件。附图说明在所有附图中使用相同的数字来标记相同的特征。图1a示出了根据一个或多个实施例的、在其中可以应用本文中所描述的各种原理的操作环境。图1b示出了根据一个或多个实施例的、在其中可以应用本文中所描述的各种原理的操作环境。图2示出了根据一个或多个实施例的体系结构。图3示出了根据一个或多个实施例的流程图。图4示出了根据一个或多个实施例的关系图。图5示出了根据一个或多个实施例的流程图。图6示出了可以用以实施一个或多个实施例的示例性系统。具体实施方式概述各种实施例提供了在多个类型系统之间对类型解析进行抽象的能力。使用一个类型系统的应用程序可以调用到第二个类型系统,只要该应用程序已了解如何在各类型系统之间连接。例如,类型系统的特征(例如数据类型、数据类型的行为、函数调用参数、事件等)可以在一个或多个可编程访问文件中描述。应用程序可以访问文件并且解析不同的类型系统。在一些实施例中,可以对类型解析进行抽象,使得在事先不了解访问哪个文件和/或文件所在位置的情况下,应用程序可以访问描述。在接下来的论述中,提供了标题为“操作环境”的章节并且描述了多个环境,在其中可以实施一个或多个实施例。在此之后,标题为“类型解析结构”的章节描述了可以进行可编程类型系统解析的体系结构。接下来,标题为“类型描述存储”的段落描述了可以用于实现类型描述的灵活存储的各种方法。最后,标题为“示例系统”的章节描述了一个可以用于实施一个或多个实施例的示例系统。前面已提供了对下文将要描述的各种实施例的概述,现在考虑示例操作环境,在其中可以实施一个或多个实施例。操作环境图1a和图1b示出了根据一个或多个实施例的操作环境,通常在100a和100b显示。图1a示出了参照一个或多个元数据文件的生成而可以利用的示例操作环境,如下所述。图1a的操作环境可以认为是“构建时”环境。图1b示出了参考灵活类型系统解析而可以利用的示例操作环境。图1b的操作环境可以看作是运行时环境。在一些实施例中,操作环境100a和100b具有至少一些类似的组件。因此,为简洁起见,图1a和图1b将被一起描述。与图1a相关的类似的组件将被标识为具有“1XXa”的命名约定的组件,而与图1b相关的组件将被标识为具有“1XXb”的命名约定的组件。类似地,特定于操作环境的组件将简单地被标识为“1XX”。环境100a和100b分别包括:具有一个或多个处理器104a、104b,以及一个或多个计算机可读存储介质106a、106b的计算装置102a、102b。通过示例而非限制,计算机可读存储介质可以包括:与计算装置典型地相关的所有形式的易失性及非易失性存储器和/或存储介质。此类介质可以包括:ROM、RAM、闪速存储器、硬盘、可移动介质等。下面在图6中显示并描述了计算装置的一个具体示例。另外,计算装置102a、102b包含一个或多个操作系统(OS)108a、108b以及一个或多个应用程序110a、110b。操作系统108a、108b代表用于管理计算装置102a、102b的一个或多个软件和/或硬件资源的功能。这可以包括内存管理、文件管理、服务、功能、资源管理、外围设备管理等。一个或多个应用程序110a、110b代表被配置来在计算装置102a、102b中,通常在一个或多个操作系统108a、108b的协助下执行的软件。一个或多个应用程序110a、110b可以在与一个或多个操作系统108a、108b相同和/或不同的类型系统中执行,如下面进一步的描述。计算装置102a、102b也包括一个或多个软件接口112a、112b,这些软件接口代表对由软件和/或一个或多个应用程序所提供函数、服务、数据等的编程访问。一个或多个软件接口112a、112b可以实现对一个或多个操作系统108a、108b和/或一个或多个应用程序110a、110b的编程访问。例如,一个或多个应用程序110a、110b可以通过调用一个或多个软件接口112a、112b来访问由一个或多个操作系统108a、108b所提供的功能。在一些实施例中,使用不同于软件接口的类型系统的类型系统的一个或多个应用程序112a、112可以可编程地解析类型差异,如下面进一步的描述。另外,计算装置102a、102b还包含一个或多个元数据文件114a、114b,这些元数据文件代表一个或多个机器可读文件,该机器可读文件包含与一个或多个软件接口112a、112b,一个或多个操作系统108a、108b,和/或一个或多个应用程序110a、110b相关的信息,诸如输入参数类型、参数调用顺序、接口之间的关系等。可替代的或附加的,一个或多个软件接口可以与连接到计算装置102a、102b的外围设备(诸如打印机、扫描仪、智能手机等)相关。在一些实施例中,一个或多个元数据文件114a、114b可以被配置成以任何合适的方式来描述一个或多个接口,如下面进一步的描述。计算装置102a还包括一个或多个合并模块116。一个或多个合并模块116代表可以阅读一个或多个元数据文件、对文件内容进行分析、以及输出一个或多个包含重新构成的内容的新元数据文件的内容的功能。在一些实施例中,可以至少部分地基于类型描述对内容进行重新组织。计算装置102b包括一个或多个类型解析模块118。一个或多个类型解析模块118代表配置来接收访问相关的类型数据的请求的功能,并且定位类型解析信息。在一些实施例中,一个或多个类型解析本文档来自技高网...
灵活的元数据组合

【技术保护点】
一种计算机实施的方法,包括:在多个文件中搜索(302)与正在被解析的类型相关的第一文件;响应于确定所述第一文件存在,发送(306)表明所述类型是命名空间的信息;响应于确定所述第一文件不存在,在所述多个文件中搜索(308)和与所述类型相关的第一命名空间级别层次相匹配的文件名;响应于确定和与所述类型相关的第一命名空间级别层次相匹配的文件名存在,处理(312)与所述文件名相关的文件以获得与所述类型相关的信息;响应于确定和与所述类型相关的所述第一命名空间级别层次相匹配的所述文件名不存在,确定(322)是否存在另一个与所述类型相关的命名空间层次级别;以及响应于确定另一个命名空间层次级别存在,在所述多个文件中搜索(318)与所述另一个命名空间层次级别相关的文件名。

【技术特征摘要】
2011.09.10 US 13/229,6971.一种计算机实施的用于类型解析的方法,包括:在多个文件中搜索(302)与正在被解析的类型相关的第一文件;响应于确定所述第一文件存在,发送(306)表明所述类型是命名空间的信息;响应于确定所述第一文件不存在,在所述多个文件中搜索(308)和与所述类型相关的第一命名空间级别层次相匹配的文件名;响应于确定和与所述类型相关的第一命名空间级别层次相匹配的文件名存在,处理(312)与所述文件名相关的文件以获得与所述类型相关的信息;响应于确定和与所述类型相关的所述第一命名空间级别层次相匹配的所述文件名不存在,确定(322)是否存在另一个与所述类型相关的命名空间层次级别;以及响应于确定另一个命名空间层次级别存在,在所述多个文件中搜索(318)与所述另一个命名空间层次级别相关的文件名。2.如权利要求1所述的方法,其中,在多个文件中搜索第一文件进一步包括:在所述多个文件搜索具有和与所述类型相关的名称相匹配的文件名的文件。3.如权利要求2所述的方法,其中,在多个文件中搜索第一文件进一步包括:在不了解所述类型所在位置的情况下,搜索所述第一文件。4.如权利要求1所述的方法,其中,该方法是在无用户介入的情况下执行。5.如权利要求1所述的方法,其中,所述多个文件包含元数据文件,其中单独的元数据文件包含与操作系统软件接口相关的描述。6.如权利要求5所述的方法,其中,所述元数据文件被配置成对独立于特定的编程语言的所述类型的描述。7.一种计算机实施的用于类型解析的方法,包括:在一个或多个元数据文件中搜索具有和与类型系统相关的类型的命名空间相匹配的文件名的文件;响应于确定所述文件存在,处理所述文件以获得与所述类型相关的信息;响应于确定所述文件不存在,执行至少一次:确定是否存在另一个与所述类型相关的命名空间层次级别:以及响应于确定另一个命名空间层次级别存在,在所述一个或多个元数据文件中搜索具有和所述另一个命名空间层次级别相匹配的文件名的文件;所述至少一次的执行响应于如下情况终止:确定具有和所述另一个命名空间层次级别相匹配的文件名的所述文件存在;或者确定另一个命名空间层次级别不存在。8.如权利要求7所述的方法,其中,在所述一个或多个元数据文件中搜索具有和所述另一个命名空间层次级别相匹配的文件名的文件包括:搜索和所述命名空间层次级别相匹配的部分文件名。9.如权利要求7所述的方法,其中,与类型系统相关的所述类型包括与操作系统相关的应用程序接口(API)。10.如权利要求7所述的方法,其中,在所述一个或多个元数据文件中搜索具有和与类型系统相关的类型的命名空间相匹配的文件名的文件进一步包括:在不了解所述类型所存在位置的情况下进行搜...

【专利技术属性】
技术研发人员:LW奥斯特曼HL皮尔森EH奥米亚MS洛弗尔M普拉克里亚SC罗维TH巴苏RA弗罗达茨克曾炜NN沃瓦SI索尔卡M阿克西安金
申请(专利权)人:微软公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1