專利名稱:軟件應(yīng)用程序、軟件體系結(jié)構(gòu)和尤其是為mes系統(tǒng)產(chǎn)生軟件應(yīng)用程序的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及具有對(duì)象的軟件應(yīng)用程序、尤其是MES應(yīng)用程序,這些對(duì)象包含和/或引用數(shù)據(jù)和/或?qū)傩院?或特性,其中將對(duì)象在至少一個(gè)計(jì)算機(jī)單元上運(yùn)行和/或存儲(chǔ)。
此外,本發(fā)明還涉及軟件體系結(jié)構(gòu),尤其是MES應(yīng)用程序的體系結(jié)構(gòu),以及尤其是為MES系統(tǒng)產(chǎn)生軟件應(yīng)用程序的方法。
本發(fā)明還涉及軟件開(kāi)發(fā)環(huán)境、計(jì)算機(jī)程序、數(shù)據(jù)載體和數(shù)據(jù)處理裝置。
背景技術(shù):
由Dirk Kozian在Elektronik für die Automatisierung 11,17.11.1999中的文章“Software für die Automatisierung-Transparenz üer die Ablufe schaffen”公知,將所謂的制造執(zhí)行系統(tǒng)(MES)用于生產(chǎn)或制造過(guò)程的自動(dòng)化。這些系統(tǒng)將自動(dòng)化層(控制)與企業(yè)領(lǐng)導(dǎo)層的ERP(企業(yè)資源規(guī)劃)系統(tǒng)集成在一起。制造執(zhí)行系統(tǒng)是那些例如提供用于優(yōu)化生產(chǎn)過(guò)程的信息的系統(tǒng),和協(xié)調(diào)或優(yōu)化生產(chǎn)過(guò)程的系統(tǒng)。一方面制造執(zhí)行系統(tǒng)必須為ERP系統(tǒng)的粗略規(guī)劃數(shù)據(jù)補(bǔ)充特定于設(shè)備的和當(dāng)前的精確規(guī)劃的數(shù)據(jù),并將這些數(shù)據(jù)相應(yīng)地傳遞到下級(jí)的自動(dòng)化層中;另一方面制造執(zhí)行系統(tǒng)的任務(wù)是從自動(dòng)化層接收與生產(chǎn)有關(guān)的信息,處理這些信息,并將其傳遞到企業(yè)領(lǐng)導(dǎo)層。由此,MES系統(tǒng)除其它外實(shí)現(xiàn)了在企業(yè)領(lǐng)導(dǎo)層和自動(dòng)化層之間的縱向集成。MES系統(tǒng)的典型任務(wù)是企業(yè)資產(chǎn)管理、維護(hù)管理、信息管理、規(guī)劃、調(diào)度以及追蹤(Trace & Tracking)。這些任務(wù)分別由MES組件或MES應(yīng)用完成。
在上世紀(jì)80年代用于編寫(xiě)軟件的經(jīng)典編程語(yǔ)言(例如Pascal或Fortran)中,數(shù)據(jù)和函數(shù)是分開(kāi)的。直到出現(xiàn)了面向?qū)ο蟮恼Z(yǔ)言才將數(shù)據(jù)和函數(shù)組合為對(duì)象。在上世紀(jì)90年代,個(gè)別情況下作為附件將元數(shù)據(jù)分配給對(duì)象。元數(shù)據(jù)是關(guān)于其它信息的信息,例如關(guān)于已有對(duì)象本身的信息。這些元數(shù)據(jù)雖然存在于整個(gè)系統(tǒng)或整個(gè)上下文中,但其既沒(méi)有物理地存放在對(duì)象中,也不包含關(guān)于待實(shí)現(xiàn)的應(yīng)用或關(guān)于待實(shí)現(xiàn)的商業(yè)過(guò)程的信息。
D.E.Perry和A.A.Wolf在“Foundations for the study of SoftwareArchitecture”,ACM SIGSOFT,Software Engineering Notes,Vol.17,No.4.pp.40-52,October 1992中引入了概念“體系結(jié)構(gòu)風(fēng)格(architectural style)”。其中,除其它之外說(shuō)明了體系結(jié)構(gòu)對(duì)基于該體系結(jié)構(gòu)的應(yīng)用軟件的重要性和影響。但是并沒(méi)有描述如何通過(guò)有針對(duì)性地使用元信息而在軟件體系結(jié)構(gòu)中獲得有關(guān)產(chǎn)生、配置、重組或改變軟件應(yīng)用程序的優(yōu)點(diǎn)。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題在于,提供軟件應(yīng)用程序、軟件體系結(jié)構(gòu)和一種產(chǎn)生軟件應(yīng)用程序的方法,該方法改善系統(tǒng)的可改變性和可擴(kuò)展性。
根據(jù)本發(fā)明,上述軟件應(yīng)用程序的技術(shù)問(wèn)題是通過(guò)權(quán)利要求1的特征解決的。分配給一個(gè)對(duì)象的元信息例如描述一個(gè)對(duì)象包含的數(shù)據(jù)和函數(shù),但元信息也可以包含對(duì)實(shí)現(xiàn)和服務(wù)的描述,或者包括用戶文檔。在諸如HTML或XML的標(biāo)記語(yǔ)言中,可以通過(guò)所謂的標(biāo)簽或通過(guò)屬性描述元信息,并分配給對(duì)象。元信息還可以具有分層結(jié)構(gòu)。本發(fā)明的一個(gè)優(yōu)點(diǎn)是,不需要為了運(yùn)行軟件應(yīng)用程序而產(chǎn)生明顯的代碼。對(duì)象是具有用于讀取元數(shù)據(jù)的相應(yīng)訪問(wèn)機(jī)制的黑匣子。由樹(shù)結(jié)構(gòu)及樹(shù)狀網(wǎng)絡(luò)可以確定運(yùn)行邏輯和由樹(shù)表示的軟件應(yīng)用程序的運(yùn)行順序。在運(yùn)行時(shí)可手動(dòng)或自動(dòng)改變的樹(shù)結(jié)構(gòu)及樹(shù)元素的聯(lián)網(wǎng)可以確定,用哪些操作數(shù)提供函數(shù),以及函數(shù)是順序還是并行執(zhí)行。在工業(yè)設(shè)備中,通過(guò)樹(shù)結(jié)構(gòu)和樹(shù)元網(wǎng)絡(luò)例如判定,用哪些輸入?yún)?shù)來(lái)提供給設(shè)備,以及如何對(duì)該設(shè)備產(chǎn)生的輸出值作進(jìn)一步處理。在軟件開(kāi)發(fā)環(huán)境中,用戶對(duì)樹(shù)和網(wǎng)絡(luò)進(jìn)行圖形編輯。樹(shù)的顯示形式可以不同,并由用戶自由地或根據(jù)應(yīng)用選擇。樹(shù)元網(wǎng)絡(luò)或分支(Verzeigerung)可以通過(guò)在樹(shù)中的分層設(shè)置進(jìn)行。但樹(shù)元的聯(lián)網(wǎng)或分支可以通過(guò)用戶編輯的引用或橫向聯(lián)網(wǎng)到其它分枝的元素來(lái)進(jìn)行。用于產(chǎn)生樹(shù)和用于建立網(wǎng)絡(luò)的輸入可以通過(guò)輸入掩碼、拖放機(jī)制或通過(guò)語(yǔ)言輸入來(lái)進(jìn)行。
為各對(duì)象分配實(shí)現(xiàn),即對(duì)象的代碼和元信息。通過(guò)在運(yùn)行時(shí)由預(yù)先產(chǎn)生的對(duì)象組成軟件應(yīng)用程序,(例如自動(dòng)借助應(yīng)用處理中的元數(shù)據(jù)),可以取消用于生成待產(chǎn)生軟件應(yīng)用程序代碼的明顯的編譯階段。編譯運(yùn)行可能持續(xù)非常長(zhǎng)的時(shí)間。通過(guò)不必產(chǎn)生明顯的編譯運(yùn)行,最小化了產(chǎn)生軟件應(yīng)用程序、測(cè)試和運(yùn)行的時(shí)間。
另一個(gè)顯著優(yōu)點(diǎn)在于,以統(tǒng)一形式對(duì)待程序和數(shù)據(jù)。數(shù)據(jù)是沒(méi)有函數(shù)的對(duì)象樹(shù),程序是具有函數(shù)的對(duì)象樹(shù)。所有存在于運(yùn)行時(shí)系統(tǒng)中、用于組合、聯(lián)網(wǎng)、版本、存儲(chǔ)、傳送數(shù)據(jù)和程序等的機(jī)制只須實(shí)現(xiàn)一次,并且不是針對(duì)數(shù)據(jù)和程序各一次。這也簡(jiǎn)化了軟件開(kāi)發(fā)人員、運(yùn)行者和管理員的處理,因?yàn)橹豁殞?duì)這些機(jī)制處理一次。
另一個(gè)優(yōu)點(diǎn)在于,更改很容易實(shí)施??梢噪S時(shí)補(bǔ)充、更改或刪除分枝,而無(wú)需改變整個(gè)樹(shù)結(jié)構(gòu)。企業(yè)的靈活性也因此而提高,因?yàn)榭梢詫?duì)更改后的市場(chǎng)需求進(jìn)行更為快速的反應(yīng)。這一點(diǎn)在軟件應(yīng)用程序用于控制自動(dòng)化系統(tǒng)、生產(chǎn)設(shè)備或MES系統(tǒng)時(shí)特別重要。但根據(jù)本發(fā)明的軟件應(yīng)用程序優(yōu)選也可以用于辦公領(lǐng)域。
對(duì)象之間的聯(lián)網(wǎng)、分支或引用可以按照不同的粒度(Granularitt)進(jìn)行。這樣,例如可以通過(guò)指向物理地址(通過(guò)指針)進(jìn)行聯(lián)網(wǎng),由此達(dá)到較高的效率(例如在過(guò)程運(yùn)行內(nèi))。其它聯(lián)網(wǎng)機(jī)制例如是電子信息(例如E-Mail)、電話或傳真。根據(jù)作為基礎(chǔ)的應(yīng)用程序的要求,用戶可以選擇相應(yīng)的聯(lián)網(wǎng)機(jī)制。
本發(fā)明意義下的對(duì)象是那些在產(chǎn)生軟件應(yīng)用程序時(shí)采用的、但也是運(yùn)行時(shí)對(duì)象的對(duì)象。運(yùn)行時(shí)對(duì)象是在系統(tǒng)(例如應(yīng)用程序)的運(yùn)行時(shí)實(shí)施該系統(tǒng)邏輯的對(duì)象。
根據(jù)本發(fā)明的軟件應(yīng)用程序還適用于解決過(guò)程控制系統(tǒng)和制造自動(dòng)化系統(tǒng)的問(wèn)題。
本發(fā)明的軟件應(yīng)用程序的第一優(yōu)選實(shí)施方式在于,可以在運(yùn)行時(shí)更換對(duì)象和/或引用機(jī)制和/或聯(lián)網(wǎng)機(jī)制和/或?qū)ο蟮膶?shí)現(xiàn)。通過(guò)在運(yùn)行時(shí)可以將對(duì)象更換為其它對(duì)象,例如更換為具有擴(kuò)展功能的對(duì)象,或更換對(duì)象的實(shí)現(xiàn)(新的實(shí)現(xiàn)例如消除了錯(cuò)誤或具有更好的性能),或更換引用機(jī)制和聯(lián)網(wǎng)機(jī)制,明顯減少了更改中的周轉(zhuǎn)時(shí)間。由此為用戶和設(shè)備的運(yùn)行者提高了靈活度,也提高了企業(yè)的靈活性。對(duì)于元數(shù)據(jù)的分析不采用通常的編譯器,而是采用所謂的增量編譯器或解釋器,其只在更換時(shí)激活于對(duì)象本地。如果需要,對(duì)于新采用的對(duì)象產(chǎn)生增量代碼,并且增量編譯器或解釋器在運(yùn)行時(shí)將新采用的對(duì)象(或引用機(jī)制和/或聯(lián)網(wǎng)機(jī)制和/或新的對(duì)象實(shí)現(xiàn))又插入到樹(shù)中,而無(wú)需考慮樹(shù)的其它(無(wú)關(guān))分支。
本發(fā)明的軟件應(yīng)用程序的另一優(yōu)選實(shí)施方式在于,可以在運(yùn)行時(shí)向?qū)ο笱a(bǔ)充服務(wù)。這些服務(wù)采用對(duì)象本地的元數(shù)據(jù),以提供一般的(MES或控制)基礎(chǔ)功能。這種服務(wù)例如可以是序列化、復(fù)制、加密或訪問(wèn)保護(hù)。由此可以利用所謂的“服務(wù)質(zhì)量”來(lái)建立對(duì)象。對(duì)象的使用者可以信任這些服務(wù)的實(shí)施,并且不考慮這些服務(wù)的實(shí)現(xiàn)。
本發(fā)明的軟件應(yīng)用程序的另一優(yōu)選實(shí)施方式在于,可以將引用機(jī)制或聯(lián)網(wǎng)機(jī)制或服務(wù)的實(shí)現(xiàn)用于數(shù)據(jù)和程序。由此,這些機(jī)制和服務(wù)不必分別針對(duì)數(shù)據(jù)和程序單獨(dú)實(shí)施。此外,元信息可以按照相同方式添加到所有對(duì)象(是數(shù)據(jù)還是程序都無(wú)所謂),還可以對(duì)所有對(duì)象都按照相同方式訪問(wèn)元信息。
本發(fā)明的軟件應(yīng)用程序的另一優(yōu)選實(shí)施方式在于,對(duì)象靜態(tài)和/或動(dòng)態(tài)地聯(lián)網(wǎng)。聯(lián)網(wǎng)(及分支或引用)可以在手動(dòng)產(chǎn)生樹(shù)時(shí)靜態(tài)地進(jìn)行,但是也可以基于當(dāng)前信息或元信息自動(dòng)產(chǎn)生(例如根據(jù)需要)。由此為用戶提高了靈活度??梢酝ㄟ^(guò)不同機(jī)制和實(shí)現(xiàn)調(diào)整聯(lián)網(wǎng)例如指向?qū)ο蟮闹羔槨l(fā)送給對(duì)象的E-Mail或通過(guò)OPC協(xié)議(過(guò)程控制的OLE)進(jìn)行聯(lián)網(wǎng)。尤其是在工業(yè)領(lǐng)域經(jīng)常采用OPC協(xié)議。其它可用于聯(lián)網(wǎng)或關(guān)連的技術(shù)或?qū)崿F(xiàn)例如是MSMQ(Microsoft消息隊(duì)列)、HTTP(超文本傳輸協(xié)議)或SOAP(簡(jiǎn)單對(duì)象傳輸協(xié)議)。
本發(fā)明的軟件應(yīng)用程序的另一優(yōu)選實(shí)施方式在于,對(duì)象物理地包含元信息。由此,在產(chǎn)生軟件應(yīng)用程序時(shí)支持本地原則,也就是說(shuō),所有對(duì)一個(gè)對(duì)象來(lái)說(shuō)重要的信息(元信息也是)也是物理地存在于對(duì)象中。由此簡(jiǎn)化了對(duì)這些信息的訪問(wèn)。通過(guò)使對(duì)象物理地包含元信息,對(duì)象自身也可以用于獨(dú)立地組織、重組或重新配置軟件應(yīng)用程序,這取決于在對(duì)象中具有哪些元信息(類型和范圍)。這對(duì)于移動(dòng)對(duì)象是特別有利的,例如對(duì)于互聯(lián)網(wǎng)中(或其它聯(lián)網(wǎng)系統(tǒng)例如企業(yè)內(nèi)部網(wǎng)絡(luò))在計(jì)算機(jī)之間移動(dòng)的軟件代理,從而例如在各計(jì)算機(jī)本地收集例如用于維護(hù)系統(tǒng)的高性能設(shè)備信息。
本發(fā)明的軟件應(yīng)用程序的另一優(yōu)選實(shí)施方式在于,元信息包含靜態(tài)和/或動(dòng)態(tài)的對(duì)象模型。這些模型例如是類及其關(guān)系、狀態(tài)/事件模型、活動(dòng)模型、配置模型或域模型(例如汽車制造、化肥生產(chǎn)等特殊領(lǐng)域的MES過(guò)程模型)。這對(duì)于一般的軟件開(kāi)發(fā)或軟件產(chǎn)生器來(lái)說(shuō)特別有利。
本發(fā)明軟件應(yīng)用程序的另一優(yōu)選實(shí)施方式在于,元信息描述應(yīng)用或交易過(guò)程。如果元信息不僅包含關(guān)于對(duì)象本身的信息,還包含關(guān)于整個(gè)軟件應(yīng)用程序、使用環(huán)境或待實(shí)現(xiàn)交易過(guò)程(或商業(yè)邏輯)的信息,則由此簡(jiǎn)化軟件應(yīng)用程序的配置,直至可以自動(dòng)進(jìn)行配置。再配置(例如系統(tǒng)崩潰或部分系統(tǒng)失靈之后)也可以在無(wú)人工干預(yù)的情況下自動(dòng)進(jìn)行。由此提高了企業(yè)的靈活性和生產(chǎn)設(shè)備的可用性。
本發(fā)明的軟件應(yīng)用程序的另一優(yōu)選實(shí)施方式在于,每一單個(gè)對(duì)象都包含關(guān)于該應(yīng)用或交易過(guò)程的總的元信息。這意味著在軟件應(yīng)用程序或軟件系統(tǒng)中,在每一單個(gè)對(duì)象(例如在最小標(biāo)簽中、在每個(gè)變量或每個(gè)操作數(shù)中,也就是在整個(gè)精細(xì)粒度對(duì)象中)包含對(duì)應(yīng)用或交易過(guò)程的整個(gè)描述。通過(guò)這些信息可以將每一單個(gè)對(duì)象用于系統(tǒng)或交易過(guò)程的重組,但也可用于應(yīng)用的自組織。這在大部分系統(tǒng)失靈的系統(tǒng)故障時(shí)是非常有利的。系統(tǒng)可以由最小但還起作用的部分自己完全重建起來(lái)。由此,維護(hù)工程師不必費(fèi)事地忙于完成和閱讀文檔。
本發(fā)明的軟件應(yīng)用程序的另一優(yōu)選實(shí)施方式在于,在顯示裝置上可以按照不同的方式顯示樹(shù)。樹(shù)的顯示可以是不同的,例如通過(guò)靜態(tài)瀏覽器類似的符號(hào)、或按照工作流或流程圖形式、或按照方框線路圖(例如電流流向圖)或設(shè)備圖(例如物理設(shè)備布局圖、材料流程圖)形式。由此,極大提高了用戶的靈活性,因?yàn)橛脩艨梢赃x擇對(duì)他來(lái)說(shuō)足夠的符號(hào)或顯示,從而查看在運(yùn)行時(shí)系統(tǒng)中存在的元信息。也可以在這些顯示形式之間交替。
本發(fā)明的軟件應(yīng)用程序的另一優(yōu)選實(shí)施方式在于,在出現(xiàn)故障的情況下軟件應(yīng)用程序自己進(jìn)行重新配置。如果在軟件應(yīng)用程序或軟件系統(tǒng)中,在每一單個(gè)對(duì)象(例如最小標(biāo)簽、每個(gè)變量或每個(gè)操作符中,也就是在整個(gè)精細(xì)粒度對(duì)象中)中都包含對(duì)應(yīng)用或交易過(guò)程的整個(gè)描述,則這些信息可以用于系統(tǒng)或交易過(guò)程的自動(dòng)重組,也就是應(yīng)用的自愈。用戶干涉不再是必需的,可以最小化靜止時(shí)間。由此,維護(hù)工程師不必費(fèi)事地忙于完成和閱讀文檔。
根據(jù)本發(fā)明,軟件體系結(jié)構(gòu)的上述技術(shù)問(wèn)題是通過(guò)權(quán)利要求12的特征解決的。軟件體系結(jié)構(gòu)是對(duì)子系統(tǒng)、組件(子系統(tǒng)和組件是由不同粒度的對(duì)象表示的)以及它們之間關(guān)系的描述。典型地按照不同的觀察方式(視野)定制子系統(tǒng)和組件,并顯示基于軟件體系結(jié)構(gòu)的軟件應(yīng)用程序的功能性和非功能性特征。軟件體系結(jié)構(gòu)應(yīng)當(dāng)明確顯示認(rèn)定是優(yōu)選的軟件設(shè)計(jì)原則(本地原則、緊湊結(jié)合、松散耦合等)。軟件體系結(jié)構(gòu)必須考慮對(duì)軟件系統(tǒng)或軟件體系結(jié)構(gòu)來(lái)說(shuō)很重要的不同要素結(jié)構(gòu)、函數(shù)、數(shù)據(jù)、性能、動(dòng)態(tài)性、非功能性特征。這些要素可以通過(guò)部分不同的描述工具或顯示方式模型化。合適的描述工具例如是具有大量不同圖表類型和描述技術(shù)的UML(統(tǒng)一模型化語(yǔ)言)。在軟件體系結(jié)構(gòu)中采用的組件可以是數(shù)據(jù)單元(包含信息的數(shù)據(jù)單元)、處理單元(處理或轉(zhuǎn)換數(shù)據(jù)單元的處理單元)和連接單元(將兩個(gè)不同的組件類型相互連接在一起的連接單元)。
所有描述工具和顯示方式都表示根據(jù)本發(fā)明在運(yùn)行時(shí)存在于運(yùn)行時(shí)系統(tǒng)的對(duì)象中、或在運(yùn)行時(shí)在對(duì)象本地使用的元信息。
通過(guò)顯式和有針對(duì)性的將元信息應(yīng)用到軟件應(yīng)用程序所依據(jù)的軟件體系結(jié)構(gòu),由本發(fā)明特別是積極地影響了軟件應(yīng)用程序的非功能性特征,例如在故障情況下的可變性、效率、可靠性、可測(cè)試性、可再利用性、可維護(hù)性、可重新配置性和自我重組性。
為對(duì)象分配的元信息描述例如對(duì)象包含的數(shù)據(jù)和函數(shù),但元信息還可以包含實(shí)現(xiàn)和服務(wù)信息,或包括用戶文檔。在諸如HTML或XML的標(biāo)記語(yǔ)言中,元信息可以通過(guò)所謂的標(biāo)簽或通過(guò)屬性來(lái)描述,并分配給對(duì)象。元信息還可以具有分層結(jié)構(gòu)。本發(fā)明的一個(gè)優(yōu)點(diǎn)在于,不需要為了運(yùn)行軟件應(yīng)用程序而產(chǎn)生明顯的代碼。對(duì)象是具有用于讀取元數(shù)據(jù)的相應(yīng)訪問(wèn)機(jī)制的黑匣子。由樹(shù)結(jié)構(gòu)及樹(shù)狀網(wǎng)絡(luò)可以確定運(yùn)行邏輯和由樹(shù)表示的軟件應(yīng)用程序的運(yùn)行順序。樹(shù)結(jié)構(gòu)及樹(shù)元網(wǎng)絡(luò)判定,用哪些操作數(shù)提供函數(shù),以及函數(shù)是順序還是并行執(zhí)行。在工業(yè)設(shè)備中,通過(guò)樹(shù)結(jié)構(gòu)和樹(shù)元網(wǎng)絡(luò)例如判定,用哪些輸入?yún)?shù)來(lái)提供給設(shè)備,以及如何對(duì)該設(shè)備產(chǎn)生的輸出值作進(jìn)一步處理。在軟件開(kāi)發(fā)環(huán)境中,用戶對(duì)樹(shù)和網(wǎng)絡(luò)進(jìn)行圖形編輯。樹(shù)的顯示形式可以不同,并由用戶自由地或根據(jù)應(yīng)用選擇。樹(shù)元網(wǎng)絡(luò)或分支(Verzeigerung)可以通過(guò)在樹(shù)中的分層設(shè)置進(jìn)行。但樹(shù)元的聯(lián)網(wǎng)或分支可以通過(guò)用戶編輯的引用或橫向聯(lián)網(wǎng)到其它分枝的元素來(lái)進(jìn)行。用于產(chǎn)生樹(shù)和用于建立網(wǎng)絡(luò)的輸入可以通過(guò)輸入掩碼、拖放機(jī)制或通過(guò)語(yǔ)言輸入來(lái)進(jìn)行。
為各對(duì)象分配其實(shí)現(xiàn),即對(duì)象的代碼和元信息。通過(guò)在運(yùn)行時(shí)由預(yù)先產(chǎn)生的對(duì)象組成軟件應(yīng)用程序,(例如自動(dòng)借助應(yīng)用處理中的元數(shù)據(jù)),可以取消用于生成待產(chǎn)生軟件應(yīng)用程序代碼的明確的編譯階段。編譯運(yùn)行可能持續(xù)非常長(zhǎng)的時(shí)間。通過(guò)不必產(chǎn)生明確的編譯運(yùn)行,最小化了產(chǎn)生軟件應(yīng)用程序、測(cè)試和運(yùn)行的時(shí)間。
另一個(gè)顯著優(yōu)點(diǎn)在于,以統(tǒng)一形式對(duì)待程序和數(shù)據(jù)。數(shù)據(jù)是沒(méi)有函數(shù)的對(duì)象樹(shù),程序是具有函數(shù)的對(duì)象樹(shù)。所有存在于運(yùn)行時(shí)系統(tǒng)中、用于組合、聯(lián)網(wǎng)、版本、存儲(chǔ)、傳輸數(shù)據(jù)和程序等的機(jī)制只須實(shí)施一次,并且不是針對(duì)數(shù)據(jù)和程序各一次。這也簡(jiǎn)化了軟件開(kāi)發(fā)人員、運(yùn)行者和管理員的處理,因?yàn)橹豁殞?duì)這些機(jī)制處理一次。
另一個(gè)優(yōu)點(diǎn)在于,更改很容易實(shí)施??梢噪S時(shí)補(bǔ)充、更改或刪除分枝,而無(wú)需改變整個(gè)樹(shù)結(jié)構(gòu)。企業(yè)的靈活性也因此而提高,因?yàn)榭梢詫?duì)更改后的市場(chǎng)需求進(jìn)行更為快速的反應(yīng)。這一點(diǎn)在軟件應(yīng)用程序用于控制自動(dòng)化系統(tǒng)、生產(chǎn)設(shè)備或MES系統(tǒng)時(shí)特別重要。但根據(jù)本發(fā)明的軟件應(yīng)用程序優(yōu)選也可以用于辦公領(lǐng)域。
對(duì)象之間的聯(lián)網(wǎng)、分支或引用可以按照不同的粒度(Granularitt)進(jìn)行。這樣,例如可以通過(guò)指向物理地址(通過(guò)指針)進(jìn)行聯(lián)網(wǎng),由此達(dá)到較高的效率(例如在過(guò)程運(yùn)行內(nèi))。其它聯(lián)網(wǎng)機(jī)制例如是電子信息(例如E-Mail)、電話或傳真。根據(jù)作為基礎(chǔ)的應(yīng)用程序的要求,用戶可以選擇相應(yīng)的聯(lián)網(wǎng)機(jī)制。
本發(fā)明意義下的對(duì)象是那些在產(chǎn)生軟件應(yīng)用程序時(shí)采用的、但也是運(yùn)行時(shí)對(duì)象的對(duì)象。運(yùn)行時(shí)對(duì)象是在系統(tǒng)(例如應(yīng)用程序)的運(yùn)行時(shí)實(shí)施該系統(tǒng)邏輯的對(duì)象。
根據(jù)本發(fā)明的體系結(jié)構(gòu)還適用于解決過(guò)程控制系統(tǒng)和制造自動(dòng)化系統(tǒng)的問(wèn)題。
本發(fā)明的軟件體系結(jié)構(gòu)的第一優(yōu)選實(shí)施方式在于,可以在運(yùn)行時(shí)更換對(duì)象和/或引用機(jī)制和/或聯(lián)網(wǎng)機(jī)制和/或?qū)ο蟮膶?shí)現(xiàn)。通過(guò)在運(yùn)行時(shí)可以將對(duì)象更換為其它對(duì)象,例如更換為具有擴(kuò)展功能的對(duì)象,或更換對(duì)象的實(shí)現(xiàn)(新的實(shí)現(xiàn)例如消除了錯(cuò)誤或具有更好的性能),或更換引用機(jī)制和聯(lián)網(wǎng)機(jī)制,明顯減少了更改中的周轉(zhuǎn)時(shí)間。由此為用戶和設(shè)備的運(yùn)行者提高了靈活度,也提高了企業(yè)的靈活性。對(duì)于元數(shù)據(jù)的求值不采用通常的編譯器,而是采用所謂的增量編譯器或解釋器,其只在更換時(shí)激活于對(duì)象本地。如果需要,對(duì)于新采用的對(duì)象產(chǎn)生增量代碼,并且增量編譯器或解釋器在運(yùn)行時(shí)將新采用的對(duì)象(或引用機(jī)制和/或聯(lián)網(wǎng)機(jī)制和/或新的對(duì)象實(shí)現(xiàn))又插入到樹(shù)中,而無(wú)需考慮樹(shù)的其它(無(wú)關(guān))分支。
本發(fā)明的軟件體系結(jié)構(gòu)的另一優(yōu)選實(shí)施方式在于,可以在運(yùn)行時(shí)向?qū)ο蟾郊臃?wù)。這些服務(wù)采用對(duì)象本地的元數(shù)據(jù),以提供一般的(MES或控制)基礎(chǔ)功能。這種服務(wù)例如可以是序列化、復(fù)制、加密或訪問(wèn)保護(hù)。由此可以利用所謂的“服務(wù)質(zhì)量”來(lái)建立對(duì)象。對(duì)象的使用者可以信任這些服務(wù)的實(shí)施,并且不考慮這些服務(wù)的實(shí)現(xiàn)。
本發(fā)明的軟件體系結(jié)構(gòu)的另一優(yōu)選實(shí)施方式在于,可以將引用機(jī)制或聯(lián)網(wǎng)機(jī)制或服務(wù)的實(shí)現(xiàn)用于數(shù)據(jù)和程序。由此,這些機(jī)制和服務(wù)不必分別針對(duì)數(shù)據(jù)和程序單獨(dú)實(shí)施。此外,元信息可以按照相同方式添加到所有對(duì)象(是數(shù)據(jù)還是程序都無(wú)所謂),還可以對(duì)所有對(duì)象都按照相同方式訪問(wèn)元信息。
本發(fā)明的軟件體系結(jié)構(gòu)的另一優(yōu)選實(shí)施方式在于,對(duì)象靜態(tài)和/或動(dòng)態(tài)地聯(lián)網(wǎng)。聯(lián)網(wǎng)(及分支或引用)可以在手動(dòng)產(chǎn)生樹(shù)時(shí)靜態(tài)地進(jìn)行,但是也可以基于當(dāng)前信息或元信息自動(dòng)產(chǎn)生(例如根據(jù)需要)。由此為用戶提高了靈活度??梢酝ㄟ^(guò)不同機(jī)制和實(shí)現(xiàn)調(diào)整聯(lián)網(wǎng)例如指向?qū)ο蟮闹羔?、發(fā)送給對(duì)象的E-Mail或通過(guò)OPC協(xié)議(過(guò)程控制的OLE)進(jìn)行的聯(lián)網(wǎng)。尤其是在工業(yè)領(lǐng)域經(jīng)常采用OPC協(xié)議。其它可用于聯(lián)網(wǎng)或邏輯連接的技術(shù)或?qū)崿F(xiàn)例如是MSMQ(Microsoft消息隊(duì)列)、HTTP(超文本發(fā)送協(xié)議)或SOAP(簡(jiǎn)單對(duì)象發(fā)送協(xié)議)。
本發(fā)明的軟件體系結(jié)構(gòu)的另一優(yōu)選實(shí)施方式在于,對(duì)象物理地包含元信息。由此,在產(chǎn)生軟件應(yīng)用程序時(shí)支持本地原則,也就是說(shuō),所有對(duì)一個(gè)對(duì)象來(lái)說(shuō)重要的信息(元信息也是)也是物理地存在于對(duì)象中。由此簡(jiǎn)化了對(duì)這些信息的訪問(wèn)。通過(guò)使對(duì)象物理地包含元信息,對(duì)象自身也可以用于獨(dú)立地組織、重組或重新配置軟件應(yīng)用程序,這取決于在對(duì)象中具有哪些元信息(類型和范圍)。這對(duì)于移動(dòng)對(duì)象是特別有利的,例如對(duì)于互聯(lián)網(wǎng)中(或其它聯(lián)網(wǎng)系統(tǒng)例如企業(yè)內(nèi)部網(wǎng)絡(luò))在計(jì)算機(jī)之間移動(dòng)的軟件代理,從而例如在各計(jì)算機(jī)本地收集例如用于維護(hù)系統(tǒng)的高性能設(shè)備信息。
本發(fā)明的軟件體系結(jié)構(gòu)的另一優(yōu)選實(shí)施方式在于,元信息包含靜態(tài)和/或動(dòng)態(tài)的對(duì)象模型。這些模型例如是類及其關(guān)系、狀態(tài)/事件模型、活動(dòng)模型、配置模型或域模型(例如汽車制造、化肥生產(chǎn)等特殊領(lǐng)域的MES過(guò)程模型)。這對(duì)于一般的軟件開(kāi)發(fā)或軟件產(chǎn)生者來(lái)說(shuō)特別有利。
本發(fā)明軟件體系結(jié)構(gòu)的另一優(yōu)選實(shí)施方式在于,元信息描述應(yīng)用或交易過(guò)程。如果元信息不僅包含關(guān)于對(duì)象本身的信息,還包含關(guān)于整個(gè)軟件應(yīng)用程序、使用環(huán)境或待實(shí)現(xiàn)交易過(guò)程(或商業(yè)邏輯)的信息,則由此簡(jiǎn)化軟件應(yīng)用程序的配置,直至可以自動(dòng)進(jìn)行配置。再配置(例如系統(tǒng)崩潰或部分系統(tǒng)失靈之后)也可以在無(wú)人工干預(yù)的情況下自動(dòng)進(jìn)行。由此提高了企業(yè)的靈活性和生產(chǎn)設(shè)備的可用性。
本發(fā)明的軟件體系結(jié)構(gòu)的另一優(yōu)選實(shí)施方式在于,每一單個(gè)對(duì)象都包含關(guān)于該應(yīng)用或交易過(guò)程的全部元信息。這意味著在軟件應(yīng)用程序或軟件系統(tǒng)中,在每一單個(gè)對(duì)象(例如在最小標(biāo)簽中、在每個(gè)變量或每個(gè)操作數(shù)中,也就是在整個(gè)精細(xì)粒度對(duì)象中)包含對(duì)應(yīng)用或交易過(guò)程的整個(gè)描述。通過(guò)這些信息可以將每一單個(gè)對(duì)象用于系統(tǒng)或交易過(guò)程的重組,但也可用于應(yīng)用的自組織。這在大部分系統(tǒng)失靈的系統(tǒng)故障時(shí)是非常有利的。系統(tǒng)可以由最小但還起作用的部分自己完全重建起來(lái)。由此,維護(hù)工程師不必費(fèi)事地忙于再投入運(yùn)行。
本發(fā)明的軟件體系結(jié)構(gòu)的另一優(yōu)選實(shí)施方式在于,在顯示裝置上可以按照不同的方式顯示樹(shù)。樹(shù)的顯示可以是不同的,例如通過(guò)靜態(tài)瀏覽器類似的符號(hào)、或按照工作流或流程圖形式、或按照方框線路圖(例如電流流向圖)或設(shè)備圖(例如物理設(shè)備布局圖、材料流程圖)形式。由此,極大提高了用戶的靈活性,因?yàn)橛脩艨梢赃x擇對(duì)他來(lái)說(shuō)足夠的符號(hào)或顯示,從而查看在運(yùn)行時(shí)系統(tǒng)中存在的元信息。也可以在這些顯示形式之間交替。
本發(fā)明的軟件體系結(jié)構(gòu)的另一優(yōu)選實(shí)施方式在于,在出現(xiàn)故障的情況下軟件應(yīng)用程序自己進(jìn)行重新配置。如果在軟件應(yīng)用程序或軟件系統(tǒng)中,在每一單個(gè)對(duì)象(例如最小標(biāo)簽、每個(gè)變量或每個(gè)操作符中,也就是在整個(gè)精細(xì)粒度對(duì)象中)中都包含對(duì)應(yīng)用或交易過(guò)程的整個(gè)描述,則這些信息可以用于系統(tǒng)或交易過(guò)程的自動(dòng)重組,也就是應(yīng)用的自愈。用戶干涉不再是必需的,可以最小化靜止時(shí)間。由此,維護(hù)工程師不必費(fèi)事地忙于再投入運(yùn)行。
根據(jù)本發(fā)明,對(duì)于一種產(chǎn)生軟件應(yīng)用程序的方法的技術(shù)問(wèn)題是通過(guò)權(quán)利要求23的特征解決的。分配給一個(gè)對(duì)象的元信息例如描述一個(gè)對(duì)象包含的數(shù)據(jù)和函數(shù),但元信息也可以包含對(duì)實(shí)現(xiàn)和服務(wù)的描述,或者包括用戶文檔。在諸如HTML或XML的標(biāo)記語(yǔ)言中,可以通過(guò)所謂的標(biāo)簽或通過(guò)屬性描述元信息,并分配給對(duì)象。元信息還可以具有分層結(jié)構(gòu)。本發(fā)明的一個(gè)優(yōu)點(diǎn)是,不需要為了運(yùn)行軟件應(yīng)用程序而產(chǎn)生明顯的代碼。對(duì)象是具有用于讀取元數(shù)據(jù)的相應(yīng)訪問(wèn)機(jī)制的黑匣子。由樹(shù)結(jié)構(gòu)及樹(shù)元網(wǎng)絡(luò)可以確定運(yùn)行邏輯和由樹(shù)表示的軟件應(yīng)用程序的運(yùn)行順序。在運(yùn)行時(shí)可手動(dòng)或自動(dòng)改變的樹(shù)結(jié)構(gòu)及樹(shù)元網(wǎng)絡(luò)判定,用哪些操作數(shù)提供函數(shù),以及函數(shù)是順序還是并行執(zhí)行。在工業(yè)設(shè)備中,通過(guò)樹(shù)結(jié)構(gòu)和樹(shù)元網(wǎng)絡(luò)例如判定,用哪些輸入?yún)?shù)來(lái)提供設(shè)備,以及如何對(duì)該設(shè)備產(chǎn)生的輸出值作進(jìn)一步處理。在軟件開(kāi)發(fā)環(huán)境中,用戶對(duì)樹(shù)和網(wǎng)絡(luò)進(jìn)行圖形編輯。樹(shù)的顯示形式可以不同,并由用戶自由地或根據(jù)應(yīng)用選擇。樹(shù)元網(wǎng)絡(luò)或分支(Verzeigerung)可以通過(guò)在樹(shù)中的分層設(shè)置進(jìn)行。但樹(shù)元的聯(lián)網(wǎng)或分支可以通過(guò)用戶編輯的引用或橫向聯(lián)網(wǎng)到其它分枝的元素來(lái)進(jìn)行。用于產(chǎn)生樹(shù)和用于建立網(wǎng)絡(luò)的輸入可以通過(guò)輸入掩碼、拖放機(jī)制或通過(guò)語(yǔ)言輸入來(lái)進(jìn)行。
為各對(duì)象分配其實(shí)現(xiàn),即對(duì)象的代碼和元信息。通過(guò)在運(yùn)行時(shí)由預(yù)先產(chǎn)生的對(duì)象組成軟件應(yīng)用程序,(例如自動(dòng)借助應(yīng)用處理中的元數(shù)據(jù)),可以取消用于生成待產(chǎn)生軟件應(yīng)用程序代碼的明顯的編譯階段。編譯運(yùn)行可能持續(xù)非常長(zhǎng)的時(shí)間。通過(guò)不必產(chǎn)生明顯的編譯運(yùn)行,最小化了產(chǎn)生軟件應(yīng)用程序、測(cè)試和運(yùn)行的時(shí)間。
另一個(gè)優(yōu)點(diǎn)在于,更改很容易實(shí)施。可以隨時(shí)補(bǔ)充、更改或刪除分枝,而無(wú)需改變整個(gè)樹(shù)結(jié)構(gòu)。企業(yè)的靈活性也因此而提高,因?yàn)榭梢詫?duì)更改后的市場(chǎng)需求進(jìn)行更為快速的反應(yīng)。這一點(diǎn)在軟件應(yīng)用程序用于控制自動(dòng)化系統(tǒng)、生產(chǎn)設(shè)備或MES系統(tǒng)時(shí)特別重要。但根據(jù)本發(fā)明的軟件應(yīng)用程序優(yōu)選可以用于辦公領(lǐng)域。
對(duì)象之間的聯(lián)網(wǎng)、分支或引用可以按照不同的粒度(Granularitt)進(jìn)行。這樣,例如可以通過(guò)指向物理地址(通過(guò)指針)進(jìn)行聯(lián)網(wǎng),由此達(dá)到較高的效率(例如在過(guò)程運(yùn)行內(nèi))。其它聯(lián)網(wǎng)機(jī)制例如是電子信息(例如E-Mail)、電話或傳真。根據(jù)作為基礎(chǔ)的應(yīng)用程序的要求,用戶可以選擇相應(yīng)的聯(lián)網(wǎng)機(jī)制。
通過(guò)適當(dāng)?shù)能浖_(kāi)發(fā)環(huán)境來(lái)支持本方法。這樣,在知識(shí)庫(kù)中具有已經(jīng)產(chǎn)生的對(duì)象,其可以通過(guò)拖放或其它輸入輔助工具(例如鍵盤(pán)、光筆)添加到樹(shù)中。此外,如果用于顯示和產(chǎn)生樹(shù)的顯示裝置可以分布在不同的顯示屏區(qū)域中(窗技術(shù)),則是很有利的。本發(fā)明意義下的對(duì)象是那些在產(chǎn)生軟件應(yīng)用程序時(shí)采用的、但也是運(yùn)行時(shí)對(duì)象的對(duì)象。運(yùn)行時(shí)對(duì)象是在系統(tǒng)(例如應(yīng)用程序)的運(yùn)行時(shí)實(shí)施該系統(tǒng)邏輯的對(duì)象。
根據(jù)本發(fā)明的方法還適用于產(chǎn)生過(guò)程控制系統(tǒng)和制造自動(dòng)化系統(tǒng)的軟件應(yīng)用程序。
本發(fā)明的方法的第一優(yōu)選實(shí)施方式在于,可以在運(yùn)行時(shí)更換對(duì)象和/或引用機(jī)制和/或聯(lián)網(wǎng)機(jī)制和/或?qū)ο蟮膶?shí)現(xiàn)。通過(guò)在運(yùn)行時(shí)可以將對(duì)象更換為其它對(duì)象,例如更換為具有擴(kuò)展功能的對(duì)象,或更換對(duì)象的實(shí)現(xiàn)(新實(shí)現(xiàn)例如消除了錯(cuò)誤或具有更好的性能),或更換引用機(jī)制和聯(lián)網(wǎng)機(jī)制,明顯減少了更改中的周轉(zhuǎn)時(shí)間。由此為用戶和設(shè)備的運(yùn)行者提高了靈活度,也提高了企業(yè)的靈活性。對(duì)于元數(shù)據(jù)的求值不采用通常的編譯器,而是采用所謂的增量編譯器或解釋器,其只在更換時(shí)激活于對(duì)象本地。如果需要,對(duì)于新采用的對(duì)象產(chǎn)生增量代碼,并且增量編譯器或解釋器在運(yùn)行時(shí)將新采用的對(duì)象(或引用機(jī)制和/或聯(lián)網(wǎng)機(jī)制和/或新的對(duì)象實(shí)現(xiàn))又插入到樹(shù)中,而無(wú)需考慮樹(shù)的其它(無(wú)關(guān))分支。
本發(fā)明的方法的另一優(yōu)選實(shí)施方式在于,可以在運(yùn)行時(shí)向?qū)ο笱a(bǔ)充服務(wù)。這些服務(wù)采用對(duì)象本地的元數(shù)據(jù),以提供一般的(MES或控制)基礎(chǔ)功能。這種服務(wù)例如可以是序列化、復(fù)制、加密或訪問(wèn)保護(hù)。由此可以利用所謂的“服務(wù)質(zhì)量”來(lái)建立對(duì)象。對(duì)象的使用者可以信任這些服務(wù)的實(shí)施,并且不考慮這些服務(wù)的實(shí)現(xiàn)。
本發(fā)明的方法的另一優(yōu)選實(shí)施方式在于,可以將引用機(jī)制或聯(lián)網(wǎng)機(jī)制或服務(wù)的實(shí)現(xiàn)用于數(shù)據(jù)和程序。由此,這些機(jī)制和服務(wù)不必分別針對(duì)數(shù)據(jù)和程序單獨(dú)實(shí)施。此外,元信息可以按照相同方式添加到所有對(duì)象(是數(shù)據(jù)還是程序都無(wú)所謂),還可以對(duì)所有對(duì)象都按照相同方式訪問(wèn)元信息。
本發(fā)明的方法的另一優(yōu)選實(shí)施方式在于,對(duì)象靜態(tài)和/或動(dòng)態(tài)地聯(lián)網(wǎng)。聯(lián)網(wǎng)(及分支或引用)可以在手動(dòng)產(chǎn)生樹(shù)時(shí)靜態(tài)地進(jìn)行,但是也可以基于當(dāng)前信息或元信息自動(dòng)產(chǎn)生(例如根據(jù)需要)。由此為用戶提高了靈活度??梢酝ㄟ^(guò)不同機(jī)制和實(shí)現(xiàn)調(diào)整聯(lián)網(wǎng)例如指向?qū)ο蟮闹羔?、發(fā)送給對(duì)象的E-Mail或通過(guò)OPC協(xié)議(過(guò)程控制的OLE)進(jìn)行的聯(lián)網(wǎng)。尤其是在工業(yè)領(lǐng)域經(jīng)常采用OPC協(xié)議。其它可用于聯(lián)網(wǎng)或邏輯連接的技術(shù)或?qū)崿F(xiàn)例如是MSMQ(Microsoft消息隊(duì)列)、HTTP(超文本發(fā)送協(xié)議)或SOAP(簡(jiǎn)單對(duì)象發(fā)送協(xié)議)。
本發(fā)明的方法的另一優(yōu)選實(shí)施方式在于,對(duì)象物理地包含元信息。由此,在產(chǎn)生軟件應(yīng)用程序時(shí)支持本地原則,也就是說(shuō),所有對(duì)一個(gè)對(duì)象來(lái)說(shuō)重要的信息(元信息也是)也是物理地存在于對(duì)象中。由此簡(jiǎn)化了對(duì)這些信息的訪問(wèn)。通過(guò)使對(duì)象物理地包含元信息,對(duì)象自身也可以用于獨(dú)立地組織、重組或重新配置軟件應(yīng)用程序,這取決于在對(duì)象中具有哪些元信息(類型和范圍)。這對(duì)于移動(dòng)對(duì)象是特別有利的,例如對(duì)于互聯(lián)網(wǎng)中(或其它聯(lián)網(wǎng)系統(tǒng)例如企業(yè)內(nèi)部網(wǎng)絡(luò))在計(jì)算機(jī)之間移動(dòng)的軟件代理,從而例如在各計(jì)算機(jī)本地收集例如用于維護(hù)系統(tǒng)的高性能設(shè)備信息。
本發(fā)明的方法的另一優(yōu)選實(shí)施方式在于,元信息包含靜態(tài)和/或動(dòng)態(tài)的對(duì)象模型。這些模型例如是類及其關(guān)系、狀態(tài)/事件模型、活動(dòng)模型、配置模型或域模型(例如汽車制造、化肥生產(chǎn)等特殊領(lǐng)域的MES過(guò)程模型)。這對(duì)于一般的軟件開(kāi)發(fā)或軟件產(chǎn)生器來(lái)說(shuō)特別有利。
本發(fā)明方法的另一優(yōu)選實(shí)施方式在于,元信息描述應(yīng)用或交易過(guò)程。如果元信息不僅包含關(guān)于對(duì)象本身的信息,還包含關(guān)于整個(gè)軟件應(yīng)用程序、使用環(huán)境或待實(shí)現(xiàn)交易過(guò)程(或商業(yè)邏輯)的信息,則由此簡(jiǎn)化軟件應(yīng)用程序的配置,直至可以自動(dòng)進(jìn)行配置。再配置(例如系統(tǒng)崩潰或部分系統(tǒng)失靈之后)也可以在無(wú)人工干預(yù)的情況下自動(dòng)進(jìn)行。由此提高了企業(yè)的靈活性和生產(chǎn)設(shè)備的可控性。
本發(fā)明的方法的另一優(yōu)選實(shí)施方式在于,每一單個(gè)對(duì)象都包含關(guān)于該應(yīng)用或交易過(guò)程的全部元信息。這意味著在軟件應(yīng)用程序或軟件系統(tǒng)中,在每一單個(gè)對(duì)象(例如在最小標(biāo)簽中、在每個(gè)變量或每個(gè)操作數(shù)中,也就是在整個(gè)精細(xì)粒度對(duì)象中)包含對(duì)應(yīng)用或交易過(guò)程的整個(gè)描述。通過(guò)這些信息可以將每一單個(gè)對(duì)象用于系統(tǒng)或交易過(guò)程的重組,但也可用于應(yīng)用的自組織。這在大部分系統(tǒng)失靈的系統(tǒng)故障時(shí)是非常有利的。系統(tǒng)可以由最小但還起作用的部分自己完全重建起來(lái)。由此,維護(hù)工程師不必費(fèi)事地忙于再次運(yùn)行。
本發(fā)明的方法的另一優(yōu)選實(shí)施方式在于,在顯示裝置上可以按照不同的方式顯示樹(shù)。樹(shù)的顯示可以是不同的,例如通過(guò)靜態(tài)瀏覽器的類似符號(hào)、或按照工作流或流程圖形式、或按照方框線路圖(例如電流流向圖)或設(shè)備圖(例如物理設(shè)備布局圖、材料流程圖)形式。由此,極大提高了用戶的靈活性,因?yàn)橛脩艨梢赃x擇對(duì)他來(lái)說(shuō)足夠的符號(hào)或顯示,從而查看在運(yùn)行時(shí)系統(tǒng)中存在的元信息。也可以在這些顯示形式之間交替。
本發(fā)明的方法的另一優(yōu)選實(shí)施方式在于,在出現(xiàn)故障的情況下軟件應(yīng)用程序自己進(jìn)行重新配置。如果在軟件應(yīng)用程序或軟件系統(tǒng)中,在每一單個(gè)對(duì)象(例如最小標(biāo)簽、每個(gè)變量或每個(gè)操作符中,也就是在整個(gè)精細(xì)粒度對(duì)象中)中都包含對(duì)應(yīng)用或交易過(guò)程的整個(gè)描述,則這些信息可以用于系統(tǒng)或交易過(guò)程的自動(dòng)重組,也就是應(yīng)用的自愈。用戶干涉不再是必需的,可以最小化靜止時(shí)間。由此,維護(hù)工程師不必費(fèi)事地忙于完成和閱讀文檔。
本發(fā)明的另一優(yōu)選實(shí)施方式在于集成到運(yùn)行時(shí)系統(tǒng)中的軟件開(kāi)發(fā)環(huán)境,其中通過(guò)視圖訪問(wèn)可選擇的功能。由此將傳統(tǒng)的軟件開(kāi)發(fā)環(huán)境減少為顯示和編輯器,利用該顯示和編輯器可以直接觀察和修改運(yùn)行時(shí)系統(tǒng)。這些配置原則或該體系結(jié)構(gòu)的優(yōu)點(diǎn)除了更為簡(jiǎn)單的運(yùn)行時(shí)系統(tǒng)可更改性之外還包括系統(tǒng)和數(shù)據(jù)的一致。這樣,可以通過(guò)由編輯器實(shí)現(xiàn)的視圖訪問(wèn)運(yùn)行時(shí)系統(tǒng)的應(yīng)用功能(服務(wù)觀點(diǎn)),或者進(jìn)行更改或擴(kuò)展(工程或維護(hù)觀點(diǎn))。
本發(fā)明的另一優(yōu)選實(shí)施方式在于,通過(guò)計(jì)算機(jī)程序?qū)⒏鶕?jù)本發(fā)明的軟件應(yīng)用程序或方法與軟件開(kāi)發(fā)環(huán)境集成在一起。由此容易地實(shí)現(xiàn)了可能的修改或匹配。
本發(fā)明的另一優(yōu)選實(shí)施方式在于,用于本發(fā)明方法或軟件開(kāi)發(fā)環(huán)境的計(jì)算機(jī)程序存儲(chǔ)在數(shù)據(jù)載體上。由此可以關(guān)于邏輯和分配而方便地應(yīng)用本方法。數(shù)據(jù)載體例如是普通的計(jì)算機(jī)程序產(chǎn)品,例如軟盤(pán)或CD。
本發(fā)明的另一優(yōu)選實(shí)施方式在于,用于本發(fā)明方法或軟件開(kāi)發(fā)環(huán)境的計(jì)算機(jī)程序安裝在數(shù)據(jù)處理裝置中。由此提高了性能。
本發(fā)明的其它優(yōu)點(diǎn)和細(xì)節(jié)借助下面對(duì)優(yōu)選實(shí)施例的描述并結(jié)合附圖給出。只要在不同圖中具有描述相同功能的元件,這些元件都用相同的附圖標(biāo)記表示。其中示出圖1是按照原理概貌圖形式的具有3個(gè)控制層的“企業(yè)金字塔”,圖2是具有傳統(tǒng)軟件開(kāi)發(fā)環(huán)境、運(yùn)行時(shí)系統(tǒng)和受控技術(shù)過(guò)程的示意圖,圖3是對(duì)象的示意圖,圖4是軟件應(yīng)用程序的樹(shù)結(jié)構(gòu),圖5是樹(shù)的顯示方式,圖6是樹(shù)的另一種顯示方式,圖7是具有運(yùn)行時(shí)系統(tǒng)和受控技術(shù)過(guò)程的示意圖,其中將軟件開(kāi)發(fā)環(huán)境的功能集成到運(yùn)行時(shí)系統(tǒng)中,以及圖8是在一幅圖中示出的確定軟件體系結(jié)構(gòu)的要素。
具體實(shí)施例方式
圖1按照原理概貌圖的形式示出3個(gè)控制層,如通常在生產(chǎn)或制造企業(yè)中看到的那樣。通過(guò)金字塔形表達(dá)出向上信息密集。最上層是ERP(企業(yè)資源規(guī)劃)層。在該企業(yè)領(lǐng)導(dǎo)層中,通常進(jìn)行企業(yè)中的企業(yè)經(jīng)濟(jì)和銷售任務(wù)(例如財(cái)務(wù)、銷售、人力資源、報(bào)告)。但是在該層也進(jìn)行延伸到生產(chǎn)設(shè)備的后勤任務(wù)(例如訂單和物資管理)。系統(tǒng)SAP R/3是在企業(yè)領(lǐng)導(dǎo)層常使用的ERP系統(tǒng)。
金字塔的最底層是自動(dòng)化層(控制)。在該層通常采用與可視化系統(tǒng)和過(guò)程控制系統(tǒng)(PLS)連接的可編程存儲(chǔ)控制器(SPS)。生產(chǎn)和/或制造設(shè)備的傳動(dòng)器、執(zhí)行器和傳感器直接與該層的系統(tǒng)連接。
ERP層和自動(dòng)化層的連接由MES層構(gòu)成。由此,MES層的應(yīng)用程序提供ERP層和自動(dòng)化層之間的縱向集成。MES應(yīng)用程序必須一方面為ERP系統(tǒng)的粗略規(guī)劃補(bǔ)充特定于生產(chǎn)設(shè)備的精細(xì)計(jì)劃并傳遞到自動(dòng)化層的系統(tǒng),另一方面,MES應(yīng)用程序的任務(wù)還包括接收自動(dòng)化層的與生產(chǎn)有關(guān)的數(shù)據(jù),處理這些數(shù)據(jù),并傳遞到ERP層(企業(yè)領(lǐng)導(dǎo)層),以及優(yōu)化生產(chǎn)過(guò)程。
典型的MES應(yīng)用程序除其它之外還包括質(zhì)量管理(QM)、維護(hù)管理(MM)、性能分析(PA)、過(guò)程管理、勞動(dòng)管理、資產(chǎn)管理。在圖1中,用3個(gè)點(diǎn)表達(dá)了在一個(gè)層中還可以具有其它元素(應(yīng)用、系統(tǒng)等等)。
MES系統(tǒng)或ERP系統(tǒng)一般包含所謂的運(yùn)行時(shí)系統(tǒng),用于在時(shí)間上控制所涉及的組件(運(yùn)行系統(tǒng)的分組件、模塊、任務(wù)、過(guò)程等)的運(yùn)行,以及所謂的工程系統(tǒng),用于產(chǎn)生和編輯要在運(yùn)行時(shí)系統(tǒng)中運(yùn)行的程序。
圖2示出具有傳統(tǒng)軟件開(kāi)發(fā)環(huán)境SU、運(yùn)行時(shí)系統(tǒng)RTS和受控技術(shù)過(guò)程TP1的示意圖。當(dāng)前,軟件應(yīng)用程序是有計(jì)劃和工程性地產(chǎn)生的。為此采用普通的工具(所謂的CASE工具,CASE表示計(jì)算機(jī)輔助軟件工程)。通過(guò)CASE工具支持方法和標(biāo)準(zhǔn)的保持,從而提高軟件開(kāi)發(fā)者的效率,但也提高所產(chǎn)生的軟件的質(zhì)量。通過(guò)軟件開(kāi)發(fā)環(huán)境SU將CASE工具提供給軟件開(kāi)發(fā)者。軟件開(kāi)發(fā)環(huán)境SU是軟件制造者工作場(chǎng)所的一部分。軟件開(kāi)發(fā)環(huán)境SU在軟件開(kāi)發(fā)的所有階段支持軟件制造者,也就是從早期的分析階段直到測(cè)試的后期階段。對(duì)于軟件開(kāi)發(fā)的所有階段,都為軟件開(kāi)發(fā)者提供合適的服務(wù)程序,例如編輯器、編譯器、調(diào)試器、但也可以包括用于分析和設(shè)計(jì)的工具。
軟件開(kāi)發(fā)者的工作場(chǎng)所通常由計(jì)算單元、輸入輔助工具以及軟件開(kāi)發(fā)所需的輔助程序(如編輯器、編譯器等)組成,計(jì)算單元具有處理器和存儲(chǔ)器以及諸如屏幕、顯示器等的輸出單元,輸入輔助工具例如是鍵盤(pán)和鼠標(biāo)。軟件開(kāi)發(fā)者可以通過(guò)合適的軟件開(kāi)發(fā)環(huán)境SU非常容易地調(diào)用和使用輔助程序?,F(xiàn)代軟件開(kāi)發(fā)環(huán)境SU此外還使得訪問(wèn)配置管理工具和修改管理工具成為可能。
當(dāng)前,現(xiàn)代軟件開(kāi)發(fā)環(huán)境SU尤其支持面向?qū)ο蟮那樾?,例如產(chǎn)生對(duì)象、產(chǎn)生類、產(chǎn)生上級(jí)類以及顯示繼承關(guān)系。如果對(duì)象構(gòu)造為分層樹(shù)并也相互聯(lián)網(wǎng),則通過(guò)適當(dāng)?shù)木庉嬈?、?biāo)記或通過(guò)拖放機(jī)制,可將對(duì)象與元信息相關(guān)連。借助軟件開(kāi)發(fā)環(huán)境SU產(chǎn)生的軟件應(yīng)用程序必須最終在目標(biāo)系統(tǒng)或目標(biāo)計(jì)算機(jī)上執(zhí)行,以控制例如技術(shù)過(guò)程TP1。目標(biāo)系統(tǒng)通常由一個(gè)到多個(gè)具有處理器和存儲(chǔ)器以及運(yùn)行時(shí)系統(tǒng)RTS的計(jì)算單元組成。借助軟件開(kāi)發(fā)環(huán)境SU產(chǎn)生的程序通過(guò)信息路經(jīng)I加載到運(yùn)行時(shí)系統(tǒng)RTS上。通過(guò)輸入/輸出連接EA1為自動(dòng)化解決方案或MES解決方案控制作為基礎(chǔ)的技術(shù)過(guò)程。從運(yùn)行時(shí)系統(tǒng)RTS到技術(shù)過(guò)程TP1都通過(guò)EA連接EA1影響例如執(zhí)行器,從技術(shù)過(guò)程TP1回到運(yùn)行時(shí)系統(tǒng)RTS通過(guò)EA連接EA1提供例如傳感器數(shù)據(jù),然后在軟件應(yīng)用程序中進(jìn)一步處理這些傳感器數(shù)據(jù)。運(yùn)行時(shí)系統(tǒng)RTS也可以分布在多個(gè)計(jì)算單元上。
圖3示出具有對(duì)象界面OI的對(duì)象的示意圖。對(duì)象一般是目標(biāo)或域的元素或討論域。在面向?qū)ο蟮能浖_(kāi)發(fā)中,對(duì)象是物品或?qū)嵨?例如機(jī)器人、汽車、機(jī)器)的單個(gè)實(shí)例、人員(例如顧客、員工、專利律師)或真實(shí)世界的概念(例如訂單)或想象世界的概念(例如法人和自然人或組織)。對(duì)象具有確定定義的狀態(tài),并用特定定義的特性對(duì)其周圍環(huán)境做出反應(yīng)。此外,每個(gè)對(duì)象具有一個(gè)對(duì)象標(biāo)識(shí),以區(qū)別于其它所有對(duì)象,該對(duì)象標(biāo)識(shí)還允許訪問(wèn)特定的對(duì)象。一個(gè)對(duì)象可以了解一個(gè)或多個(gè)其它對(duì)象。在互相了解的對(duì)象之間存在聯(lián)系或分支、及聯(lián)網(wǎng)。通過(guò)一個(gè)對(duì)象的數(shù)據(jù)或?qū)傩灾狄约芭c其它對(duì)象的各種聯(lián)系確定該對(duì)象的狀態(tài)。通過(guò)一個(gè)對(duì)象的方法或操作集合定義該對(duì)象的特性。在面向?qū)ο蟮沫h(huán)境中,通過(guò)類來(lái)描述對(duì)象的類型。由該類型描述可以產(chǎn)生具體的實(shí)例,然后這些實(shí)例描述具體的可用程序語(yǔ)言描述的對(duì)象。借助對(duì)象圖表,可以用圖形顯示對(duì)象和它們之間的聯(lián)系。對(duì)象圖表的編輯器是軟件開(kāi)發(fā)環(huán)境(SU;圖2)的一部分。UML(統(tǒng)一建模語(yǔ)言)提供了一系列符號(hào)來(lái)圖形顯示面向?qū)ο蟮母拍?交易過(guò)程圖、狀態(tài)圖、活動(dòng)圖、協(xié)作圖、序列圖、類圖等等)。這些圖表可以由用戶利用軟件開(kāi)發(fā)環(huán)境(SU;圖2)來(lái)編輯和處理。
圖3的左側(cè)部分示出了對(duì)象通常包含的信息或元素。數(shù)據(jù)可以是諸如數(shù)值的簡(jiǎn)單事物,但也可以是諸如配方、訂單或存檔的復(fù)雜結(jié)構(gòu)。方法(通常也稱作操作)表示算法意義下的可實(shí)施行為。方法的集合確定一個(gè)由該類實(shí)例化的對(duì)象的特性。一個(gè)對(duì)象的方法可以由類似的客戶機(jī)-服務(wù)器體系結(jié)構(gòu)的其它對(duì)象采用或調(diào)用。此外對(duì)象還可以包含實(shí)現(xiàn)其方法所需的所謂的子對(duì)象。通過(guò)子對(duì)象確定一個(gè)對(duì)象的結(jié)構(gòu)化組成。
圖3在右側(cè)以陰影線示出所謂的容器。通過(guò)該容器實(shí)現(xiàn)對(duì)應(yīng)本發(fā)明的、用于保持元信息(Metainformationshaltung)的機(jī)制和用于訪問(wèn)這些元信息的機(jī)制。容器表示圍繞該對(duì)象的一個(gè)封裝界面,并且對(duì)對(duì)象的所有訪問(wèn)都只能通過(guò)界面OI進(jìn)行。通過(guò)該界面OI訪問(wèn)該對(duì)象的方法和數(shù)據(jù)以及元信息。由此,在訪問(wèn)數(shù)據(jù)、方法或元信息時(shí),用戶可以不考慮數(shù)據(jù)方法和元信息的實(shí)現(xiàn)。對(duì)對(duì)象的所有訪問(wèn)都通過(guò)界面OI進(jìn)行。由此,可以非常容易地實(shí)現(xiàn)對(duì)象的可再用性和可替換性。由此就是對(duì)復(fù)雜的系統(tǒng)、例如軟件系統(tǒng)中,也始終能通過(guò)同樣的方法和方式來(lái)訪問(wèn)對(duì)象。特別是,所謂的容器以對(duì)所有對(duì)象類型(例如商業(yè)對(duì)象)相同的方式提供了諸如數(shù)據(jù)聯(lián)網(wǎng)、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)可視化的基本功能。在該容器中,示意性示出了一個(gè)與人體細(xì)胞的DNA結(jié)構(gòu)相類似的雙螺旋。由此應(yīng)當(dāng)看出,一個(gè)對(duì)象包含部分或所有元信息,也就是還包含結(jié)構(gòu)信息和例如在交易過(guò)程中投入的邏輯。由此可以由一個(gè)對(duì)象組織或再組織起整個(gè)系統(tǒng)或整個(gè)應(yīng)用。由此可以最小化系統(tǒng)的故障時(shí)間,并非常有效地實(shí)施維護(hù)工作。
例如跟蹤功能屬于容器提供的基本功能,也就是誰(shuí)使用一個(gè)對(duì)象長(zhǎng)達(dá)多久。如已經(jīng)提到的,容器包含該對(duì)象的元信息、即自描述信息。由此也可以引入測(cè)量,但也可以引入安全機(jī)制。
圖4示出軟件應(yīng)用程序的樹(shù)結(jié)構(gòu)。在此將該對(duì)象顯示為雙圓。內(nèi)圓示意性示出對(duì)象的結(jié)構(gòu),如由圖3所知。對(duì)象的左側(cè)部分又示出數(shù)據(jù)方法和子對(duì)象,而右側(cè)陰影部分表示所謂的容器,該容器包含元信息并提供對(duì)象的基本信息。該容器表示對(duì)象的封裝界面。對(duì)該對(duì)象的訪問(wèn)只能通過(guò)由容器提供的對(duì)象界面OI進(jìn)行?;竟δ芾缡菙?shù)據(jù)聯(lián)網(wǎng)、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)可視化。通過(guò)容器以對(duì)所有對(duì)象相同的方式提供這些功能。
圍繞對(duì)象的外圓表示最終將對(duì)象嵌入系統(tǒng)的基本結(jié)構(gòu)中。該基本結(jié)構(gòu)的一個(gè)方面是聯(lián)網(wǎng)。聯(lián)網(wǎng)或分支可以極其精細(xì)?;剡M(jìn)行,例如通過(guò)存儲(chǔ)器指針進(jìn)行。但還可以通過(guò)因特網(wǎng)、電子郵件或電話連接進(jìn)行聯(lián)網(wǎng)或分支。
圖4通過(guò)對(duì)象之間的粗連接線示出對(duì)象是橫向相互連接的。這樣一種橫向連接在工業(yè)環(huán)境中可以是例如通過(guò)OPC(過(guò)程控制的OLE)的連接。這樣一種連接或基本結(jié)構(gòu)功能也可以通過(guò)消息隊(duì)列機(jī)制實(shí)現(xiàn)。對(duì)基本結(jié)構(gòu)服務(wù)或功能的訪問(wèn)可以由容器提供,并對(duì)一個(gè)樹(shù)中的所有對(duì)象都相同,也就是說(shuō)無(wú)論是B&B(操作和觀察)設(shè)備還是可編程存儲(chǔ)控制裝置(SPS)都相同。因此,也可以非常容易地更改基本結(jié)構(gòu)功能的實(shí)現(xiàn),因?yàn)橐?guī)范保持不變。也就是說(shuō),對(duì)象的外圓表示可以通過(guò)容器使用的基本結(jié)構(gòu)服務(wù)或基本結(jié)構(gòu)功能的集合。一次性實(shí)現(xiàn)的基本結(jié)構(gòu)功能可以由所有對(duì)象按照相同的方式使用。
圖4示出軟件體應(yīng)用程序,其中將對(duì)象結(jié)構(gòu)化為分層的樹(shù)。待實(shí)現(xiàn)的系統(tǒng)或軟件應(yīng)用程序包含具有數(shù)據(jù)庫(kù)DB的B&B設(shè)備,其中該B&B設(shè)備由可編程存儲(chǔ)控制裝置(SPS)控制。SPS通過(guò)輸入/輸出功能訪問(wèn)執(zhí)行器和傳感器。對(duì)象“執(zhí)行”對(duì)操作和觀察設(shè)備的結(jié)果進(jìn)行進(jìn)一步處理。在對(duì)象“執(zhí)行”中用于該進(jìn)一步處理的算法由位于對(duì)象“執(zhí)行”下方的部分樹(shù)表示。在此,利用函數(shù)F處理值X1,其中函數(shù)F獲得值X2作為輸入值。在完成執(zhí)行組件之后再進(jìn)行其它后處理,并通過(guò)對(duì)象“后處理1”和“后處理2”表示。在此例如是壓縮或顯示函數(shù)。在圖4中示出“后處理1”的后處理結(jié)果通過(guò)對(duì)象“進(jìn)一步處理”再經(jīng)過(guò)一個(gè)處理步驟。通過(guò)這種方式描述的軟件系統(tǒng)或軟件應(yīng)用程序當(dāng)然可以和其它以該方法和方式描述的軟件應(yīng)用程序一起成為上級(jí)域的一部分,在圖4中通過(guò)對(duì)象“域(world)”表示。
除了通過(guò)樹(shù)結(jié)構(gòu)預(yù)先給出的分層結(jié)構(gòu)化之外,還可以橫向或水平地將對(duì)象相互聯(lián)網(wǎng)、反射或分支。這在圖4中通過(guò)粗線表示。這種分支可以通過(guò)輸入掩模模型化,也可以通過(guò)拖放機(jī)制產(chǎn)生。
由軟件系統(tǒng)或軟件應(yīng)用程序?qū)崿F(xiàn)的功能是由樹(shù)對(duì)象的結(jié)構(gòu)、分層結(jié)構(gòu)和聯(lián)網(wǎng)給出的。根據(jù)作為基礎(chǔ)的遍歷算法可以處理和實(shí)施樹(shù)元素,即對(duì)象。軟件應(yīng)用程序的實(shí)施與人體神經(jīng)系統(tǒng)的功能相類似,其中各神經(jīng)元通過(guò)神經(jīng)結(jié)和神經(jīng)突起相互連接,并相互交換它們的活動(dòng),其中一個(gè)刺激觸發(fā)一個(gè)通過(guò)人體的脈沖鏈,并根據(jù)神經(jīng)元的聯(lián)網(wǎng)實(shí)現(xiàn)這樣的脈沖鏈。在根據(jù)本發(fā)明的系統(tǒng)或軟件應(yīng)用程序或軟件體系結(jié)構(gòu)中,例如當(dāng)傳感器向SPS傳遞一個(gè)結(jié)果并通過(guò)B&B設(shè)備采集該結(jié)果,然后啟動(dòng)一個(gè)執(zhí)行時(shí),還通過(guò)與人體內(nèi)神經(jīng)元(即圖4中的一個(gè)刺激)相類似的對(duì)象的結(jié)構(gòu)和聯(lián)網(wǎng),又引起用于后處理的“后處理1”和“后處理2”,其中“后處理1”在該后處理之后再初始化一個(gè)后處理。通過(guò)這種方法和方式產(chǎn)生的軟件應(yīng)用程序具有非常有利的特性。這樣,可以在運(yùn)行時(shí)才組成應(yīng)用所需的對(duì)象,由此這些應(yīng)用的可更改性和靈活性非常大。在更改時(shí)不必首先編譯對(duì)象??梢苑浅H菀椎丶尚虑度朐撓到y(tǒng)、并代替另一對(duì)象的對(duì)象,如果該對(duì)象具有與待替代的對(duì)象相同的界面、規(guī)范,并只能在實(shí)施時(shí)才例如通過(guò)改善的性能變化的話。
圖5示出樹(shù)的顯示形狀。在圖5中將顯示裝置AZ1表示為具有兩個(gè)顯示屏區(qū)域BB1和BB2。顯示裝置AZ1可以例如是一個(gè)監(jiān)視器或顯示器。顯示裝置AZ1通常是軟件開(kāi)發(fā)環(huán)境(SU;圖2)的一個(gè)元素。借助顯示裝置和輸入輔助裝置例如鍵盤(pán)或鼠標(biāo),在顯示屏上產(chǎn)生對(duì)象,將對(duì)象分層地結(jié)構(gòu)化為樹(shù),并相互聯(lián)網(wǎng)或分支,但具有元信息或其它信息??梢韵胂?,顯示裝置AZ1還包含其它顯示屏區(qū)域用于顯示樹(shù),以實(shí)現(xiàn)輸入(例如菜單)。軟件應(yīng)用程序在運(yùn)行時(shí)由樹(shù)的對(duì)象組成。結(jié)構(gòu)對(duì)于處理對(duì)象很重要,但對(duì)象的聯(lián)網(wǎng)也很重要。如果用戶(例如系統(tǒng)整合者或維護(hù)工程師)希望進(jìn)行改變,則他需要顯示樹(shù),該顯示迎合其相應(yīng)的要求和需要。在顯示中,如在圖5左側(cè)的顯示屏區(qū)域BB1中顯示的,示出具有樹(shù)元素K1、K2、K3、K4的樹(shù)OB1,而且是用類似于Explore瀏覽器的符號(hào)。如顯示屏區(qū)域BB2種所示出的,樹(shù)的顯示對(duì)應(yīng)于一個(gè)例如用于電流流向圖的符號(hào)。在顯示屏區(qū)域BB2示出的元素K1’和K2’通過(guò)分別用直線相互連接的輸入變量(x1、x2)和輸出變量(r1、r2)顯示為樹(shù)結(jié)構(gòu)。電學(xué)家對(duì)電流流向圖形式的顯示尤其感興趣,因?yàn)殡妼W(xué)家是在電流流向圖中思考的。通過(guò)輸入輔助裝置可以更改樹(shù)的表示,并為各用戶組選擇最實(shí)際的顯示。用戶組例如是維護(hù)工程師、系統(tǒng)整合者、開(kāi)發(fā)人員,但也可以是市場(chǎng)和銷售人員。
圖6示出另一種可以在顯示裝置AZ2上顯示的樹(shù)。圖6的左側(cè)部分按照類似Explore瀏覽器的結(jié)構(gòu)示出具有對(duì)象樹(shù)OB2的顯示屏區(qū)域BB1’。圖6的右側(cè)部分示出顯示屏區(qū)域BB2’,其中將特別是有利于顯示交易流程的符號(hào)用于顯示樹(shù)。在企業(yè)的財(cái)務(wù)部門(mén)或管理部門(mén)的人在這種交易過(guò)程流程圖(商業(yè)流程)中進(jìn)行思考。通過(guò)在不同顯示形式之間交替的可能性提高了在產(chǎn)生樹(shù)或改變樹(shù)過(guò)程中的用戶友好性和效率。用戶可以由此不考慮樹(shù)的內(nèi)部表示或?qū)崿F(xiàn)。在產(chǎn)生樹(shù)或改變樹(shù)的過(guò)程中,不需要進(jìn)行新的編程,而是所有的都可以進(jìn)行投影。這對(duì)產(chǎn)生軟件應(yīng)用程序過(guò)程中提高效率是有利的,但也有利于產(chǎn)生軟件體系結(jié)構(gòu)。
圖7示出具有擴(kuò)展的運(yùn)行時(shí)系統(tǒng)RTS/SU和受控技術(shù)過(guò)程TP2的示意圖,其中軟件開(kāi)發(fā)環(huán)境的功能集成到擴(kuò)展的運(yùn)行時(shí)系統(tǒng)RTS/SU中。通過(guò)視圖可以訪問(wèn)各自所需的功能。在圖7中示出開(kāi)發(fā)視圖(SU視野)、操作視圖(操作員視野)和維護(hù)視圖(維護(hù)視野)。通過(guò)3個(gè)點(diǎn)表示可以具有其它視圖。擴(kuò)展的運(yùn)行時(shí)系統(tǒng)RTS/SU包含用于開(kāi)發(fā)和更改運(yùn)行時(shí)系統(tǒng)的基礎(chǔ)設(shè)施。與受控技術(shù)過(guò)程TP2的連接通過(guò)輸入/輸出連接EA2進(jìn)行。
本發(fā)明的重要作用是,通過(guò)運(yùn)行時(shí)系統(tǒng)RTS/SU覆蓋大部分傳統(tǒng)軟件開(kāi)發(fā)環(huán)境(SU;圖2)的功能。元數(shù)據(jù)大部分是在開(kāi)發(fā)中積累的數(shù)據(jù)。由此運(yùn)行時(shí)系統(tǒng)和軟件開(kāi)發(fā)環(huán)境可以說(shuō)是相互融合,并且不必再形成為分離的組件??筛牡南到y(tǒng)在運(yùn)行時(shí)包含很多當(dāng)前只在開(kāi)發(fā)環(huán)境中具有的要素(模型化、可視化、編譯化等等)。傳統(tǒng)軟件開(kāi)發(fā)環(huán)境放棄了可以用來(lái)直接觀察和更改運(yùn)行時(shí)系統(tǒng)的顯示和編輯器。
該結(jié)構(gòu)原理或體系結(jié)構(gòu)的優(yōu)點(diǎn)除了更為簡(jiǎn)單的運(yùn)行時(shí)系統(tǒng)可更改性之外還包括系統(tǒng)一致性。包含或引用元數(shù)據(jù)的所有組件都是自描述的。組件的結(jié)構(gòu)給出整個(gè)系統(tǒng)描述。也就是說(shuō),正如系統(tǒng)總是在改變(例如插入或取出元件組),視圖(工程視野)始終顯示當(dāng)前存在的系統(tǒng)。UML圖、商業(yè)過(guò)程圖、電流流向圖、設(shè)備圖總是當(dāng)前的。
圖8以一幅圖示出確定軟件體系結(jié)構(gòu)SA的要素。軟件體系結(jié)構(gòu)SA的產(chǎn)生需要抽象和概念性思維。根據(jù)本發(fā)明提出的體系結(jié)構(gòu)保證了,在分析階段和設(shè)計(jì)階段之間不會(huì)出現(xiàn)結(jié)構(gòu)中斷。在分析階段中,標(biāo)識(shí)軟件體系結(jié)構(gòu)所需的對(duì)象,將該對(duì)象與元信息相關(guān)連,并將對(duì)象結(jié)構(gòu)化為分層結(jié)構(gòu)的樹(shù)。此外,還可以橫向和水平地將對(duì)象聯(lián)網(wǎng),并通過(guò)通信機(jī)制相互通信或與周圍環(huán)境通信。建立在軟件體系結(jié)構(gòu)上的軟件應(yīng)用程序的功能由對(duì)象的結(jié)構(gòu)相互確定。然后在運(yùn)行時(shí)將這些對(duì)象組成為一個(gè)軟件應(yīng)用程序,其中軟件應(yīng)用程序內(nèi)在地包含由軟件體系結(jié)構(gòu)預(yù)先給定的原理。由此保證不會(huì)出現(xiàn)設(shè)計(jì)中斷。
軟件體系結(jié)構(gòu)必須考慮不同的要素、觀點(diǎn)或所謂的視野。其中包括最后通過(guò)基于軟件體系結(jié)構(gòu)的軟件應(yīng)用程序?qū)崿F(xiàn)的功能。該功能通常、并特別是位于對(duì)象的方法或操作中。特性和動(dòng)態(tài)性尤其是通過(guò)對(duì)象的相互協(xié)調(diào)或通過(guò)對(duì)象中具有的操作的相互協(xié)調(diào)來(lái)確定。數(shù)據(jù)要素通常由屬性確定。此外,屬性確定對(duì)象的狀態(tài),其中狀態(tài)還通過(guò)與其它對(duì)象的各個(gè)聯(lián)系確定。結(jié)構(gòu)要素包含具有對(duì)象的樹(shù)的分層結(jié)構(gòu),其中樹(shù)與其對(duì)象的關(guān)系是“樹(shù)由對(duì)象組成”。但在軟件體系結(jié)構(gòu)中,結(jié)構(gòu)要素還通過(guò)“樹(shù)是一個(gè)對(duì)象”關(guān)系引入。在軟件體系結(jié)構(gòu)中,通信要素非常重要,因?yàn)橥ㄟ^(guò)所采用的通信機(jī)制保證用于應(yīng)用的對(duì)象可以互相交換數(shù)據(jù),也就是可以相互通信。通信機(jī)制例如是MQ(消息隊(duì)列)、諸如COM、DCOM或CORBA的所謂中間件平臺(tái),或者基于它們的層,例如OPC協(xié)議(過(guò)程控制的OLE)。通信機(jī)制的選擇對(duì)軟件體系結(jié)構(gòu)有著決定性的影響。由此還影響同步機(jī)制和分支能力。
非功能性的特性要素對(duì)當(dāng)前軟件體系結(jié)構(gòu)以及基于軟件體系結(jié)構(gòu)的軟件應(yīng)用程序來(lái)說(shuō)越來(lái)越重要。非功能性特性例如是可更改性、效率、可靠性、可測(cè)試性或可重復(fù)使用性。在軟件體系結(jié)構(gòu)中對(duì)元信息的有針對(duì)性和明確的使用要求極大地滿足非功能性特性。由于各對(duì)象不僅通過(guò)自身,還通過(guò)其中采用這些對(duì)象的應(yīng)用,或者在其中采用這些對(duì)象的交易過(guò)程中包含元信息,可以非常容易地實(shí)施軟件應(yīng)用程序的自組織,也就是可以進(jìn)行自動(dòng)恢復(fù),而無(wú)需人工干預(yù)。所述對(duì)于軟件體系結(jié)構(gòu)重要的要素通常由用戶利用具有相應(yīng)程序編輯器的CASE(計(jì)算機(jī)輔助軟件工程)工具模式化或編輯。該CASE工具是軟件開(kāi)發(fā)環(huán)境(SU;圖2)的組成部分。除其它外,向方法提供UML(統(tǒng)一模型化語(yǔ)言)的圖表適合于描述軟件體系結(jié)構(gòu),如本發(fā)明建議的。
元信息可以通過(guò)使用標(biāo)記語(yǔ)言非常靈巧和簡(jiǎn)單的耦合或引入到對(duì)象和系統(tǒng)中。尤其是XML(擴(kuò)展標(biāo)記語(yǔ)言)提供了形式化元信息的可能。元信息在XML中可以例如存儲(chǔ)為元素(由開(kāi)始標(biāo)簽和結(jié)束標(biāo)簽包圍起來(lái))或?qū)傩?直接集成到開(kāi)始標(biāo)簽中)。
總而言之,本發(fā)明涉及軟件應(yīng)用程序、軟件體系結(jié)構(gòu)和尤其是為MES系統(tǒng)產(chǎn)生軟件應(yīng)用程序的方法,其中軟件應(yīng)用程序、尤其是MES應(yīng)用程序的對(duì)象(具有數(shù)據(jù)、屬性、特性和功能)與元信息相關(guān)連,對(duì)象結(jié)構(gòu)化為分層樹(shù)(其中可以選擇不同的顯示形式),并且對(duì)象相互分支或聯(lián)網(wǎng)(橫向或水平的)。在運(yùn)行時(shí),對(duì)象組成為軟件應(yīng)用程序,其中軟件應(yīng)用程序的整個(gè)功能由分層樹(shù)的結(jié)構(gòu)導(dǎo)出??梢詾镸ES系統(tǒng)、自動(dòng)化系統(tǒng)、工業(yè)控制設(shè)備(運(yùn)動(dòng)控制設(shè)備也是)和辦公設(shè)備產(chǎn)生軟件應(yīng)用程序或軟件體系結(jié)構(gòu)。
上述本發(fā)明的軟件應(yīng)用程序或軟件開(kāi)發(fā)環(huán)境可以用公知語(yǔ)言實(shí)現(xiàn)為計(jì)算機(jī)程序。這樣實(shí)現(xiàn)的計(jì)算機(jī)程序可以同樣以公知方式通過(guò)電子數(shù)據(jù)路徑存儲(chǔ)和傳輸。
權(quán)利要求
1.一種軟件應(yīng)用程序、尤其是MES應(yīng)用程序,具有包含和/或引用數(shù)據(jù)和/或?qū)傩院?或特性的對(duì)象,其中所述對(duì)象在至少一個(gè)計(jì)算機(jī)單元上運(yùn)行和/或存儲(chǔ),其特征在于,-所述對(duì)象(K1-K4,K1’-K4’)在運(yùn)行時(shí)與元信息相關(guān)連,-所述對(duì)象(K1-K4,K1’-K4’)在運(yùn)行時(shí)結(jié)構(gòu)化為分層樹(shù)(OB1,OB2),-所述對(duì)象(K1-K4,K1’-K4’)在運(yùn)行時(shí)橫向和/或水平地聯(lián)網(wǎng)和/或引用,以及-軟件應(yīng)用程序在運(yùn)行時(shí)由所述對(duì)象(K1-K4,K1’-K4’)組成,其中該軟件應(yīng)用程序的整個(gè)功能由分層樹(shù)(OB1,OB2)的結(jié)構(gòu)以及樹(shù)中對(duì)象的聯(lián)網(wǎng)導(dǎo)出。
2.根據(jù)權(quán)利要求1所述的軟件應(yīng)用程序,其特征在于,可以在運(yùn)行時(shí)更換所述對(duì)象(K1-K4,K1’-K4’)和/或引用機(jī)制和/或聯(lián)網(wǎng)機(jī)制和/或?qū)ο蟮膶?shí)現(xiàn)。
3.根據(jù)權(quán)利要求1或2所述的軟件應(yīng)用程序,其特征在于,可以在運(yùn)行時(shí)向所述對(duì)象(K1-K4,K1’-K4’)附加服務(wù)。
4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的軟件應(yīng)用程序,其特征在于,可以將引用機(jī)制或聯(lián)網(wǎng)機(jī)制或服務(wù)的實(shí)現(xiàn)用于數(shù)據(jù)和程序。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的軟件應(yīng)用程序,其特征在于,所述對(duì)象(K1-K4,K1’-K4’)靜態(tài)和/或動(dòng)態(tài)地聯(lián)網(wǎng)。
6.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的軟件應(yīng)用程序,其特征在于,所述對(duì)象(K1-K4,K1’-K4’)物理地包含元信息。
7.根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的軟件應(yīng)用程序,其特征在于,所述元信息包含靜態(tài)和/或動(dòng)態(tài)的對(duì)象模型。
8.根據(jù)權(quán)利要求1至7中任一項(xiàng)所述的軟件應(yīng)用程序,其特征在于,所述元信息描述應(yīng)用或交易過(guò)程。
9.根據(jù)權(quán)利要求1至8中任一項(xiàng)所述的軟件應(yīng)用程序,其特征在于,每一單個(gè)對(duì)象(K1-K4,K1’-K4’)都包含關(guān)于該應(yīng)用或交易過(guò)程的總的元信息。
10.根據(jù)權(quán)利要求1至9中任一項(xiàng)所述的軟件應(yīng)用程序,其特征在于,在顯示裝置(AZ1,AZ2)上可以按照不同的視野顯示樹(shù)(OB1,OB2)。
11.根據(jù)權(quán)利要求1至10中任一項(xiàng)所述的軟件應(yīng)用程序,其特征在于,在出現(xiàn)故障的情況下軟件應(yīng)用程序自己進(jìn)行重新配置。
12.一種尤其是用于MES應(yīng)用程序的軟件體系結(jié)構(gòu),具有包含和/或引用數(shù)據(jù)和/或?qū)傩院?或特性的對(duì)象,其中所述對(duì)象在至少一個(gè)計(jì)算機(jī)單元上運(yùn)行和/或存儲(chǔ),其特征在于,-所述對(duì)象(K1-K4,K1’-K4’)在運(yùn)行時(shí)與元信息相關(guān)連,-所述對(duì)象(K1-K4,K1’-K4’)在運(yùn)行時(shí)結(jié)構(gòu)化為分層樹(shù)(OB1,OB2),-所述對(duì)象(K1-K4,K1’-K4’)在運(yùn)行時(shí)橫向和/或水平地聯(lián)網(wǎng)和/或引用,-所述對(duì)象(K1-K4,K1’-K4’)在運(yùn)行時(shí)通過(guò)通信機(jī)制相互和/或與周圍環(huán)境進(jìn)行通信,以及-軟件應(yīng)用程序在運(yùn)行時(shí)由所述對(duì)象(K1-K4,K1’-K4’)組成,其中基于該軟件體系結(jié)構(gòu)的軟件應(yīng)用程序的整個(gè)功能由分層樹(shù)(OB1,OB2)的結(jié)構(gòu)以及樹(shù)中對(duì)象的聯(lián)網(wǎng)確定。
13.根據(jù)權(quán)利要求12所述的軟件體系結(jié)構(gòu),其特征在于,可以在運(yùn)行時(shí)更換所述對(duì)象(K1-K4,K1’-K4’)和/或引用機(jī)制和/或聯(lián)網(wǎng)機(jī)制和/或?qū)ο蟮膶?shí)現(xiàn)和/或通信機(jī)制。
14.根據(jù)權(quán)利要求12或13所述的軟件體系結(jié)構(gòu),其特征在于,可以在運(yùn)行時(shí)向所述對(duì)象(K1-K4,K1’-K4’)附加服務(wù)。
15.根據(jù)權(quán)利要求12至14中任一項(xiàng)所述的軟件體系結(jié)構(gòu),其特征在于,可以將引用機(jī)制或聯(lián)網(wǎng)機(jī)制或通信機(jī)制或服務(wù)的實(shí)現(xiàn)用于數(shù)據(jù)和程序。
16.根據(jù)權(quán)利要求12至15中任一項(xiàng)所述的軟件體系結(jié)構(gòu),其特征在于,所述對(duì)象(K1-K4,K1’-K4’)靜態(tài)和/或動(dòng)態(tài)地聯(lián)網(wǎng)。
17.根據(jù)權(quán)利要求12至16中任一項(xiàng)所述的軟件體系結(jié)構(gòu),其特征在于,所述對(duì)象(K1-K4,K1’-K4’)物理地包含元信息。
18.根據(jù)權(quán)利要求12至17中任一項(xiàng)所述的軟件體系結(jié)構(gòu),其特征在于,所述元信息包含靜態(tài)和/或動(dòng)態(tài)的對(duì)象模型。
19.根據(jù)權(quán)利要求12至18中任一項(xiàng)所述的軟件體系結(jié)構(gòu),其特征在于,所述元信息描述應(yīng)用或交易過(guò)程。
20.根據(jù)權(quán)利要求12至19中任一項(xiàng)所述的軟件體系結(jié)構(gòu),其特征在于,每一單個(gè)對(duì)象(K1-K4,K1’-K4’)都包含關(guān)于該應(yīng)用或交易過(guò)程的總的元信息。
21.根據(jù)權(quán)利要求12至20中任一項(xiàng)所述的軟件體系結(jié)構(gòu),其特征在于,可以在顯示裝置(AZ1,AZ2)上以不同的方式顯示樹(shù)(OB1,OB2)。
22.根據(jù)權(quán)利要求12至21中任一項(xiàng)所述的軟件體系結(jié)構(gòu),其特征在于,在出現(xiàn)故障的情況下軟件應(yīng)用程序自己進(jìn)行重新配置。
23.一種尤其是為MES系統(tǒng)產(chǎn)生軟件應(yīng)用程序的方法,基于至少一個(gè)具有輸入輔助裝置、輸出輔助裝置的計(jì)算機(jī)單元,以及至少一個(gè)顯示裝置,其特征在于具有以下步驟-利用輸入輔助裝置和顯示裝置產(chǎn)生表示軟件應(yīng)用程序的單元的對(duì)象(K1-K4,K1’-K4’),-利用輸入輔助裝置和顯示裝置為所述對(duì)象(K1-K4,K1’-K4’)分配元信息,-利用輸入輔助裝置和顯示裝置(AZ1,AZ2)將所述對(duì)象(K1-K4,K1’-K4’)結(jié)構(gòu)化為分層樹(shù)(OB1,OB2),-利用輸入輔助裝置和顯示裝置(AZ1,AZ2)將所述對(duì)象(K1-K4,K1’-K4’)聯(lián)網(wǎng),-在運(yùn)行時(shí)將所述對(duì)象(K1-K4,K1’-K4’)自動(dòng)組成為軟件應(yīng)用程序,以及-由分層樹(shù)的結(jié)構(gòu)、樹(shù)中對(duì)象的聯(lián)網(wǎng)以及分配的元信息自動(dòng)導(dǎo)出軟件應(yīng)用程序的功能。
24.根據(jù)權(quán)利要求23所述的方法,其特征在于,可以在運(yùn)行時(shí)更換所述對(duì)象(K1-K4,K1’-K4’)和/或引用機(jī)制和/或聯(lián)網(wǎng)機(jī)制和/或?qū)ο蟮膶?shí)現(xiàn)。
25.根據(jù)權(quán)利要求23或24所述的方法,其特征在于,可以在運(yùn)行時(shí)向所述對(duì)象(K1-K4,K1’-K4’)附加服務(wù)。
26.根據(jù)權(quán)利要求23至25中任一項(xiàng)所述的方法,其特征在于,可以將引用機(jī)制或聯(lián)網(wǎng)機(jī)制或服務(wù)的實(shí)現(xiàn)用于數(shù)據(jù)和程序。
27.根據(jù)權(quán)利要求23至26中任一項(xiàng)所述的方法,其特征在于,所述對(duì)象(K1-K4,K1’-K4’)靜態(tài)和/或動(dòng)態(tài)地聯(lián)網(wǎng)。
28.根據(jù)權(quán)利要求23至27中任一項(xiàng)所述的方法,其特征在于,所述對(duì)象(K1-K4,K1’-K4’)物理地包含元信息。
29.根據(jù)權(quán)利要求23至28中任一項(xiàng)所述的方法,其特征在于,所述元信息包含靜態(tài)和/或動(dòng)態(tài)的對(duì)象模型。
30.根據(jù)權(quán)利要求23至29中任一項(xiàng)所述的方法,其特征在于,所述元信息描述應(yīng)用或交易過(guò)程。
31.根據(jù)權(quán)利要求23至30中任一項(xiàng)所述的方法,其特征在于,每一單個(gè)對(duì)象(K1-K4,K1’-K4’)都包含關(guān)于該應(yīng)用或交易過(guò)程的總的元信息。
32.根據(jù)權(quán)利要求23至31中任一項(xiàng)所述的方法,其特征在于,在顯示裝置(AZ1,AZ2)上可以不同的方式顯示樹(shù)(OB1,OB2)。
33.根據(jù)權(quán)利要求23至32中任一項(xiàng)所述的方法,其特征在于,在出現(xiàn)故障的情況下軟件應(yīng)用程序自己進(jìn)行重新配置。
34.一種用于實(shí)施根據(jù)權(quán)利要求23至33中任一項(xiàng)所述方法的軟件開(kāi)發(fā)環(huán)境(SU),其特征在于,該軟件開(kāi)發(fā)環(huán)境(SU)集成到運(yùn)行時(shí)系統(tǒng)(RTS,RTS/SU)中,其中通過(guò)視圖訪問(wèn)可選擇的功能。
35.一種計(jì)算機(jī)程序,用于實(shí)現(xiàn)根據(jù)權(quán)利要求1至11中任一項(xiàng)所述軟件應(yīng)用程序或根據(jù)權(quán)利要求23至33中任一項(xiàng)所述的方法或根據(jù)權(quán)利要求34所述軟件開(kāi)發(fā)環(huán)境。
36.一種數(shù)據(jù)載體,用于存儲(chǔ)根據(jù)權(quán)利要求35所述的計(jì)算機(jī)程序。
37.一種數(shù)據(jù)處理裝置,在該裝置上安裝了根據(jù)權(quán)利要求35所述的計(jì)算機(jī)程序。
全文摘要
用于軟件應(yīng)用程序、尤其是MES應(yīng)用程序的對(duì)象(具有數(shù)據(jù)、屬性、特性、功能)與元信息鏈接,結(jié)構(gòu)化為分層樹(shù)(OB1,OB2)(其中可以選擇不同的表達(dá)形式),并且相互分支或聯(lián)網(wǎng)(橫向和/或水平的)。在運(yùn)行時(shí),對(duì)象(K1-K4,K1′-K4′)組成為軟件應(yīng)用程序,其中軟件應(yīng)用程序的整個(gè)功能由分層樹(shù)(OB1,OB2)的結(jié)構(gòu)導(dǎo)出??梢詾镸ES系統(tǒng)、自動(dòng)化系統(tǒng)、工業(yè)控制(以及運(yùn)動(dòng)控制)和辦公應(yīng)用產(chǎn)生軟件應(yīng)用程序。
文檔編號(hào)G06F9/45GK1717655SQ03804252
公開(kāi)日2006年1月4日 申請(qǐng)日期2003年2月12日 優(yōu)先權(quán)日2002年2月19日
發(fā)明者埃爾馬·瑟納 申請(qǐng)人:西門(mén)子公司