專利名稱:可擴展的自動化開發(fā)環(huán)境的制作方法
技術領域:
一般來說,本發(fā)明涉及自動化控制的計算機軟件,更確切地說,涉及開發(fā)自動化控制對象的可擴展環(huán)境。
背景技術:
工業(yè)日益增長地依賴于高度自動化的數(shù)據(jù)采集和控制系統(tǒng),以確保工業(yè)過程運行高效且可靠,同時降低整體生產(chǎn)成本。數(shù)據(jù)釆集開始于傳感器測量工業(yè)過程的情況并向數(shù)據(jù)收集和控制系統(tǒng)回報其測量結果之時。這樣的測量結果可能包括例如溫度、壓力、pH、材料的質量或體積流、穿過具體機器或工藝的物品計數(shù)、航海線上等待的包裝的記載存貨。精密的工藝管理軟件考察輸入的測量結果,產(chǎn)生狀態(tài)報告和運行概要,并且在許多情況下通過發(fā)送命令到控制器以修改工業(yè)過程至少一部分的運行來響應事件和操作員指令。傳感器、控制器和工藝管理軟件一起的這些系統(tǒng)允許操作員執(zhí)行許多監(jiān)督任務,包括響應變化的外部條件而調整所述過程,檢測低效或非最優(yōu)的運行條件或迫在眉睫的裝備故障,以及采取補救措施,比如使裝備投入和退出使用。
為了允許操作人員跟上高深的工業(yè)過程,人機界面("HMI")系統(tǒng)被鏈接到數(shù)據(jù)源,消化其數(shù)據(jù)測量結果,然后驅動可視化應用程序,為操作員呈現(xiàn)工業(yè)過程的圖形視圖。典型的HMI包括工業(yè)過程及其物理輸出的一組圖形視圖。每個視圖又包括一個或多個圖形元素。某些圖形元素為"動畫",因為其顯示狀態(tài)隨著輸入數(shù)據(jù)測量結果的改變
而改變。例如,精煉工藝的HMI可以包括儲油罐的視覺描述。油罐的描述包括的指示器顯示油罐中液面,并且該視覺指示器隨著傳感器測量實際油罐中液面的測量結果而升降。已經(jīng)發(fā)現(xiàn)觀察人對這種類型的動畫的理解比簡單的測量結果流容易得多。由HMI應用程序提供的圖形圖像也用于描述和便利修改當前工藝的設定值。
典型情況下,工業(yè)過程的物理傳感器和控制器由稱為自動化對象的一組軟件模擬元素鏈接到HMI。幾家零售商提供用于自動控制的軟件,從為特定物理傳感器和控制器(往往由提供自動化對象的同一零售商制造)調整的自動化對象到開發(fā)環(huán)境和管理自動化對象的數(shù)據(jù)庫,直到完全基于HMI的監(jiān)督和控制系統(tǒng)。典型情況下,每家零售商都公布了開發(fā)人員必須遵循的一套標準以便在工作中利用零售商的產(chǎn)品。這些標準能夠定義,例如用于開發(fā)對象,用于將這些對象部署到相關系統(tǒng)中,以及用于操作企業(yè)范圍工業(yè)過程的對象模板、對象界面、數(shù)據(jù)、方法、腳本和命令。
發(fā)明內容
考慮到上述情況,本發(fā)明提供了可擴展的自動化開發(fā)環(huán)境。所述環(huán)境是具有它自有權利的完整開發(fā)環(huán)境,除支持它自己固有對象之外,也允許集成外來的(或"定制的")自動化對象。定制的命令和定制的事件也集成到所述環(huán)境中并且由處理固有命令和事件的同一框架處理。由所述環(huán)境提供的工具能夠與定制的對象以及固有對象合作。例如,公共編輯器擴展以合并處理定制數(shù)據(jù)字段的定制編輯器。公共瀏覽器擴展以無縫地合并可以對來自定制數(shù)據(jù)庫的定制自動化對象進行操作的定制瀏覽器。 一切軟件實體,固有的和定制的,都能夠在單一的框架內開發(fā)和監(jiān)控。
所述可擴展的開發(fā)環(huán)境支持為其他系統(tǒng)開發(fā)的自動化應用程序以及專門為本環(huán)境開發(fā)的自動化應用程序。為其他環(huán)境開發(fā)的對象能夠在本環(huán)境中重用而不是再開發(fā)。所述環(huán)境在定制對象的整個生命周
8期(開發(fā)、維護、部署和操作)都支持它們。
開發(fā)人員不必學習其他專屬開發(fā)環(huán)境的特性便提高了其在所述 可擴展環(huán)境中的熟練程度。用戶操作時無縫地跨越多機種自動化環(huán)境, 甚至在所述環(huán)境中的定制實體也符合其自己的操作標準。第三方開發(fā) 人員可以為其自己的應用程序而使用所述可擴展的環(huán)境,從而提高了 由所述環(huán)境提供的價值。
雖然附帶的權利要求書具體地闡明了本發(fā)明的特征,不過,連同 附圖參考以下詳細說明,可以最好地理解發(fā)明以及其目的和優(yōu)點,其
中
圖l是根據(jù)本發(fā)明的可擴展自動化開發(fā)環(huán)境的示意圖2是與可擴展自動化開發(fā)環(huán)境合作的自動化運行時環(huán)境的示意
圖3是合并了定制的命令的對象的數(shù)據(jù)結構圖4是將定制的自動化對象集成到自動化開發(fā)環(huán)境中的方法流程
圖5是與定制的瀏覽器合作的公共瀏覽器的示意圖; 圖6是與定制的瀏覽器合作的公共瀏覽器的方法流程圖。
具體實施例方式
轉向附圖,其中相同的附圖標記指相同的要素,本發(fā)明展示為在 適合的環(huán)境中實施。以下說明基于本發(fā)明的實施例,關于本文未明顯 介紹的替代實施例,不應當視為限制本發(fā)明。
今天,當零售商開發(fā)軟件自動化對象以模擬工業(yè)控制環(huán)境的要素 時,開發(fā)該對象將遵守特定開發(fā)環(huán)境的已發(fā)布標準集。使用該對象需 要遵守這些同樣的標準。這些標準往往是零售商的私有財產(chǎn)并且典型 情況下,這些標準將所述對象約束到零售商的特定自動化環(huán)境和運行 時環(huán)境。本發(fā)明對自動化開發(fā)環(huán)境添加了可擴展性,所以對象不必約束到 開發(fā)它們的那種環(huán)境。第三方的開發(fā)人員根據(jù)新的可擴展開發(fā)環(huán)境所 提供的可擴展性環(huán)境創(chuàng)建對象和工具。然后,用戶看到的是統(tǒng)一的對 象模型,它既包括出自于可擴展開發(fā)環(huán)境的對象也包括為其開發(fā)的任 何第三方對象(注意,在本文檔中,使用"公共,,描述出自于可擴展環(huán) 境的事物,而使用"定制"描述利用環(huán)境的可擴展性功能添加到環(huán)境的 事物)。統(tǒng)一的對象模型支持自動化系統(tǒng)的開發(fā)、維護、部署和最終 的操作,該自動化系統(tǒng)運行時跨越標準和專屬的硬件和軟件平臺。
本發(fā)明中概念的普通程度足以添加到幾種熟知的非可擴展自動 開發(fā)環(huán)境的任何一種。優(yōu)選情況下,創(chuàng)建的全新自動化開發(fā)環(huán)境以可 擴展性作為其核心特點之一。
圖1是可擴展自動化開發(fā)環(huán)境100的一個實施例的要素廣義概 述??蓴U展開發(fā)環(huán)境100可以概念化地包括三個主要部分視圖和對 話102、對象命令和事件104以及全局命令和事件106。圖1顯示的概 念僅僅是許多可能性之一而非試圖以任何方式限制本發(fā)明權利要求的 范圍。
圖1的可擴展環(huán)境100與當前成批的非擴展開發(fā)環(huán)境共享了許多 特點??蓴U展開發(fā)環(huán)境100內的結構化對象現(xiàn)在常常能夠表現(xiàn)為模板。 用戶從這些模板導出在運行時彼此互動的對象實例以便表現(xiàn)運行自動 化環(huán)境的要素。
在圖1的視圖和對話102部分中,組織對象時使用了代表不同組 織觀點的功能視圖它們包括模型108、部署IIO和導出112的視圖。 定制視圖114和定制對象編輯器122對于本發(fā)明是新的。第三方可以 開發(fā)定制視圖114以新的見解呈現(xiàn)對象組織。瀏覽器118可以擴展為 處理以下參考圖5和圖6所討論的定制對象。為此目的,使用可擴展 開發(fā)環(huán)境100中定義的方法和接口將這些定制工具添加到了可擴展開 發(fā)環(huán)境100。
因為以上介紹的可擴展工具,可擴展開發(fā)環(huán)境100支持定制對象 和定制數(shù)據(jù)??蓴U展開發(fā)環(huán)境100中運行的對象,無論是公共的還是定制的,都預期智能地響應由可擴展開發(fā)環(huán)境100所提供的一組定義
的公共命令和公共事件,以便在構思、管理、升級、部署和操作對象
中使用。圖1的方框104列出了這樣的公共命令和事件的示范集。方 框104還包括定制134的命令和事件。它們被添加到了可擴展開發(fā)環(huán) 境100以便由定制對象使用。添加定制148的命令和事件也豐富了全 局命令和事件106的集。用戶還可以使用可擴展開發(fā)環(huán)境100提供的 接口替換現(xiàn)有的命令。
這些可擴展性功能允許第三方快速地將其產(chǎn)品添加到可擴展開 發(fā)環(huán)境100。這就提高了環(huán)境IOO自身作為開發(fā)平臺的價值,因為開 發(fā)人員不需要學習多個環(huán)境錯綜復雜的狀況或特征。全部通過一個統(tǒng) 一的環(huán)境100,他們能夠以由許多不同各方提供的對象工作,包括專 屬對象。
通過考慮可擴展開發(fā)環(huán)境100與圖2所示的廣義運行時環(huán)境200 的關系,可以進一步地認識到開發(fā)環(huán)境100的益處。公共對象和數(shù)據(jù) 駐留在公共數(shù)據(jù)庫212中,同時環(huán)境100、200還容納著包括定制對象、 數(shù)據(jù)和檢索方法的定制數(shù)據(jù)庫214。因為開發(fā)環(huán)境100的可擴展性功 能,運行時環(huán)境200既運行在7>共;更件202上也運行在定制硬件204 上。在公共硬件202上既駐留著公共運行時環(huán)境206也駐留著定制運 行時環(huán)境208??蓴U展性功能允許所有這些部件無縫地工作在一起, 以便向用戶提供統(tǒng)一的開發(fā)和運行環(huán)境。
因此,可擴展開發(fā)環(huán)境IOO提高了第三方對象的價值,因為這些 對象現(xiàn)在能夠在多個環(huán)境中運行而不需要修改和重復的工作量。統(tǒng)一 的對象模型簡化了開發(fā)、部署、維護和操作,方式為在不同種類的系 統(tǒng)之間允許無須修改地發(fā)布命令。工具以相同方式與公共和定制對象 合作。運行時環(huán)境200的若干方面從單一系統(tǒng)中監(jiān)控??蓴U展開發(fā)環(huán) 境100最終可以完全取代對專屬系統(tǒng)的需要,因為為了經(jīng)濟地為盡可 能廣泛的市場開發(fā)出新的對象,開發(fā)新對象時遵循了其可擴展性方針。
為闡明本發(fā)明的若干方面,圖3呈現(xiàn)了定制對象300的一般結構。 圖4呈現(xiàn)了將定制對象300合并到可擴展開發(fā)環(huán)境100中的方法。定制對象300恰如公共對象,包括用于執(zhí)行公共命令302和用于響應公 共事件304的接口和方法。在圖4的步驟400和402,這些接口和方 法包括在定制對象300中。
對任何對象300都可以添加執(zhí)行定制的命令306 (步驟404)和 響應定制的事件308 (步驟408 )的接口和方法。這些接口遵循可擴展 開發(fā)環(huán)境100所提供的方針。由于接口遵循已知的方針,所以定制的 命令和事件本身以與公共命令和事件同樣的方式,被合并到可擴展開
發(fā)環(huán)境100之中(步驟406和步驟410)。 一旦將這些定制的命令和 事件合并,就能夠以與可擴展開發(fā)環(huán)境100固有命令和事件相同的方 式處理它們。
不過,這并不是說可擴展開發(fā)環(huán)境IOO"理解"所述定制的命令和 事件的意義。相反,通過為這些定制的命令和事件編寫句柄并將這些 句柄合并到定制對象300之中而提供其含義是定制對象300的第三方 開發(fā)人員的責任。
除了定制的命令和事件之外,定制對象300還可以包括由可擴展 開發(fā)環(huán)境IOO提供的工具不直接支持的定制數(shù)據(jù)結構。為了適應這種 情況,可擴展開發(fā)環(huán)境100的工具本身就是可擴展的,并且本身提供 了由第三方開發(fā)人員使用的接口。在圖4的步驟412,第三方開發(fā)人 員提供了定制對象編輯器122(見圖1)以便操縱定制對象300中的數(shù) 據(jù)結構。在某些實施例中,定制對象編輯器122在可擴展開發(fā)環(huán)境100 為公共數(shù)據(jù)結構提供的對象編輯器120的"內部"運行。因此,用戶只 會感知一個統(tǒng)一的對象編輯器。當用戶要求編輯定制數(shù)據(jù)結構時,公 共對象編輯器120為該任務調用適合的定制對象編輯器122。
以類似方式,也使其他工具比如圖1的公共瀏覽器118成為可擴 展的。圖5顯示了由公共瀏覽器118提供的顯示500的結構布局,而 圖6呈現(xiàn)了將定制瀏覽能力合并到公共瀏覽器118之中的方法。公共 瀏覽器118顯示了公共對象502 (圖6的步驟600)并顯示了定制對象 504的公共數(shù)據(jù)結構506 (步驟602 )。因為公共瀏覽器118不理解定 制的數(shù)據(jù)結構,所以它依賴于提供此定制數(shù)據(jù)結構的第三方開發(fā)人員
12所提供的定制瀏覽器擴展508 (步驟604和步驟606 )。公共瀏覽器 118以這種方式變?yōu)槟軌蝻@示合并到可擴展開發(fā)環(huán)境100中的一切對 象。
注意,圖5僅僅是展示性的。優(yōu)選情況下,不以公共對象和定制 對象在瀏覽器118中的顯示區(qū)分它們。相反,瀏覽器118通過合并定 制的瀏覽擴展,以無縫、統(tǒng)一的方式呈現(xiàn)一切對象。
瀏覽器118提供了由其一切擴展所共享的工具欄。擴展能夠向公 共工具欄添加其自身的按鈕,或者能夠重用任何公共工具欄按鈕。同 樣,瀏覽器118也提供了公用狀態(tài)欄。擴展能夠向此狀態(tài)欄添加其自 己的畫面,并且能夠重用現(xiàn)有的畫面顯示狀態(tài)消息。瀏覽器118允許 補充定制的標簽和過濾。
以下是能夠用于實施本發(fā)明的示范接口。它們僅僅是展示性的而 不意味著以任何方式界定本發(fā)明權利要求的范圍。
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是一切定制瀏覽器控制的基類。這個類沒有直 接實例。因為設計者將創(chuàng)建其顯示繼承控制的實例,所以未將其聲明 為抽象類。
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;}
考慮到可以應用本發(fā)明原理的許多可能實施例,應當認識到本文 關于附圖所介紹的實施例僅僅意味著是展示性的,而不應當將其視為限制本發(fā)明范圍。本領域的技術人員將認識到,某些實施細節(jié)由特定 的情景確定。所以,文本介紹的本發(fā)明預期了可能在以下權利要求書 及其等價內容范圍內的 一切這樣的實施例。
權利要求
1.一種可擴展的自動化開發(fā)系統(tǒng),被配置為允許將定制的自動化對象集成到所述系統(tǒng)中,所述系統(tǒng)包括公共瀏覽器,被配置為顯示來自所述自動化開發(fā)系統(tǒng)的數(shù)據(jù);公共對象編輯器,被配置為編輯所述自動化開發(fā)系統(tǒng)中的數(shù)據(jù);一組公共命令,由所述自動化開發(fā)系統(tǒng)中的對象執(zhí)行;對于所述公共命令的至少一個子集的每條命令,用于執(zhí)行所述命令的接口;一組公共事件,由所述自動化開發(fā)系統(tǒng)中的對象響應;對于所述公共事件的至少一個子集的每個事件,用于響應所述事件的接口;用于將定制的命令添加到所述自動化開發(fā)系統(tǒng)的接口,所述定制的命令將由定制的自動化對象執(zhí)行;以及用于將定制的事件添加到所述自動化開發(fā)系統(tǒng)的接口,所述定制的事件將由定制的自動化對象響應。
2. 根據(jù)權利要求1的可擴展自動化開發(fā)系統(tǒng),其中,所述公共瀏覽器包括用于添加定制的瀏覽器的接口 ,所述定制的瀏覽器被配置為顯示來自定制自動化對象的數(shù)據(jù)。
3. 根據(jù)權利要求1的可擴展自動化開發(fā)系統(tǒng),其中所述公共瀏覽器被配置為呈現(xiàn)定制的標簽并且執(zhí)行定制的過濾操作。
4. 根據(jù)權利要求1的可擴展自動化開發(fā)系統(tǒng),進一步包括用于添加定制對象編輯器的接口 ,所述定制對象編輯器被配置為編輯定制自動化對象中的數(shù)據(jù)。
5. 根據(jù)權利要求1的可擴展自動化開發(fā)系統(tǒng),進一步包括公共視圖,選自包括以下視圖的集模型視圖、部署視圖和導出^L圖;以及用于將定制視圖添加到所述自動化開發(fā)系統(tǒng)的接口 。
6. 根據(jù)權利要求1的可擴展自動化開發(fā)系統(tǒng),進一步包括公共數(shù)據(jù)庫,所述公共數(shù)據(jù)庫包括公共自動化對象模板以及所述公共自動化對象模板的至少一個子集的實例;以及定制的數(shù)據(jù)庫,所述定制的數(shù)據(jù)庫包括定制的自動化對象。
7. 根據(jù)權利要求1的可擴展自動化開發(fā)系統(tǒng),進一步包括定制的自動化對象;其中,所述定制的自動化對象的開發(fā)方不同于用于執(zhí)行公共命令的所述接口和用于響應公共事件的所述接口的開發(fā)方。
8. 根據(jù)權利要求7的可擴展自動化開發(fā)系統(tǒng),其中所述定制的自動化對象包括的句柄選自包括以下句柄的組執(zhí)行所述公共命令的至少一個的定制句柄和響應所述公共事件的至少一個的定制句柄。
9. 一種瀏覽可擴展自動化開發(fā)系統(tǒng)中數(shù)據(jù)的方法,所述方法包括使用公共瀏覽器顯示來自所述自動化開發(fā)系統(tǒng)的數(shù)據(jù),所述公共瀏覽器包括用于添加定制的瀏覽器的接口 ;使用所述接口添加定制的瀏覽器;以及使用所述定制的瀏覽器顯示來自定制的自動化對象的數(shù)據(jù)。
10. 根據(jù)權利要求9的瀏覽可擴展自動化開發(fā)系統(tǒng)中數(shù)據(jù)的方法,其中所述公共瀏覽器被配置為呈現(xiàn)定制的標簽并且執(zhí)行定制的過濾操作。
11. 根據(jù)權利要求9的瀏覽可擴展自動化開發(fā)系統(tǒng)中數(shù)據(jù)的方法,其中:,、,* q 、 , 、 、5…、,'七q 、-、
12. 根據(jù)權利要求9的瀏覽可擴展自動化開發(fā)系統(tǒng)中數(shù)據(jù)的方法,其中所述公共瀏覽器被配置為顯示來自公共數(shù)據(jù)庫的數(shù)據(jù),所述公共數(shù)據(jù)庫包括公共自動化對象模板以及所述公共自動化對象模板的至少一個子集的實例;以及其中所述定制的瀏覽器被配置為顯示來自定制的數(shù)據(jù)庫的數(shù)據(jù),所述定制的數(shù)據(jù)庫包括所述定制的自動化對象。
13 法的計算機可執(zhí)行指令的計算機可讀的介質,所述方法包括使用公共瀏覽器顯示來自所述自動化開發(fā)系統(tǒng)的數(shù)據(jù),所述公共瀏覽器包括用于添加定制的瀏覽器的接口 ;使用所述接口添加定制的瀏覽器;以及使用所述定制的瀏覽器顯示來自定制的自動化對象的數(shù)據(jù)。
14. 一種將定制的自動化對象集成到可擴展自動化開發(fā)系統(tǒng)中的方法,所述方法包括共命令的方法,所述方法符合所述自動化開發(fā)系統(tǒng)為執(zhí)行所述公共命令所提供的接口;在所述定制的自動化對象中包括響應所述自動化開發(fā)系統(tǒng)中公件所提供的接口;在所述定制的自動化對象中包括執(zhí)行定制的命令的方法;以及向所述自動化開發(fā)系統(tǒng)添加所述定制的命令,所述添加符合所述自動化開發(fā)系統(tǒng)為添加定制的命令所提供的接口 。
15. 根據(jù)權利要求14的將定制的自動化對象集成到可擴展自動化開發(fā)系統(tǒng)中的方法,進一步包括在所述定制的自動化對象中包括響應定制的事件的方法;以及向所述自動化開發(fā)系統(tǒng)添加所述定制的事件,所述添加符合所述自動化開發(fā)系統(tǒng)為添加定制的事件所提供的接口 。
16. 根據(jù)權利要求14的將定制的自動化對象集成到可擴展自動化開發(fā)系統(tǒng)中的方法,進一步包括向所述自動化開發(fā)系統(tǒng)添加定制的瀏覽器,所述添加符合所述自動化開發(fā)系統(tǒng)為添加定制的瀏覽器所提供的接口 ,所述定制的瀏覽器被配置為顯示來自所述定制的自動化對象的數(shù)據(jù)。
17. 根據(jù)權利要求14的將定制的自動化對象集成到可擴展自動化開發(fā)系統(tǒng)中的方法,進一步包括向所述自動化開發(fā)系統(tǒng)添加定制的對象編輯器,所述添加符合所述自動化開發(fā)系統(tǒng)為添加定制的對象編輯器所提供的接口 ,所述定制的對象編輯器被配置為編輯所述定制的自動化對象中的數(shù)據(jù)。
18. 根據(jù)權利要求14的將定制的自動化對象集成到可擴展自動化開發(fā)系統(tǒng)中的方法,進一步包括向所述自動化開發(fā)系統(tǒng)添加定制的視圖,所述添加符合所述自動化開發(fā)系統(tǒng)為添加定制的視圖所提供的接口 。
19. 根據(jù)權利要求14的將定制的自動化對象集成到可擴展自動化開發(fā)系統(tǒng)中的方法,進一步包括向所述自動化開發(fā)系統(tǒng)添加定制的數(shù)據(jù)庫,所述定制的數(shù)據(jù)庫包括所述定制的自動化對象。
20. 根據(jù)權利要求14的將定制的自動化對象集成到可擴展自動化開發(fā)系統(tǒng)中的方法,其中所述定制的自動化對象的開發(fā)方不同于用于執(zhí)行所述公共命令的所述接口 、用于響應所述公共事件的所述接口以及用于添加定制的命令的所述接口的開發(fā)方。
21. —種包含用于執(zhí)行將定制的自動化對象集成到可擴展自動化開發(fā)系統(tǒng)中的方法的計算機可執(zhí)行指令的計算機可讀的介質,所述方法包括在所述定制的自動化對象中包括執(zhí)行所述自動化開發(fā)系統(tǒng)中公共命令的方法,所述方法符合所述自動化開發(fā)系統(tǒng)為執(zhí)行所述公共命令所提供的接口;在所述定制的自動化對象中包括響應所述自動化開發(fā)系統(tǒng)中公共事件的方法,所述方法符合所述自動化開發(fā)系統(tǒng)為響應所述公共事件所提供的接口;在所述定制的自動化對象中包括執(zhí)行定制的命令的方法;以及向所述自動化開發(fā)系統(tǒng)添加所述定制的命令,所述添加符合所述自動化開發(fā)系統(tǒng)為添加定制的命令所提供的接口 。
全文摘要
本發(fā)明提供了可擴展的自動化開發(fā)環(huán)境。所述環(huán)境是具有它自有權利的完整開發(fā)環(huán)境,除支持它自己固有對象之外,也允許集成外來的(或“定制的”)自動化對象。定制的命令和定制的事件也集成到所述環(huán)境中并且由處理固有命令和事件的同一框架處理。由所述環(huán)境提供的工具能夠與定制的對象以及固有對象合作。例如,公共編輯器的擴展到合并了處理定制數(shù)據(jù)字段的定制編輯器。公共瀏覽器的擴展到無縫地合并了可以對來自定制數(shù)據(jù)庫的定制自動化對象進行操作的定制瀏覽器。一切軟件實體,固有的和定制的,都能夠在單一的框架內開發(fā)和監(jiān)控。用戶操作時無縫地跨越多機種自動化環(huán)境,甚至在所述環(huán)境中的定制實體也符合其自己的操作標準。
文檔編號G06F9/44GK101578581SQ200780045257
公開日2009年11月11日 申請日期2007年10月16日 優(yōu)先權日2006年10月16日
發(fā)明者G·蘭加納拉斯姆罕, S·S·庫爾卡尼 申請人:因文西斯系統(tǒng)公司;桑迪普·沙??蔡亍鞝柨?br>