999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

主動對象模型在車次追蹤系統中的應用

2010-08-06 09:37:20張德明
鐵路計算機應用 2010年5期
關鍵詞:模塊化信息模型

張德明

(中國鐵道科學研究院通信信號研究所,北京100081)

模塊化是軟件設計中需要達到的主要目標之一。相對于傳統的面向過程的語言將數據結構與算法分開的方式,面向對象的設計方法將相關的數據結構與算法作為一個對象進行封裝,形成一個擁有自己狀態以及行為的整體。在設計對象時,通過有效地將相互關聯的數據結構與行為進行封裝,而向外只提供必要的接口,從而達到強內聚松藕合的效果,也就達到了模塊化的目標。

在單線程環境下,采用對象的方式確實能夠實現有效的封裝。然而,當軟件在多線程環境中運行時,對象在封裝上則會遇到并發范圍的問題。

圖1 對象交互的圖示

圖1展示了一個簡單多線程環境。其中,有A,B,C3個以面向對象方法進行封裝的對象,另外有兩個環境線程。系統期望兩個線程能夠在3個對象的并發運行中,完成系統的功能。我們可以看到,對象B雖然作為一個獨立的對象,封裝了自己的結構和行為。但是,由于它同時被兩個線程訪問,這樣,在對象C和A與B進行交互時,必須要考慮許多線程同步的因素,造成對象間訪問時接口復雜,也就是增強了對象間的耦合性。當系統的對象更多,并發線程更多時,對象間的耦合將會成倍增加,軟件的模塊化目標將遇到嚴重的挑戰。

1 車次追蹤系統

車次追蹤系統是調度監督以及調度集中系統中一個重要的組成部分,車次追蹤系統根據現場采集的站場表示信息,無線車次號信息,行調臺下達的計劃信息,以及人工車次修改等信息,通過綜合運算,對追蹤區段的列車進行識別、跟蹤和校核,并在此基礎上提供自動報點,列車位置報告等信息。

在實際設計中,車次追蹤系統作為調度系統應用服務器中的一個模塊。作為整體的應用服務器,除了提供車次信息相關運算和服務外,還要提供通信信息轉發、表示信息處理和進路信息處理等功能。

當把應用服務器作為系統的環境,而將通信轉發、車次追蹤和進路控制分別作為一個重量級的對象時,將得到一個類似圖1的系統結構環境,見圖2。

圖2 車次追蹤的應用服務器環境框圖

在圖2的應用服務環境中,系統要求應用服務器所提供的各個功能,包括車次追蹤,通信轉發,以及進路控制等都能夠并行運行,因此,系統中必須引入多個線程。 同時,由于各個服務模塊之間需要交互,以傳統面向對象模式進行設計,必然將多個線程引入對象中,造成同步的困難,增強了系統的藕合性。如何保證車次追蹤系統設計的模塊化,同時又保證模塊的并行性,如前面引用中提到的,是對系統設計方法的一個挑戰。

2 主動對象模型

我們以圖3來說明主動對象模型。

圖3 主動對象模型

圖3中的對象分為兩種,其中A,B,C同以前的對象一樣,只能被別的線程被動調用,稱之為被動對象。另外一種對象,作為A,B,C3個對象的運行環境,它將系統的線程進行了封裝,并提供了對外接口的郵箱,稱之為主動對象。

系統的運轉過程如下:當外界有任務或者指令要主動對象來完成時,外界系統將任務以消息形式發送到主動對象的郵箱隊列中,主動對象的封裝線程則一直對其郵箱隊列進行監視,一旦發覺郵箱中有消息,將取出消息進行處理。當任務比較復雜時,主動對象將消息分發給相關的被動對象,讓其進行相應處理。

可以看出,在主動對象模型中,因為引入了主動對象,對任務線程進行了封裝,這樣就給其它被動對象提供了一個單線程的環境。在對A,B,C等各個被動對象進行算法設計時,只需要考慮基本的業務邏輯,而不需要考慮系統的并發性問題,有效地降低了系統的耦合性,增強了系統的模塊化。

3 具體實現

圖4給出基于主動對象模型車次追蹤模塊的主框架結構。其中主要包含4個部分:接口,隊列,線程以及處理。

圖4 車次追蹤主框架結構

3.1 接口部分

接口部分將所有輸入輸出進行封裝,其中CallIn供其它系統進行調用,將表示信息,計劃信息等輸入到車次追蹤系統,CallIn的處理就是將這些調用以消息的形式存放到消息隊列中。

CallOut封裝了車次追蹤模塊的輸出部分,外界系統通過重載CallOut方法,從而實現對車次號和報點等信息的獲取。

3.2 隊列部分

