4rob介紹一種自頂向下的模塊化軟件開(kāi)發(fā)框架_第1頁(yè)
4rob介紹一種自頂向下的模塊化軟件開(kāi)發(fā)框架_第2頁(yè)
4rob介紹一種自頂向下的模塊化軟件開(kāi)發(fā)框架_第3頁(yè)
4rob介紹一種自頂向下的模塊化軟件開(kāi)發(fā)框架_第4頁(yè)
4rob介紹一種自頂向下的模塊化軟件開(kāi)發(fā)框架_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、The Introduction of RobotSDKA Top-down Modular Software Development Framework一種自頂向下的模塊化軟件開(kāi)發(fā)框架HMW-Alexander何夢(mèng)文Carnegie Mellon University卡內(nèi)基梅隆大學(xué)September 6, 2016. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 2016

2、1 / 36報(bào)告大綱前言:關(guān)于1什么是 RobotSDK問(wèn)題提出問(wèn)題總結(jié),目標(biāo)與要求關(guān)于 RobotSDK自頂向下的模塊化開(kāi)發(fā)理念基本概念基本架構(gòu)使用方法與實(shí)例(請(qǐng)通過(guò)網(wǎng)上2與資料深入了解)RobotSDK 開(kāi)源開(kāi)發(fā)計(jì)劃RobotSDK 的發(fā)展簡(jiǎn)史時(shí)期 名古屋大學(xué)時(shí)期目前現(xiàn)狀RobotSDK 目前的開(kāi)發(fā)計(jì)劃RobotSDK 開(kāi)源開(kāi)發(fā)計(jì)劃3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSept

3、ember 6, 20162 / 36前言:關(guān)于本報(bào)告關(guān)于本報(bào)告報(bào)告內(nèi)容介紹什么是模塊化的軟件開(kāi)發(fā)理念。介紹什么是自頂向下的軟件開(kāi)發(fā)理念。介紹 RobotSDK 是如何實(shí)現(xiàn)自頂向下的模塊化軟件開(kāi)發(fā)框架。介紹 RobotSDK 開(kāi)源開(kāi)發(fā)計(jì)劃。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 20163 / 36前言:關(guān)于關(guān)于報(bào)告內(nèi)容介紹什么是模塊化的軟件開(kāi)發(fā)理念。介紹什么是自

4、頂向下的軟件開(kāi)發(fā)理念。介紹 RobotSDK 是如何實(shí)現(xiàn)自頂向下的模塊化軟件開(kāi)發(fā)框架。介紹 RobotSDK 開(kāi)源開(kāi)發(fā)計(jì)劃。注意事項(xiàng)自頂向下的模塊化軟件開(kāi)發(fā)理念是的關(guān)鍵。而 RobotSDK 本身并不是的重點(diǎn):RobotSDK 只是實(shí)現(xiàn)了自頂向下的模塊化軟件開(kāi)發(fā)理念。但其目前還是的試驗(yàn)品。雖然經(jīng)過(guò)多次技術(shù)升級(jí),但是畢竟個(gè)人能力有限,所以從技術(shù)層面上是無(wú)法與成軟件系統(tǒng)開(kāi)發(fā)平臺(tái) (如 ROS) 相比的。報(bào)告的最終目的是希望推廣自頂向下的模塊化軟件開(kāi)發(fā)理念,并希望大家能夠參與 到 RobotSDK 的開(kāi)源開(kāi)發(fā)計(jì)劃,從而能夠在技術(shù)和用戶群方面可以和 ROS 相當(dāng)。. . . . . . . . . .

5、 . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 20163 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出當(dāng)剛學(xué)會(huì) C/C+ 編程的時(shí)候,我們是如何完成大作業(yè)的呢?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of Rob

6、otSDKSeptember 6, 20164 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出當(dāng)剛學(xué)會(huì) C/C+ 編程的時(shí)候,我們是如何完成大作業(yè)的呢?我們往往會(huì)根據(jù)題目的要求,直接寫(xiě)出一個(gè)渾然一體的程序。結(jié)果往往是給一個(gè)新的大作業(yè),就需要幾乎重寫(xiě)一個(gè)新的程序。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 20164 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提

7、出當(dāng)剛學(xué)會(huì) C/C+ 編程的時(shí)候,我們是如何完成大作業(yè)的呢?我們往往會(huì)根據(jù)題目的要求,直接寫(xiě)出一個(gè)渾然一體的程序。結(jié)果往往是給一個(gè)新的大作業(yè),就需要幾乎重寫(xiě)一個(gè)新的程序。這樣的軟件開(kāi)發(fā)方式是低效率的,而且也不適合開(kāi)發(fā)大的軟件系統(tǒng)。所以我們知道了使用“模塊化”的方式提高軟件編寫(xiě)效率和代碼復(fù)用率。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 20164 / 36什么是 Ro

8、botSDK問(wèn)題提出問(wèn)題提出當(dāng)有了基本的軟件開(kāi)發(fā)知識(shí)和經(jīng)驗(yàn),我們是如何組隊(duì)完成軟件開(kāi)發(fā)的呢?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 20165 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出當(dāng)有了基本的軟件開(kāi)發(fā)知識(shí)和經(jīng)驗(yàn),我們是如何組隊(duì)完成軟件開(kāi)發(fā)的呢?首先我們需要討論軟件的模塊化設(shè)計(jì)問(wèn)題,最直觀的方法就是用“圖模型”:一個(gè)節(jié)點(diǎn)表示一個(gè)模塊,定義輸入輸出和功

9、能一條有向邊表示一個(gè)數(shù)據(jù)通路,定義起止節(jié)點(diǎn)和數(shù)據(jù)傳輸類型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 20165 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出當(dāng)有了基本的軟件開(kāi)發(fā)知識(shí)和經(jīng)驗(yàn),我們是如何組隊(duì)完成軟件開(kāi)發(fā)的呢?首先我們需要討論軟件的模塊化設(shè)計(jì)問(wèn)題,最直觀的方法就是用“圖模型”:一個(gè)節(jié)點(diǎn)表示一個(gè)模塊,定義輸入輸出和功能一條有向邊表示一個(gè)數(shù)據(jù)通路,定義起止節(jié)

10、點(diǎn)和數(shù)據(jù)傳輸類型然后我們需要根據(jù)設(shè)計(jì)的模塊與通信協(xié)議開(kāi)始分工合作開(kāi)發(fā),一般有三種方式: 每人編寫(xiě)對(duì)應(yīng)的函數(shù)體/對(duì)象代碼,最后合在一起編譯成一個(gè)程序(代碼方式) 每人編寫(xiě)一個(gè)程序/動(dòng)態(tài)庫(kù),然后用某種通信方式把所有模塊組織起來(lái)(程序方式) 上述兩種方式的混合方式。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 20165 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出一

11、、代碼方式合作開(kāi)發(fā)軟件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 20166 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出一、代碼方式合作開(kāi)發(fā)軟件優(yōu)點(diǎn):模塊的功能定義非常清晰,一般直接對(duì)應(yīng)算法代碼本身,不需要無(wú)關(guān)輔助功能。 模塊編寫(xiě)可以盡可能細(xì)分直到最小的函數(shù)體或?qū)ο?。?shù)據(jù)傳輸一般通過(guò)參數(shù)的形式在調(diào)用函數(shù)時(shí)傳遞,不受數(shù)據(jù)量大小影響速度。模塊代碼可以編譯到靜

12、態(tài)庫(kù)進(jìn)而整合到最終軟件,之后還可以被反復(fù)使用。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 20166 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出一、代碼方式合作開(kāi)發(fā)軟件優(yōu)點(diǎn):模塊的功能定義非常清晰,一般直接對(duì)應(yīng)算法代碼本身,不需要無(wú)關(guān)輔助功能。 模塊編寫(xiě)可以盡可能細(xì)分直到最小的函數(shù)體或?qū)ο?。?shù)據(jù)傳輸一般通過(guò)參數(shù)的形式在調(diào)用函數(shù)時(shí)傳遞,不受數(shù)據(jù)量大小影響速度。

13、模塊代碼可以編譯到靜態(tài)庫(kù)進(jìn)而整合到最終軟件,之后還可以被反復(fù)使用。缺點(diǎn):模塊的更新一般需要重新編譯整個(gè)軟件,而大型軟件的編譯速度通常是很慢的。 模塊與軟件的測(cè)試一般需要等待所有相關(guān)模塊編寫(xiě)完成并整合在一起。軟件架構(gòu)(圖模型的程序化)與模塊高度整合,往往無(wú)法在其它工程被復(fù)用。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 20166 / 36什么是 RobotSDK問(wèn)題提出

14、問(wèn)題提出二、程序方式合作開(kāi)發(fā)軟件(例如 ROS). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 20167 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出二、程序方式合作開(kāi)發(fā)軟件(例如 ROS)優(yōu)點(diǎn):模塊的更新無(wú)需重新編譯整個(gè)軟件系統(tǒng)。程序化模塊完成后可以自行做測(cè)試,因?yàn)槠浔旧硎强蛇\(yùn)行程序。軟件架構(gòu)與模塊是分離的,所以可以在其它工程被復(fù)用(如 ROS Launc

15、h)。程序化/動(dòng)態(tài)庫(kù)化模塊可以被反復(fù)使用。(如 ROS Package). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 20167 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出二、程序方式合作開(kāi)發(fā)軟件(例如 ROS)優(yōu)點(diǎn):模塊的更新無(wú)需重新編譯整個(gè)軟件系統(tǒng)。程序化模塊完成后可以自行做測(cè)試,因?yàn)槠浔旧硎强蛇\(yùn)行程序。軟件架構(gòu)與模塊是分離的,所以可以在其它工程被復(fù)用(如 R

16、OS Launch)。程序化/動(dòng)態(tài)庫(kù)化模塊可以被反復(fù)使用。(如 ROS Package)缺點(diǎn):程序化模塊還必須添加無(wú)關(guān)的輔助功能使其成為可運(yùn)行程序并能與外界進(jìn)行通訊。模塊編寫(xiě)可以盡可能細(xì)分,但為了開(kāi)發(fā)效率,一般是將相關(guān)功能集整合到一個(gè)模塊中。 基于網(wǎng)路的數(shù)據(jù)實(shí)體傳輸,速度會(huì)受數(shù)據(jù)量大小影響。(ROS 是基于網(wǎng)絡(luò)的指針傳輸). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6,

17、 20167 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出兩種方式的共有缺點(diǎn)軟件架構(gòu)只于特定功能的模塊集合,不能泛化到類似圖模型的實(shí)現(xiàn)。這里涉及到自頂( 化”概念。抽象)向下(底層實(shí)現(xiàn))的軟件開(kāi)發(fā)理念,我們先討論“泛. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 20168 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出兩種方式的共有缺點(diǎn)軟件架構(gòu)只于特定功能

18、的模塊集合,不能泛化到類似圖模型的實(shí)現(xiàn)。這里涉及到自頂( 化”概念。抽象)向下(底層實(shí)現(xiàn))的軟件開(kāi)發(fā)理念,我們先討論“泛概念解釋:軟件架構(gòu)的泛化軟件架構(gòu):即程序化(實(shí)例化)的圖模型,其將各個(gè)功能模塊實(shí)體組織在一起發(fā)揮 軟件的功能。泛化:我們通過(guò)下面一個(gè)簡(jiǎn)單例子來(lái)解釋這個(gè)概念。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 20168 / 36什么是 RobotSDK問(wèn)

19、題提出問(wèn)題提出人可視化軟件系統(tǒng)開(kāi)發(fā)實(shí)例現(xiàn)在有一個(gè)人裝有 Camera、LiDAR、Encoder/IMU 等傳感器。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 20169 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出人可視化軟件系統(tǒng)開(kāi)發(fā)實(shí)例現(xiàn)在有一個(gè)人裝有 Camera、LiDAR、Encoder/IMU 等傳感器。我們一般會(huì)設(shè)計(jì)出如下圖模型:. . . .

20、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 20169 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出人可視化軟件系統(tǒng)開(kāi)發(fā)實(shí)例按照上述圖模型,我們需要編寫(xiě)三個(gè)功能不同的軟件架構(gòu),對(duì)應(yīng)各傳感器。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文

21、 (CMU)The Introduction of RobotSDKSeptember 6, 201610 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出人可視化軟件系統(tǒng)開(kāi)發(fā)實(shí)例按照上述圖模型,我們需要編寫(xiě)三個(gè)功能不同的軟件架構(gòu),對(duì)應(yīng)各傳感器。有經(jīng)驗(yàn)的人會(huì)用面向?qū)ο蟮姆绞礁咝У木帉?xiě)出上述三個(gè)軟件架構(gòu)(代碼層抽象)。 這很棒,因?yàn)槟阋呀?jīng)看出來(lái)了這三個(gè)軟件架構(gòu)具有相似的“抽象圖模型”。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Intro

22、duction of RobotSDKSeptember 6, 201610 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出人可視化軟件系統(tǒng)開(kāi)發(fā)實(shí)例按照上述圖模型,我們需要編寫(xiě)三個(gè)功能不同的軟件架構(gòu),對(duì)應(yīng)各傳感器。有經(jīng)驗(yàn)的人會(huì)用面向?qū)ο蟮姆绞礁咝У木帉?xiě)出上述三個(gè)軟件架構(gòu)(代碼層抽象)。 這很棒,因?yàn)槟阋呀?jīng)看出來(lái)了這三個(gè)軟件架構(gòu)具有相似的“抽象圖模型”。當(dāng)來(lái)了新傳感器,仍需要再編寫(xiě)相似結(jié)構(gòu)的軟件架構(gòu)。(這個(gè)簡(jiǎn)單例子不是大問(wèn)題). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexan

23、der 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 201610 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出機(jī)器人數(shù)據(jù)采集可視化存儲(chǔ)軟件系統(tǒng)開(kāi)發(fā)實(shí)例實(shí)際開(kāi)發(fā)中往往能發(fā)現(xiàn)很多軟件是基于相似但很復(fù)雜的“抽象圖模型”。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 201611 / 36什么是 RobotSDK問(wèn)

24、題提出問(wèn)題提出機(jī)器人數(shù)據(jù)采集可視化存儲(chǔ)軟件系統(tǒng)開(kāi)發(fā)實(shí)例實(shí)際開(kāi)發(fā)中往往能發(fā)現(xiàn)很多軟件是基于相似但很復(fù)雜的“抽象圖模型”。 這時(shí)候,代碼層抽象只能方便我們?cè)O(shè)計(jì)軟件,但無(wú)法減少重復(fù)編程。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 201611 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出機(jī)器人數(shù)據(jù)采集可視化存儲(chǔ)軟件系統(tǒng)開(kāi)發(fā)實(shí)例實(shí)際開(kāi)發(fā)中往往能發(fā)現(xiàn)很多軟件是基于相似但很復(fù)雜的

25、“抽象圖模型”。 這時(shí)候,代碼層抽象只能方便我們?cè)O(shè)計(jì)軟件,但無(wú)法減少重復(fù)編程。能否對(duì)于某個(gè)圖模型實(shí)現(xiàn)軟件架構(gòu)后,該軟件架構(gòu)能夠泛化應(yīng)用到相似圖模型呢?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 201611 / 36什么是 RobotSDK問(wèn)題提出問(wèn)題提出人可視化軟件系統(tǒng)開(kāi)發(fā)實(shí)例實(shí)際開(kāi)發(fā)中往往能發(fā)現(xiàn)很多軟件是基于相似但很復(fù)雜的“抽象圖模型”。 這時(shí)候,代碼層抽象只

26、能方便我們?cè)O(shè)計(jì)軟件,但無(wú)法減少重復(fù)編程。能否對(duì)于某個(gè)圖模型實(shí)現(xiàn)軟件架構(gòu)后,該軟件架構(gòu)能夠泛化應(yīng)用到相似圖模型呢? 是可以,即通過(guò)程序?qū)映橄髮?shí)現(xiàn)抽象圖模型的抽象軟件架構(gòu)。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 201611 / 36什么是 RobotSDK問(wèn)題總結(jié),目標(biāo)與要求問(wèn)題總結(jié),目標(biāo)與要求問(wèn)題總結(jié)模塊化設(shè)計(jì)是目前通用的軟件設(shè)計(jì)方法,一般基于圖模型設(shè)計(jì)。 模塊化

