激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

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

時(shí)間:2024-09-13 17:27:10 理工畢業(yè)論文 我要投稿
  • 相關(guān)推薦

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

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

引言

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

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

*規范的框架結構能夠指導目標系統的設計;

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

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

1 Rhapsody的軟件框架

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

(1)活動(dòng)類(lèi)

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

活動(dòng)類(lèi)(Active Classes)在框架中以OXFActive表示,它擁有一個(gè)執行線(xiàn)程和一個(gè)事件隊列,并提供事件調度功能。用戶(hù)活動(dòng)類(lèi)從OXFActive繼承。

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

(2)響應類(lèi)

響應類(lèi)(Reactive Classes)是能夠對事件做出反應的框架類(lèi),即事件消費者。它在Rhapsody的框架中以OXFReactive表示,用戶(hù)響應類(lèi)從OXFReactive繼承,如圖2所示。

圖2 響應類(lèi)及相關(guān)框架元素

每個(gè)響應類(lèi)都和一個(gè)事件管理器關(guān)聯(lián)(通過(guò)調用setEventManager方法),事件管理器由活動(dòng)類(lèi)充當。一個(gè)事件管理器可以服務(wù)于多個(gè)響應類(lèi)。響應類(lèi)的gen方法向其事件管理器注入一個(gè)新的事件(通過(guò)調用活動(dòng)類(lèi)的queueEvent方法)。事件管理器在收到事件之后會(huì )調用相應的響應對象(由事件的屬性指出)的takeEvent方法。

用戶(hù)響應類(lèi)有主動(dòng)(active)、被動(dòng)(passive)和從屬(subordinate)響應類(lèi)之分:

*主動(dòng)用戶(hù)響應類(lèi)利用了多重繼承技術(shù),它集事件管理器和響應類(lèi)雙得功能于一身;

*被動(dòng)用戶(hù)響應類(lèi)由框架的缺省事件管理器—OXFDefaultEventManager管理,且所有被動(dòng)用戶(hù)響應類(lèi)都共享該缺省事件管理器;

*從屬用戶(hù)響應類(lèi)由用戶(hù)定義的活動(dòng)類(lèi)充當事件管理器。從屬響應類(lèi)以聚合方式存在于用戶(hù)活動(dòng)類(lèi)內,或者獨立于活動(dòng)類(lèi),而通過(guò)調用setEventManager方法與一個(gè)用戶(hù)活動(dòng)關(guān)聯(lián)。

(3)事件和操作

類(lèi)可以定義自己的事件和操作(Events and Operations)方法。事件代表一種突發(fā)的激勵信號,可以影響對象的行為及狀態(tài)。在Rhapsody中,活動(dòng)類(lèi)負責事件調度。事件既可以異步(活動(dòng)類(lèi)將事件投遞給目標對象之后立即返回,目標對象使用自己的線(xiàn)程完成對事件的響應),也可以是同步的(活動(dòng)類(lèi)投遞事件之后必須等待目標對象處理完成才能返回)。操作代表類(lèi)本身提供的服務(wù)和功能。操作調用總是同步的,即操作總是運行在調用者線(xiàn)程之內。Rhapsody的框架定義了兩種事件:

①信號事件。

信號事件(Signal Events)是最常用的事件,它代表對象之間傳遞的一種異步激勵信號。在Rhapsody的框架中,它以OXFEvent表示,所有的用戶(hù)事件類(lèi)都從OXFEvent繼承。

信號事件有自己的參數(以其屬性表示),并且和一個(gè)響應對象關(guān)聯(lián)。事件管理器依據事件的響應對象判斷事件的接收者。

②定時(shí)事件

定時(shí)事件(Timeout Events)在Rhapsody中以OXFTimeOut表示。它在OXF框架中的位置如圖3所示。

事件管理器(活動(dòng)對象)的schedTimeout方法負責定時(shí)事件的構造和調度。其執行過(guò)程如圖4所示。

圖3 定時(shí)事件及相關(guān)框架元素

事件管理器創(chuàng )建一個(gè)OXFTimeout對象并將其交由一個(gè)定時(shí)管理器管理。定時(shí)管理器可以管理多個(gè)定時(shí)事件,它運行于自己的獨立線(xiàn)程內且聚合了一個(gè)定時(shí)器對象。定時(shí)器對象每衛固定的時(shí)間片會(huì )向定時(shí)管理器發(fā)通知信號,這時(shí)定時(shí)管理器檢查它管理的定時(shí)事件集合中是否有定時(shí)事件到時(shí),并將到時(shí)的定時(shí)事件添加到事件管理器(活動(dòng)對象)的事件隊列中(通過(guò)調用queueEvent),之后事件管理器再將這些定時(shí)事件投遞給對應的響應對象。定時(shí)事件本身是被動(dòng)的,它不包含定時(shí)器。

(4)狀態(tài)機

Rhapsody支持UML狀態(tài)機(State Machines),包括層次狀態(tài)分解、帶參事件、定時(shí)事件、偽狀態(tài)、完成轉移、入口和出口動(dòng)作等功能。Rhapsody也包含了UML中定義的異步事件處理模型:帶有狀態(tài)圖的類(lèi)都是響應類(lèi),因此都與一個(gè)事件管理器(活動(dòng)類(lèi))關(guān)聯(lián)。事件管理器使用一個(gè)隊列緩沖收到的事件,然后將事件投遞給響應對象。響應對象按

【使用Rhapsody軟件框架和UML的實(shí)時(shí)系統開(kāi)發(fā)】相關(guān)文章:

運用UML分析設計占先式實(shí)時(shí)內核03-18

基于Rhapsody和VxWorks的自動(dòng)取款機系統03-18

基于PCI圖像卡的圖像實(shí)時(shí)處理系統開(kāi)發(fā)03-07

淺議軟件開(kāi)發(fā)框架技術(shù)12-02

Word軟件的幾個(gè)使用技巧03-13

RTP-----實(shí)時(shí)軟件傳輸協(xié)議 外文翻譯(一)03-07

品牌學(xué)的理論框架和研究思路03-23

用制度和流程搭建企業(yè)框架03-24

實(shí)時(shí)混音的實(shí)現03-18

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频