使用活动场所的互动学习工具的制作方法

文档序号:12287752阅读:194来源:国知局
使用活动场所的互动学习工具的制作方法与工艺

1.技术领域

本主题技术涉及用于促进应用程序开发的方法、系统和计算机可读介质,并且更具体地涉及为源代码开发者提供反馈和建议。

2.介绍

许多现代编程语言需要高级的编辑和编译软件以便对源代码进行编辑、调试以及编译。在一些开发环境中,用户(即,开发者或编程者)在测试新的代码之前必须从事若干个手动步骤。例如,在典型的开发生命周期中,在调试可开始之前源代码必须被分别地编辑、编译及运行(执行)。



技术实现要素:

在某些方面,本公开主题涉及计算机实现的方法,包括以下步骤:在编辑器窗口中接收来自用户的源代码,自动地编译源代码以产生经编译的代码,执行经编译的代码以生成输出,其中输出包括来自经编译的代码的执行的一个或多个结果,并且向用户提供结果窗口,结果窗口显示来自经编译的代码的执行的结果中的至少一个结果。在一些方面,该方法可还包括用于向用户提供可视化窗口的步骤,其中该可视化窗口与进度时间线相关联,并且其中可视化窗口被配置为显示来自经编译的代码的执行的结果中的至少一个结果的动画。

在另一方面,本公开主题涉及一种系统,该系统包括一个或多个处理器,和包括存储于其中的指令的计算机可读介质,该指令当由处理器执行时,使得处理器执行操作,该操作包括:在编辑器窗口中接收来自用户的源代码,自动地编译源代码以产生经编译的代码,自动地执行经编译的代码以生成输出,其中输出包括来自经编译的代码的执行的一个或多个结果,并且向用户提供结果窗口,结果窗口显示来自经编译的代码的执行的结果中的至少一个结果。在一些方面,该指令可还包括向用户提供可视化窗口,其中该可视化窗口与进度时间线相关联,并且其中该可视化窗口被配置为显示来自经编译的代码的执行的结果中的至少一个结果的动画。

在另一方面,本公开主题涉及包括存储于其中的指令的计算机可读介质,该指令当由处理器执行时使得处理器执行操作,该操作包括:在编辑器窗口中接收来自用户的源代码,自动地编译源代码以产生经编译的代码,自动地执行经编译的代码以生成输出,其中输出包括来自经编译的代码的执行的一个或多个结果,并且向用户提供结果窗口,结果窗口显示来自经编译的代码的执行的结果中的至少一个结果。在一些方面,该指令可还包括向用户提供可视化窗口,其中该可视化窗口被配置为显示来自经编译的代码的执行的结果中的至少一个结果的动画。

应当理解,根据下面的具体实施方式,本主题技术的其他构型对本领域的技术人员将变得显而易见,其中本主题技术的各种构型以举例的方式被示出以及被描述。本主题技术能够在不脱离本主题技术的范围的情况下针对其他的以及不同的构型及其若干个细节在各种方面进行修改。因此,具体实施方式和附图被认为是示例性的并且在本质上没有限制。

附图说明

本主题技术的一些特征结构在所附权利要求书中被示出。然而,被包括以提供进一步理解的附图示出了本发明所公开的各个方面并且连同说明书一起用于解释本主题技术的原理。在附图中:

图1A示出了根据本公开的一些方面的用于有助于代码编辑、编译和调试的示例性方法的步骤。

图1B示出了根据本技术的一些方面的用于提供与动画的输出对应的进度时间线的示例性方法的步骤。

图2A-2D示出了根据一些方面的结合代码编辑器提供的示例性显示。

图3示出了实现本技术的一些方面所利用的电子系统的示例。

具体实施方式

下面示出的具体实施方式旨在作为本主题技术的各种配置的描述并且不旨在表示主题技术可被实践的唯一配置。附图被并入本文并且构成具体实施方式的一部分。该具体实施方式包括具体细节用于提供对本主题技术的更彻底的理解的目的。然而,将清楚且显而易见的是,本主题技术不受限于本文示出的具体细节并且可在没有这些细节的情况下被实践。在一些情况下,以框图形式示出了结构和部件,以便避免模糊本主题技术的概念。

