標題: 一個運用程式轉換達到軟體再利用的方法
A Program Transformation Approach to Software Reuse
作者: 黃士維
Huang, Shih-Wei
陳俊穎
Chen, Jing-Ying
資訊科學與工程研究所
關鍵字: 程式轉換;軟體再利用;Program Transformation;Software Reuse;Domain-intrinsic Design
公開日期: 2009
摘要: 大規模的軟體再利用 (software reuse) 是軟體工程師普遍追求的目標,而要達到此目標的主要障礙之一,是所謂領域匹配的問題。此問題主要探討的是,原先針對某領域以某種方法設計開發的軟體模組,是否能順利的用於解決另一個領域的問題。若無法直接利用這些已完成的軟體模組來解決當前的問題,則必須仰賴手動的程式碼複製與修改。可惜手動的複製與修改一般不被認為是一個可接受的軟體再利用方式。然而,若程式碼複製與修改的步驟能有效地系統化且自動化,這些軟體模組是否能再度歸類到軟體在利用的範疇呢?為了回答這個問題,我們提出了一個程式轉換的方法,鼓勵軟體工程師針對各問題領域的本質去開發可再利用模組,再利用程式轉換的方法將這些模組合併為新的可再利用模組,或解決特定的問題。我們也進一步要求工程師必須負責這些相關程式轉換的發展及管理。為了去評估這整套程式轉換方法的可行性以及其潛在的問題,我們也開發了一程式轉換的系統,並遵循先前所提到的系統化原則,從實驗結果觀察及討論這些問題。
Achieving large-scale software reuse seems an elusive target continuously pursued by many. One main obstacle hindering the pursuit can be characterized as the problem of domain mismatch – a supposedly reusable software module is designed in a way that cannot be adapted smoothly for the problem at hand. If assimilating the mismatch becomes unacceptable, manual code coping and adapting is often the last resort, although doing so is not considered an acceptable form of reuse. However, what if the copy-and-adapt procedure can be disciplined and mechanized such that the flexibility is retained, yet the desirable characteristics of software reuse still preserved? To answer this question, we propose a program transformation approach that encourages developers to create domain-intrinsic, highly reusable modules, and to rely on program transformation to combine these modules into new reusable modules or complete applications. Moreover, the developers are also responsible of creating and managing the types of transformations judiciously. To help assess the feasibility and potential issues of this transformation approach, we develop several non-trivial systems, including the transformation system itself, following the suggested principles from beginning, and discuss observations and lesson learned from this experiment.
URI: http://140.113.39.130/cdrfb3/record/nctu/#GT079655640
http://hdl.handle.net/11536/43449
Appears in Collections:Thesis