VisualProlog智能化應(yīng)用開發(fā)的強(qiáng)大工具課件_第1頁(yè)
VisualProlog智能化應(yīng)用開發(fā)的強(qiáng)大工具課件_第2頁(yè)
VisualProlog智能化應(yīng)用開發(fā)的強(qiáng)大工具課件_第3頁(yè)
VisualProlog智能化應(yīng)用開發(fā)的強(qiáng)大工具課件_第4頁(yè)
VisualProlog智能化應(yīng)用開發(fā)的強(qiáng)大工具課件_第5頁(yè)
已閱讀5頁(yè),還剩97頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

VisualProlog,智能化應(yīng)用開發(fā)的強(qiáng)大工具2/7/20231VisualProlog語(yǔ)言專題網(wǎng)頁(yè):

WebPage(主頁(yè)):

Email:Phone:89726(O),89244(O)Officetime:byappointment2/7/20232空軍工程大學(xué)雷英杰主要內(nèi)容一、概述二、VisualProlog與Prolog三、Prolog能作何用四、VisualProlog的特點(diǎn)五、Prolog與其它語(yǔ)言有何差別?六、關(guān)于VisualProlog資料七、系統(tǒng)需求2/7/20233空軍工程大學(xué)雷英杰

Prolog語(yǔ)言是人工智能與專家系統(tǒng)領(lǐng)域最著名的邏輯程序設(shè)計(jì)語(yǔ)言。VisualProlog意指可視化邏輯程序設(shè)計(jì)語(yǔ)言,是基于Prolog語(yǔ)言的可視化集成開發(fā)環(huán)境,是Prolog開發(fā)中心(PDC)最新推出的基于Windows環(huán)境的智能化編程工具,其語(yǔ)言特性符合相應(yīng)的國(guó)際標(biāo)準(zhǔn)ISO/IEC13211-1:1995。是國(guó)際上研究和開發(fā)智能化應(yīng)用的主流工具之一。預(yù)計(jì)不長(zhǎng)時(shí)期內(nèi),VisualProlog將會(huì)在我國(guó)流行開來(lái),并將迅速成為我國(guó)研究和開發(fā)智能化應(yīng)用的主流工具。一、概述2/7/20235空軍工程大學(xué)雷英杰

VisualProlog具有模式匹配、遞歸、回溯(backtrack)、對(duì)象機(jī)制、事實(shí)數(shù)據(jù)庫(kù)和謂詞庫(kù)等強(qiáng)大功能。它包含構(gòu)建大型應(yīng)用程序所需要的一切特性:圖形開發(fā)環(huán)境、編譯器、連接器和調(diào)試器,支持模塊化和面向?qū)ο蟪绦蛟O(shè)計(jì),支持系統(tǒng)級(jí)編程、文件操作、字符串處理、位級(jí)運(yùn)算、算術(shù)與邏輯運(yùn)算,以及與其它編程語(yǔ)言的接口。

VisualProlog包含一個(gè)大型庫(kù),捆綁了范圍廣闊的API函數(shù):包括WindowsGUI函數(shù)族、ODBC/OCI數(shù)據(jù)庫(kù)函數(shù)族和Internet函數(shù)族(socket、、cgi等)。開發(fā)環(huán)境全部使用VisualProlog語(yǔ)言寫成,而且包含對(duì)話框、菜單、工具欄等若干編碼專家和圖形編輯器。一、概述2/7/20236空軍工程大學(xué)雷英杰

VisualProlog非常適合于專家系統(tǒng)、規(guī)劃和其它AI相關(guān)問(wèn)題的求解,是智能程序設(shè)計(jì)語(yǔ)言中具有代表性且應(yīng)用較多的一種程序設(shè)計(jì)語(yǔ)言。由于這種語(yǔ)言很適合表達(dá)人的思維和推理規(guī)則,在自然語(yǔ)言理解、機(jī)器定理證明、專家系統(tǒng)等方面得到了廣泛的應(yīng)用,在智能程序設(shè)計(jì)語(yǔ)言中占有相當(dāng)重要的地位。VisualProlog不僅是優(yōu)秀的智能化應(yīng)用開發(fā)工具,而且與SQL數(shù)據(jù)庫(kù)系統(tǒng)、VisualC++或其它C++開發(fā)系統(tǒng)、VisualBasic、Delphi或VisualAge等編程語(yǔ)言一樣,已經(jīng)成為適用于任何應(yīng)用領(lǐng)域的強(qiáng)有力的通用開發(fā)工具。一、概述2/7/20237空軍工程大學(xué)雷英杰主要內(nèi)容一、概述二、VisualProlog與Prolog

三、Prolog能作何用四、VisualProlog的特點(diǎn)五、Prolog與其它語(yǔ)言有何差別?六、關(guān)于VisualProlog資料七、系統(tǒng)需求2/7/20239空軍工程大學(xué)雷英杰二、VisualProlog與Prolog

Prolog是全世界計(jì)算機(jī)科學(xué)家多年來(lái)研究工作的結(jié)晶。Prolog的第一個(gè)正式版本由法國(guó)馬賽大學(xué)AlainColmerauer于70年代作為一種邏輯程序設(shè)計(jì)工具研制。其結(jié)果是誕生了一種遠(yuǎn)比當(dāng)今Pascal和C這樣著名的編程語(yǔ)言功能更加強(qiáng)大的語(yǔ)言。一個(gè)特定應(yīng)用的Prolog程序典型情況下只需要對(duì)應(yīng)C++程序的十分之一程序行。今天,Prolog是人工智能應(yīng)用編程和專家系統(tǒng)開發(fā)的一個(gè)非常重要的工具。更多的“用戶友好性”和智能化程序的要求是使Prolog流行起來(lái)的另一個(gè)原因。2/7/202310空軍工程大學(xué)雷英杰

Prolog最重要的好處是非常公平地適用于任何應(yīng)用領(lǐng)域:通過(guò)讓程序員建立對(duì)象和進(jìn)程之間的邏輯關(guān)系,復(fù)雜問(wèn)題更容易從本質(zhì)上求解,而且產(chǎn)生的程序在其生命周期更容易維護(hù)。定制知識(shí)庫(kù)、專家系統(tǒng)、自然語(yǔ)言接口和智能信息管理系統(tǒng)這些應(yīng)用都是當(dāng)前使用VisualProlog進(jìn)行程序設(shè)計(jì)的領(lǐng)域范圍。Prolog已經(jīng)走出了人工智能實(shí)驗(yàn)室,PDC的VisualProlog是一個(gè)商業(yè)上富有競(jìng)爭(zhēng)的通用開發(fā)環(huán)境。VisualProlog因其容易增加程序甚至網(wǎng)站的智能化特性而日益變成許多開發(fā)者選擇的工具。2/7/202311空軍工程大學(xué)雷英杰

VisualProlog是PDCProlog和TurboProlog的后繼產(chǎn)品。在微機(jī)上,VisualProlog是基于Windows環(huán)境的,而早期的PDCProlog和TurboProlog是基于DOS環(huán)境的。VisualProlog特別適合于處理知識(shí)和知識(shí)問(wèn)題求解,是優(yōu)秀的智能化應(yīng)用開發(fā)工具。同時(shí)也已經(jīng)成為適合于任何應(yīng)用領(lǐng)域的通用開發(fā)工具。PDC的VisualProlog特別適用于這些傳統(tǒng)類型的數(shù)據(jù)庫(kù)任務(wù),因?yàn)閂isualProlog具有的編程能力之一就是十分易于使用的數(shù)據(jù)庫(kù)引擎。2/7/202313空軍工程大學(xué)雷英杰

VisualProlog由于高度優(yōu)化的編譯器,創(chuàng)建的程序非???,幾乎與基于C++的應(yīng)用程序一樣快。Web編程支持和對(duì)象機(jī)制這兩種功能是對(duì)VisualProlog商用有效性的巨大貢獻(xiàn)。對(duì)象機(jī)制本身就是一種非常強(qiáng)大的建模工具,幾乎已經(jīng)成了Pascal、C++、Smalltalk等語(yǔ)言的一種事實(shí)上的標(biāo)準(zhǔn)。Web編程支持是一個(gè)重要的新特性。譬如,用VisualProlog寫的專家系統(tǒng),可以被連接到Web頁(yè),在支持部門、網(wǎng)上貿(mào)易和其它一些基于Web技術(shù)的開發(fā)等方面將發(fā)揮重要作用。2/7/202314空軍工程大學(xué)雷英杰主要內(nèi)容一、概述二、VisualProlog與Prolog三、Prolog能作何用四、VisualProlog的特點(diǎn)五、Prolog與其它語(yǔ)言有何差別?六、關(guān)于VisualProlog資料七、系統(tǒng)需求2/7/202315空軍工程大學(xué)雷英杰3.2其它領(lǐng)域的應(yīng)用

Prolog的能力已經(jīng)延伸到AI之外。高級(jí)抽象,表示復(fù)雜數(shù)據(jù)結(jié)構(gòu)的易用性和簡(jiǎn)明性,使得編程的說(shuō)明性方法有益于任何學(xué)科或問(wèn)題求解策略?;谶@個(gè)原因,VisualProlog已經(jīng)廣泛用來(lái)建造行政事務(wù)、高級(jí)數(shù)據(jù)庫(kù)管理、規(guī)劃和調(diào)度系統(tǒng)、基于Web的應(yīng)用等等。2/7/202317空軍工程大學(xué)雷英杰主要內(nèi)容一、概述二、VisualProlog與Prolog三、Prolog能作何用四、VisualProlog的特點(diǎn)五、Prolog與其它語(yǔ)言有何差別?六、關(guān)于VisualProlog資料七、系統(tǒng)需求2/7/202318空軍工程大學(xué)雷英杰四、VisualProlog的特點(diǎn)1.可視化開發(fā)環(huán)境可視化開發(fā)環(huán)境(VDE)把編譯器與編輯器、資源工具箱、資源和應(yīng)用專家、交互式建造工具和各種瀏覽工具等結(jié)合在一起。在交互式、可視化地創(chuàng)建用戶接口部件之后,就自動(dòng)生成了一個(gè)運(yùn)行原型。應(yīng)用程序?qū)<覟橐粋€(gè)項(xiàng)目創(chuàng)建所需要的全部文件,資源專家知道如何生成Prolog代碼,以支持所選擇的全部資源。設(shè)計(jì)VDE是為了使開發(fā)應(yīng)用程序更加容易、方便和快捷,這些應(yīng)用程序是基于每一個(gè)本地操作系統(tǒng)提供標(biāo)準(zhǔn)接口的高級(jí)抽象。2/7/202319空軍工程大學(xué)雷英杰2.編碼專家

編碼專家創(chuàng)建并維護(hù)Prolog的控件資源代碼。VisualProlog最大的強(qiáng)項(xiàng)可能是把布局設(shè)計(jì)工具(Layout)和編碼專家結(jié)合在一起。編碼專家完成大部分工作,就是說(shuō),你可以在幾分鐘之內(nèi)創(chuàng)建一個(gè)應(yīng)用程序,然后從這個(gè)原型逐漸增強(qiáng)到最終的應(yīng)用程序。2/7/202321空軍工程大學(xué)雷英杰2/7/202322空軍工程大學(xué)雷英杰3.生成和配置項(xiàng)目的應(yīng)用程序?qū)<覒?yīng)用程序?qū)<夷苌梢粋€(gè)新項(xiàng)目。它說(shuō)明操作系統(tǒng)、UI策略、C編譯器、伴隨工具等各種各樣的組合。當(dāng)生成一個(gè)新項(xiàng)目時(shí),它將自動(dòng)建立所有的基本工具,如幫助文件、工具欄、菜單等。2/7/202323空軍工程大學(xué)雷英杰4.資源集成編輯器