27、開(kāi)發(fā)是高效的分工合作軟件開(kāi)發(fā)方式,兩種開(kāi)發(fā)方式各有 軟件架構(gòu)的泛化能夠減少不必要的對(duì)相似圖模型的編程。的優(yōu)缺點(diǎn)。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 201612 / 36什么是 RobotSDK問(wèn)題總結(jié),目標(biāo)與要求問(wèn)題總結(jié),目標(biāo)與要求問(wèn)題總結(jié)模塊化設(shè)計(jì)是目前通用的軟件設(shè)計(jì)方法,一般基于圖模型設(shè)計(jì)。 模塊化開(kāi)發(fā)是高效的分工合作軟件開(kāi)發(fā)方式,兩種開(kāi)發(fā)方式各有 軟件

28、架構(gòu)的泛化能夠減少不必要的對(duì)相似圖模型的編程。的優(yōu)缺點(diǎn)。目標(biāo)與要求開(kāi)發(fā)一種高效的軟件開(kāi)發(fā)框架:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 201612 / 36什么是 RobotSDK問(wèn)題總結(jié),目標(biāo)與要求問(wèn)題總結(jié),目標(biāo)與要求問(wèn)題總結(jié)模塊化設(shè)計(jì)是目前通用的軟件設(shè)計(jì)方法,一般基于圖模型設(shè)計(jì)。 模塊化開(kāi)發(fā)是高效的分工合作軟件開(kāi)發(fā)方式,兩種開(kāi)發(fā)方式各有 軟件架構(gòu)的泛化能夠減少

29、不必要的對(duì)相似圖模型的編程。的優(yōu)缺點(diǎn)。目標(biāo)與要求開(kāi)發(fā)一種高效的軟件開(kāi)發(fā)框架:提供基于圖模型的模塊化軟件設(shè)計(jì),并支持抽象圖模型。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 201612 / 36什么是 RobotSDK問(wèn)題總結(jié),目標(biāo)與要求問(wèn)題總結(jié),目標(biāo)與要求問(wèn)題總結(jié)模塊化設(shè)計(jì)是目前通用的軟件設(shè)計(jì)方法,一般基于圖模型設(shè)計(jì)。 模塊化開(kāi)發(fā)是高效的分工合作軟件開(kāi)發(fā)方式,兩種開(kāi)發(fā)

30、方式各有 軟件架構(gòu)的泛化能夠減少不必要的對(duì)相似圖模型的編程。的優(yōu)缺點(diǎn)。目標(biāo)與要求開(kāi)發(fā)一種高效的軟件開(kāi)發(fā)框架:提供基于圖模型的模塊化軟件設(shè)計(jì),并支持抽象圖模型。 使其具有兩種模塊化開(kāi)發(fā)方式的優(yōu)點(diǎn):模塊直接對(duì)應(yīng)算法代碼本身,不需要無(wú)關(guān)輔助功能。模塊可以高效的細(xì)分到最小函數(shù)體或?qū)ο蟆DK的更新不需要重新編譯整個(gè)系統(tǒng)。模塊間數(shù)據(jù)傳輸不受數(shù)據(jù)量大小影響速度。模塊可以被不同工程反復(fù)使用。軟件架構(gòu)與模塊分離,可以被其它工程復(fù)用。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文

31、(CMU)The Introduction of RobotSDKSeptember 6, 201612 / 36什么是 RobotSDK問(wèn)題總結(jié),目標(biāo)與要求問(wèn)題總結(jié),目標(biāo)與要求問(wèn)題總結(jié)模塊化設(shè)計(jì)是目前通用的軟件設(shè)計(jì)方法,一般基于圖模型設(shè)計(jì)。 模塊化開(kāi)發(fā)是高效的分工合作軟件開(kāi)發(fā)方式,兩種開(kāi)發(fā)方式各有 軟件架構(gòu)的泛化能夠減少不必要的對(duì)相似圖模型的編程。的優(yōu)缺點(diǎn)。目標(biāo)與要求開(kāi)發(fā)一種高效的軟件開(kāi)發(fā)框架:提供基于圖模型的模塊化軟件設(shè)計(jì),并支持抽象圖模型。 使其具有兩種模塊化開(kāi)發(fā)方式的優(yōu)點(diǎn):模塊直接對(duì)應(yīng)算法代碼本身,不需要無(wú)關(guān)輔助功能。模塊可以高效的細(xì)分到最小函數(shù)體或?qū)ο?。模塊的更新不需要重新編譯整個(gè)系