困扰现代软件开发的一个不便是新创建(或新编辑)的代码在结果可被查看之前必须被手动地编译和运行,在结果可被查看时调试被执行。为了测试少量的源代码的目的,该开发生命周期可证明是麻烦的且耗时的。因此,需要一种编辑、测试和调试的更加方便的装置。

本主题技术的方面通过提供用于自动地编辑、补充和编译该编程源代码的方法和系统解决了前述问题。本技术的方面还实现了用于提供些变量的输出的实时可视化和显示,并且在代码执行的同时提供了代码执行的结果。

在一些具体实施中,提供了基于应用的编程环境,其中源代码可从编程者/开发者接收,并且被自动编辑以及编译以用于进一步的查看。如下面更加详细地讨论的,例如在结合编辑器界面被提供的结果窗口中或者在其中实时动画变量输出可被查看的可视化窗口中,代码执行的相关的和/或所关注的方面可被自动地显示给用户。另外,可提供开发者指导和/或建议,以例如帮助用户改正或完成源代码语句。

图1A示出了用于编辑、编译和运行源代码的示例性方法100的流程图。方法100开始于步骤102,其中例如在由编辑器应用程序提供的编辑器窗口中源代码输入(或者编程代码)从用户(例如,开发者或者编程者)被接收。应当理解,编辑器应用程序可利用各种编程语言来实现并且不限于特定的语言。以举例的方式,编辑器应用程序可为集成开发环境并且可与面向对象编程(OOP)语言诸如Swift、Objective-C、C++、Java和/或MacRuby等或者用其他类型的语言一起使用。

在实施过程中,用户/编程者将代码(例如,通过键入)提供到编辑器应用程序的编辑器窗口界面中。尽管代码输入可由编辑器应用程序使用输入设备诸如键盘接收,在不脱离本主题公开的范围的情况下可使用其他输入装置。以举例的方式,源代码还可通过麦克风接收(例如,使用听写软件模块),和/或可从一个或多个预存的文件加载。在另一个实施方案中,源代码可由编辑器应用程序通过另一个输入设备接收,诸如被用于将一行或多行源代码复制(或剪切)并粘贴到编辑器窗口中的计算机鼠标。

在任选的步骤104中,用户的代码输入的状态被评估,例如以识别可指示其中输入的代码可被评估的合适次数的代码输入中的任何停止或停留。尽管在一些方面,源代码的评估响应于检测到代码输入或编辑被执行(如在任选的步骤104中),其他事件还可触发代码评估。例如,代码评估可响应于由用户作出的手动选择被执行和/或可在预先确定的时间段之后被自动执行。以另一个示例的方式,代码评估可由事件的发生触发(或者检测到事件不发生),诸如基于确定代码输入的预先确定的阈值(诸如行或者函数语句的数量)已被超过或满足。这样,即在没有来自用户的代码评估/编译应当被执行的明确指令的情况下,代码评估可被自动执行。

如果在任选的步骤104中确定了用户正在继续在编辑器界面的编辑器窗口中输入/编辑代码,则方法100转向步骤102,并且编辑器应用程序继续接收源代码输入。然而,如果在步骤104中确定用户已停止在编辑器应用程序中输入/编辑代码,则方法100前进至步骤106,其中输入的代码语句被评估。另选地,在一些具体实施中,方法100的行进可在检测到完成或者可编译代码语句上被断定。在一些方面,例如在正在进行的基础上,步骤104可被完全跳过,即输入的代码可被自动地评估,例如如步骤106-112所述的。

代码评估可以各种方式被执行。在一个方法中,输入的代码可针对语法、语义和/或函数完整性和准确性被评估。语法错误诸如印刷错误或者语言结构中的错误可被识别。类似地,代码语句和函数的准确性和/或完整性可被评估,并且错误或者缺失的代码也可被识别。如果在步骤106中确定所接收的源代码的代码语句是不充分或者不正确的,则方法100行进至步骤108,其中编辑器应用程序可自动地生成补充代码,该补充代码可被需要用于改正步骤106中识别的语法或语义错误。

在步骤108中生成补充代码可被用于扩充编程者的源代码以修复不完整的或者错误的代码语法。类似地,补充代码可被用于修复语义缺陷,诸如逻辑不正确(或者不完整)的语句和/或函数。在添加补充代码(或者移除外部的语句)的情况下,源代码可被放置在用于自动编译的环境中,如下面进一步所述的。

如下面更加详细地讨论的,补充代码可被显示,例如使用被提供给用户/开发者的结果窗口和或可视化窗口。这样,补充代码可被提供给开发者,例如以通知或者指示开发者该源代码可被改善和/或更正的相关方式。

随后,在步骤110中,编辑器应用程序自动地生成被插入在源代码中的各个位置处的日志语句。此类日志语句表示编辑器应用程序生成的补充代码的另外的形式。如本领域的技术人员理解的,包括打印/返回语句的日志语句可被用于提供对应的代码行的输出(例如,在运行时)。在某些方面,包括打印或返回语句的补充代码的插入可被用于向用户/编程者示出在代码的各个位置处(例如,行位置)正被产生的值或输出。

在一些方面,包括日志语句的补充代码可被插入到源代码的中间表示(例如,源代码的备份、位编码、字节编码或者LLVM IR)中,使得在用户不知道的情况下改变或添加不被自动地作出到初始输入的源代码。

在步骤112中,包括在步骤108和/或步骤110处生成的扩充的补充代码的源代码被自动地编译和/或运行(执行)。在步骤112中执行的编译可被作为编辑器应用程序的后台操作执行并且不被明确地向用户指示。在此类方法中,包括扩充的补充代码的代码的评估/编译在没有用户的明确指令的情况下被自动地执行。来自步骤112的编译的各种输出(以及中间结果)可被记录为编程者可能感兴趣的信息。以举例的方式,用于记录的感兴趣的项目可包括:变量的声明、变量赋值、类别定义、对象和/或目标函数等。

在步骤114中,例如在由编辑器应用程序提供的显示窗口,中源代码执行的结果和/或互动式指导被提供给用户/编程者。在一些方面,显示窗口可包括示出了某些字母数字输出(例如,来自一个或多个变量和针对一行或多行代码)的结果窗口。另外,显示窗口可包括其中代码执行的结果可被显示或动画的可视化窗口。以举例的方式,可视化窗口可被用于指示特定变量和/或参数中的改变,或者用于显示通过代码执行产生/输出的图像或视频内容。本文提供的若干个示例涉及使用可视化窗口来提供动画的输出,然而,应当理解的是,可视化窗口不限于对动画的显示。相反,可视化窗口可被用于以图像的形式表示能够进行图像表示的任何变量、输出和/或代码函数的动态改变。以举例的方式,可视化窗口可被用于显示图形(例如,在X,Y坐标空间)或者显示特定结果随时间呈现的不同值的列表。

尽管源代码的输出可以各种方式提供给编程者,但是在一些具体实施中代码执行的结果被提供在编辑器应用程序的通用窗口诸如结果窗口中。在一些方法中,在结果窗口中显示的结果/输出相邻于其中源代码被从用户输入/接收的编辑器窗口而被提供。即,源代码的特定行的结果/输出或者多行/语句可以对应地相邻于相关联代码的方式而被显示,以例如指示对应的输出或结果。包括结果窗口和可视化窗口的编辑器应用程序显示的另外的示例在下面相对于图2A-2D更加详细地进行讨论。

另外,在一些具体实施中,步骤114的显示是为了用于向用户/编程者提供交互式反馈或建议,以例如更正或扩充用户输入的源代码的部分。例如,正在利用新的编程语言实验或者正在学习新的编程语言的用户可从在编辑器应用程序显示的显示窗口中提供的交互式指导中获益。

在步骤114中生成的输出/显示(例如,显示窗口)可提供教育性的指导诸如代码片段,或者与对应的代码的功能或者语法结构有关的纯语言描述。显示窗口还可被用于提供针对另外的代码的建议,包括可被用于更正、完成和/或优化所接收的代码的功能语句。

独立于对该对应的源代码的进一步编辑/改变,被提供给用户的结果和/或指导可为暂时可用的。例如,来自第一迭代的代码编辑的结果可被可视化地降低(例如,“变灰”),以示出特定的结果或输出不再与代码的当前迭代相关。这样,用户/开发者可被快速地提供反馈,从而指示响应于最近的编辑或改变而已发生的改变。

另外,例如在结果窗口和/或可视化窗口的一者或者两者中,某些结果被提供的方式可取决于相关联的输出的数据类型。以举例的方式,字母数字数据可在与一个或多个对应的代码行相邻的结果窗口中被显示。另选地,图像输出(例如,JPEG,TIFF,PNG等)、或者视频输出(例如,QuickTime文件格式、MPEG4、AVI和/或WebM格式等)可在可视化窗口中被提供。

图1B示出了根据本技术的一些方面的用于提供与动画的输出对应的进度时间线的示例性方法117的步骤。如将在下面进一步详细所述的,本主题技术的编辑器应用程序可被配置为提供通过所接收的源代码的执行实现的结果的动画的输出。在一些具体实施中,对动画的显示连同时间线滑块(即,“进度时间线”)一起被提供,该时间线滑块提供相应的变量输出的动画显示的流逝/剩余时间量的可视化指示。如图1B中所指示的,方法117开始于步骤118,其中源代码在代码编辑器应用程序的编辑器窗口中被接收(例如,来自用户)。如上面相对于方法100的步骤102所讨论的,可使用输入设备在编辑器窗口中接收源代码诸如键盘,或者另一个输入装置诸如麦克风(例如,使用指示软件模块)。

在步骤120中,所接收的源代码被自动地编译以产生经编译的代码。尽管在一些方面自动地编译所接收的源代码的决策可依据某些事件的发生(或者不发生)视情况而定,编译还可在持续的基础上或者基于检测到输入的代码语句或者函数的完成的阈值水平而自动进行。

在步骤122中,经编译的代码被执行以生成包括来自经编译的代码的执行的结果的输出。应当理解,结果可基于不同类型的变量或函数。因此,单个的结果可包括不同的数据类型,诸如字母数字数据、声音和/或图像诸如图形或者图片。另外,输出结果可包括可视地表示的数据的序列,其可被作为视频输出显示,即作为动画的序列或电影等。

在步骤124中,使用结果窗口提供结果中的至少一些结果。如相对于图2A更加详细的所讨论的,结果窗口可被用于显示被使用字母数字字符格式化的输出。以举例的方式,结果窗口可被用于显示数字输出,例如以指示从对应的源代码行得到的变量值或者计算。

在步骤126中,可视化窗口被提供,其中可视化窗口与进度时间线相关联并且被配置为显示结果中的至少一个结果的动画。如下面更加详细地所讨论的,可视化窗口可被用于显示图像、视频和/或由源代码生成或修改的数据的动画的表示。在一些方面,进度时间线可被用于提供其中动画情景被播放的时间线的实时指示器。与由可视化窗口显示的动画输出相关的可视化方面可取决于用于对应的源代码的数据类型和/或函数类型。

进度时间线可被用于擦洗通过针对对应的动画执行的显示。以举例的方式,与图形显示对应的图像输出可通过进度时间线的操纵被加快或者倒退。即通过操纵进度时间线的滑块,该用户可查看对应的图像输出的不同执行点,如参考图2C进一步解释的,这在下面进行了讨论。

在一些方面,当使用可视元件工作时,用户/开发者可指示将使得所选择的元素或者变量在执行时被显示的选择。以举例的方式,源代码中的多个元素或者设定点可与时间线按时间顺序对应地被显示,使得每个所选择的元素的结果/输出在执行时被提供。

图2A示出了根据本技术的一些方面的编辑器应用程序200的示例性界面。编辑器应用程序200包括编辑器窗口202和结果窗口204。在例示的示例中,结果窗口204包括各种功能选项,该各种功能选项包括快速检查按钮205和圆圈图标206。

在实施过程中,编程代码通过输入到编辑器窗口202中(例如,由开发者/编程者)而由编辑器应用程序接收,并且与输入的代码的输出值对应的逐行的结果在结果窗口204中被提供。如上面相对于方法100讨论的,在结果窗口204中提供的结果/输出从输入到编辑器窗口202中的可编译代码被自动地生成。例如取决于优选的用户配置,尽管对该对应结果/输出的显示可以各种方式被执行,但是在一些方面,结果相邻于产生该结果/输出的源代码被显示,从而在逐行的基础上指示相应的结果/输出。例如,在图2A中,表达式“2+2”(在编辑器窗口202的行4上提供)与结果窗口204中相邻显示的输出(即,数字“4”)对应。

其他数据输出类型可被提供给用户。例如,其他类型的变量结果诸如图像或颜色可在结果窗口204中被显示,或者在另一个显示窗口诸如下面更加详细地讨论的可视化窗口中被显示。快速检查按钮205可被用于指示图像或者动画视频输出是可用的。圆圈图标206可指示编程循环或者循环功能的结果诸如图可用于进行显示。在每个示例中,与快速检查按钮205和/或圆圈图标206的用户交互可使得显示与可执行代码的特定输出和/或行有关的附加信息。例如,选择快速检查按钮205或者圆圈图标206可使得打开被配置为显示图像或者动画输出的可视化窗口。

图2B示出了编辑器应用程序200的界面的另一个示例。在图2B所示的示例中,快速检查按钮205已被选择,从而导致显示可视化窗口208,该可视化窗口208提供对应的源代码的图像输出。取决于数据类型,诸如由可视化窗口208提供的图像输出使用各种色板或美学方案。

图2C示出了响应于在结果窗口204中选择圆圈图标206而在编辑器应用程序200的可视化窗口208中显示的图像210。在该示例中,图像210显示源代码行7-10的循环的结果。在图2C的示例中,可视化窗口208进一步包括时间线滑块211,其提供与特定输出对应的动画显示的相对完成的时间指示。

以举例的方式,在图2C的示例中,时间线滑块211指示图像210所示的图像功能的动画输出的相对完成。在该示例中,用户可使时间线滑块211前进或倒退,例如以倒回或者加快与对图像210的显示对应的代码的执行。

在另一个方面,时间线滑块可指示在代码执行期间(例如,滑块可被设置成右侧)的最大时间流逝。即时间线滑块211可表示正在被活动执行的代码的最远的时间进度点。一旦代码执行完成,时间线滑块211可被用户操纵,例如以将结果窗口204和/或可视化窗口208的内容倒回至较早的执行点。

图2D示出了编辑器应用程序200功能的另一个示例。在该示例中,变量显示212被用于提供随着时间的颜色变化(例如,在源代码行20的“var color”变量的选择中)。尽管前述描述提供了各种输出类型的示例(例如,变量值、图像输出以及代码功能的可视化表示),但是本主题技术不限于这些输出类型。相反,本主题公开设想可被提供给用户/编程者的例如包括声音信息或者其他类型的可视化信息的任何有用信息。

应当进一步理解,源代码相关联的输出诸如定量结果、图像、图形、声音和/或源代码建议(或指导)可以各种方式被提供,以使特定结果或者成果与对应的代码语句相关联。以举例的方式,可通过相邻或者邻近放置的结果窗口和/或通过其他可视化设备诸如颜色方案和/或视觉上强调(或者减小)设备来使显示与源代码输入相关联。

图3示出了可利用其实现本主题技术的一些方面的电子系统的示例。如图所示,系统300包括通用计算设备300,该通用计算设备300包括处理单元(CPU或处理器)320以及将各种系统部件(包括系统存储器330(例如,计算机可读存储介质),诸如只读存储器(ROM)340和随机存取存储器(RAM)350)耦接至处理器320的系统总线310系统300可包括直接与处理器320的一部分连接、邻近处理器320的一部分、或者集成作为处理器320的一部分的高速缓存322。