這些工具使得以交互方式可視化地設(shè)計(jì)和修改用戶接口成為可能。使用鼠標(biāo)安排控件在對(duì)話框或窗口中的布局,設(shè)置訪問(wèn)屬性。資源由窗口、對(duì)話框、位圖、圖標(biāo)、光標(biāo)和串等組成,它們是任何使用GUI的應(yīng)用程序都需要的.2/7/202325空軍工程大學(xué)雷英杰5.引入資源的能力

資源可以從DLL、應(yīng)用程序、RES文件及其它VisualProlog項(xiàng)目引入。2/7/202326空軍工程大學(xué)雷英杰VisualProlog的幫助系統(tǒng)2/7/202329空軍工程大學(xué)雷英杰8.源代碼瀏覽器

VisualProlog編譯器為源代碼瀏覽器產(chǎn)生信息,所以,檢查模塊中的謂詞、瀏覽項(xiàng)目中所有全局謂詞,或者查找任何謂詞、論域聲明或定義的位置,都是很方便的。2/7/202330空軍工程大學(xué)雷英杰9.項(xiàng)目共享與源代碼控制

對(duì)于VP可以使用源代碼控制系統(tǒng),如VisualSourceSafe、PVCS和MKS,它使得很容易在幾個(gè)項(xiàng)目之間共享源代碼,也允許多個(gè)程序員從事同一項(xiàng)目。2/7/202331空軍工程大學(xué)雷英杰10.VP大型聯(lián)機(jī)幫助參考信息

這個(gè)幫助設(shè)施提供一個(gè)完全的VDE操作指南和完整的基本Prolog語(yǔ)言及可視化編程擴(kuò)展的參考信息。2/7/202332空軍工程大學(xué)雷英杰2/7/202333空軍工程大學(xué)雷英杰11.可視化編程接口(VPI)

一種可移植的VisualProlog圖形用戶接口(GUI)API已經(jīng)定義。這個(gè)API是一種抽象的設(shè)施,可以在基本的Windows95/98/Me/XP及WindowsNT/2000平臺(tái)中找到。可視化編程接口給VisualProlog程序員一個(gè)比本地編程更可移植和更容易使用的GUIAPI。然而,為了使用戶不受限制,VPI也包含不可移植的平臺(tái)專用設(shè)施和選件。2/7/202334空軍工程大學(xué)雷英杰12.高級(jí)GUI部件

這些工具包括刪格、樹型窗口、Explorer視圖、工具欄、制表對(duì)話框、高級(jí)報(bào)表處理等。2/7/202335空軍工程大學(xué)雷英杰13.快速而高度優(yōu)化的編譯器

VP的編譯器產(chǎn)生緊湊的本地代碼,足以與Pascal和C編譯器所生成的代碼媲美。編譯器執(zhí)行幾種不同的分析,范圍從全局流程分析和確定性機(jī)制檢查,向下到寄存器分配和偷窺優(yōu)化。除了產(chǎn)生有效代碼,編譯器執(zhí)行許多高級(jí)檢查,檢測(cè)潛在的編譯時(shí)間問(wèn)題。主要是類型檢驗(yàn)分析、全局流程分析,確定性機(jī)制檢查和可能的失敗檢測(cè)。2/7/202336空軍工程大學(xué)雷英杰編譯器選件對(duì)話框2/7/202337空軍工程大學(xué)雷英杰14.檢測(cè)編譯時(shí)間錯(cuò)誤的類型檢查機(jī)制

VP杰出的特性之一是其類型機(jī)制,它提供一個(gè)額外級(jí)別的編程安全性。類型聲明是資料性代碼,有助于編譯器在開發(fā)的早期階段指出創(chuàng)建的類型錯(cuò)誤和更嚴(yán)重的邏輯錯(cuò)誤。因此,通過(guò)比照程序員和開發(fā)系統(tǒng)之間的類型,使得類型聲明有助于保證一個(gè)程序在整個(gè)產(chǎn)品生命周期的完整性。更進(jìn)一步,這些聲明幫助編譯器生成的程序更有效,在執(zhí)行期間更節(jié)省存儲(chǔ)空間。2/7/202338空軍工程大學(xué)雷英杰15.調(diào)試器

當(dāng)程序較大時(shí),我們就會(huì)發(fā)現(xiàn)VP的調(diào)試器是一個(gè)不可缺少的工具。調(diào)試器對(duì)編譯出來(lái)的代碼進(jìn)行工作,允許設(shè)置斷點(diǎn)和單步執(zhí)行代碼。當(dāng)單步執(zhí)行代碼時(shí),可以檢查變量的值及尚待證實(shí)的事實(shí)的內(nèi)容。2/7/202339空軍工程大學(xué)雷英杰調(diào)試器2/7/202340空軍工程大學(xué)雷英杰16.異常處理和錯(cuò)誤陷阱

VP包括功能強(qiáng)大的處理錯(cuò)誤情況和控制用戶中斷的機(jī)制。程序員可以在錯(cuò)誤檢查和錯(cuò)誤報(bào)告的不同級(jí)別(0,1,2,3)上進(jìn)行選擇。2/7/202341空軍工程大學(xué)雷英杰17.類和對(duì)象

人們常常在面向?qū)ο蠛驼f(shuō)明性編程語(yǔ)言之間進(jìn)行辯識(shí),但在VP中,可以同時(shí)使用取自這兩種范例的特性。VP語(yǔ)言支持對(duì)象和類,在設(shè)計(jì)中與C++實(shí)現(xiàn)類似。2/7/202342空軍工程大學(xué)雷英杰18.可移植性編碼

