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