方法庫系統(tǒng)(MBS)主要是一個軟件系統(tǒng),它綜合了數(shù)據(jù)庫和程序庫。在早期的方法庫系統(tǒng)中,人們采用了面向多種應用的程序包,它們具有某一特定應用領域的功能程序,用以描述數(shù)據(jù)結構和功能要求的通用、格式化的接口,通過內部的數(shù)據(jù)管理系統(tǒng)處理存儲的數(shù)據(jù)。為了擴大應用范圍,程序庫的規(guī)模更大,并且是層次結構的,通過信息服務手段來選取程序,同時有了增加程序庫的功能;用戶接口是前后一致的交互式接口,用戶只需要一定的語言形式來描述與決策相關的部分。但是,由于數(shù)據(jù)管理依然是面向內部的,外部的數(shù)據(jù)源很難引入,程序庫中又有很多限制難于引入外部程序。
綜上所述,建立方法庫的難點之一是把程序和數(shù)據(jù)綜合起來,因此需要增加MBS的適應性和靈活性,新一代MBS應有如下功能。
(1)方法庫系統(tǒng)是具有擴充性的程序組件,它們可以和多種數(shù)據(jù)庫相連,并由于應用有關的控制系統(tǒng)。它把特定應用的要求轉換成相應的系統(tǒng)程序。所謂的“程序組件”是指可以用來進一步組合構造的基本模塊。用戶可以用一些基本構建來設計更為復雜的程序,這些復雜程序也加入組件集合,可作為進一步的構件,因此,組件集合呈層次結構。
(2)可擴充性是指在組件稽核(程序庫或方法庫)中隨時可以加入新的組件(程序或方法),這包括完全新建的方法和組合生成的方法。當然,程序庫在開始時應該包括一些初步的程序,為節(jié)省開發(fā)費用,應從各種渠道獲取這些程序,加以整理入庫。系統(tǒng)應該能夠容納多種語言編制的方法,因而把庫程序和系統(tǒng)程序語言連接起來成為必不可少的一部分。如果把庫程序的輸入輸出和數(shù)據(jù)庫相連,應提供一種數(shù)據(jù)結構,它能和多種數(shù)據(jù)庫相連。如政府部門和科研機構同通過多種經濟數(shù)據(jù)來預測經濟的發(fā)展,這些數(shù)據(jù)來源于多方面,存在不同的數(shù)據(jù)庫中,MBS應能通過各個DBMS接口來訪問這些數(shù)據(jù),應向使用者提供數(shù)據(jù)名稱和查詢方法,這些手段有:面向多種DBMS的接口,把數(shù)據(jù)變?yōu)槌绦蛐枰母袷降淖儞Q機制,把數(shù)據(jù)提供給程序的機制和數(shù)據(jù)字典(數(shù)據(jù)描述、訪問權限、語義約束等)。
用戶接口方面應包括:命令名稱和參數(shù)、回答信息、解釋及錯誤信息,如果某些命令不能有相應的庫程序實現(xiàn),還要編制一些特定的程序,另外,用戶接口還包括管理中間結果、命令生成的縮寫等。
一般情況下MBS應包括一個具有通用模塊的基本子系統(tǒng)和一個具有面向具體應用模塊的用戶自系統(tǒng)。基本子系統(tǒng)一次實現(xiàn),而完整的MBS則要在基本子系統(tǒng)基礎上增加具有特定應用功能的模塊,這種模塊可以使以前開發(fā)的,也可以使從外部得到的。
基本子系統(tǒng)和用戶子系統(tǒng)都可以分成兩個層次,因此,整個MBS分為四個互相聯(lián)系的層次,分層的主要依據(jù)是面向應用的程序。0層是最核心的,而3層則是最具有應用的性質的。
(1)0層:具有MBS最基本的功能,因而也成為MBS操作系統(tǒng),其主要部分有:
·對各解釋器提供公共服務的中心控制器;
·對非MBS的基本接口,如文件系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、打印機和CRT終端等;
·與操作系統(tǒng)的接口,如請求和釋放系統(tǒng)資源,從系統(tǒng)環(huán)境中獲取各種信息,如日期、時間、用戶標示等;
(2)1層:包括與應用無關的部分,需要時裝配進來,因此不是每個MBS必備的,這些模塊包括:
·實現(xiàn)運用廣泛的數(shù)據(jù)類型或典型產生器(參數(shù)化的數(shù)據(jù)類型)的模塊。有些數(shù)據(jù)類型在與某種語言編寫的方法連接時需繳入到系統(tǒng)程序中去,因此需要有些模塊能進行這些數(shù)據(jù)類型之間的轉換并把它加入系統(tǒng)程序中;
·MBS自身文件的定義說明和處理功能,這些文件包括的信息有中間結果、目錄、數(shù)據(jù)字典、錯誤信息、提示信息等;
·常駐的數(shù)據(jù)結構管理;
(3)2層:型英語程序庫提供的功能
·基本程序,較核心的有標準數(shù)學函數(shù),統(tǒng)計或圖形數(shù)據(jù)算法。許多程序可從外部獲得,這些基本程序很少用到低層的功能;
·實現(xiàn)一些更復雜的用戶要求,需要特別編制一些程序,一般來講,這些程序需由應用領域的專家來編制,這些程序既用到基層程序,又用到1層功能;
·相應于一些新命令的用戶過程,由用戶在已有命令的基礎上定義;
(4)3層:相應于交互式的用戶接口,包括進行語法、語義分析的解釋器,并通過中心控制器調用2層的功能。如果從用戶角度看,系統(tǒng)可處于不同的運行狀態(tài),如命令態(tài)、初始態(tài)、輔助態(tài)、過程態(tài)等,每種都有各自的解釋器。
來源:AMT
信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com