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

使用硬件抽象执行软件应用程序的方法和系统技术方案

技术编号:8300742 阅读:133 留言:0更新日期:2013-02-07 04:07
本发明专利技术涉及一种使用虚拟机(VM)(205)执行软件应用程序(210)的方法和系统。确定目标硬件平台(215)的硬件描述语言(HDL)描述。基于HDL描述,可编程硬件组件(步骤315)配置为功能上等效于目标硬件平台(215)。使用经配置的可编程硬件组件(步骤315)执行该软件应用程序(210),例如在VM(205)中通过执行该软件应用程序(210),转而,由经配置的可编程硬件组件(步骤315)执行。

【技术实现步骤摘要】
使用硬件抽象执行软件应用程序的方法和系统
本专利技术一般涉及使用硬件抽象的软件应用程序的方法和系统。尤其,本专利技术一般涉及现有软件的再利用,并且更具体地,涉及使用硬件抽象执行软件应用程序(例如,经认证的软件应用程序)的方法和系统。
技术介绍
现有软件应用程序与随时间被写的数千亿行源代码有关。通常,该源代码转换(例如,编译)为通过特定的物理硬件平台可执行的目标代码。物理的硬件设备最终也变得过时。一旦出现该硬件过时,即使原始设计保持所需功能,但要获得特定的硬件平台已不再可能。通常,系统供应商无法控制何时硬件制造商决定停止其硬件芯片的生产。因此,使用传统的软件开发和交付方法的与具体硬件平台相关的软件应用程序,在目标硬件平台过时的时候,尤其是软件应用程序的源代码不可再用的情况下,必须被重新实施(例如,重写),。进一步地,在关键任务环境下使用软件应用程序之前,一些软件应用程序必须相对于目标硬件平台进行认证。新硬件平台上该软件的认证,可将相当大的延迟和/或成本引入所用软件的交付过程,同时不添加附加功能价值。
技术实现思路
一方面,提供一种用于执行软件应用程序的方法,其中该软件应用程序经认证通过目标硬件平台执行。本方法包括确定目标硬件平台的硬件描述语言(HDL)描述。基于HDL描述,硬件组件配置为在功能上等效于目标硬件平台。使用被配置的硬件组件执行软件应用程序。另一方面,提供在使用虚拟机(VM)执行软件应用程序中使用的设备。该设备包括存储设备和耦合至该存储设备的可编程硬件组件。存储设备配置为存储虚拟机(VM)和软件应用程序。基于目标硬件平台的硬件描述语言(HDL)描述,该可编程硬件组件被编程。可编程硬件组件被编程,从而执行该软件应用程序,该软件应用程序经认证通过目标硬件平台和HDL描述之中的至少一个执行。又一个方面,提供了一种用于执行使用虚拟机(VM)的软件应用程序的方法。本方法包括选择执行VM的目标硬件平台。确定目标硬件平台的硬件描述语言(HDL)描述。基于HDL描述,可编程硬件组件被编程,然后使用被编程的可编程硬件组件执行VM。附图说明图1示出示例性计算设备的方框图。图2示出计算设备示例性配置的方框图,其中该计算设备可用于使用虚拟机来执行软件应用程序。图3示出在使用VM执行软件应用程序中使用的示例性方法的流程图。图4示出计算设备示例性配置的方框图,其中该计算设备可使用第二虚拟机用于为软件应用程序添加功能,其中第二虚拟机通过主机操作系统执行。图5示出计算设备示例性配置的方框图,其中该计算设备使用第二虚拟机用于为软件应用程序添加功能,其中第二虚拟机通过本地虚拟化层执行。图6示出计算设备示例性配置的方框图,其中该计算设备可被用于使用第二软件应用程序向通过虚拟机执行的一软件应用程序添加功能,其中第二软件应用程序由主机OS执行,其中该主机OS也执行虚拟机。具体实施方式通过有效利用由硬件描述语言(HDL)和虚拟化提供的硬件抽象,在此提供的实施例促进了在新硬件平台上重用遗留软件。更具体地,可使用硬件平台的虚拟化和硬件描述语言(HDL)描述,来获得硬件和软件平台,其能够用于延长使用期限(例如,数十年),这将比特定的硬件平台的使用寿命要长。即使当软件的源代码不可再用和/或没有包涵关于新硬件平台的软件认证费用,该实施例还能够使该软件继续使用。图1示出示例性计算设备100的方框图。在示例性实施例中,计算设备100包括通信结构102,其提供处理器单元104、内存设备106、永久性存储器108、通信单元110、输入/输出(I/O)单元112以及例如显示器114的展示界面之间的通信。此外,或可选地,展示界面可包括音频设备(未示出)和/或任何能够将信息传递给用户的设备。处理器单元104执行软件指令,其中该指令可被装载至内存设备106。依据特定实施例,处理器单元104可以是一个或更多处理器或可包括多个处理器核心。进一步地,使用一个或更多异构处理器系统可实施处理器单元104,其中在异构处理器系统中,在单个芯片上包括主处理器和辅助处理器。在另一个实施例中,处理器单元104可以是含有相同类型的多个处理器的同构处理器系统。内存设备106和永久性存储器108为存储设备的例子。如在此使用的,存储设备是任何能够暂时和/或永久地存储信息的硬件部件。例如,但不限于,内存设备106可以是随机存取存储器和/或任何其他适合的易失性或非易失性存储设备。依据特定实施例,永久性存储器108可以采用多种形式,并且永久性存储器108可含有一个或更多组件或设备。例如,永久性存储器108可以是硬盘、闪存、可重写光盘、可重写磁带和/或上述一些组合。永久存储器108使用的介质也可以是可移动的。例如,但不限于,可移动硬盘可用于永久存储器108。存储设备配置为用于存储在此描述的用于过程中的数据,例如内存设备106和/或永久存储器108。例如,存储设备可存储一个或更多软件应用程序(例如,包括源代码和/或计算机可执行指令),例如虚拟机和/或其他软件应用程序,和/或适用于在此描述的方法的任何其他信息。在这些例子中,通信单元110提供了与其他计算设备或系统的通信。在示例性实施例中,通信单元110包括一个或更多网络接口卡。通信单元110通过使用物理和/或无线通信链路可提供通信。输入/输出单元112能够用于与其他可连接至计算设备100的设备之间进行输入和输出数据。例如,但不限于,通过用户输入设备,例如键盘和/或鼠标,输入/输出单元112可提供用户输入连接。进一步,输入/输出单元112可将输出发送至打印机。显示器114提供一种为用户显示信息的装置。例如,展示界面,诸如显示器114可显示图形用户界面,例如在此所述的那些界面。操作系统和应用或程序的指令位于永久存储器108中。这些指令可被装载至内存设备106中以便由处理器单元104执行。通过处理器单元104使用计算机实施指令和/或计算机可执行指令,执行不同实施例过程,其中这些指令可位于存储装置中,例如内存设备106。这些指令可被称为程序代码(例如,目标代码和/或源代码),其可由处理器单元104中的处理器读取和执行。不同实施例中的程序代码可储存在不同物理或有形计算机可读介质上,例如内存设备106或永久存储器108。程序代码116可以功能或函数形式位于一个或更多存储设备上(例如,内存设备106、永久存储器108和/或计算机可读介质118),该存储设备选择性地可移动,并且可被装载至或传输至计算设备100上以便由处理器单元104执行。在这些例子中,程序代码116和计算机可读介质118形成计算机程序产品120。例如,在一个例子中,计算机可读介质118可以是有形的形式,例如,可被插入或放至驱动器或其他设备内的光盘或磁盘,其中驱动器或其他设备为传输至存储器设备的永久存储器108一部分,例如硬盘,其为永久存储器108一部分。以有形的形式,计算机可读介质118还可采用连接至计算设备100的硬盘、优盘或闪存的形式。计算机可读介质118的有形形式还被称为计算机可读存储介质。在一些实例中,计算机可读介质118可以是不可移动的。可选地,通过到通信单元110的通信链路和/或通过到输入/输出单元112的连接,程序代码116从计算机可读介质118可被传输至计算设备100。在示例性例子本文档来自技高网...
使用硬件抽象执行软件应用程序的方法和系统