VP系統(tǒng)可用于多種平臺(tái),并能為多種平臺(tái)生成程序。除了個(gè)別操作系統(tǒng)專用設(shè)施和限制之外,Prolog代碼在所有平臺(tái)之間是可移植的。2/7/202343空軍工程大學(xué)雷英杰19.開放式平臺(tái)

VP很好地設(shè)計(jì)了與其它編程工具的接口。VP能生成其它語(yǔ)言可調(diào)用的例程,它本身也能夠調(diào)用其它語(yǔ)言編寫的例程。接口是通用的,而且支持所有產(chǎn)生標(biāo)準(zhǔn).OBJ模塊的編譯器。此外,VP程序還能夠調(diào)用DLL,并被放在DLL內(nèi)部。

通過(guò)聲明全局VP謂詞為C語(yǔ)言(或stdcall)調(diào)用約定,通過(guò)聲明參數(shù)類型和輸入/輸出流程模式,在VP和C之間不用特殊的膠合代碼而直接調(diào)用C例程(就象它們是Prolog代碼一樣)是完全可能的。這種接口在兩個(gè)方向上起作用,當(dāng)謂詞象C語(yǔ)言那樣聲明時(shí),它們能夠被C語(yǔ)言例程直接調(diào)用。2/7/202344空軍工程大學(xué)雷英杰GLOBALPREDICATESprocedureLONGvpi_LoadDll(STRING)-(i)languagecprocedurevpi_FreeDll(LONG)-(i)languagecprocedureLONGvpi_GetDllProc(LONG,STRINGProcName)-(i,i)languagec2/7/202345空軍工程大學(xué)雷英杰20.集成Make工具

Make工具處理編譯、連接、資源編輯和資源綁定等所有的復(fù)雜性。Make工具檢查時(shí)間郵戳,只編譯所需要的文件。為了顯示項(xiàng)目的結(jié)構(gòu),可以把這種依賴關(guān)系顯示成一個(gè)樹。2/7/202346空軍工程大學(xué)雷英杰Make工具2/7/202347空軍工程大學(xué)雷英杰21.功能強(qiáng)大的數(shù)據(jù)庫(kù)子系統(tǒng)

快速而非常靈活的數(shù)據(jù)庫(kù)子系統(tǒng)使VisualProlog成為一個(gè)比許多4GL數(shù)據(jù)庫(kù)應(yīng)用更適當(dāng)?shù)倪x擇。這個(gè)數(shù)據(jù)庫(kù)系統(tǒng)支持一個(gè)獨(dú)特的VP項(xiàng)的有序鏈的集合,而數(shù)據(jù)庫(kù)的項(xiàng)可以是語(yǔ)言本身支持的任何抽象或數(shù)據(jù)結(jié)構(gòu),從簡(jiǎn)單的記錄到樹或圖。數(shù)據(jù)庫(kù)系統(tǒng)能直接訪問(wèn)單個(gè)項(xiàng),或經(jīng)由項(xiàng)的鏈進(jìn)行回溯,以產(chǎn)生或匹配特定值。數(shù)據(jù)庫(kù)還支持B+樹,以提供快速數(shù)據(jù)檢索和有效改變項(xiàng)排序的能力。2/7/202348空軍工程大學(xué)雷英杰如果正在LAN應(yīng)用程序中使用數(shù)據(jù)庫(kù),就可以利用VP支持外部數(shù)據(jù)庫(kù)系統(tǒng)的文件共享這個(gè)優(yōu)點(diǎn)。通過(guò)使用一個(gè)機(jī)制,在交易內(nèi)部有效地使文件訪問(wèn)串行化,從而提供多用戶數(shù)據(jù)庫(kù)訪問(wèn)。也就是說(shuō),一個(gè)數(shù)據(jù)庫(kù)可以被幾個(gè)用戶或幾個(gè)進(jìn)程同時(shí)打開。2/7/202349空軍工程大學(xué)雷英杰VP支持的不同類型的數(shù)據(jù)庫(kù)2/7/202350空軍工程大學(xué)雷英杰22.客戶/服務(wù)器體系結(jié)構(gòu)

VP是一個(gè)建造客戶/服務(wù)器應(yīng)用程序的功能強(qiáng)大的平臺(tái)。其主要途徑當(dāng)前是TCP/IP綁定,也有可能是Windows下的NETDDE。使用其中任何一種設(shè)施,程序員可以在單個(gè)機(jī)器的多個(gè)進(jìn)程之間,或在網(wǎng)絡(luò)中分開的各機(jī)器程序之間,發(fā)送任意復(fù)雜的Prolog項(xiàng)。數(shù)據(jù)庫(kù)和邏輯服務(wù)器可以用這種設(shè)施容易地進(jìn)行建造。2/7/202351空軍工程大學(xué)雷英杰23.ODBC和可移植SQL綁定

VP的外部數(shù)據(jù)庫(kù)常常是存儲(chǔ)大量數(shù)據(jù)最快和最靈活的途徑。然而,數(shù)據(jù)可能在另一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)中已經(jīng)存在,或者這個(gè)應(yīng)用程序需要與其它僅僅使用特定數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用程序共享數(shù)據(jù)。在這種情況下,能夠連接到外部數(shù)據(jù)庫(kù)變得非常重要,而VisualProlog與可移植SQL的綁定將使這種情況對(duì)于大多數(shù)數(shù)據(jù)庫(kù)來(lái)說(shuō)得到簡(jiǎn)化??梢浦睸QL綁定是基于ODBC、Oracle的OCI庫(kù)、或DB2的。對(duì)Windows平臺(tái)而言,VP還包含更廣泛的對(duì)Microsoft的ODBCAPI的直接綁定。2/7/202352空軍工程大學(xué)雷英杰24.資料處理工具

