CIMS論文的天地

 

 

面向對象的液壓系統分析研究

注意:本論文已在《機械科學與技術》(2000.19(1):146~149)雜志發表,
使用者請注明論文出處

董建華   劉曉冰
(大連理工大學CIMS中心,116023)

摘要:本文介紹了面向對象的分析方法,并給出了一種面向對象的分析模型的表達方法。以液壓系統設計為工程應用背景,探討了面向對象的分析方法在工程系統分析中的應用。按照類對象層、結構層、主題層、屬性層和服務層五個層次分析了液壓系統的類層次構成及其連接與通信。
關鍵詞對象,面向對象的分析,液壓系統。

一、面向對象的分析簡介

 

在大型軟件開發項目中,無論是實時控制系統、數據庫系統、人工智能系統,還是具體到自動代碼生成,或擴展到一個工廠的計算機集成制造系統,都存在著一個共同的需求,就是在系統分析階段建立系統的信息模型。在眾多的系統分析方法中,面向對象的分析(OOA)方法更接近于人類的思維方式,正在被越來越多的系統分析人員使用。

持面向對象觀點的人認為,計算機程序的結構應該與所需解決的問題一致,而不是與某種分析方法保持一致。經驗表明,對任何軟件系統而言,其中最穩定的成份是相應問題論域(PROBLEM DOMAIN)的成份。而系統出問題通常也是由于問題論域的某些成份。因此,對問題論域進行充分分析及準確理解是保證系統穩定的重要基礎。

那么對象到底是什么呢?通俗地講,對象指的是客觀世界中的實體, 它能“知道一些事情”(即存儲數據),“做一些工作”(即封裝服務),并“與其它對象協同“(通過交換消息),從而完成(模塊化)系統的所有功能。為什么對對象感興趣呢?答案是簡單的棗即可復用性。盡管從計算機產生之初,我們就已經在復用代碼,但面向對象技術允許復用的不僅僅是代碼,還有其它許多的東西。通過面向對象技術,我們可以復用需求、分析、設計、測試計劃、用戶界面以及體系結構等。

面向對象分析方法是建立在對象及其屬性、類屬及其成員、整體及其部分這些基本概念的基礎上。大英百科全書指出:

“人類在認識和理解現實世界的過程中普遍運用著三個構造法則:

  1. 區分對象及其屬性。例如,區分一棵樹和樹的大小或空間位置關系。
  2. 區分整體對象及其組成部分。例如,區分一棵樹和樹枝。
  3. 不同對象類的形成及區分。例如,所有樹的類和所有石頭的類的形成和區分。”

 

OOA就是建立在以上三個常用法則的基礎上。OOA模型描述了表示某個特定論域中的對象,以及各種各樣的結構關系和通信關系。OOA模型有兩個用途。首先,每個軟件都建立在特定的現實世界中,OOA模型就是用來形式化該現實世界的“視圖”。它建立起各種對象,分別表示軟件系統主要的組織結構以及現實世界強加給軟件系統的各種規則和約束條件。其次,給定一組對象,OOA模型規定了它們如何協同才能完成軟件系統所指定的工作。這種協同在模型中是以表明對象之間通信方式的一組消息連接來表示的。

本文采用Ed Yourdon建議的分析方法,OOA模型被劃分為五個層次。這種層次結構允許從不同的角度來看待OOA模型,而且,這種結構也便于有效地處理比較大的OOA模型。OOA模型的五個層次分別如下:

  • 對象-類層
  • 屬性層
  • 服務層
  • 結構層
  • 主題層

其表示法如圖1所示。

1 OOA模型的結構

第一層,對象-類層表示待開發系統的基本構造塊。對象都是現實世界中應用論域概念的抽象。這一層是整個模型的基礎。圖符的外層邊界表示實例邊界,實際上它表明對象是非空的。而圖符的內層邊界則表示類邊界。有時可以定義一些不當作程序塊來實現的對象,即只有類邊界而沒有實例邊界。在某些情形下,定義這種對象是很有用的。我們將它們稱為模板類或抽象類。模板類可以為結成較高級的聚合體提供一條方便的途徑。

第二層,屬性層,對象的屬性和實例連接共同組成了OOA模型的屬性層。我們把對象所存儲的數據稱為對象的屬性。類的實例之間互相約束,它們必須遵從應用論域的某些限制條件或事務規則。例如,當定金取消后,相應的訂戶也應該被取消,這可能是一項事務規則。我們稱這些約束為實例連接。

