MeshIDE for TinyOS模塊設計
發布時間:2012/4/7 19:39:53 訪問次數:1180
無線傳感器集成開發平臺MeshIDE for TinyOS插件主程序部分MP2101DQ-LF-Z實現了在Eclipse平臺下用插件實現能夠開發nesC項目的用戶平臺,主要功能實現是nesC代碼編輯管理,并提供一些與項目相關的選項和make視圖部分,并能與TinyOS的編譯環境進行信息交互。它主要由下面幾個重要模塊組成。
(1)項目生成向導模塊
項目生成向導模塊的功能是引導用戶輸入新MeshIDE for TinyOS墓本信息,并選擇開發所需要使用的節點環境。開發者可以選擇創建空白的MeshIDE for TinyOS項目,平臺將根據用戶定義的信息生成應用框架,開發者在框架基礎上完成具體功能的實現;也可以從已有的文件導入到空白的項目中;還可以選擇創建已有的開發實例( sample),MeshIDE for TinyOS平臺提供了多個完整的應用實例,創建項目時系統會從TinyOS的apps提供的實例中調用相應的文件,在MeshIDE for TinyOS平臺中編譯后用來測試節點。當然,用戶也可修改原有功能,在實例的基礎上進行相應擴展。
(2)編輯器模塊
編輯器模塊的功能是在透視圖中提供一個文本編輯區域,允許用戶在工作臺中編輯nesC代碼。同時,它也可作為一般文本編輯器以普通文本的方式打開,如.proj ect或makefile之類的ASCII文件。在打開或者編輯文件時,編輯器需要監聽該文件的內容是否已經被改變(isdirty),并提示用戶保存已經修改的文件。
對于nesC文件,需要進行分區檢查,以確定哪些部分是源代碼,哪些部分是注釋。用一個定義編輯器行為的源查看器來管理諸如雙擊文本選擇范圍或是文檔自動補全策略的功能。編輯器需要進行詞法分析,用不同的顏色標注出不同類型的單詞或符號。同時,還需進行括號配對管理,通過括號的配對過程對程序代碼分區,不同區域用不同顏色間隔標注。定制nesC編輯器的主要結構如圖7-37所示。
在nesC編輯器中,最主要的文件是NesCEditor和ExternalEditorlnput,它們控制編輯器的主要行為和編輯內容的輸入協議,它們相當于IEditorlnput和EditorPart之間的關系,是編輯器的核心部分。編輯器模塊需要定制成一個nesC和其他多種文本的編輯器,它需繼承TextEditor類,規定一個標準平臺文本編輯器的行為,如文本表示和用戶修改,剪切、復制/粘貼及查找/替換等功能。
對于定制nesC編輯器的開發,在創建基本的編輯器后還需增加以下3個重要的功能。
①創建文檔提供程序。文檔提供程序(IDocumentProvider)生成并管理包含編輯器榆入元素的文本表示的文檔(IDocument),決定如何執行元素與文本表示之間轉換及多個編輯器是否應共享文檔提供程序是非常重要的。
②創建文檔分區程序。文檔分區程序(IDocumentPartitioner)將文檔分成若干個不相連的區域。分區程序給每一個區域指定該分區程序預先定義的一組內容類型中的一個。在更改每一個文檔時,必須更新文檔的分區。由于nesC的語法結構與Java有一定區別,所以需要自定義一個文檔分區的接口。
③提供源查看器插件。源查看器可以提供自動縮進策略、雙擊策略、內容格式化程序和文本表示協調程序。
(1)項目生成向導模塊
項目生成向導模塊的功能是引導用戶輸入新MeshIDE for TinyOS墓本信息,并選擇開發所需要使用的節點環境。開發者可以選擇創建空白的MeshIDE for TinyOS項目,平臺將根據用戶定義的信息生成應用框架,開發者在框架基礎上完成具體功能的實現;也可以從已有的文件導入到空白的項目中;還可以選擇創建已有的開發實例( sample),MeshIDE for TinyOS平臺提供了多個完整的應用實例,創建項目時系統會從TinyOS的apps提供的實例中調用相應的文件,在MeshIDE for TinyOS平臺中編譯后用來測試節點。當然,用戶也可修改原有功能,在實例的基礎上進行相應擴展。
(2)編輯器模塊
編輯器模塊的功能是在透視圖中提供一個文本編輯區域,允許用戶在工作臺中編輯nesC代碼。同時,它也可作為一般文本編輯器以普通文本的方式打開,如.proj ect或makefile之類的ASCII文件。在打開或者編輯文件時,編輯器需要監聽該文件的內容是否已經被改變(isdirty),并提示用戶保存已經修改的文件。
對于nesC文件,需要進行分區檢查,以確定哪些部分是源代碼,哪些部分是注釋。用一個定義編輯器行為的源查看器來管理諸如雙擊文本選擇范圍或是文檔自動補全策略的功能。編輯器需要進行詞法分析,用不同的顏色標注出不同類型的單詞或符號。同時,還需進行括號配對管理,通過括號的配對過程對程序代碼分區,不同區域用不同顏色間隔標注。定制nesC編輯器的主要結構如圖7-37所示。
在nesC編輯器中,最主要的文件是NesCEditor和ExternalEditorlnput,它們控制編輯器的主要行為和編輯內容的輸入協議,它們相當于IEditorlnput和EditorPart之間的關系,是編輯器的核心部分。編輯器模塊需要定制成一個nesC和其他多種文本的編輯器,它需繼承TextEditor類,規定一個標準平臺文本編輯器的行為,如文本表示和用戶修改,剪切、復制/粘貼及查找/替換等功能。
對于定制nesC編輯器的開發,在創建基本的編輯器后還需增加以下3個重要的功能。
①創建文檔提供程序。文檔提供程序(IDocumentProvider)生成并管理包含編輯器榆入元素的文本表示的文檔(IDocument),決定如何執行元素與文本表示之間轉換及多個編輯器是否應共享文檔提供程序是非常重要的。
②創建文檔分區程序。文檔分區程序(IDocumentPartitioner)將文檔分成若干個不相連的區域。分區程序給每一個區域指定該分區程序預先定義的一組內容類型中的一個。在更改每一個文檔時,必須更新文檔的分區。由于nesC的語法結構與Java有一定區別,所以需要自定義一個文檔分區的接口。
③提供源查看器插件。源查看器可以提供自動縮進策略、雙擊策略、內容格式化程序和文本表示協調程序。
無線傳感器集成開發平臺MeshIDE for TinyOS插件主程序部分MP2101DQ-LF-Z實現了在Eclipse平臺下用插件實現能夠開發nesC項目的用戶平臺,主要功能實現是nesC代碼編輯管理,并提供一些與項目相關的選項和make視圖部分,并能與TinyOS的編譯環境進行信息交互。它主要由下面幾個重要模塊組成。
(1)項目生成向導模塊
項目生成向導模塊的功能是引導用戶輸入新MeshIDE for TinyOS墓本信息,并選擇開發所需要使用的節點環境。開發者可以選擇創建空白的MeshIDE for TinyOS項目,平臺將根據用戶定義的信息生成應用框架,開發者在框架基礎上完成具體功能的實現;也可以從已有的文件導入到空白的項目中;還可以選擇創建已有的開發實例( sample),MeshIDE for TinyOS平臺提供了多個完整的應用實例,創建項目時系統會從TinyOS的apps提供的實例中調用相應的文件,在MeshIDE for TinyOS平臺中編譯后用來測試節點。當然,用戶也可修改原有功能,在實例的基礎上進行相應擴展。
(2)編輯器模塊
編輯器模塊的功能是在透視圖中提供一個文本編輯區域,允許用戶在工作臺中編輯nesC代碼。同時,它也可作為一般文本編輯器以普通文本的方式打開,如.proj ect或makefile之類的ASCII文件。在打開或者編輯文件時,編輯器需要監聽該文件的內容是否已經被改變(isdirty),并提示用戶保存已經修改的文件。
對于nesC文件,需要進行分區檢查,以確定哪些部分是源代碼,哪些部分是注釋。用一個定義編輯器行為的源查看器來管理諸如雙擊文本選擇范圍或是文檔自動補全策略的功能。編輯器需要進行詞法分析,用不同的顏色標注出不同類型的單詞或符號。同時,還需進行括號配對管理,通過括號的配對過程對程序代碼分區,不同區域用不同顏色間隔標注。定制nesC編輯器的主要結構如圖7-37所示。
在nesC編輯器中,最主要的文件是NesCEditor和ExternalEditorlnput,它們控制編輯器的主要行為和編輯內容的輸入協議,它們相當于IEditorlnput和EditorPart之間的關系,是編輯器的核心部分。編輯器模塊需要定制成一個nesC和其他多種文本的編輯器,它需繼承TextEditor類,規定一個標準平臺文本編輯器的行為,如文本表示和用戶修改,剪切、復制/粘貼及查找/替換等功能。
對于定制nesC編輯器的開發,在創建基本的編輯器后還需增加以下3個重要的功能。
①創建文檔提供程序。文檔提供程序(IDocumentProvider)生成并管理包含編輯器榆入元素的文本表示的文檔(IDocument),決定如何執行元素與文本表示之間轉換及多個編輯器是否應共享文檔提供程序是非常重要的。
②創建文檔分區程序。文檔分區程序(IDocumentPartitioner)將文檔分成若干個不相連的區域。分區程序給每一個區域指定該分區程序預先定義的一組內容類型中的一個。在更改每一個文檔時,必須更新文檔的分區。由于nesC的語法結構與Java有一定區別,所以需要自定義一個文檔分區的接口。
③提供源查看器插件。源查看器可以提供自動縮進策略、雙擊策略、內容格式化程序和文本表示協調程序。
(1)項目生成向導模塊
項目生成向導模塊的功能是引導用戶輸入新MeshIDE for TinyOS墓本信息,并選擇開發所需要使用的節點環境。開發者可以選擇創建空白的MeshIDE for TinyOS項目,平臺將根據用戶定義的信息生成應用框架,開發者在框架基礎上完成具體功能的實現;也可以從已有的文件導入到空白的項目中;還可以選擇創建已有的開發實例( sample),MeshIDE for TinyOS平臺提供了多個完整的應用實例,創建項目時系統會從TinyOS的apps提供的實例中調用相應的文件,在MeshIDE for TinyOS平臺中編譯后用來測試節點。當然,用戶也可修改原有功能,在實例的基礎上進行相應擴展。
(2)編輯器模塊
編輯器模塊的功能是在透視圖中提供一個文本編輯區域,允許用戶在工作臺中編輯nesC代碼。同時,它也可作為一般文本編輯器以普通文本的方式打開,如.proj ect或makefile之類的ASCII文件。在打開或者編輯文件時,編輯器需要監聽該文件的內容是否已經被改變(isdirty),并提示用戶保存已經修改的文件。
對于nesC文件,需要進行分區檢查,以確定哪些部分是源代碼,哪些部分是注釋。用一個定義編輯器行為的源查看器來管理諸如雙擊文本選擇范圍或是文檔自動補全策略的功能。編輯器需要進行詞法分析,用不同的顏色標注出不同類型的單詞或符號。同時,還需進行括號配對管理,通過括號的配對過程對程序代碼分區,不同區域用不同顏色間隔標注。定制nesC編輯器的主要結構如圖7-37所示。
在nesC編輯器中,最主要的文件是NesCEditor和ExternalEditorlnput,它們控制編輯器的主要行為和編輯內容的輸入協議,它們相當于IEditorlnput和EditorPart之間的關系,是編輯器的核心部分。編輯器模塊需要定制成一個nesC和其他多種文本的編輯器,它需繼承TextEditor類,規定一個標準平臺文本編輯器的行為,如文本表示和用戶修改,剪切、復制/粘貼及查找/替換等功能。
對于定制nesC編輯器的開發,在創建基本的編輯器后還需增加以下3個重要的功能。
①創建文檔提供程序。文檔提供程序(IDocumentProvider)生成并管理包含編輯器榆入元素的文本表示的文檔(IDocument),決定如何執行元素與文本表示之間轉換及多個編輯器是否應共享文檔提供程序是非常重要的。
②創建文檔分區程序。文檔分區程序(IDocumentPartitioner)將文檔分成若干個不相連的區域。分區程序給每一個區域指定該分區程序預先定義的一組內容類型中的一個。在更改每一個文檔時,必須更新文檔的分區。由于nesC的語法結構與Java有一定區別,所以需要自定義一個文檔分區的接口。
③提供源查看器插件。源查看器可以提供自動縮進策略、雙擊策略、內容格式化程序和文本表示協調程序。