PDC的DOC工具為處理豐富的格式化資料提供一個(gè)高級(jí)抽象。用Prolog結(jié)構(gòu)來(lái)表示資料使得不受實(shí)際格式限制成為可能,而不管它們是否.RTF、HTML或IPF格式。既有從Prolog項(xiàng)格式到這些格式的生成器,也有分析程序把任何這些格式轉(zhuǎn)換為Prolog項(xiàng)格式。這些工具展現(xiàn)了許多應(yīng)用程序的能力,如Word資料生成、Internet助理等。這些工具可以在DOC_TOOL子目錄中找到,子目錄中還包含一個(gè)示例程序,可以看到HTML格式的文件在轉(zhuǎn)換為.RTF格式時(shí)詳細(xì)情形。2/7/202353空軍工程大學(xué)雷英杰25.Prolog解釋器的源代碼

VP還包含Prolog推理機(jī)PIE(PrologInferenceEngine):用VP編寫的一個(gè)標(biāo)準(zhǔn)Prolog解釋器的全部源代碼。對(duì)于更多地學(xué)習(xí)Prolog如何工作和如何把元語(yǔ)言能力加進(jìn)應(yīng)用程序來(lái)說(shuō),這個(gè)解釋程序是一個(gè)強(qiáng)大的工具??梢孕薷倪@個(gè)解釋程序,創(chuàng)建自己專用的邏輯程序設(shè)計(jì)語(yǔ)言、推理機(jī)、專家系統(tǒng)外殼或程序接口等。2/7/202354空軍工程大學(xué)雷英杰Prolog推理機(jī)2/7/202355空軍工程大學(xué)雷英杰26.把Prolog編譯器嵌入到應(yīng)用程序

在VPI\TOOLEXAMP\BUILD中,有一個(gè)例子說(shuō)明如何把Prolog編譯程序和連接程序集成到應(yīng)用程序,以便編譯那些尚未工作的規(guī)則。通過(guò)在.DLL中實(shí)現(xiàn)規(guī)則,就可以改變規(guī)則而不用關(guān)閉應(yīng)用程序。這對(duì)于規(guī)劃和調(diào)度而言是一個(gè)非常強(qiáng)大的特性。它要求付給PDC一筆小的運(yùn)行時(shí)間費(fèi)用,簽署一個(gè)協(xié)議,你將不可以用它來(lái)創(chuàng)建一個(gè)與VP產(chǎn)品競(jìng)爭(zhēng)的應(yīng)用程序。如果你擁有VP的專業(yè)版本,就擁有所需要的全部特性;而且只要你的客戶擁有VP的許可權(quán),就可以把應(yīng)用程序交給他們。否則,請(qǐng)與PDC聯(lián)系,以獲取更多的信息。2/7/202356空軍工程大學(xué)雷英杰27.可視化開發(fā)環(huán)境的源代碼

對(duì)于VP的專業(yè)版本,在VDESRC子目錄中可以找到可視化開發(fā)環(huán)境的源代碼。有了它,就可以任意定制所期望的VDE,或者研究在程序中如何實(shí)現(xiàn)這些功能、適當(dāng)?shù)墓ぞ吆图夹g(shù)。2/7/202357空軍工程大學(xué)雷英杰28.安裝程序

用來(lái)安裝VP的安裝程序本身是用VP寫成的,其核心源代碼包含在光盤上。它能被修改而創(chuàng)建你自己應(yīng)用程序的安裝程序。2/7/202358空軍工程大學(xué)雷英杰VisualProlog安裝程序2/7/202359空軍工程大學(xué)雷英杰29.商業(yè)專家系統(tǒng)外殼

VP包含一個(gè)商業(yè)專家系統(tǒng)外殼ESTA。與它一起還提供了全部源代碼,以定制和包含在自己的應(yīng)用程序之中。2/7/202360空軍工程大學(xué)雷英杰30.許多精致例子

在許多例子中,有一個(gè)標(biāo)簽專家,是創(chuàng)建和打印標(biāo)簽的一個(gè)小應(yīng)用程序。你將發(fā)現(xiàn)它是一個(gè)真正展示所包含的VPI工具能力的精致的小例子。此外,隨VP一起,還提供了許多展示Prolog問(wèn)題求解的典型例子。2/7/202361空軍工程大學(xué)雷英杰31.廣泛的Internet編程支持

VP包含許多特性,可以容易地創(chuàng)建由Internet激活的應(yīng)用程序。2/7/202362空軍工程大學(xué)雷英杰32.綁定到套接字

包括綁定基本的低級(jí)接口和使套接字(Socket)接口用起來(lái)更安全、更容易的高級(jí)接口。套接字是對(duì)TCP/IP協(xié)議的API,可以用來(lái)在Internet的程序之間、在一個(gè)網(wǎng)絡(luò)內(nèi)部或同一臺(tái)計(jì)算機(jī)上的兩個(gè)程序之間建立一種通信。2/7/202363空軍工程大學(xué)雷英杰33.FTP支持

VP包含一組API和示例程序,顯示如何使用Internet的文件傳輸協(xié)議TransferProtocol)從Internet服務(wù)器發(fā)送和接收文件。2/7/202364空軍工程大學(xué)雷英杰34.HTTP支持

VP包含一組API和示例程序,演示使用Internet超文本傳輸協(xié)議HTTP(HyperTextTransferProtocol)。這是環(huán)球網(wǎng)WideWeb)所用的基本協(xié)議。這組API可以用來(lái)在VisualProlog中創(chuàng)建WWW客戶與服務(wù)器實(shí)用程序和Internet代理(Agent)。2/7/202365空軍工程大學(xué)雷英杰35.CGI支持和例子

VP包含一些CGI例子,顯示如何創(chuàng)建和生成動(dòng)態(tài)Web頁(yè)的VP程序。2/7/202366空軍工程大學(xué)雷英杰36.ISAPI支持和例子

