金圣楠, 范知友, 胡建軍, 錢(qián) 銳
(中國(guó)北方車(chē)輛研究所, 北京 100072)
隨著科學(xué)技術(shù)的發(fā)展和軍事需求的變化,坦克信息系統(tǒng)變得越來(lái)越智能化,對(duì)坦克裝甲車(chē)輛的啟動(dòng)控制而言也是如此。傳統(tǒng)的坦克啟動(dòng)控制基本采用手動(dòng)控制啟動(dòng),啟動(dòng)時(shí)間由駕駛員根據(jù)需要掌握;也有車(chē)輛采用程控啟動(dòng)的措施,通過(guò)控制一定的時(shí)長(zhǎng)來(lái)進(jìn)行啟動(dòng)。以上2種啟動(dòng)方式均存在不合理的因素:手動(dòng)控制啟動(dòng)時(shí)間的長(zhǎng)短由駕駛員掌握,與熟練程度相關(guān),時(shí)間過(guò)長(zhǎng),易損壞啟動(dòng)機(jī),而過(guò)短則難以啟動(dòng);程控啟動(dòng)規(guī)定了時(shí)長(zhǎng),卻影響了啟動(dòng)的效果,時(shí)長(zhǎng)固定后在低溫環(huán)境下不利于車(chē)輛的正常啟動(dòng),經(jīng)常需要多次啟動(dòng)。而實(shí)際啟動(dòng)時(shí)需要關(guān)注的水溫、轉(zhuǎn)速、壓力以及擋位等信息需要人為判斷,可能會(huì)引起不必要的誤判,實(shí)際使用中時(shí)常發(fā)生,如擋位位置不正常造成不能正常啟動(dòng)的現(xiàn)象就時(shí)常發(fā)生。隨著裝甲車(chē)輛信息化[1]水平的提升,綜合收集啟動(dòng)時(shí)需要關(guān)注的各種信息,智能判斷信息是否符合啟動(dòng)條件并采取最佳的啟動(dòng)控制策略,是降低駕駛員工作負(fù)荷、減少誤判、減少機(jī)器損壞、提高啟動(dòng)品質(zhì)的重要手段。
同時(shí),在坦克信息系統(tǒng)設(shè)計(jì)方法上,傳統(tǒng)的以文檔形式傳遞信息的設(shè)計(jì)方法由于沒(méi)有明確的信息傳遞路徑,不易把握整體的連貫性以及檢查各種錯(cuò)誤和沖突,而且沒(méi)有系統(tǒng)的開(kāi)發(fā)方法指導(dǎo)設(shè)計(jì),使得設(shè)計(jì)工程復(fù)雜、模型單一,不能進(jìn)行模型驅(qū)動(dòng)仿真,造成系統(tǒng)開(kāi)發(fā)效率和質(zhì)量較低。HarmonySE系統(tǒng)設(shè)計(jì)方法和模型驅(qū)動(dòng)軟件Rhapsody采用各種模型詳細(xì)設(shè)計(jì)和全面展示系統(tǒng)的內(nèi)容[2-4],設(shè)計(jì)全貌清晰可視,迭代修改簡(jiǎn)易方便,且可進(jìn)行仿真系統(tǒng)模型運(yùn)行和調(diào)試,有效提升了復(fù)雜系統(tǒng)的開(kāi)發(fā)效率和質(zhì)量。本文針對(duì)某坦克啟動(dòng)控制系統(tǒng)智能化的需求,采用模型驅(qū)動(dòng)軟件Rhapsody和HarmonySE系統(tǒng)設(shè)計(jì)方法對(duì)坦克啟動(dòng)信息系統(tǒng)開(kāi)展了設(shè)計(jì)。
通過(guò)分析啟動(dòng)信息系統(tǒng)的用戶需求,將其翻譯成系統(tǒng)需求,即定義系統(tǒng)必須做什么以及如何執(zhí)行好,同時(shí)定義系統(tǒng)的用例和參與對(duì)象。
1) 啟動(dòng)信息系統(tǒng)的用戶需求[5]。用戶需求如下:(1) 系統(tǒng)能夠在正常工作和緊急戰(zhàn)斗2個(gè)模式下實(shí)現(xiàn)啟動(dòng)工作;(2) 正常模式下在常規(guī)啟動(dòng)方式不能啟動(dòng)時(shí),提供輔助啟動(dòng)方式代替常規(guī)啟動(dòng),或聯(lián)合輔助啟動(dòng)方式共同啟動(dòng);(3) 正常模式下的啟動(dòng)開(kāi)關(guān)具備防止誤操作措施;(4) 系統(tǒng)能自動(dòng)檢查和判斷啟動(dòng)條件并提示駕駛員;(5) 系統(tǒng)能自動(dòng)監(jiān)測(cè)、判斷和控制啟動(dòng)狀態(tài)并提示駕駛員;(6) 2次啟動(dòng)要間隔一定時(shí)間;(7) 在緊急戰(zhàn)斗模式下,系統(tǒng)不進(jìn)行任何判斷和保護(hù),直接硬線啟動(dòng)車(chē)輛。
2) 定義系統(tǒng)需求,用戶需求可劃分為幾個(gè)特定的操作方面,下面以常規(guī)啟動(dòng)方式為例定義系統(tǒng)需求:(1) 要提供啟動(dòng)開(kāi)關(guān)按鍵;(2) 要判斷外部按壓?jiǎn)?dòng)開(kāi)關(guān)時(shí)間;(3) 要檢查啟動(dòng)條件;(4) 要監(jiān)視和判斷啟動(dòng)狀態(tài);(5) 要控制啟動(dòng)通、斷電;(6) 要顯示提示信息;(7) 按壓?jiǎn)?dòng)開(kāi)關(guān)時(shí)間在Ts以上有效;(8) 擋位為N擋且發(fā)動(dòng)機(jī)轉(zhuǎn)速小于n(r/min)時(shí),符合啟動(dòng)條件;(9) 通電時(shí)間在T1(s)以內(nèi)且發(fā)動(dòng)機(jī)轉(zhuǎn)速達(dá)到m(r/min)以上時(shí),啟動(dòng)成功; (10) 2次啟動(dòng)時(shí)間大于T2(s)。
3)根據(jù)系統(tǒng)需求定義系統(tǒng)用例和參與者,啟動(dòng)信息系統(tǒng)用例如圖1所示,要完成所有的啟動(dòng)任務(wù),需要包含程序啟動(dòng)、高壓?jiǎn)?dòng)、聯(lián)合啟動(dòng)、緊急啟動(dòng)等子用例,同時(shí)只有一個(gè)參與對(duì)象,即駕駛員,參與對(duì)象與系統(tǒng)用例之間的交互關(guān)系用連線表示。

