neuBaseX資料庫生成系統(Data Base Generating System

開發原由:

      一套管理系統的完成須經過使用者、顧問師及程式員三者的配合,其間花費的時間、金錢..等成本,不是一般企業所能支付。於是便產生了套裝軟體,然將一套運作模式一成不變的用至每一行業,其結果可想而知(套裝軟體之所以可以適用至各行業的原因,便是捨棄各行業成品的細部條件,只以品名,規格兩個欄位表示一件產品,至於鞋子,胚布,成衣,螺絲,電子產品,化學品...那有相同的產品特性及製造流程)。是以又出現了費時、耗錢,還須容忍一再更換外行程式員(寫程式很在行卻不懂產業運作)的專案設計。最後企業沒有得到期望的系統,而軟體公司亦沒有得到應得的利潤,電腦孤兒於是產生。大型企業則成立二、三十人以上的資訊室開發企業自用的系統,其實一個人便足以應付這些--只要擁有一套類似於neuBaseX資料庫生成系統的軟體。

        這些問題的徵結點在於傳統資料庫的基礎結構過於簡單,須以編寫程式的方式建構應用系統。是以業界須要一種新型具有普及化特性的資料庫系統,可以免除編寫程式的困擾,並擁有超彈性多樣性的元件功能;更重要的它的基礎結構須可以累積功能,且可以調整、擴充並適用於各種行業及每一企業不同的運作程序

        要開發一套符合上述標準的系統(能夠將使用者、顧問師及程式員這三者的工作合併為一),則需要一個完全元件化的系統(Object Oriented System),使用者可以用元件來架構整個管理系統。關聯式資料庫在理論上是不可能的,是以許多試圖在關聯式資料庫建構元件式資料庫Object Oriented Data Base)的軟體,全部以失敗告終。其間一些軟體公司亦聯合提出其它解決方案(模組化、元件共享、軟體產生器...),當然全部失敗。(這裡所謂的元件化是指資料庫作業系統的元件,而不是程式碼的元件化;前者是屬於使用者層面,後者則屬於程式員。)使用元件式的資料庫可以上線-建構系統同時進行,即使不懂產業結構也不須擔心系統爆掉;可以免去前置討論大量的時間。最終目的neuBaseX是要作為人工智慧系統開發知識庫的載體

       關聯式資料庫發展於30餘年前電腦初起時,用於功能不佳電腦的產物;早已不能滿足現代化軟體複雜運算的需要(ERP、資料分析、系統整合、軟體產生器、專家系統..)。是以我們於規劃neuBaseX時,便將新系統分為三個核心部份類神經資料庫生成系統資料庫作業系統

 

類神經資料庫(Neuro Data Base):

      其實我們並不是要開發一套元件式資料庫,只不過因系統的結構含蓋元件式資料庫的定義可以連結、傳遞訊息、資料流通、意義化的元件才是新系統需要的。是以模仿人腦神經元(Neuron)的結構及其運作方式,進而提出類神經資料庫的理論。

       1.意義化的元件是最基本的運作單位,也是智慧型系統的必備條件--系統可以分析、判斷。這也是生成引擎的核心。

       2.元件連結則將所有檔案(含外部系統)連結成一個網路--事實上幾乎所有neuBaseX複雜的功能只是游走於這個網路間而已(回溯精靈搜尋引擎即是最好的例子)。而傳統資料庫則必需以一個再一個檔案比對的方式處理。

      3.資料流通的特性被充分運用於管道--解決疑難雜症的利器;幾乎所有neuBaseX的應用系統都可以發現到管道

      4.傳遞訊息的能力為在處理一些例外性運作中,扮演著非常重要的角色。於現有功能中這個特性被表現於元件呼叫元件;也是neuBaseX體積雖小,但卻讓人感覺 "變化無窮" 的主要關鍵。這個特性將會被大量應用於日後人工智慧有關的產品中,尤其是需要多工處理Multi-processing)的系統。

         此外,在開發過程中我們亦發現新結構具有許多其它非常實用且極具開發的潛能例如,資料礦,Data Mining...),這些將會在日後隨系統的成長逐一的完成。

 

