張 鵬,陳 彬,孟榮清,張烙兵,邱曉剛
(國防科技大學(xué)信息系統(tǒng)與管理學(xué)院,湖南長沙410073)
非常規(guī)突發(fā)事件應(yīng)急管理的研究已經(jīng)成為現(xiàn)代社會(huì)關(guān)注的一個(gè)重點(diǎn),合理利用應(yīng)急管理的研究成果能夠保證大量人員安全,避免巨大的經(jīng)濟(jì)損失[1]。為此,國家自然科學(xué)基金委員會(huì)于2009年啟動(dòng)了“非常規(guī)突發(fā)事件應(yīng)急管理研究”。范維澄院士的公共安全三角形理論[2]指出突發(fā)事件、承災(zāi)體和應(yīng)急管理是公共安全研究的主要內(nèi)容。根據(jù)王飛躍教授的ACP方法[3],可以建立一個(gè)虛擬的人工社會(huì)并進(jìn)行計(jì)算實(shí)驗(yàn),研究非常規(guī)突發(fā)事件的應(yīng)急管理問題。
結(jié)合公共安全三角形理論和ACP方法,國防科技大學(xué)邱曉剛課題組承擔(dān)了“基于平行應(yīng)急管理的非常規(guī)突發(fā)事件動(dòng)態(tài)模擬與計(jì)算實(shí)驗(yàn)集成升華平臺”的研究。平臺建設(shè)需要解決三大關(guān)鍵技術(shù)問題:人工社會(huì)人口地理基礎(chǔ)數(shù)據(jù)的生成、多領(lǐng)域應(yīng)急管理模型的開發(fā)與管理、千萬級人口的大規(guī)模并行仿真。
本文旨在解決面向應(yīng)急管理的多領(lǐng)域模型構(gòu)建與模型管理問題。針對多領(lǐng)域模型的構(gòu)建問題,提出了基于領(lǐng)域特定建模(Domain Specific Modeling,DSM)的人工社會(huì)建模方法,并研究了模型的代碼生成技術(shù)。針對多領(lǐng)域模型的管理問題,通過模型形式化描述和模型編碼實(shí)現(xiàn)了模型的高效管理和部署。
面向應(yīng)急管理的計(jì)算實(shí)驗(yàn)以人工社會(huì)為基礎(chǔ),通過加載突發(fā)事件和干預(yù)措施來實(shí)現(xiàn)對突發(fā)事件的應(yīng)急管理。根據(jù)公共安全三角形理論,模型體系主要包含人工社會(huì)基礎(chǔ)模型、突發(fā)事件模型和干預(yù)措施模型。如圖1所示,承災(zāi)體也是人工社會(huì)的重要組成部分,而突發(fā)事件和應(yīng)急管理構(gòu)成了“情景—應(yīng)對”的核心環(huán)節(jié)。
圖1 公共安全三角形理論與人工社會(huì)Fig.1 Public security triangular theory and artificial society
人工社會(huì)由一系列基礎(chǔ)模型組成,主要包含人口模型和環(huán)境模型[4]。人口是人工社會(huì)的基本元素,人口模型主要包含個(gè)體模型、關(guān)系網(wǎng)絡(luò)模型和行為日志模型。環(huán)境提供了人口活動(dòng)所需的基本條件,比如位置、空間和天氣等。環(huán)境模型包含建筑實(shí)體、氣候、交通等。
應(yīng)急管理模型能夠破壞人工社會(huì)的內(nèi)在平衡,它主要分為突發(fā)事件模型和干預(yù)模型。突發(fā)事件模型能夠影響系統(tǒng)的正常運(yùn)行狀態(tài),使人工社會(huì)呈現(xiàn)病態(tài)特征。干預(yù)模型能夠修正該狀態(tài)并確保人工社會(huì)的健康、有序運(yùn)行。
非常規(guī)突發(fā)事件的作用機(jī)理模式多變、涉及面廣,因此面向應(yīng)急管理的人工社會(huì)建模面臨以下困難和挑戰(zhàn)[5]:
(1)多學(xué)科多領(lǐng)域建模問題。人工社會(huì)模型體系涉及自然、人口和社會(huì)系統(tǒng),包含個(gè)體心理、行為等許多方面。由于層次多、節(jié)點(diǎn)多、關(guān)系復(fù)雜,難以用單一的形式化方法去描述,需要研究協(xié)調(diào)一致的多學(xué)科、多領(lǐng)域建模方法。
(2)多層次異質(zhì)模型綜合集成問題。非常規(guī)突發(fā)事件復(fù)雜多變,具有多層次、非線性、變尺度特征。因此,需要研究多層次、異質(zhì)模型的集成方法,支持面向應(yīng)急管理的計(jì)算實(shí)驗(yàn)。
面向應(yīng)急管理的計(jì)算實(shí)驗(yàn)涉及的模型種類眾多、層次復(fù)雜,模型管理需要解決以下問題:
(1)多領(lǐng)域、多層次模型的形式化描述問題。模型描述是進(jìn)行模型檢索、模型維護(hù)以及模型管理的基礎(chǔ),如何實(shí)現(xiàn)應(yīng)急管理模型的規(guī)范描述對于模型管理相當(dāng)重要。
(2)多批次、多樣本計(jì)算實(shí)驗(yàn)的模型管理與部署問題。面向應(yīng)急管理的計(jì)算實(shí)驗(yàn)涉及的模型種類多、數(shù)量大,模型的高效管理與部署直接影響計(jì)算實(shí)驗(yàn)的性能和效率。
DSM是領(lǐng)域特定軟件工程的核心,它包含兩方面內(nèi)容[6]:一是基于領(lǐng)域特定建模語言(Domain Specific Modeling Language,DSML)對領(lǐng)域問題進(jìn)行建模,采用領(lǐng)域特定概念體系來提高建模抽象層次;二是在領(lǐng)域特定模型的基礎(chǔ)上生成解決方案,提高系統(tǒng)產(chǎn)品的開發(fā)效率。利用元建模方法來構(gòu)建面向應(yīng)急管理的DSML,為人工社會(huì)的構(gòu)建提供建模支持。然后,基于DSML建立領(lǐng)域模型,通過代碼生成技術(shù)獲得可執(zhí)行程序,支持面向應(yīng)急管理的計(jì)算實(shí)驗(yàn)。
元模型用比較精確的語義來表達(dá)領(lǐng)域知識,加速了領(lǐng)域知識的積累[7]。元模型是DSML的載體,基于DSM的人工社會(huì)建模關(guān)鍵在于元模型的設(shè)計(jì)。下面以甲型H1N1公共衛(wèi)生事件應(yīng)急管理的元模型構(gòu)建為例進(jìn)行說明。
2.1.1 人工社會(huì)建模元素分析
人工社會(huì)基本建模元素主要有:個(gè)體(Agent)、事件(Event)、組織(Group)、環(huán)境(Environment)、交互(Interaction)。這些建模元素能夠刻畫人工社會(huì)的基本特征和運(yùn)行規(guī)律,比如人口、環(huán)境、資源以及相應(yīng)的行動(dòng)序列,它們的相互關(guān)系如下所示:
Agent能夠動(dòng)態(tài)加入不同的Group,并且扮演不同的社會(huì)角色;每個(gè)Group具有自己的結(jié)構(gòu)和特點(diǎn),并且能夠約束Agent的行為和角色;Environment為Agent活動(dòng)提供所需的地理服務(wù)、交通服務(wù)、天氣服務(wù)等;Event由一系列子事件組成,實(shí)體之間的Interaction由一系列的動(dòng)作組成,它們能夠演化出人工社會(huì)的多樣性和復(fù)雜性。
2.1.2 元模型設(shè)計(jì)
本文將利用通用建模環(huán)境(General Modeling Environment,GME)工具來設(shè)計(jì)元模型。GME具有以下優(yōu)點(diǎn)[8]:①提供了完整的元建模能力,包括抽象語法和具體語法;②提供了“所見即所得”的元模型編輯器;③具有規(guī)則和語義描述機(jī)制,具有模型檢查和模型轉(zhuǎn)換的能力。
如圖2所示,面向公共衛(wèi)生事件應(yīng)急管理的元模型主要包含人口元模型、環(huán)境元模型和應(yīng)急管理元模型。其中,應(yīng)急管理元模型中的疾病病程元模型刻畫了一般傳染病的主要特征以及演化規(guī)律。如圖3所示,病程元模型主要包含:疾病的病程狀態(tài)、病程持續(xù)時(shí)間以及病程狀態(tài)間的切換條件。
圖2 公共衛(wèi)生事件應(yīng)急管理的元模型體系Fig.2 Meta-models of public health emergency management
圖3 傳染病的病程元模型Fig.3 Meta-models of infectious disease course
其中,病程狀態(tài)(disease state atom)包含易感期、潛伏期、凸顯期、康復(fù)期、康復(fù)狀態(tài)、死亡六個(gè)狀態(tài);病程周期持續(xù)時(shí)間的分布參數(shù)(distribute)包含泊松分布、指數(shù)分布、威布爾分布等;病程的切換條件(disease state transfer)可以根據(jù)時(shí)間(time based)或感染狀態(tài)(infectivity based)確定。利用這些建模元素可以構(gòu)造出各種傳染病模型,比如SIR模型、SEIR模型。
同理,根據(jù)該方法可以設(shè)計(jì)人口元模型、環(huán)境元模型、活動(dòng)日志元模型以及干預(yù)措施元模型等?;谶@些元模型,可以構(gòu)建人工社會(huì)的建模語言,支持面向應(yīng)急管理的建模活動(dòng)。
2.2.1 模型建立
基于傳染病的病程元模型,可以構(gòu)建甲型H1N1的SEIR模型。如圖4所示,它包含易感期(susceptible)、潛伏期(incubation)、癥狀凸顯期(symptomatic)和康復(fù)期(recovering)四個(gè)階段。
圖4 甲型H1N1的SEIR模型Fig.4 SEIR models of H1N1 influenza
根據(jù)文獻(xiàn)[9],甲型H1N1的潛伏期持續(xù)時(shí)間服從形狀參數(shù)1.8、尺度參數(shù)1.21的威布爾分布,這個(gè)階段患者沒有癥狀;凸顯期持續(xù)時(shí)間服從平均數(shù)1.9、方差0.31的對數(shù)正態(tài)分布;康復(fù)期持續(xù)時(shí)間是染病時(shí)間的指數(shù)函數(shù),采用指數(shù)分布描述。填充相應(yīng)模型參數(shù),就得到甲型H1N1的疾病模型,它包含疾病病程以及各個(gè)階段的持續(xù)時(shí)間和傳染率。
同理,可以建立相應(yīng)的領(lǐng)域模型,比如人口、環(huán)境以及干預(yù)措施等。這些模型能夠共同刻畫人工社會(huì)的情景和應(yīng)急管理過程。
2.2.2 代碼生成
面向應(yīng)急管理的計(jì)算實(shí)驗(yàn)主要涉及三類人員:①領(lǐng)域?qū)<?,利用背景知識來描述領(lǐng)域問題,建立領(lǐng)域概念之間的聯(lián)系而不關(guān)心模型的具體實(shí)現(xiàn)過程[10];②建模人員,把概念模型變成形式化模型,研究模型的靜態(tài)特性和內(nèi)部作用機(jī)制;③仿真人員,將形式化模型變?yōu)榭蓤?zhí)行代碼,分析模型的運(yùn)行特性,研究人工社會(huì)的運(yùn)行特征。因此,建模人員利用元模型構(gòu)建的領(lǐng)域模型不能直接支持仿真執(zhí)行,還需要仿真人員通過代碼生成來獲得問題的解決方案。如圖5所示,領(lǐng)域模型通過代碼生成轉(zhuǎn)換為可執(zhí)行程序,它們能夠在并行仿真引擎上運(yùn)行,支持面向應(yīng)急管理的計(jì)算實(shí)驗(yàn)。
GME為用戶提供了BON代碼生成框架,該框架基于COM組件開發(fā),集成于GME主界面。BON提供了一系列的獲取元模型語法元素的功能函數(shù),表1列出了其中部分功能函數(shù)的作用。
圖5 代碼生成框架Fig.5 The framework of code generation
表1 BON框架中的主要函數(shù)Tab.1 The main function of BON framework
采用模板映射的方式進(jìn)行代碼生成,通過在BON框架下加入模板映射規(guī)則,就可以生成用戶所需的目標(biāo)代碼。映射規(guī)則根據(jù)不同元模型的特點(diǎn)來設(shè)計(jì),并盡量提取共同模式,增強(qiáng)代碼生成的通用性。其中,甲型H1N1模型生成的代碼包含了各個(gè)病程的持續(xù)時(shí)間、傳染概率和病程切換條件。生成的代碼加入引擎調(diào)度信息后可以支持仿真執(zhí)行,并用來研究甲型H1N1的疫情擴(kuò)散和防控措施。
基于DSM的人工社會(huì)構(gòu)建方法的合理性和科學(xué)性體現(xiàn)在以下幾方面:①應(yīng)急管理人員參與了元模型的設(shè)計(jì),使人工社會(huì)建模語言符合領(lǐng)域確切的建模需求;②適當(dāng)?shù)某橄髮哟窝谏w了系統(tǒng)中與領(lǐng)域無關(guān)的而與計(jì)算耦合很緊的具體細(xì)節(jié),讓領(lǐng)域人員把精力放在更重要的模型方面;③支持模型到代碼的自動(dòng)生成,降低了開發(fā)者的建模門檻,能夠方便快速建立起問題的解決方案。
當(dāng)然,該方法還有以下幾方面需要加強(qiáng)和完善。第一,人工社會(huì)元模型體系需要不斷完善。目前,元模型的描述能力還相當(dāng)有限,因此必須確保元模型具備豐富的語義信息,能夠滿足不斷增長的領(lǐng)域建模需求。第二,代碼自動(dòng)生成功能需要加強(qiáng)。目前,生成的代碼還需要手工加入一些引擎調(diào)度的信息。在以后的工作,代碼生成框架將把這兩部分融合起來,使生成的代碼能夠直接支持仿真執(zhí)行。
在面向應(yīng)急管理的計(jì)算實(shí)驗(yàn)中,建立的領(lǐng)域模型需要進(jìn)行規(guī)范描述和有效管理,才能更好地支持仿真執(zhí)行。下面仍以甲型H1N1病程模型為例,論述模型的描述和管理方法。
模型描述是模型管理的基礎(chǔ),模型的描述主要分為兩個(gè)部分:一是模型的功能信息描述,二是模型的配置信息描述。功能信息描述主要用來刻畫模型的功能、接口和規(guī)范。配置信息描述主要描述模型所支持的人工社會(huì)情景以及與之匹配的驅(qū)動(dòng)數(shù)據(jù)等。
應(yīng)急管理計(jì)算實(shí)驗(yàn)是以人工社會(huì)初始情景為基礎(chǔ)的,因此模型描述信息除了其模型基本功能外,還包含所支持的人工社會(huì)情景等配置信息。比如,疾病模型的功能描述包含病程狀態(tài)、持續(xù)周期和切換條件等;配置信息描述包含了模型所支持的情景類型、與之匹配的人口地理數(shù)據(jù)以及運(yùn)行環(huán)境要求。
3.1.1 模型功能信息描述
模型功能信息一般采用形式化方法來描述。其中,常見的形式化方法包含:Petri網(wǎng)、事件圖、DEVS、UML和FSM等。下面以甲型H1N1疫情為例,利用FSM來形式化描述疾病的病程模型[11]。
表2 病程模型形式化描述Tab.2 Formal description of disease course model
如上所述,甲型H1N1的SEIR模型具有四個(gè)狀態(tài):易感狀態(tài)、潛伏狀態(tài)、感染狀態(tài)和康復(fù)狀態(tài)。它們之間的狀態(tài)遷移可以用FSM來描述,如表2所示。因?yàn)?,F(xiàn)SM中存在可數(shù)的狀態(tài),事件發(fā)生時(shí)系統(tǒng)從一個(gè)狀態(tài)轉(zhuǎn)換成另一個(gè)狀態(tài),從而構(gòu)造出系統(tǒng)的狀態(tài)遷移圖。
最后,可以把有限狀態(tài)機(jī)描述的疾病病程模型以文檔形式進(jìn)行保存。模型描述文檔的內(nèi)容包含:疾病的病程狀態(tài)、轉(zhuǎn)換條件以及每個(gè)階段的持續(xù)時(shí)間等信息。
3.1.2 模型配置信息描述
模型的配置信息主要描述模型的配置使用情況,它界定了模型所需要的驅(qū)動(dòng)數(shù)據(jù)、運(yùn)行環(huán)境和適用范圍等。如表3所示,疾病模型的配置信息包含模型所支持的人工社會(huì)初始情景、所需的人口地理初始化數(shù)據(jù)以及模型的運(yùn)行環(huán)境要求等情況。
表3 疾病模型配置信息描述Tab.3 Con Figuration information description of disease course model
3.2.1 模型的編碼
模型編碼是按照一定規(guī)則對模型的唯一標(biāo)識,是實(shí)現(xiàn)模型管理的基礎(chǔ)。編碼規(guī)則一般根據(jù)應(yīng)用領(lǐng)域和模型類別來確定,人工社會(huì)模型必須按照編碼規(guī)則進(jìn)行統(tǒng)一編碼。
如圖6所示,采用8位阿拉伯?dāng)?shù)字對人工社會(huì)模型進(jìn)行編碼,每兩位表示1個(gè)字段,一共4個(gè)字段。每個(gè)字段代表模型在編碼體系中所處的層次,第一個(gè)字段表示模型的類別,第二字段表示模型的領(lǐng)域,第三字段表示模型具體的實(shí)體類別,第四字段表示模型的實(shí)體編號。例如,公共衛(wèi)生事件應(yīng)急管理中的隔離措施模型表示為03010204。其中,“030102”表示“應(yīng)急措施模型”下面的“公共衛(wèi)生措施”模型中的“非藥物干擾”模型;“04”表示非藥物干擾模型中自定義的隔離措施模型。
3.2.2 模型的管理
在面向應(yīng)急管理的計(jì)算實(shí)驗(yàn)中,模型的動(dòng)態(tài)管理主要包含以下方面:
(1)版本管理。建模是一個(gè)不斷深入的過程,會(huì)形成不同的仿真模型版本,需要對模型版本信息進(jìn)行管理。
(2)權(quán)限管理。主要對不同角色人員的模型操作權(quán)限進(jìn)行限制,確保模型的安全性和可維護(hù)性。
(3)配置管理。根據(jù)模型配置信息,能夠有效組織模型及其運(yùn)行所需的其他資源,完成仿真部署。
在進(jìn)行計(jì)算實(shí)驗(yàn)時(shí),根據(jù)“模型編碼”對模型進(jìn)行標(biāo)識和檢索,利用“模型功能描述”進(jìn)行模型的組合與裝配,并根據(jù)“模型配置信息”實(shí)現(xiàn)模型的部署和應(yīng)用。
圖6 面向應(yīng)急管理的人工社會(huì)模型編碼Fig.6 Model encoding of artificial society models oriented to emergency management
論文提出了基于DSM的人工社會(huì)建模方法,設(shè)計(jì)了面向應(yīng)急管理的元模型,研究了代碼生成技術(shù),并討論了模型的描述、編碼和管理問題。論文具有一定的創(chuàng)新性和實(shí)用價(jià)值,但是還有幾方面的工作需要加強(qiáng):一是不斷完善DSML的設(shè)計(jì),更好地為人工社會(huì)建模提供支持;二是完善代碼生成框架,提高代碼生成的有效性;三是進(jìn)一步加強(qiáng)模型的規(guī)范描述和高效管理,為計(jì)算實(shí)驗(yàn)提供更好的模型服務(wù)。
References)
[1]鐘永光,毛中根,翁文國,等.非常規(guī)突發(fā)事件應(yīng)急管理研究進(jìn)展[J].系統(tǒng)工程理論與實(shí)踐,2012,32(5):911-918.ZHONG Yongguang,MAO Zhonggen,WENG Wenguo,et al.Process of study on unconventional emergencies management[J].Systems Engineering—Theory&Practice,2012,32(5):911-918.(in Chinese)
[2]范維澄,劉奕,翁文國.公共安全科技的“三角形”框架與“4+1”方法學(xué)[J].科技導(dǎo)報(bào),2009(6):3.FAN Weicheng,LIU Yi,WENG Wenguo.Triangular framework and“4+1”methodology for public security science and technology[J].Science&Technology Review,2009(6):3.(in Chinese)
[3]Wang F.Artificial societies,computational experiments,and parallel systems:a discussion on computational theory of complex social economic systems[J].Complex Systems and Complexity Science,2004,1(4):25-35.
[4]葛淵崢.基于AGENT的人工社會(huì)框架設(shè)計(jì)與生成方法[D].長沙:國防科學(xué)技術(shù)大學(xué),2014.GE Yuanzheng.An AGENT-based framework and generation of an artificial society[D].Changsha:National University of Defense Technology,2014.(in Chinese)
[5]陳彬,邱曉剛,郭剛.多范式人工社會(huì)建模與多智能體仿真平臺框架[J].系統(tǒng)仿真學(xué)報(bào),2011,23(8):1702-1707.CHEN Bin,QIU Xiaogang,GUO Gang.Multi-paradigm artificial society modeling and multi-agent simulation platform framework[J].Journal of System Simulation,2011,23(8):1702-1707.(in Chinese)
[6]李曉波.基于DSM的效能仿真多范式組合建模方法研究[D].長沙:國防科學(xué)技術(shù)大學(xué),2013.LI Xiaobo.A DSM-based multi-paradigm composable modeling method for effectiveness simulation[D].Changsha:National University of Defense Technology,2013.(in Chinese)
[7]劉輝,麻志毅,邵維忠.元建模技術(shù)研究進(jìn)展[J].軟件學(xué)報(bào),2008,19(6):1317-1327.LIU Hui,MA Zhiyi,SHAO Weizhong.Process of research on meta-modeling[J].Journal of software,2008,19(6):1317-1327.(in Chinese)
[8]Hoyos J R,García-Molina J,Botía J A.A domain-specific language for context modeling in context-aware systems[J].Journal of Systems and Software,2013,86(11):2890-2905.
[9]Brouwers L,Cakici B,Camitz M,et al.Economic consequences to society of pandemic H1N1 influenza 2009—preliminary results for Sweden[J].Euro Surveill,2009,14(37):1-7.
[10]謝文才,羅雪山,羅愛民.基于元模型的軍事信息系統(tǒng)體系結(jié)構(gòu)建模方法[J].國防科技大學(xué)學(xué)報(bào),2012,34(1):82-87.XIE Wencai,LUO Xueshan,LUO Aimin.Meta-model based modeling of military information system architecture[J].Journal of National University of Defense Technology,2012,34(1):82-87.(in Chinese)
[11]段偉.基于異質(zhì)隨機(jī)Agent模型的疾病傳播建模與計(jì)算實(shí)驗(yàn)[D].長沙:國防科學(xué)技術(shù)大學(xué),2014.DUAN Wei.Heterogeneous and stochastic agent based models and computational experiments for the spread of infectious disease[D].Changsha:National University of Defense Technology,2014.(in Chinese)