【技术实现步骤摘要】
本专利技术涉及动态编程语言,更具体地,涉及在结构化环境中执行动态程序。
技术介绍
除非在此有相反指示,否则在本部分中描述的方法不是本申请权利要求的现有技术,并且不因包含在本部分中而承认是现有技术。可以宽泛地将编程语言分类为两类:动态编程语言和非动态编程语言。非动态语言可以被看作是这样一种编程语言,其中,在方法(或过程(procedure))调用之间进行绑定以实现方法发生在编译时。而动态语言则可以被看作是绑定发生在运行时并且通常可以在任何时间在程序中覆写(overwrite)的编程语言。在非动态语言中,方法调用可以是对分配给类的过程的调用。在动态语言中,方法调用可以是要发送给类的实例的消息,而确定如何处理该消息是类的任务。更具体地,术语“动态编程语言”描述的是一类高级编程语言,其在运行时执行许多公共行为(common behaviors),而其它语言即便执行这些公共行为,也是在编译期间执行。这些行为可以包括对程序的扩展,所述扩展包括通过增加新代码、通过扩展对象和定义、或通过修改类型系统的扩展,所有这些都是在程序执行期间进行的。这些行为可以在几乎任何足够复杂的语言中进行仿真,但是动态语言提供直接的工具来对它们加以利用。术语“非动态编程语言”描述的是缺少这些行为的语言。(非动态编程语言也可称为“静态编程语言”。)动态编程语言具有许多实际的或是可认识到的优点。动态编程语言例如通过允许动态类型的变量、以及给予在运行时改变代码和逻辑结构的能力而具有灵活性。许多动态语言是开放式源语言。动态语言允许较高的生产率,因为其例如易于学习并具有简单易懂的句法。动态语言通常允许更 ...
【技术保护点】
一种计算机系统,包括用于在结构化环境中执行动态程序的软件,所述软件包括: 虚拟机软件文件,其实现第一虚拟机,以执行第一程序,其中所述第一程序是以非动态编程语言编写的,其中所述第一虚拟机管理第一堆栈,并且其中所述第一程序使用所述第一堆栈 ;以及 安全桥软件文件,其定义在所述第一程序和第二程序之间的多个所允许的交互路径,其中所述第二程序是以动态编程语言编写的, 其中,所述第一程序在所述第一虚拟机内实现第二虚拟机,以利用多个所允许的交互路径来执行所述第二程序,其中所 述第一程序管理所述第二虚拟机中的第二堆栈,并且其中所述第二程序使用所述第二堆栈。
【技术特征摘要】
US 2007-11-5 11/935,2851.一种计算机系统,包括用于在结构化环境中执行动态程序的软件,所述软件包括:虚拟机软件文件,其实现第一虚拟机,以执行第一程序,其中所述第一程序是以非动态编程语言编写的,其中所述第一虚拟机管理第一堆栈,并且其中所述第一程序使用所述第一堆栈;以及安全桥软件文件,其定义在所述第一程序和第二程序之间的多个所允许的交互路径,其中所述第二程序是以动态编程语言编写的,其中,所述第一程序在所述第一虚拟机内实现第二虚拟机,以利用多个所允许的交互路径来执行所述第二程序,其中所述第一程序管理所述第二虚拟机中的第二堆栈,并且其中所述第二程序使用所述第二堆栈。2.根据权利要求1所述的计算机系统,其中,所述软件还包括:对象存储和运行时库软件文件,其管理多个对象,其中所述多个对象与所述第二程序相关,其中所述第一程序使用所述对象存储和运行时库软件文件来在所述第一虚拟机中执行所述第二虚拟机内的所述第二程序。3.根据权利要求1所述的计算机系统,其中,所述软件还包括:对象存储和运行时库软件文件,其将所述动态编程语言的第一组多个对象映射到所述非动态编程语言的第二组多个对象,其中所述第二虚拟机使用所述第二组多个对象在所述第一虚拟机中执行所述第二程序。4.根据权利要求1所述的计算机系统,其中,所述软件还包括:操作库软件文件,其实现与所述第二程序相关的多个操作,其中所述第一程序使用所述操作库软件文件,以在所述第一虚拟机中使用所述第二虚拟机将动态编程语言中的第一操作作为非动态编程语言中的第二操作来执行。5.根据权利要求1所述的计算机系统,其中,所述软件还包括:编译器软件文件,其将所述第二程序编译为经编译的第二程序,其中所述第一程序在所述第一虚拟机中使用所述第二虚拟机来执行所述经编译的第二程序。6.根据权利要求1所述的计算机系统,其中:所述第二虚拟机是多个第二虚拟机中的一个;所述第二程序是以所述动态编程语言编写的多个第二程序中的一个;所述第二堆栈是多个第二堆栈中的一个;所述第一程序在所述多个第二虚拟机中的相应的一个中管理所述多个第二堆栈中的每一个;所述多个第二程序中各自使用所述多个第二堆栈中的相应的一个;并且所述第一程序在所述第一虚拟机中实现所述多个第二虚拟机,以使用多个所允许的交互路径执行所述多个第二程序,从而使所述多个第二程序中的每一个第二程序与所述多个第二程序中其它的每一个第二程序彼此隔离。7.根据权利要求1所述的计算机系统,其中:所述安全桥软件文件定义在所述第一程序和第三程序之间的多个所允许的交互路径,其中所述第三程序是以动态编程语言编写的;并且所述第一程序在所述第一虚拟机中实现第三虚拟机,以使用所述多个所允许的交互路径来执行所述第三程序,从而使所述第三程序与所述第二程序隔离,其中所述第一程序管理所述第三虚拟机中的第三堆栈,并且其中所述第三程序使用所述第三堆栈。8.根据权利要求1所述的计算机系统,其中,所述第二程序是以所述动态编程语言编写的多个第二程序中的一个,还包括:多个应用服务器,其经由网络连接到多个客户端设备和多个数据库服务器,其中通过增加所述多个应用服务器来提供执行所述多个第二程序的可伸缩性。9.根据权利要求1所述的计算机系统,其中,所述第二虚拟机通过将指令从所述动态编程语言翻译为所述非动态编程语言来执行所述第二程序。10.根据权利要求1所述的计算机系统,其中所述第一程序定义第一组多个对象,其中所述第二程序定义第二组多个对象,其中所述第一虚拟机对所述第一组多个对象进行操作,其中所述第二虚拟机对所述第二组多个对象进行操作,其中,所述软件还包括:...
【专利技术属性】
技术研发人员:雷纳布伦德尔,默里斯波克,
申请(专利权)人:SAP股份公司,
类型:发明
国别省市:DE[德国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。