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

基于Eclipse/Web Services的ADE跨平臺調試的設計與實現

2008-12-31 00:00:00朱宏明
電腦知識與技術 2008年29期

摘要:該文介紹了一個ADE系統中支持多用戶跨平臺調試子系統的設計與實現。該子系統實現了平臺可移植和模塊可移植,支持從Windows 平臺遠程調試Linux 平臺ADA程序。該系統的開發改變了當前航天領域缺少成熟完善的ADA集成開發環境的現狀,具有很好的實用價值。使用的Web Services技術對于解決跨平臺且交互數據量大,數據結構復雜的情況且有明顯優勢,也可以屏蔽掉平臺的差異性,較理想地實現跨平臺代碼調試。

關鍵詞:遠程;多用戶程序調試;跨平臺;web services;Eclipse

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)29-0368-02

Design and Implementation of ADE Debugging Subsystem Based on Eclipse/Web Services

ZHU Ping, ZHU Hong-ming

(SAST-Tongji Spaceflight Embedded Computing Lab,School of Software Engineering,Tongji University,Shanghai 201804,China)

Abstract: This paper introduces the design and implementation of a debugging subsystem of ADE system which supports multi-user and multi-platform. This subsystem has been implemented the portability of platform and module,supporting remote debugging Linux platform’s ADA code on Windows platform. The development of this system remedies the absence of mature and perfect ADA integration development environment in aerospace area. It has highly practical value. The development of this system is based on Web services,which has many advantages on solving different system platform、large interactive data and complicated data structure problems and is independent of platform so as to access different system platform code debugging.

Key words: remote; program debugging for multi-user; cross-platform; Web services; Eclipse

1 引言

Ada語言語法嚴禁,易讀性好,通常是作為長生命周期,關鍵任務系統的程序設計語言。曽一度被美國國防部強制指定為軍用武器系統的唯一開發語言,并且美國航空航天局也廣泛使用Ada作為航天飛機,以及各種空間探測器的編制程序語言[1]。隨著我國航天技術的發展,Ada語言也逐漸成為了開發星載軟件主要語言。但是當前并沒有成熟完善便捷的圖形化Ada集成開發環境。Linux環境下的調試器GDB只支持命令行形式的調試輸入,而數量龐大的調試命令及抽象的調試參數給廣大軟件開發者帶來很大的壓力和負擔。此外,受到當前大量開發人員對Linux的操作不熟練的限制,在很大程度上阻礙了星載軟件的順利開發和我國航天技術的發展。

這樣的背景下,上海航天—同濟大學航天嵌入式計算機技術研究中心與上海航天809所合作設計開發了Ada集成開發環境(即ADE系統)。該系統具有以下特點:1) 采用圖形化界面;2) 用戶界面友好;3) 支持多用戶;4) 支持跨平臺操作;5) 支持調試平臺的選擇。該系統層次化模塊化的設計思想實現了良好的模塊可移植性。ADE系統提供Ada程序碼編寫、代碼編譯、代碼調試等功能。代碼調試是軟件開發過程中十分重要的一個環節,跨平臺的多用戶并行調試也是當前調試技術發展的結果。本文所討論的是ADE系統中Ada代碼跨平臺調試子系統的設計與實現(下文中用子系統簡稱之)。

該子系統使用了Java 語言和c語言,利用Web Services 技術和Eclipse 插件技術來完成開發,使整個系統具有多平臺性和較好的擴展性。

2 工具環境

2.1 web services技術

Web Services[2]主要指為一些功能提供接口,使其可以被Web上的其他應用程序訪問的一種技術。目前,Web Services 技術體系的實現主要依靠以XML,SOAP 和WSDL等開放性技術標準為基礎的一系列標準,具有松散耦合、重用性好、互操作性強等優點。這些技術標準在不同方面支持了Web Services 的架構實現,結合起來構成了整個Web Services 體系結構的協議棧[3],如圖1所示。

正如上文提到調試過程中用戶與系統交互的數據量巨大,數據結構復雜,使我們無法采用socket來完成所有的工作,所以我們采用了Web services技術。Web Services為ADE系統提供了一組功能并通過使用標準的接口使這組功能可重用。這些標準接口使用標準規范的XML 概念描述系統提供的服務,定義了消息格式、數據類型和傳輸協議等內容,但隱藏了實現服務的細節。服務器端抽象出的這些服務的接口,客戶端采用了基于XML 的標準化格式通過Web 進行遠程調用。