VP支持Microsoft的ISAPI,允許在Microsoft信息服務(wù)器或任何其它支持ISAPI接口的HTTP服務(wù)器上有高性能腳本。2/7/202367空軍工程大學(xué)雷英杰37.與JAVA小程序通信

VP還包括一些例子,顯示如何使Prolog服務(wù)器與JAVA小程序(Applet)進(jìn)行通信。2/7/202368空軍工程大學(xué)雷英杰主要內(nèi)容一、概述二、VisualProlog與Prolog三、Prolog能作何用四、VisualProlog的特點(diǎn)五、Prolog與其它語(yǔ)言有何差別?六、關(guān)于VisualProlog資料七、系統(tǒng)需求2/7/202369空軍工程大學(xué)雷英杰5.1Prolog是描述性的

一個(gè)Prolog程序由問(wèn)題描述組成,而不是通過(guò)一系列步驟指定計(jì)算機(jī)必須如何工作來(lái)求解問(wèn)題。從概念上講,這個(gè)描述由兩個(gè)部分組成:1)描述問(wèn)題涉及的對(duì)象2)描述這些對(duì)象之間關(guān)系的事實(shí)和規(guī)則Prolog程序中的規(guī)則規(guī)定了給定的輸入數(shù)據(jù)和由輸入產(chǎn)生的輸出之間的關(guān)系。五、Prolog與其它語(yǔ)言有何差別?2/7/202370空軍工程大學(xué)雷英杰5.2Prolog使用事實(shí)和規(guī)則

一個(gè)Prolog程序?qū)嵸|(zhì)上由一系列邏輯語(yǔ)句組成,這些語(yǔ)句或者是以事實(shí)的形式,或者是以規(guī)則的形式。2/7/202371空軍工程大學(xué)雷英杰5.3

Prolog能做推演

給出Prolog程序一個(gè)目標(biāo),如

Goalfather("John","Mary").Prolog將因?yàn)檫@個(gè)目標(biāo)與存儲(chǔ)的事實(shí)匹配而回答:

Yes.如果在目標(biāo)中使用變量,Prolog將求出這個(gè)變量的值:

Goalfather(X,"Mary").Prolog將因?yàn)椴檎业绞聦?shí)而回答

X="John"2/7/202372空軍工程大學(xué)雷英杰5.4Prolog求解過(guò)程是自動(dòng)控制的

當(dāng)一個(gè)VP程序用可視化開發(fā)環(huán)境的TestGoal實(shí)用程序運(yùn)行時(shí),系統(tǒng)試圖找到滿足給定目標(biāo)的所有可能的解。在執(zhí)行期間,顯示結(jié)果。VP使用回溯機(jī)制,每次找到一個(gè)解,使Prolog再次評(píng)估那些假設(shè),查看某些新值是否能提供新的解。而這種尋找所有解的過(guò)程是自動(dòng)控制的。2/7/202373空軍工程大學(xué)雷英杰5.5

Prolog具有簡(jiǎn)潔的語(yǔ)法

學(xué)習(xí)VP的語(yǔ)法比傳統(tǒng)編程語(yǔ)言的復(fù)雜語(yǔ)法要容易的多。2/7/202374空軍工程大學(xué)雷英杰5.6Prolog是更高級(jí)的語(yǔ)言

Prolog是一種比C或Pascal更高級(jí)的語(yǔ)言。如前所述,Prolog典型情況下求解問(wèn)題時(shí)只使用C或Pascal程序的十分之一程序行。這完全歸功于Prolog具有內(nèi)置的模式匹配設(shè)施,以及簡(jiǎn)單和有效的處理遞歸結(jié)構(gòu)的方法。2/7/202375空軍工程大學(xué)雷英杰

這些就是Prolog獨(dú)有特色的簡(jiǎn)短概括。隨著深入鉆研和開始編寫程序,你將會(huì)發(fā)現(xiàn)Prolog具有更多更強(qiáng)大的功能。2/7/202376空軍工程大學(xué)雷英杰主要內(nèi)容一、概述二、VisualProlog與Prolog三、Prolog能作何用四、VisualProlog的特點(diǎn)五、Prolog與其它語(yǔ)言有何差別?六、關(guān)于VisualProlog資料七、系統(tǒng)需求2/7/202377空軍工程大學(xué)雷英杰

VP的(中文)資料有:《VisualProlog語(yǔ)言教程》(陜西科技出版社)

《VisualProlog編程、環(huán)境及接口》

(國(guó)防工業(yè)出版社)

聯(lián)機(jī)幫助文件(英文)HTML格式的資料(英文)六、關(guān)于VisualProlog資料2/7/202378空軍工程大學(xué)雷英杰6.1語(yǔ)言教程

語(yǔ)言教程著重從語(yǔ)言的角度,全面而系統(tǒng)地介紹VP語(yǔ)言及其編程。全書共分四個(gè)部分:

第一部分介紹VP可視化開發(fā)環(huán)境的一個(gè)子集,舉例解釋如何創(chuàng)建、運(yùn)行、調(diào)試及保存程序。

第二部分(第2—11章)介紹如何學(xué)會(huì)用VP編程,包括基本原理、程序結(jié)構(gòu)、合一與回溯、簡(jiǎn)單對(duì)象與復(fù)合對(duì)象、重復(fù)與遞歸、表與遞歸、事實(shí)數(shù)據(jù)庫(kù)、算術(shù)與比較運(yùn)算、引用變量、謂詞指針、二進(jìn)制論域、項(xiàng)的轉(zhuǎn)換、動(dòng)態(tài)截?cái)唷㈠e(cuò)誤和信號(hào)處理、程序設(shè)計(jì)風(fēng)格、對(duì)象機(jī)制與面向?qū)ο蟪绦蛟O(shè)計(jì)。 2/7/202379空軍工程大學(xué)雷英杰6.1語(yǔ)言教程

