[发明专利]库一致性检查器有效
申请号: | 201110159919.1 | 申请日: | 2011-06-03 |
公开(公告)号: | CN102270128A | 公开(公告)日: | 2011-12-07 |
发明(设计)人: | R·拜尔斯;F·佩斯彻-盖里;R·克里希纳斯瓦米 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/45 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 蔡悦 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一致性 检查 | ||
技术领域
本发明涉及计算机领域,尤其涉及计算机领域中的库的管理。
背景技术
使用许多计算机编程系统,例程库可被分布并且由许多不同的程序员使用。库可包含可在许多不同设置中重用的许多操作。例如,一组库可生成用户界面组件,执行与文件有关的操作,或执行网络通信。程序员可使用库来创建许多不同类型的应用。
库(有时被称为部件)可随时间演化和改变,并且可为不同的硬件平台或不同的应用形成库的不同变体。
发明内容
库管理系统可比较编程库之间的合约,以标识库之间的并集、交集及差集。管理系统可带有合约分析器,该合约分析器可从现有的库提取合约定义以形成库合约。库合约可作为编程环境内的第一类项来管理,并且可被用作比较库的现有版本与新版本的参考。库管理系统可使用两个或多个相交的库来创建引用库,以供程序员编写应用程序以及其他用途。
提供本发明内容以便以简化形式介绍将在以下的具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
附图说明
在附图中,
图1是示出网络设置中代码开发环境的实施例的图示。
图2是示出维恩(Venn)图的示例实施例的图示,该维恩图示出库覆盖。
图3是示出一致性检查器的使用场景的示例性实施例的图示。
图4是示出用于对库进行准备以供分析的方法的实施例的流程图。
图5是示出用于将应用程序与库作比较的方法的实施例的流程图。
图6是示出用于将库与主合约定义作比较的方法的实施例的流程图。
具体实施方式
例程库的合约可作为库族内的“第一类”项来管理。一致性检查器可执行实际库与库合约之间的、以及不同合约组之间的各种比较。合约可作为“第一类”项来管理,其中可在库的生存期期间定义并控制合约定义,并且其中合约可被用作与库作比较的主定义。
在许多编程环境中,库可包含可由程序员用于开发应用程序的可重用例程。例如,可为台式或服务器计算机开发强调执行速度的例程库,而可为可针对能量效率来开发例程的便携式设备开发第二个库。这两种库可实现相同的合约集,并且可被用于在两个不同的平台上开发应用程序。
库的合约可为该库中的每一例程定义输入和输出参数。在代码管理系统内,合约可被登记并作为第一类项来管理。第一类项可被认为是其他编程操作可针对它来发生的标准。在一典型的实施例中,可在库内编写例程的实现之前定义库的一组合约。在编码之前可协商合约定义并达成一致,并且一致性检查器可验证所编码的库符合合约定义。
一致性检查器可允许若干不同的使用场景。在带有两个或多个版本的库的实施例中,可使用一致性检查器来标识两个库之间的交集。该交集对标识两个库所共有的例程子集是有用的,使得当程序被限制于该交集时,该程序可与两个不同的库兼容。
在另一使用场景中,两个版本的库的并集可由一致性检查器来标识。两个版本的交集可标识例程的全集,可在标识新例程时使用该全集以确保新例程的名称先前在任何库中没有被定义。
在又一使用场景中,一致性检查器可确定第一个库与第二个库之间的差集。在某些情况下,库管理系统可尝试迫使不存在差集——诸如在实现被假设成精确地符合给定合约的库时。在其他情况下,库管理系统可能想要迫使库支持现有合约的超集。在该情况下,差集可以是“定制”或专用于其他库的额外例程。差集可由程序员分析以确定例如从其应用程序移除哪些调用,使得该应用程序被移植到另一库。
本说明书通篇中,在所有附图的描述中,相似的附图标记表示相同的元素。
在将元素称为被“连接”或“耦合”时,这些元素可以直接连接或耦合在一起,或者也可以存在一个或多个中间元素。相反,在将元素称为被“直接连接”或“直接耦合”时,不存在中间元素。
本发明主题可被具体化为设备、系统、方法、和/或计算机程序产品。因此,本发明主题的部分或全部可以用硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。此外,本发明主题可以采用其上嵌入有供指令执行系统使用或结合其使用的计算机可使用或计算机可读的程序代码的计算机可使用或计算机可读的存储介质上的计算机程序产品的形式。在本文的上下文中,计算机可使用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110159919.1/2.html,转载请声明来源钻瓜专利网。