隊列部分完成主動對象模型中的郵箱功能。所有外界的信息要傳遞到車次追蹤系統,均需要以消息形式壓入隊列。同時,封裝線程部分對隊列進行不間斷監視,一旦發現隊列中有數據,將以先進現出的方式從中取出。

由于隊列部分同時要被外部線程和模塊內部線程訪問,因此,在隊列訪問時設置同步機制。

3.3 線程部分

系統通過將操作系統提供的線程進行封裝,從而形成只在車次追蹤模塊內部運行的線程,當對象生成時,生成并啟動線程,當對象消亡時,終止并結束線程。

系統線程在對象生存期不間斷地運轉,給車次追蹤的業務邏輯處理對象提供運行環境,同時從消息隊列中獲取消息,并將這些消息分發給實現部分進行具體處理。

3.4 處理部分

處理部分是車次追蹤算法的核心,包含大量站場相關的數據結構和處理類。這些處理類由封裝線程進行調用,對接收到的表示信息、無線車次號信息以及計劃信息等進行綜合分析,運算得出列車車次號位置信息以及報點等信息,將這些信息通過CallBack函數回調輸出。

4 結束語

本文引入主動對象模型,將車次追蹤的具體實現與并發處理分開,允許在進行算法設計時不用考慮系統的并行性,有效地降低了系統設計的復雜度。在滿足系統實時性特征的情況下,保證了系統的獨立性和模塊化。

[1] 朱冰,梅宏,楊芙清. 基于事件驅動的主動對象模型[J] . 軟件學報,1996(3).

[2] F.Buschmann, K.Henney, D.C.Schmidt. Patten-Oriented Software Architecture, Volume 4: A Pattern Language for Distributed Computing[M] . John Wiley & Sons, 2007: 365-367.

猜你喜歡
模塊化信息模型
一半模型
模塊化自主水下機器人開發與應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
模塊化住宅
現代裝飾(2020年5期)2020-05-30 13:01:56
ACP100模塊化小型堆研發進展
中國核電(2017年2期)2017-08-11 08:00:56
模塊化VS大型工廠
流程工業(2017年4期)2017-06-21 06:29:50
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
3D打印中的模型分割與打包
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 亚洲中文无码h在线观看| 尤物精品视频一区二区三区| 亚洲国产中文在线二区三区免| 黄色国产在线| 久久久久国色AV免费观看性色| 欧美日韩一区二区在线免费观看 | 在线看AV天堂| 亚洲欧美在线精品一区二区| 高h视频在线| 国产精品欧美激情| 波多野结衣视频网站| 992Tv视频国产精品| 亚洲人成网站观看在线观看| 国产欧美日韩精品综合在线| 免费高清a毛片| 欧美亚洲综合免费精品高清在线观看| 97国产成人无码精品久久久| 中文字幕2区| 97无码免费人妻超级碰碰碰| 国产精品香蕉| 国产一级毛片网站| 国产午夜一级毛片| av午夜福利一片免费看| 亚洲国产高清精品线久久| 久久久久人妻一区精品色奶水| 大陆国产精品视频| 色婷婷天天综合在线| 国产精品毛片一区| 99热这里只有精品免费| 国产精品久久久久久久久久久久| 色综合成人| 国产新AV天堂| 91视频首页| 午夜国产小视频| 伊人天堂网| 大陆精大陆国产国语精品1024| 99一级毛片| 重口调教一区二区视频| 91免费国产高清观看| 免费国产好深啊好涨好硬视频| 久久国产精品夜色| 国产偷倩视频| 国产成年女人特黄特色毛片免| 亚洲妓女综合网995久久| 97人人做人人爽香蕉精品| 午夜精品久久久久久久无码软件| 麻豆精品在线播放| 男人天堂伊人网| 啪啪永久免费av| 亚洲高清中文字幕在线看不卡| 一本大道无码日韩精品影视| 99热国产在线精品99| 天天综合网亚洲网站| 国产亚洲现在一区二区中文| 色有码无码视频| 欧美日本激情| 无码高潮喷水专区久久| 色精品视频| 日韩精品资源| 特级精品毛片免费观看| 热99精品视频| 久久精品视频亚洲| 色婷婷综合在线| 久久精品人人做人人爽电影蜜月 | 亚洲愉拍一区二区精品| 58av国产精品| 欧美日本在线观看| 亚洲乱伦视频| 亚洲91在线精品| 亚洲欧美日韩另类在线一| 国产在线自在拍91精品黑人| 亚洲国产成人在线| 素人激情视频福利| 久久精品亚洲中文字幕乱码| 91美女视频在线观看| 亚洲天堂在线免费| 亚洲综合18p| 日日拍夜夜操| 亚洲成网777777国产精品| 亚洲看片网| 99热最新网址| 国产成本人片免费a∨短片|