2.2 主要開發工具

在該子系統中,客戶端使用Java+Apache-CXF開發調用服務,利用Eclipse SWT/JFace[4]技術開發界面服務,提高適用性,并用Eclipse插件技術將其包裝成Eclipse插件,作為跨平臺軟件開發系統中應用Web services的有機組成部分;每層能夠獨立擴展,較好地克服了傳統模式這方面的缺陷。該子系統利用Web Services 技術中諸如安全性高等特點,從而提高了應用效率,實現了更充分的資源共享。

Web服務器端采用Apache httpd+ gSoap等技術開發Web服務。

3 系統設計方案

該子系統基于Client/Server 結構,Client 端運行在Windows平臺,Server 端運行在Linux平臺。Client端由圖形用戶界面、遠程調用平臺組成;Server 端調試服務程序由Web Service通信平臺、FTP通信平臺、Linux用戶/線程管理平臺、DDD調試平臺和GDB調試平臺構成。下面簡單介紹一下客戶端和服務器端的功能:

1) Client端實現了調試命令的圖形化,并實現了各種調試結果顯示的圖形化。用戶的操作通過遠程調用平臺傳給Server 端,并通過遠程調用平臺接收Server 返回的信息。

遠程調用平臺傳輸用戶命令、參數及返回的被結構化調試結果和控制臺信息。

2) server端實現對多用戶的支持,為每個用戶創建新的進程。解析Soap消息,執行調試命令。同時負責解析調試結果保存至固定的數據結構中,封裝成符合標準的soap消息,并通過遠程調用平臺返回給Client 端。

結合Web Services 技術,還利用層次化的設計思想,ADE系統采用了四層體系結構如圖2 所示。

這種層次化的設計也增加了系統的可移植性,使復雜的用于跨平臺并行調試的同底層的源級調試器分割開來,從而不用考慮調試命令的具體執行,使得并行調試的全局控制模塊能更好更清楚的設計和實現,非常有利于系統整體性能的提高。

3.1 客戶訪問層

本層采用Eclipse 插件技術和一個開源的Service框架Apache-CXF,圖形化界面使用戶可以通過按鈕和菜單對各種調試命令進行操作。用戶的各種操作將觸發相應的方法,此類方法通過發送用于遠程調用soap消息以將調試指令和相應的參數上傳至服務器端,并接收服務器端返回的soap消息格式的調試結果,并根據這些結果將程序的實際運行情況通過圖形顯示給用戶,客戶端的實現向用戶屏蔽了服務器端底層的所有實現細節,其內部通信對用戶完全透明。該層具有全部調試按鈕。

它提供了調試平臺選擇、設置斷點、變量和表達式watch查看、查看寄存器、查看ADA任務信息等調試功能的菜單形式和按鈕形式。同時提供了的高效的遠程文件傳輸功能。

3.2 控制解析層

本層為Web Services層,采用Apache作為Web 服務器,gSoap作為SOAP 服務器端的實現工具,形成Linux服務器遠程管理與使用的一個標準服務接口。

為了實現對多個客戶端連接的支持,首先需要啟動服務守護進程。只要系統沒有關機或者崩潰,守護進程將在系統中不間斷地運行,等待客戶的連接。該層采用Apache的httpd負責監聽用戶的連接請求并為其創建獨立的服務進程,該服務進程解析接收到的封裝了各種調試命令和參數的http消息,并將解析后的soap消息傳遞給gSoap。此外還負責將從gSoap傳遞過來的soap消息封裝成http消息返還給客戶端。gSoap負責解析soap消息,取得客戶端調用的方法和參數的信息,然后將其發送給下一層。此外接收下一層傳遞過來的調試結果將其自動轉化成復合規范的soap消息。

Web Services 完成的基本功能是抽取調試中各個功能的接口,屏蔽后方實現細節。

3.3 接口抽象層

該層起到一個承上啟下的作用,向上為Web Services提供底層接口,向下為實現層提供各個調試命令和參數,其具體職責如下:

1) 接收gSoap傳遞過來的包含客戶端調用方法和參數的消息并執行消息解釋功能;

2) 解析調用方法,調用實現層相應的函數;

3) 接收調試解決信息,并遞交給gSoap。

3.4 實現層

該層是ADE系統中的服務提供者,為接口抽象層提供了各種底層實現接口。具體的服務由Linux下的調試器GDB和將GDB圖性化DDD[5]提供。GDB是GNU開源組織發布的功能強大、性能優越的多平臺調試器,它承擔的任務是從標準輸入得到輸入,執行命令,然后將結果輸出到標準輸出,DDD主要負責如下:

1) 從與上一層共享的文件中讀取包含調試命令和參數的字符串;

2) 解析字符串以調用相應的函數,函數中將調試命令和參數注入到調試器GDB中;

3) 解析從調試器的文本形式的執行結果,如察看變量值,寄存器等調試命令的返回結果;

4) 將解析結果按照固定的格式存入到相應的結構體中然后返還給上一次。

4 結束語

本文介紹了一個ADE系統中支持多用戶跨平臺調試子系統的設計與實現,其跨平臺遠程調試技術有效地降低了用戶開發星載軟件的的難度,也為其他跨平臺軟件的提供了一定的技術支持和指導;其基于GDB和DDD的四層體系結構的設計和層次化的設計思想,使該調試器具備良好的可移植性和系統適應性。各層次獨立性強,每層能夠獨立擴展,較好克服了傳統模式這方面的缺陷。該系統利用Web Services 技術中諸如安全性高等特點,從而提高了應用效率,實現了更充分的資源共享。

參考文獻:

[1] 王天邑.http://adaicq.gro.clinux.org/[EB/OL].

[2] Rashim Mogha,Preetham V V.Java Web服務編程[M].劉凌,譯.北京:清華大學出版社,2003.

[3] Hugo Haas,Allen Brown.Web Services Glossary[M].W3C Warking Group Note,2004.

[4] 那靜.Eclipse SWT/JFace核心應用[M].北京:清華大學出版社,2007.

[5] Jose Maria Gomez Vergara.User’s Guide and Reference Manual First Edition,for DDD[EB/OL].GNU,2004.

主站蜘蛛池模板: 亚洲床戏一区| 在线看片免费人成视久网下载| 99九九成人免费视频精品| 91成人在线观看视频| 园内精品自拍视频在线播放| 亚洲国产欧美国产综合久久| 美女免费黄网站| 亚洲区欧美区| 本亚洲精品网站| 亚洲AV一二三区无码AV蜜桃| 99热这里只有精品免费国产| 天天色综网| 精品视频91| 欧美啪啪视频免码| 中文字幕永久在线看| 91色爱欧美精品www| 日本妇乱子伦视频| 亚洲男人天堂网址| 欧美日韩成人| 国产一区二区福利| 久久综合伊人77777| 成人午夜天| 久久伊人操| 日本亚洲国产一区二区三区| 欧美精品三级在线| 日韩天堂视频| 国产精品3p视频| 最新国产成人剧情在线播放| 四虎精品国产AV二区| 亚洲无线国产观看| 国产在线八区| 91精品啪在线观看国产60岁 | 久久精品这里只有精99品| 国产精品一老牛影视频| 亚洲A∨无码精品午夜在线观看| 国产精品第一区| 91在线播放免费不卡无毒| 国产成人调教在线视频| 亚洲AV永久无码精品古装片| 国产成人毛片| 一本无码在线观看| 亚洲成人77777| 久久国产黑丝袜视频| 国产精品久久久久久久久久98| 久久国产毛片| 天堂在线视频精品| 成人亚洲国产| 国产喷水视频| 欧美精品伊人久久| 欧美全免费aaaaaa特黄在线| www.亚洲一区| 国产精品欧美激情| 婷婷99视频精品全部在线观看| 精品自窥自偷在线看| 啪啪永久免费av| 一级全免费视频播放| 国内精品视频| 朝桐光一区二区| 丁香六月激情综合| 亚洲第一区精品日韩在线播放| 亚洲AV一二三区无码AV蜜桃| 在线观看91精品国产剧情免费| 欧美成人a∨视频免费观看| 国产乱人免费视频| 久久久久久午夜精品| 国产一区二区三区夜色| 国产亚洲高清视频| 久久性妇女精品免费| 黄色网页在线播放| 潮喷在线无码白浆| 狠狠躁天天躁夜夜躁婷婷| 亚洲国产在一区二区三区| 亚洲性一区| 日本成人在线不卡视频| 精品视频福利| 九色在线观看视频| 久久国产精品夜色| 亚洲无码高清视频在线观看| 国产丝袜第一页| 无码'专区第一页| 欧美三级自拍| 国产成人91精品|