專利名稱:軟件生成裝置、軟件生成方法以及程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件生成裝置、軟件生成方法以及程序,更詳細(xì)而言涉及生成由規(guī)定的控制裝置執(zhí)行的軟件的軟件生成裝置、用于生成由規(guī)定的控制裝置執(zhí)行的軟件的軟件生成方法以及程序。
背景技術(shù):
對(duì)于以空氣調(diào)節(jié)設(shè)備為代表的設(shè)備儀器,使用計(jì)算機(jī)對(duì)在居住區(qū)、工作區(qū)中分散配置的多個(gè)儀器進(jìn)行集中管理的運(yùn)用方式較多。這種設(shè)備儀器的功耗大,通過(guò)精細(xì)地調(diào)整輸出來(lái)期待大的節(jié)能效果。因此,用于調(diào)整設(shè)備儀器的輸出的運(yùn)轉(zhuǎn)程序逐年復(fù)雜化,與此相伴與運(yùn)轉(zhuǎn)程序關(guān)聯(lián)的源代碼的量也增大。在執(zhí)行運(yùn)轉(zhuǎn)程序的過(guò)程中產(chǎn)生的差錯(cuò)所致的實(shí)際損失根據(jù)設(shè)備儀器的用途有時(shí)顯著擴(kuò)大。因此,設(shè)備儀器的運(yùn)用中使用的程序所引起的差錯(cuò)的容許范圍比例如信息儀器的運(yùn)用中使用的程序所引起的差錯(cuò)的容許范圍窄。因此,一般在設(shè)備儀器的運(yùn)轉(zhuǎn)程序的制造中,花費(fèi)大的成本。因此,提出了用于在維持質(zhì)量、且低成本地制作設(shè)備儀器的運(yùn)轉(zhuǎn)程序的開發(fā)支援裝置(例如,參照專利文獻(xiàn)I)。專利文獻(xiàn)1:日本特開2009 - 157751號(hào)公報(bào)
發(fā)明內(nèi)容
專利文獻(xiàn)I公開的開發(fā)支援裝置從狀態(tài)遷移信息中抽出相互應(yīng)具有排他性的狀態(tài)遷移條件。由此,能夠容易地確認(rèn)應(yīng)具有排他性的狀態(tài)遷移條件是否實(shí)際上具有排他性。然后,能夠以具有排他性的方式不遺漏地修正不具有排他性的狀態(tài)遷移條件。因此,能夠避免軟件陷入無(wú)限地反復(fù)特定的處理的狀態(tài)、或者浪費(fèi)地生成大量的源代碼。在使用上述開發(fā)支援裝置的情況下,操作人員需要制作狀態(tài)遷移信息、狀態(tài)遷移條件。但是,目前,具有制作狀態(tài)遷移信息、狀態(tài)遷移條件的技能的技術(shù)人員少。本發(fā)明是在上述情形之下完成的,其目的在于通過(guò)簡(jiǎn)單的操作生成程序。為了達(dá)成上述目的,本發(fā)明提供一種軟件生成裝置,具備:匹配單元,使具有構(gòu)成軟件的源代碼的一部分的字符串且預(yù)先規(guī)定的多個(gè)塊與所述源代碼匹配;變換單元,通過(guò)將所述源代碼的所述塊所匹配的部分置換為所匹配的所述塊,將所述源代碼變換為具有所述塊的數(shù)據(jù);以及生成單元,根據(jù)具有所述塊的數(shù)據(jù),生成所述軟件。根據(jù)本發(fā)明,用于生成軟件的源代碼被變換為具有多個(gè)塊的數(shù)據(jù)。因此,用戶通過(guò)將某塊變換為期望的塊、或者變更塊的排列,能夠變更基于軟件的處理的內(nèi)容、處理的順序。因此,能夠通過(guò)簡(jiǎn)單的操作生成期望的程序。
圖1是將本發(fā)明的實(shí)施方式的軟件生成裝置與空氣調(diào)節(jié)系統(tǒng)一起示出的框圖。圖2是示出窗口的圖。圖3是示意地示出辭典信息的結(jié)構(gòu)的圖。圖4是示意地示出源代碼與控制塊的關(guān)系的圖。圖5是用于說(shuō)明CPU的動(dòng)作的流程圖。圖6是示意地示出控制塊信息的圖。圖7是示意地示出控制塊關(guān)聯(lián)信息的圖。圖8是示出顯示部中顯示的窗口的圖。圖9是示出顯示部中顯示的窗口的圖。圖10是示出使CPU執(zhí)行的子例程的流程圖。圖11是示意地示出動(dòng)作制約條件信息的圖。圖12是示出顯示部中顯示的比較結(jié)果的圖。圖13是示出顯示部中顯示的比較結(jié)果的圖。圖14是用于說(shuō)明本實(shí)施方式的變形例的圖。圖15是用于說(shuō)明本實(shí)施方式的變形例的圖。(符號(hào)說(shuō)明)10:軟件生成裝置;10a:CPU ;10b:顯示部;10c:輸入部;10d:主存儲(chǔ)部;10e:輔助存儲(chǔ)部;10f:通信部件;10g:系統(tǒng)總線;20:空氣調(diào)節(jié)系統(tǒng);21:遙控裝置;21a:CPU ;21b:顯示部;21c:輸入部;21d:主存儲(chǔ)部;21e:輔助存儲(chǔ)部;21f:通信部件;21g:系統(tǒng)總線;22:空氣調(diào)節(jié)裝置;22a:存儲(chǔ)部;22b:輸出控制部件;22c:通信部件;101:辭典信息;102:源代碼;103:控制塊信息;104:控制塊關(guān)聯(lián)信息;105:運(yùn)轉(zhuǎn)程序;106:動(dòng)作制約條件信息;BC:控制塊;CD:變換數(shù)據(jù);C0N:控制內(nèi)容信息;DC:變換數(shù)據(jù);IC:圖標(biāo);ID:識(shí)別編號(hào);LD:位置信息;匪:行編號(hào);P:源代碼圖案(pattern)。
具體實(shí)施例方式以下,參照附圖,說(shuō)明本發(fā)明的一個(gè)實(shí)施方式。圖1是將本實(shí)施方式的軟件生成裝置10與具有遙控裝置21和空氣調(diào)節(jié)裝置22的空氣調(diào)節(jié)系統(tǒng)20 —起示出的框圖。該軟件生成裝置10是用于生成由空氣調(diào)節(jié)系統(tǒng)20執(zhí)行的運(yùn)轉(zhuǎn)程序105的裝置。如圖1所示,軟件生成裝置10具有CPU (Central Processing Unit,中央處理單元)10a、顯示部10b、輸入部10c、主存儲(chǔ)部10d、輔助存儲(chǔ)部10e、以及通信部件IOf。顯不部IOb 具有 LCD (Liquid Crystal Display,液晶顯不器)或者 CRT (CathodeRay Tube,陰極射線管)等。在圖2中,示出了在進(jìn)行運(yùn)轉(zhuǎn)程序105的生成時(shí),作為用戶接口發(fā)揮功能的窗口 W1。顯示部IOb根據(jù)CPUlOa的指示,顯示以窗口 Wl為代表的各種窗口。另外,根據(jù)需要,顯示CPUlOa的處理結(jié)果等。輸入部IOc由鍵盤、鼠標(biāo)或者觸摸面板等指示設(shè)備構(gòu)成。經(jīng)由該輸入部10c,輸入操作人員的指示。然后,經(jīng)由系統(tǒng)總線IOg通知到CPUlOa。主存儲(chǔ)部IOd具有DRAM(Dynamic Random Access Memory,動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器)或者SRAM (Static Random Access Memory,靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器)等易失性存儲(chǔ)器。該主存儲(chǔ)部IOd被用作CPUlOa的作業(yè)區(qū)域。輔助存儲(chǔ)部IOe具有磁盤、閃存存儲(chǔ)器等非易失性存儲(chǔ)器。在該輔助存儲(chǔ)部IOe中,存儲(chǔ)了辭典信息101、源代碼102。圖3是示意地示出辭典信息101的結(jié)構(gòu)的圖。如圖3所示,辭典信息101包括源代碼圖案Pn、控制塊BCn、以及表示控制塊BCn的內(nèi)容的控制內(nèi)容信息C0Nn。源代碼圖案Pn是表示由運(yùn)轉(zhuǎn)程序105執(zhí)行的多個(gè)處理中的單一的處理的內(nèi)容的源代碼。如圖3所示,源代碼圖案?,具有在源代碼的描述中使用的字符串(文本)。例如,通過(guò)用“函數(shù)名(自變量1、自變量2); ”等格式來(lái)表現(xiàn)源代碼圖案PN。例如,在由運(yùn)轉(zhuǎn)程序105執(zhí)行的多個(gè)處理是設(shè)定溫度的讀出、吐出空氣的溫度的設(shè)定、以及風(fēng)量的設(shè)定這3個(gè)的情況下,能夠通過(guò)表示設(shè)定溫度的讀出處理的源代碼圖案、表示吐出空氣的溫度的設(shè)定處理的源代碼圖案、以及表示風(fēng)量的設(shè)定處理的源代碼圖案的組合來(lái)表現(xiàn)該運(yùn)轉(zhuǎn)程序105的源代碼。通常,通過(guò)使用幾十種源代碼圖案,能夠通過(guò)例如100行左右的字符串或者100個(gè)左右的圖標(biāo)來(lái)顯示用10000行的字符串表現(xiàn)的源代碼。控制塊BCn與各源代碼圖案Pn關(guān)聯(lián)起來(lái)。該控制塊BCn是處理源代碼圖案Pn時(shí)的概念。在軟件生成裝置10中,通過(guò)與該控制塊BCn的內(nèi)容對(duì)應(yīng)的圖標(biāo)、圖像來(lái)表示該控制塊 BCn。 控制內(nèi)容信息CONn是用于識(shí)別控制塊BCn的內(nèi)容的信息。該控制內(nèi)容信息CONn表示與例如源代碼圖案Pn同等的內(nèi)容。另外,能夠以與控制塊BCn關(guān)聯(lián)的狀態(tài)處理。返回圖1,源代碼102是在生成運(yùn)轉(zhuǎn)程序105時(shí)成為源的數(shù)據(jù)。圖4是示意地示出源代碼102與控制塊BCn的關(guān)系的圖。如圖4所示,源代碼102是通過(guò)表示函數(shù)、自變量的字符串記載的數(shù)據(jù)。返回圖1,通信部件IOf構(gòu)成為包括例如串行接口或者LAN(Local Area Network,局域網(wǎng))接口等。軟件生成裝置10經(jīng)由通信部件IOf而與遙控裝置21進(jìn)行通信。CPUlOa根據(jù)輔助存儲(chǔ)部IOe中存儲(chǔ)的源代碼102,生成由遙控裝置21執(zhí)行的運(yùn)轉(zhuǎn)程序105。然后,將該運(yùn)轉(zhuǎn)程序105經(jīng)由通信部件10f,輸出到遙控裝置21。遙控裝置21配置于形成例如成為空氣調(diào)節(jié)系統(tǒng)20的空氣調(diào)節(jié)對(duì)象的空間(以下,稱為空氣調(diào)節(jié)空間)的壁面等。另外,作為用于接收來(lái)自用戶的指令的接口發(fā)揮功能。如圖1所示,遙控裝置21具有CPU21a、顯示部21b、輸入部21c、主存儲(chǔ)部21d、輔助存儲(chǔ)部21e、以及通信部件21f。顯示部21b具有IXD。于是,顯示通過(guò)與空氣調(diào)節(jié)裝置22的通信取得的與設(shè)定溫度、成為空氣調(diào)節(jié)對(duì)象的空間的溫度(室溫)、運(yùn)轉(zhuǎn)模式等相關(guān)的信息。輸入部21c是由鍵開關(guān)或者觸摸面板等構(gòu)成的接口。經(jīng)由該輸入部21c輸入來(lái)自用戶的指示。然后,經(jīng)由系統(tǒng)總線21g通知到CPU21a。主存儲(chǔ)部21d具有DRAM或者SRAM等非易失性存儲(chǔ)器。該主存儲(chǔ)部21d被用作CPU21a的作業(yè)區(qū)域。輔助存儲(chǔ)部21e具有磁盤、閃存存儲(chǔ)器等非易失性存儲(chǔ)器。在該輔助存儲(chǔ)部IOe中,存儲(chǔ)從軟件生成裝置10輸出的運(yùn)轉(zhuǎn)程序105。通信部件21f具有例如串行接口、LAN接口、無(wú)線通信接口等。遙控裝置21經(jīng)由通信部件21f而與軟件生成裝置10以及空氣調(diào)節(jié)裝置22進(jìn)行通信。CPU21a讀出并執(zhí)行輔助存儲(chǔ)部21e中存儲(chǔ)的運(yùn)轉(zhuǎn)程序105。由此,將通過(guò)來(lái)自用戶的指令設(shè)定的設(shè)定溫度、設(shè)定風(fēng)量、運(yùn)轉(zhuǎn)模式等運(yùn)轉(zhuǎn)信息經(jīng)由通信部件21f輸出到空氣調(diào)節(jié)裝置22。另外,在遙控裝置21的顯示部21b中,顯示設(shè)定溫度、設(shè)定風(fēng)量、運(yùn)轉(zhuǎn)模式等運(yùn)轉(zhuǎn)信息。空氣調(diào)節(jié)裝置22配置于形成例如成為空氣調(diào)節(jié)系統(tǒng)20的空氣調(diào)節(jié)對(duì)象的空間的壁面或者天花板等。于是,空氣調(diào)節(jié)裝置22進(jìn)行空氣調(diào)節(jié)空間的空氣調(diào)節(jié)。如圖1所示,空氣調(diào)節(jié)裝置22具有存儲(chǔ)部22a、輸出控制部件22b、以及通信部件22c。存儲(chǔ)部22a具有閃存存儲(chǔ)器等非易失性存儲(chǔ)器、或者SRAM等易失性存儲(chǔ)器。在該存儲(chǔ)部22a中,存儲(chǔ)經(jīng)由通信部件22c接收的運(yùn)轉(zhuǎn)信息。輸出控制部件22b讀出存儲(chǔ)部22a中存儲(chǔ)的運(yùn)轉(zhuǎn)信息。然后,參照所讀出的運(yùn)轉(zhuǎn)信息,驅(qū)動(dòng)用于向空氣調(diào)節(jié)空間吐出被空氣調(diào)節(jié)的空氣的風(fēng)扇、用于吐出空氣調(diào)節(jié)空氣的百葉窗、與外氣進(jìn)行熱變換的室外機(jī)等。由此,執(zhí)行與來(lái)自用戶的指示內(nèi)容對(duì)應(yīng)的空氣調(diào)節(jié)空間的空氣調(diào)節(jié)。通信部件22c具有例如串行接口、或者無(wú)線通信接口等??諝庹{(diào)節(jié)裝置22經(jīng)由通信部件22c而與遙控裝置21進(jìn)行通信。圖5的流程圖對(duì)應(yīng)于由軟件生成裝置10的CPUlOa執(zhí)行的程序的一系列的算法。以下,參照?qǐng)D5,說(shuō)明軟件生成裝置10的動(dòng)作。如果軟件生成裝置10啟動(dòng),則CPUlOa從輔助存儲(chǔ)部IOe讀出并執(zhí)行用于生成運(yùn)轉(zhuǎn)程序105的程序。在最初的步驟S201中,CPUlOa等待來(lái)自用戶的運(yùn)轉(zhuǎn)程序生成指令。如果經(jīng)由輸入部IOc輸入了來(lái)自用戶的生成指令(步驟S201 是”),則CPUlOa轉(zhuǎn)移到接下來(lái)的步驟S202。在接下來(lái)的步驟S202中,CPUlOa讀出輔助存儲(chǔ)部IOe中存儲(chǔ)的源代碼102。然后,如參照?qǐng)D4可知,對(duì)源代碼102附加行編號(hào)匪,將該源代碼102在主存儲(chǔ)部IOd中展開。在接下來(lái)的步驟S203中,CPUlOa執(zhí)行針對(duì)在主存儲(chǔ)部IOd中展開的源代碼102的匹配處理。具體而言,CPUlOa從構(gòu)成輔助存儲(chǔ)部IOe中存儲(chǔ)的辭典信息101的源代碼圖案Pn,讀出最初的源代碼圖案P:。接下來(lái),比較構(gòu)成源代碼圖案P1的字符串、和構(gòu)成源代碼102的字符串。CPUlOa在構(gòu)成源代碼圖案P1的字符串、和構(gòu)成源代碼102的字符串一致的情況下,判斷為源代碼圖案P1匹配。如參照?qǐng)D4可知,構(gòu)成例如圖3所示的源代碼圖案P1的字符串與源代碼102的第
行至第
行的字符串一致。在該情況下,CPUlOa判斷為源代碼圖案P1匹配。CPUlOa從源代碼圖案P1起,針對(duì)源代碼圖案Pn依次執(zhí)行上述匹配處理。在接下來(lái)的步驟S204中,CPUlOa生成關(guān)于所匹配的源代碼圖案Pn的控制塊信息103n。圖6是示意地示出控制塊信息103n的圖。如圖6所示,控制塊信息103n具有對(duì)控制塊BCn分配的識(shí)別編號(hào)IDn以及位置信息LDn。識(shí)別編號(hào)IDn是用于識(shí)別與源代碼圖案Pn關(guān)聯(lián)起來(lái)的控制塊BCn的編號(hào)。該識(shí)別編號(hào)IDn成為例如從控制塊BC1至控制塊BCn連續(xù)的編號(hào)。位置信息LDn是表示源代碼102中的源代碼圖案Pn的位置的信息。如參照?qǐng)D4可知,例如與源代碼102匹配的源代碼圖案P1的位置信息包括與用于確定行編號(hào)
的開頭行的行編號(hào)
和最終行
相關(guān)的信息。能夠通過(guò)該位置信息LDn判斷源代碼圖案Pn匹配的位置。在接下來(lái)的步驟S205中,CPUlOa生成關(guān)于所匹配的源代碼圖案Pn的控制塊關(guān)聯(lián)信息104n。圖7是示意地示出控制塊關(guān)聯(lián)信息104N的圖。如圖7所示,控制塊關(guān)聯(lián)信息104n包括與如下識(shí)別信息相關(guān)的信息:對(duì)所匹配的源代碼圖案Pn關(guān)聯(lián)起來(lái)的控制塊BCn的識(shí)別編號(hào)IDn、對(duì)與源代碼102匹配了時(shí)的位置處于該源代碼圖案Pn之前的源代碼圖案Pi關(guān)聯(lián)起來(lái)的控制塊BCi的識(shí)別編號(hào)IDp以及對(duì)與源代碼102匹配了時(shí)的位置處于該源代碼圖案Pn之后的源代碼圖案P8關(guān)聯(lián)起來(lái)的控制塊的識(shí)別編號(hào)IDjtl例如,如參照?qǐng)D4可知,關(guān)于源代碼圖案P1的控制塊關(guān)聯(lián)信息KM1包括與如下識(shí)別編號(hào)相關(guān)的信息:對(duì)源代碼圖案P1關(guān)聯(lián)起來(lái)的控制塊BC1的識(shí)別編號(hào)ID1、在源代碼圖案Pii前的位置匹配的源代碼圖案Pni的識(shí)別編號(hào)IDn1、以及在源代碼圖案Pii后的位置匹配的源代碼圖案Pni的識(shí)別編號(hào)IDN1。在接下來(lái)的步驟S206中,根據(jù)控制塊信息103n和控制塊關(guān)聯(lián)信息104N生成變換數(shù)據(jù)CD。如參照?qǐng)D4可知,該變換數(shù)據(jù)CD是通過(guò)根據(jù)控制塊信息103n的位置信息排列對(duì)與源代碼102匹配的源代碼圖案Pn關(guān)聯(lián)起來(lái)的控制塊BCn而生成的數(shù)據(jù)。例如如圖4所示, 在從源代碼102的開頭到末尾,依次排列了源代碼圖案Pn1、源代碼圖案P1、源代碼圖案Pn3、源代碼圖案PN2、.. 的情況下,生成依次排列了控制塊BCn1、控制塊BC1、控制塊BCn3、控制塊BCn2、.. 的變換數(shù)據(jù)⑶。在接下來(lái)的步驟S207中,CPUlOa將變換數(shù)據(jù)⑶的內(nèi)容顯示于顯示部10b。圖8是示出顯示部IOb中顯示的窗口 Wl的圖。如圖8所示,CPUlOa使用對(duì)應(yīng)的圖標(biāo)ICn來(lái)顯示構(gòu)成變換數(shù)據(jù)CD的控制塊BCn。由此,操作人員能夠視覺上理解并修正根據(jù)源代碼102生成的運(yùn)轉(zhuǎn)程序105。例如,在操作人員變更變換數(shù)據(jù)CD的情況下,首先使用鼠標(biāo)等,選擇并雙擊期望的圖標(biāo)1C。由此,表示源代碼102的內(nèi)容的窗口 W2彈出。在該窗口 W2中,源代碼102中的與被雙擊的圖標(biāo)IC對(duì)應(yīng)的字符串通過(guò)虛線所示的框、標(biāo)志等被強(qiáng)調(diào)顯示。操作人員通過(guò)對(duì)窗口 W2插入表示期望的命令的字符串,能夠修正源代碼102。例如,如參照?qǐng)D9的窗口 W2可知,通過(guò)在與圖標(biāo)IC1對(duì)應(yīng)的溫度更新命令、和與圖標(biāo)IC2對(duì)應(yīng)的風(fēng)量變更命令之間,插入用于更新運(yùn)轉(zhuǎn)模式的命令,從而能夠?qū)υ创a102附加更新運(yùn)轉(zhuǎn)模式的命令。在該情況下,如參照?qǐng)D9的窗口 Wl可知,在圖標(biāo)IC1與圖標(biāo)IC2之間,顯示與被追加的命令對(duì)應(yīng)的新的圖標(biāo)ICNW。另外,操作人員通過(guò)在圖標(biāo)IC1與圖標(biāo)IC2之間插入圖標(biāo)ICnw,也能夠變更源代碼102。CPUlOa在接下來(lái)的步驟S208中,等待來(lái)自上述操作人員的輸入。此處,在源代碼102被變更的情況下(步驟S208 是”),轉(zhuǎn)移到步驟S209。然后,以對(duì)應(yīng)于變更后的源代碼102的方式,變更變換數(shù)據(jù)⑶,返回到步驟S207。以后,CPUlOa在步驟S208中的判斷成為肯定之前,反復(fù)執(zhí)行步驟S207 步驟S209的處理。由此,操作人員能夠確認(rèn)根據(jù)最新的源代碼102生成的變換數(shù)據(jù)⑶,并且進(jìn)行源代碼102的修正、編輯。另一方面,在由操作人員結(jié)束源代碼102的修正,而最終的源代碼102確定了的情況下(步驟S208 否”),CPUlOa轉(zhuǎn)移到步驟S210。
另外,為便于說(shuō)明,設(shè)為最終確定的變換數(shù)據(jù)CD具有例如10個(gè)控制塊BCn。另外,設(shè)為各控制塊是構(gòu)造塊、調(diào)出塊、表示測(cè)量開始探測(cè)器的控制塊、表示測(cè)量結(jié)束探測(cè)器的控制塊、以及訪問(wèn)塊中的任一個(gè)。上述構(gòu)造塊是與表示處理的分支、處理的循環(huán)動(dòng)作的源代碼對(duì)應(yīng)的控制塊。另外,調(diào)出塊是與表示調(diào)出對(duì)應(yīng)于其他控制塊的處理的動(dòng)作的源代碼對(duì)應(yīng)的控制塊。另外,例如如圖8所示,測(cè)量開始探測(cè)器塊是小圓形的圖標(biāo)ICs所示的控制塊。另外,測(cè)量結(jié)束探測(cè)器塊是小圓形的圖標(biāo)ICe所示的控制塊。這些控制塊是與表示測(cè)量位于測(cè)量開始探測(cè)器塊與測(cè)量結(jié)束探測(cè)器塊之間的控制塊所示的處理所需的時(shí)間的源代碼對(duì)應(yīng)的控制塊。另外,訪問(wèn)塊是與表示根據(jù)用于確定存儲(chǔ)器、文件等資源的地址、寫入數(shù)據(jù)的類別、以及數(shù)據(jù)寫入目的地、讀取目的地等信息執(zhí)行向指定的地址的訪問(wèn)處理的動(dòng)作的源代碼對(duì)應(yīng)的控制塊。在步驟S210中,CPUlOa執(zhí)行圖10的流程圖所示的子例程300。首先,在最初的步驟S301中,CPUlOa對(duì)計(jì)數(shù)器η進(jìn)行復(fù)位。在接下來(lái)的步驟S302中,CPUlOa使計(jì)數(shù)器η遞增。在接下來(lái)的步驟S303中,CPUlOa判斷構(gòu)成變換數(shù)據(jù)⑶的第N個(gè)(此處第I個(gè))控制塊BCn是否為構(gòu)造塊。然后,在第N個(gè)控制塊BCn是構(gòu)造塊的情況下(步驟S303 是”),轉(zhuǎn)移到接下來(lái)的步驟S304。在接下來(lái)的步驟S304中,CPUlOa根據(jù)與控制塊BCn關(guān)聯(lián)的源代碼圖案ΡΝ,生成用于進(jìn)行分支處理的程序。此處,分支處理是指,在符合條件的情況、和不符合條件的情況下,執(zhí)行相互不同的處理。另一方面,在步驟S303中的判斷是否定的情況下(步驟S303 否”),CPUlOa轉(zhuǎn)移到步驟S305。在步驟S305中,CPUlOa判斷構(gòu)成變換數(shù)據(jù)⑶的第N個(gè)(此處第I個(gè))控制塊BCn是否為調(diào)出塊。然后,在第N個(gè)控制塊BCn是調(diào)出塊的情況下(步驟S305 是”),轉(zhuǎn)移到接下來(lái)的步驟S306。在步驟S306中,CPUlOa根據(jù)與控制塊BCn關(guān)聯(lián)的源代碼圖案ΡΝ,生成用于進(jìn)行調(diào)出處理的程序。此處,調(diào)出處理是指,首先執(zhí)行其他處理,在該處理完成之后進(jìn)行接下來(lái)的處理。另一方面,在步驟S305中的判斷是否定的情況下(步驟S305 否”),CPUlOa轉(zhuǎn)移到步驟S307。在步驟S307中,CPUlOa判斷構(gòu)成變換數(shù)據(jù)CD的第N個(gè)(此處第I個(gè))控制塊BCn是否為測(cè)量開始探測(cè)器塊。然后,在第N個(gè)控制塊BCn是測(cè)量開始探測(cè)器塊的情況下(步驟S307 是”),轉(zhuǎn)移到接下來(lái)的步驟S308。在步驟S308中,CPUlOa根據(jù)與控制塊BCn關(guān)聯(lián)的源代碼圖案ΡΝ,生成用于進(jìn)行測(cè)量的開始處理的程序。此處,測(cè)量開始處理是指,通過(guò)測(cè)量開始命令,開始經(jīng)過(guò)時(shí)間的測(cè)量的處理。另一方面,在步驟S307中的判斷是否定的情況下(步驟S307 否”),CPUlOa轉(zhuǎn)移到步驟S309。在步驟S309中,CPUlOa判斷構(gòu)成變換數(shù)據(jù)⑶的第N個(gè)(此處第I個(gè))控制塊BCn是否為測(cè)量結(jié)束探測(cè)器塊。然后,在第N個(gè)控制塊BCn是測(cè)量結(jié)束探測(cè)器塊的情況下(步驟S309 是”),轉(zhuǎn)移到接下來(lái)的步驟S310。在步驟S310中,CPUlOa根據(jù)與控制塊BCn關(guān)聯(lián)的源代碼圖案PN,生成用于進(jìn)行測(cè)量的結(jié)束處理的程序。此處,測(cè)量的結(jié)束處理是指,通過(guò)測(cè)量結(jié)束命令結(jié)束經(jīng)過(guò)時(shí)間的測(cè)量的處理。另一方面,在步驟S309中的判斷是否定的情況下(步驟309 否”),CPUlOa轉(zhuǎn)移到步驟S311。在步驟S311中,CPUlOa根據(jù)與控制塊BCn關(guān)聯(lián)的源代碼圖案PN,生成用于進(jìn)行訪問(wèn)處理的程序。此處,訪問(wèn)處理是指,進(jìn)行從存儲(chǔ)器的規(guī)定的地址的讀取、向存儲(chǔ)器的規(guī)定的地址的寫入的處理。如果上述步驟S304、S306、S308、S310、S311中的處理結(jié)束,則CPUlOa轉(zhuǎn)移到接下來(lái)的步驟S312。在步驟S312中,CPUlOa判斷計(jì)數(shù)器η是否小于閾值。另外,該閾值等價(jià)于構(gòu)成變換數(shù)據(jù)CD的控制塊的總數(shù),此處是10。在計(jì)數(shù)器η的值小于閾值的情況下(步驟S312:“是”),CPUlOa返回到步驟S302,以后,在步驟S312中的判斷成為否定之前,反復(fù)執(zhí)行步驟S302 S312的處理。由此,根據(jù)與構(gòu)成變換數(shù)據(jù)⑶的控制塊BCn對(duì)應(yīng)的源代碼圖案Pn生成N個(gè)(此處10個(gè))程序。另一方面,在計(jì)數(shù)器η成為閾值以上的情況下(步驟S312 否”),CPUlOa轉(zhuǎn)移到接下來(lái)的步驟S313。在步驟S313中,CPUlOa通過(guò)使N個(gè)程序串聯(lián)地排列并且將前后的程序彼此關(guān)聯(lián)起來(lái),生成運(yùn)轉(zhuǎn)程序105。然后,如果在步驟S313中生成了運(yùn)轉(zhuǎn)程序105,則CPUlOa結(jié)束子例程300,轉(zhuǎn)移到步驟S211。在步驟S211中,CPUlOa經(jīng)由通信部件10f,將運(yùn)轉(zhuǎn)程序105輸出到遙控裝置21。將被輸出到遙控裝置21的運(yùn)轉(zhuǎn)程序105經(jīng)由構(gòu)成遙控裝置21的通信部件21f,輸出到輔助存儲(chǔ)部21e。由此,向遙控裝置21安裝運(yùn)轉(zhuǎn)程序105。如果步驟S211的處理完成,則CPUlOa結(jié)束用于生成運(yùn)轉(zhuǎn)程序105的處理。接下來(lái),說(shuō)明安裝了運(yùn)轉(zhuǎn)程序105的遙控裝置21的動(dòng)作。如果安裝了運(yùn)轉(zhuǎn)程序105,則構(gòu)成遙控裝置21的CPU21a從輔助存儲(chǔ)部21e讀出運(yùn)轉(zhuǎn)程序105,執(zhí)行該運(yùn)轉(zhuǎn)程序105。此時(shí),CPU21a通過(guò)基于運(yùn)轉(zhuǎn)程序105的測(cè)量開始探測(cè)器的測(cè)量開始命令,開始經(jīng)過(guò)時(shí)間的測(cè)量,通過(guò)基于測(cè)量結(jié)束探測(cè)器的測(cè)量結(jié)束命令,結(jié)束經(jīng)過(guò)時(shí)間的測(cè)量。通過(guò)該動(dòng)作,測(cè)定從執(zhí)行測(cè)量開始命令至執(zhí)行測(cè)量結(jié)束命令為止的期間執(zhí)行的處理所需的時(shí)間(所需時(shí)間)。對(duì)于CPU21a,如果測(cè)量了所需時(shí)間,則將與該測(cè)量結(jié)果相關(guān)的信息經(jīng)由通信部件21f,輸出到軟件生成裝置10。軟件生成裝置10的CPUlOa如果接收到與測(cè)量結(jié)果相關(guān)的信息,則將該測(cè)量結(jié)果與動(dòng)作制約條件信息106進(jìn)行比較。圖11是示意地示出動(dòng)作制約條件信息106的圖。如圖11所示,動(dòng)作制約條件信息106具有與表示測(cè)量開始探測(cè)器的控制塊的識(shí)別編號(hào)IDs、表示測(cè)量結(jié)束探測(cè)器的控制塊識(shí)別編號(hào)IDe、以及限制時(shí)間LM相關(guān)的信息。CPUlOa根據(jù)該動(dòng)作制約條件信息106的識(shí)別編號(hào)確定測(cè)量開始命令以及測(cè)量結(jié)束命令,確定從執(zhí)行測(cè)量開始命令至執(zhí)行測(cè)量結(jié)束命令為止的限制時(shí)間。然后,比較從遙控裝置21輸出的測(cè)量結(jié)果(所需時(shí)間)和限制時(shí)間,將比較結(jié)果顯示于顯示部10b。
圖12以及圖13是示出顯示部IOb中顯示的比較結(jié)果的圖。例如,CPUlOa在測(cè)量結(jié)果比限制時(shí)間短的情況下,在顯示部IOb中顯示圖12所示的窗口 W3,而顯示在限制時(shí)間內(nèi)進(jìn)行了由遙控裝置21執(zhí)行的處理的信息。另一方面,CPUlOa在測(cè)量結(jié)果比限制時(shí)間長(zhǎng)的情況下,在顯示部IOb中顯示圖13所示的窗口 W4,而顯示在限制時(shí)間內(nèi)未進(jìn)行由遙控裝置21執(zhí)行的處理的信息。如以上說(shuō)明,在本實(shí)施方式中,通過(guò)進(jìn)行使用了源代碼圖案P的匹配,用于生成運(yùn)轉(zhuǎn)程序105的源代碼102被變換為具有控制塊BC的變換數(shù)據(jù)CD。然后,能夠通過(guò)與控制塊BC對(duì)應(yīng)地規(guī)定的圖標(biāo)1C,視覺辨認(rèn)具有該控制塊BC的變換數(shù)據(jù)CD。因此,軟件生成裝置10的操作人員能夠視覺上掌握源代碼102的內(nèi)容。在本實(shí)施方式中,通過(guò)操作顯示部IOb中顯示的圖標(biāo)IC,彈出顯示與該圖標(biāo)關(guān)聯(lián)的部位的源代碼圖案P的窗口。于是,通過(guò)對(duì)該窗口追加源代碼或者刪除窗口中顯示的源代碼,能夠制作或者編輯源代碼102。因此,能夠直觀并且容易地制作源代碼102,進(jìn)而能夠容易地制作運(yùn)轉(zhuǎn)程序105。在本實(shí)施方式中,通過(guò)顯示部IOb中顯示的圖標(biāo)IC的排列,顯示源代碼102。于是,通過(guò)在這些圖標(biāo)IC之間插入期望的圖標(biāo)1C、或者刪除不需要的圖標(biāo),能夠制作或者編輯源代碼102。因此,能夠直觀并且容易地制作源代碼102,進(jìn)而能夠容易地制作運(yùn)轉(zhuǎn)程序105。在本實(shí)施方式中,評(píng)價(jià)在由遙控裝置21執(zhí)行了運(yùn)轉(zhuǎn)程序105時(shí)所需的時(shí)間。然后,例如如參照?qǐng)D12以及圖13可知,在輸入畫面上彈出的窗口中,顯示評(píng)價(jià)結(jié)果。由此,軟件生成裝置10的操作人員能夠視覺上掌握遙控裝置21的負(fù)荷等。因此,能夠容易地驗(yàn)證所制作的運(yùn)轉(zhuǎn)程序105。在本實(shí)施方式中,通過(guò)對(duì)源代碼102匹配源代碼圖案P,制作變換數(shù)據(jù)⑶。由此,根據(jù)由其他裝置生成的源代碼圖案也能夠生成變換數(shù)據(jù)⑶。在本實(shí)施方式中,通過(guò)使用了構(gòu)成辭典信息的源代碼圖案P的匹配,生成變換數(shù)據(jù)。因此,通過(guò)使用例如適于運(yùn)轉(zhuǎn)程序105的用途的辭典信息,能夠容易地制作各種運(yùn)轉(zhuǎn)程序 105。在本實(shí)施方式中,軟件生成裝置10經(jīng)由LAN、串行線纜等通信線而與遙控裝置21連接。因此,能夠容易地進(jìn)行運(yùn)轉(zhuǎn)程序105的驗(yàn)證等。以上,說(shuō)明了本發(fā)明的實(shí)施方式,但本發(fā)明不限于上述實(shí)施方式。例如在上述實(shí)施方式中,說(shuō)明了如參照?qǐng)D4可知,源代碼102的全部被置換為構(gòu)成辭典信息101的源代碼圖案P的情況。但是,還可以考慮不存在如圖14所示例如用從第
行至第
行的源代碼規(guī)定的源代碼圖案P。在該情況下,CPUlOa新定義以從第
行至第
行的源代碼為內(nèi)容的控制塊BCa。然后,用包括該控制塊BCa的控制塊群生成變換數(shù)據(jù)⑶。由此,能夠?qū)⒃创a102變換為具有控制塊的變換數(shù)據(jù)CD,同樣地能夠顯示為圖標(biāo)IC的排列。在本實(shí)施方式中,設(shè)為通過(guò)例如圖12以及圖13所示的窗口 W3、W4顯示評(píng)價(jià)遙控裝置21執(zhí)行運(yùn)轉(zhuǎn)程序105所需的時(shí)間而得到的結(jié)果。作為替代方案,也可以例如如圖15所示,對(duì)顯示每個(gè)處理的時(shí)間線的窗口 W5進(jìn)行顯示。另外,也可以在窗口 W5中,顯示表示規(guī)定的處理是否在限制時(shí)間內(nèi)完結(jié)的文本。由此,能夠通過(guò)時(shí)間線,視覺地掌握處理時(shí)間,并且通過(guò)由文本構(gòu)成的信息,正確地確認(rèn)處理時(shí)間的評(píng)價(jià)結(jié)果。
在本實(shí)施方式中,設(shè)為通過(guò)軟件生成裝置10與遙控裝置21之間的通信,將運(yùn)轉(zhuǎn)程序105上載到遙控裝置21。不限于此,也可以將由軟件生成裝置10生成的運(yùn)轉(zhuǎn)程序105例如通過(guò)CD (Compact Disc,高密度盤)、USB (Universal Serial Bus,通用串行總線)存儲(chǔ)器等記錄介質(zhì),安裝到遙控裝置21。在本實(shí)施方式中,在主存儲(chǔ)部IOd中展開源代碼102時(shí),附加了行編號(hào)匪,但也可以除此以外還附加例如文件名等。在本實(shí)施方式中,說(shuō)明了使用軟件生成裝置10來(lái)生成在空氣調(diào)節(jié)系統(tǒng)20中執(zhí)行的運(yùn)轉(zhuǎn)程序105的情況。不限于此,能夠通過(guò)使用軟件生成裝置10,來(lái)生成在照明裝置等各種設(shè)備儀器中使用的運(yùn)轉(zhuǎn)程序105。在本實(shí)施方式中,設(shè)為控制塊是構(gòu)造塊、調(diào)出塊、表示測(cè)量開始探測(cè)器的控制塊、表示測(cè)量結(jié)束探測(cè)器的控制塊、以及訪問(wèn)塊中的任一個(gè)。不限于此,也可以根據(jù)需要,使用與和其他處理對(duì)應(yīng)的源代碼圖案關(guān)聯(lián)的控制塊來(lái)進(jìn)行匹配。還能夠通過(guò)專用的硬件實(shí)現(xiàn)本實(shí)施方式的軟件生成裝置10的功能。本發(fā)明能夠不脫離本發(fā)明的廣義的精神和范圍而實(shí)現(xiàn)各種實(shí)施方式以及變形。另夕卜,上述實(shí)施方式用于說(shuō)明本發(fā)明,而未限定本發(fā)明的范圍。即,本發(fā)明的范圍并非由實(shí)施方式示出而基于權(quán)利要求書示出。另外,在權(quán)利要求書內(nèi)以及與其同等的發(fā)明的意義的范圍內(nèi)實(shí)施的各種變形被視為本發(fā)明的范圍內(nèi)。本申請(qǐng)基于在2010年10月4日申請(qǐng)的日本專利申請(qǐng)2010 — 225244號(hào)。在本說(shuō)明書中參照并取入了日本專利申請(qǐng)2010 — 225244號(hào)的說(shuō)明書、權(quán)利要求書、附圖整體。產(chǎn)業(yè)上的可利用性本發(fā)明的軟件生成裝置、軟件生成方法、以及程序適用于軟件的生成。
權(quán)利要求
1.一種軟件生成裝置,具備: 匹配單元,使具有構(gòu)成軟件的源代碼的一部分的字符串且預(yù)先規(guī)定的多個(gè)塊與所述源代碼匹配; 變換單元,通過(guò)將所述源代碼的所述塊所匹配的部分置換為所匹配的所述塊,將所述源代碼變換為具有所述塊的數(shù)據(jù);以及 生成單元,根據(jù)具有所述塊的數(shù)據(jù),生成所述軟件。
2.根據(jù)權(quán)利要求1所述的軟件生成裝置,其特征在于, 具備顯示單元,該顯示單元將具有所述塊的數(shù)據(jù)顯示為與所述塊對(duì)應(yīng)的圖形的排列。
3.根據(jù)權(quán)利要求2所述的軟件生成裝置,其特征在于, 所述圖形是圖標(biāo)。
4.根據(jù)權(quán)利要求3所述的軟件生成裝置,其特征在于, 具備用于變更所述圖形的排列的接口, 所述生成單元根據(jù)通過(guò)與所變更的所述圖形的排列對(duì)應(yīng)的所述塊的排列而規(guī)定的數(shù)據(jù),生成所述軟件。
5.根據(jù)權(quán)利要求1至4中的任意一項(xiàng)所述的軟件生成裝置,其特征在于, 在使規(guī)定的儀器執(zhí)行了所述軟件時(shí),所述顯示單元顯示比較了直至完成由所述軟件規(guī)定的特定的處理為止的所需時(shí)間和預(yù)先設(shè)定的限制時(shí)間而得到的結(jié)果。
6.根據(jù)權(quán)利要求5所述的軟件生成裝置,其特征在于, 在所述儀器中具備經(jīng)由通信線路上載所述軟件的通信單元。
7.根據(jù)權(quán)利要求1至6中的任意一項(xiàng)所述的軟件生成裝置,其特征在于, 具備存儲(chǔ)單元,該存儲(chǔ)單元存儲(chǔ)表示所述塊與構(gòu)成所述源代碼的一部分的字符串的對(duì)應(yīng)的辭典數(shù)據(jù), 所述匹配單元根據(jù)所述辭典數(shù)據(jù),使所述塊與所述源代碼匹配。
8.一種軟件生成方法,具備: 使具有構(gòu)成軟件的源代碼的一部分的字符串且預(yù)先規(guī)定的多個(gè)塊與所述源代碼匹配的工序; 通過(guò)將所述源代碼的所述塊所匹配的部分置換為所匹配的所述塊,將所述源代碼變換為具有所述塊的數(shù)據(jù)的工序;以及 根據(jù)具有所述塊的數(shù)據(jù),生成所述軟件的工序。
9.根據(jù)權(quán)利要求8所述的軟件生成方法,其特征在于, 包括將所述數(shù)據(jù)顯示為與所述塊對(duì)應(yīng)的圖形的排列的工序。
10.一種程序,使計(jì)算機(jī)執(zhí)行如下步驟: 使具有構(gòu)成軟件的源代碼的一部分的字符串且預(yù)先規(guī)定的多個(gè)塊與所述源代碼匹配的步驟; 通過(guò)將所述源代碼的所述塊所匹配的部分置換為所匹配的所述塊,將所述源代碼變換為具有所述塊的數(shù)據(jù)的步驟;以及 根據(jù)具有所述塊的數(shù)據(jù),生成所述軟件的步驟。
11.根據(jù)權(quán)利要求10所述的程序,其特征在于, 使得還執(zhí)行將所述數(shù)據(jù)顯示為與所述塊對(duì)應(yīng)的圖形的排列的步驟。
全文摘要
通過(guò)進(jìn)行使用了源代碼圖案的匹配,將用于生成運(yùn)轉(zhuǎn)程序(105)的源代碼(102)變換為具有關(guān)聯(lián)了源代碼圖案的控制塊的變換數(shù)據(jù)。然后,使用與控制塊對(duì)應(yīng)地規(guī)定的圖標(biāo),顯示具有該控制塊的變換數(shù)據(jù)。由此,軟件生成裝置(10)的操作人員能夠視覺上掌握源代碼(102)的內(nèi)容。
文檔編號(hào)G06F9/44GK103154886SQ20118004804
公開日2013年6月12日 申請(qǐng)日期2011年1月26日 優(yōu)先權(quán)日2010年10月4日
發(fā)明者勝倉(cāng)真, 中田成憲 申請(qǐng)人:三菱電機(jī)株式會(huì)社