Paul F.Smith,Sameer M.Prabhu,Jonathan H.Friedman
The MathWorks
摘要
需謹(jǐn)慎管理向基于模型設(shè)計(jì)的過(guò)渡,不僅要展示其短期效益 ,還需建立能夠完全實(shí)現(xiàn)此方法理論優(yōu)點(diǎn)的文化。本文引入了基于模型設(shè)計(jì)的概念,突出了其中的一些優(yōu)點(diǎn),詳細(xì)討論了組織中采用基于模型設(shè)計(jì)文化的10個(gè)最佳策略。這些最佳策略從不同工業(yè)領(lǐng)域的公司中收集,包括向基于模型設(shè)計(jì)的成功或者不成功的過(guò)渡。
引言
嵌入式系統(tǒng)的深入應(yīng)用不斷改變著汽車工業(yè)。在復(fù)雜的,板載的,和基于軟件的電控使用中需對(duì)系統(tǒng)的性能,安全性,和維護(hù)的改進(jìn),從而引起汽車工業(yè)的變化。這種變化不僅僅在客車領(lǐng)域發(fā)生,在商務(wù)車領(lǐng)域也開始應(yīng)用嵌入式系統(tǒng)。這里應(yīng)用的嵌入式系統(tǒng)可用于液壓系統(tǒng)的控制,而之前液壓系統(tǒng)都是由機(jī)械系統(tǒng)控制,嵌入式系統(tǒng)的使得改進(jìn)了機(jī)器的生產(chǎn)率,安全性以及維護(hù)等性能。這以上兩個(gè)領(lǐng)域中,系統(tǒng)復(fù)雜度的增加給傳統(tǒng)系統(tǒng)開發(fā)過(guò)程提出了很大的挑戰(zhàn),如滿足程序時(shí)序,成本和質(zhì)量等性能的度量上。為了應(yīng)對(duì)以上挑戰(zhàn),主要汽車制造商的工程師跳過(guò)了手寫代碼進(jìn)行系統(tǒng)設(shè)計(jì)的開發(fā)過(guò)程,直接過(guò)渡至利用圖示化模型設(shè)計(jì),分析及執(zhí)行決定機(jī)器性能和行為的軟件。
使用模型可以保證最終產(chǎn)品滿足系統(tǒng)的需求。這些模型幫助不同專業(yè)的工程師一起高效工作,并可在設(shè)計(jì)過(guò)程的不同階段進(jìn)行交流;在設(shè)計(jì)的早期階段發(fā)現(xiàn)并校正錯(cuò)誤;自動(dòng)生成實(shí)用,高效,及高質(zhì)量的軟件。軟件工具賣家的獨(dú)特視角可看出:基本原則的提煉可能保證基于模型設(shè)計(jì)的成功應(yīng)用。這些基本原則的范圍從與自動(dòng)代碼生成相關(guān)的特定策略到一些組織性的問(wèn)題。我們需要對(duì)每個(gè)策略進(jìn)行細(xì)節(jié)的檢查。以上建議的“正確”綜合以及基于模型設(shè)計(jì)需要依托的公司環(huán)境,在過(guò)渡時(shí)需由工程部經(jīng)理進(jìn)行仔細(xì)的選擇。
什么是基于模型的設(shè)計(jì)?
在基于模型的設(shè)計(jì)中,開發(fā)的過(guò)程圍繞著系統(tǒng)的模型—從需求的獲取到設(shè)計(jì)的執(zhí)行及測(cè)試。
圖1:基于模型的設(shè)計(jì)
系統(tǒng)模型是可執(zhí)行規(guī)范的核心部分。可執(zhí)行規(guī)范需在設(shè)計(jì)流程中使用及精心開發(fā)。可執(zhí)行規(guī)范還包括輸入,期望輸出或可接受標(biāo)準(zhǔn),應(yīng)用的環(huán)境,以及同需求之間的連接或相關(guān)[1]。可執(zhí)行規(guī)范的目標(biāo)是明確的傳達(dá)設(shè)計(jì)目標(biāo),同時(shí)通過(guò)仿真對(duì)需求進(jìn)行可行性和兼容性分析。
當(dāng)包括軟件和硬件的執(zhí)行需求時(shí):如定點(diǎn),或定時(shí)的行為,可以為嵌入式部署自動(dòng)生成代碼,同時(shí)創(chuàng)建測(cè)試臺(tái)對(duì)系統(tǒng)進(jìn)行檢驗(yàn),節(jié)省時(shí)間同時(shí)避免引入手寫代碼的錯(cuò)誤。
使用基于模型的設(shè)計(jì),工程師可以通過(guò)下列方法提高效率:
- 在不同的項(xiàng)目組之間使用通用的設(shè)計(jì)環(huán)境
- 設(shè)計(jì)直接同需求相連
- 將設(shè)計(jì)同測(cè)試集成,用于連續(xù)識(shí)別和校正錯(cuò)誤
- 在多領(lǐng)域仿真中重新定義算法
- 自動(dòng)生成嵌入式軟件代碼和合成的HDL代碼
- 開發(fā)和重新利用測(cè)試用例
- 自動(dòng)編制文檔
- 在多處理器和硬件目標(biāo)中重復(fù)使用設(shè)計(jì)來(lái)部署系統(tǒng)
采用基于模型的設(shè)計(jì)
為什么公司都采用基于模型的設(shè)計(jì)?有時(shí)候通過(guò)戰(zhàn)略計(jì)劃驅(qū)動(dòng)的自上而下的委托管理來(lái)部署一套常用的工具和進(jìn)程,其他則是基層自主的方式,在大學(xué)中的工程師使用建模的方法并在現(xiàn)在工作中尋找工具來(lái)滿足需求。在其它情況下,基于模型的設(shè)計(jì)能夠?qū)⒓夹g(shù)擴(kuò)展至更積極的如6sigma或者系統(tǒng)工程中。無(wú)論向基于模型設(shè)計(jì)的過(guò)渡的推動(dòng)力是什么,由于公司所見(jiàn)的回報(bào),仍然在進(jìn)行努力。回報(bào)以以下幾種形式體現(xiàn):
- 獲得的效率,如減少完成指定項(xiàng)目所需的工作時(shí)間[1][2]
- 節(jié)約時(shí)間進(jìn)行市場(chǎng)交易[3]
- 提高質(zhì)量[4]
- 減少對(duì)物理原型的依賴[5]
另外,工程師通常在選用正確的工具時(shí),工作的會(huì)更有樂(lè)趣。
向基于模型設(shè)計(jì)過(guò)渡的10個(gè)最佳策略:
過(guò)渡—需要考慮的重要問(wèn)題
智慧是數(shù)年學(xué)習(xí)的積累
聰明的組織從自己犯的錯(cuò)誤中吸取教訓(xùn),而智慧的組織則是從他人犯的錯(cuò)誤中學(xué)習(xí)新的東西。多年來(lái)同很多公司和政府機(jī)構(gòu)一起工作,當(dāng)這些組織向基于模型設(shè)計(jì)的過(guò)渡中,我們看到了很多成功之處,也有少量的挫折。我們收集了下列最有代表性的最優(yōu)策略,這樣我們的讀者可從其它人身上學(xué)習(xí)很多東西,避免向基于模型設(shè)計(jì)文化過(guò)渡時(shí)遇到的一些常見(jiàn)的錯(cuò)誤。
考慮到向基于模型設(shè)計(jì)過(guò)作為一種開發(fā)嵌入式計(jì)算系統(tǒng)的方法時(shí),需要著重考慮文化,工具,處理器,組織以及戰(zhàn)略等方面。
首先,組織必須建立起衡量模型和仿真開發(fā)和使用的文化,將其作為一個(gè)核心的工程活動(dòng)。
需要易于獲取工具,同時(shí)使得基于模型的設(shè)計(jì)可以改進(jìn)生產(chǎn)效率。
需要易于獲得工具,同時(shí)能夠廣泛運(yùn)行,從而獲得基于模型設(shè)計(jì)的生產(chǎn)率的提高。
在定義的進(jìn)程的界限內(nèi)使用工具。每個(gè)公司或者政府部門在設(shè)計(jì)過(guò)程中有不同等級(jí)的形式,這些形式是由文化,規(guī)定,最優(yōu)策略,最新的趨勢(shì)以及在其中工作的人決定的。但采用基于模型的設(shè)計(jì)時(shí),同其他技術(shù)一樣,需要建立有效一致環(huán)境處理過(guò)程。
可能需要改變或者棄用傳統(tǒng)的組織模型,從而支持基于模型設(shè)計(jì)的工作流程。在內(nèi)部小組之間傳遞工作成果,同時(shí)設(shè)計(jì)者和執(zhí)行者由于基于模型的設(shè)計(jì)界限變得模糊。一個(gè)有著愿竟式領(lǐng)導(dǎo)的有效組織機(jī)構(gòu)是成功的必要條件。
向基于模型設(shè)計(jì)的過(guò)渡需有一個(gè)明確定義的目標(biāo)和支持的戰(zhàn)略。過(guò)渡需要邏輯順序,這根據(jù)組織的不同而不同。這種戰(zhàn)略需要建立在現(xiàn)有的優(yōu)勢(shì)上,同時(shí)支持設(shè)計(jì)過(guò)程中的弱點(diǎn)。高層管理者需要深刻理解這些戰(zhàn)略,同時(shí)針對(duì)計(jì)劃對(duì)工程師進(jìn)行管理。
最佳策略#1:識(shí)別需要解決的問(wèn)題
在發(fā)生任何進(jìn)程的改進(jìn)前,需要更深一步理解現(xiàn)有的組織機(jī)構(gòu)和進(jìn)程中相關(guān)的優(yōu)勢(shì)和弱點(diǎn)。需要有支持這些理解內(nèi)容的衡量方法。對(duì)于沒(méi)有合適的衡量標(biāo)準(zhǔn)項(xiàng)目的組織,使用最佳策略#0建立這樣一個(gè)項(xiàng)目。一個(gè)醫(yī)生在弄明白病的實(shí)質(zhì)和病人用藥史前不能開出精確的治病處方。這同樣適用于基于模型設(shè)計(jì)的采用。在現(xiàn)代嵌入式系統(tǒng)開發(fā)過(guò)程中有很多子元素不能有效運(yùn)行,舉例如下:
- 日程表的可預(yù)測(cè)性—組織可以預(yù)測(cè)和發(fā)布日程表嗎?
- 軟件的質(zhì)量---現(xiàn)有的開發(fā)過(guò)程是否產(chǎn)生了過(guò)量的缺陷?在開發(fā)的哪個(gè)階段引入了缺陷?代碼或算法的這些部分是否會(huì)產(chǎn)生更多的缺陷?
- 市場(chǎng)營(yíng)銷的時(shí)間---及時(shí)生產(chǎn)的產(chǎn)品是否滿足如今消費(fèi)者快速的需求變化?
- 生產(chǎn)率—LOC,個(gè)人和時(shí)間間隔(或其他測(cè)量)可以跟上工業(yè)的標(biāo)準(zhǔn)?
- 缺點(diǎn)跟蹤和配置管理---有何種等級(jí)的成熟的方法管理和跟蹤開發(fā)組織的工作成果?
- 重新使用---是否所有的工作都可以重復(fù)使用?
- 產(chǎn)品文檔—是否存在一個(gè)系統(tǒng)可以發(fā)布開發(fā)組織工作成果的文檔?
- 快速原型---是否存在進(jìn)程可以對(duì)新的功能進(jìn)行快速原型?
- 驗(yàn)證和校驗(yàn)---是否知道所有的BUG,以及在發(fā)行前是否已經(jīng)進(jìn)行了修正?付出的代價(jià)如何?
每個(gè)采用基于模型設(shè)計(jì)的組織需要發(fā)現(xiàn)現(xiàn)有過(guò)程中存在的弱點(diǎn),為了解決該弱點(diǎn)需要付出的代價(jià),以及首先要解決的問(wèn)題。
在解決首先解決什么問(wèn)題時(shí),同樣需要知道解決該問(wèn)題所需花費(fèi)的時(shí)間。總經(jīng)理需要對(duì)該工具投資以及授權(quán)技術(shù)的回報(bào)有自己的見(jiàn)解,從中選出一部分向贊助商說(shuō)明投資的回報(bào)。
最佳策略#2:“規(guī)則2”
為了過(guò)渡至基于模型的設(shè)計(jì),我們需要對(duì)工具,培訓(xùn)以及組織性等方面進(jìn)行變革從而適應(yīng)該過(guò)渡過(guò)程。為了獲取以上投資的最少可接受的回報(bào),生成的模型需要可用于至少兩種以上的應(yīng)用中。舉例來(lái)說(shuō),模型需要用于在仿真中驗(yàn)證需求,同時(shí)生成文檔資料。同時(shí)可選擇的應(yīng)用:定義和開發(fā)在快速原型時(shí)的控制算法,及為產(chǎn)品控制器自動(dòng)生成代碼。
兩個(gè)過(guò)程元素的選擇需要使用最佳策略#1進(jìn)行慎重考慮。這樣做的目的為獲得投資的最大回報(bào)。不同設(shè)計(jì)階段的模型重復(fù)使用功能是獲取最大回報(bào)的必要條件。
追求一次性模型的組織可能獲得成功,但易于發(fā)現(xiàn)采用新技術(shù)的負(fù)擔(dān),他們很難獲得時(shí)間和資金投資的收益。
最佳策略#3:使用模型生成產(chǎn)品代碼
組織不斷通過(guò)軟件來(lái)實(shí)現(xiàn)硬件的共用,也就是說(shuō),為了保證同樣的基礎(chǔ)硬件能夠?qū)崿F(xiàn)不同的功能,可以通過(guò)改變控制該硬件的嵌入式軟件。這樣節(jié)省了制造商在硬件上的規(guī)模,同時(shí)使得產(chǎn)品僅僅通過(guò)改變嵌入式軟件就可以滿足顧客自定義的需求,滿足了產(chǎn)品自定義同大批量生產(chǎn)兩個(gè)看上去相互矛盾的目標(biāo)。毫無(wú)疑問(wèn),嵌入式系統(tǒng)軟件正快速取代著機(jī)械硬件的使用,成為決定產(chǎn)品性能特性的關(guān)鍵因素。同時(shí),嵌入式系統(tǒng)軟件控制著汽車的主要系統(tǒng),因此從實(shí)際來(lái)說(shuō),汽車的“行駛”需要依靠軟件。討論了嵌入式軟件的重要性之后,則可以很自然的將之前所提到的“規(guī)則2”擴(kuò)展至模型的一個(gè)使用:自動(dòng)生成嵌入式軟件,
使用模型保證設(shè)計(jì)能夠滿足相關(guān)系統(tǒng)的需求,同時(shí)在設(shè)計(jì)的早期發(fā)現(xiàn)設(shè)計(jì)錯(cuò)誤,從而使得糾正錯(cuò)誤付出的代價(jià)最小化。代碼生成技術(shù)的最新發(fā)展可以從模型中自動(dòng)生成產(chǎn)品級(jí)嵌入式軟件[11]。當(dāng)模型能夠自動(dòng)生成軟件時(shí),整個(gè)測(cè)試基礎(chǔ)可重用于測(cè)試模型,因此可以檢驗(yàn)生成的軟件及可能發(fā)現(xiàn)的錯(cuò)誤,同時(shí)及早糾正。同時(shí),如果需要改變需求及設(shè)計(jì),則需將他們做成模型,這樣可以重新高效的從模型中生成軟件,大大縮短了軟件跟上需求或者設(shè)計(jì)的改變所需的反應(yīng)時(shí)間。
從模型中自動(dòng)生成嵌入式軟件需要組織文化的轉(zhuǎn)變。在過(guò)去,控制設(shè)計(jì)師為他們的設(shè)計(jì)創(chuàng)建模型,軟件工程師則基于這些模型的規(guī)范手動(dòng)開發(fā)嵌入式系統(tǒng)。有了嵌入式軟件的自動(dòng)生成,軟件工程師的關(guān)注點(diǎn)發(fā)生著變化,從每次設(shè)計(jì)或者需求改變時(shí)重新花費(fèi)時(shí)間寫算法代碼到花費(fèi)更多的時(shí)間將算法代碼同嵌入式系統(tǒng)的其他部分集成,同時(shí)也適用于說(shuō)明和設(shè)置基礎(chǔ)結(jié)構(gòu)。這是一個(gè)重要的轉(zhuǎn)變,使得衡量軟件工程師工作效率的指標(biāo)也隨之改變。另外,模型使得控制工程師和設(shè)計(jì)工程師之間的關(guān)系更為緊密,消除了工作之間傳統(tǒng)的障礙。組織的領(lǐng)導(dǎo)者需要鼓勵(lì)和支持這種做法,從而得到基于模型設(shè)計(jì)的所有優(yōu)點(diǎn)。
最佳策略#4:模型是真理的唯一來(lái)源
除了遵從“規(guī)則2”和在開發(fā)過(guò)程中使用模型實(shí)現(xiàn)多重目的得到的優(yōu)點(diǎn)外,基于模型設(shè)計(jì)的一個(gè)很重要的優(yōu)點(diǎn)即建立的模型可在多個(gè)項(xiàng)目中重復(fù)利用。模型屬于組織的知識(shí)產(chǎn)權(quán)(IP),可以在很多項(xiàng)目中重復(fù)使用,因此IP可以發(fā)揮協(xié)調(diào)作用使得項(xiàng)目在質(zhì)量和時(shí)間上大大提高。但是,這種優(yōu)勢(shì)只有在模型中包含真正的IP才能獲得。
本最佳策略和最佳策略#3的邏輯擴(kuò)展即模型是同嵌入式系統(tǒng)相關(guān)的真理的唯一來(lái)源。模型中自動(dòng)生成的嵌入式軟件只能讓汽車“行駛”。如果在試生產(chǎn)汽車的最后檢驗(yàn)和測(cè)試中發(fā)現(xiàn)算法錯(cuò)誤或者針對(duì)需求進(jìn)行最后微小的改變,則傾向于“修正”嵌入式軟件本身來(lái)避免對(duì)自動(dòng)的嵌入式軟件生成和一體化進(jìn)程重新檢查。但若軟件工程師使用了這種試探性的方法,會(huì)停止模型軟件的同步,模型也不包括真正的IP。因此,如果在不同的項(xiàng)目中重復(fù)使用該模型,則需要在項(xiàng)目中重復(fù)面對(duì)及處理算法錯(cuò)誤或需求的不一致。
該部分同最佳策略#3討論的一樣加強(qiáng)了組織的含義。控制和軟件工程師需要合作從而保證任何最終很小的改變都確實(shí)融入至模型中。組織的領(lǐng)導(dǎo)者需要支持和鼓勵(lì)這種做法,同時(shí)強(qiáng)調(diào)這樣做的需要及好處。如果不是這樣,控制和軟件工程師很容易發(fā)生分歧,從而防礙了基于模型設(shè)計(jì)的所有優(yōu)點(diǎn)。實(shí)際上,組織者需要有嚴(yán)格的紀(jì)律來(lái)使用和促進(jìn)模型,使其成為嵌入式系統(tǒng)唯一的設(shè)計(jì)語(yǔ)言。
最佳策略#5:將過(guò)渡視為學(xué)習(xí)的機(jī)會(huì)
有時(shí)候,從傳統(tǒng)的開發(fā)過(guò)程過(guò)渡至基于模型的設(shè)計(jì)會(huì)有些徘徊。但是,組織者遵從最佳策略#1,同時(shí)通過(guò)過(guò)渡的過(guò)程進(jìn)行自我學(xué)習(xí),這對(duì)他們長(zhǎng)期的成功非常有益。這種自我反省可對(duì)現(xiàn)有的過(guò)程,以及自己的優(yōu)點(diǎn)和弱點(diǎn)有清楚根本地認(rèn)識(shí),同時(shí)對(duì)組織的核心競(jìng)爭(zhēng)力有更深的理解。有了這些深入的信息,組織可以更好的完成向基于模型設(shè)計(jì)過(guò)渡的任務(wù)。
在向基于模型設(shè)計(jì)過(guò)渡的過(guò)程中,一種常見(jiàn)的試探性的做法既“外包”至第三方。雖然外包本身不是壞主意,但仍然需要正確的判斷,同時(shí)目標(biāo)領(lǐng)域是組織的非核心競(jìng)爭(zhēng)力部分。如果將現(xiàn)有的IP至基于模型的環(huán)境的過(guò)渡進(jìn)行外包,則組織也失去了重新檢查這些IP的機(jī)會(huì),同時(shí)也無(wú)法質(zhì)疑IP的哪一部分需要真的變化,或者修正可能存在IP內(nèi)的錯(cuò)誤和BUG等等。因此,效率不高的外包很容易浪費(fèi)改進(jìn)產(chǎn)品質(zhì)量的很重要的機(jī)會(huì)。組織需要確認(rèn)能從第三方得到幫助,這些幫助需要集中在創(chuàng)建工具和效用上,簡(jiǎn)化向基于模型設(shè)計(jì)的過(guò)渡,同時(shí)提出基于模型設(shè)計(jì)的更好的過(guò)程等等。
另外一種試探性的做法即“快速轉(zhuǎn)變”,徹底地向基于模型設(shè)計(jì)過(guò)渡從而獲得所有的優(yōu)點(diǎn)。這種做法也有很多缺點(diǎn)。首先,現(xiàn)有的開發(fā)過(guò)程或產(chǎn)品的某些組成部分效率較高,或者構(gòu)造完善,在第一道關(guān)時(shí)不需要改變。丟棄這樣優(yōu)勢(shì)會(huì)導(dǎo)致向基于模型的設(shè)計(jì)調(diào)整時(shí)不必要的重復(fù)性工作。一種更聰明的方法即批判性的選擇開發(fā)過(guò)程和產(chǎn)品的組成部分,取其精華,去其糟粕。舉例來(lái)說(shuō),識(shí)別當(dāng)前開發(fā)過(guò)程或產(chǎn)品中的問(wèn)題區(qū)域,在第一次循環(huán)中將基于模型的設(shè)計(jì)集中于該區(qū)域。第二步,了解當(dāng)前開發(fā)過(guò)程或產(chǎn)品中包含哪些不需要向基于模型的設(shè)計(jì)過(guò)渡的部分,如低等級(jí)的設(shè)備驅(qū)動(dòng)器,或者在未來(lái)產(chǎn)品中需要淘汰的性能等,這些都不需要過(guò)渡至基于模型的設(shè)計(jì)。對(duì)當(dāng)前的開發(fā)過(guò)程進(jìn)行深入的觀察,識(shí)別其中最適合使用基于模型設(shè)計(jì)的區(qū)域,最小的中斷開發(fā)過(guò)程,同時(shí)獲得最大的收益。
當(dāng)決定產(chǎn)品IP的哪一部分需要建模后,首先需要解決一些全新的控制特性。其次,著手解決設(shè)計(jì)中的問(wèn)題部分,那些不斷發(fā)生變化或者引起問(wèn)題的部分。最后,如果時(shí)間允許,將更為穩(wěn)定的控制系統(tǒng)的端口慢慢移植入該背景中。
最佳策略#6:集中在設(shè)計(jì),而不是代碼編寫中
有時(shí)候,引入基于模型的設(shè)計(jì)時(shí),軟件工程師會(huì)立即關(guān)注他們的職位是否受到威脅。然而,這種擔(dān)心在設(shè)計(jì)小組發(fā)現(xiàn)軟件工程師仍是基于模型設(shè)計(jì)中的一部分后消失了。但是軟件工程師的角色也隨之改變,從運(yùn)行時(shí)代碼編寫的綜合能動(dòng)性過(guò)渡至在開發(fā)過(guò)程的初始階段構(gòu)建軟件,同時(shí)不斷完善可執(zhí)行規(guī)范從而使得生成的代碼更接近執(zhí)行階段。
舉例來(lái)說(shuō),軟件工程師需要開發(fā)一個(gè)靈活的機(jī)制,使得使用基于模型設(shè)計(jì)開發(fā)的新特性能夠同原有代碼集成。另外,軟件工程師需要對(duì)生成的模型進(jìn)行完善,保證其生成的代碼能夠在目標(biāo)處理器中運(yùn)行,如當(dāng)算法模型作為浮點(diǎn)值創(chuàng)建時(shí),目標(biāo)處理器即為浮點(diǎn)的。
最佳策略#7:集成開發(fā)過(guò)程
若有可支持的基礎(chǔ)設(shè)施增強(qiáng)本文所提出的最佳策略,則基于模型的設(shè)計(jì)的應(yīng)用會(huì)更流行。換句話說(shuō),要想取得成功,基于模型的設(shè)計(jì)需要是主流產(chǎn)品開發(fā)過(guò)程的一部分,而不是覆蓋。
通常,需對(duì)現(xiàn)有的開發(fā)過(guò)程和衡量方法進(jìn)行修改從而同基于模型的設(shè)計(jì)結(jié)合。舉例來(lái)說(shuō),我們需要開發(fā)風(fēng)格向?qū)В⒃诤线m的項(xiàng)目里程碑中回顧該風(fēng)格向?qū)б赃M(jìn)行支持。我們需要涉及基于模型設(shè)計(jì)的加工品的配置管理。在以代碼為中心的過(guò)程中,代碼通常是主要的或者唯一人工可控的部分。在基于模型的設(shè)計(jì)中,控制的人工部分包括測(cè)試向量,期望成果,模型組成以及使用的建模環(huán)境的版本[6]等等。同樣,需求管理和驗(yàn)證過(guò)程及工具需同基于模型設(shè)計(jì)工具相集成。傳統(tǒng)方式中,軟件需求一般不進(jìn)行校驗(yàn),除非有可用的可執(zhí)行硬件。但是,引入基于模型的設(shè)計(jì)后,仿真驗(yàn)證可在硬件驗(yàn)證之前進(jìn)行。
必須建立細(xì)節(jié)的,不間斷的培訓(xùn)以及能力開發(fā)計(jì)劃。這些計(jì)劃包括一般的產(chǎn)品培訓(xùn)和自定義的特定過(guò)程的指導(dǎo)和規(guī)定。
最后,可能也是最重要的,需要更新評(píng)估項(xiàng)目狀態(tài)的衡量方法,從而完成向基于模型設(shè)計(jì)的過(guò)渡[8]。舉例來(lái)說(shuō),在傳統(tǒng)的開發(fā)過(guò)程中,一個(gè)人可能對(duì)每天生成的代碼行數(shù)進(jìn)行計(jì)數(shù)從而評(píng)估項(xiàng)目的“健康度”。但當(dāng)所有行的代碼在“一個(gè)按鈕按下時(shí)”可全部生成,這種衡量方式失去了意義。
最佳策略#8:誰(shuí)有影響力,同時(shí)能有效控制預(yù)算,誰(shuí)就是贏家
成功過(guò)渡至基于模型設(shè)計(jì)的大部分的組織通常選擇了一個(gè)有力的,有經(jīng)驗(yàn)的同時(shí)受尊敬的領(lǐng)導(dǎo)者。有時(shí)候這個(gè)領(lǐng)導(dǎo)者需要是善于促成共識(shí)的人,有時(shí)候也是仁慈的獨(dú)裁者。
這個(gè)人通常很有資歷,有著證明其曾經(jīng)協(xié)調(diào)過(guò)體系變革的歷史紀(jì)錄。這種空降兵被某些人所懼怕,同時(shí)被其他人擁戴。勝利者需要鼓勵(lì)那些希望用新方法做事的人,同時(shí)也要安慰(或者消除)那些不希望用新的方法做事的人的恐懼。
勝利者需要同是被同級(jí),上級(jí)以及下級(jí)的人所尊重。如果勝利者所處的政治前景明顯或不明顯的破壞著過(guò)渡過(guò)程,則整個(gè)的過(guò)渡過(guò)程面臨風(fēng)險(xiǎn),而同技術(shù)或開發(fā)過(guò)程無(wú)關(guān)。
這個(gè)人需要進(jìn)行直接的預(yù)算控制,或者有著高級(jí)贊助商的支持。人力,資本或者培訓(xùn)的投資是整個(gè)基于模型設(shè)計(jì)的部署和投資期望回報(bào)(ROI)的函數(shù)。這些投資對(duì)于組織來(lái)說(shuō)非常重要,同時(shí)預(yù)算的處理也是勝利者的一個(gè)重要特質(zhì)。
最佳策略#9:有一個(gè)長(zhǎng)遠(yuǎn)的眼光
向基于模型設(shè)計(jì)過(guò)渡需要一定的時(shí)間。對(duì)于交通業(yè),建筑設(shè)備,或者空防等從零開始的工業(yè)組織中,中等大小的嵌入式系統(tǒng)的設(shè)計(jì)和開發(fā)需使用年來(lái)衡量過(guò)渡的時(shí)間,而不是用月。ROI可在第一個(gè)模型建立,仿真及消除設(shè)計(jì)缺陷后,同時(shí)在變成代碼或硬件之前取得。獲得全部的優(yōu)點(diǎn)則需花費(fèi)一定的時(shí)間。
很多組織試圖跟上潮流是常見(jiàn)的事情,他們希望在3到6個(gè)月內(nèi)將他們的開發(fā)機(jī)構(gòu)過(guò)渡至基于模型設(shè)計(jì)的概念或者技術(shù)的機(jī)構(gòu),這是非常不現(xiàn)實(shí)的。可能有著少量生產(chǎn)線的小型全套裝備以及5-20個(gè)開發(fā)者可以在一段較短的時(shí)間內(nèi)完成過(guò)渡。進(jìn)行基礎(chǔ)研究的小組進(jìn)行得更快些,這是因?yàn)樗麄儾灰妆辉写a所累(但是相應(yīng)的ROI較低)。較大的組織更容易被原有開發(fā)過(guò)程的組成部分所累,同時(shí)“粘合”任何商業(yè)工具至開發(fā)過(guò)程也占用了相當(dāng)多的時(shí)間。需要考慮包括如何結(jié)合基于模型的設(shè)計(jì)同原有的系統(tǒng)和開發(fā)過(guò)程在內(nèi)的一些因素,這樣做為了:
- 缺陷跟蹤
- 配置管理
- 文檔編制和出版
- 調(diào)整,整理,校準(zhǔn)
- 項(xiàng)目管理
- 內(nèi)部準(zhǔn)備的嵌入式運(yùn)行系統(tǒng)或者自定義的硬件目標(biāo)
- 衡量標(biāo)準(zhǔn)的項(xiàng)目(改變你測(cè)量生產(chǎn)效率的方法[8])
(注:這不是一個(gè)詳盡的列表)
長(zhǎng)期的工作需要耐心和深思熟慮。擁有一個(gè)管理計(jì)劃,不停的完善。慶祝過(guò)程中小的勝利,同時(shí)如果環(huán)境變化也需考慮適當(dāng)改變計(jì)劃。使用上面列出的其他最佳策略,慎重選擇使用策略的順序,用于將基于模型設(shè)計(jì)概念應(yīng)用于說(shuō)明價(jià)值提升的一系列命令(以及承諾提供保持過(guò)渡所需的資源)
大部分工程師都會(huì)在過(guò)渡的開始立即發(fā)現(xiàn)一個(gè)優(yōu)點(diǎn):工作中有了更多的樂(lè)趣。大部分人,尤其是工程師-喜歡使用強(qiáng)大的工具,這樣可以保持較高的速率以及提升工作的滿意度。
最佳策略#10:同工具供應(yīng)商合作
如本文開始部分所述,聰明的組織從自己的錯(cuò)誤中吸取教訓(xùn),而明智的組織則是從其它人的錯(cuò)誤中學(xué)習(xí)新的東西。由于工具供應(yīng)商在組織向基于模型設(shè)計(jì)的過(guò)渡中扮演了重要的角色,需緊密的加入支持過(guò)渡的過(guò)程中,因此,他們積累了關(guān)于大量組織在管理成功的(或不成功的)過(guò)渡時(shí)需要處理的情況和方面等重要經(jīng)驗(yàn),。在自己組織的過(guò)渡過(guò)程中使用工具供應(yīng)商積累的經(jīng)驗(yàn)可以很大程度上降低著名的學(xué)習(xí)曲線的陡度。這樣組織能夠更快體會(huì)到基于模型設(shè)計(jì)的好處,因此也使得投資回報(bào)率(ROI)盈虧平衡點(diǎn)更為提前,不僅僅降低了學(xué)習(xí)曲線初始加速的坡度,同時(shí)及早在組織中使用工具供應(yīng)商收集的經(jīng)驗(yàn)可以減少保持基于模型設(shè)計(jì)所需的努力。因此,同工具供應(yīng)商密切聯(lián)系,將他們包括至過(guò)渡計(jì)劃,有效利用他們的經(jīng)驗(yàn),避免常見(jiàn)的錯(cuò)誤,同時(shí)合作獲得一個(gè)成功的過(guò)渡。
結(jié)論
基于模型設(shè)計(jì)的應(yīng)用為開發(fā)嵌入式控制系統(tǒng),如應(yīng)用于汽車動(dòng)力傳動(dòng)或者經(jīng)典控制中的系統(tǒng),提供了一個(gè)健全,成熟以及高度精煉的策略。通過(guò)多年觀察及參與不同組織的過(guò)渡過(guò)程,這些過(guò)渡包括大的小的,商業(yè)的或者政府的,交通,通信,以及其它嵌入式控制開發(fā)等,從中提煉了上述最佳策略,同時(shí)和大家分享。這些策略不是固定的準(zhǔn)則,不能在每個(gè)仿真中應(yīng)用。每個(gè)組織在向基于模型設(shè)計(jì)的過(guò)渡階段需要退一步來(lái)省視自我。只有明智的選用這些最佳策略才會(huì)給使用中的嵌入式控制開發(fā)過(guò)程現(xiàn)代化所需要的人力和技術(shù)投資帶來(lái)最大的回報(bào)。