【技术保护点】
一种用于执行由目标硬件平台(步骤305)执行的软件应用程序(210)的方法,所述方法包含:确定所述目标硬件平台(步骤310)的硬件描述语言(HDL)描述;基于所述HDL描述(步骤315),将可编程硬件组件(步骤315)配置成功能上等效于所述目标硬件平台(步骤305);以及使用所述经配置的可编程硬件组件(步骤315)执行所述软件应用程序(210)。

【技术特征摘要】
2011.06.28 US 13/170,6011.一种在执行由目标硬件平台执行的软件应用程序(210)时使用的方法,所述方法包含:确定所述目标硬件平台的硬件描述语言描述即HDL描述;基于所述HDL描述,将可编程硬件组件配置成至少功能上等效于所述目标硬件平台,使得实现所述软件应用程序与所述可编程硬件组件的兼容性,其包括将提供仿真加速的至少一个附加汇编指令添加至所述目标硬件平台支持的汇编指令集;由所述可编程硬件组件执行本地虚拟化层,所述本地虚拟化层配置为在第一虚拟I/O设备和第二虚拟I/O设备之间路由数据,所述第一虚拟I/O设备和第一本地虚拟机内的第一虚拟机即第一VM关联,所述第二虚拟I/O设备和第二本地虚拟机关联;以及使用经配置的可编程硬件组件执行所述软件应用程序(210)。2.根据权利要求1所述方法,其中执行所述软件应用程序(210)包含:使用所述经配置的硬件组件执行所述第一VM(205);以及使用所述第一VM(205)执行所述软件应用程序(210)。3.根据权利要求2所述方法,其中所述目标硬件平台(215)为第一硬件平台(215),并且所述软件应用程序(210)与第二硬件平台有关,所述方法还包含配置所述第一VM(205),从而提供仿真所述第二硬件平台的虚拟硬件平台。4.根据权利要求2-3中任一项所述的方法,其中所述软件应用程序(210)为第一软件应用程序(210),所述方法还包含:使用所述经配置的可编程硬件组件执行第二软件应用程序(445、610),其中所述第二软件应用程序(445、610)包括所述第一软件应用程序(210)中未包括的附加的功能;以及将数据从所述第一软件应用程序(210)路由至所述第二软件应用程序(445、610),其中所述数据包括请求和命令之中...

【专利技术属性】
技术研发人员:J·N·霍特拉D·E·特纳
申请(专利权)人:波音公司
类型:发明
国别省市:

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

1