系统300可将数据从存储器330和/或存储设备360复制到高速缓存322,以用于处理器320的快速访问。通过这种方式,高速缓存322提供避免处理器320在等待数据时延迟的性能提升。这些和其他模块可被控制或被配置为控制处理器320,以执行各种动作。其他系统存储器330也可供使用。存储器330可包括具有不同性能特性的多个不同类型的存储器。可以理解,本公开可在包括多于一个处理器320的计算设备300上或者在联网在一起以提供更大处理能力的计算设备的群组或簇上操作。

处理器320可包括任何通用处理器和硬件模块或软件模块,诸如存储在存储设备360中的模块1 362、模块2 364、和模块3 366,该任何通用处理器和硬件模块或软件模块被配置为控制处理器320以及在软件指令并入实际处理器设计中的情况下的专用处理器。处理器320基本上可以是完全独立成套的计算系统,其包含多个核或处理器、总线、存储器控制器、高速缓存等。该多核处理器可为对称的或为不对称的。

系统总线310可以是若干种类型的总线结构中的任一种总线结构,包括存储器总线或存储器控制器、外围总线,以及使用多种总线架构中任一种的局域总线。被存储在ROM 340等中的基本输入/输出系统(BIOS)可提供基本例程,其有助于在诸如启动期间在计算设备300内的元件之间传输信息。计算设备300可还包括存储设备360,诸如硬盘驱动器、磁盘驱动器、光盘驱动器、磁带驱动器等。存储设备360可包括软件模块362,364,366,以用于控制处理器320。存储设备360通过驱动接口而被连接到系统总线310。驱动器和相关联的计算机可读存储介质为计算设备300提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。

在一个方面,执行特定功能的硬件模块包括被存储在非暂时性计算机可读介质中的软件部件,其结合诸如处理器320、总线310等的必要的硬件部件来执行功能。基本部件是本领域的技术人员已知的,并且根据设备类型(诸如,设备300是否为手持式计算设备诸如智能电话,或者为较大的计算设备诸如台式计算机或者计算机服务器)而设想到适当的变型。

以举例的方式,处理器320可被配置为执行以下操作:检测用于指示源代码正在从用户/编程者被接收的输入状态,检测输入状态的变化,该变化指示源代码不再从用户被接收,并且响应于输入状态中的该变化,自动地编译源代码以产生经编译的代码。在一些方面,处理器320可被进一步配置为执行用于执行经编译的代码以生成输出的操作,其中所述输出包括来自经编译的代码的执行的一个或多个结果,以向用户提供输出。

另外,在一些具体实施中,处理器320可被配置用于检查所接收的源代码以确定源代码在句法构成上是否完成(或者正确),并且在源代码在句法构成上没有完成的事件中,生成补充代码并自动地利用补充代码来扩充源代码。

在一些具体实施中,处理器320还可执行以下操作:检查从用户接收的源代码以确定源代码是否是功能上完整的,并且在源代码是功能上完整的事件中,生成补充代码;以及自动地利用补充代码来扩充源代码。

在一些具体实施中,处理器320还可执行用于将一个或多个日志语句自动地添加到源代码的操作,并且其中输出包括与该一个或多个日志语句中的至少一个日志语句对应的信息。

在一些具体实施中,处理器320还可执行以下操作:在与源代码的对应部分相邻的窗口中显示输出的至少一部分和/或在编辑器显示中与源代码一起显示该输出的至少一部分。

虽然本文所描述的示例性实施方式采用了存储设备360,但本领域的技术人员应当理解,在示例性操作环境中也可使用其他类型的计算机可读介质(其可存储可由计算机访问的数据),诸如磁卡带、闪存卡、数字通用光盘、磁盒、随机存取存储器(RAM)350、只读存储器(ROM)340、包含比特流的线缆或无线信号等。非暂态计算机可读存储介质明确地排除诸如能量、载波信号、电磁波、和暂时的信号本身这样的介质。

