用于声明类型的方法以及实例化对象图的方法技术

技术编号:12357736 阅读:64 留言:0更新日期:2015-11-20 13:24
特定类型的类型定义,以使相应的对象图的不同部分可以具有在实例化期间被分配给那些部分的不同许可。这允许结构化许可被应用于那些已定义类型的对象图的实例化,从而允许对于对象图的哪些部分实施哪些访问许可进行细粒度控制。在一些实施例中,对象图的不同实例化可以不同地应用许可。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】对象图部分不可变性以及隔离实施 背景 计算系统通过执行软件程序来获得高度的功能性。程序由以某一永久形式保持的 计算机可执行指令组成,诸如保持在硬驱、压缩盘、拇指驱动器、删除等等上。在执行期间, 这种计算机可执行指令通常会被加载在随机存取存取器中,并且由计算系统的一个或多个 处理器执行,使计算系统执行任务。 在面向对象的编程中,这些计算机可执行指令被组织为多个对象,所述多个对象 通过功能调用进行交互、并且具有一个或多个属性。托管代码是在托管环境中运行的代码, 该托管环境提供类型安全,但也提供存储器管理和异常处理。在托管代码中,对象具有无限 的寿命、对存储没有限制,访问限制的方法涉及间接或额外资源。 系统级编程是基于对遍及系统的资源(诸如对象)的访问及寿命的严格且有效的 管理。提供此严格管理的一种常用方式是使用应用程序接口(API)来管理资源的寿命和访 问。 简述 此处描述的一些实施例涉及特定类型的类型定义,以使相应对象图的不同部分可 具有在实例化期间被分配至这些部分的不同许可,其中许可在该类型的每个实例的寿命期 间被维持,但在一些实施例中,许可在该类型的至少一些实例的寿命期间可弱化。这允许结 构化的许可被应用于那些已定义类型的对象图的实例化,从而允许对于哪些访问许可相对 于对象图的哪些部分被实施进行细粒度控制。在一些实施例中,对象图的不同实例化可以 不同地应用许可。 该概述不意图标识所要求保护的主题的关键特征或基本特征,也不意图被用来帮 助确定所要求保护的主题的范围。 附图简述 为了描述能够获得上述及其他优点和特征的方式,将参照附图呈现各个实施例的 更具体描述。理解这些附图仅描述样本实施例,因此不应被视为限制本专利技术的范围,实施例 将通过使用附图以附加的具体性和细节来描述和解释,附图中: 图1抽象地图示了其中可采用此处所述的一些实施例的计算系统; 图2抽象地图示了表示其中可采用此处所述的实施例的示例环境的托管代码系 统; 图3图示了具有结构化许可的示例对象图; 图4图示了其中可以生成和实例化具有结构化定义的类型定义的环境; 图5图示了用于生成具有结构化许可的类型定义的方法的流程图;以及 图6图示了用于实例化具有结构化许可的对象图的方法的流程图。 详细描述 按照此处描述的实施例,提供了语言扩展,以使相应对象图的不同部分可能在实 例化期间具有被分配至那些部分的不同许可,许可在该类型的每个实例的寿命期间被保 持,尽管在一些实施例中,许可可以在该类型的至少一些实例的寿命期间减弱。这允许结构 化的许可被应用于那些已定义类型的对象图的实例化,允许对于哪些访问许可相对于对象 图的哪些部分被实施进行精细的控制。在一些实施例中,对象图的不同实例化可以不同地 应用许可。 将参照图1描述计算系统的一些介绍性讨论。然后,将参照图2描述托管代码系 统的原理。最后,将参照图3至6来描述用于声明结构化许可的语言扩展的原理。 计算系统目前日益采取广泛的形式。计算系统可以例如是手持设备、电器、膝上型 计算机、台式计算机、大型机、分布式计算系统、或者甚至是通常不被认为是计算系统的设 备。在该说明书以及在权利要求书中,术语"计算系统"被宽泛地定义为包括任何设备或系 统(或其组合),所述设备或系统包括至少一个物理且有形的处理器、以及能在其上具有可 由处理器执行的计算机可执行指令的物理且有形的存储器。存储器可以采取任何形式并且 可以取决于计算系统的性质和形式。计算系统可以分布在网络环境上并且可以包括多个组 成的计算系统。 如图1所示,在其最基本的配置中,计算系统100 -般包括至少一个处理单元102 和存储器104。存储器104可以使物理系统存储器,它可以是易失性的、非易失性的、或者两 者的某一组合。术语"存储器"也可在此用来指示诸如物理存储介质这样的非易失性大容 量存储器。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。 如此处使用的,术语"可执行模块"或"可执行组件"可以指可以在计算系统上执行的软件 对象、例程或方法。此处描述的不同组件、模块、引擎和服务可以被实现为在计算系统上执 行的对象或进程(例如,作为分开的线程)。 在以下描述中,参照由一个或多个计算系统执行的动作描述了多个实施例。如果 这种动作用软件来实现,则执行该动作的相关计算系统的一个或多个处理器响应于所执行 的计算机可执行指令来引导计算系统的操作。例如,这种计算机可执行指令可以体现于形 成计算机程序产品的一个或多个计算机可读介质上。这一操作的示例包括数据的操纵。计 算机可执行指令(以及所操纵的数据)可以被存储于计算系统100的存储器104中。计算 系统100也可以包含通信信道108,通信信道108允许计算系统100通过例如网络110与其 他消息处理器进行通信。 此处描述的实施例可以包括或利用专用或通用计算机,所述专用或通用计算机包 括如以下进一步详细讨论的诸如例如一个或多个处理器和系统存储器这样的计算机硬件。 此处描述的实施例也包括用于实现或存储计算机可执行指令和/或数据结构的物理及其 他计算机可读介质。这种计算机可读介质可以使可由通用或专用计算机系统访问的任何可 用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。实现计算机可执行指 令的计算机可读介质是传输介质。因此,通过示例但非限制,本专利技术的实施例可以包括至少 两种完全不同种类的计算机可读介质:计算机存储介质和传输介质。 计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储器、磁盘存储器或 其他磁性存储设备、或者可用于存储所需程序代码装置的任何其他介质,所述所需程序代 码装置的形式为可由通用或专用计算机访问的计算机可执行指令或数据结构。 "网络"被定义为允许计算机系统和/或模块和/或其他电子设备间的电子数据传 输的一个或多个数据链路。当信息通过网络或另一通信连接(或硬线、无线或者硬线或无 线的组合)被传输或提供至计算机时,计算机将该连接正确地视为传输介质。传输介质可 以包括可用于携带所需程序代码装置的网络和/或数据链路,所述所需程序代码装置的形 式为可由通用或专用计算机访问的计算机可执行指令或数据结构。以上的组合也应被包括 在计算机可读介质的范围内。此外,在达到各个计算机系统组件之际,形式为计算机可执行指令或数据结构的 程序代码装置可以从传输介质被自动传输至计算机存储介质(或反之亦然)。例如,通过网 络或数据链路接收到的计算机可执行指令或数据结构可以在网络接口模块(例如,"NIC") 内的RAM中被缓冲,然后最终被传输至计算机系统RAM和/或计算机系统处的较不易失性 的计算机存储介质。因此,应当理解,计算机存储介质可以被包括在也(或甚至主要)利用 传输介质的计算机系统组件中。 计算机可执行指令包括例如在处理器处执行时使通用计算机、专用计算机或专用 处理设备执行某一功能或一组功能的指令和数据。计算机可执行指令可以是例如二进制 数、诸如汇编语言这样的中间格式指令、或甚至是源代码。尽管已经用对于结构特征和/或 方法动作特定的语言描述了主题,但是应当理解,在所附权利要求书中定义的主题不必要 限于上述的特征或上述动作。相反,所述特征和动作被公开作为实现权利本文档来自技高网...

【技术保护点】
一种包括一个或多个计算机可读存储介质的计算机程序产品,所述计算机可读存储介质上具有计算机可执行指令,所述计算机可执行指令在被计算系统的一个或多个处理器执行时,使所述计算系统执行用于声明具有结构化许可的类型的方法,所述方法包括:定义所述类型内的第一许可分区的动作;以及定义所述类型内的第二许可分区以使所述类型的实例化被允许对于所述第二许可分区具有与所述第一许可分区不同的许可的动作。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:G·S·凯岑伯格J·P·帕森斯A·D·布罗姆菲尔德J·J·达菲K·J·克瓦利纳
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

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

1