200823758 九、發明說明 【發明所屬之技術領域】 本發明係有關電漿處理系統組件分析軟體及其產生之 方法和系統。 【先前技術】 電漿處理的進步促進了半導體產業的成長。隨著電漿 處理持續演進,收集與分析電漿處理系統所收集的資料之 客製化軟體應用的需求亦隨之增加。如此所述,客製化軟 體應用係指產生出來以達成個人、群組、部門、公司等等 的特定需求之軟體應用。 可針對各種的原因而產生客製化軟體應用。例如,可 產生客製化軟體應用以簡化從電漿處理系統收集及/或擷 取資料的任務。亦可產生客製化軟體應用以提供程序準則 ’如ATAC測試計畫。在另一範例中,亦可產生客製化軟 體應用以自動化重覆的任務。 無論需要客製化軟體應用的原因爲何,產生客製化軟 體應用的任務可能爲複雜的任務,其一般需要非程式設計 師不擁有的的程式設計的能力及知識。此外,維護及更新 客製化軟體應用的任務亦需要程式設計的能力及知識。因 此,產生、維護及更新漿處理環境中的客製化軟體應用之 任務可能變成昂貴且耗時的一項任務。 一種產生客製化軟體應用的方法可包括擁有利用文字 編及器以撰寫軟體程式碼之軟體程式設計師。一旦寫好軟 -4- 200823758 體程式碼,可編譯軟體程式碼後產生可執行檔。此方法可 能爲耗時的程序,需要軟體程式設計師針對應用的設計及 應用的功能撰寫程式碼。在一範例中,收集有關學生的資 料之簡單的表格會需要軟體程式設計師撰寫程式碼以設計 出表格的實體格式,並且接著撰寫程式碼以控制表格的功 能及特性。 另一種在電漿處理環境中產生客製化軟體應用的方法 可基於整合式開發環境(IDE ) 。IDE或亦稱爲設計編輯 器係指可用來開發其他軟體應用的軟體。IDE可包括,但 不限於,產生圖形使用者介面(GUI )之組件、產生並編 輯程式碼的文字程式碼編輯器、輔助圖形使用者介面( GUI)之建構的工具、除錯器及編譯器。IDE的範例包括 ,但不限於,微軟(M i c r 〇 s 〇 f t ) ® V i s u a 1 S t u d i 〇、寶蘭( Borland ) ©Delphi 及國際儀器(National Instrument )TM LabVIEW。有了 IDE可簡化產生軟體應用之程式碼的任務 。在一範例中,除了撰寫GUI的程式碼及軟體應用的功能 ’ IDE可具有程式設計師可用以簡化產生GUI的任務之組 件。然而,即使有IDE,軟體應用的產生者仍需有撰寫程 式碼以界定GUI之功能的能力與知識。 爲了幫助說明,第1圖顯示開發電漿處理環境中之客 製化軟體應用的簡單之開發週期。在第一步驟102,可辨 別客製化軟體應用的需求。試想例如測試者需要用於產生 測試計畫之軟體應用的情況。在下一步驟1 04,程式設計 師可利用 IDE (如 Microsoft® Visual Studio、Borland® 200823758200823758 IX. Description of the Invention [Technical Field of the Invention] The present invention relates to a plasma processing system component analysis software and a method and system for the same. [Prior Art] Advances in plasma processing have contributed to the growth of the semiconductor industry. As plasma processing continues to evolve, the need to collect and analyze custom software applications for data collected by plasma processing systems has increased. As such, a customized software application is a software application that is generated to achieve the specific needs of individuals, groups, departments, companies, and the like. Customized software applications can be generated for a variety of reasons. For example, customized software applications can be created to simplify the task of collecting and/or extracting data from a plasma processing system. Customized software applications can also be generated to provide program guidelines such as the ATAC test program. In another example, a customized software application can also be generated to automate the repetitive tasks. Regardless of the reason for the need to customize a software application, the task of creating a customized software application can be a complex task that generally requires the ability and knowledge of programming that is not owned by the programmer. In addition, the task of maintaining and updating customized software applications requires programming capabilities and knowledge. As a result, the task of creating, maintaining, and updating customized software applications in a pulp processing environment can become an expensive and time consuming task. A method of generating a customized software application can include a software programmer having a text editor to write software code. Once you write the soft -4-200823758 body code, you can compile the software code to generate the executable file. This approach can be a time consuming process that requires the software programmer to write code for the design and application of the application. In one example, collecting a simple form of information about a student would require the software programmer to write the code to design the physical format of the form, and then write the code to control the function and characteristics of the form. Another method of generating customized software applications in a plasma processing environment can be based on an integrated development environment (IDE). An IDE, or design editor, is software that can be used to develop other software applications. The IDE may include, but is not limited to, a component that generates a graphical user interface (GUI), a text code editor that generates and edits code, a tool that constructs a graphical user interface (GUI), a debugger, and a compiler. . Examples of IDEs include, but are not limited to, Microsoft (M i c r 〇 s 〇 f t ) ® V i s u a 1 S t u d i 〇, Borland ©Delphi, and National InstrumentTM LabVIEW. The IDE simplifies the task of generating code for software applications. In one example, in addition to writing the GUI code and the functionality of the software application, the IDE can have components that the programmer can use to simplify the task of generating the GUI. However, even with an IDE, the producer of a software application still needs the ability and knowledge to write a code to define the functionality of the GUI. To help illustrate, Figure 1 shows a simple development cycle for developing custom software applications in a plasma processing environment. In a first step 102, the requirements of the customized software application can be discerned. Imagine, for example, that a tester needs a software application for generating a test plan. In the next step 104, the programmer can take advantage of the IDE (eg Microsoft® Visual Studio, Borland® 200823758)
Delphi 及 National InstrumeiitTM LabVIEW)以開始 軟體應用的程序。 在下一步驟106,程式設計師可設計軟體應用的 。在一範例中,欲產生表格的GUI,程式設計師可增 件(如文字方塊、表單方塊、核取方塊等等)至IDE 生表格的佈局。 在下一步驟108,程式設計師可撰寫軟體應用的 碼。程式碼可包括,但不限於,界定載入規範、界定 順序、界定邏輯標準、辨別表及處理資料項目的程式ί 在下一步驟1 1 〇,程式設計師可編譯程式碼以辨 在的錯誤並且產生可執行檔。 在下一步驟1 1 2,該方法可判斷程式碼是否包括 。由於程式設計師撰寫此程式碼,程式碼可能會有人 錯(如錯誤(bug ))。在一範例中,若程式設計師 產生收集資料的表格,程式設計師可能必須知道表的 及儲存表格收集到的資料之表欄位。當將表資訊寫入 碼中時,程式設計師可能會拼錯表欄位,造成程式碼 潛在的錯誤。 若程式碼含有錯誤,則在下一步驟1 1 4,該方法 供警告。藉由接收此警告,程式設計師則需對程式碼 除錯及修正,之後返回下一步驟1 1 0以再次編譯程式 步驟110至114可爲迭代直到辨別出所有的錯誤。 若沒有再辨別出額外的錯誤,則在下一步驟1 1 6 生可執行檔。 產生 GUI 加組 以產 程式 功能 馬。 別潛 錯誤 爲差 正在 名稱 程式 中有 可提 進行 碼。 ,產 -6- 200823758 在下一步驟118,可將客製化軟體應用分發至終端用 戶。在一範例中,——旦程式設計師完成測試者用之軟體應 用的產生,則可運用客製化軟體應用。 產生客製化軟體應用的IDE方法需要非程式設計師沒 有能力與知識。另外,對於客製化軟體應用的改變會需要 程式碼的改變並且需要重新編譯程式碼。在—*範例中,程 式設計師可能不理解終端用戶的需求,因而產生需加以改 變的軟體應用。欲實施這些改變,必須撰寫新的程式碼, 並需重新編譯程式碼。 【發明內容】 在一實施例中,本發明有關於提供一種產生電漿處理 系統組件分析軟體之方法。此方法包含界定複數個組件的 組件規範。複數個組件的每一個實施用於分析電漿處理系 統組件之使用者介面功能、邏輯操作功能、輸入功能及輸 出功能的至少一者。界定包括從視覺整合設計編輯器架構 (VIDEA)的組件板選擇複數個組件,藉此令複數個組件 在該VIDEA中以佈局格式設置。界定亦包括藉由執行從 預定的屬性選擇及界定該些屬性的參數之至少一者來指定 複數個組件的每一個之屬性。此方法亦包括在界定後將複 數個組件存檔於標記語言中,標記語言組態成可由瀏覽器 執行而無需先行編譯。 在另一實施例中,本發明有關於一種製成品,包含具 有電腦可讀取程式碼之程式儲存媒體。該電腦可讀取程式 -7- 200823758 碼組態成產生電漿處理系統組件分析軟體。該製成品包含 電腦可讀取程式碼,其有助於使用者界定複數個組件的組 件規範。該複數個組件之每一個實施用於分析電漿處理系 統組件之使用者介面功能、邏輯操作功能、輸入功能及輸 出功能的至少一者。該有助於界定組件規範的電腦可讀取 程式碼包括電腦可讀取程式碼,其用於從視覺整合設計編 輯器架構(VIDE A )的組件板選擇該複數個組件,藉此令 該複數個組件在該VIDEA中以佈局格式設置。該有助於 界定組件規範的電腦可讀取程式碼亦包括電腦可讀取程式 碼,其用於藉由執行從預定的屬性選擇及界定該些屬性的 參數之至少一者來指定該複數個組件的每一個的屬性。該 製成品亦包含電腦可讀取程式碼,其用於在該界定後將該 複數個組件存檔於標記語言中,該標記語言組態成可由瀏 覽器執行而無需先行編譯。 在又一實施例中,本發明有關於一種產生電漿處理系 統組件分析軟體之配置。該配置包含複數個組件。該複數 個組件的每一個實施用於界定組件規範之使用者介面功能 、邏輯操作功能、輸入功能及輸出功能的至少一者。該複 數個組件係可從視覺整合設計編輯器架構(VIDEA )的組 件板選擇而來,藉此令該複數個組件在被選擇後在該 VIDEA中以佈局格式設置。該複數個組件的每一個的屬性 可藉由執行從預定的屬性選擇及界定該些屬性的參數之至 少一者來加以組態。配置亦包含運行時間載入器。該運行 時間載入器組態成執行該複數個組件,該複數個組件係存 -8 - 200823758 檔於標記語言中,該標記語言組態成可由該運行時間載入 器執行而無需先行編譯。 上述發明內容僅有關於在此所揭露之本發明的許多實 施例之一,並且非意圖限制於在此之申請專利範圍中提出 之本發明的範疇。將參照本發明之實施方式連同附圖於下 詳述本發明之這些及其他特徵。 【實施方式】 茲參照附圖中所示之幾個實施例來詳細描述本發明。 在下列說明中,提出各種特定的細節以清楚了解本發明。 然而,對熟悉該項技藝者而言很明顯地,可在沒有這些特 定細節的一些或全部的情況下實施本發明。在其他例子中 ,並未詳述眾所周知的程序步驟及/或結構,以不非必要 地模糊本發明。 於後描述各種的實施例,包括方法及技術。但應注意 本發明亦涵蓋製成品,其包括在其上儲存用於完成具發明 性之技術的實施例的電腦可讀取指令之電腦可讀取媒體。 電腦可讀取媒體可包括,例如,半導體、磁性、光磁性、 光學或其他型態的電腦可讀取媒體,以儲存電腦可讀取編 碼。此外,本發明亦涵蓋實行本發明之實施例的設備。此 種設備可包括專用及/或可編程之電路以完成關於本發明 之實施例的任務。此種設備的範例包括一般目的電腦及/ 或適當編程之專用運算裝置,並且可包含適宜關於本發明 之實施例的各種任務的電腦/運算裝置及專用/可編程電路 -9- 200823758 的組合。 在本發明之一態樣中,在此之發明人領悟到藉由提供 視覺IDE環境可簡化客製化軟體應用的產生、維護及更新 的程序。不似先前技術,發明人領悟到可將程式碼包含至 可組態以增加或移除功能之複數個組件中。 根據本發明的實施例,提供視覺整合設計編輯器架構 (Visual Integrated Design Editor Architecture; VIDEA) ,其中可操縱組件及組件的屬性以產生電漿處理系統組件 分析軟體。本發明之實施例亦提供組件之佈局設計,以及 將儲存在標記語言(如可延伸標記語言(XML)檔)中的 組件屬性値。本發明之實施例進一步提供由運行時間載入 器實施的XML檔。如此所述,運行時間載入器係指讀取 檔案並且執行XML的軟體。 在本發明的一實施例中,提供VIDEA環境,其中可 產生、維護及更新客製化軟體應用(如電漿處理系統組件 分析軟體)。在本發明的一實施例中,致能一種實施 VIDEA的方法。試想,例如,使用者想到產生測試計劃軟 體應用的情況。藉由利用VIDEA,使用者可產生複數個佈 局(如測試設計佈局、配方設計佈局等等)。在一實施例 中,使用者可產生測試計劃軟體應用的測試設計佈局。在 一實施例中,使用者可藉由增加(如將組件拖曳並放置在 編輯器上)複數個組件(如測試方塊、表單方塊、核取方 塊等等)至IDE以產生佈局。 不似先前技術,使用者不需編程界定組件之程式碼。 -10- 200823758 藉由VIDE A,使用者可產生可執行的客製化軟體應用而無 須具有程式設計的知識。在一實施例中,使用者可界定組 件規範(如功能)。藉由組態各組件’功能可包括’但不 限於,界定組件的實體特徵、界定載入規範、界定功能順 序、界定邏輯標準、辨別表及處理資料項目的程式碼。由 於各可組態的組件可與界定參數的規則關聯’可免除編譯 器對程式進行除錯的工作。 • 在又另一實施例中,VIDEA可藉由將外部資料內部化 而組態組件。在一實施例中,VIDEA可存取複數個資料庫 ,並提供使用者能選擇的欄位表單。在另一實施例中, V IDEA可存取儲存在工具上的資料。藉由合倂外部資料, VIDEA可提供使用者在組態組件時存取外部資料的動態方 法。因此,VIDEA無須使用者搜尋外部資料。 一旦完成測試設計佈局,在一實施例中,使用者可將 軟體應用存檔爲XML檔。不似先前技術,VIDEA產生的 ® 檔不需要編譯器對程式進行除錯及/或產生可執行檔。在 本發明的一實施例中,VIDEA環境亦提供運行時間載入器 . ,其可用來執行客製化軟體應用。運行時間載入器可讀取 XML檔以建構終端用戶使用的GUI介面。可利用運行時 間載入器來載入複數個不同的軟體應用(如測試設計、報 告設計、配方設計、組態設計等等)。在一實施例中,相 同的佈局設計可用作不同目的。在一實施例中,可使用具 有測試設計佈局的XML檔來產生測試計畫。相同的XML 檔可用來提供測試收集到的資料之報告。 -11 - 200823758 參照圖及下列的說明可更佳了解本發明之特徵與優點 〇 第2圖顯示,在本發明的一實施例中,使用VIDEA 之客製化軟體應用的簡單開發週期。將連同第2圖解釋第 3至7圖以說明如何應用第2圖中的步驟。第3至7圖中 所示的範例特別針對自動測試及特徵化(Automatic Test and Charaterization; ATAC)構架。 0 在第一步驟202,可辨別客製化軟體應用的需求。 在下一步驟204,使用者可利用VIDEA來開始產生軟 體應用的程序。在一實施例中,使用者可爲程式設計師或 非程式設計師。 第3圖顯示,在本發明的一實施例中,VIDEA使用者 介面的一範例。在一實施例中,VIDEA 可包括如 Microsoft®所提供的開放原始碼設計師主程式館。VIDEA 可包括編輯器302、組件方塊304及屬性方塊306。 φ 在下一步驟206,使用者可設計軟體應用的GUI。在 一範例中,欲產生表格的GUI,程式設計師可增加組件( 如文字方塊、表單方塊、核取方塊等等)至IDE以產生表 格的佈局。 第4圖顯示,在本發明的一實施例中,編輯器中具有 組件之 VIDEA使用者介面的一範例。在一範例中,使用 者可藉由從組件方塊 404 拖曳組件 408 (亦即Delphi and National InstrumeiitTM LabVIEW) are the starting programs for software applications. In the next step 106, the programmer can design the software application. In one example, to create a table GUI, the programmer can add components (such as text boxes, form boxes, check boxes, etc.) to the layout of the IDE. In the next step 108, the programmer can write the code for the software application. The code may include, but is not limited to, a program that defines a load specification, a definition order, a defined logic standard, a recognition table, and a processing data item. In the next step 1 1 , the programmer can compile the code to identify the error and Generate an executable file. In the next step 1 1 2, the method can determine whether the code includes or not. Since the programmer writes this code, the code may be wrong (such as a bug). In one example, if the programmer generates a form to collect data, the programmer may have to know the table fields of the table and the data collected in the form. When writing table information to a code, the programmer may misspell the table field, causing a potential error in the code. If the code contains an error, the method is used for warning in the next step 1 1 4 . By receiving this warning, the programmer needs to debug and correct the code, and then return to the next step 1 1 0 to compile the program again. Steps 110 to 114 can be iterated until all errors are identified. If no additional errors are identified, the executable file is generated in the next step 1 1 6 . Generate a GUI plus group to generate a program function. Don't sneak into the error. There is a code in the name program. Production -6- 200823758 In the next step 118, the customized software application can be distributed to the end user. In one example, a custom software application can be used if the programmer completes the application of the software application for the tester. IDE methods that produce custom software applications require non-programmers to have the power and knowledge. In addition, changes to custom software applications will require code changes and require recompilation of the code. In the —* paradigm, the programmer may not understand the end user's needs and thus generate software applications that need to be changed. To implement these changes, you must write a new code and recompile the code. SUMMARY OF THE INVENTION In one embodiment, the present invention is directed to a method of producing a plasma processing system component analysis software. This method contains component specifications that define a number of components. Each of the plurality of components is configured to analyze at least one of a user interface function, a logic operation function, an input function, and an output function of the plasma processing system component. The definition includes selecting a plurality of components from a component board of the Visual Integrated Design Editor Architecture (VIDEA), thereby enabling a plurality of components to be arranged in a layout format in the VIDEA. The defining also includes specifying an attribute of each of the plurality of components by performing at least one of selecting from the predetermined attributes and defining parameters of the attributes. This method also includes archiving a plurality of components in the markup language after definition, and the markup language is configured to be executable by the browser without prior compilation. In another embodiment, the invention is directed to a finished article comprising a program storage medium having computer readable code. The computer readable program -7- 200823758 code is configured to generate plasma processing system component analysis software. The article of manufacture includes computer readable code that assists the user in defining component specifications for a plurality of components. Each of the plurality of components is configured to analyze at least one of a user interface function, a logic operation function, an input function, and an output function of the plasma processing system component. The computer readable code that facilitates defining the component specification includes computer readable code for selecting the plurality of components from a component board of a visual integration design editor architecture (VIDE A), thereby making the plural The components are set in the layout format in the VIDEA. The computer readable code that facilitates defining a component specification also includes computer readable code for specifying the plurality of parameters by performing at least one of selecting and defining parameters from the predetermined attributes. The properties of each of the components. The article of manufacture also includes computer readable code for archiving the plurality of components in the markup language after the definition, the markup language being configured to be executable by the browser without prior compilation. In yet another embodiment, the present invention is directed to a configuration for generating a plasma processing system component analysis software. This configuration contains a number of components. Each of the plurality of components is configured to define at least one of a user interface function, a logic operation function, an input function, and an output function of the component specification. The plurality of components are selectable from a component board of the Visual Integrated Design Editor Architecture (VIDEA), whereby the plurality of components are arranged in the layout format in the VIDEA after being selected. The attributes of each of the plurality of components can be configured by performing at least one of selecting and defining parameters for the attributes from the predetermined attributes. The configuration also includes a runtime loader. The runtime loader is configured to execute the plurality of components, the plurality of components being stored in the markup language, the markup language being configured to be executable by the runtime loader without prior compilation. The above summary is only one of the many embodiments of the invention disclosed herein, and is not intended to limit the scope of the invention as set forth in the appended claims. These and other features of the present invention will be described in detail below with reference to the embodiments of the invention. [Embodiment] The present invention will be described in detail with reference to a few embodiments shown in the drawings. In the following description, various specific details are set forth in the claims. However, it will be apparent to those skilled in the art that the present invention may be practiced without some or all of these specific details. In other instances, well-known procedural steps and/or structures are not described in detail in order to not obscure the invention. Various embodiments, including methods and techniques, are described below. It should be noted, however, that the present invention also encompasses articles of manufacture including computer readable media having stored thereon computer readable instructions for performing embodiments of the inventive technology. Computer readable media can include, for example, semiconductor, magnetic, photomagnetic, optical, or other types of computer readable media to store computer readable code. Furthermore, the invention also encompasses an apparatus for practicing embodiments of the invention. Such devices may include dedicated and/or programmable circuitry to accomplish the tasks associated with embodiments of the present invention. Examples of such devices include general purpose computers and/or suitably programmed special purpose computing devices, and may include a combination of computer/operating devices and dedicated/programmable circuits -9-200823758 suitable for various tasks with respect to embodiments of the present invention. In one aspect of the invention, the inventors herein have realized that the process of generating, maintaining, and updating a customized software application can be simplified by providing a visual IDE environment. Unlike prior art, the inventors have realized that the code can be included in a plurality of components that can be configured to add or remove functionality. In accordance with an embodiment of the present invention, a Visual Integrated Design Editor Architecture (VIDEA) is provided in which the attributes of components and components can be manipulated to produce a plasma processing system component analysis software. Embodiments of the present invention also provide for layout design of components, as well as component attributes that will be stored in markup languages such as Extensible Markup Language (XML) files. Embodiments of the present invention further provide an XML file implemented by a runtime loader. As mentioned, the runtime loader refers to the software that reads the archive and executes the XML. In one embodiment of the invention, a VIDEA environment is provided in which customized software applications (e.g., plasma processing system component analysis software) can be generated, maintained, and updated. In an embodiment of the invention, a method of implementing VIDEA is enabled. Imagine, for example, that a user thinks about the production of a test plan software application. By using VIDEA, users can generate multiple layouts (such as test design layout, recipe design layout, etc.). In one embodiment, the user can generate a test design layout for the test plan software application. In one embodiment, the user can create a layout by adding (e.g., dragging components and placing them on the editor) a plurality of components (e.g., test blocks, form blocks, check blocks, etc.) to the IDE. Unlike prior art, the user does not need to program the code defining the component. -10- 200823758 With VIDE A, users can generate executable custom software applications without the need for programming knowledge. In one embodiment, the user can define a component specification (e.g., functionality). By configuring the various components' functions may include, but are not limited to, defining the physical characteristics of the component, defining the load specification, defining the functional order, defining the logical criteria, identifying the table, and processing the code of the data item. Since each configurable component can be associated with a rule that defines parameters, the compiler can be eliminated from debugging the program. • In yet another embodiment, VIDEA can configure components by internalizing external data. In one embodiment, VIDEA has access to a plurality of databases and provides a field form that the user can select. In another embodiment, V IDEA can access the data stored on the tool. By combining external data, VIDEA provides a dynamic method for users to access external data while configuring components. Therefore, VIDEA does not require users to search for external data. Once the test design layout is complete, in one embodiment, the user can archive the software application as an XML file. Unlike prior art, the VIDEA-generated ® file does not require a compiler to debug the program and/or generate executable files. In an embodiment of the invention, the VIDEA environment also provides a runtime loader that can be used to execute a customized software application. The runtime loader can read the XML file to construct the GUI interface used by the end user. A runtime loader can be used to load a number of different software applications (such as test design, report design, recipe design, configuration design, etc.). In an embodiment, the same layout design can be used for different purposes. In one embodiment, an XML file that tests the design layout can be used to generate a test plan. The same XML file can be used to provide a report of the data collected by the test. -11 - 200823758 The features and advantages of the present invention will be better understood with reference to the drawings and the following description. FIG. 2 shows a simple development cycle of a customized software application using VIDEA in an embodiment of the present invention. Figures 3 through 7 will be explained in conjunction with Figure 2 to illustrate how the steps in Figure 2 can be applied. The examples shown in Figures 3 through 7 are specific to the Automatic Test and Charaterization (ATAC) architecture. 0 In a first step 202, the requirements of the customized software application can be discerned. In the next step 204, the user can use VIDEA to begin the process of generating the software application. In one embodiment, the user can be a programmer or a non-programmer. Figure 3 shows an example of a VIDEA user interface in one embodiment of the invention. In one embodiment, the VIDEA may include an open source designer main library such as that provided by Microsoft®. VIDEA can include editor 302, component block 304, and attribute block 306. φ In the next step 206, the user can design the GUI of the software application. In one example, to create a table GUI, the programmer can add components (such as text boxes, form blocks, check boxes, etc.) to the IDE to create a table layout. Figure 4 shows an example of a VIDEA user interface of components in an editor in one embodiment of the invention. In one example, the user can drag component 408 from component block 404 (ie,
AtacComboBox)至編輯器402而開始產生客製化軟體應 用。 -12- 200823758 在下一步驟208,使用者可藉由操縱及/或選擇屬性( 如參數)而組態各組件。第5圖顯示,在本發明的一實施 例中,在VIDEA環境中如何界定組件之一範例。編輯器 502可包含從組件方塊502拖曳的複數個組件。在一範例 中,文字方塊(520、522、524及526)爲來自組件方塊 5 04 的 AtacTextBox 的範例,而標記(530、532' 534、 53 6、538、540、542、544 及 546 )爲來自組件方塊 504 的AtacLabel的範例。一旦在編輯器502上放置了各組件 ,可在編輯器502上移動各組件以產生希望的GUI佈局。 針對希望的佈局之各組件,可界定各組件的功能。在 一範例中,使用者可針對各組件組態屬性方塊5 06中的屬 性。在一範例中,使用者可藉由從預定表單(如下拉表單 )中選擇屬性來組態各組件。可使用預定表單來最小化人 爲錯誤(如打字錯誤)及挫折(如無法記住表欄位的位置 )。在另一實施例,使用者可藉由操縱屬性而組態各組件 ,例如藉由打字參數。可組態之屬性可包括,但不限於, 使用者介面功能、邏輯操作功能、輸入功能及輸出功能。 在一實施例中,可組態組件的使用者介面功能。試想 ,例如,設計ATAC測試計畫的情況。使用者可組態各組 件之不同的實體特徵。可操縱的實體特徵可包括,但不限 於,字體大小、字體顏色、背景顏色、文字校直、邊緣顏 色及類似者。 在一實施例中,可組態組件的輸入/輸出功能。在一 實施例中,組件的輸入/輸出功能可與來自外部來源的資 -13- 200823758 料關聯。在一實施例中,可從資料庫及/或外部裝置(如 氣體箱、處理模組等等)導出外部來元的資料。在一範例 中,使用者可從表的表單及/或表欄位的表單(如資料欄 位表單5 5 0中可見)選擇,因而允許組件的輸入/輸出與 表作關聯。在另一範例中,VIDE A可拉出有關於電漿處理 系統的資料,允許使用者界定處理室之情況。藉由連接至 外部環境,VIDEA可從外部來源動態拉出資料,以提供使 用者有助於組態組件之屬性的資訊。 在一實施例中,可組態組件的邏輯操作功能。在一範 例中,可界定之邏輯操作功能爲執行ATAC測試計畫的順 序(如在從資料庫拉出測試規範之前辨別欲測試的部件) 。在另一範例中,可界定執行ATAC測試計畫之一部分的 標準(例如如果-否則(if-else )條件、當-執行(do-while)迴路等等)。在又另一範例中,可界定處理資料 (如收集到的資料、手動輸入的資料、從外部來源拉出的 資料等等)的程式碼。 在下一步驟2 1 G,可將佈局設計及組件屬性存檔成 XML檔。此方法無需編譯器來對程式進行除錯及/或產生 可執行檔。參見第6圖有關XML檔之一範例。 在下一步驟2 1 2 ’可將客製化的軟體應用分發給終端 用戶。第7圖顯示,在本發明的一實施例中,在運行時間 中客製化軟體應用的一範例。 由於VIDEA無需程式設計的知識且需最少的訓練時 間,使用者可輕易地利用VIDEA來產生客製化的軟體應 -14 - 200823758 用來達到日常的使用的需求。此外,可輕易執行對於客製 化的軟體應用之改變及/或更新,而無需複雜的編程改變 及/或重新編譯。 第8圖顯示,在本發明的一實施例中,圖解整體 VIDEA環境的方塊圖。整體VIDEA環境可分成兩部分― VIDEA部分890及運行時間載入器部分892。VIDEA部分 8 90顯示有關於產生、維護及/或更新客製化軟體應用的方 塊圖。運行時間載入器部分892顯示有關於運行客製化軟 體應用的方塊圖。 VIDEA 部分 890 可包括 VIDEA 802,可將 VIDEA 802 啓動以產生客製化軟體應用。藉由VIDEA,使用者可藉由 拖曳並放置組件於編輯器上來佈局GUI的設計。使用者亦 可組態各組件的屬性,以界定各組件的功能。在一實施例 中,VIDEA可連接至外部環境81〇,以拉入資料庫資訊 812及/或有關於外部裝置814 (如電漿處理工具、用具、 電子裝置等等)的資料。一旦完成了 GUI的佈局,使用者 可將資訊存檔成XML檔。在一範例中,可將測試設計佈 局存檔成XML檔804。在另一範例中,可將配方設計佈局 存檔成XML檔806。 運行時間載入器部分892可包括運行時間載入器820 ,其可讀取XML檔(如8〇4及/或8〇6)以重建終端用戶 使用之GUI介面822。在一實施例中,終端用戶可與產生 客製化使用者介面者爲同一人。可使用運行時間載入器 8 2 0載入不同的應用(如測試設計、報告設計、配方設計 -15- 200823758 、組態設計等等)。換言之,可使用運行時間載入器820 來載入任何類型的客製化軟體應用,只要客製化軟體應用 以XML的格式存檔。 在一實施例中,相同的佈局資料可用於不同的目的。 換言之,一旦重建了 GUI介面822,可給予使用者決定如 何使用GUI介面822的機會。在一範例中,具有測試設計 佈局的XML檔804可用來產生測試計畫83 2,可提供使用 者在測試部件以收集並儲存測試結果時之準則。相同的具 有測試設計佈局的XML檔804可用來提供測試計畫及收 集到的資料之報告834。另外,相同的具有測試設計佈局 的XML檔8 04可用來產生PDF報告836,可將之存檔及/ 或與其他使用者分享。在另一範例中,具有配方設計佈局 的XML檔8 06可用來產生組態檔842,可將之載入至電漿 處理工具上以組態處理基底的工具。同樣地,相同的具有 配方設計佈局的XML檔806可用來提供報告844及/或 PDF 報告 846。 可從本發明的實施例理解到VIDEA提供簡單的視覺 IDE,其不需要使用者具備程式設計的能力及/或知識。藉 由簡化客製化軟體應用的產生,可將產生程序下推至了解 應用環境的使用者。另外,可輕易地實施對於客製化軟體 應用之改變及/或更新而無需執行除錯及/或編譯。因此, VIDEA可免除高附力π成本並降低開發時間。 雖以藉由數個較佳實施例描述本發明,有落入本發明 之範疇內的修改、變更及等效者。並且,爲了方便而在此 -16- 200823758 提供名稱、發明內容及發明摘要,並且不應用來解讀在此 之申請專利範圍的範疇。應注意到有許多實施本發明之方 法及設備的替代方式。雖在此提供各種的範例,這些範例 對於本發明僅爲例示性而非限制性。此外,在此說明書中 ,一組「η」個項目係指該組中零或更多項目。因此下列 所附的申請專利範圍應解釋爲包括落入本發明之真實精神 與範疇內的所有此種修改、變更及等效者。 【圖式簡單說明】 在附圖中例示性而非限制性說明本發明,其中類似的 參考符號參照類似的元件,圖中: 第1圖顯示客製化軟體應用的簡單的開發週期。 第2圖顯示,在本發明的一實施例中,使用 VIDEA 之客製化軟體應用的簡單開發週期。 第3圖顯示,在本發明的一實施例中,VIDEA使用者 _ 介面的一範例。 第4圖顯示,在本發明的一實施例中,編輯器中具有 組件之VIDEA使用者介面的一範例。 第5圖顯示,在本發明的一實施例中,在VIDEA環 境中如何界定組件之一範例。 第6圖顯示,在本發明的一實施例中,XML檔之一範 例。 第7圖顯示,在本發明的一實施例中,在運行時間中 客製化軟體應用的一範例。 -17- 200823758 第8圖顯示,在本發明的一實施例中,圖解整體 VIDEA環境的方塊圖。 【主要元件符號說明】 3 02 :編輯器 3 04 :組件方塊 3 0 6 :屬性方塊 φ 402 :編輯器 404 :組件方塊 4 0 8 :組件 5 02 :編輯器 504 :組件方塊 5 0 6 ·屬性方塊 520、 522、 524、 526 :文字方塊 530、 532、 534、 536、 538、 540、 542、 544、 546: ⑩ 標記 5 5 0 :資料欄位表單AtacComboBox) to editor 402 begins to produce a customized software application. -12- 200823758 In the next step 208, the user can configure the components by manipulating and/or selecting attributes such as parameters. Figure 5 shows an example of how to define a component in a VIDEA environment in an embodiment of the invention. Editor 502 can include a plurality of components that are dragged from component block 502. In one example, the text blocks (520, 522, 524, and 526) are examples of AtacTextBox from component block 504, while the tags (530, 532' 534, 53 6, 538, 540, 542, 544, and 546) are An example of AtacLabel from component block 504. Once the components are placed on the editor 502, the components can be moved on the editor 502 to produce the desired GUI layout. The functionality of each component can be defined for each component of the desired layout. In one example, the user can configure the properties in attribute block 506 for each component. In one example, the user can configure each component by selecting an attribute from a predetermined form (such as a pull form). Scheduled forms can be used to minimize human error (such as typing errors) and frustration (such as the inability to remember the location of the table fields). In another embodiment, the user can configure the components by manipulating the attributes, such as by typing parameters. Configurable attributes may include, but are not limited to, user interface functions, logic operation functions, input functions, and output functions. In an embodiment, the user interface functionality of the component can be configured. Imagine, for example, the design of an ATAC test plan. The user can configure different physical characteristics of each component. Manipulatable physical features may include, but are not limited to, font size, font color, background color, text alignment, edge color, and the like. In an embodiment, the input/output functions of the components can be configured. In one embodiment, the component's input/output functionality can be associated with an external source. In one embodiment, external metadata may be derived from a database and/or external device (e.g., gas box, processing module, etc.). In one example, the user can select from the form of the form and/or the form of the table field (as seen in the data field form 550), thus allowing the input/output of the component to be associated with the table. In another example, VIDE A can pull out information about the plasma processing system, allowing the user to define the condition of the processing chamber. By connecting to an external environment, VIDEA can dynamically pull data from external sources to provide information that helps users configure the properties of the component. In an embodiment, the logical operational functions of the components can be configured. In one example, the definable logic operation function is the order in which the ATAC test plan is executed (eg, the part to be tested is identified before the test specification is pulled from the library). In another example, criteria for performing a portion of an ATAC test plan (e.g., if-if-conditions, do-while loops, etc.) may be defined. In yet another example, code that processes data (such as collected data, manually entered data, data pulled from external sources, etc.) can be defined. In the next step 2 1 G, the layout design and component properties can be archived into an XML file. This method does not require a compiler to debug the program and/or generate executable files. See Figure 6 for an example of an XML file. The customized software application can be distributed to the end user in the next step 2 1 2 '. Figure 7 shows an example of customizing a software application in runtime during an embodiment of the invention. Since VIDEA requires no programming knowledge and requires minimal training time, users can easily use VIDEA to generate custom software that can be used to meet everyday usage needs. In addition, changes and/or updates to customized software applications can be easily performed without complicated programming changes and/or recompilation. Figure 8 shows a block diagram of an overall VIDEA environment in one embodiment of the invention. The overall VIDEA environment can be divided into two parts - the VIDEA part 890 and the runtime loader part 892. The VIDEA section 8 90 shows a block diagram of the creation, maintenance, and/or updating of customized software applications. The runtime loader section 892 displays a block diagram of running the customized software application. The VIDEA part 890 can include VIDEA 802, which can boot VIDEA 802 to produce a customized software application. With VIDEA, the user can lay out the GUI design by dragging and placing components on the editor. The user can also configure the properties of each component to define the functionality of each component. In one embodiment, the VIDEA can be coupled to the external environment 81A to pull in the database information 812 and/or to have information about the external device 814 (e.g., plasma processing tools, appliances, electronics, etc.). Once the layout of the GUI is complete, the user can archive the information into an XML file. In one example, the test design layout can be archived into an XML file 804. In another example, the recipe design layout can be archived into an XML file 806. The runtime loader portion 892 can include a runtime loader 820 that can read XML files (e.g., 8〇4 and/or 8〇6) to reconstruct the GUI interface 822 used by the end user. In one embodiment, the end user can be the same person as the user who created the customized user interface. You can load different applications (such as test design, report design, recipe design -15- 200823758, configuration design, etc.) using the runtime loader 82 0 0. In other words, the runtime loader 820 can be used to load any type of customized software application as long as the customized software application is archived in XML format. In an embodiment, the same layout material can be used for different purposes. In other words, once the GUI interface 822 is rebuilt, the user can be given an opportunity to decide how to use the GUI interface 822. In one example, an XML file 804 having a test design layout can be used to generate a test plan 83 2 that provides guidelines for the user to test the component to collect and store test results. The same XML file 804 with a test design layout can be used to provide a report 834 of the test plan and the collected data. In addition, the same XML file 804 with a test design layout can be used to generate a PDF report 836 that can be archived and/or shared with other users. In another example, an XML file 806 with a recipe design layout can be used to generate a configuration file 842 that can be loaded onto a plasma processing tool to configure a tool that processes the substrate. Likewise, the same XML file 806 with a recipe design layout can be used to provide reports 844 and/or PDF reports 846. It can be appreciated from embodiments of the present invention that VIDEA provides a simple visual IDE that does not require the user's ability and/or knowledge of programming. By simplifying the creation of custom software applications, the generation process can be pushed down to the user who understands the application environment. In addition, changes and/or updates to customized software applications can be easily implemented without the need for debugging and/or compilation. As a result, VIDEA eliminates the cost of high-supply π and reduces development time. Modifications, variations, and equivalents are intended to be included within the scope of the invention. Also, the name, the summary of the invention, and the summary of the invention are provided for the convenience of the present invention, and should not be used in the scope of the claims. It should be noted that there are many alternative ways of implementing the methods and apparatus of the present invention. The examples are provided by way of illustration and not limitation. In addition, in this specification, a group of "η" items refers to zero or more items in the group. The scope of the following appended claims should be construed to include all such modifications, variations and equivalents. BRIEF DESCRIPTION OF THE DRAWINGS The present invention is illustrated by way of example, and not limitation, in which reference FIGS Figure 2 shows a simple development cycle for a customized software application using VIDEA in one embodiment of the invention. Figure 3 shows an example of a VIDEA user interface in one embodiment of the invention. Figure 4 shows an example of a VIDEA user interface of components in an editor in one embodiment of the invention. Figure 5 shows an example of how to define a component in a VIDEA environment in an embodiment of the invention. Figure 6 shows an example of an XML file in an embodiment of the invention. Figure 7 shows an example of a custom software application in runtime during an embodiment of the invention. -17- 200823758 Figure 8 shows, in an embodiment of the invention, a block diagram of an overall VIDEA environment. [Main component symbol description] 3 02 : Editor 3 04 : Component block 3 0 6 : Property block φ 402 : Editor 404 : Component block 4 0 8 : Component 5 02 : Editor 504 : Component block 5 0 6 · Attribute Blocks 520, 522, 524, 526: text blocks 530, 532, 534, 536, 538, 540, 542, 544, 546: 10 mark 5 5 0: data field form
802 : VIDEA 804、80 5 : XML 檔 8 1 2 :資料庫資訊 8 1 4 :外部裝置 、 820 :運行時間載入器 822 : GUI 介面 832 :測試計畫 -18- 200823758802 : VIDEA 804, 80 5 : XML file 8 1 2 : Library information 8 1 4 : External device , 820 : Run time loader 822 : GUI interface 832 : Test plan -18- 200823758
8 3 4 :報告 83 6 : PDF 報告 842 :組態檔 890 : VIDEA 部分 892 :運行時間載入器部分 -19-8 3 4 : Report 83 6 : PDF Report 842 : Configuration File 890 : VIDEA Section 892 : Run Time Loader Section -19-