为了使得用户能够与计算设备300进行交互,输入设备390代表任何数量的输入机构,诸如用于语音的麦克风、用于手势或图形输入的触摸屏、键盘、鼠标、运动输入、语音等。输出设备370也可以是本领域的技术人员已知的多个输出机构中的一个或多个输出机构。在一些情况下,多模系统允许用户提供多种输入类型以与计算设备300进行通信。通信接口380通常支配和管理用户输入和系统输出。没有将操作限制在任何特定硬件布置上,因此,本文的基本特征可容易地在开发出改进的硬件或固件布置之后替换为这些硬件布置或固件布置。

为了清楚地说明,示例性系统实施方式被呈现为包括各个功能块,这些块包括标记为“处理器”或处理器320的功能块。这些块代表的功能可通过使用共享的或专用的硬件(包括但不限于能够执行软件和硬件的硬件诸如处理器320,其按照目的进行构建以作为执行在通用处理器上的软件的等同物进行操作)来提供。例如,一个或多个处理器的功能可通过单个共享的处理器或多个处理器来提供。(对术语“处理器”的使用不应当被解释为唯一地指代能够执行软件的硬件。)示例性实施方式可包括微处理器和/或数字信号处理器(DSP)硬件、用于存储执行下文论述的操作的软件的只读存储器(ROM)340、以及用于存储结果的随机存取存储器(RAM)350。也可提供超大规模集成(VLSI)硬件实施方式以及结合通用DSP电路的定制VLSI电路。

各种实施方式的逻辑操作被实现为:(1)运行在通用计算机内的可编程电路上的计算机实现的步骤、操作或过程的序列;(2)运行在专用可编程电路上的计算机实现的步骤、操作或过程的序列;和/或(3)可编程电路内的互连的机器模块或程序引擎。系统300可实践所陈述的方法的全部或一部分,可以是所陈述系统的一部分,和/或可根据所陈述的非暂态计算机可读存储介质中的指令进行操作。此类逻辑操作可被实现作为被配置为控制处理器320以根据模块的编程执行特定功能的模块。

例如,图3示出了三个模块Mod1 362、Mod2 364和Mod3 366,它们是被配置为控制处理器320的模块。这些模块可被存储在存储设备360上并且在运行时被加载到RAM 350或存储器330中,或者可如本领域中已知的那样被存储在其他计算机可读存储器位置中。

应当理解,本发明所公开的方法中的步骤的特定顺序或分级结构为示例性方法的例示。基于设计优选要求,应当理解,过程中的特定顺序或者步骤分级结构可被重布置或者仅所示步骤中的一部分被执行。该步骤中的一些步骤可被同时执行。例如,在某些情况中,多任务和并行处理可能是有利的。此外,上述实施方式中各个系统部件的划分不应被理解为在所有实施方式中都要求此类划分,并且应当理解,所述程序部件和系统可一般性地一起整合在单个软件产品中或者封装到多个软件产品中。

先前的描述被提供以使得本领域的技术人员能够实践本文所述的各种方面。这些方面的各种修改对本领域的技术人员是显而易见的,并且本文所限定的通用原则可应用于其他方面。因此,本权利要求书不旨在受限于本文所示的方面,而是旨在使得全部范围与语言权利要求书一致,其中对奇异值中的元素的引用不旨在意味着“一个和仅一个”,而是指“一个或多个”,除非被具体指出。

短语诸如“方面”不意味此方面对本主题技术是必需的或者此方面应用于本主题技术的所有构型。与一个方面相关的公开可应用于所有构型,或者一个或多个构型。短语诸如方面可指一个或多个方面,并且反之亦然。短语诸如“构型”不意味此构型是本主题技术必需的或者此构型应用于本主题技术的所有构型。与一个构型相关的公开可应用于所有构型或者一个或多个构型。诸如构型的短语可指一个或多个构型,并且反之亦然。

字词“示例性”在本文中被用于意指“用作示例或者例示”。在本文中作为“示例性”所述的任何方面或设计不一定被理解为比其他方面或者设计优先或者有利。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1