第三部分(第12—16章)敘述VP的預(yù)定義特性,包括文件操作、串處理、外部數(shù)據(jù)庫(kù)、系統(tǒng)級(jí)編程及程序舉例。

第四部分(第17—18章)詳細(xì)敘述VP語(yǔ)言元素和模塊化程序設(shè)計(jì),以及與其它編程語(yǔ)言的接口。

兩個(gè)附錄:謂詞索引(按功能分類)謂詞索引(按字母順序)2/7/202380空軍工程大學(xué)雷英杰

系統(tǒng)介紹VisualProlog(VP)語(yǔ)言的功能特點(diǎn)、編程方法、開發(fā)環(huán)境及編程接口。全書分為三篇:

編程指南篇

開發(fā)環(huán)境篇

編程接口篇6.2VisualProlog編程、環(huán)境及接口2/7/202381空軍工程大學(xué)雷英杰

詳細(xì)介紹VP語(yǔ)言的功能特點(diǎn)及編程方法,包括第1章至第9章。第1章VisualProlog概述

介紹Prolog能做何用,VP的功能特點(diǎn),與其它編程語(yǔ)言的差別等。第2章系統(tǒng)安裝

介紹VP的安裝過(guò)程和來(lái)自Prolog開發(fā)中心的技術(shù)支持。第3章編程起步

本章是熟悉整個(gè)系統(tǒng)大體功能的一個(gè)快速和輕松的導(dǎo)讀。首先介紹VP的目標(biāo)和規(guī)則等基本概念;然后從應(yīng)用程序?qū)<议_始,介紹如何運(yùn)行VP程序,如何使用代碼瀏覽器、資源標(biāo)識(shí)符瀏覽器、項(xiàng)目瀏覽器來(lái)學(xué)習(xí)所生成的代碼。最后介紹系統(tǒng)最常使用的重要熱鍵。6.2.1編程指南2/7/202382空軍工程大學(xué)雷英杰

第4章擴(kuò)展“HelloWorld”程序

一步一步介紹如何使用VP的菜單編輯器和代碼專家——對(duì)話框與窗口專家——來(lái)擴(kuò)充“HelloWorld”應(yīng)用程序,學(xué)會(huì)VP編程的基本技巧。第5章創(chuàng)建窗口介紹如何創(chuàng)建一個(gè)新的源程序模塊、創(chuàng)建一個(gè)新的窗口,如何為窗口生成缺省代碼、檢查來(lái)到窗口的事件,以及更多的畫圖操作。第6章給窗口添加控件介紹如何使用工具欄專家、圖形編輯器和菜單編輯器等工具給窗口添加、編輯和使用位圖、工具欄、菜單等資源,如何畫鼠標(biāo)掠影、改變鼠標(biāo)光標(biāo)、設(shè)置鼠標(biāo)熱點(diǎn),如何創(chuàng)建彈出式菜單及改變畫圖顏色等。6.2.1編程指南2/7/202383空軍工程大學(xué)雷英杰

第7章使用系統(tǒng)資源介紹如何使用對(duì)話框包裝專家來(lái)創(chuàng)建和使用時(shí)鐘窗口(定時(shí)器)、圖片窗口、樹形窗口、編輯器窗口,如何處理剪貼板、控制打印機(jī)、給窗口添加更多的控件、使用列表框、創(chuàng)建對(duì)話框,以及使用DDE。

第8章創(chuàng)建幫助文件介紹如何為應(yīng)用程序創(chuàng)建添加編輯器功能和聯(lián)機(jī)幫助等。

第9章調(diào)試Prolog程序介紹VP的調(diào)試器。6.2.1編程指南2/7/202384空軍工程大學(xué)雷英杰

系統(tǒng)介紹VP的可視化開發(fā)環(huán)境(VDE),包括第10章至第17章。

第10章使用VDE

介紹VDE中使用的項(xiàng)目文件、項(xiàng)目窗口、信息窗口和項(xiàng)目模塊樹,以及代碼瀏覽器、資源標(biāo)識(shí)符瀏覽器等實(shí)用程序。還討論了環(huán)境選項(xiàng)設(shè)置和全局初始化文件。

第11章應(yīng)用程序?qū)<?/p>

介紹如何創(chuàng)建VP應(yīng)用程序,包括項(xiàng)目命名、項(xiàng)目基目錄、多程序員支持、目標(biāo)選項(xiàng)和VPI選項(xiàng),以及項(xiàng)目中生成的文件和目錄結(jié)構(gòu)的描述。第12章建立、編譯和連接

詳細(xì)介紹VP的編譯器選項(xiàng)和代碼生成器選項(xiàng),以及具有符號(hào)、規(guī)則和腳本功能的Make工具,還介紹了建立項(xiàng)目的有關(guān)菜單命令。6.2.2開發(fā)環(huán)境2/7/202385空軍工程大學(xué)雷英杰

第13章資源編輯

詳細(xì)介紹資源命名、資源連接和資源引入,以及窗口與對(duì)話框編輯器、資源串編輯器、工具欄編輯器、菜單編輯器、圖形編輯器和畫圖編輯工具。

第14章編碼專家

介紹如何利用代碼生成專家來(lái)生成和編輯VP程序源代碼,包括對(duì)話框與窗口專家、對(duì)話框包裝專家及工具欄專家。

第15章文本編輯器

介紹具有VP特色的通用文本編輯器。

6.2.2開發(fā)環(huán)境2/7/202386空軍工程大學(xué)雷英杰第16章幫助生成器

介紹如何使用這個(gè)非常方便的實(shí)用工具來(lái)生成Windows幫助文件。

第17章調(diào)試器

