專利名稱:通用程序圖示化設計方案的制作方法
技術領域:
本發明為設計到計算機通用程序設計語言的技術領域,并以圖形化為其突出特點。
背景技術:
計算機語言通常是一個能完整、準確和規則地表達人們的意圖,并用以指揮或控制計算機工作的“符號系統”。
1、機器語言機器語言是用二進制代碼表示的計算機能直接識別和執行的一種機器指令的集合。它是計算機的設計者通過計算機的硬件結構賦予計算機的操作功能。機器語言具有靈活、直接執行和速度快等特點。用機器語言編寫程序,編程人員要首先熟記所用計算機的全部指令代碼和代碼的涵義。手編程序時,程序員得自己處理每條指令和每一數據的存儲分配和輸入輸出,還得記住編程過程中每步所使用的工作單元處在何種狀態。這是一件十分繁瑣的工作,編寫程序花費的時間往往是實際運行時間的幾十倍或幾百倍。而且,編出的程序全是些0和1的指令代碼,直觀性差,還容易出錯。現在,除了計算機生產廠家的專業人員外,絕大多數程序員已經不再去學習機器語言了。
2、匯編語言為了克服機器語言難讀、難編、難記和易出錯的缺點,人們就用與代碼指令實際含義相近的英文縮寫詞、字母和數字等符號來取代指令代碼(如用ADD表示運算符號“+”的機器代碼),于是就產生了匯編語言。所以說,匯編語言是一種用助記符表示的仍然面向機器的計算機語言。匯編語言亦稱符號語言。匯編語言由于是采用了助記符號來編寫程序,比用機器語言的二進制代碼編程要方便些,在一定程度上簡化了編程過程。匯編語言的特點是用符號代替了機器指令代碼,而且助記符與指令代碼一一對應,基本保留了機器語言的靈活性。使用匯編語言能面向機器并較好地發揮機器的特性,得到質量較高的程序。
匯編語言中由于使用了助記符號,用匯編語言編制的程序送入計算機,計算機不能象用機器語言編寫的程序一樣直接識別和執行,必須通過預先放入計算機的“匯編程序“的加工和翻譯,才能變成能夠被計算機識別和處理的二進制代碼程序。用匯編語言等非機器語言書寫好的符號程序稱源程序,運行時匯編程序要將源程序翻譯成目標程序。目標程序是機器語言程序,它一經被安置在內存的預定位置上,就能被計算機的CPU處理和執行。
匯編語言像機器指令一樣,是硬件操作的控制信息,因而仍然是面向機器的語言,使用起來還是比較繁瑣費時,通用性也差。匯編語言是低級語言。但是,匯編語言用來編制系統軟件和過程控制軟件,其目標程序占用內存空間少,運行速度快,有著高級語言不可替代的用途。
3、高級語言不論是機器語言還是匯編語言都是面向硬件的具體操作的,語言對機器的過分依賴,要求使用者必須對硬件結構及其工作原理都十分熟悉,這對非計算機專業人員是難以做到的,對于計算機的推廣應用是不利的。計算機事業的發展,促使人們去尋求一些與人類自然語言相接近且能為計算機所接受的語意確定、規則明確、自然直觀和通用易學的計算機語言。這種與自然語言相近并為計算機所接受和執行的計算機語言稱高級語言。高級語言是面向用戶的語言。無論何種機型的計算機,只要配備上相應的高級語言的編譯或解釋程序,則用該高級語言編寫的程序就可以通用。
計算機并不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過“翻譯程序”翻譯成機器語言形式的目標程序,計算機才能識別和執行。這種“翻譯”通常有兩種方式,即編譯方式和解釋方式。編譯方式是事先編好一個稱為編譯程序的機器語言程序,作為系統軟件存放在計算機內,當用戶由高級語言編寫的源程序輸入計算機后,編譯程序便把源程序整個地翻譯成用機器語言表示的與之等價的目標程序,然后計算機再執行該目標程序,以完成源程序要處理的運算并取得結果。解釋方式是源程序進入計算機時,解釋程序邊掃描邊解釋作逐句輸入逐句翻譯,計算機一句句執行,并不產生目標程序。PASCAL、FORTRAN、COBOL等高級語言執行編譯方式;BASIC語言則以執行解釋方式為主;而PASCAL、C語言是能書寫編譯程序的高級程序設計語言。每一種高級(程序設計)語言,都有自己人為規定的專用符號、英文單詞、語法規則和語句結構(書寫格式)。高級語言與自然語言(英語)更接近,而與硬件功能相分離(徹底脫離了具體的指令系統),便于廣大用戶掌握和使用。高級語言的通用性強,兼容性好,便于移植。
但是復雜的語法架構,死板的格式、繁多的語法規則以及篇幅大量的行代碼讓程序編寫及設計成為一個專業性極強的工作。隨著通用程序在日常生產中的運用,更多領域需要通過程序來實現新的需求。然而行業專家和程序設計人員間的差別以及技能差異導致了新的問題的出現,必將逐漸不能適應社會生產力發展的需要。
有關文獻http://www.jszx.zj.cn/pascal/yuyan.htm發明內容針對上面涉及的問題,本發明提出了一種以圖形為基礎單元,以二維多層復合結構為特征的通用程序設計方案。
1、一種基于圖形的通用程序設計方法。本發明完全以圖形為程序設計基本單元。通過若干個圖形之間的連接、組合、并列及嵌套表現設計編寫復雜邏輯的程序。
2、圖形基本單元包括層、函數、指令線、數據線、數據(包括管理信息、工作數據)。
3、層是一個以圖形的形式保存(非機器碼的形式)的程序模塊,可以擁有所屬數據。層是一個實例,層庫是一個聲明,層與層庫可以相互轉換。
4、任何一個程序有且只有一個主層。其它的層均在主層之內。層之間的關系可以是并列關系或嵌套關系,并允許上述兩種關系形成組合。層中允許包含層、函數及分支。同一層中不允許同時出現層和函數。函數中不可存在層或其他函數。端口可以有復雜的結構和屬性。層與層之間通過端口與端口之間產生關聯。
5、本發明中的函數,在初期與C語言的函數概念兼容,可以封裝由C語言生成的函數目標代碼,也可以由本方案直接生成。函數內部存在順序執行單元和分支。函數之間允許遞歸。
6、函數可訪問自屬數據,也可以經過授權訪問高層數據。函數自屬數據允許存在靜態特征。
7、本發明初期數據兼容C語言的類型。數據有兩種基礎元素,順序結構基礎元素、鏈式結構基礎元素。順序結構基礎元素的存儲結構允許程序員定義,依托它可以生成數組等順序數據結構,這種數據結構支持固定和可動態增長的內存數據結構。帶有邊界檢查、控制功能。鏈式結構基礎元素的存儲結構及前驅、后繼的數量允許程序員定義,依托它可以生成鏈表、樹、圖等數據結構。數據有程序員可控制的游標,指向程序員要求的數據位置。從區域的角度劃分,數據可分為層屬數據和函數所屬數據。同時,從操作的角度,數據也可分為管理信息、工作數據。
8、層屬數據只能在所屬的層的作用域內使用。經過授權后可以在其它區域使用。從端口傳輸的只能是管理信息,其余的是工作數據。在端口之間傳送的數據只允許管理信息。
9、層與層、層與函數、函數與函數之間由指令線、數據線通過端口相連。連線具備單方向屬性,只能從發出作用端口指向接受作用端口,不允許跨層或函數進行端口直接連接。
本發明的特點本發明提出了一種以圖形為基礎單元,具有多層復合結構特征的二維通用程序設計方案,采用全新的程序設計理念,使程序設計語言更接近人類思維方式,更易于掌握。本發明通過引入二維開發模式、多層封裝的概念,直接支持并行、并發程序設計、極大地拓展了大型軟件的開發空間。
本發明采用人類最直觀的圖形為程序設計的基本單元,解決了大量由于編碼、語法、格式等帶來的程序設計難度。
具體實施例方式
一、基礎圖形單元建立1、圖標定義針對方案中層、函數、指令線、數據線、數據(包括管理信息、工作數據)等基礎元素,設計圖標。要求圖標與元素之間形成為一對一固定匹配關系。圖標帶有可復制性和移動性,可通過復制。鼠標拖動等方式對其進行位置編輯,并提供屬性定義功能。
2、圖標內部擴展編輯一個圖標只能表示一個基礎單元。基礎單元之間存在的包含以及包含元素之間的結構只能通過基礎單元內部擴展編輯實現。一切包含以及包含內部結構關系必須遵循以擴展原則A、任何一個程序有且只有一個主層B、層中允許包含層、函數及分支,一層中不允許同時包含層和函數C、函數中不可存在層或其他函數要求每個圖標所表示的基礎單元在通過雙擊或其他固定操作手段可進入內部擴展編輯狀態。此狀態下,可以在遵循擴展原則的基礎上任意根據具體需要以同構的形式添加下層基礎單元,并定義其屬性。進而完成邏輯單元內部和外部的封裝、嵌套等結構設計。
二、生成指令線各基礎單元之間存在著大量引用、繼承、調用等復雜關系及通訊連接。層與層、層與函數、函數與函數之間由指令線、數據線通過端口相連。連線具備單方向屬性,只能從發出作用端口指向接受作用端口,不允許跨層或函數進行端口直接連接。
端口與端口直接的比配關系由系統自行管理,不匹配的端口間不允許建立指令線連接。
權利要求
1.一種基于圖形的通用程序設計方法。本發明完全以圖形為程序設計基本單元。通過若干個圖形之間的連接、組合、并列及嵌套表現設計編寫復雜邏輯的程序。
2.圖形基本單元包括層、函數、指令線、分支、數據線、數據(包括管理信息、工作數據)。
3.任何一個程序有且只有一個主層。其它的層均在主層之內。層之間的關系可以是并列關系或嵌套關系,并允許上述兩種關系形成組合。層中允許包含層、函數及分支。同一層中不允許同時出現層和函數。函數中不可存在層或其他函數。端口可以有復雜的結構和屬性。層與層之間通過端口與端口之間產生關聯。
4.函數可訪問自屬數據,也可以經過授權訪問高層數據。函數自屬數據允許存在靜態特征。
5.層屬數據只能在所屬的層的作用域內使用。經過授權后可以在其它區域使用。端口之間傳輸的數據只能是管理信息。工作數據不能用于端口間傳輸。
6.層與層、層與函數、函數與函數之間由指令線、數據線通過端口相連。連線具備單方向屬性,只能從發出作用端口指向接受作用端口,不允許跨層或函數進行端口直接連接。
全文摘要
一種通用程序圖示化設計方案,涉及計算機語言與系統軟件的技術領域。現有的編程語言是以字符為基礎,具有語言特征的一維的編程方法。本發明主要是解決了實際應用中不得不使用一維方法來解決二維或多維現實的問題。本發明提出了一種以圖形為基礎單元,具有多層復合結構特征的二維通用程序設計方案。本發明采用全新的程序設計理念,使程序設計語言更接近人類思維方式,更易于掌握。本發明通過引入二維開發模式、多層封裝的概念,直接支持并行、并發程序設計。
文檔編號G06F9/44GK101038544SQ20061005716
公開日2007年9月19日 申請日期2006年3月13日 優先權日2006年3月13日
發明者楊力祥 申請人:楊力祥