32、統(tǒng)。模塊間數(shù)據(jù)傳輸不受數(shù)據(jù)量大小影響速度。模塊可以被不同工程反復(fù)使用。軟件架構(gòu)與模塊分離,可以被其它工程復(fù)用。利用基于抽象圖模型的抽象軟件架構(gòu)編程實(shí)現(xiàn)軟件架構(gòu)的泛化。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 201612 / 36什么是 RobotSDK關(guān)于 RobotSDK關(guān)于 RobotSDK自頂向下的模塊化開(kāi)發(fā)理念與簡(jiǎn)單說(shuō)明模塊化:模塊化開(kāi)發(fā)理念無(wú)需贅言。

33、RobotSDK 通過(guò)預(yù)制代碼模板直接封裝算法代碼到動(dòng)態(tài)庫(kù)實(shí)現(xiàn)模塊化開(kāi)發(fā)。動(dòng)態(tài)庫(kù)模塊通過(guò)顯示可以自由嵌入抽象軟件架構(gòu)(RobotSDK 稱為程序)。這種模塊化開(kāi)發(fā)方式滿足了上述的目標(biāo)與要求。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 201613 / 36什么是 RobotSDK關(guān)于 RobotSDK關(guān)于 RobotSDK自頂向下的模塊化開(kāi)發(fā)理念與簡(jiǎn)單說(shuō)明自頂向下:.

34、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 201614 / 36什么是 RobotSDK關(guān)于 RobotSDK關(guān)于 RobotSDK自頂向下的模塊化開(kāi)發(fā)理念與簡(jiǎn)單說(shuō)明自頂向下:首先是一種從高層到底層的軟件開(kāi)發(fā)流程?!靖邔印扛邔訄D模型的設(shè)計(jì)與高層程序的編寫(xiě),只關(guān)注圖模型的實(shí)現(xiàn),不具有具體功能。【底層】底層模塊開(kāi)發(fā),只關(guān)注模塊算法本身的編寫(xiě)和封裝,不用考慮高層設(shè)計(jì)

35、架構(gòu)。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 201614 / 36什么是 RobotSDK關(guān)于 RobotSDK關(guān)于 RobotSDK自頂向下的模塊化開(kāi)發(fā)理念與簡(jiǎn)單說(shuō)明自頂向下:首先是一種從到底層的軟件開(kāi)發(fā)流程?!尽繄D模型的設(shè)計(jì)與程序的編寫(xiě),只關(guān)注圖模型的實(shí)現(xiàn),不具有具體功能。【底層】底層模塊開(kāi)發(fā),只關(guān)注模塊算法本身的編寫(xiě)和封裝,不用考慮設(shè)計(jì)架構(gòu)。其次是

36、一種從抽象到具體的軟件開(kāi)發(fā)流程。【抽象】抽象的圖模型與對(duì)應(yīng)的抽象軟件架構(gòu)實(shí)現(xiàn),只關(guān)注圖模型的結(jié)構(gòu)實(shí)現(xiàn),不具有功能。【具體】泛化的抽象軟件架構(gòu)在嵌入具體的底層功能模塊后,擁有了對(duì)應(yīng)具體圖模型的軟件功能。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 201614 / 36什么是 RobotSDK關(guān)于 RobotSDK關(guān)于 RobotSDK自頂向下的模塊化開(kāi)發(fā)理念實(shí)例 I

37、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 201615 / 36什么是 RobotSDK關(guān)于 RobotSDK關(guān)于 RobotSDK自頂向下的模塊化開(kāi)發(fā)理念實(shí)例 II. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU

38、)The Introduction of RobotSDKSeptember 6, 201616 / 36什么是 RobotSDK關(guān)于 RobotSDK關(guān)于 RobotSDK自頂向下的模塊化開(kāi)發(fā)理念實(shí)例 III. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 201617 / 36什么是 RobotSDK關(guān)于 RobotSDK關(guān)于 RobotSDK自頂向下的模塊化開(kāi)發(fā)理念實(shí)例 IV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .HMW-Alexander 何夢(mèng)文 (CMU)The Introduction of RobotSDKSeptember 6, 201618 / 36什么是 RobotSDK關(guān)于 RobotSDK關(guān)于 RobotSDK基本概念高層圖模型與高層程序. . . . . . . . . .

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論