欧美另类日韩中文色综合,天堂va亚洲va欧美va国产,www.av在线播放,大香视频伊人精品75,奇米777888,欧美日本道免费二区三区,中文字幕亚洲综久久2021

推薦文檔列表

使用Rhapsody軟件框架和UML的實(shí)時(shí)系統(tǒng)開(kāi)發(fā)

時(shí)間:2021-10-01 09:48:32 計(jì)算機(jī)論文 我要投稿

使用Rhapsody軟件框架和UML的實(shí)時(shí)系統(tǒng)開(kāi)發(fā)

摘要:UML已成為復(fù)雜系統(tǒng)建模的工業(yè)標(biāo)準(zhǔn),并可借助代碼自動(dòng)生成工具實(shí)現(xiàn)從分析到編碼的開(kāi)發(fā)過(guò)程自動(dòng)化。而實(shí)時(shí)系統(tǒng)的行為特征可以很好地用UML的狀態(tài)機(jī)表示,從而成為自動(dòng)代碼生成、測(cè)試、分析和校驗(yàn)的最佳選擇。Ilogix公司的Rhapsody是一個(gè)基于UML支持模型驅(qū)動(dòng)開(kāi)發(fā)的CASE工具,它使用一套為實(shí)時(shí)系統(tǒng)量身打造的軟件框架實(shí)現(xiàn)實(shí)時(shí)系統(tǒng)軟件的開(kāi)發(fā)自動(dòng)化。

    關(guān)鍵詞:實(shí)時(shí)系統(tǒng) UML Rhapsody 狀態(tài)機(jī)

引言

面向?qū)ο蟮能浖O(shè)計(jì)方法推崇抽象、可重用且易維護(hù)的設(shè)計(jì)模式。其中,一個(gè)普遍采用的做法是使用預(yù)定義的框架構(gòu)建復(fù)雜的軟件系統(tǒng)。在面向?qū)ο箢I(lǐng)域中,框架是指為某一具體應(yīng)用領(lǐng)域提供解決方案的類集。程序員使用繼承、聚合等技術(shù)定制框架并將其用于具體的應(yīng)用程序設(shè)計(jì)。基于框架的軟件開(kāi)發(fā)具有如下優(yōu)點(diǎn):

*由于重用了框架提供的代碼,目標(biāo)系統(tǒng)不必從頭寫(xiě)起;

*規(guī)范的框架結(jié)構(gòu)能夠指導(dǎo)目標(biāo)系統(tǒng)的設(shè)計(jì);

*框架的設(shè)計(jì)是開(kāi)放的,因此可以通過(guò)子類化等技術(shù)定制和擴(kuò)展。

本文介紹Rhapsody的實(shí)時(shí)代碼生成策略。Ilogix公司提供的Rhapsody是一個(gè)基于UML支持實(shí)時(shí)嵌入式系統(tǒng)全過(guò)程面向?qū)ο箝_(kāi)發(fā)的CASE工具。Rhapsody基于一個(gè)內(nèi)置的實(shí)時(shí)系統(tǒng)軟件框架—OXF生成C/C++代碼。

1 Rhapsody的軟件框架

Rhapsody的OXF框架專為實(shí)時(shí)嵌入式系統(tǒng)而設(shè)計(jì),它由一系列UML類組成。這些類相互協(xié)作,組成了一個(gè)結(jié)構(gòu)嚴(yán)整、跨實(shí)時(shí)操作系統(tǒng)平臺(tái)的實(shí)時(shí)嵌入式軟件架構(gòu)。

(1)活動(dòng)類

活動(dòng)對(duì)象(Active Object)在UML中被定義為“擁有一個(gè)線程并能夠發(fā)起控制活動(dòng)的對(duì)象”。Rhapsody給這個(gè)一般定義賦予了具體含義,如圖1所示。

活動(dòng)類(Active Classes)在框架中以O(shè)XFActive表示,它擁有一個(gè)執(zhí)行線程和一個(gè)事件隊(duì)列,并提供事件調(diào)度功能。用戶活動(dòng)類從OXFActive繼承。

該活動(dòng)類包裝了實(shí)時(shí)系統(tǒng)中的事件調(diào)度器。Execute方法是一個(gè)無(wú)限循環(huán)。在循環(huán)中,事件被不斷地從隊(duì)列中提取出來(lái),發(fā)往對(duì)應(yīng)的目標(biāo)對(duì)象。QueueEvent和schedTimeout方法向隊(duì)列注入新的事件。

(2)響應(yīng)類

響應(yīng)類(Reactive Classes)是能夠?qū)κ录龀龇磻?yīng)的框架類,即事件消費(fèi)者。它在Rhapsody的框架中以O(shè)XFReactive表示,用戶響應(yīng)類從OXFReactive繼承,如圖2所示。

圖2 響應(yīng)類及相關(guān)框架元素

    每個(gè)響應(yīng)類都和一個(gè)事件管理器關(guān)聯(lián)(通過(guò)調(diào)用setEventManager方法),事件管理器由活動(dòng)類充當(dāng)。一個(gè)事件管理器可以服務(wù)于多個(gè)響應(yīng)類。響應(yīng)類的gen方法向其事件管理器注入一個(gè)新的事件(通過(guò)調(diào)用活動(dòng)類的queueEvent方法)。事件

[1] [2] [3] [4]