標題: 整合屬性文法與物件導向技術建構程式語言工具之研究
The Study of Combining Attribute Grammars and Object-Oriented Techniques for Language-Based Tools Construction
作者: 楊基載
Yang Ji-Tzay
王豐堅
Wang Feng-Jian
資訊科學與工程研究所
關鍵字: 屬性文法;物件導向;程式產生器;程式語言工具;軟體測試環境;attribute grammars;object-oriented techniques;program generators;programming tools;software testing environments
公開日期: 2000
摘要: 此研究展示一種建構程式語言工具的新做法,它融合了屬性文法與物件導向技術。透過屬性文法與物件導向這兩種技術的整合,示範如何併用程式產生工具與軟體程式庫來建構軟體系統的技巧。此研究的內容 -- OOAG,展現出一種有效建構程式語言工具的做法,它可以協助程式語言工具的建構者,利用屬性文法描述程式語意的細節,又能讓程式語言工具的建構者透過 OOAG的架構,採用物件導向程式庫 (e.g. MVS) 進行繁雜的視覺介面處理。此研究包含兩個互相關聯的主體,一個為AG++ -- 係融入物件導向觀念的屬性文法;另一主體為【模型-外觀-外型】(MVS)的類別架構。這個環境嘗試保有物件導向技術以及屬性文法兩者的優點,例如快速建立應用程式雛形,軟體再利用度,軟體的衍生性,以及漸進式計算。到目前為止,已經有兩個程式工具的範例利用OOAG的架構在視窗環境中設計出來,其中一個為變數定義與使用狀況(DU/UD)的分析工具,另一個為程式切割工具。這些程式工具可以協助程式設計師在程式開發的過程中,以視覺化的方式檢視程式的流程內容,並且能以控制流或資料流的角度來分析程式片段,提早發現可能的程式錯誤或異常狀況。
This proposal presents an approach to construct language-based tools by combing attribute grammars (AGs) and object-oriented technology. The combination of AGs and OO exemplifies the integration of generative and compositional programming techniques. The approach, called OOAG, is presented to effectively construct language-based tools that deal with fine-grained language semantics as well as a mass of graphics-drawing activities. It consists of two inter-related parts: a model-view-shape (MVS) class framework and an AG++, an object-oriented extension to traditional AGs, is intended to preserve both advantages introduced by respective OO and AG models, such as rapid prototyping, reusability, extensibility, incrementality, and applicability. So far, a flow-based editor associated with two flow-analyzer prototypes, DU/UD tools and a program slicer, have been implemented using OOAG on the Windows environment. Our flow-based editor can be used to construct programs by specifying the associated flow information in a visual way, while (incremental) flow analyzers incorporated into the editor can help analyze incomplete program fragments to locate and inform the user of possible errors or anomalies during programming. CHAPTER 2. BACKGROUND 5 2.1. THE OBJECT-ORIENTED MODEL 5 2.2. THE ATTRIBUTE GRAMMAR MODEL 6 CHAPTER 3. INTEGRATION OF OBJECT-ORIENTED AND ATTRIBUTE GRAMMAR MODELS - OOAG 8 3.1. THE MODEL-VIEW-SHAPE CLASS FRAMEWORK 8 3.2. AG++ 11 CHAPTER 4. CONSTRUCTING LANGUAGE-BASED TOOLS WITH OOAG 19 4.1. THE CONSTRUCTION PROCESS 19 4.2. THE LANGUAGE-BASED EDITOR 21 4.3. THE FLOW ANALYZERS 26 CHAPTER 5. EXPERIENCE WITH OOAG AND RELATED WORK 35 5.1. EXPERIENCE WITH OOAG 35 5.2. RELATED WORK 36 CHAPTER 6. CONSTRUCTING AN OBJECT-ORIENTED ARCHITECTURE FOR WEB APPLICATION TESTING 42 6.1. INTRODUCTION 42 6.2. CUSTOMIZE TESTING ARCHITECTURES TO TEST WEB APPLICATIONS 44 6.3. WEB TESTING ENVIRONMENT ARCHITECTURE 49 6.4. APPLYING THE ARCHITECTURE 65 6.5. SUMMARY 73 CHAPTER 7. CONCLUSION AND FUTURE WORK 76 REFERENCES 78 VITA 86
URI: http://140.113.39.130/cdrfb3/record/nctu/#NT890392001
http://hdl.handle.net/11536/66793
顯示於類別:畢業論文