網頁

2008年3月27日 星期四

圖形語言發展系統








系統概述

上圖呈現的是一個圖形程式語言的基本模樣。

雖然說圖形程式語言是使用圖形的組合作為程式運作的依據,但是如果要細說圖形程式如何運作,則需要在一開始定義一些觀念。

對於圖形程式語言,已經有很多學術研究,甚至有業界產品,目前學界對於圖形語言也有新的研究方向,但是我在這裡並不是朝學界研究的方向走,而是參考了業界的產品,著手設計自己的圖形語言。

一般的圖形語言,樣子像是流程圖,但是比正規流程圖多了很多方塊,分別代表不同的意義。而目前的電腦並沒有人工智慧,因此現在如果丟給電腦一幅流程 圖,電腦並不會自動執行。流程圖,是使用者為了要讓電腦依照自己的意思動作,所以用圖畫來代表事情處理的順序,是用來輔助程式設計者程式的撰寫。圖形對使 用者來說是直覺的,也就是說圖形可以直覺代表使用者解決問題的思維模式,如果可以讓這樣的一幅圖形能夠讓電腦直接理解並執行它,那麼要讓電腦依照使用者意 志運行,就不用再透過程式設計師了。

文字式的程式語言,可以說是電腦的語言,使用者要讓電腦隨著自己的意志運行,就必須先學會電腦的語言,然後再把自己的意志翻譯成電腦的語言,最後交由電腦執行。使用者意念與電腦執行結果之間有著很大的隔閡。

圖形語言可以二分為制式與非制式。所謂非制式是指圖形的構成並無規則,但以能夠被使用者理解為原則,例如為了指示某人的家所畫出的地圖。非制式的圖形有以人類通識為原則的基本圖形,但是不需要完全相同也可以被接受,但是,現今地球上能夠執行圖中所表達之事的腦,僅有人腦。

為了讓電腦也能夠對圖形加以瞭解並且執行,唯有使用制式圖形表達的方法最為可行。而且這些能夠被電腦理解的圖形元件,為了維護圖形元件的唯一性,必 須由電腦提供給使用者選擇與運用。如果這些制式圖形元件也與人類表達意念的通識圖形接近或是一樣,那麼也可以拉近使用者意念與電腦理解能力之間的隔閡。

我選擇了偷懶的方法。

我的圖形程式語言主要由『編輯器』『執行器』組成。編輯器負責讓使用者編輯圖形程式語言,是程式與使用者之間的溝通管道,也同時將使用者圖形程式轉換成內部的資料結構。執行器負責將編輯器產生的資料結構解譯並且執行,最後產生結果。

總的來說,我的圖形程式語言就是一堆資料結構的連接,以及讓欲處理的資料在資料結構中流動。

在使用者看得到的部分,稱作可視部分,由『元件』與『線段』組成。元件負責執行,線段負責傳遞資料。不管是元件或是線段都在系統內有其對應的資料結構,以便讓執行器去執行。而編輯器就要維護可視部分與內部結構的連接完整。

技術說明

<編輯器部分>

負責下列功能:

  • 與使用者互動
  • 編輯可視部分
  • 操作可視部分元件屬性
  • 維護可視部分與內部資料結構的完整性。

<執行器部分>

負責下列功能:

  • 流通內部資料結構所承載的資料
  • 執行元件所代表功能
  • 產生結果

沒有留言: