可擴展的自動化開發環境的製作方法
2023-07-30 14:05:46 2
專利名稱:可擴展的自動化開發環境的製作方法
技術領域:
一般來說,本發明涉及自動化控制的計算機軟體,更確切地說,涉及開發自動化控制對象的可擴展環境。
背景技術:
工業日益增長地依賴於高度自動化的數據採集和控制系統,以確保工業過程運行高效且可靠,同時降低整體生產成本。數據釆集開始於傳感器測量工業過程的情況並向數據收集和控制系統回報其測量結果之時。這樣的測量結果可能包括例如溫度、壓力、pH、材料的質量或體積流、穿過具體機器或工藝的物品計數、航海線上等待的包裝的記載存貨。精密的工藝管理軟體考察輸入的測量結果,產生狀態報告和運行概要,並且在許多情況下通過發送命令到控制器以修改工業過程至少一部分的運行來響應事件和操作員指令。傳感器、控制器和工藝管理軟體一起的這些系統允許操作員執行許多監督任務,包括響應變化的外部條件而調整所述過程,檢測低效或非最優的運行條件或迫在眉睫的裝備故障,以及採取補救措施,比如使裝備投入和退出使用。
為了允許操作人員跟上高深的工業過程,人機界面("HMI")系統被連結到數據源,消化其數據測量結果,然後驅動可視化應用程式,為操作員呈現工業過程的圖形視圖。典型的HMI包括工業過程及其物理輸出的一組圖形視圖。每個視圖又包括一個或多個圖形元素。某些圖形元素為"動畫",因為其顯示狀態隨著輸入數據測量結果的改變
而改變。例如,精煉工藝的HMI可以包括儲油罐的視覺描述。油罐的描述包括的指示器顯示油罐中液面,並且該視覺指示器隨著傳感器測量實際油罐中液面的測量結果而升降。已經發現觀察人對這種類型的動畫的理解比簡單的測量結果流容易得多。由HMI應用程式提供的圖形圖像也用於描述和便利修改當前工藝的設定值。
典型情況下,工業過程的物理傳感器和控制器由稱為自動化對象的一組軟體模擬元素連結到HMI。幾家零售商提供用於自動控制的軟體,從為特定物理傳感器和控制器(往往由提供自動化對象的同一零售商製造)調整的自動化對象到開發環境和管理自動化對象的資料庫,直到完全基於HMI的監督和控制系統。典型情況下,每家零售商都公布了開發人員必須遵循的一套標準以便在工作中利用零售商的產品。這些標準能夠定義,例如用於開發對象,用於將這些對象部署到相關系統中,以及用於操作企業範圍工業過程的對象模板、對象界面、數據、方法、腳本和命令。
發明內容
考慮到上述情況,本發明提供了可擴展的自動化開發環境。所述環境是具有它自有權利的完整開發環境,除支持它自己固有對象之外,也允許集成外來的(或"定製的")自動化對象。定製的命令和定製的事件也集成到所述環境中並且由處理固有命令和事件的同一框架處理。由所述環境提供的工具能夠與定製的對象以及固有對象合作。例如,公共編輯器擴展以合併處理定製數據欄位的定製編輯器。公共瀏覽器擴展以無縫地合併可以對來自定製資料庫的定製自動化對象進行操作的定製瀏覽器。 一切軟體實體,固有的和定製的,都能夠在單一的框架內開發和監控。
所述可擴展的開發環境支持為其他系統開發的自動化應用程式以及專門為本環境開發的自動化應用程式。為其他環境開發的對象能夠在本環境中重用而不是再開發。所述環境在定製對象的整個生命周
8期(開發、維護、部署和操作)都支持它們。
開發人員不必學習其他專屬開發環境的特性便提高了其在所述 可擴展環境中的熟練程度。用戶操作時無縫地跨越多機種自動化環境, 甚至在所述環境中的定製實體也符合其自己的操作標準。第三方開發 人員可以為其自己的應用程式而使用所述可擴展的環境,從而提高了 由所述環境提供的價值。
雖然附帶的權利要求書具體地闡明了本發明的特徵,不過,連同 附圖參考以下詳細說明,可以最好地理解發明以及其目的和優點,其
中
圖l是根據本發明的可擴展自動化開發環境的示意圖2是與可擴展自動化開發環境合作的自動化運行時環境的示意
圖3是合併了定製的命令的對象的數據結構圖4是將定製的自動化對象集成到自動化開發環境中的方法流程
圖5是與定製的瀏覽器合作的公共瀏覽器的示意圖; 圖6是與定製的瀏覽器合作的公共瀏覽器的方法流程圖。
具體實施例方式
轉向附圖,其中相同的附圖標記指相同的要素,本發明展示為在 適合的環境中實施。以下說明基於本發明的實施例,關於本文未明顯 介紹的替代實施例,不應當視為限制本發明。
今天,當零售商開發軟體自動化對象以模擬工業控制環境的要素 時,開發該對象將遵守特定開發環境的已發布標準集。使用該對象需 要遵守這些同樣的標準。這些標準往往是零售商的私有財產並且典型 情況下,這些標準將所述對象約束到零售商的特定自動化環境和運行 時環境。本發明對自動化開發環境添加了可擴展性,所以對象不必約束到 開發它們的那種環境。第三方的開發人員根據新的可擴展開發環境所 提供的可擴展性環境創建對象和工具。然後,用戶看到的是統一的對 象模型,它既包括出自於可擴展開發環境的對象也包括為其開發的任 何第三方對象(注意,在本文檔中,使用"公共,,描述出自於可擴展環 境的事物,而使用"定製"描述利用環境的可擴展性功能添加到環境的 事物)。統一的對象模型支持自動化系統的開發、維護、部署和最終 的操作,該自動化系統運行時跨越標準和專屬的硬體和軟體平臺。
本發明中概念的普通程度足以添加到幾種熟知的非可擴展自動 開發環境的任何一種。優選情況下,創建的全新自動化開發環境以可 擴展性作為其核心特點之一。
圖1是可擴展自動化開發環境100的一個實施例的要素廣義概 述。可擴展開發環境100可以概念化地包括三個主要部分視圖和對 話102、對象命令和事件104以及全局命令和事件106。圖1顯示的概 念僅僅是許多可能性之一而非試圖以任何方式限制本發明權利要求的 範圍。
圖1的可擴展環境100與當前成批的非擴展開發環境共享了許多 特點。可擴展開發環境100內的結構化對象現在常常能夠表現為模板。 用戶從這些模板導出在運行時彼此互動的對象實例以便表現運行自動 化環境的要素。
在圖1的視圖和對話102部分中,組織對象時使用了代表不同組 織觀點的功能視圖它們包括模型108、部署IIO和導出112的視圖。 定製視圖114和定製對象編輯器122對於本發明是新的。第三方可以 開發定製視圖114以新的見解呈現對象組織。瀏覽器118可以擴展為 處理以下參考圖5和圖6所討論的定製對象。為此目的,使用可擴展 開發環境100中定義的方法和接口將這些定製工具添加到了可擴展開 發環境100。
因為以上介紹的可擴展工具,可擴展開發環境100支持定製對象 和定製數據。可擴展開發環境100中運行的對象,無論是公共的還是定製的,都預期智能地響應由可擴展開發環境100所提供的一組定義
的公共命令和公共事件,以便在構思、管理、升級、部署和操作對象
中使用。圖1的方框104列出了這樣的公共命令和事件的示範集。方 框104還包括定製134的命令和事件。它們被添加到了可擴展開發環 境100以便由定製對象使用。添加定製148的命令和事件也豐富了全 局命令和事件106的集。用戶還可以使用可擴展開發環境100提供的 接口替換現有的命令。
這些可擴展性功能允許第三方快速地將其產品添加到可擴展開 發環境100。這就提高了環境IOO自身作為開發平臺的價值,因為開 發人員不需要學習多個環境錯綜複雜的狀況或特徵。全部通過一個統 一的環境100,他們能夠以由許多不同各方提供的對象工作,包括專 屬對象。
通過考慮可擴展開發環境100與圖2所示的廣義運行時環境200 的關係,可以進一步地認識到開發環境100的益處。公共對象和數據 駐留在公共資料庫212中,同時環境100、200還容納著包括定製對象、 數據和檢索方法的定製資料庫214。因為開發環境100的可擴展性功 能,運行時環境200既運行在7>共;更件202上也運行在定製硬體204 上。在公共硬體202上既駐留著公共運行時環境206也駐留著定製運 行時環境208。可擴展性功能允許所有這些部件無縫地工作在一起, 以便向用戶提供統一的開發和運行環境。
因此,可擴展開發環境IOO提高了第三方對象的價值,因為這些 對象現在能夠在多個環境中運行而不需要修改和重複的工作量。統一 的對象模型簡化了開發、部署、維護和操作,方式為在不同種類的系 統之間允許無須修改地發布命令。工具以相同方式與公共和定製對象 合作。運行時環境200的若干方面從單一系統中監控。可擴展開發環 境100最終可以完全取代對專屬系統的需要,因為為了經濟地為盡可 能廣泛的市場開發出新的對象,開發新對象時遵循了其可擴展性方針。
為闡明本發明的若干方面,圖3呈現了定製對象300的一般結構。 圖4呈現了將定製對象300合併到可擴展開發環境100中的方法。定製對象300恰如公共對象,包括用於執行公共命令302和用於響應公 共事件304的接口和方法。在圖4的步驟400和402,這些接口和方 法包括在定製對象300中。
對任何對象300都可以添加執行定製的命令306 (步驟404)和 響應定製的事件308 (步驟408 )的接口和方法。這些接口遵循可擴展 開發環境100所提供的方針。由於接口遵循已知的方針,所以定製的 命令和事件本身以與公共命令和事件同樣的方式,被合併到可擴展開
發環境100之中(步驟406和步驟410)。 一旦將這些定製的命令和 事件合併,就能夠以與可擴展開發環境100固有命令和事件相同的方 式處理它們。
不過,這並不是說可擴展開發環境IOO"理解"所述定製的命令和 事件的意義。相反,通過為這些定製的命令和事件編寫句柄並將這些 句柄合併到定製對象300之中而提供其含義是定製對象300的第三方 開發人員的責任。
除了定製的命令和事件之外,定製對象300還可以包括由可擴展 開發環境IOO提供的工具不直接支持的定製數據結構。為了適應這種 情況,可擴展開發環境100的工具本身就是可擴展的,並且本身提供 了由第三方開發人員使用的接口。在圖4的步驟412,第三方開發人 員提供了定製對象編輯器122(見圖1)以便操縱定製對象300中的數 據結構。在某些實施例中,定製對象編輯器122在可擴展開發環境100 為公共數據結構提供的對象編輯器120的"內部"運行。因此,用戶只 會感知一個統一的對象編輯器。當用戶要求編輯定製數據結構時,公 共對象編輯器120為該任務調用適合的定製對象編輯器122。
以類似方式,也使其他工具比如圖1的公共瀏覽器118成為可擴 展的。圖5顯示了由公共瀏覽器118提供的顯示500的結構布局,而 圖6呈現了將定製瀏覽能力合併到公共瀏覽器118之中的方法。公共 瀏覽器118顯示了公共對象502 (圖6的步驟600)並顯示了定製對象 504的公共數據結構506 (步驟602 )。因為公共瀏覽器118不理解定 制的數據結構,所以它依賴於提供此定製數據結構的第三方開發人員
12所提供的定製瀏覽器擴展508 (步驟604和步驟606 )。公共瀏覽器 118以這種方式變為能夠顯示合併到可擴展開發環境100中的一切對 象。
注意,圖5僅僅是展示性的。優選情況下,不以公共對象和定製 對象在瀏覽器118中的顯示區分它們。相反,瀏覽器118通過合併定 制的瀏覽擴展,以無縫、統一的方式呈現一切對象。
瀏覽器118提供了由其一切擴展所共享的工具欄。擴展能夠向公 共工具欄添加其自身的按鈕,或者能夠重用任何公共工具欄按鈕。同 樣,瀏覽器118也提供了公用狀態欄。擴展能夠向此狀態欄添加其自 己的畫面,並且能夠重用現有的畫面顯示狀態消息。瀏覽器118允許 補充定製的標籤和過濾。
以下是能夠用於實施本發明的示範接口。它們僅僅是展示性的而 不意味著以任何方式界定本發明權利要求的範圍。
IEexternalBroswer interface IExternalBrowser
〃This method is used by the client to initialize the brower 、vith 〃an IpackageManager interface pointer. If this method is not 〃call, then the attribute brower cannot perform any functions, void Initialize (
〃Poiner to an object that implements IPackageManager Object pPackageManager
);
〃This method is used to show the brower,s user interface.Upon 〃closing, the attribute selected is returned through the 〃strUIData out parameter.
〃Returns true if the user selected OK, otherwise returns false.void ShowBrowserUI (
〃This parameter denotes any "starting,,value that should be 〃passed into the browser object to be used while generating 〃the browser's UI. string strUIData,
〃This out parameter contains the value(s) selected in the UI 〃by the user. If no value is selected, then the value returned 〃is empty.
out object varSelectedValue
);
};
ICommonAttributeBrowser enum EbrowserReturn Value
〃Indicates that a user clicked the OK button. eBrowserReturn—Ok,
〃Indicates that a user clicked the Cancel button. eBrowserReturn—Cancel,
〃Indicates that a user clicked the Back button. cBr0wserReturn一B3ck,
interface ICommonAttributeBrowser
〃This method is used by the client to initialize the brower. void InitializeBrowser〃Connection string string bstrConnection
);
〃/This method is used by the client to uninitialize the brower, void UnInitializeBrowser;
〃This method is used to show the brower"s user interface.Upon 〃closing, the attribute selected is returned through the 〃bstrSelctedValue out parameter, EbrowserReturnValue ShowBrowser (
〃This parameter denotes any "starting,,value that should be 〃passed into the browser object to be used while generating 〃the browser's UI. string strUIData,
〃This out parameter contains the value(s) selected in the UI 〃by the user. If no value is selected, then the value returned 〃is empty.
out string strSelectedValue, int nDisplayMode, string str
);
IaaBrowserControl: 由aaBaseBrowserControl實施。 interface IaaBrowserControl
15〃ControlGuid is a unique identifier of the control. It is used to 〃Identify the plug-in and also can be used by the calling 〃program to determine the type of the returned value and to 〃cast it to the appropriate class. Custom control specifies this 〃value by attaching a custom attribute. Guid ControlGuid{get;}
〃This is an interface that contains one or more values returned 〃to the calling program. The calling program uses ControlGuid 〃 to determine the types of the returned values and to cast them 〃to their appropriate classes. In this way, the calling program 〃may use values returned by different custom controls. IaaReturn Values IReturn Values {get;}
IaaReturnValues public interface IaaReturnValues
〃ControlGuid is a unique identifier of the control, Guid ControlGuid {get;}
〃ReturnValues is a class that contains one or more values 〃returned to the calling program. The calling program uses 〃 the ControlGuid value to determine the types of the return 〃values and to cast them to their appropriate classes. In this 〃way, the calling program may use values returned by different 〃custom controls. Object IReturnValues{get;}IaaBrowserControl:由aaBaseBrowserControl實施。 〃This Base interface is implemented by any IDE view. Public interface IaaIDEWindow:IaaIDESnapin
〃Called when the snap-in is loaded. The snap-in registers its 〃services first and then queries for the services it needs, void Initialize(IaaServiceProvider site);
〃Called when the snap-in is unloaded, void Unlnitialize;
〃Called when the window is activated. Void OnActivated;
〃CaHed when the window is deactivated. Void OnDeActivated;
aaBrowserControl是一切定製瀏覽器控制的基類。這個類沒有直 接實例。因為設計者將創建其顯示繼承控制的實例,所以未將其聲明 為抽象類。
Class aaBaseBrowserControl: System. Windows-Forms,UserControl,
IaaBrowserControl, IaaIDEView
〃Return values from the custom control protected object—m—ReturnValue;
〃This reference is set in IaaIDEView.InitiaIize, Call the base 〃class function if it is overridden in the inherited class, protected IaaServieeProvider m—site;public IaaBrowserControl;
protected override void Dispose(bool disposing);
〃These provide background color for user control-protected Color BackgroundColorl{get;set} protected Color BackgroundColor2{get;set}
〃Typically, controls override this function to set colors for al
〃the controls they use. The function is called on a 〃 WM一THEMECHANGED event-protected virtual void OnUpdateThemeColors;
〃This overload is needed to tell the Theme Color Provider that 〃the theme has changed.
protected override void WndProc(refMessage m);
protected override void OnSystemColorChanged(EventArgs e);
〃Overridden to paint background gradient!
protected virtual void OnPaintBackground(PaintEventArgs pevent;
public virtual Guid ControlGuid{get;}
public virtual IaaReturnValues IReturnValues{get;}
〃Called when the snap-in is loaded. Typically, a custom control 〃overrides this function to provide custom initialization.Base 〃class function is called before any custom action, public virtual void Inhialize(IaaServiceProvider site);
〃Called when the snap-in is loaded. Typically, a custom control〃overrides this function.Base class function is called before
〃 any custom action.
public virtual void Unlnitialize;
〃Called when the Window is activated. Typically, a custom 〃contro1 overrides this function to provide support for lazy 〃 loading. Base class function is called before any custom action-public virtual void OnActivated (》
〃Called when the Window is deactivated. Typically, a custom 〃contro1 overrides this function to provide support for lazy 〃 loading. Base class function is called before any custom action, public virtual void OnDeActivated 0;
IaaBrowserContainer // I - J rowserContainer is implemented by the container Public interface IaaBrowserContainer
〃This class contains all of the initial parameters for the custom 〃contro1. The control casts this parameter to its specific type 〃and initializes itself. It is a control's responsibility to make 〃sure the cast is valid, object InitialParameters{get;}
〃This class contains all of the filter values used by the custom 〃controL The control casts this parameter to its specific type 〃and filters the data accordingly. It is a control's responsibility 〃 to make sure the cast is valid.
19object CustomFilter{get;}
〃This event is raised when the container is closed. Event OnClosedEventHandler ContainerClosed;
〃This event is raised when the form is closing. Event OnClosingEventHandler ContainerClosing;
〃This event is raised before a container is displayed for 〃the first time-Event OnLoadEventHandkr ContainerLoad;
〃This event is raised when the container is resized. Event OnResizeEventHandler ContainerResize;
〃This event is raised when the container is validating. Event OnValidatingEventHandler ContainerValidating;
〃This event is raised 、vhen browsing has been cancelled. Event OnCancelEventHandler ContainerCancel;
〃Enable/disable processing of Accept, Bool AcceptEnabled{get;set;}
〃Browser control can use this property to set the return type, DialogResult ContainerDialogResult{set;}
考慮到可以應用本發明原理的許多可能實施例,應當認識到本文 關於附圖所介紹的實施例僅僅意味著是展示性的,而不應當將其視為限制本發明範圍。本領域的技術人員將認識到,某些實施細節由特定 的情景確定。所以,文本介紹的本發明預期了可能在以下權利要求書 及其等價內容範圍內的 一切這樣的實施例。
權利要求
1.一種可擴展的自動化開發系統,被配置為允許將定製的自動化對象集成到所述系統中,所述系統包括公共瀏覽器,被配置為顯示來自所述自動化開發系統的數據;公共對象編輯器,被配置為編輯所述自動化開發系統中的數據;一組公共命令,由所述自動化開發系統中的對象執行;對於所述公共命令的至少一個子集的每條命令,用於執行所述命令的接口;一組公共事件,由所述自動化開發系統中的對象響應;對於所述公共事件的至少一個子集的每個事件,用於響應所述事件的接口;用於將定製的命令添加到所述自動化開發系統的接口,所述定製的命令將由定製的自動化對象執行;以及用於將定製的事件添加到所述自動化開發系統的接口,所述定製的事件將由定製的自動化對象響應。
2. 根據權利要求1的可擴展自動化開發系統,其中,所述公共瀏覽器包括用於添加定製的瀏覽器的接口 ,所述定製的瀏覽器被配置為顯示來自定製自動化對象的數據。
3. 根據權利要求1的可擴展自動化開發系統,其中所述公共瀏覽器被配置為呈現定製的標籤並且執行定製的過濾操作。
4. 根據權利要求1的可擴展自動化開發系統,進一步包括用於添加定製對象編輯器的接口 ,所述定製對象編輯器被配置為編輯定製自動化對象中的數據。
5. 根據權利要求1的可擴展自動化開發系統,進一步包括公共視圖,選自包括以下視圖的集模型視圖、部署視圖和導出^L圖;以及用於將定製視圖添加到所述自動化開發系統的接口 。
6. 根據權利要求1的可擴展自動化開發系統,進一步包括公共資料庫,所述公共資料庫包括公共自動化對象模板以及所述公共自動化對象模板的至少一個子集的實例;以及定製的資料庫,所述定製的資料庫包括定製的自動化對象。
7. 根據權利要求1的可擴展自動化開發系統,進一步包括定製的自動化對象;其中,所述定製的自動化對象的開發方不同於用於執行公共命令的所述接口和用於響應公共事件的所述接口的開發方。
8. 根據權利要求7的可擴展自動化開發系統,其中所述定製的自動化對象包括的句柄選自包括以下句柄的組執行所述公共命令的至少一個的定製句柄和響應所述公共事件的至少一個的定製句柄。
9. 一種瀏覽可擴展自動化開發系統中數據的方法,所述方法包括使用公共瀏覽器顯示來自所述自動化開發系統的數據,所述公共瀏覽器包括用於添加定製的瀏覽器的接口 ;使用所述接口添加定製的瀏覽器;以及使用所述定製的瀏覽器顯示來自定製的自動化對象的數據。
10. 根據權利要求9的瀏覽可擴展自動化開發系統中數據的方法,其中所述公共瀏覽器被配置為呈現定製的標籤並且執行定製的過濾操作。
11. 根據權利要求9的瀏覽可擴展自動化開發系統中數據的方法,其中:,、,* q 、 , 、 、5…、,'七q 、-、
12. 根據權利要求9的瀏覽可擴展自動化開發系統中數據的方法,其中所述公共瀏覽器被配置為顯示來自公共資料庫的數據,所述公共資料庫包括公共自動化對象模板以及所述公共自動化對象模板的至少一個子集的實例;以及其中所述定製的瀏覽器被配置為顯示來自定製的資料庫的數據,所述定製的資料庫包括所述定製的自動化對象。
13 法的計算機可執行指令的計算機可讀的介質,所述方法包括使用公共瀏覽器顯示來自所述自動化開發系統的數據,所述公共瀏覽器包括用於添加定製的瀏覽器的接口 ;使用所述接口添加定製的瀏覽器;以及使用所述定製的瀏覽器顯示來自定製的自動化對象的數據。
14. 一種將定製的自動化對象集成到可擴展自動化開發系統中的方法,所述方法包括共命令的方法,所述方法符合所述自動化開發系統為執行所述公共命令所提供的接口;在所述定製的自動化對象中包括響應所述自動化開發系統中公件所提供的接口;在所述定製的自動化對象中包括執行定製的命令的方法;以及向所述自動化開發系統添加所述定製的命令,所述添加符合所述自動化開發系統為添加定製的命令所提供的接口 。
15. 根據權利要求14的將定製的自動化對象集成到可擴展自動化開發系統中的方法,進一步包括在所述定製的自動化對象中包括響應定製的事件的方法;以及向所述自動化開發系統添加所述定製的事件,所述添加符合所述自動化開發系統為添加定製的事件所提供的接口 。
16. 根據權利要求14的將定製的自動化對象集成到可擴展自動化開發系統中的方法,進一步包括向所述自動化開發系統添加定製的瀏覽器,所述添加符合所述自動化開發系統為添加定製的瀏覽器所提供的接口 ,所述定製的瀏覽器被配置為顯示來自所述定製的自動化對象的數據。
17. 根據權利要求14的將定製的自動化對象集成到可擴展自動化開發系統中的方法,進一步包括向所述自動化開發系統添加定製的對象編輯器,所述添加符合所述自動化開發系統為添加定製的對象編輯器所提供的接口 ,所述定製的對象編輯器被配置為編輯所述定製的自動化對象中的數據。
18. 根據權利要求14的將定製的自動化對象集成到可擴展自動化開發系統中的方法,進一步包括向所述自動化開發系統添加定製的視圖,所述添加符合所述自動化開發系統為添加定製的視圖所提供的接口 。
19. 根據權利要求14的將定製的自動化對象集成到可擴展自動化開發系統中的方法,進一步包括向所述自動化開發系統添加定製的資料庫,所述定製的資料庫包括所述定製的自動化對象。
20. 根據權利要求14的將定製的自動化對象集成到可擴展自動化開發系統中的方法,其中所述定製的自動化對象的開發方不同於用於執行所述公共命令的所述接口 、用於響應所述公共事件的所述接口以及用於添加定製的命令的所述接口的開發方。
21. —種包含用於執行將定製的自動化對象集成到可擴展自動化開發系統中的方法的計算機可執行指令的計算機可讀的介質,所述方法包括在所述定製的自動化對象中包括執行所述自動化開發系統中公共命令的方法,所述方法符合所述自動化開發系統為執行所述公共命令所提供的接口;在所述定製的自動化對象中包括響應所述自動化開發系統中公共事件的方法,所述方法符合所述自動化開發系統為響應所述公共事件所提供的接口;在所述定製的自動化對象中包括執行定製的命令的方法;以及向所述自動化開發系統添加所述定製的命令,所述添加符合所述自動化開發系統為添加定製的命令所提供的接口 。
全文摘要
本發明提供了可擴展的自動化開發環境。所述環境是具有它自有權利的完整開發環境,除支持它自己固有對象之外,也允許集成外來的(或「定製的」)自動化對象。定製的命令和定製的事件也集成到所述環境中並且由處理固有命令和事件的同一框架處理。由所述環境提供的工具能夠與定製的對象以及固有對象合作。例如,公共編輯器的擴展到合併了處理定製數據欄位的定製編輯器。公共瀏覽器的擴展到無縫地合併了可以對來自定製資料庫的定製自動化對象進行操作的定製瀏覽器。一切軟體實體,固有的和定製的,都能夠在單一的框架內開發和監控。用戶操作時無縫地跨越多機種自動化環境,甚至在所述環境中的定製實體也符合其自己的操作標準。
文檔編號G06F9/44GK101578581SQ200780045257
公開日2009年11月11日 申請日期2007年10月16日 優先權日2006年10月16日
發明者G·蘭加納拉斯姆罕, S·S·庫爾卡尼 申請人:因文西斯系統公司;桑迪普·沙希坎特·庫爾卡尼