第三層,服務層,對象的服務和消息通信組成了OOA模型的服務層。我們把對象所做的工作稱為服務或方法。系統的不同對象都分別執行一定的工作或功能,它們之間通過消息通信,即所謂的協同,如圖中的箭頭所示。對象的服務及對象實例之間的消息通信共同組成了OOA模型的服務層。

第四層,結構層,該層負責捕捉特定應用論域中的結構關系。泛化---特化結構獲得類及成員組織,有助于刻畫問題空間的類-成員層次,它通過搜集公共特性并把這種特性擴充到特例中來顯示現實世界事件的通用性及專用性。整體部分結構表達了人類的一種基本組織方式,即自然的整體和部分的結構關系,從而把一些部分的聚合構造成整體。例如,一輛汽車由發動機、傳動裝置和剎車裝置組成。

第五層,主題層,相當于全局系統的子系統或子模型。由于OOA模型的結構龐大而復雜,因此眾多的對象有時很難處理。于是,可以把對象歸到各個主題層中,可以把有關的對象用一個邊框框起來加以實現。例如,在一個控制系統中,眾多的對象可分為“管理”和“控制”兩個主題,則可以用圖2表示。

wpe2.jpg (8432 字節)
2 主題層示例

以上簡單介紹了面向對象的分析及在本文中的表示方法,下面將研究面向對象的分析在液壓系統設計中的應用。

二、液壓系統面向對象的分析

    二、液壓系統面向對象的分析

      1. 問題描述
      2. 液壓系統分為液壓傳動系統和液壓控制系統兩種類型,本文的研究對象是液壓傳動系統。液壓系統是能實現系統功能的液壓回路的總和。液壓回路又是能實現某種規定功能的液壓元件的組合。液壓元件是組成液壓系統的基本單元。主要的液壓元件有液壓泵、執行元件(液壓缸、液壓馬達)、液壓控制閥(壓力控制閥、流量控制閥、方向控制閥等)、液壓輔件(密封圈、濾油器、蓄能器、油箱及其附件、管件、熱交換器等)。液壓控制閥按照其安裝形式的不同又可分為普通閥、疊加閥、插裝閥。液壓回路是液壓元件組成的功能單元。液壓回路主要有壓力控制回路、流量(速度)控制回路、方向控制回路、安全回路、定位回路、同步回路、順序動作回路等。以上分類只是粗略分類,限于篇幅,詳細分類此處不一一列出。液壓系統設計就是根據機械師提出的主機的動作循環要求、靜、動態性能及液壓系統工作環境等方面的要求,進行系統的工況分析,確定主要參數(包括系統壓力、系統流量、液壓執行元件類型及主要參數等),選擇合理的液壓回路和液壓元件,設計工作的最終形式是液壓系統原理圖和各種技術文件。

      3. 標識類和對象
      4. 類和對象是對應用論域中的概念的標識,是系統分析的基礎。這一過程要考慮許多情況,以形成軟件復用的基礎。類和對象的標識是從對問題描述的分析開始的。在液壓系統中抽取出如下對象(本文的類即對象都是以大寫字母表示):

        液壓系統(HYDRAULIC SYSTEM)、執行元件(ACTUATOR)、液壓缸(CYLINDER)、液壓馬達(MOTOR)、液壓回路(CIRCUIT)、壓力控制回路(PRESSURE CONTROL)、流量(速度)控制回路(SPEED CONTROL)、方向控制回路(DIRECTIONAL VALVE CONTROL)、安全回路(SECURITY CONTROL)、定位回路(POSITION CONTROL)、同步回路(SYNCHRONISE CIRCUIT)、順序動作回路(SEQUEUNT CIRCUIT)、液壓泵(PUMP)、閥(VALVE)、壓力控制閥(PRESSURE VALVE)、流量控制閥(FLOW VALVE)、

        方向控制閥(DIRECTIONAL VALVE)、液壓輔件(ACCESSORY……普通閥(COMMON VALVE)、插裝閥(CARTRIDGE VALVE)、疊加閥(SUPERIMPOSED VALVE……

        因為液壓系統是一個很復雜的系統,在此不可能將所有的對象都列出,本文只列出了部分對象,為下文繼續分析提供依據。

      5. 標識結構
      6. 結構層反映了對象之間的組裝及繼承關系。整體-部分結構標識了組裝結構,泛化-特化關系反映了繼承關系。如果父對象,或泛化對象的屬性或特征可為其所有的子對象,或特化對象共享,就建立起了泛化-特化關系。父對象和子對象的這種屬性共享就稱之為繼承性。父對象是由若干子對象以某種方式組裝而成的,就構成了整體-部分關系。這種關系一般建立在物理組裝的基礎上。雖然整體-部分關系不象泛化-特化關系那樣具有繼承性,但它們也同樣有重復度和參與度特征。重復度是指組成一個父對象的子對象的數量。(例如,一個液壓系統中有若干個調速回路。)參與度是指父對象或子對象是否都必須在整體-部分關系中出現。(例如,一個液壓系統有若干個調速回路,而一個調速回路并不一定是一個液壓系統的一部分。)

        在液壓系統中,由于液壓回路組成了液壓系統,液壓元件組成了液壓回路,所以整體-部分結構較容易標識。以液壓回路組成液壓系統為例,可得到圖3所示的組裝結構。

        wpe3.jpg (20825 字節)
        3 液壓系統的組裝結構示例

        圖中數字表示了整體與部分之間的數量關系。1,m表示一個液壓系統可由一個或多個泵源回路組成;0,m表示一個液壓系統可以包含零個或多個相應回路;0,1表示該回路可以不作為該液壓系統的組成回路,也可以作為該液壓系統的組成回路。

        泛化-特化關系在液壓系統中也是廣泛存在的。以閥的泛化-特化關系為例,可得到如圖4所示繼承關系。

        wpe4.jpg (8797 字節)
        4 泛化---特化結構示例

        4.標識主題

        過去的結構化模型的特征之一就是層次分解。而大多數OOA模型的結構都相對平坦,除非應用論域使用泛化-特化結構或整體-部分結構。事實上,可以通過建立多個主題來處理規模比較大的復雜模型。每個主題可以看作一個子系統。主題的概念是從觀察者的角度來看的。分析員可以依據子論域、子系統,甚至組織或地域等來區分主題,只要運用得當,所有這些規則都有助于主題劃分。

        本文討論的液壓系統根據子系統原則劃分為三個主題層。組成液壓系統的液壓回路對象及其對象之間的聯系構成了回路層;組成液壓回路的液壓元件對象及其之間的聯系構成了元件層。各主題層內對象之間與主題層間的對象之間都存在著實例連接和消息通信。兩個主題層共同構成了一個復雜的液壓系統。液壓系統主題層如圖5所示。

        wpe5.jpg (11855 字節)
        5 主題層示例

        5.標識屬性及實例連接

        OOA模型的屬性層包括對象屬性和對象之間的關系(實例連接)。對象屬性即對象內部封裝的數據。實例連接可以看作是一種事務規則或應用論域約束,這些連接表明一個類中的對象如何與另一個類中的對象相關聯的。

        標識屬性的目的就是為前面已經確立的各個對象建立一系列屬性。本文的屬性均以小寫字母來表示。標識屬性的基本做法是:標識屬性、修改OOA模型的其它層以適應這些屬性,如果有必要的話修改對象,然后重復這個過程。之所以有時會有修改對象的可能,是因為在表示對象時發現有的屬性對于某些對象不適合。例如,在為液壓缸(CYLINDER)標識屬性輸出力(output_force)時,發現該屬性不適合于擺動式液壓缸,因此發現CYLINDER這個對象需要細化為直線型液壓缸(LINEAR CYLINDER)和擺動式液壓缸(ROTARY CYLINDER)。其相應屬性分別為output_force和output_torque。

        本文討論的液壓系統的屬性標識的一部分如表1所示。

        HYDRAULIC SYSTEM

        system_name

        pressure_level

        designer

        pressure

        max_flow_quantity

        ACTUATOR

        actuator_id

        flow_quantity

        pressure

        CYLINDER

        piston_diameter

        maximum_operating_pressure

        mounting_method

        symbol_drawing_name

        LINEAR_CYLINDER

        Piston_rod_diameter

        stroke_length

        output_force

        speed

        ROTARY_CYLINDER

        stroke_angel

        output_torque

        angular_speed

        MOTOR

        output_torque

        CIRCUIT

        circuit_id

        circuit_name

        component_number

        component_name

        PRESSURE_CONTROL

        pressure

        flow_quantity

        control_type

        ……

        ……

        VALVE

        valve_id

        valve_name

        PRESSURE_VALVE

        pressure

        flow_quantity

        operation_type

        ……

        ……

        HYDRAULIC_GRAPHICS_LIB

        lib_id

        lib_name

        component_number

        lib_state

        lib_details

        ……

        ……

        表1 液壓系統屬性標識示例

        系統的實例連接示例如圖6所示(為簡單起見,圖中略去了屬性標識)。

        wpe6.jpg (14479 字節)
        6 實例連接示例

          6.標識服務及消息通信

          前面討論的均是應用論域的某個靜態方面。對象之間的動態關系可以表示為對象所執行的服務以及對象之間傳遞的消息。建立動態關系是為了說明所標識的各種對象是如何共同協作,使系統運作起來的。通常的步驟是,首先標識在每個對象中必須封裝的一組服務;然后將服務與對象的屬性相比較,驗證其一致性。如果已經標識了某個對象的屬性,那么每個屬性就必須關聯到某個服務,否則這個屬性對于這個對象來說就形同虛設,永遠不可能被訪問。然后畫出對象之間的消息通信路徑,協調系統的行為。

      以“液壓系統”這個最上層的類-對象為例,它有五個屬性(system_name,pressure_level,designer,pressure,max_flow_quantity)。“液壓系統”具有的行為:Set_Name , Get_Name , Set_System_Level , Get_System_Level , Set_Pressure_Level , Get_Pressure_Level , Set_Designer , Get_Designer , Set_Pressure , Get_Pressure , Set_Max_Flow_Quantity , Get_Max_Flow_Quantity。“液壓系統”與其它許多類--對象之間都有消息通信。以“液壓系統”與“執行元件”之間的消息通信為例。“液壓系統”在計算系統壓力(pressure)和系統最大流量(max_flow_quantity)時,需要各個執行元件的壓力和流量參數,因此“液壓系統”在計算系統壓力和流量時,向“執行元件”發送消息,請求提供相關參數。兩個對象及其消息通信如圖7所示。

      wpe7.jpg (18425 字節)
      7 服務及消息通信示例

      圖中“執行元件”只有類邊界而沒有實例邊界,因為在現實世界中它需要以“液壓缸”和“液壓馬達”的形式出現。

      三、結論

       

      本文以面向對象的分析方法進行了液壓系統信息模型的分析研究,采用了Ed Yourdon的OOA分析和建模方法,討論了液壓系統的OOA模型的建立的過程。在此作者并未給出液壓系統的詳細OOA模型,原因有兩個:液壓系統是一個復雜的系統,在短短的幾頁內很難完善表達系統的整體模型;作者寫作本文的主旨是希望和進行系統分析和設計的研究人員探討面向對象的方法在工程設計中的應用,因此文中未涉及較深入的液壓領域專業知識。

      面向對象的分析模型是軟件系統開發的基礎,最終要過渡到面向對象的設計模型和面向對象的程序設計。然而,面向對象的分析過程卻是最重要的,因為在這里主要涉及應用論域的問題,分析過程是對應用論域認識逐步深入的過程。只有對應用論域有了充分的認識才能建立起完善的設計模型,開發出符合應用論域要求的軟件系統。因此,工程系統分析人員應該掌握面向對象的分析方法。

       

      參考文獻

      1. Edward Yourdon & Carl Argila,殷人昆等譯,實用面向對象軟件工程教程,PRENTICE HALL出版公司,1998,6
      2. Peter CoadEdward Yourdon,邵維忠等譯,面向對象的分析,北京大學出版社,1992,2
      3. 雷天覺主編,液壓工程手冊,機械工業出版社,1990,4

       

      Research on Hydraulic System Design with Object-Oriented Analysis Method

      Dong Jianhua, Liu Xiaobing

      (CIMS Center of Dalian University of Technology, 116023)

      Abstract:Object-Oriented Analysis (OOA) is introduced and a representation method of OOA is provided in this paperHydraulic system is selected as engineering application background.How to apply OOA method to engineering applications is discussed.According to Class-Object levelStructure levelSubject levelAttribute levelService level these five levelswe analysis the class hierarchy of hydraulic system their interrelation and their communication.
      Keywords:Object,Object-Oriented Analysis (OOA),hydraulic system

       

       


      作者點評:

       

 

歡迎您參加討論,發表您對此論文及其研究領域的看法!
(請在發言時在標題中使用所點評的論文的題目或研究方向,這樣方便大家瀏覽!)

返回首頁 | CIMS論文 | 并行工程 | 虛擬制造 | 敏捷制造 | 其他論文 | 項目開發 | 學術資源 | 站內全文搜索 | 免費論文網站大全 |

line.gif (4535 字節)

為了更好的為大家服務,歡迎您參加本站的投票調查

>>>>參加更多投票調查請點擊!

本站永久域名:http://www.sqvswk.live歡迎訪問

注意:本站內容未經書面允許不得轉載

All rights reserved, all contents copyright 2000-2019
本站自2000年3月總網頁訪問量為
pk10开奖记录直播