總體技術(shù)領(lǐng)域是軟件開(kāi)發(fā),且更具體地是用于產(chǎn)生軟件特征需求的系統(tǒng)和方法。
背景技術(shù):產(chǎn)生軟件特征需求的過(guò)程包括獲得自然語(yǔ)言需求并且將其轉(zhuǎn)換為正式可執(zhí)行需求。從自然語(yǔ)言需求至正式可執(zhí)行需求的轉(zhuǎn)換可能是主觀的,并且可能包括信息損失。當(dāng)前用于使得該過(guò)程更客觀并且保存信息的分析是費(fèi)時(shí)的。例如,這種分析包括手動(dòng)復(fù)核需求,并且受限于智力模型。
技術(shù)實(shí)現(xiàn)要素:通過(guò)提供用于產(chǎn)生軟件特征需求的系統(tǒng)和方法,各個(gè)實(shí)施方式克服了現(xiàn)有技術(shù)的缺陷,所述系統(tǒng)和方法逐漸地且可跟蹤地將自然語(yǔ)言需求轉(zhuǎn)換為正式可執(zhí)行需求。該系統(tǒng)和方法包括注釋的需求文檔,所述注釋的需求文檔捕獲與非正式需求相關(guān)聯(lián)的特征信息,并且有利于產(chǎn)生這樣的工件,所述工件有助于在各個(gè)抽象層次對(duì)需求行為的復(fù)核和早期綜合。所述系統(tǒng)和方法利用重復(fù)和漸進(jìn)的過(guò)程將自然語(yǔ)言需求轉(zhuǎn)換為正式的可執(zhí)行需求。由此,所述系統(tǒng)和方法保留了自然語(yǔ)言需求中的信息,并且以客觀的方式轉(zhuǎn)換所述需求。例如,本文所述的系統(tǒng)和方法可用于產(chǎn)生機(jī)動(dòng)車的嵌入式控制軟件特征,例如適應(yīng)性巡航控制軟件等。根據(jù)示例性實(shí)施方式,用于從非正式需求文檔產(chǎn)生正式軟件需求的系統(tǒng)和方法包括:將注釋與所述非正式需求相關(guān)聯(lián);從所述注釋提取語(yǔ)法;以及,產(chǎn)生作為所述語(yǔ)法的函數(shù)的工件。本發(fā)明還包括以下方案:1.一種方法,所述方法用于使用具有至少一個(gè)非正式需求的注釋的需求文檔來(lái)產(chǎn)生正式軟件需求,所述方法包括:在計(jì)算機(jī)處理器處從所述注釋的需求文檔的注釋中提取語(yǔ)法,所述注釋與所述注釋的需求文檔的至少一個(gè)非正式需求相關(guān)聯(lián);以及產(chǎn)生作為所述語(yǔ)法的函數(shù)的工件。2.根據(jù)方案1所述的方法,其中,所述工件選自特定工件的組,所述特定工件的組包括上下文圖和模式圖。3.根據(jù)方案1所述的方法,其中,所述語(yǔ)法包括代理以及使所述代理相關(guān)聯(lián)的信息。4.根據(jù)方案1所述的方法,其中,所述語(yǔ)法包括模式以及使所述模式相關(guān)聯(lián)的信息。5.根據(jù)方案1所述的方法,其中,所述語(yǔ)法包括正式需求。6.根據(jù)方案1所述的方法,其中:所述工件是第一工件;以及所述方法還包括產(chǎn)生作為所述語(yǔ)法的函數(shù)的第二工件。7.根據(jù)方案6所述的方法,其中,所述第二工件包括具有正式需求的轉(zhuǎn)換系統(tǒng)限定。8.根據(jù)方案7所述的方法,還包括:從所述轉(zhuǎn)換系統(tǒng)限定提取所述正式需求以及產(chǎn)生正式模型。9.根據(jù)方案8所述的方法,還包括:產(chǎn)生作為所述正式模型的函數(shù)的錯(cuò)誤報(bào)告。10.根據(jù)方案1所述的方法,還包括:產(chǎn)生與所述注釋的需求文檔中的所述非正式需求相關(guān)聯(lián)的所述注釋;以及將所述注釋添加到所述注釋的需求文檔中。11.一種系統(tǒng),所述系統(tǒng)用于產(chǎn)生正式軟件需求,所述系統(tǒng)包括:處理器;以及計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀介質(zhì)包括第一工件應(yīng)用,所述第一工件應(yīng)用在由所述處理器執(zhí)行時(shí)使得所述處理器執(zhí)行包括下述的動(dòng)作:從注釋的需求文檔中的注釋來(lái)提取語(yǔ)法;以及產(chǎn)生作為所述語(yǔ)法的函數(shù)的工件。12.根據(jù)方案11所述的系統(tǒng),其中,所述工件選自特定工件的組,所述特定工件的組包括上下文圖和模式圖。13.根據(jù)方案11所述的系統(tǒng),其中,所述語(yǔ)法包括代理以及使所述代理相關(guān)聯(lián)的信息。14.根據(jù)方案11所述的系統(tǒng),其中,所述語(yǔ)法包括模式以及使所述模式相關(guān)聯(lián)的信息。15.根據(jù)方案11所述的系統(tǒng),其中,所述語(yǔ)法包括正式需求。16.根據(jù)方案11所述的系統(tǒng),其中:所述工件是第一工件;以及所述系統(tǒng)還包括第二工件應(yīng)用,所述第二工件應(yīng)用在由所述處理器執(zhí)行時(shí)使得所述處理器產(chǎn)生作為所述語(yǔ)法的函數(shù)的第二工件。17.根據(jù)方案16所述的系統(tǒng),其中,所述第二工件包括具有正式需求的轉(zhuǎn)換系統(tǒng)限定。18.根據(jù)方案17所述的系統(tǒng),還包括:正式模型應(yīng)用,所述正式模型應(yīng)用在由所述處理器執(zhí)行時(shí)使得所述處理器從所述轉(zhuǎn)換系統(tǒng)限定提取所述正式需求并且產(chǎn)生正式模型;以及模型核查應(yīng)用,所述模型核查應(yīng)用在由所述處理器執(zhí)行時(shí)使得所述處理器產(chǎn)生作為所述正式模型的函數(shù)的錯(cuò)誤報(bào)告。19.根據(jù)方案11所述的系統(tǒng),還包括需求文檔應(yīng)用,所述需求文檔應(yīng)用構(gòu)造成當(dāng)由處理器執(zhí)行時(shí)使得所述處理器執(zhí)行包括如下的動(dòng)作:產(chǎn)生與所述注釋的需求文檔中的所述非正式需求相關(guān)聯(lián)的所述注釋;以及將所述注釋添加到所述注釋的需求文檔中。20.一種方法,所述方法用于使用具有至少一個(gè)非正式需求的注釋的需求文檔來(lái)產(chǎn)生正式軟件需求,所述方法包括:在計(jì)算機(jī)處理器處從所述注釋的需求文檔的注釋中提取語(yǔ)法,所述注釋與所述注釋的需求文檔的至少一個(gè)非正式需求相關(guān)聯(lián);以及產(chǎn)生作為所述語(yǔ)法的函數(shù)的工件,所述工件選自這樣的組,所述組包括上下文圖、模式圖和系統(tǒng)轉(zhuǎn)換限定。前文已經(jīng)寬泛地概述了各個(gè)實(shí)施方式的一些方面和特征,但是這些實(shí)施方式應(yīng)當(dāng)被認(rèn)為僅描述了各種可能應(yīng)用。通過(guò)將所公開(kāi)的信息以不同的方式應(yīng)用或者通過(guò)結(jié)合所公開(kāi)實(shí)施方式的各個(gè)方面,可獲得其他有益結(jié)果。除了權(quán)利要求所限定的范圍之外,通過(guò)結(jié)合附圖來(lái)參考對(duì)示例性實(shí)施方式的詳細(xì)說(shuō)明,可獲得其他方面以及更全面的理解。附圖說(shuō)明圖1是需求分析系統(tǒng)的示意圖。圖2是用于將非正式需求轉(zhuǎn)化為正式可執(zhí)行需求的過(guò)程的示意圖。圖3是注釋的需求文檔的示意圖。圖4是第一示例性工件的示意圖。圖5是第二示例性工件的示意圖。圖6是第三示例性工件的示意圖。圖7是第四示例性工件的示意圖。圖8是描述了使用圖1的需求分析系統(tǒng)的示例性方法的流程圖。具體實(shí)施方式根據(jù)需要,本文公開(kāi)了詳細(xì)的實(shí)施方式。必須理解的是,所公開(kāi)的實(shí)施方式僅是示例性的,并且可以各種和另選的形式及其組合來(lái)實(shí)施。如本文所使用的,詞語(yǔ)“示例性”被廣義地使用以指代用作描述、樣例、模型或范例的實(shí)施方式。附圖不必按比例繪制,并且一些特征可能被放大或最小化以示出具體部件的細(xì)節(jié)。在其他情況下,本領(lǐng)域普通技術(shù)人員已知的公知部件、系統(tǒng)、材料或方法未被詳細(xì)描述,以避免使得本發(fā)明晦澀。因此,本文所公開(kāi)的具體結(jié)構(gòu)和功能細(xì)節(jié)被認(rèn)為不是限制性的,而僅僅是權(quán)利要求書(shū)的基礎(chǔ)以及用于教導(dǎo)本領(lǐng)域技術(shù)人員的代表性基礎(chǔ)。系統(tǒng)參考圖1,需求分析系統(tǒng)100包括中央處理單元(CPU)110。CPU110包括處理器120、存儲(chǔ)器122或其他有形非易失性計(jì)算機(jī)可讀介質(zhì)、以及包括計(jì)算機(jī)可執(zhí)行指令的軟件應(yīng)用124、125、126、127、128、129。軟件應(yīng)用124、125、126、127、128、129被存儲(chǔ)在存儲(chǔ)器122中。每個(gè)軟件應(yīng)用124、125、126、127、128、129可包括至少一個(gè)有形非易失性硬件部件。雖然本文所描述的方法可能不時(shí)地在一般意義上用計(jì)算機(jī)可執(zhí)行指令來(lái)描述,但是本發(fā)明的方法還可結(jié)合其他應(yīng)用被實(shí)施和/或作為硬件和軟件的組合被實(shí)施。術(shù)語(yǔ)“應(yīng)用”或者其變形在本文被廣義地使用,以包括例程、程序模塊、程序、部件、數(shù)據(jù)結(jié)構(gòu)、算法等。應(yīng)用可被實(shí)施在各種系統(tǒng)構(gòu)造上,包括服務(wù)器、網(wǎng)絡(luò)系統(tǒng)、單處理器或多處理器系統(tǒng)、微型計(jì)算機(jī)、大型計(jì)算機(jī)、個(gè)人計(jì)算機(jī)、手持式計(jì)算裝置、移動(dòng)裝置、基于微處理器的可編程消費(fèi)電子裝置、以及它們的組合,等等。計(jì)算機(jī)可讀介質(zhì)例如包括:易失性介質(zhì)、非易失性介質(zhì)、可移除介質(zhì)和不可移除介質(zhì)。如說(shuō)明書(shū)和權(quán)利要求書(shū)中所使用的,術(shù)語(yǔ)“計(jì)算機(jī)可讀介質(zhì)”及其變形是指有形的非暫時(shí)性存儲(chǔ)介質(zhì)。在一些實(shí)施方式中,存儲(chǔ)介質(zhì)包括易失性和/或非易失性、可移除和/或不可移除的介質(zhì),例如:隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可電擦除可編程只讀存儲(chǔ)器(EEPROM)、固態(tài)存儲(chǔ)器、或其他存儲(chǔ)技術(shù);CDROM、DVD、BLU-RAY或其他光盤(pán)存儲(chǔ)裝置;磁帶、磁盤(pán)存儲(chǔ)裝置或其他磁存儲(chǔ)裝置。為了教導(dǎo)的目的,需求分析系統(tǒng)100主要作為具有多個(gè)應(yīng)用的單CPU被示出并描述。然而,在另選實(shí)施方式中,需求分析系統(tǒng)可包括具有軟件應(yīng)用的多個(gè)獨(dú)立CPU,這些CPU一起工作以實(shí)現(xiàn)將在下文更詳細(xì)描述的方法。應(yīng)用參考圖1、2和3,注釋的需求文檔應(yīng)用124(圖1)構(gòu)造成:當(dāng)由處理器120執(zhí)行時(shí),使得該處理器有利于產(chǎn)生需求文檔130(圖2),所述需求文檔包括一組非正式需求132。通常,非正式需求132是規(guī)定了具體動(dòng)作的特征的功能需求,或者是采用了自然語(yǔ)言的軟件系統(tǒng)的結(jié)果,等等。示例性特征包括高級(jí)駕駛輔助,例如,適應(yīng)性巡航控制、車載導(dǎo)航、車道變更輔助和防撞。為了教導(dǎo)的目的,參考圖2,由工程組140開(kāi)發(fā)非正式需求132,以指導(dǎo)軟件組142何時(shí)開(kāi)發(fā)用于產(chǎn)品146的產(chǎn)品軟件144。在一個(gè)實(shí)施方式中,需求文檔包括以下各項(xiàng)中的一項(xiàng)或多項(xiàng),所述各項(xiàng)為:字處理的文檔、電子表格和出版文檔。注釋的需求文檔應(yīng)用124可以是字處理程序、桌面出版者、電子表格程序,等等。參考圖1和3,注釋的需求文檔應(yīng)用124還構(gòu)造成:當(dāng)由處理器120執(zhí)行時(shí),使得所述處理器有利于在需求文檔130中插入注釋以形成注釋的需求文檔150。在如圖3示意性地示出的示例中,注釋152包括在注釋的需求文檔150的頁(yè)邊空白處的評(píng)論泡(commentbubble)。評(píng)論泡被連接到非正式需求(例如,特定的非正式需求132)的選定文本。在另選的實(shí)施方式中,注釋152包括下述各項(xiàng)中的任意一項(xiàng)或多項(xiàng):腳注;尾注;用于將評(píng)論連接到非正式需求的其他機(jī)構(gòu);以及允許在每條非正式需求132旁邊插入評(píng)論的其他評(píng)論機(jī)構(gòu)。軟件組142產(chǎn)生用于多個(gè)工件(artifacts)160、162、164(在圖4-8中示出)中的每個(gè)的注釋152的語(yǔ)法。在接下來(lái)的部分中進(jìn)一步描述注釋和語(yǔ)法。當(dāng)結(jié)合時(shí),工件160、162、164在任何層次的層級(jí)(例如,模式和子模式)處提供了給定源與目標(biāo)模式(特征行為狀態(tài))之間的一些路徑或全部路徑,提供了用于具體模式的進(jìn)入條件、產(chǎn)生軌跡、以及使得復(fù)核過(guò)程方便且高效。例如,如果特征具有兩個(gè)模式,DISABLED(禁用)和ENGAGED(使用),那么ENGAGED模式的進(jìn)入條件會(huì)是“在特征處于禁用模式的情況下,駕駛員按下使用按鈕(engagebutton)并且沒(méi)有發(fā)生傳感器故障”。換言之,進(jìn)入條件描述了導(dǎo)致將進(jìn)入具體模式的條件。在另一方面,軌跡賦予了給定源模式與給定目標(biāo)模式之間的完整路徑。再次地,例如如果特征具有三個(gè)模式(例如,ACTIVE(有效)、ENGAGED(使用)和OVERRIDE(超控)),那么從源模式ACTIVE至目標(biāo)模式OVERRIDE的軌跡會(huì)是“當(dāng)特征處于ACTIVE模式并且駕駛員按下使用按鈕時(shí),該特征進(jìn)入ENGAGED模式;接著,當(dāng)駕駛員采取某種具體動(dòng)作以超控由該特征引起的動(dòng)作(使得,駕駛員收回控制權(quán))時(shí),該特征進(jìn)入OVERRIDE模式”。換言之,軌跡在模式圖中賦予了一條路徑,該路徑將使得特征從給定源模式行進(jìn)至給定目標(biāo)模式(借助任何中間模式),并且該軌跡包括這樣的條件,在所述條件下可能發(fā)生對(duì)應(yīng)的模式變化。這些特征和功能在下文被進(jìn)一步描述。注釋和語(yǔ)法每條注釋152包括與至少一個(gè)對(duì)應(yīng)的非正式需求132相關(guān)聯(lián)的語(yǔ)法。例如,暫時(shí)參考圖4-7,語(yǔ)法可被執(zhí)行以產(chǎn)生將在下文被進(jìn)一步詳細(xì)描述的工件160、162、164。注釋152提供了非正式需求132與工件160、162、164的元素之間的可跟蹤連接,以便有利于復(fù)核和修改,如在下文被進(jìn)一步詳細(xì)描述的那樣。每條注釋152可包括用于不同種類的工件160、162、164的語(yǔ)法,并且相關(guān)聯(lián)的應(yīng)用構(gòu)造成:當(dāng)由處理器120執(zhí)行時(shí),使得所述處理器選擇語(yǔ)法的相關(guān)部分以產(chǎn)生所述工件,如在下文被進(jìn)一步詳細(xì)描述的那樣。通常,工件包括:特征行為的視覺(jué)描述、特征行為的文本描述、以及它們的組合,等等。在本文中,示例性視覺(jué)描述包括上下文圖160(圖4)和模式圖162(圖5和圖6)。示例性文本描述包括轉(zhuǎn)換系統(tǒng)限定164(圖7)。在下文中,術(shù)語(yǔ)“工件”被用于將工件160、162、164作為一組來(lái)描述,具體的工件名稱(即,上下文圖160、模式圖162、轉(zhuǎn)換系統(tǒng)限定164)被具體或單獨(dú)地用于描述工件160、162、164。第一工件應(yīng)用參考圖1、3和4,第一工件應(yīng)用125構(gòu)造成:當(dāng)由處理器120執(zhí)行時(shí),使得該處理器從注釋的需求文檔150的注釋152提取語(yǔ)法,并且產(chǎn)生作為注釋152的語(yǔ)法的函數(shù)的上下文圖160。上下文圖160描述了在需求文檔130中被識(shí)別的特征的不同模塊或?qū)嶓w之間的連接。特征的模塊或?qū)嶓w被稱為代理A。參考圖4,用于上下文圖160的語(yǔ)法包括代理A(例如,源代理SA和目標(biāo)代理DA)以及信息I。例如,信息I可以是事件的描述。在形成上下文圖160所用的語(yǔ)法中,信息I和代理A被良好地識(shí)別,并且代理A中的至少一個(gè)是在上下文圖160中被考慮的特征,并且信息I描述了代理A之間的相互作用和/或關(guān)系。例如,在示例性實(shí)施方式中,用于上下文圖160的語(yǔ)法是@<上下文圖>@源代理名稱->目標(biāo)代理名稱[信息,需求號(hào)]。通常,@<上下文圖>@識(shí)別用于上下文圖的語(yǔ)法,并且信息包括對(duì)源代理SA和目標(biāo)代理DA之間的相互作用的描述。需求號(hào)是用于識(shí)別具體特征需求的編號(hào)。如圖4所示,示例性上下文160包括許多示例性代理A1、A2、A3、A4以及與代理A相關(guān)的示例性信息I1、I2、I3、I4(每個(gè)均由表明了從相應(yīng)源至相應(yīng)目標(biāo)的方向的箭頭來(lái)表示)。信息I1將用作源代理SA1的代理A2與用作目標(biāo)代理DA1的代理A1相關(guān);信息I2將用作源代理SA2的代理A3與用作目標(biāo)代理DA2的代理A1相關(guān);信息I3將用作源代理SA3的代理A1與用作目標(biāo)代理DA3的代理A4相關(guān);以及,信息I4將用作源代理SA4的代理A4與用作目標(biāo)代理DA4的代理A1相關(guān)。第一工件應(yīng)用125還構(gòu)造成:當(dāng)由處理器120執(zhí)行時(shí),使得所述處理器自動(dòng)分析工件160,以產(chǎn)生來(lái)自各個(gè)代理A的全部輸入以及至各個(gè)代理A的全部輸出的列表,其中軟件特征利用所述代理方來(lái)相互作用。第二工件應(yīng)用參考圖1、3、5和6,第二工件應(yīng)用126構(gòu)造成:當(dāng)由處理器120執(zhí)行時(shí),使得所述處理器從注釋的需求文檔150提取注釋152,并且產(chǎn)生作為注釋152的語(yǔ)法的函數(shù)的模式圖162。模式圖描述了在操作的不同模式和子模式中的特征。每個(gè)模式圖162由模式圖名稱MD來(lái)唯一地識(shí)別,所述MD將該模式圖與其他模式圖162進(jìn)行區(qū)分。在一個(gè)實(shí)施方式中,模式圖名稱MD包括:父圖名稱PD,其唯一地識(shí)別與模式圖162相關(guān)聯(lián)的父模式圖162;以及父模式名稱PM,其唯一地識(shí)別在父模式圖162中的模式,所述模式圖162是所述父模式圖的詳細(xì)擴(kuò)展。例如,用于模式圖162的語(yǔ)法是@<模式圖>@<模式圖名稱><父圖名稱>父模式名稱[信息,需求號(hào)]。通常,@<模式圖>@識(shí)別用于模式圖的語(yǔ)法;名稱如上所述;并且,信息例如可包括為何父模式圖中的父模式被分解為該模式圖中的模式。此外,用于模式圖162的語(yǔ)法包括模式M(例如,源模式SM和目標(biāo)模式DM)、連接這兩個(gè)模式的信息I、以及模式圖名稱MD。例如,用于模式圖162的附加語(yǔ)法是@<模式圖>@<模式圖名稱><源模式名稱>目標(biāo)模式名稱[信息,需求號(hào)]。信息可包括關(guān)于每個(gè)子模式變化和所得到的動(dòng)作的條件。因此,用于模式圖162的兩種形式的語(yǔ)法:(i)識(shí)別父模式圖162和其中的父模式M,該模式圖162是其詳細(xì)擴(kuò)展;以及,(ii)關(guān)于構(gòu)成模式圖162的那些模式M以及連接它們的信息I的方面來(lái)詳細(xì)描述模式圖162自身。參考圖5和6,描述了兩個(gè)模式圖162。圖5是圖6的模式圖162的父模式圖162。具體地,圖6是圖5的模式圖162的其中一個(gè)模式M的子模式M的模式圖162。每個(gè)模式圖162包括由信息I來(lái)相關(guān)聯(lián)的許多模式M,并且由模式圖名稱MD來(lái)識(shí)別,所述模式圖名稱MD包括父圖名稱PD和父模式名稱PM。參考圖5,通過(guò)模式圖名稱MD2來(lái)識(shí)別模式圖162,模式圖名稱MD1(未示出)是父圖名稱PD,并且模式M1是父模式圖MD1中的模式,父模式圖MD1在圖5的模式圖162中被擴(kuò)展。在此,信息I1將作為源模式SM1的模式M2與作為目標(biāo)模式DM1的模式M3相關(guān)聯(lián);并且信息I2將作為源模式SM2的模式M3與作為目標(biāo)模式DM2的模式M2相關(guān)聯(lián)。參考圖6,模式圖162通過(guò)模式圖名稱MD3來(lái)識(shí)別,模式圖名稱MD2(圖5)是父圖名稱PD,并且模式M3是模式圖MD2中的模式,模式圖MD2在圖6的模式圖162中被擴(kuò)展。在此,信息I3將作為源模式SM3的模式M4與作為目標(biāo)模式DM3的模式M5相關(guān)聯(lián);信息I4將作為源模式SM4的模式M5與作為目標(biāo)模式DM4的模式M4相關(guān)聯(lián);信息I5將模式M4與其自身相關(guān)聯(lián),模式M4既作為源模式SM5也作為目標(biāo)模式DM5;并且信息I6將作為源模式SM6的模式M5與作為目標(biāo)模式DM6的模式M6相關(guān)。應(yīng)當(dāng)理解的是,模式圖162一般被形成用于每個(gè)模式M(例如,M1、M2、M3、M4、M5)。第二工件應(yīng)用126還構(gòu)造成:當(dāng)由處理器120執(zhí)行時(shí),使得所述處理器自動(dòng)分析模式圖162,以確定例如給定源模式和目標(biāo)模式之間的一些具體路徑或全部可能路徑。第三工件應(yīng)用參考圖1、3和7,第三工件應(yīng)用127構(gòu)造成:當(dāng)由處理器120執(zhí)行時(shí),使得所述處理器從注釋的需求文檔150來(lái)提取注釋152的語(yǔ)法,并且產(chǎn)生作為注釋152的語(yǔ)法的函數(shù)的轉(zhuǎn)換系統(tǒng)限定164。語(yǔ)法包括正式需求170,如圖7中示意性地示出的那樣。在一個(gè)實(shí)施方式中,轉(zhuǎn)換系統(tǒng)限定164是或者包括:電子表格、表、或其他數(shù)據(jù)布局,在所述數(shù)據(jù)布局中,正式需求170例如在相應(yīng)列中被組織,以使這些正式需求170相關(guān)聯(lián)。如圖7所示并且如將在下文更詳細(xì)描述的那樣,正式需求170包括需求號(hào)#、事件E、前條件Pre-C、后條件Post-C、源、目標(biāo)、動(dòng)作AN,等等(源和目標(biāo)在圖7中未被明確地示出,但是被認(rèn)為通過(guò)該圖示且結(jié)合本說(shuō)明被示出)。在一些實(shí)施方式中,轉(zhuǎn)換系統(tǒng)限定164類似于模式圖160,兩者都在高層次上區(qū)分重點(diǎn)軟件特征。然而在轉(zhuǎn)換系統(tǒng)限定164中,信息(例如,條件和動(dòng)作)通過(guò)在語(yǔ)法中找到的數(shù)學(xué)結(jié)構(gòu)(例如,見(jiàn)下述的事件)來(lái)正式地指定,而不是通過(guò)自然語(yǔ)言描述或其他非正式規(guī)定(例如,參見(jiàn)關(guān)于圖4-6在上面描述的信息)來(lái)正式地指定。用于轉(zhuǎn)換系統(tǒng)限定164的示例性語(yǔ)法包括:用于事件、類型、變量和轉(zhuǎn)換的語(yǔ)法。用于事件的語(yǔ)法包括方向和事件名稱。方向包括輸入、輸出和本地。例如,示例性事件語(yǔ)法是或包括:@事件@方向事件_名稱[評(píng)論,需求號(hào)]。用于類型的語(yǔ)法包括類型名稱和類型。例如,類型的語(yǔ)法是@類型@<類型名稱>:類型={用分號(hào)分開(kāi)的值列表}。該值列表表明了可由聲明為該類型的變量采用的可能值。對(duì)于布爾類型,該值列表是TRUE(真)或FALSE(假),并且對(duì)于枚舉類型(例如稱為FEATURE_F1_TYPE),值列表可以是例如DISABLED(禁用)、ENABLED(啟用)、ENGAGED_IN_X或ENGAGED_IN_Y的值(如果它們是在用于變量FEATURE_F1_TYPE的可能值的列表中規(guī)定了的話)。用于變量的語(yǔ)法包括方向、變量名稱和類型。例如,變量的語(yǔ)法可以是如下情況:@變量@方向變量名稱:類型。用于轉(zhuǎn)換的語(yǔ)法包括:源模式名稱、前條件、進(jìn)入事件(in-event)、目標(biāo)模式名稱、后條件、和退出事件(out-event)。前條件和后條件在一些實(shí)施方式中按照通過(guò)轉(zhuǎn)換獲得影響(例如,被影響或預(yù)期被影響)的變量值被陳述。變量的值將是由其類型允許的那些值中的一個(gè)值。如果變量是布爾類型,那么其值會(huì)從TRUE(真)(在前條件中,即,在采取轉(zhuǎn)換之前)改變?yōu)楹髼l件中的FALSE(假)。在一個(gè)實(shí)施方式中,將僅響應(yīng)于進(jìn)入事件的發(fā)生而發(fā)生轉(zhuǎn)換。示例性進(jìn)入事件是機(jī)動(dòng)車事故。另一示例性進(jìn)入事件是機(jī)動(dòng)車的駕駛員或乘員按下人機(jī)接口(HMI)上的按鈕,例如觸摸感測(cè)的車載顯示屏。響應(yīng)于該進(jìn)入事件而采取轉(zhuǎn)換,并且退出事件作為動(dòng)作(例如,機(jī)動(dòng)車的車門(mén)被解鎖)發(fā)生。示例性轉(zhuǎn)換語(yǔ)法是@轉(zhuǎn)換@<源模式名稱><前條件><進(jìn)入事件>-><目標(biāo)模式名稱><后條件><退出事件>[評(píng)論,需求號(hào)]。正式模型應(yīng)用參考圖1、7和8,正式模型應(yīng)用128構(gòu)造成:當(dāng)由處理器120執(zhí)行時(shí),使得所述處理器從轉(zhuǎn)換系統(tǒng)限定164提取正式需求170,并且產(chǎn)生作為正式需求170的函數(shù)的正式模型172。具體地,正式模型應(yīng)用128當(dāng)由處理器120執(zhí)行時(shí),使得所述處理器將正式需求170翻譯為模型核查應(yīng)用129的正式建模語(yǔ)言,以得到正式模型172。模型核查應(yīng)用參考圖1和8,模型核查應(yīng)用129分析正式模型172。模型核查應(yīng)用129在由處理器120執(zhí)行時(shí),使得所述處理器產(chǎn)生用于復(fù)核正式需求170的錯(cuò)誤報(bào)告174,以識(shí)別初始非正式需求132中的任何不一致性或不完整性。在一個(gè)實(shí)施方式中,模型核查應(yīng)用129是或包括:SPIN(簡(jiǎn)單進(jìn)程元語(yǔ)言解釋器)、SAL(符號(hào)分析實(shí)驗(yàn)室)、以及可分析諸如172之類的正式模型的模型核查應(yīng)用。方法參考圖8,現(xiàn)在描述示例性方法200。根據(jù)需求文檔步驟202,工程組140使用如上所述操作的第一應(yīng)用124(圖1)來(lái)產(chǎn)生需求文檔130,所述需求文檔包括與產(chǎn)品146(圖2)相關(guān)聯(lián)的非正式需求132。需求文檔130被準(zhǔn)備并可由軟件組142訪問(wèn),以開(kāi)發(fā)用于產(chǎn)品146(圖2)的產(chǎn)品軟件144(圖2和8)。根據(jù)注釋步驟204,軟件組142訪問(wèn)需求文檔130并且使用如上所述操作的第一應(yīng)用124(圖1),以產(chǎn)生與對(duì)應(yīng)的非正式需求132相關(guān)聯(lián)的注釋152,并且由此產(chǎn)生注釋的需求文檔150。注釋包括構(gòu)造成產(chǎn)生工件160、162、164的語(yǔ)法。根據(jù)第一/第二工件步驟206,第一工件應(yīng)用125和第二工件應(yīng)用126使得處理器120訪問(wèn)注釋的需求文檔150、提取語(yǔ)法并且產(chǎn)生作為注釋152的語(yǔ)法的函數(shù)的上下文圖160和模式圖162。類似于模式圖,多個(gè)上下文圖也是可能的,例如當(dāng)特征被視為多個(gè)子特征的組合時(shí)。例如,上下文圖針對(duì)特征“高級(jí)駕駛輔助”以及針對(duì)其子特征“車道變更輔助”和“防撞”而產(chǎn)生。根據(jù)第一復(fù)核步驟208,上下文圖160和模式圖162由工程組140和軟件組142中的一者或兩者來(lái)復(fù)核。如果組140、142確定(變化步驟209)需要針對(duì)非正式需求132和/或注釋152作出變化,那么步驟204、206、208、209重復(fù)進(jìn)行,直到不需要變化為止。否則,根據(jù)第三工件步驟210,第三工件應(yīng)用127使得處理器120訪問(wèn)注釋的需求文檔150、提取語(yǔ)法并且產(chǎn)生轉(zhuǎn)換系統(tǒng)限定164,所述轉(zhuǎn)換系統(tǒng)限定164包括作為注釋152的語(yǔ)法的函數(shù)的正式需求170。用于轉(zhuǎn)換系統(tǒng)限定164的語(yǔ)法可以與用于上下文圖160和模式圖162的語(yǔ)法一起被插入,或者在上下文圖160和模式圖162被復(fù)核(步驟208)之后被插入。在一些情況下,更有效的是按后者進(jìn)行(在上下文圖160和模式圖162被復(fù)核之后插入轉(zhuǎn)換系統(tǒng)限定164的語(yǔ)法),這是因?yàn)樵诓迦朕D(zhuǎn)換系統(tǒng)限定164的語(yǔ)法之前會(huì)作出對(duì)非正式需求的任何必需的第一級(jí)變化。根據(jù)正式模型步驟212,正式建模應(yīng)用128使得處理器120訪問(wèn)轉(zhuǎn)換系統(tǒng)限定164、提取正式需求170、并且作為正式需求170的函數(shù)以模型核查應(yīng)用129的輸入語(yǔ)言來(lái)產(chǎn)生正式模型172。根據(jù)第二復(fù)核步驟214,模型核查應(yīng)用129使得處理器120分析正式模型172。模型核查應(yīng)用129分析正式模型172以尋找任何不一致性和不完整性。具體地,模型核查應(yīng)用129產(chǎn)生錯(cuò)誤報(bào)告174。錯(cuò)誤報(bào)告174和正式模型172由工程組140和/或軟件組142復(fù)核,以解決一致性和完整性。如果組140、142確定需要對(duì)正式需求170、注釋152和/或非正式需求132作出變化,那么作出合適修改并且方法200的先前步驟中的一些或全部步驟被重復(fù),直到實(shí)現(xiàn)一致性和完整性為止。否則,正式需求170被實(shí)施到產(chǎn)品軟件144中。上述實(shí)施方式僅是為了透徹理解原理而闡述的對(duì)實(shí)施方式的示例性說(shuō)明。可作出與上述實(shí)施方式相關(guān)聯(lián)的變化、修改和組合,而不偏離權(quán)利要求書(shū)的范圍。在本文中,全部這種變化、修改和組合被包括在所公開(kāi)的內(nèi)容和所附權(quán)利要求的范圍內(nèi)。