模型驱动定制框架制造技术

技术编号:16672720 阅读:27 留言:0更新日期:2017-11-30 17:16
在一个示例中,一种计算系统包括:升级系统,被配置为检测用户升级输入以获得所述计算系统的升级版本,所述用户升级输入指示所述计算系统的基版本将通过向所述基版本应用升级改变的集合而被升级;差异生成系统,被配置为获取所述计算系统的所述基版本的定制版本并且识别所述定制版本对应于被应用了定制的所述基版本;组合引擎,被配置为获得被应用于所述基版本的所述定制和所述升级改变,并且将所述定制与所述升级改变进行组合以获得完整改变集合;以及差异应用引擎,被配置为将所述完整改变集合应用于所述计算系统的所述基版本以获得所述计算系统的定制的升级版本。

【技术实现步骤摘要】
【国外来华专利技术】模型驱动定制框架
技术介绍
计算系统目前正在广泛使用。一些计算系统相对较大,并且可以包括例如数千个不同的用户界面和数据实体,如表和其他制品。这些计算系统通常在被部署在给定的实现中之前被定制(一些被深度定制)。例如,可以在各种开发工具上开发计算机程序。许多软件开发人员使用交互式(或集成的)开发环境(IDE)来开发软件。开发人员使用IDE来开发计算系统中的类型模型以及定制这些模型。作为示例,一些计算系统包括企业资源规划(ERP)系统、客户关系管理(CRM)系统、业务线(LOB)系统等。这些类型的计算系统通常包括数以千计的被建模和定制的不同类型。作为示例,一些这样的系统通常单独地具有数千种不同的形式,更不用说许多其他类型。这样的系统通常还包括大量逻辑,以及工作流程和数据实体(例如表),其允许用户访问系统并执行活动或任务的集合,以便在一个他们正在为其工作的特定组织中执行它们的任务。这些系统不是具有大量类型的计算系统的唯一类型。例如,游戏系统或各种各样的其他类型的系统通常还具有在计算系统中建模的数千种不同类型。在计算系统中建模的各种类型被编译(或汇编)到运行时期间运行的程序组件。建模类型可以表示数据或工作流程。例如,计算系统可以将信息存储为实体的集合,其中每个实体表示与组织相关联的项目。例如,客户实体可以表示客户。例如,销售订单实体可以表示销售订单。销售报价实体可以表示销售报价。这些仅是示意性的示例。当这样的计算系统部署在特定的组织中时,为了满足其部署的特定组织的功能需求,计算系统被高度定制是很常见的。通过示例的方式,不同的组织可能期望在给定的表单上具有表示客户实体的不同字段。此外,例如,不同的组织可能期望在费用报告表单上具有计算货币转换的不同逻辑。因此,可以看出,给定的计算系统可以被深度定制,使得其满足正在使用它的给定组织的要求。计算系统还可以具有多个不同的定制层。例如,创建和开发基系统的软件公司可以简单地将系统作为基础产品出售。然后,独立软件供应商(ISV)可以为基础产品生成定制集合,使得可以使用这些定制来转售基本产品。增值经销商(VAR)可以添加另一层定制,产品的最终用户可能与开发合作伙伴建立伙伴关系,其中开发伙伴添加它们自己的定制。目前,当开发人员或其他程序员生成对基本产品的定制时,定制用于覆盖基本产品中的基本应用模型。这样的覆盖是通过用已经做出的改变编译应用模型(以反映定制)来实现的。上面的讨论仅被提供用于一般背景信息,并且不旨在用于辅助确定所要求保护的主题的范围。
技术实现思路
在一个示例中,一种计算系统包括:升级系统,被配置为检测用户升级输入以获得所述计算系统的升级版本,所述用户升级输入指示所述计算系统的基版本将通过向所述基版本应用升级改变的集合而被升级;差异生成系统,被配置为获取所述计算系统的所述基版本的定制版本并且识别所述定制版本对应于被应用了定制的所述基版本;组合引擎,被配置为获得被应用于所述基版本的所述定制和所述升级改变,并且将所述定制与所述升级改变进行组合以获得完整改变集合;以及差异应用引擎,被配置为将所述完整改变集合应用于所述计算系统的所述基版本以获得所述计算系统的定制的升级版本。本
技术实现思路
旨在以简化的形式介绍一些概念,这些概念在下面的详细描述中进一步描述。本
技术实现思路
不旨在识别所要求保护的主题的关键特征或必要特征,也不旨在用于辅助确定所要求保护的主题的范围。所要求保护的主题不限于解决
技术介绍
中指出的任何或所有缺陷的实现。附图说明图1是开发通道的一个示例的框图。图2是具有用于开发基系统的开发功能的开发架构的一个示例的框图。图3-1是用于生成定制系统的方法的一个示例的流程图。图3-2示出了基类型的XML文件表示的一个示例。图4是差异/组合引擎的一个示例的框图。图5是使用存储的增量来构建定制系统的方法的一个示例的流程图。图6示出了可视化系统的一个示例。图7-1和7-2是集成视图的示例的屏幕截图。图8是用于向开发人员可视化定制和冲突的方法的一个示例的流程图。图8-1、8-2和8-3示出了已经被定制的示例元件。图8-4是冲突解决窗口的一个示例的屏幕截图。图8-5和图8-6是示出层次定制冲突的视图的示例的屏幕截图。图9-1、9-2和9-3是生命周期管理系统提供的用户界面示例的屏幕截图。图10是用于升级基系统的方法的一个示例的流程图。图11A是DSL建模系统的一个示例的框图。图11B是更详细地示出了类型存储的图2所示的架构的一部分的一个示例。图11C是更详细地示出了应用类型存储和运行时环境的图2所示的架构的一部分的框图。图11D是示出了图11A所示的DSL建模系统的操作的一个示例的流程图。图12A-12C示出了用户界面显示的示例。图12D-1至12D-5(在本文中统称为图12D)示出用于DSL的XML的一个示例和用于DSL扩展的DSL的一个示例。图13是示出了部署在云计算架构中的图2所示的架构的一个示例的框图。图14-16示出了可以在先前图中讨论的架构中使用的移动设备的各种示例。图17是可以在前面附图中阐述的体系结构的各个部分中使用的计算环境的一个示例的框图。具体实施方式图1是开发通道100的一个示例的框图。开发通道100可以示意性地包括系统开发人员102、独立软件供应商(ISV)104、增值经销商(VAR)106、伙伴或客户108、运行时环境110、和终端用户112。图1示出了系统开发人员102可以示意性地是设计和开发诸如基本业务软件系统的基系统114的原始软件制造商。例如,基系统114可以是游戏系统、ERP系统、CRM系统、LOB系统等。根据系统的类型,基系统114在部署在运行时环境110之前被深度定制或扩展,以供一个或多个终端用户112使用。作为示例,ISV104通常定制基系统114并使其可用于增值经销商106,增值经销商106他们自己定制基系统114(在其已经由独立软件供应商104定制之后)。还可以是,诸如最终用户112的组织的客户108期望甚至进一步定制基系统114以满足组织的功能需求,使得其可以在运行时环境110中成功地被部署。替代地或者另外地,客户108可以在进一步定制基系统114时与伙伴合作。这种类型的定制可能是有问题的。例如,当系统开发人员102尝试发布对基系统114的更新时,该更新在某些方面可能与最终用户的定制不兼容。因此,如果最终用户尝试安装更新,则可能会产生问题。此外,即使在系统开发人员102简单地尝试维护基系统114的代码库的情况下,这也可能产生维护与ISV104、VAR106、和/或客户108所做的定制相冲突的问题。图2是开发(定制)架构200的一个示例的框图,该架构200具有用于开发具有在计算系统中运行的应用元素(或对象)的基系统202的开发功能。作为示例,开发架构200可以由ISV104、VAR106和/或客户108中的任何一个用来定制基系统202以满足组织的功能需求,使得定制系统204可以成功地部署在由组织的最终用户208使用的运行时环境206中。在该示例中,架构200可以表示图1所示的开发通道100的任何部分。图2示出了在一个示例中基系统202包括模型210。模型210包括容纳对应的元数据212并且也可以具有代码214的容器。在所示示例中,模型210包括对应于本文档来自技高网
...
模型驱动定制框架

【技术保护点】
一种计算系统,包括:升级系统,其检测用户升级输入以获得所述计算系统的升级版本,所述用户升级输入指示所述计算系统的基版本将通过向所述基版本应用升级改变的集合而被升级;差异生成系统,其获取所述计算系统的所述基版本的定制版本并且识别所述定制版本对应于被应用了定制的所述基版本;组合引擎,其获得被应用于所述基版本的所述定制和所述升级改变,并且将所述定制与所述升级改变进行组合以获得完整改变集合;以及差异应用引擎,其将所述完整改变集合应用于所述计算系统的所述基版本以获得所述计算系统的定制的升级版本。

【技术特征摘要】
【国外来华专利技术】2015.03.16 US 62/133,888;2015.07.15 US 14/800,3931.一种计算系统,包括:升级系统,其检测用户升级输入以获得所述计算系统的升级版本,所述用户升级输入指示所述计算系统的基版本将通过向所述基版本应用升级改变的集合而被升级;差异生成系统,其获取所述计算系统的所述基版本的定制版本并且识别所述定制版本对应于被应用了定制的所述基版本;组合引擎,其获得被应用于所述基版本的所述定制和所述升级改变,并且将所述定制与所述升级改变进行组合以获得完整改变集合;以及差异应用引擎,其将所述完整改变集合应用于所述计算系统的所述基版本以获得所述计算系统的定制的升级版本。2.根据权利要求1所述的计算系统,其中所述组合引擎还包括:差异计算引擎,其识别要对所述计算系统的所述基版本作出的所述完整改变集合以获得所述计算系统的所述定制的升级版本,并且将所述完整改变集合保存为对应于所述定制的升级版本。3.根据权利要求2所述的计算系统,所述差异生成系统应用定义所述计算系统的类型系统框架的元模型,以检查所述定制版本中的类型的原语,从而确定改变已经被作出。4.根据权利要求3所述的计算系统,其中所述差异计算引擎包括:原语差异计算组件,其通过识别对其作出改变的所述定制版本中的类型来识别所述完整改变集合,将所述定制版本中的所述类型拆解为其原语组件,以及将所述原语组件与所述基版本中的所述类型中的对应原语组件进行比较,并且所述原语差异计算组件识别对其作出改变的所述升级版本中的类型,将所述升级版本中的所述类型拆解为其原语组件,以及将所述原语组件与所述基版本中的所述类型中的对应原语组件进行比较。5.根据权利要求3所述的计算系统,其中所述差异应用引擎包括:原语差异应用组件,其通过识别对其作出改变的所述升级版本中的类型来将所述完整改变集合应用于所述基版本,将所述类型拆解为其原语组件,向所述原语组件应用升级改变以获得升级的原语组件,以及向所述升级的原语组件应用所述定制。6.根据权利要求1所述的计算系统,还包括:冲突解决系统,其识别所述定制和升级改变之间的冲突。7.根据权利要求6所述的计算系统,其中所述冲突解决系统包括:自动解决组件,其识别能够被自动解决的被识别的冲突的集合,并且自动地解决被识别的冲突的所述集合。8.根据权利要求6所述的计算系统,其中所述冲突解决系统包括:冲突显现组件,其识别要被显现用于手动解决的冲突并且在用户界面显示器上显现所述被识别的冲突,所述用户界面显示器具有被致动以解决所述被识别的冲突的冲突解决用户输入机构。9.根据权利要求1所述的计算系统,其中至少...

【专利技术属性】
技术研发人员:T·卡敏斯基S·纳拉亚南J·S·汉森R·巴达维A·W·朱斯布里N·萨哈I·贝克余亮
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

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

1