王 曉 聶 凱
(91550部隊(duì) 大連 116023)
指揮信息系統(tǒng)是將指揮控制、情報(bào)偵察、預(yù)警探測(cè)、通信和電子戰(zhàn)等多系統(tǒng)進(jìn)行分層、組合而形成的一體化軍事信息系統(tǒng)。它是一個(gè)系統(tǒng)的系統(tǒng),各個(gè)子系統(tǒng)都相當(dāng)復(fù)雜,各自有自己的用戶(hù)接口、數(shù)據(jù)庫(kù),甚至運(yùn)行于不同的平臺(tái)[1]。信息化戰(zhàn)爭(zhēng)的迅速發(fā)展對(duì)指揮信息系統(tǒng)提出了更高的要求,各子信息系統(tǒng)之間的信息交換和信息融合越來(lái)越頻繁,系統(tǒng)必須能快速地進(jìn)行柔性重構(gòu),以適應(yīng)戰(zhàn)場(chǎng)情況和部隊(duì)編成的迅速變化。所有這些要求指揮信息系統(tǒng)必須是支持分布性、移動(dòng)性、交互性以及自適應(yīng)的分布式系統(tǒng)。利用面向服務(wù)架構(gòu)(Service-O-riented Architecture,SOA),對(duì)組織內(nèi)分布、異構(gòu)的應(yīng)用和數(shù)據(jù)資源進(jìn)行有效地封裝和集成,利用服務(wù)組合快速構(gòu)建跨組織的復(fù)雜應(yīng)用,以適應(yīng)環(huán)境和業(yè)務(wù)流程的變化,成為近年來(lái)分布式計(jì)算技術(shù)的主流趨勢(shì)[2]。美軍很早就大力發(fā)展面向網(wǎng)絡(luò)中心戰(zhàn)的GIG,實(shí)現(xiàn)作戰(zhàn)信息共享和一體化指揮控制,開(kāi)發(fā)了面向服務(wù)的以NCES(Net-Centric Enterprise Services)和SoSCOE(System of Systems Common Operating Environment)為代表的基礎(chǔ)信息系統(tǒng),同時(shí)美軍還采用SOA構(gòu)建作戰(zhàn)應(yīng)用系統(tǒng),如NECC(Net-Enabled Command Capability,網(wǎng)絡(luò)使能指揮能力系統(tǒng)),在新發(fā)布的美國(guó)國(guó)防部體系結(jié)構(gòu)框架DoDAF2.0中也增加了服務(wù)視圖[3]。國(guó)內(nèi)文獻(xiàn)[3~8]也開(kāi)展了面向服務(wù)的指揮信息系統(tǒng)相關(guān)研究,取得了很大的進(jìn)步。
同時(shí)模型驅(qū)動(dòng)架構(gòu)(Model Driven Architecture,MDA)[9]通過(guò)定義模型和模型轉(zhuǎn)換實(shí)現(xiàn)軟件開(kāi)發(fā)層次的提升,在信息系統(tǒng)開(kāi)發(fā)領(lǐng)域尤其是軍事信息系統(tǒng)開(kāi)發(fā)方面獲得了廣泛的應(yīng)用。很多研究將SOA和MDA相結(jié)合,綜合發(fā)揮二者的優(yōu)勢(shì)構(gòu)建適合信息化戰(zhàn)爭(zhēng)的指揮信息系統(tǒng)[10]。
針對(duì)以上問(wèn)題,基于SOA定義軍事信息服務(wù),然后設(shè)計(jì)指揮信息系統(tǒng)的集成框架,接著給出基于SOA的系統(tǒng)迭代式生命周期,并闡述模型驅(qū)動(dòng)開(kāi)發(fā)過(guò)程與服務(wù)組合的對(duì)應(yīng)關(guān)系,最后總結(jié)新構(gòu)建方法的特點(diǎn)。
SOA是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元(稱(chēng)為服務(wù))通過(guò)這些服務(wù)之間定義良好的接口和契約聯(lián)系起來(lái)。SOA中包括三種角色:服務(wù)請(qǐng)求者、服務(wù)注冊(cè)者和服務(wù)提供者。SOA使用 WSDL(Web service description language)來(lái)描述服務(wù),使用 UDDI(universal description,discovery,integration)來(lái)發(fā)布、查找服務(wù),而SOAP(simple object access protocol)被用來(lái)執(zhí)行服務(wù)調(diào)用。Web服務(wù)是SOA的實(shí)現(xiàn)技術(shù)之一。SOA的特點(diǎn)在于具有松耦合、抽象、可重用、組件化、獨(dú)立于平臺(tái)和協(xié)議等特性。基于SOA的指揮信息系統(tǒng)集成就是以服務(wù)驅(qū)動(dòng)為核心理念,按需連接系統(tǒng)資源,實(shí)現(xiàn)服務(wù)的快速組合和重用,達(dá)到系統(tǒng)綜合集成的目的。
模型驅(qū)動(dòng)架構(gòu)MDA是一種對(duì)業(yè)務(wù)邏輯建立抽象模型,然后由抽象模型自動(dòng)產(chǎn)生最終完備的應(yīng)用程序的方法。MDA致力于提高軟件開(kāi)發(fā)行為的抽象級(jí)別,倡導(dǎo)將業(yè)務(wù)邏輯定義為精確的高層抽象模型,讓開(kāi)發(fā)人員從繁瑣、重復(fù)的低級(jí)勞動(dòng)中解脫出來(lái)。模型驅(qū)動(dòng)式軟件開(kāi)發(fā)(model driven development,MDD)就是對(duì)實(shí)際問(wèn)題進(jìn)行建模,并轉(zhuǎn)換、精化模型,直至生成可執(zhí)行代碼的過(guò)程。對(duì)象管理組織(object management group,OMG)選擇將統(tǒng)一建模語(yǔ)言UML作為標(biāo)準(zhǔn)建模語(yǔ)言,并將其作為模型驅(qū)動(dòng)架構(gòu)MDA的支持平臺(tái)。MDA的基本思想是:一切都是模型。軟件的生命周期就是以模型為載體并由模型轉(zhuǎn)換來(lái)驅(qū)動(dòng)的過(guò)程。MDA中定義了CIM(計(jì)算無(wú)關(guān)模型)、PIM(平臺(tái)無(wú)關(guān)模型)和PSM(平臺(tái)相關(guān)模型),同時(shí)定義了從PIM到PSM等的模型轉(zhuǎn)換方法。
Web服務(wù)作為新興的Web應(yīng)用模式,是一個(gè)嶄新的分布式計(jì)算模型。它有松耦合、強(qiáng)自治以及跨平臺(tái)調(diào)用等特點(diǎn)。Web服務(wù)的推出是為了實(shí)現(xiàn)“Web的無(wú)縫集成”目標(biāo),試圖打破在當(dāng)今開(kāi)放式網(wǎng)絡(luò)環(huán)境下網(wǎng)站、應(yīng)用、各種計(jì)算設(shè)備之間難以調(diào)和的狀態(tài)。Web服務(wù)和SOA相結(jié)合成為近來(lái)分布式系統(tǒng)應(yīng)用的研究熱點(diǎn)。
軍事信息服務(wù)與Web服務(wù)既有區(qū)別又有聯(lián)系,它們都強(qiáng)調(diào)服務(wù)的可重用、松耦合及可跨平臺(tái)調(diào)用等特點(diǎn),但由于軍事應(yīng)用的特殊性,軍事信息服務(wù)還有安全可靠、實(shí)時(shí)高效、受服務(wù)擁有者和服務(wù)中心雙重管理等屬性。因此軍事信息服務(wù)被定義為:軍事信息服務(wù)[5](Military Information Service,MIS)是指由分布在一體化戰(zhàn)場(chǎng)信息平臺(tái)上的各類(lèi)軍事信息資源(如各種偵察、探測(cè)設(shè)備、信息處理資源、通信資源、存儲(chǔ)資源、火力打擊武器等)以及各種軍事信息系統(tǒng)構(gòu)成的,遵守Web服務(wù)或?qū)崟r(shí)服務(wù)的技術(shù)規(guī)范,以獨(dú)立于平臺(tái)的方式描述和封裝的,具有獨(dú)立行為邏輯和軍事應(yīng)用能力的功能單元。
面向服務(wù)的指揮信息系統(tǒng)是以分布在一體化戰(zhàn)場(chǎng)信息平臺(tái)上的各種軍事信息服務(wù)為基礎(chǔ),依據(jù)作戰(zhàn)任務(wù)的需要,將所需的各種軍事信息服務(wù)進(jìn)行組合,并通過(guò)松耦合的方式實(shí)現(xiàn)服務(wù)間的互相調(diào)用和組合,從而得到互聯(lián)互通互操作的一體化指揮信息系統(tǒng)。采用分層模式設(shè)計(jì)了系統(tǒng)的集成框架,如圖1所示。
根據(jù)服務(wù)的用途和粒度,將集成框架分為物理資源層、數(shù)據(jù)層、支撐服務(wù)層和應(yīng)用層。數(shù)據(jù)層主要包括通信協(xié)議、消息格式、數(shù)據(jù)類(lèi)型、網(wǎng)絡(luò)架構(gòu)和各種數(shù)據(jù)庫(kù)等。通信協(xié)議、消息格式、數(shù)據(jù)類(lèi)型等是接口規(guī)范,用戶(hù)遵照接口規(guī)范,就可以在不必獲知服務(wù)內(nèi)部實(shí)現(xiàn)機(jī)制的情況下使用軍事信息服務(wù)。服務(wù)總線(xiàn)的主要作用是將信息系統(tǒng)的所有參與者相互連接在一起,提供應(yīng)用服務(wù)的實(shí)現(xiàn)機(jī)制。架構(gòu)模式采用P2P模式,服務(wù)提供者和服務(wù)消費(fèi)者是完全平等的,一個(gè)客戶(hù)端不再局限于一個(gè)特定的服務(wù)器,克服了C/S模式的脆弱性。
圖1 面向服務(wù)的指揮信息系統(tǒng)集成框架
支撐服務(wù)層包括存儲(chǔ)管理服務(wù)、信息分發(fā)服務(wù)、服務(wù)管理、人機(jī)交互服務(wù)、資源共享服務(wù)和信息安全服務(wù)等。其中信息分發(fā)服務(wù)采用SOA的訂閱/發(fā)布模式(Publish/Subscribe)而不是請(qǐng)求/響應(yīng)模式來(lái)實(shí)現(xiàn)客戶(hù)/服務(wù)器之間的信息交互,可以提高系統(tǒng)的實(shí)時(shí)性;服務(wù)管理包括與服務(wù)生命周期過(guò)程相關(guān)的各種服務(wù),如封裝服務(wù)、注冊(cè)服務(wù)、發(fā)現(xiàn)服務(wù)、監(jiān)控服務(wù)、選擇服務(wù)和組合服務(wù)等,其中監(jiān)控服務(wù)用于對(duì)候選服務(wù)的QoS數(shù)據(jù)進(jìn)行實(shí)時(shí)采集和監(jiān)控,為選擇服務(wù)提供數(shù)據(jù)和支持;人機(jī)交互服務(wù)主要是各種顯示資源的管理、數(shù)據(jù)的輸入輸出和操作等,顯示資源包括表頁(yè)、圖像和視頻等。面向作戰(zhàn)應(yīng)用需求,基于實(shí)際作戰(zhàn)流程,經(jīng)過(guò)服務(wù)的封裝、注冊(cè)、發(fā)現(xiàn)、選擇和組合后,構(gòu)建一個(gè)新的復(fù)合軍事信息服務(wù),為軍事信息服務(wù)的應(yīng)用打下基礎(chǔ)。
應(yīng)用層包括態(tài)勢(shì)生成服務(wù)、作戰(zhàn)計(jì)劃服務(wù)、作戰(zhàn)指揮服務(wù)、作戰(zhàn)評(píng)估服務(wù)、仿真與推演服務(wù)、通信保障服務(wù)、導(dǎo)航定位服務(wù)、文電服務(wù)、時(shí)間統(tǒng)一服務(wù)和維修保障服務(wù)等。這些軍事信息服務(wù)通過(guò)相互調(diào)用、交互、選擇和組合,實(shí)現(xiàn)軍事信息資源的實(shí)時(shí)、安全、無(wú)縫共享,從而支持完成各種作戰(zhàn)任務(wù)。
基于圖1中的指揮信息系統(tǒng)集成框架就可以開(kāi)展系統(tǒng)的構(gòu)建與開(kāi)發(fā),指揮信息系統(tǒng)構(gòu)建是一個(gè)以完成作戰(zhàn)任務(wù)為中心,以各種作戰(zhàn)流程為主線(xiàn),基于SOA和MDA的迭代式開(kāi)發(fā)過(guò)程。
將系統(tǒng)的構(gòu)建劃分為幾個(gè)階段,可以使復(fù)雜系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)變得易于控制和管理。因此,從SOA的角度看,指揮信息系統(tǒng)的構(gòu)建主要有五個(gè)階段:系統(tǒng)需求分析與建模、軍事信息服務(wù)設(shè)計(jì)、服務(wù)部署與系統(tǒng)測(cè)試、軍事信息服務(wù)監(jiān)控與QoS測(cè)量和軍事信息服務(wù)進(jìn)化與替換,具體如圖2所示。現(xiàn)代戰(zhàn)爭(zhēng)十分激烈,隨時(shí)都有裝備及相關(guān)服務(wù)的加入、失效和退出,因此這個(gè)過(guò)程是重復(fù)迭代的。
圖2 面向服務(wù)的指揮信息系統(tǒng)構(gòu)建過(guò)程
系統(tǒng)需求分析與建模:這一階段完成系統(tǒng)和作戰(zhàn)需求的收集和分析工作,設(shè)計(jì)和優(yōu)化基于軍事信息服務(wù)及其組合的作戰(zhàn)流程。該步驟主要基于多元本體系統(tǒng)和元模型進(jìn)行建模來(lái)增強(qiáng)模型的語(yǔ)義能力和可復(fù)用性,進(jìn)而完成領(lǐng)域建模工作。最終得到的領(lǐng)域模型也稱(chēng)計(jì)算無(wú)關(guān)模型CIM。
軍事信息服務(wù)設(shè)計(jì):該階段分為兩部分,對(duì)于遺留系統(tǒng),通過(guò)切分和封裝的方式進(jìn)行服務(wù)識(shí)別,對(duì)于新的業(yè)務(wù)需求,則需要進(jìn)行服務(wù)開(kāi)發(fā)。在服務(wù)組合階段,主要是依據(jù)作戰(zhàn)流程和PIM,基于已有的服務(wù)集合和系統(tǒng)集成方案,發(fā)現(xiàn)服務(wù)、組合服務(wù)和選擇優(yōu)化服務(wù)等。通??梢酝ㄟ^(guò)復(fù)用已有軍事信息服務(wù)來(lái)實(shí)現(xiàn)PIM中的模型和功能;當(dāng)服務(wù)或模型不存在時(shí),可以開(kāi)發(fā)一個(gè)新的服務(wù)來(lái)滿(mǎn)足需求,測(cè)試該服務(wù)的性能并添加到系統(tǒng)中。
服務(wù)部署與系統(tǒng)測(cè)試:在軍事信息服務(wù)設(shè)計(jì)完成后,可以將軍事信息服務(wù)和支撐的作戰(zhàn)流程部署到指揮信息系統(tǒng)計(jì)算環(huán)境中,同時(shí)將新設(shè)計(jì)或產(chǎn)生的軍事信息服務(wù)配置到系統(tǒng)中,并對(duì)系統(tǒng)環(huán)境進(jìn)行測(cè)試和優(yōu)化。
軍事信息服務(wù)監(jiān)控與QoS測(cè)量:該階段主要完成對(duì)各種軍事信息服務(wù)資源的管理和監(jiān)控,并實(shí)時(shí)監(jiān)測(cè)軍事信息服務(wù)的各種QoS參數(shù)。利用QoS測(cè)量結(jié)果為基于QoS的服務(wù)選擇優(yōu)化提供支撐。
軍事信息服務(wù)進(jìn)化與替換:隨著系統(tǒng)的運(yùn)行和戰(zhàn)場(chǎng)位置的變化,指揮信息系統(tǒng)的運(yùn)行環(huán)境和作戰(zhàn)環(huán)境可能已經(jīng)改變,這時(shí)需要對(duì)軍事信息服務(wù)進(jìn)行升級(jí)和變更。當(dāng)有服務(wù)失效時(shí),需要進(jìn)行服務(wù)替換。總之,整個(gè)基于SOA的系統(tǒng)構(gòu)建是一個(gè)迭代上升的過(guò)程。
模型驅(qū)動(dòng)的指揮信息系統(tǒng)開(kāi)發(fā)過(guò)程從CIM開(kāi)始,通過(guò)多元本體系統(tǒng)對(duì)需求模型進(jìn)行建模得到CIM,可以增強(qiáng)CIM的語(yǔ)義能力和可復(fù)用性。接著是CIM到PIM的模型轉(zhuǎn)換,這一步通常把多元本體定義的模型映射到UML描述的PIM。PIM獨(dú)立于技術(shù)平臺(tái)和語(yǔ)言,由UML及其擴(kuò)展形式的元模型來(lái)描述,它能豐富UML的表達(dá)能力。接下來(lái)是PIM到PSM的模型轉(zhuǎn)換,通常情況下PIM可以基于不同的開(kāi)發(fā)環(huán)境轉(zhuǎn)換成多個(gè)不同的PSM,如基于BPEL、基于OWL-S等,這里我們轉(zhuǎn)換成基于OWL描述的PSM,采用本體實(shí)現(xiàn)自動(dòng)推理。最終將PSM轉(zhuǎn)換成可執(zhí)行代碼。從CIM到PIM的轉(zhuǎn)換比較容易實(shí)現(xiàn),PSM到代碼的轉(zhuǎn)換也有專(zhuān)門(mén)的格式,而現(xiàn)在提出的PIM到PSM的轉(zhuǎn)換方法在面對(duì)大量的軍事信息服務(wù)時(shí)存在很多問(wèn)題,因此需要研究從PIM到PSM的模型轉(zhuǎn)換方法。整個(gè)模型驅(qū)動(dòng)開(kāi)發(fā)過(guò)程與服務(wù)組合的對(duì)應(yīng)關(guān)系如圖3所示。
圖3 模型驅(qū)動(dòng)開(kāi)發(fā)過(guò)程與服務(wù)組合對(duì)應(yīng)關(guān)系圖
采用MDA開(kāi)發(fā)基于SOA的指揮信息系統(tǒng)的突出優(yōu)點(diǎn)是在需求或環(huán)境改變時(shí),系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)人員能夠更新模型間的轉(zhuǎn)換規(guī)則和再次執(zhí)行模型轉(zhuǎn)換得到滿(mǎn)足需求的新系統(tǒng),而不需要去特意改變或?qū)IM和PIM重新建模,因?yàn)檫@些模型都是經(jīng)由模型轉(zhuǎn)換得到的。MDA通過(guò)這種方式應(yīng)對(duì)系統(tǒng)需求和運(yùn)行環(huán)境的變化。
總之,模型驅(qū)動(dòng)的開(kāi)發(fā)注重各種模型的抽象與轉(zhuǎn)換、代碼與系統(tǒng)的自動(dòng)生成,而SOA強(qiáng)調(diào)軍事信息服務(wù)的建模和服務(wù)組合。和經(jīng)典構(gòu)建方法相比,基于SOA和MDA的指揮信息系統(tǒng)構(gòu)建方法具有以下特點(diǎn):
1)支持全過(guò)程的服務(wù)復(fù)用。結(jié)合指揮信息系統(tǒng)的具體領(lǐng)域,基于SOA的系統(tǒng)需求分析與作戰(zhàn)流程設(shè)計(jì),能夠?qū)崿F(xiàn)各種粒度資源和服務(wù)的重用。將服務(wù)作為中間件標(biāo)準(zhǔn),采用服務(wù)組合和復(fù)用對(duì)系統(tǒng)進(jìn)行集成設(shè)計(jì)和構(gòu)建,動(dòng)態(tài)服務(wù)組合成為構(gòu)建指揮信息系統(tǒng)的流行方法;
2)以作戰(zhàn)流程為核心,采用SOA和P2P對(duì)系統(tǒng)的體系結(jié)構(gòu)框架進(jìn)行設(shè)計(jì),可以適應(yīng)系統(tǒng)需求與環(huán)境的動(dòng)態(tài)變化和復(fù)雜軍用通信環(huán)境下服務(wù)的異構(gòu)性;
3)基于MDA和模型轉(zhuǎn)換實(shí)現(xiàn)系統(tǒng)的開(kāi)發(fā)和自動(dòng)生成。模型作為系統(tǒng)開(kāi)發(fā)的核心概念并在整個(gè)過(guò)程中被有效保持,能克服實(shí)現(xiàn)技術(shù)平臺(tái)多樣化、轉(zhuǎn)換規(guī)則復(fù)雜等問(wèn)題;
4)系統(tǒng)的設(shè)計(jì)處處考慮到了的可擴(kuò)展性和可靠性原則,如物理視角采用P2P模式和多服務(wù)注冊(cè)中心,模型轉(zhuǎn)換采用自動(dòng)轉(zhuǎn)換方法,自動(dòng)服務(wù)組合方法是動(dòng)態(tài)的和使用QoS動(dòng)態(tài)變化的服務(wù)選擇優(yōu)化算法。
綜合利用SOA和MDA的優(yōu)點(diǎn),提出了一種新的指揮信息系統(tǒng)構(gòu)建方法。它在SOA和Web服務(wù)的基礎(chǔ)上引入了軍事信息服務(wù)的定義,接著設(shè)計(jì)了以服務(wù)組合為中心的系統(tǒng)集成框架,給出了系統(tǒng)迭代式生命周期過(guò)程,闡述了模型驅(qū)動(dòng)開(kāi)發(fā)過(guò)程與服務(wù)組合的對(duì)應(yīng)關(guān)系,通過(guò)對(duì)新構(gòu)建方法的總結(jié)分析,可以看出該方法構(gòu)建的系統(tǒng)不僅能快速地進(jìn)行柔性重構(gòu),以適應(yīng)戰(zhàn)場(chǎng)情況和部隊(duì)編成的迅速變化,還能通過(guò)服務(wù)封裝,促進(jìn)異構(gòu)系統(tǒng)集成。同時(shí)MDA還能提升系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)的層次,提高系統(tǒng)開(kāi)發(fā)效率和效益。下一步是與某型指揮信息系統(tǒng)相結(jié)合,給出具體的構(gòu)建過(guò)程和系統(tǒng)。
[1]趙恒,王振宇.SOA在海戰(zhàn)場(chǎng)綜合電子信息系統(tǒng)中應(yīng)用的構(gòu)想[J].艦船科學(xué)技術(shù),2006,28(6):17-21.
[2]聶凱,汪厚祥,井小沛,等.面向服務(wù)的海戰(zhàn)場(chǎng)指揮信息系統(tǒng)體系結(jié)構(gòu)框架[J].現(xiàn)代防御技術(shù),2013,41(3):88-94.
[3]郭勇.構(gòu)建面向服務(wù)(SOA)的軍事信息系統(tǒng)[J].艦船電子工程,2010,30(9):5-9.
[4]沈濤,周曼,周榮坤,等.面向服務(wù)的綜合電子信息系統(tǒng)軟件策略[J].中國(guó)電子科學(xué)研究院學(xué)報(bào),2008,3(2):158-164.
[5]舒振,劉靜,羅雪山,等.軍事信息服務(wù)的概念體系及其應(yīng)用[J].火力與指揮控制,2010,35(9):53-57.
[6]周曉明,初寧.指揮控制系統(tǒng)服務(wù)化研究[J].指揮控制與仿真,2010,32(3):12-14.
[7]王圣東,王全勝,劉鏑.Web服務(wù)在基于P2P架構(gòu)的綜合電子信息系統(tǒng)中的應(yīng)用[J].指揮控制與仿真,2010,32(4):110-113.
[8]伍江華,吳輝,潘小群,等.海戰(zhàn)場(chǎng)C4ISR系統(tǒng)集成技術(shù)研究[J].艦船電子工程,2009,29(10):6-10.
[9]劉靜,何積豐,繆淮扣.模型驅(qū)動(dòng)架構(gòu)中模型構(gòu)造與集成策略[J].軟件學(xué)報(bào),2006,17(6):1411-1422.
[10]聶凱,汪厚祥,李永杰.面向服務(wù)的語(yǔ)義模型驅(qū)動(dòng)海戰(zhàn)場(chǎng)指揮信息系統(tǒng)建模方法[J].中南大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,44(9):3739-3745.