金圣楠, 范知友, 胡建軍, 錢 銳
(中國北方車輛研究所, 北京 100072)
隨著科學(xué)技術(shù)的發(fā)展和軍事需求的變化,坦克信息系統(tǒng)變得越來越智能化,對坦克裝甲車輛的啟動控制而言也是如此。傳統(tǒng)的坦克啟動控制基本采用手動控制啟動,啟動時間由駕駛員根據(jù)需要掌握;也有車輛采用程控啟動的措施,通過控制一定的時長來進行啟動。以上2種啟動方式均存在不合理的因素:手動控制啟動時間的長短由駕駛員掌握,與熟練程度相關(guān),時間過長,易損壞啟動機,而過短則難以啟動;程控啟動規(guī)定了時長,卻影響了啟動的效果,時長固定后在低溫環(huán)境下不利于車輛的正常啟動,經(jīng)常需要多次啟動。而實際啟動時需要關(guān)注的水溫、轉(zhuǎn)速、壓力以及擋位等信息需要人為判斷,可能會引起不必要的誤判,實際使用中時常發(fā)生,如擋位位置不正常造成不能正常啟動的現(xiàn)象就時常發(fā)生。隨著裝甲車輛信息化[1]水平的提升,綜合收集啟動時需要關(guān)注的各種信息,智能判斷信息是否符合啟動條件并采取最佳的啟動控制策略,是降低駕駛員工作負荷、減少誤判、減少機器損壞、提高啟動品質(zhì)的重要手段。
同時,在坦克信息系統(tǒng)設(shè)計方法上,傳統(tǒng)的以文檔形式傳遞信息的設(shè)計方法由于沒有明確的信息傳遞路徑,不易把握整體的連貫性以及檢查各種錯誤和沖突,而且沒有系統(tǒng)的開發(fā)方法指導(dǎo)設(shè)計,使得設(shè)計工程復(fù)雜、模型單一,不能進行模型驅(qū)動仿真,造成系統(tǒng)開發(fā)效率和質(zhì)量較低。HarmonySE系統(tǒng)設(shè)計方法和模型驅(qū)動軟件Rhapsody采用各種模型詳細設(shè)計和全面展示系統(tǒng)的內(nèi)容[2-4],設(shè)計全貌清晰可視,迭代修改簡易方便,且可進行仿真系統(tǒng)模型運行和調(diào)試,有效提升了復(fù)雜系統(tǒng)的開發(fā)效率和質(zhì)量。本文針對某坦克啟動控制系統(tǒng)智能化的需求,采用模型驅(qū)動軟件Rhapsody和HarmonySE系統(tǒng)設(shè)計方法對坦克啟動信息系統(tǒng)開展了設(shè)計。
通過分析啟動信息系統(tǒng)的用戶需求,將其翻譯成系統(tǒng)需求,即定義系統(tǒng)必須做什么以及如何執(zhí)行好,同時定義系統(tǒng)的用例和參與對象。
1) 啟動信息系統(tǒng)的用戶需求[5]。用戶需求如下:(1) 系統(tǒng)能夠在正常工作和緊急戰(zhàn)斗2個模式下實現(xiàn)啟動工作;(2) 正常模式下在常規(guī)啟動方式不能啟動時,提供輔助啟動方式代替常規(guī)啟動,或聯(lián)合輔助啟動方式共同啟動;(3) 正常模式下的啟動開關(guān)具備防止誤操作措施;(4) 系統(tǒng)能自動檢查和判斷啟動條件并提示駕駛員;(5) 系統(tǒng)能自動監(jiān)測、判斷和控制啟動狀態(tài)并提示駕駛員;(6) 2次啟動要間隔一定時間;(7) 在緊急戰(zhàn)斗模式下,系統(tǒng)不進行任何判斷和保護,直接硬線啟動車輛。
2) 定義系統(tǒng)需求,用戶需求可劃分為幾個特定的操作方面,下面以常規(guī)啟動方式為例定義系統(tǒng)需求:(1) 要提供啟動開關(guān)按鍵;(2) 要判斷外部按壓啟動開關(guān)時間;(3) 要檢查啟動條件;(4) 要監(jiān)視和判斷啟動狀態(tài);(5) 要控制啟動通、斷電;(6) 要顯示提示信息;(7) 按壓啟動開關(guān)時間在Ts以上有效;(8) 擋位為N擋且發(fā)動機轉(zhuǎn)速小于n(r/min)時,符合啟動條件;(9) 通電時間在T1(s)以內(nèi)且發(fā)動機轉(zhuǎn)速達到m(r/min)以上時,啟動成功; (10) 2次啟動時間大于T2(s)。
3)根據(jù)系統(tǒng)需求定義系統(tǒng)用例和參與者,啟動信息系統(tǒng)用例如圖1所示,要完成所有的啟動任務(wù),需要包含程序啟動、高壓啟動、聯(lián)合啟動、緊急啟動等子用例,同時只有一個參與對象,即駕駛員,參與對象與系統(tǒng)用例之間的交互關(guān)系用連線表示。
圖1 啟動信息系統(tǒng)用例
系統(tǒng)功能分析的重點是把系統(tǒng)需求轉(zhuǎn)化為一個基于用例的連貫的系統(tǒng)功能操作。首先,通過3個SysML模型圖由不同側(cè)面分別描述啟動信息系統(tǒng)各個用例的功能操作、角色間互動和用例狀態(tài)變化[6];然后通過仿真狀態(tài)模型來確認狀態(tài)行為的正確性和完整性。下面以程序啟動用例為例進行系統(tǒng)功能分析。
根據(jù)系統(tǒng)程序啟動用例需求,建立其功能流程分析模型(活動圖)[6],如圖2所示。駕駛員開始按壓“程序啟動”開關(guān),系統(tǒng)對開關(guān)狀態(tài)進行判斷,此開關(guān)判斷是為了防止駕駛員誤操作觸碰開關(guān)導(dǎo)致系統(tǒng)啟動而設(shè)置的保護措施。如果檢測到開關(guān)連續(xù)按下時間在T以下,則終止流程;反之,則認為開關(guān)有效,進入程序啟動條件綜合判斷。如果當前擋位不在N擋或發(fā)動機轉(zhuǎn)速≥n,則不滿足啟動條件,啟動流程中止,顯示相應(yīng)的提示信息;如果當前擋位在N擋且發(fā)動機轉(zhuǎn)速 圖2 用例功能流程分析模型(活動圖) 功能流程工作場景(時序圖)[6]描述了程序啟動用例與外部參與對象(駕駛員)的信息交互,以及消息傳遞的時間順序。時序圖由活動圖自動生成,在此基礎(chǔ)上設(shè)計交互的信息內(nèi)容。程序啟動用例的功能流程工作場景(時序圖)如圖3所示,其中:水平軸的矩形框是參與對象(駕駛員)和系統(tǒng)用例程序啟動,垂直軸線是生命線,代表該對象的生命周期;生命線之間的箭頭表示對象間消息的發(fā)送與接收;生命線上的箭頭對應(yīng)該對象在活動圖中的功能操作。功能操作流程就是按照生命周期的時間順序來進行的,parallel 里面虛線分割的信息之間的關(guān)系是并列的,opt里面分割開的信息是在不同條件下進行的信息分支。圖3中,駕駛員向啟動系統(tǒng)發(fā)送了一個請求按壓程序啟動開關(guān)的消息,此消息同時也是一個觸發(fā)事件,觸發(fā)系統(tǒng)開始啟動,從時序圖中可看出對象之間是如何進行通信的。 圖3 用例功能流程工作場景(時序圖) 可執(zhí)行的用例狀態(tài)模型(狀態(tài)圖)[6]是由活動圖的功能流程和序列圖的對象互動的信息匯總,并加上事件驅(qū)動的模塊行為而形成的程序啟動用例狀態(tài)的行為。程序啟動用例狀態(tài)圖如圖4所示,系統(tǒng)初始狀態(tài)為等待請求解析程序啟動開關(guān),受事件請求解析程序啟動開關(guān)驅(qū)動以及執(zhí)行操作解析啟動開關(guān),進入行動狀態(tài)判斷程序啟動開關(guān)信息,若判斷條件為接收開關(guān)信息時間在T以下,則執(zhí)行相應(yīng)的顯示提示信息操作后,直接回到初始等待狀態(tài);反之,則進入行動狀態(tài)判斷程序啟動條件。若發(fā)動機轉(zhuǎn)速≥n或當前擋位不在N擋,則執(zhí)行相應(yīng)的顯示提示信息操作后,直接回到最初等待狀態(tài);若發(fā)動機轉(zhuǎn)速 圖4 可執(zhí)行的用例狀態(tài)模型(狀態(tài)圖) 狀態(tài)機模型驗證仿真通過輸入各種判斷條件信息,驗證系統(tǒng)狀態(tài)是否按照設(shè)計的目的運行相應(yīng)支路的流程,得到預(yù)定的結(jié)果。圖5為程序啟動用例狀態(tài)機模型驗證仿真,當輸入條件為按壓開關(guān)時間T0(大于T),發(fā)動機初始轉(zhuǎn)速n0(小于n),當前擋位處于N擋,啟動時間t0(小于t1)時,發(fā)動機轉(zhuǎn)速達到m0(大于m),系統(tǒng)的運行路徑為圖中棕色的路徑,是系統(tǒng)程序啟動成功的路徑??梢姡涸谠O(shè)置的條件下系統(tǒng)能順利運行,達到了預(yù)定的目的。 圖5 狀態(tài)機模型驗證仿真 通過系統(tǒng)用例的功能分析,對啟動信息系統(tǒng)的具體部件進行定義,對各個用例的部件功能分配進行實現(xiàn),由3個SysML圖從不同側(cè)面展現(xiàn)部件功能分配模型,并對狀態(tài)模型進行驗證仿真。 圖6為系統(tǒng)構(gòu)架分析模型,可見:啟動信息系統(tǒng)由駕駛員顯控終端、車輛核心處理機、配電控制盒、發(fā)電機控制盒等部件組成,系統(tǒng)與部件之間有明確的從屬關(guān)系。 圖6 系統(tǒng)架構(gòu)分析模型 白盒活動圖把系統(tǒng)用例的功能流程分配到相應(yīng)的部件上,如圖7所示,在黑盒活動圖的基礎(chǔ)上用不同泳道進行了分區(qū),每個泳道代表一個部件模塊,程序啟動用例的黑盒活動流程分配到具體的部件上,確定了系統(tǒng)功能由哪些部件實現(xiàn),即:駕駛員顯控終端負責接收駕駛員指令、顯示系統(tǒng)提示信息;車輛核心處理機負責綜合判斷啟動條件和狀態(tài);配電控制盒控制給啟動機接通和切斷電源。 圖7 系統(tǒng)用例功能分配的流程模型(活動圖) 白盒時序圖描述了程序啟動用例的各部件之間、部件和外部參與對象之間的信息交互,展示了系統(tǒng)各部件的連接情況、接口信息的具體內(nèi)容,每個部件的功能操作均由接口信息驅(qū)動才能執(zhí)行,如圖8所示。其中:水平軸矩形框代表的是3個部件和參與對象(駕駛員),它們之間的箭頭代表信息交互的內(nèi)容;垂直軸代表的是它們的生命周期,部件功能流程和信息交互的時間順序以及邏輯關(guān)系都在上面顯示。 圖8 各部件功能流程工作場景(時序圖) 白盒的狀態(tài)機設(shè)計的是系統(tǒng)各個部件的狀態(tài)行為,是整個設(shè)計的最后一步,當一個部件所要完成的所有功能(來自很多個用例)都設(shè)計好以后,此部件就被確定了,系統(tǒng)也就被確定了。針對程序啟動用例,將它的功能流程進行部件分配后,匯聚了用例白盒活動圖和時序圖的信息,設(shè)計了系統(tǒng)中各部件的狀態(tài)機。圖9為部件車輛核心處理機狀態(tài)機可執(zhí)行模型,由3個判斷狀態(tài)組成,在每個狀態(tài)守衛(wèi)條件的驅(qū)動下發(fā)生狀態(tài)間的轉(zhuǎn)移和消息的發(fā)送,設(shè)計出了車輛核心處理機在程序啟動用例中的所有功能狀態(tài)。 圖9 部件車輛核心處理機狀態(tài)機可執(zhí)行模型 圖10為車輛核心處理機狀態(tài)機的模型仿真,輸入條件與圖5相同,系統(tǒng)的運行路徑為圖中的棕色路徑,是系統(tǒng)程序啟動失敗的路徑??梢娫谠O(shè)置的條件下,系統(tǒng)按照設(shè)計路徑正常運行,達到了預(yù)定目的。 本文采用軟件Rhapsody和HarmonySE系統(tǒng)設(shè)計方法,設(shè)計了智能化坦克啟動信息系統(tǒng),降低了駕駛員工作負荷,減小了部件損壞的可能性,大幅度提高了啟動效率和準確性。采用基于SysML語言的系統(tǒng)設(shè)計Harmony研究方法,全面地剖析和設(shè)計了啟動信息系統(tǒng),模型驅(qū)動仿真檢查系統(tǒng)的設(shè)計增強了設(shè)計的可視性、完整性、準確性,為更加復(fù)雜的系統(tǒng)設(shè)計奠定了基礎(chǔ)。文中系統(tǒng)綜合判斷的條件沒有涉及水溫、機油壓力等,在未來的研究中可以加入更多的外界條件進行判斷和控制。 圖10 車輛核心處理機狀態(tài)機模型仿真 參考文獻: [1] 李燕安.裝甲車輛綜合電子綜述[J].國防技術(shù)基礎(chǔ),2009(12):44-46. [2] 倪忠建,張彥,李漪,等.模型驅(qū)動的系統(tǒng)設(shè)計方法應(yīng)用研究[J].航空電子技術(shù),2011,42(1):18-23. [3] 張磊.基于Raphsody的嵌入式系統(tǒng)的和諧設(shè)計方法的研究[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].北京: 中國水利水電出版社,2009:105-118. [6] 陳正捷,陳志昊,張淺秋,等.坦克電子綜合化[M]. 北京:兵器工業(yè)出版社,2006:1-5,190-208.2.2 功能流程工作場景
2.3 可執(zhí)行的用例狀態(tài)模型
2.4 狀態(tài)機模型驗證仿真
3 系統(tǒng)設(shè)計綜合(白盒)
3.1 架構(gòu)分析
3.2 活動圖
3.3 時序圖
3.4 系統(tǒng)部件可執(zhí)行狀態(tài)機模型
3.5 部件狀態(tài)機模型仿真
4 結(jié)論