圖1 啟動(dòng)信息系統(tǒng)用例
系統(tǒng)功能分析的重點(diǎn)是把系統(tǒng)需求轉(zhuǎn)化為一個(gè)基于用例的連貫的系統(tǒng)功能操作。首先,通過(guò)3個(gè)SysML模型圖由不同側(cè)面分別描述啟動(dòng)信息系統(tǒng)各個(gè)用例的功能操作、角色間互動(dòng)和用例狀態(tài)變化[6];然后通過(guò)仿真狀態(tài)模型來(lái)確認(rèn)狀態(tài)行為的正確性和完整性。下面以程序啟動(dòng)用例為例進(jìn)行系統(tǒng)功能分析。
根據(jù)系統(tǒng)程序啟動(dòng)用例需求,建立其功能流程分析模型(活動(dòng)圖)[6],如圖2所示。駕駛員開(kāi)始按壓“程序啟動(dòng)”開(kāi)關(guān),系統(tǒng)對(duì)開(kāi)關(guān)狀態(tài)進(jìn)行判斷,此開(kāi)關(guān)判斷是為了防止駕駛員誤操作觸碰開(kāi)關(guān)導(dǎo)致系統(tǒng)啟動(dòng)而設(shè)置的保護(hù)措施。如果檢測(cè)到開(kāi)關(guān)連續(xù)按下時(shí)間在T以下,則終止流程;反之,則認(rèn)為開(kāi)關(guān)有效,進(jìn)入程序啟動(dòng)條件綜合判斷。如果當(dāng)前擋位不在N擋或發(fā)動(dòng)機(jī)轉(zhuǎn)速≥n,則不滿足啟動(dòng)條件,啟動(dòng)流程中止,顯示相應(yīng)的提示信息;如果當(dāng)前擋位在N擋且發(fā)動(dòng)機(jī)轉(zhuǎn)速 圖2 用例功能流程分析模型(活動(dòng)圖) 功能流程工作場(chǎng)景(時(shí)序圖)[6]描述了程序啟動(dòng)用例與外部參與對(duì)象(駕駛員)的信息交互,以及消息傳遞的時(shí)間順序。時(shí)序圖由活動(dòng)圖自動(dòng)生成,在此基礎(chǔ)上設(shè)計(jì)交互的信息內(nèi)容。程序啟動(dòng)用例的功能流程工作場(chǎng)景(時(shí)序圖)如圖3所示,其中:水平軸的矩形框是參與對(duì)象(駕駛員)和系統(tǒng)用例程序啟動(dòng),垂直軸線是生命線,代表該對(duì)象的生命周期;生命線之間的箭頭表示對(duì)象間消息的發(fā)送與接收;生命線上的箭頭對(duì)應(yīng)該對(duì)象在活動(dòng)圖中的功能操作。功能操作流程就是按照生命周期的時(shí)間順序來(lái)進(jìn)行的,parallel 里面虛線分割的信息之間的關(guān)系是并列的,opt里面分割開(kāi)的信息是在不同條件下進(jìn)行的信息分支。圖3中,駕駛員向啟動(dòng)系統(tǒng)發(fā)送了一個(gè)請(qǐng)求按壓程序啟動(dòng)開(kāi)關(guān)的消息,此消息同時(shí)也是一個(gè)觸發(fā)事件,觸發(fā)系統(tǒng)開(kāi)始啟動(dòng),從時(shí)序圖中可看出對(duì)象之間是如何進(jìn)行通信的。 圖3 用例功能流程工作場(chǎng)景(時(shí)序圖) 可執(zhí)行的用例狀態(tài)模型(狀態(tài)圖)[6]是由活動(dòng)圖的功能流程和序列圖的對(duì)象互動(dòng)的信息匯總,并加上事件驅(qū)動(dòng)的模塊行為而形成的程序啟動(dòng)用例狀態(tài)的行為。程序啟動(dòng)用例狀態(tài)圖如圖4所示,系統(tǒng)初始狀態(tài)為等待請(qǐng)求解析程序啟動(dòng)開(kāi)關(guān),受事件請(qǐng)求解析程序啟動(dòng)開(kāi)關(guān)驅(qū)動(dòng)以及執(zhí)行操作解析啟動(dòng)開(kāi)關(guān),進(jìn)入行動(dòng)狀態(tài)判斷程序啟動(dòng)開(kāi)關(guān)信息,若判斷條件為接收開(kāi)關(guān)信息時(shí)間在T以下,則執(zhí)行相應(yīng)的顯示提示信息操作后,直接回到初始等待狀態(tài);反之,則進(jìn)入行動(dòng)狀態(tài)判斷程序啟動(dòng)條件。若發(fā)動(dòng)機(jī)轉(zhuǎn)速≥n或當(dāng)前擋位不在N擋,則執(zhí)行相應(yīng)的顯示提示信息操作后,直接回到最初等待狀態(tài);若發(fā)動(dòng)機(jī)轉(zhuǎn)速 圖4 可執(zhí)行的用例狀態(tài)模型(狀態(tài)圖) 狀態(tài)機(jī)模型驗(yàn)證仿真通過(guò)輸入各種判斷條件信息,驗(yàn)證系統(tǒng)狀態(tài)是否按照設(shè)計(jì)的目的運(yùn)行相應(yīng)支路的流程,得到預(yù)定的結(jié)果。圖5為程序啟動(dòng)用例狀態(tài)機(jī)模型驗(yàn)證仿真,當(dāng)輸入條件為按壓開(kāi)關(guān)時(shí)間T0(大于T),發(fā)動(dòng)機(jī)初始轉(zhuǎn)速n0(小于n),當(dāng)前擋位處于N擋,啟動(dòng)時(shí)間t0(小于t1)時(shí),發(fā)動(dòng)機(jī)轉(zhuǎn)速達(dá)到m0(大于m),系統(tǒng)的運(yùn)行路徑為圖中棕色的路徑,是系統(tǒng)程序啟動(dòng)成功的路徑。可見(jiàn):在設(shè)置的條件下系統(tǒng)能順利運(yùn)行,達(dá)到了預(yù)定的目的。 圖5 狀態(tài)機(jī)模型驗(yàn)證仿真 通過(guò)系統(tǒng)用例的功能分析,對(duì)啟動(dòng)信息系統(tǒng)的具體部件進(jìn)行定義,對(duì)各個(gè)用例的部件功能分配進(jìn)行實(shí)現(xiàn),由3個(gè)SysML圖從不同側(cè)面展現(xiàn)部件功能分配模型,并對(duì)狀態(tài)模型進(jìn)行驗(yàn)證仿真。 圖6為系統(tǒng)構(gòu)架分析模型,可見(jiàn):?jiǎn)?dòng)信息系統(tǒng)由駕駛員顯控終端、車(chē)輛核心處理機(jī)、配電控制盒、發(fā)電機(jī)控制盒等部件組成,系統(tǒng)與部件之間有明確的從屬關(guān)系。 圖6 系統(tǒng)架構(gòu)分析模型 白盒活動(dòng)圖把系統(tǒng)用例的功能流程分配到相應(yīng)的部件上,如圖7所示,在黑盒活動(dòng)圖的基礎(chǔ)上用不同泳道進(jìn)行了分區(qū),每個(gè)泳道代表一個(gè)部件模塊,程序啟動(dòng)用例的黑盒活動(dòng)流程分配到具體的部件上,確定了系統(tǒng)功能由哪些部件實(shí)現(xiàn),即:駕駛員顯控終端負(fù)責(zé)接收駕駛員指令、顯示系統(tǒng)提示信息;車(chē)輛核心處理機(jī)負(fù)責(zé)綜合判斷啟動(dòng)條件和狀態(tài);配電控制盒控制給啟動(dòng)機(jī)接通和切斷電源。 圖7 系統(tǒng)用例功能分配的流程模型(活動(dòng)圖) 白盒時(shí)序圖描述了程序啟動(dòng)用例的各部件之間、部件和外部參與對(duì)象之間的信息交互,展示了系統(tǒng)各部件的連接情況、接口信息的具體內(nèi)容,每個(gè)部件的功能操作均由接口信息驅(qū)動(dòng)才能執(zhí)行,如圖8所示。其中:水平軸矩形框代表的是3個(gè)部件和參與對(duì)象(駕駛員),它們之間的箭頭代表信息交互的內(nèi)容;垂直軸代表的是它們的生命周期,部件功能流程和信息交互的時(shí)間順序以及邏輯關(guān)系都在上面顯示。 圖8 各部件功能流程工作場(chǎng)景(時(shí)序圖) 白盒的狀態(tài)機(jī)設(shè)計(jì)的是系統(tǒng)各個(gè)部件的狀態(tài)行為,是整個(gè)設(shè)計(jì)的最后一步,當(dāng)一個(gè)部件所要完成的所有功能(來(lái)自很多個(gè)用例)都設(shè)計(jì)好以后,此部件就被確定了,系統(tǒng)也就被確定了。針對(duì)程序啟動(dòng)用例,將它的功能流程進(jìn)行部件分配后,匯聚了用例白盒活動(dòng)圖和時(shí)序圖的信息,設(shè)計(jì)了系統(tǒng)中各部件的狀態(tài)機(jī)。圖9為部件車(chē)輛核心處理機(jī)狀態(tài)機(jī)可執(zhí)行模型,由3個(gè)判斷狀態(tài)組成,在每個(gè)狀態(tài)守衛(wèi)條件的驅(qū)動(dòng)下發(fā)生狀態(tài)間的轉(zhuǎn)移和消息的發(fā)送,設(shè)計(jì)出了車(chē)輛核心處理機(jī)在程序啟動(dòng)用例中的所有功能狀態(tài)。 圖9 部件車(chē)輛核心處理機(jī)狀態(tài)機(jī)可執(zhí)行模型 圖10為車(chē)輛核心處理機(jī)狀態(tài)機(jī)的模型仿真,輸入條件與圖5相同,系統(tǒng)的運(yùn)行路徑為圖中的棕色路徑,是系統(tǒng)程序啟動(dòng)失敗的路徑。可見(jiàn)在設(shè)置的條件下,系統(tǒng)按照設(shè)計(jì)路徑正常運(yùn)行,達(dá)到了預(yù)定目的。 本文采用軟件Rhapsody和HarmonySE系統(tǒng)設(shè)計(jì)方法,設(shè)計(jì)了智能化坦克啟動(dòng)信息系統(tǒng),降低了駕駛員工作負(fù)荷,減小了部件損壞的可能性,大幅度提高了啟動(dòng)效率和準(zhǔn)確性。采用基于SysML語(yǔ)言的系統(tǒng)設(shè)計(jì)Harmony研究方法,全面地剖析和設(shè)計(jì)了啟動(dòng)信息系統(tǒng),模型驅(qū)動(dòng)仿真檢查系統(tǒng)的設(shè)計(jì)增強(qiáng)了設(shè)計(jì)的可視性、完整性、準(zhǔn)確性,為更加復(fù)雜的系統(tǒng)設(shè)計(jì)奠定了基礎(chǔ)。文中系統(tǒng)綜合判斷的條件沒(méi)有涉及水溫、機(jī)油壓力等,在未來(lái)的研究中可以加入更多的外界條件進(jìn)行判斷和控制。 圖10 車(chē)輛核心處理機(jī)狀態(tài)機(jī)模型仿真 參考文獻(xiàn): [1] 李燕安.裝甲車(chē)輛綜合電子綜述[J].國(guó)防技術(shù)基礎(chǔ),2009(12):44-46. [2] 倪忠建,張彥,李漪,等.模型驅(qū)動(dòng)的系統(tǒng)設(shè)計(jì)方法應(yīng)用研究[J].航空電子技術(shù),2011,42(1):18-23. [3] 張磊.基于Raphsody的嵌入式系統(tǒng)的和諧設(shè)計(jì)方法的研究[J].微計(jì)算機(jī)信息,2012(5):64-66. [4] Hoffmann H P.IBM Rational Harmony Deskbook Rel 3.1.2. [Z].USA:IBM Corporation,2011:1-134. [5] 譚云杰.大象:Thinking in UML [M].北京: 中國(guó)水利水電出版社,2009:105-118. [6] 陳正捷,陳志昊,張淺秋,等.坦克電子綜合化[M]. 北京:兵器工業(yè)出版社,2006:1-5,190-208.
2.2 功能流程工作場(chǎng)景

2.3 可執(zhí)行的用例狀態(tài)模型

2.4 狀態(tài)機(jī)模型驗(yàn)證仿真
3 系統(tǒng)設(shè)計(jì)綜合(白盒)
3.1 架構(gòu)分析

3.2 活動(dòng)圖

3.3 時(shí)序圖

3.4 系統(tǒng)部件可執(zhí)行狀態(tài)機(jī)模型

3.5 部件狀態(tài)機(jī)模型仿真
4 結(jié)論
