-
Notifications
You must be signed in to change notification settings - Fork 0
Home
近來許多特定領域均相當依賴程式撰寫,用於實驗模擬等。但泛用程式語言對非程式設計專家來說顯得過於複雜,且未必能適切表達特定領域裡的程式。特定領域語言的提出不但可簡化學習曲線,也可增加特定領域程式的可讀性。尤其是流程圖的方式,可讓非專業程式設計者簡易地撰寫程式。本研究設計一套流程圖式特定領域語言,實作並探討其優缺點。
MasonPy這套DSL沒有複雜的操作僅以流程圖得要素Start、End、Process、Decision、及而外建構的Loop,五種要素,組合成一個流程圖程式,相信流程圖在各領域是廣被用於表達其領域的設計或系統流程,MasonPy撰寫DSL時也沒有複雜的元件、指令,是個能輕易上手的DSL。MasonPy提供基本的母模板,可提特定領域專家修改、擴充或代換DSLs,領域程式專家能夠依母模板建構自定義的功能塊,設計其領域所需要的資料處理、科學運算、演算法設計……等等,將其加以設計包成功能塊來提供End User快速於流程圖上進行流程拼接使用,並附帶有MasonPy專屬的Debugger協助提示錯誤訊息。
Recently, more and more specific domain research relies on program for experimental simulation. But general-purpose language seems to be too complicated for non-programmer, it can't accurately express the problem for the domain as well. Domain-specific language (DSL) is not only easy to learn but also more readable program for specific topic. Especially with the flow diagram, it enables engineers to generate a program easily. This research designs and implements a domain-specific language with flow diagram and discuss their advantages and drawbacks.
MasonPy doesn't have much complicated operations. It uses only five elements to build a flow chart program, which is Start, End, Process, Decision, and Loop. We believe that the flowchart is widely used in various fields and system design. MasonPy is also a DSL that can be easily used without complicated components or instructions. It provides basic templates, which can be modified, expanded or replaced by engineers. They can create user-defined units to design data processing, scientific operations, and algorithm required by the specific domain, encapsulated as functional units to provide End-User with a quick way to build the program. MasonPy also comes with an exclusive Debugger to display error messages.