生成系統(Generating System):

          要使一個無程式員背景的人建構或修改管理系統。系統開發工具必須具備兩個特性--系統生成系統專家系統

          1.系統生成系統System Generating System):即系統(資料庫)生成應用系統(ERP)隨著使用者逐一的定義檔案、欄位、功能及報表,開發工具須於確保原系統完整的情況下,隨之更改、擴大應用系統。

          2.專家系統Expert System):開發工具須負起所有專業性工作的部份,藉由與使用者互動的過程,逐步建立應用系統。系統亦須具有 "自我保護" 的能力,以避免不當設計造成系統損壞。此外 "即改即用,不須測試" 亦是必備的要件。

 

資料庫作業系統(Data Base Operating System):

       取於作業系統的概念,資料庫引擎Data Base Engine)將所有系統檔案、欄位、功能、報表、網路..等,視為系統資源整合、管理;並提供適當管理工具(功能)。是以使用企業在某種程度上可自行維護自己的系統,不需處處仰賴軟體公司。事實証明,實際的運作過程中許多無可預期的情況,皆藉由這些工具解決,這也是neuBaseX極具彈性的主因。試想,於生成引擎中設定一個檔案後,資料庫引擎自動生成對這個檔案的輸出/入劃面、功能權限控管..自行管制這個檔案及其所有欄位..等等,其間的效益不言而喻。

        資料庫作業系統的觀念非常的重要,它不但可以 "累積功能",同時也確保應用系統的品質(許多功能像權限控管系統維護工具箱...等,系統自行產生)。更進一步--在 "游刃有餘" 的情況下,一個人可以同時管理十幾家企業的 ERP(或更多)。

 

最後,前述三種功能還不只以函蓋多變性的管理系統,因此我們又提出了自定程式庫應用程式連結

自定程式庫(User Library):

       neuBaseX允許使用者自行編寫程序附加至系統,成為系統資源的一部分,由系統控管。自定程式庫以 ".dll" 的檔案存在,可以於系統執行中改變原有的執行程序;像薪資的所得稅、製程的大、小排程..等,繁瑣且不具通用性的功能,不適合加入系統元件,以自定程式庫的方式運作,即不會造成系統體積過於龐大,又可以滿足需求(系統亦提供系統程式庫應用程式可以呼叫其所有功能)。

 

應用程式連結(Application Linkage):

       另一種使用者編寫以 ".exe" 存在的程式,則屬於獨立性的運作,不會改變系統原定執行程序;通常用於報表產生器無法處理的表格,或需要批次作業處理器執行某些工作,或其它系統沒有提供的功能。介由應用程式界面檔自定程式庫應用程式連結至系統,生成引擎會依據使用者的更改,自行檢查、調整應用程式界面檔,以確保應用程式自定程式庫可以正常的執行

 

註 1.類神經資料庫關聯式資料庫最明顯的區別在於,前者於定義欄位時便作好與其它檔案的連結,而後者則於檔案定義完成後再以程式碼連結各檔案。

註 2.我們所提出的生成系統Generating System)並不同於軟體產生器Code Generator);生成系統並不會產生程式碼;而軟體產生器基本上言,是拷貝事先編寫好的程式碼修改後,再重新編譯成新的執行碼(.EXE的檔案);另外,有些軟體是以逐行翻譯Code Interpreter)的方式執行的軟體(像早期的DbaseProgressBasic...),仍屬於編碼的運作方式。只要將neuBaseX所有的元件想像成神經元,就很容易分別彼此的不同;如同每一神經元皆代表著一種意義,系統依據元件的定義做出相對的反應。

註 3.資料庫語言並不算是一種電腦語言,因為它缺少電腦語言必備的structure(一種軟體上的結構)使得它在編寫複雜運算的功能變得非常困難.