李 靖,張新衛(wèi),王克勤,同淑榮
(西北工業(yè)大學(xué) 管理學(xué)院,西安 710072)
配置設(shè)計根據(jù)已知的預(yù)定義組件集合和配置規(guī)則找出滿足所有要求的配置結(jié)果,實現(xiàn)產(chǎn)品定制[1]。進(jìn)行產(chǎn)品配置設(shè)計是解決用戶多樣化需求與產(chǎn)品開發(fā)時間成本之間矛盾的有效方法[2]。其中,構(gòu)建產(chǎn)品組件模型是實現(xiàn)配置設(shè)計的前提。組件化最早應(yīng)用于軟件工程領(lǐng)域,主要研究如何以即插即用的方式利用組件配置出具有所需功能的軟件系統(tǒng)。組件化旨在降低軟件產(chǎn)品的復(fù)雜性,縮短軟件產(chǎn)品進(jìn)入市場的時間[3]。例如Mikael等人提出了一種SaveComp組件模型,基于該模型實現(xiàn)車輛控制系統(tǒng)的快速開發(fā)[3];Thareendhra等人對軟件中的組件類型以及接口兼容性問題進(jìn)行了研究[4]。隨著研究的不斷發(fā)展,組件的概念也得到了延伸,越來越多的應(yīng)用于系統(tǒng)工程領(lǐng)域,機(jī)械產(chǎn)品零部件、電子元器件等都可以通過組件的形式實現(xiàn)快速配置。例如白晶等人針對制造業(yè)的工裝夾具,提出了一種基于元素分解-聚類的組件化過程[5];除此之外,還有基于解釋結(jié)構(gòu)模型的方法[6]、基于設(shè)計結(jié)構(gòu)矩陣的方法[7]、自組織圖(Selforganizing maps)方法[8],基于三角算法圖的方法[9]等。已有研究多側(cè)重從單方面的控制系統(tǒng)或物理結(jié)構(gòu)等方面進(jìn)行組件化,但對于復(fù)雜產(chǎn)品而言,進(jìn)行配置設(shè)計所需要的組件涉及機(jī)械、電子、軟件等領(lǐng)域[10],組件的構(gòu)建過程涉及多領(lǐng)域零部件的集成、不同組件之間的通訊與交互、組件的可擴(kuò)展性等問題,是配置設(shè)計中需要解決的關(guān)鍵問題之一。
針對這一問題,論文借鑒軟件工程中面向?qū)ο蟮乃枷耄瑢?fù)雜產(chǎn)品的組件模型構(gòu)建方法進(jìn)行研究。第1節(jié)對基于面向?qū)ο笏枷氲慕M件構(gòu)建過程進(jìn)行了研究,包括組件封裝、組件實例化及擴(kuò)展機(jī)制等,第2節(jié)以工業(yè)機(jī)器人為例,對所提的組件構(gòu)建方法進(jìn)行了驗證。論文研究對復(fù)雜產(chǎn)品重用以往知識,實現(xiàn)快速配置設(shè)計,具有重要意義。
借鑒軟件工程中面向?qū)ο蟮乃枷耄瑢?fù)雜產(chǎn)品的零部件視為對象,封裝零部件的功能、行為、屬性,構(gòu)成組件,通過組件的調(diào)用可實現(xiàn)產(chǎn)品設(shè)計知識及零部件的重用。按照面向?qū)ο蟮谋硎痉椒ǎ瑥膶傩院筒僮鲀蓚€方面對組件進(jìn)行描述。同時組件封裝了零部件的內(nèi)部結(jié)構(gòu),與外界的交互只通過接口進(jìn)行,因此,接口也是組件非常重要的一個參數(shù),需要單獨(dú)描述。因此,將組件C用下式表示:

Atr為組件的屬性,Atr={a1,a2,…an},ai表示組件的功率、尺寸、慣量、重量等技術(shù)特征,Atr中每個參數(shù)的值域用Atrv=表示,Vatr={Va1,Va2,…,Van}表示參數(shù)的具體值,下同;
Int為組件的接口,Int={i1,i2,...,im},im描述與其他組件連接交互的信息如物理接口的類型、物理接口的屬性以及接口所能通過的實體流。物理接口的類型可分為機(jī)械接觸類,例如用運(yùn)動副連接的物理接口,數(shù)據(jù)傳輸類如用數(shù)據(jù)線連接的組件物理接口,非接觸式如通過無線、紅外等連接的物理接口;物理接口的屬性包括機(jī)械接口尺寸、接口通訊協(xié)議等;接口所能通過的實體流包括信號、數(shù)據(jù)、能量、物理實體等。當(dāng)兩個組件具有連接關(guān)系時,必定有兩個接口能夠匹配,匹配的含義包括兩個接口的類型相同、屬性相同、所能通過的實體流也相同;
Ope為組件的操作,Ope= {o1,o2,…,oj},oj描述組件所提供或依賴的功能/服務(wù);
Inc為組件屬性的約束關(guān)系,Inc= {c1,c2,…,ck},ck描述了當(dāng)組件內(nèi)部的某個屬性發(fā)生變化時對組件中其他屬性的影響。Inc可以用一組約束方程或產(chǎn)生式規(guī)則表示,在Inc的約束下可以對組件的屬性或?qū)傩灾颠M(jìn)行變更,使得組件能夠在一定范圍內(nèi)擴(kuò)展。當(dāng)Inc為空時,代表組件為標(biāo)準(zhǔn)件,不可擴(kuò)展。
在面向?qū)ο蟮乃枷胫校瑢Τ橄箢愘x值使其變?yōu)閷ο蟮倪^程稱為實例化。1.1節(jié)所定義的組件也可進(jìn)行實例化,與軟件中的實例化不同,這里的實例化有兩層含義:對象實例化和產(chǎn)品實例化。定義如下:
定義1:對象實例化:產(chǎn)品設(shè)計者對組件的各個參數(shù)賦唯一值的過程,稱為對象實例化。經(jīng)過對象實例化后的組件成為組件對象,記為△C。
定義2:產(chǎn)品實例化:組件制造者根據(jù)根據(jù)組件對象進(jìn)行制造,使組件對象變?yōu)楝F(xiàn)實世界中的產(chǎn)品或零部件的過程,稱為產(chǎn)品實例化。
組件的實例化如圖1所示。對象實例化使得用戶能夠在計算機(jī)中利用組件對象進(jìn)行自配置設(shè)計,但組件對象仍然是存在于計算機(jī)中的抽象模型,產(chǎn)品實例化使得用戶能夠得到實際的物理產(chǎn)品。
在配置設(shè)計過程中,用戶對組件的需求是多樣化且不斷變化的。因此組件必須提供擴(kuò)展機(jī)制,以滿足需求。但同時組件的擴(kuò)展不能是無限制的,因為無限制的擴(kuò)展有可能會引起組件的性能發(fā)生不可預(yù)期的變化,從而導(dǎo)致配置設(shè)計的失敗。
每個組件的四元組表示結(jié)構(gòu)是固定不變的,不允許對四個抽象元組進(jìn)行更改,這就保證了組件的穩(wěn)定性。組件的擴(kuò)展從對象層開始,通過修改對象層的技術(shù)參數(shù)實現(xiàn)組件的擴(kuò)展,并通過組件內(nèi)部的Inc實現(xiàn)對組件技術(shù)參數(shù)擴(kuò)展的控制。Inc規(guī)定了組件擴(kuò)展集合的邊界,通過在Inc的約束下擴(kuò)展組件,以滿足用戶對組件的不同需求,使得組件在保持穩(wěn)定結(jié)構(gòu)的前提下具有較強(qiáng)的適應(yīng)性和靈活性。隨著新技術(shù)的發(fā)展,組件所受的擴(kuò)展約束可能會產(chǎn)生變化,Inc還提供了對外部發(fā)布者的可變視圖,組件的發(fā)布者通過升級Inc即可實現(xiàn)對組件的更新,而不需要更改服務(wù)件的其他參數(shù)。

圖1 組件實例化過程
組件的擴(kuò)展過程如圖2所示。擴(kuò)展自底向上分為三個層面:

圖2 組件擴(kuò)展過程
1)每個組件都是由組件對象的集合組成,因此組件的每個屬性都有一個取值范圍,這個取值范圍中的每個取值對應(yīng)組成組件的每個對象,通過取值域中不同的值,可以實例化為不同的組件對象。當(dāng)值域中所有的組件對象都不能滿足需求時,便需要對組件中Atr和Int屬性值域進(jìn)行擴(kuò)展。擴(kuò)展值域?qū)嶋H上是向組件中增加新的能滿足需求的組件對象,這種值域的擴(kuò)展不會引起服務(wù)件上層屬性的變化,但會引起同一層中的Ope值域的變化;
2)當(dāng)值域的擴(kuò)展不能滿足需求時,便需要對組件中Atr和Int屬性進(jìn)行擴(kuò)展。對屬性的擴(kuò)展有兩種方式,一種是通過Int接口調(diào)用其他的服務(wù)件實現(xiàn)接口的擴(kuò)展,例如控制器可通過自身的某個接口連接傳感器,通過對傳感器的調(diào)用增加了原來沒有的感知功能,實現(xiàn)了自身功能的擴(kuò)展。這種方式簡單直接,是屬性擴(kuò)展優(yōu)先采用的擴(kuò)展方式;另一種是通過修改組件的內(nèi)部結(jié)構(gòu)實現(xiàn)外部接口的擴(kuò)展,這種方式對組件的改動較大,只有在接口擴(kuò)展不能滿足需要的前提下才會采用。這兩種方式的修改都會引起Atr,Ope屬性的變化,當(dāng)屬性擴(kuò)展完成后,相應(yīng)的屬性所具有的下層屬性值域也會隨之變化。屬性和屬性值域的擴(kuò)展并不是隨意的,都受Inc的約束;
3)最后是Inc的擴(kuò)展,當(dāng)更先進(jìn)的設(shè)計方法或制造技術(shù)出現(xiàn)時,都可能會導(dǎo)致原來組件所必須遵守的約束減少,并由此引發(fā)Inc的變更。Inc的擴(kuò)展并不會引起組件的變化,但由于它的改變,組件屬性的可擴(kuò)展空間會發(fā)生變化,而屬性的擴(kuò)展又會導(dǎo)致屬性值域更大的擴(kuò)展空間,一層一層的放大效應(yīng)使得Inc的擴(kuò)展對組件的影響最大,因此,Inc的擴(kuò)展很少使用,一般通過前兩層擴(kuò)展即能滿足需求。三個層面的擴(kuò)展由淺入深,一起組成了組件的可擴(kuò)展空間。
以工業(yè)機(jī)器人為例進(jìn)行實例驗證。工業(yè)機(jī)器人的零部件涉及多個領(lǐng)域,不同領(lǐng)域的零部件結(jié)構(gòu)及特征有很大差別。通過統(tǒng)一進(jìn)行抽象描述,使其成為組件,在配置設(shè)計過程中能夠被方便的調(diào)用或刪除。下面通過工業(yè)機(jī)器人中減速器的描述和基座擴(kuò)展兩個實例對論文所提的組件模型進(jìn)行說明。
例1:減速器描述
根據(jù)市場上的需求,某設(shè)計者設(shè)計了一個新的減速器如圖3所示。按照組件的標(biāo)準(zhǔn)對其進(jìn)行形式化描述,作為組件對象,描述的結(jié)果如圖4所示。
描述完成后,可將該組件對象的參數(shù)值加入到原有減速器組件的值域中,在以后的配置設(shè)計過程中,該組件對象就可以作為組件的對象實例化結(jié)果供設(shè)計調(diào)用。但由于該服務(wù)件對象還沒有經(jīng)過產(chǎn)品實例化,如果在配置設(shè)計過程中選擇該組件對象,得不到最終的物理產(chǎn)品。假設(shè)某減速器制造商根據(jù)自己的生產(chǎn)能力,從組件對象中選擇了上述減速器進(jìn)行生產(chǎn),則代表該組件對象已經(jīng)通過產(chǎn)品實例化變?yōu)榱司唧w的組件,可支持最終物理產(chǎn)品的實現(xiàn)。


圖3 某型號減速器

圖4 減速器描述實例
例2:基座擴(kuò)展
某設(shè)計者在配置設(shè)計過程中調(diào)用了基座這個組件,本體中基座的尺寸參數(shù)的值域為{高度(20,30,40),半徑(10,15,20),厚度(5,8,10)},如圖5所示,為了簡潔,圖中只標(biāo)出了與擴(kuò)展相關(guān)的參數(shù)。通過對象實例化,可以得到三個基座對象的尺寸分別為{(20),(10),(5)},{(30),(15),(8)},{(40),(20),(10)},如圖6所示。

圖5 基座值域

圖6 基座對象
對于某個用戶來說,這三個對象的高度都不能滿足用戶的要求,因此,設(shè)計者對基座服務(wù)件進(jìn)行屬性值域?qū)哟蔚臄U(kuò)展。將最接近尺寸要求的第三個基座對象進(jìn)行擴(kuò)展,將其高度擴(kuò)展為45。為了保證基座的支撐強(qiáng)度,該基座對象中Inc參數(shù)規(guī)定了高度與厚度的關(guān)系,即每當(dāng)高度增加1,厚度增加0.1。因此,擴(kuò)展高度后的基座的厚度也隨之變化為10+(45-40)×0.1=10.5,擴(kuò)展后得到新的基座組件對象,尺寸為{(45),(20),(10.5)}。隨后,設(shè)計者對擴(kuò)展后的組件進(jìn)行對象實例化,對組件中的其他參數(shù)一一賦值,得到基座如圖7所示,調(diào)用該組件對象進(jìn)行配置設(shè)計。
基座組件擴(kuò)展完成之后,其尺寸參數(shù)值域更新為{高度(20,30,40,45),半徑(10,15,20),厚度(5,8,10,10.5)}。根據(jù)圖2所示的服務(wù)件擴(kuò)展過程可知,Atr屬性值域的擴(kuò)展可能會引起服務(wù)件Ope值域的擴(kuò)展。在此例中,基座尺寸值域的增加,導(dǎo)致Ope中“可裝電機(jī)型號”這一屬性的值域發(fā)生擴(kuò)展,增加了一個更大尺寸電機(jī)的型號。

圖7 擴(kuò)展基座對象
論文引入軟件工程領(lǐng)域面向?qū)ο蟮乃枷耄瑢?fù)雜產(chǎn)品的組件模型構(gòu)建方法進(jìn)行了研究。將涉及機(jī)械、電子、軟件領(lǐng)域的零部件封裝為組件,通過組件接口為使用者提供一個隱藏實現(xiàn)的服務(wù),從而支持組件以即插即用的方式進(jìn)行組合,從產(chǎn)品級保證了對需求多樣化的滿足。同時,對組件的實例化及擴(kuò)展機(jī)制進(jìn)行了分析,從組件級保證了對需求多樣化的滿足。研究結(jié)果可為復(fù)雜產(chǎn)品的配置設(shè)計提供支持,實現(xiàn)產(chǎn)品的快速定制。