支援自動即時雙向工程(Roundtrip engineering,自即雙工)與重構,是當前先進整合開發環境的兩項殺手級特色。然而,當今自即雙工所實現的即時同步,僅針對特定塑模環境(如圖形使用者介面編排、物件類別設計等)量身訂製,並非任意同步。而精確字串匹配的彈性不足,也使以此為基礎的重構技術面臨些瓶頸。以上限制,使我們無法在跨模型、語言或文件的層次進行同步或重構,以滿足現今系統開發過程中的龐大資料同步需求。
我們的補強方案就是梭。這是一具在Eclipse【1】圖形化塑模框架(Graphical Modeling Framework,GMF【2】)下運作的塑模輔助引擎。梭可監聽GMF編輯器的模型元素輸入,同時連結元素與「同步概念」,以建立同步規則,最後依據規則,輸出視覺化的模型同步建議,輔助達成模型-模型間的資訊同步。
我們借鏡知識本體與資訊擷取「概念搜尋」中的「概念(Concept)」觀,提出了「概念同步」的想法。用以同步的「同步概念」,則延伸自詞網(WordNet【3】)的自然語言同義詞集合,代表著「擁有相關自然語言內容的模型元素間,應當同步」的關係。梭對模型元素屬性內容進行自然語言斷詞後,將斷詞結果投入詞網搜尋,以取得前述的相似內容。
梭以「概念」串連了原本難以即時同步的模型元素。梭的規則推論架構,也為未來的知識本體化、結構化模型同步推論、驗證,鋪好了道路。開發者的夢想──在開發的任何階段,系統皆能維持同步──離實現又邁進一步。 / Roundtrip engineering and refactoring are killer features of modern IDE systems. Most implementations of these features nowadays, however, are tailor-made for scenarios like GUI or UML diagramming ones and hence are hard to generalize; moreover, existing refactoring ways are usually restricted to exact string matching and are thus unable to synchronize artifacts with different occurrences of the equivalent term. These problems inhibit today's IDEs from supporting developments requiring synchronization across models, languages and documents.
Shuttle is a modeling assistant developed by us running on Eclipse GMF editors. It monitors users' input model elements and link them by related concepts automatically. Later modifications of an element will trigger rules to find the others under the same related concepts and result in various synchronization recommendations which developers may choose to take to enforce consistency among parts of the developed system.
The linking-triggering mechanism of Shuttle is based on what we call concept synchronization (CS), which is inspired by the idea of concept in ontology and concept search in information retrieval. CS captures the simple idea that model elements with related text descriptions would be very likely modified accordingly if one of them is changed by the developer. To detect all others related to a target model element, we establish a many-to-many mapping between elements and WordNet Synsets【3】according to element text descriptions ahead of time and then, with WordNet’s help【40】, all elements related to the target can be found by looking for those mapped to a Synset associated with the target.
Identifer | oai:union.ndltd.org:CHENGCHI/G0927530141 |
Creators | 高振益, Kao, Chen-yi |
Publisher | 國立政治大學 |
Source Sets | National Chengchi University Libraries |
Language | 中文 |
Detected Language | English |
Type | text |
Rights | Copyright © nccu library on behalf of the copyright holders |
Page generated in 0.003 seconds