介紹VP調(diào)試器及調(diào)試VP應(yīng)用程序所需要的有關(guān)信息。6.2.2開發(fā)環(huán)境2/7/202387空軍工程大學(xué)雷英杰系統(tǒng)介紹VisualProlog的可視化編程接口(VPI),VPI是一種高級(jí)應(yīng)用程序接口(API),其設(shè)計(jì)是為了利用現(xiàn)代操作系統(tǒng)和顯示硬件的圖形能力,為Prolog應(yīng)用程序提供完善的用戶接口。這個(gè)VPI基本上是不受平臺(tái)約束的。然而,并非每一個(gè)GUI的全部設(shè)施都出現(xiàn)在這個(gè)VPI中,也并非這個(gè)VPI中的每一個(gè)設(shè)施全部都是可移植的;這個(gè)VPI試圖以一種統(tǒng)一的方法支持每一種平臺(tái)上都能找到的所有特性。

6.2.3編程接口2/7/202388空軍工程大學(xué)雷英杰VPI中的論域、常量和謂詞不隨目標(biāo)平臺(tái)改變。為了幫助那些對(duì)可移植性不感興趣但需要具有最大靈活性的開發(fā)者,VPI也包含若干不可移植但卻與給定平臺(tái)密切相關(guān)的謂詞。正如使用其它通用編程語(yǔ)言一樣,編寫一個(gè)可移植的VPI應(yīng)用程序是可能的,但也可能編寫出一個(gè)應(yīng)用程序是不可移植的。本篇內(nèi)容包括第18章至第24章。

第18章調(diào)用VPI

簡(jiǎn)要介紹VP的編程接口和事件驅(qū)動(dòng)的應(yīng)用程序等概念,描述了VP應(yīng)用程序調(diào)用VPI謂詞的基本過(guò)程。6.2.3編程接口2/7/202389空軍工程大學(xué)雷英杰

第19章窗口與事件謂詞

詳細(xì)介紹窗口風(fēng)格與窗口類型,窗口的創(chuàng)建、撤消、移動(dòng),改變窗口大小、狀態(tài),以及與窗口相關(guān)的處理謂詞。還介紹與窗口有關(guān)的事件及事件處理,包括窗口的創(chuàng)建與撤消事件、用戶請(qǐng)求關(guān)閉窗口事件、關(guān)閉GUI事件、窗口菜單事件、窗口鼠標(biāo)事件和窗口鍵盤事件等,最后介紹了本地GUI事件、動(dòng)態(tài)數(shù)據(jù)交換、控件通知事件、應(yīng)用程序事件等的處理謂詞。

第20章控件操作謂詞

介紹控件的操縱、控件的樣式、來(lái)自控件的事件,以及各種標(biāo)準(zhǔn)控件、屬主繪圖控件和自定義控件等的操作謂詞。6.2.3編程接口2/7/202390空軍工程大學(xué)雷英杰

第21章資源操作謂詞

介紹如何在VPI應(yīng)用程序中獲取或檢查由VDE資源編輯器創(chuàng)建的各種資源,首先介紹資源類型,然后詳細(xì)介紹對(duì)話框、菜單、光標(biāo)、圖片、圖元文件、剪貼板及插字符等GUI資源操作謂詞。

圖片,介紹處理圖片的謂詞,包括圖片格式轉(zhuǎn)換,圖片的創(chuàng)建、撤消、繪制、裝入、保存、旋轉(zhuǎn)。

剪貼板,介紹如何從剪貼板得到數(shù)據(jù),如何將數(shù)據(jù)放入剪貼板,以及測(cè)試剪貼板數(shù)據(jù)的謂詞。圖元文件,介紹圖元文件的裝入、播放、撤消、記錄謂詞。6.2.3編程接口2/7/202391空軍工程大學(xué)雷英杰

第22章繪圖操作

詳細(xì)介紹了繪圖工具及其獲得和設(shè)置方法。繪圖謂詞,包括畫像素點(diǎn)、填充區(qū)域、繪制圖標(biāo)、繪制打開的圖形、畫填充圖形,以及繪制文本、處理字體有關(guān)的操作謂詞。

顏色處理,介紹了用基本的紅、綠、蘭三元色產(chǎn)生各種顏色的方法以及選擇顏色的謂詞。

坐標(biāo)系,介紹對(duì)話框的基本度量單元以及如何將一個(gè)窗口系統(tǒng)的坐標(biāo)映射到其它窗口,還介紹了窗口的映射模式。

打印,介紹了VPI應(yīng)用程序中支持打印工作的謂詞,包括開始打印、結(jié)束打印、設(shè)置頁(yè)的打印方向、開始打印一新頁(yè)、中止打印與獲取打印設(shè)置。6.2.3編程接口2/7/202392空軍工程大學(xué)雷英杰

第23章系統(tǒng)級(jí)操作

主要介紹系統(tǒng)資源或與系統(tǒng)內(nèi)部處理有關(guān)的操作謂詞。

定時(shí)器,介紹啟動(dòng)、停止定時(shí)器的方法及謂詞。

動(dòng)態(tài)數(shù)據(jù)交換,介紹客戶機(jī)/服務(wù)器的角色、DDE客戶操作、DDE服務(wù)器操作謂詞,以及網(wǎng)絡(luò)DDE等有關(guān)的謂詞。錯(cuò)誤處理,介紹VPI中的錯(cuò)誤處理器以及如何安裝新的錯(cuò)誤處理器。本機(jī)API函數(shù),介紹調(diào)用本機(jī)GUI函數(shù)的謂詞,在VPI之外創(chuàng)建窗口的方法,VPI窗口的本機(jī)事件,獲得本機(jī)窗口句柄和設(shè)備上下文的謂詞。運(yùn)行外部應(yīng)用程序,詳細(xì)介紹從VPI程序中調(diào)用外部程序的謂詞。執(zhí)行聯(lián)機(jī)幫助,介紹VPI中激活聯(lián)機(jī)幫助的謂詞。6.2.3編程接口2/7/202393空軍工程大學(xué)雷英杰

第24章VPI程序包

介紹各種支持程序包。對(duì)話框程序包,全部由Pr

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論