软件库重新构建装置和方法、以及利用该装置和方法的导航装置的制作方法

文档序号:6596648阅读:173来源:国知局
专利名称:软件库重新构建装置和方法、以及利用该装置和方法的导航装置的制作方法
技术领域
本发明涉及从已有的软件库中提取程序要素以重新构建定制有所希望的功能的软件库的软件库重新构建装置和方法、以及利用该装置和方法的导航装置。
背景技术
在专利文献I中,揭示了一种系统,该系统通过利用分层状封装化(hierarchical encapsulation)的概念,将开发者所制成的对象/容器(container)的分层结构中的外部依赖性自动分离,以使得对象/容器以及它们与其他容器环境所包含的对象间的关联变弱,可提高再利用性。此外,在专利文献2所记载的系统中,从多个系统控制所利用的多个控制包 (bundle)中,提取共同利用的功能部,并将多个控制包重新构成为一个新控制包,以使得该共同利用的功能部不重复。若应用专利文献I的技术,则可使通用软件库的程序要素间的关联变弱,以将程序要素自由地进行组合。然而,开发者需要提取出实现所希望的功能的程序要素,并将它们进行组合。因而,重新构建软件库的操作繁杂,并且,还需要与各程序要素相关的知识,难以应用到利用软件库的各种设备,没有通用性。此外,若利用专利文献2的技术,则虽然可从多个软件库中自动提取出共同的功能的程序要素,但无法提取出利用者所希望的功能的程序要素。因此,无法例如一边考虑执行速度或存储器利用效率、一边重新构建定制有所希望的功能的软件库。本发明是为了解决上述问题而完成的,其目的在于获得一种可从通用软件库中自动提取程序要素以重新构建定制有所希望的功能的软件库的软件库重新构建装置和方法、 以及利用该装置和方法的导航装置。现有技术文献专利文献专利文献I :日本专利特表2000-505919号公报专利文献2 :日本专利特开2004-227240号公报

发明内容
本发明所涉及的软件库重新构建装置包括功能执行部,该功能执行部利用与多个功能对应的通用软件库,执行多个功能中所指示的功能;程序提取部,该程序提取部从构成通用软件库的程序要素中,提取由功能执行部执行功能时使用的程序要素;程序验证部, 该程序验证部对由程序提取部提取出的程序要素的错误进行验证;程序优化部,该程序优化部对由程序验证部验证为无错误的程序要素所构成的程序进行优化;以及程序重新构建部,该程序重新构建部利用由程序优化部进行了优化的程序的程序要素,构建定制有由功能执行部执行的功能的软件库。根据本发明,功能执行部利用与多个功能对应的通用软件库,执行多个功能中所指示的功能,程序提取部从构成通用软件库的程序要素中,提取执行上述功能时使用的程序要素,程序验证部对由程序提取部提取出的程序要素的错误进行验证,程序优化部对由程序验证部验证为无错误的程序要素所构成的程序进行优化,程序重新构建部利用由程序优化部进行了优化的程序的程序要素,构建定制有由功能执行部执行的功能的软件库。通过采用这种结构,由于从通用软件库中自动提取程序要素,重新构建定制有所希望的功能的软件库,因此,可力图提高执行速度、存储器利用效率。


图I图2图3 结构的框图。图4图5图6图7图8图9
是表示本发明的实施方式I所涉及的软件库重新构建装置的结构的框图。 是表示通用软件库的一个示例的图。
是表示应用了本发明所涉及的软件库重新构建装置的信息处理装置的硬件
是表示实施方式I的软件库重新构建装置的动作流程的流程图。 是表示图2的通用软件库中使用的程序要素的图。
是表示功能定制软件库的一个示例的图。
是表示软件开发环境下的软件库重新构建处理的流程的流程图。 是表不功能选择用的向导画面的一个不例的图。
是表示执行条件设定用的向导画面的一个示例的图。图10是表示条件设定用的向导画面的一个示例的图。图11是表示执行结果确认用的向导画面的一个示例的图。图12是表示失败原因提示用的向导画面的一个示例的图。图13是表示提取出的程序要素的显示画面(例I)的图。图14是表示提取出的程序要素的显示画面(例2)的图。图15是表示提取出的程序要素的显示画面(例3)的图。图16是表示源代码错误确认用的向导画面(无错误的情况)的图。图17是表示源代码错误确认用的向导画面(有错误的情况)的图。图18是表示本发明的实施方式2所涉及的导航装置的结构的框图。图19是表示本发明的实施方式3所涉及的导航装置的结构的框图。
具体实施例方式下面,为了更详细地说明本发明,根据附图对用于实施本发明的方式进行说明。实施方式I图I是表示本发明的实施方式I所涉及的软件库重新构建装置的结构的框图。图 I中,实施方式I所涉及的软件库重新构建装置I是利用从通用软件库2a中提取出的程序要素来重新构建定制有所希望的功能的功能定制软件库2b的装置,包括功能执行部3及软件库重新构建功能部4。另外,所谓程序要素,是指在该程序中使用的函数及其属性、对它们进行分类的种类、程序包、方法等。通用软件库2a中,与利用规定功能的各种应用软件相对应,登录有实现上述规定功能的各种程序要素。例如,图2所示的通用软件库2a是实现导航处理中的路径搜索功能的通用软件库。像图2那样,与路径搜索用有关的对象具有由实现路径搜索中的各种功能的关联对象 (程序要素)构成的分层结构。此处,在某一种类的导航软件中,当执行路径搜索功能时,例如,执行关联对象1、4 以及关联对象1-1、1_3、4-2,上述关联对象1-1、1_3、4-2实现与上述关联对象1、4相关联的功能。另一方面,在其他种类的导航软件中,当执行路径搜索功能时,执行与上述关联对象不同的关联对象1、4以及关联对象1-2、4-1、4-3,上述关联对象1-2、4-1、4-3实现与上述关联对象1、4相关联的功能。这样,为了使通用软件库2a对多种应用软件具有通用性,除了登录有由某一种类的应用软件执行的程序要素群之外,还登录有由其他种类的应用软件执行的程序要素。此外,在通用软件库2a中,需要在各层选出实现规定功能的关联对象(程序要素) 并加以执行。例如,在为了实现图2所示的路径搜索功能而执行关联对象1、4以及实现与它们相关联的功能的关联对象1-1、1_3、4-2的情况下,进行如下处理在通用软件库2a的第I 层选出关联对象1、4,在第2层选出关联对象1-2、4-1、4-3。因此,通用软件库2a中,因存放有实现规定功能的各种程序要素,从而存储器的利用效率相应变差,并且,由于需要在各层进行选出所希望的程序要素的处理,因此,相应执行速度的提高是有限的。功能定制软件库2b是仅由定制有规定功能的程序要素重新构建的软件库。例如, 在应用了软件库重新构建装置I的导航装置在路径搜索中执行图2所示的关联对象1、4以及实现与它们相关联的功能的关联对象1-1、1_3、4-2的情况下,功能定制软件库2b仅由关联对象I、4、1-1、1-3、4-2重新构建。功能执行部3是如下结构部若由应用了软件库重新构建装置I的信息处理装置来执行利用规定功能的应用软件,则执行通用软件库2a所存放的程序要素中的、实现上述规定功能的程序要素,或者,执行由软件库重新构建功能部4重新构建的功能定制软件库 2b的程序要素。例如,通过上述信息处理装置执行导航软件中实现各功能的程序模块来实现。软件库重新构建功能部4是利用从通用软件库2a获取的程序要素、来重新构建定制有所希望的功能的功能定制软件库2b的结构部,包括程序提取部5、程序验证部6、程序优化部7、及程序重新构建部8。程序提取部5是在功能执行部3执行了规定功能时、从通用软件库2a所存放的程序要素中提取功能执行部3使用过的程序要素的结构部。例如,程序提取部5在功能执行部3执行了某一功能时,监视并预先存储由功能执行部3使用过的通用软件库2a的关联对象(程序要素)的层中的通路,从通用软件库2a中提取位于该通路上的关联对象。程序提取部5通过监视存放有执行了规定功能时使用过的处理数据的程序要素、或基于上述处理数据进行执行处理时使用过的程序要素,以从执行了规定功能时使用过的通用软件库2a 中实施提取由功能执行部3使用过的关联对象。程序验证部6是对由程序提取部5提取出的程序要素及程序要素彼此之间的关联性进行验证的结构部。例如,验证提取出的程序要素的源代码中有没有错误,或对程序要素彼此之间进行比较,以确定相同的程序逻辑。提取出的程序要素的验证是基于上述提取出的程序要素是否符合规定该程序要素的标准的程序语言标准来进行判断的。例如,在混入有不正确的代码的情况下,判断为错误代码。此外,关于由下述的程序优化部7执行的程序优化,将对推荐的程序记述方式规定的标准和上述程序要素进行对照,例如从程序要素的双重定义、提高可读性之类的程序管理方面来实施验证。程序优化部7是如下结构部基于程序验证部6的验证结果,从提高执行速度、处理的高效化等观点,对由程序提取部5提取出的程序要素的关联性、处理过程进行优化。从程序要素的双重定义和提高可读性之类的程序要素管理方面、以及执行速度和存储器使用量等性能方面,来实施该优化处理。从程序要素管理方面进行的优化,可以基于由上述程序验证部6实施的程序管理方面的验证结果,来半自动地执行程序要素的优化。另一方面, 从性能方面进行的优化,由于是基于人的判断的,因此,经由人的要素来实施,例如,在不推荐程序的重复记述的程序开发中,当确定有在多个程序要素中重复存在的相同的程序逻辑时,优化处理部7自动变更为将该程序逻辑作为从这些程序要素引用的程序逻辑而进行了统一的程序。程序重新构建部8是利用经由程序验证部6及程序优化部7的处理而得到的与上述规定功能相关的程序要素、来构建定制有该规定功能的功能定制软件库2b的结构部。若构建有功能定制软件库2b,则功能执行部3使用该功能定制软件库2b来执行上述规定功倉泛。图3是表示应用了本发明所涉及的软件库重新构建装置的信息处理装置的硬件结构的框图。作为该信息处理装置,例如,可举出有车载导航装置、移动电话、PDA (Personal Digital Assistant :个人数字助理)等移动信息终端。图3中,在存储装置2中存放有符合本发明的要点的软件库重新构建用的处理程序、用于实现由该信息处理装置执行的车载导航等处理的应用软件、通用软件库2a、功能定制软件库2b、以及在上述应用软件所进行的处理中利用的数据(例如地图数据)。另外,作为存储装置2,可举出有硬盘装置(HDD)、⑶或DVD等存储介质及其驱动装置、USB (Universal Serial Bus:通用串行总线)存储器等。上述软件库重新构建用的处理程序、上述应用软件的程序、软件库2a、2b从存储装置2向存储器10上展开,由CPU9加以执行。CPU9通过执行上述软件库重新构建用的处理程序,作为硬件和软件合作的具体单元来实现图I所示的功能执行部3、程序提取部5、程序验证部6、程序优化部7、及程序重新构建部8。CPU9所产生的运算结果经由总线输出到显示装置11以进行画面显示。显示装置 11例如执行车载导航中的地图显示等。作为该显示装置11,可举出有液晶显示器、等离子体显示器。通信装置12是与装置外部进行通信的装置,对于通信装置为导航装置的情况,接收GPS电波、FM电波。
输入装置13是用于从装置外部进行操作输入的装置,由键盘、操作开关、与显示装置11组合的触摸屏等来实现。对于导航装置的情况,利用该输入装置13来输入路径搜索的条件。另外,虽然在图3中示出了上述软件库重新构建用的处理程序、应用软件、软件库 2a、2b、在上述应用软件所进行的处理中利用的数据全部被存放于存储装置2的情况,但这些软件各自或它们中的至少一项也可以存储于能由CPU9读取存储内容的另外的存储装置中。接下来,对动作进行说明。图4是表示实施方式I的软件库重新构建装置的动作流程的流程图,按照该图阐述重新构建软件库的细节。首先,从已有的通用软件库2a中选择要执行的功能(步骤STl)。例如,也可以在显示装置11上显示功能选择用画面,提供利用输入装置13来以对话方式选择功能的 GUI (Graphical User Interface :图形用户界面)。也可以同时进行多个功能的选择。此时,在上述功能选择画面上,选择构建按所选择的多个功能分别定制的多个功能定制软件库2b的情况、和构建定制有所有所选择的多个功能的一个功能定制软件库2b的情况。此外,也可以不在功能选择用画面上选择功能,而使得在由功能执行部3启动某一功能的利用通用软件库2a的应用软件的时刻,选择了该功能。例如,若在执行导航软件的过程中指示进行路径搜索,则选择了路径搜索功能。接下来,功能执行部3执行步骤STl中选择的功能(步骤ST2)。另外,功能的执行条件预先登录于存储装置2中。功能执行部3基于从存储装置2向存储器10上展开的上述执行条件,执行该功能。例如,若是路径搜索功能,则将路径搜索中使用的数据库、路径搜索的算法设定作为执行条件。在功能执行部3执行功能时,程序提取部5从通用数据库2a中依次提取出功能执行部3所使用的程序要素(步骤ST3)。例如,利用等级名等能识别程序要素的信息,来提取出程序要素。图5是表示在图2的通用软件库2a的程序要素中确定功能执行部3所使用的程序要素的情况的图。图5中,像利用粗框、粗线所示的那样,程序提取部5提取出功能执行部3所使用的关联对象(程序要素),从而在通用软件库2a中,确定功能执行部3所依次使用的关联对象(程序要素)的通路。由程序提取部5按执行顺序提取出的程序要素输出到程序验证部6。接下来,程序验证部6验证提取部位的程序要素中的程序源代码有没有错误,并且,对程序要素彼此之间进行比较,确定在程序要素间存在的相同的程序逻辑、未被使用的属性、函数(步骤ST4)。之后,程序优化部7基于程序验证部6所产生的验证结果,对提取部位的程序要素的关联性、处理过程进行优化(步骤ST5)。例如,为了去除由提取部位的程序要素构成的程序的冗余性,删除由程序验证部6确定的不使用的属性、函数,变更为将重复的程序逻辑统一后的程序。程序重新构建部8利用由程序优化部7优化后的程序要素,构建定制有由步骤STl
8选择的功能的功能定制软件库2b (步骤ST6)。图6是表示功能定制软件库的一个示例的图,示出利用了图5中确定作为路径搜索功能所使用的关联对象(程序要素)的功能定制软件库2b。如图6所示,通过重新构建为定制有路径搜索功能的软件库,从而数据量变小,能提高存储器效率。此外,由于限定了要使用的对象(程序要素),因此,还能提高处理速度。在上述内容中,示出了软件库重新构建装置对从利用预先设定的执行条件来执行所选择的功能、到构建定制有该功能的软件库为止进行批处理的情况。以下,对软件库重新构建装置以向导形式来以对话方式执行处理的情况进行说明。图7是表示软件开发环境下的软件库重新构建处理的流程的流程图,示出以向导形式执行处理的情况。软件开发环境具有添加任意功能作为插件的功能,该向导还可像这样用作为对已有软件开发环境的附加功能。首先,功能执行部3例如在显示装置11上显示图8所示那样的功能选择用的向导画面,以询问开发者(利用者),使其利用输入装置13以对话方式选择功能。功能选择用的向导画面像图8那样显示成为选择候补的功能的一览图,从而能同时选择多个功能。此外,在功能选择用的向导画面上,设置有选择如下两种情况的某一种情况的设定栏一种情况是构建按所选择的多个功能分别定制的多个功能定制软件库2b (分别输出);另一种情况是构建定制有所有所选择的多个功能的一个功能定制软件库2b (统一输出)。若基于功能选择用的向导画面选择功能(步骤STla),则程序提取部5例如在显示装置11上显示图9所示那样的、用于设定所选择的功能的执行条件的执行条件设定用的向导画面,以询问开发者。在执行条件设定用的向导画面上,像图9那样,设置有所选择的功能的一览图和各功能的条件的设定按钮,以确定所选择的功能,并分别设定执行条件。若利用输入装置13按下执行条件设定用的向导画面上的设定按钮,则功能执行部3例如在显示装置11上显示图10所示那样的、用于设定执行条件的详细内容的条件设定用的向导画面,以询问开发者,使其利用输入装置13以对话方式设定执行条件内容。图 10的示例表示按下图9所示的功能A的设定按钮的情况,作为执行条件,可设定数据库和算法。开发者基于该条件设定用的向导画面,利用输入装置13来设定执行条件。若对于所选择的功能来设定执行条件,则功能执行部3在该执行条件下执行该功能。至此的处理相当于步骤ST2a及步骤ST2a_l。程序提取部5在功能执行部3执行功能的期间,从通用数据库2a中自动地依次提取出功能执行部3所使用的程序要素。此外,功能执行部3例如在显示装置11上显示图11所示那样的、表示功能是否成功执行的执行结果确认用的向导画面(步骤ST3a)。在该执行结果确认用的向导画面上,像图11那样,设置有用于表示各功能的每一功能是否成功执行及其原因详情的详情按钮。图11中,若按下执行失败的功能C的详情按钮,则功能执行部3例如在显示装置 11上显示图12所示那样的、失败原因提示用的向导画面。若在该向导画面上按下日志显示按钮,则功能执行部3在显示装置11上显示该功能的执行日志。此外,若按下设定按钮,则功能执行部3在显示装置11上显示图10所示那样的、 用于设定执行条件的详细内容的条件设定用的向导画面,以使开发者重新设定执行条件(步骤 ST3a_l)。之后,若按下重新执行按钮,则功能执行部3在重新设定的执行条件下执行失败过的功能,返回步骤ST3a的处理。若在图11中按下执行成功的功能A的详情按钮,则功能执行部3在显示装置11 上显示由程序提取部5提取出的功能A的程序要素(步骤ST3a-2)。例如,程序要素也可以像图13所示的那样显示成可了解功能执行部3执行的顺序。此夕卜,如图14所示,也可以利用作为程序记述语言的UML(Unfiled Modeling Language :统一建模语言)来呈现按执行顺序表示的程序要素(例如等级图)。此外,如图15所示,也可以设置按执行顺序显示程序要素的执行顺序显示区域、 和显示程序要素的源代码的源代码显示区域。若利用输入装置13在执行顺序显示区域选择程序要素,则功能执行部3在源代码显示区域显示与所选择的程序要素相对应的源代码。功能执行部3在所选择的功能全部执行成功之前,像图11用斜线所示的那样,使执行结果确认用的向导画面的“继续”按钮处于无法选择的状态。若按下“继续”按钮,则程序验证部6启动,对由程序提取部5提取出的程序要素的源代码执行错误检验,通过对程序要素彼此之间进行比较,确定在程序要素间存在的相同的程序逻辑、未被使用的属性、函数(步骤ST3a-3)。程序验证部6在验证程序要素的源代码而发现无错误的情况下,例如在显示装置 11上显示图16所示那样的源代码错误确认用的向导画面。在无错误时的源代码错误确认用的向导画面上,像图16那样设置用于修正源代码的修正按钮。若利用输入装置13按下修正按钮,则程序优化部7启动,在显示装置11上显示源代码的修正画面,以询问开发者,使其利用输入装置13以对话方式输入用于将功能的源代码进行修正的信息。此时,程序优化部7在上述修正画面上显示由程序验证部6确定的重复的程序逻辑、未被使用的属性、函数,并根据开发者所输入的修正内容,对源代码进行修正(步骤 ST4a-l)。若完成源代码的修正,则程序验证部6再次进行错误检验。另一方面,在验证程序要素的源代码而发现有错误的情况下,程序验证部6例如在显示装置11上显示图17所示那样的源代码错误确认用的向导画面,以询问开发者,使其利用输入装置13以对话方式将功能的源代码的修正内容输入(步骤ST4a-2)。利用输入装置13来按下修正按钮时的处理与上述图16的处理相同。重复程序验证部6及程序优化部 7所进行的上述处理,直到程序要素的源代码中不再有错误为止。若程序要素的源代码中不再有错误,通过修正而将程序优化,则程序重新构建部8 启动,在显示装置11上显示询问是否重新构建软件库的向导画面,以询问开发者,使其利用输入装置13以对话方式选择可否重新构建功能(步骤ST5a)。此处,若选择不重新构建, 则结束处理。若选择重新构建,则程序重新构建部8在显示装置11上显示用于识别重新构建后的软件库的库名设定用的向导画面(步骤ST6a)。图8中,在选择构建按所选择的多个功能分别定制的多个功能定制软件库2b (分别输出)的情况下,设定分别对应的库名。若设定库名,则程序重新构建部8利用由程序优化部7优化后的程序要素,构建定制有所选择的功能的功能定制软件库2b。之后,程序重新构建部8在显示装置11上显示使开发者确认已重新构建的情况的确认用的向导画面(步骤ST7a),与库名相对应地将功能定制软件库2b存放于存储装置2,结束处理。如上所述,根据该实施方式1,功能执行部3利用与多个功能对应的通用软件库加,执行多个功能中所指示的功能,程序提取部5从构成通用软件库加的程序要素中,提取执行上述功能时使用的程序要素,程序验证部6对由程序提取部5提取出的程序要素的错误进行验证,程序优化部7对由程序验证部6验证为无错误的程序要素所构成的程序进行优化,程序重新构建部8利用由程序优化部7进行了优化的程序的程序要素,构建定制有由功能执行部3执行的功能的软件库2b。通过采用这种结构,可从通用软件库加自动提取出程序要素,重新构建定制有所希望的功能的软件库2b。由此,能提供可力图提高执行速度、 存储器利用效率的软件库。此外,根据该实施方式1,功能执行部3、程序验证部6、程序优化部7、及程序重新构建部8以向导形式向利用者(开发者)以对话方式询问自身的处理所需的信息,根据从利用者输入的自身的处理所需的信息,执行自身的处理。通过这样,特别是在软件的开发环境下,能根据来自装置侧的指引,进行软件库的重新构建处理,可提高处理的便利性。此外,根据该实施方式1,功能执行部3、程序验证部6、程序优化部7、及程序重新构建部8根据预先设定的自身的处理所需的信息,自动执行自身的处理。通过这样,在对话方式的信息的交换有可能使处理变繁杂的实际的装载环境中,可提高软件库重新构建装置的便利性。另外,在上述实施方式1中,虽然示出了利用从通用软件库加提取出的程序要素、 来重新构建功能定制软件库2b的示例,但也可以利用从功能定制软件库2b提取出的程序要素,在利用者所指示的执行条件下执行该功能,从而重新构建在利用者所指示的执行条件下对该功能进一步进行了限定的功能定制软件库2b。通过这样,可力图进一步提高执行速度、存储器利用效率。实施方式2图18是表示本发明的实施方式2所涉及的导航装置的结构的框图,示出将本发明的软件库重新构建装置应用于车载导航装置的结构。图18所示的导航功能执行部3a是相当于图1的功能执行部3的结构部,执行车载导航功能。另外,图18中,作为车载导航功能, 举出路径搜索的示例,对路径搜索执行部北以外的结构部省略了记载。地图数据库(地图DB) 14是存放地图数据的存储部,例如构建于图2中的存储装置。位置检测部15是对装载有导航装置的车辆的位置进行检测的结构部,例如,利用GPS 信号、车速传感器、陀螺传感器等传感器群的测定值和地图匹配等来求出本车的当前位置。 图18中,对与图1及图2相同的结构部标注相同的标号,并省略其说明。接下来,对动作进行说明。此处,对执行车载导航功能中的路径搜索、重新构建定制有路径搜索功能的功能定制软件库2b的情况进行阐述。首先,启动由导航功能执行部3a执行的车载导航软件,利用输入装置13输入目的地,指示进行路径搜索。由此,路径搜索执行部北利用从通用软件库加获取的路径搜索功能所需的程序要素、从地图DB14获取的路径搜索所需的地图数据、以及从位置检测部15获取的本车辆的位置信息,执行到达目的地的路径搜索。若路径搜索执行部北执行路径搜索,程序提取部5从通用软件库加依次提取出路径搜索执行部北所使用的程序要素,作为路径搜索功能所选择的程序要素。将由程序提取部5按执行顺序提取出的程序要素输出到程序验证部6。程序验证部6验证提取部位的程序要素中的程序源代码有没有错误,并且,对程序要素彼此之间进行比较,确定在程序要素间存在的相同的程序逻辑、未被使用的属性、函数。之后,程序优化部7基于程序验证部6所产生的验证结果,对提取部位的程序要素的关联性、处理过程进行优化。最后,程序重新构建部8利用由程序优化部7优化后的程序要素,构建定制有路径搜索功能的功能定制软件库2b。若重新构建定制有路径搜索功能的库,则程序重新构建部8将功能定制软件库2b 与库名相对应地存放在存储装置2中,并结束处理。由此,在从下次起的路径搜索中,可利用定制有路径搜索功能的功能定制软件库%。此外,通过利用从功能定制软件库2b提取出的程序要素,在新设定的执行条件下执行路径搜索功能,并利用在执行该路径搜索功能时使用的程序要素,重复构建在上述新设定的执行条件下进一步限定路径搜索功能的软件库2b,从而可力图提高路径搜索功能的执行速度、软件库2b的存储器利用效率。如上所述,根据该实施方式2,在具有搜索从出发地点到目的地点的路径并进行指引引导的导航功能的导航装置中,包括导航功能执行部3a,该导航功能执行部3a利用与涉及导航功能的多个功能对应的通用软件库加,执行多个功能中所指示的功能;程序提取部5,该程序提取部5从构成通用软件库的程序要素中,提取由导航功能执行部3a执行功能时使用的程序要素;程序验证部6,该程序验证部6对由程序提取部5提取出的程序要素的错误进行验证;程序优化部7,该程序优化部7对由程序验证部6验证为无错误的程序要素所构成的程序进行优化;以及程序重新构建部8,该程序重新构建部8利用由程序优化部 7进行了优化的上述程序的程序要素,构建定制有由导航功能执行部3a执行的功能的软件库2b。通过采用这种结构,可从通用软件库加自动提取出程序要素,重新构建定制有利用者指示的所希望的车载导航功能的软件库2b。由此,可力图提高车载导航处理的执行速度、 存储器利用效率。另外,在上述实施方式2中,虽然举出了车载用的导航装置的示例,但即使将本发明的软件库重新构建装置应用到装载于移动信息终端的导航功能,也可获得同样的效果。 在此情况下,在服务器装置执行导航处理并将处理结果下载到移动信息终端的结构中,对该服务器装置应用本发明,在移动信息终端本体执行导航处理的情况下,对该移动信息终端应用本发明。实施方式3图19是表示本发明的实施方式3所涉及的导航装置的结构的框图,示出将本发明的软件库重新构建装置应用于车载导航装置的结构。另外,图19中,对与图18相同的结构部标注相同标号,并省略其说明。
路径搜索特性判断部(利用特性判断部)16是对利用者所指定的路径搜索执行部北的执行条件(搜索模式)进行统计处理、判断与利用者的路径搜索功能的利用特性相对应的执行条件的结构部。作为路径搜索功能的执行条件,可举出搜索模式。该搜索模式中,例如有以到目的地的距离为优先而进行路径搜索的距离优先模式、以到目的地的预想经过时间为优先而进行路径搜索的时间优先模式等。若指定距离优先模式,则路径搜索执行部北优先搜索到目的地的距离较短的路径,若指定时间优先模式,则路径搜索执行部北优先搜索到目的地的预想经过时间较短的路径。此外,路径搜索利用统计数据库(路径搜索利用统计DB) 17是存放表示执行条件的信息的存储部,例如,构建于图2中的存储装置,其中,该执行条件与由路径搜索特性判断部16按每一利用者求出的路径搜索功能的利用特性相对应。 接下来,对动作进行说明。此处,对执行车载导航功能中的路径搜索、重新构建定制有路径搜索功能的功能定制软件库2b的情况进行阐述。首先,启动由导航功能执行部3a执行的车载导航软件,利用输入装置13输入目的地及搜索模式,指示进行路径搜索。由此,路径搜索执行部北利用从通用软件库加获取的路径搜索功能所需的程序要素、从地图DB14获取的路径搜索所需的地图数据、以及从位置检测部15获取的本车辆的位置信息,按照搜索模式执行到目的地的路径搜索。若路径搜索执行部北执行路径搜索,则程序提取部5从通用软件库加依次提取出路径搜索执行部北所使用的程序要素,作为路径搜索功能所选择的程序要素。将由程序提取部5按执行顺序提取出的程序要素输出到程序验证部6。程序验证部6验证提取部位的程序要素中的程序源代码有没有错误,并且,对程序要素彼此之间进行比较,确定在程序要素间存在的相同的程序逻辑、未被使用的属性、函数。路径搜索特性判断部16从路径搜索执行部!Bb获取表示利用者所指定的搜索模式的信息,将其存放在路径搜索利用统计DB17中,并且,从路径搜索利用统计DB17读出由该利用者过去指定的搜索模式,对这些进行统计性的分析,基于分析结果,判断该利用者的路径搜索功能的利用特性。将表示该利用特性的信息从路径搜索特性判断部16输出到程序优化部7。例如,利用数量化理论分析等统计分析方法来进行,该数量化理论分析基于下述路径搜索条件,利用所收集、累积的路径搜索利用统计DB17,根据这些定性、定量数据对利用者的搜索模式进行统计性的评价。对于路径搜索,可设定例如距离优先、收费道路通行优先、一般道路通行优先等搜索条件。在路径搜索特性判断部16中,将利用者从这样的路径搜索条件中选择了哪个搜索条件、以及作为进行该选择时的状况的时间段、根据VICS(注册商标)信息等获得的交通信息、当前位置的地区特性(城市、乡村、观光地等)的信息保管于上述路径搜索利用统计 DB17 中。每次该利用者执行路径搜索时,该路径搜索利用统计DB17所存放的信息都增加, 基于该信息,通过用于判断上述利用者特性的统计分析方法等进行分析处理,根据分析处理得到的路径搜索功能的利用特性,确定频繁利用的路径搜索功能,在程序优化部7中,提取出用于实现所确定的该功能的程序要素。与上述程序提取部5同样,路径搜索特性判断部16从构成路径搜索功能的程序要素中,提取实现考虑了由上述统计方法导出的利用者特性的路径搜索条件的程序要素,利用上述程序验证部6的功能,对上述提取出的程序要素进行验证,并将其输出到程序优化部7。程序优化部7基于程序验证部6所产生的验证结果、以及与由路径搜索特性判断部16判断出的路径搜索的利用特性相对应的搜索模式,对提取部位的程序要素的关联性、 处理过程进行优化。程序重新构建部8利用由程序优化部7优化后的程序要素,构建根据利用者的利用特性对路径搜索功能进行了限定的功能定制软件库2b。若重新构建定制有路径搜索功能的库,则程序重新构建部8将功能定制软件库2b 与库名相对应地存放在存储装置2中,并结束处理。由此,在从下次起的路径搜索中,可利用定制有路径搜索功能的功能定制软件库%。此外,利用从功能定制软件库2b提取出的程序要素,重复进行利用与路径搜索的利用特性相对应的搜索模式对功能进一步进行了限定的软件库2b的重新构建,从而可获得提供与利用者的利用特性相符的功能的软件库。另外,也可以使得软件库重新构建功能部4的重新构建处理在导航功能执行部3a 的导航处理的空闲时间执行。由此,可执行重新构建处理,而不会给导航处理带来处理负荷。如上所述,根据该实施方式3,包括路径搜索特性判断部16,该路径搜索特性判断部16在每次导航功能执行部3a执行导航功能时,获取利用者所指示的执行条件(例如,路径搜索的搜索模式),对所获取的执行条件进行统计处理,求出与该利用者的利用特性相对应的该功能的执行条件,程序优化部7利用由路径搜索特性判断部16求出的执行条件,对由程序验证部6验证为无错误的程序要素所构成的程序进行优化,程序重新构建部8利用由程序优化部7进行了优化的程序的程序要素,构建在由路径搜索特性判断部16求出的执行条件下对功能进行了限定的软件库。通过采用这种结构,可获得与上述实施方式2相同的效果。此外,由于考虑到利用者的利用特性,来重新构建软件库,因此,可提高利用者的便利性。另外,在上述实施方式3中,虽然示出了基于与路径搜索的利用特性相对应的搜索模式、重新构建软件库的情况,但本发明并不限于此,除搜索模式以外,也可以利用与利用者所设定的路径搜索相关的其他执行条件来作为路径搜索功能的执行条件。此外,也可以应用于作为路径搜索以外的导航功能的指引引导、各种信息显示等。S卩,通过包括利用特性判断部,该利用特性判断部在每次功能执行部3执行功能时,获取利用者所指示的该功能的执行条件,对所获取的执行条件进行统计处理,求出与该利用者的利用特性相对应的该功能的执行条件,从而,即使对于导航装置以外的、应用了本发明的信息处理装置所执行的功能,也可重新构建在与利用者的利用特性相对应的执行条件下对该功能进行了限定的软件库。此外,上述实施方式3中,在导航功能的软件库重新构建处理中,几乎不会出现利用者对源代码都进行优化的状况。因而,也可以预先准备按与多种路径搜索条件相对应的功能分别定制的软件库, 根据利用者的路径搜索利用特性,切换到相对应的软件库。工业上的实用性本发明所涉及的软件库重新构建装置由于自动提取出通用软件库的程序要素,重新构建定制有所希望的功能的软件库,因此,适用于通过由地图数据供应商提供的通用软件库、来利用该地图数据供应商所管理的地图数据的导航装置。
权利要求
1.一种软件库重新构建装置,其特征在于,包括功能执行部,该功能执行部利用与多个功能对应的通用软件库,执行所述多个功能中所指示的功能;程序提取部,该程序提取部从构成所述通用软件库的程序要素中,提取由所述功能执行部执行所述功能时使用的程序要素;程序验证部,该程序验证部对由所述程序提取部提取出的程序要素的错误进行验证; 程序优化部,该程序优化部对由所述程序验证部验证为无错误的程序要素所构成的程序进行优化;以及程序重新构建部,该程序重新构建部利用由所述程序优化部进行了优化的所述程序的程序要素,构建定制有由所述功能执行部执行的所述功能的软件库。
2.如权利要求I所述的软件库重新构建装置,其特征在于,所述功能执行部利用定制有所述功能的软件库,在所指示的执行条件下执行所述功倉泛,所述程序提取部从构成定制有所述功能的软件库的程序要素中,提取由所述功能执行部执行所述功能时使用的程序要素,所述程序验证部对由所述程序提取部提取出的程序要素的错误进行验证,所述程序优化部对由所述程序验证部验证为无错误的程序要素所构成的程序进行优化,所述程序重新构建部利用由所述程序优化部进行了优化的所述程序的程序要素,构建在所述执行条件下对所述功能进行了限定的软件库。
3.如权利要求I所述的软件库重新构建装置,其特征在于,包括利用特性判断部,该利用特性判断部在每次所述功能执行部执行所述功能时,获取利用者所指示的该功能的执行条件,对所获取的所述执行条件进行统计处理,求出与该利用者的利用特性相对应的该功能的执行条件,所述程序优化部利用由所述利用特性判断部求出的所述执行条件,对由所述程序验证部验证为无错误的程序要素所构成的程序进行优化,所述程序重新构建部利用由所述程序优化部进行了优化的所述程序的程序要素,构建在由所述利用特性判断部求出的所述执行条件下对所述功能进行了限定的软件库。
4.如权利要求I所述的软件库重新构建装置,其特征在于,所述功能执行部、所述程序验证部、所述程序优化部、及所述程序重新构建部以向导形式向利用者以对话方式询问自身的处理所需的信息,利用由所述利用者输入的所述自身的处理所需的信息,执行所述自身的处理。
5.如权利要求I所述的软件库重新构建装置,其特征在于,所述功能执行部、所述程序验证部、所述程序优化部、及所述程序重新构建部利用预先设定的、自身的处理所需的信息,自动执行所述自身的处理。
6.一种软件库重新构建方法,在包括功能执行部、程序提取部、程序验证部、程序优化部、及程序重新构建部的软件库重新构建装置的软件库重新构建方法中,其特征在于,包括所述功能执行部利用与多个功能对应的通用软件库、执行所述多个功能中所指示的功能的步骤;所述程序提取部从构成所述通用软件库的程序要素中、提取由所述功能执行部执行所述功能时使用的程序要素的步骤;所述程序验证部对由所述程序提取部提取出的程序要素的错误进行验证的步骤; 所述程序优化部对由所述程序验证部验证为无错误的程序要素所构成的程序进行优化的步骤;以及所述程序重新构建部利用由所述程序优化部进行了优化的所述程序的程序要素、构建定制有由所述功能执行部执行的所述功能的软件库的步骤。
7.一种导航装置,该导航装置具有搜索从出发地点到目的地点的路径并进行指引引导的导航功能,其特征在于,包括功能执行部,该功能执行部利用与涉及所述导航功能的多个功能对应的通用软件库, 执行所述多个功能中所指不的功能;程序提取部,该程序提取部从构成所述通用软件库的程序要素中,提取由所述功能执行部执行所述功能时使用的程序要素;程序验证部,该程序验证部对由所述程序提取部提取出的程序要素的错误进行验证; 程序优化部,该程序优化部对由所述程序验证部验证为无错误的程序要素所构成的程序进行优化;以及程序重新构建部,该程序重新构建部利用由所述程序优化部进行了优化的所述程序的程序要素,构建定制有由所述功能执行部执行的所述功能的软件库。
全文摘要
本发明的目的在于提供一种软件库重新构建装置和方法、以及利用该装置和方法的导航装置。从构成通用软件库(2a)的程序要素中,提取执行功能时使用的程序要素,对提取出的程序要素的错误进行验证,对验证为无错误的程序要素所构成的程序进行优化,利用进行了优化的程序的程序要素,重新构建定制有所执行的功能的软件库(2b)。
文档编号G06F9/44GK102597952SQ200980162299
公开日2012年7月18日 申请日期2009年11月9日 优先权日2009年11月9日
发明者下谷光生, 坂入威郎, 御厨诚 申请人:三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1