欢迎访问一起赢论文辅导网
本站动态
联系我们
 
 
 
 
 
 
 
 
 
 
 
QQ:3949358033

工作时间:9:00-24:00
SCI期刊论文
当前位置:首页 > SCI期刊论文
同步语言多线程代码生成的语义保持证明方法_袁胜浩
来源:一起赢论文网     日期:2021-03-06     浏览数:1907     【 字体:

 第4 3 卷第1 1 期2 0 2 0 年1 1 月计算机学报CH I N E SEJ O UR N ALOF CO MP U TE RSVo l .4 3N o. 1 1No v. 2 0 2 0同步语言多线程代码生成的语义保持证明方法袁胜浩n杨志斌°’2)张博林"周勇D薛fBO DE L E IXJ e a n- P au lJ ,F I LA L IM amo u n' 1"( 南京航空航天大学计箅机科学与技术学院南京2 1 1 1 0 6 )& ( 高安全系统的软件开发与验证技术工信部重点实验室南京2 1 1 1 0 6 )( 上海航天电子技术研究所上海2 0 1 1 0 9 )"( I RI T- U n i v er s it y  o fTo u l o u se , T o u l o u s e3 1 0 6 2Fr a n c e )摘要同步语言具有确定性并行和精确时间语义等特性, 因此被广泛用于设计和验证安全关键软件. 随着安全关键领域应用多核处理器逐渐成为趋势, 同步语言的多线程代码生成及其语义保持证明研究成为研究热点. 目前,已有同步语言代码生成方法还较少考虑多线程代码生成的语义保持证明. 因此, 本文提出一种同步语言SI GN A L多线程代码生成的语义保持证明方法: 首先形式化定义编译过程中源、目标、中间语言的结构化操作语义; 其次形式化定义多线程代码生成过程; 最后基于互模拟等价思想证明编译前后的语义一致性.关键词同步语言; 安全关键软件; 多任务代码生成; 语义保持证明; C oq中图法分类号 TP3 1 1DOI号1 0. 1 1 8 9 7 / SP. J . 1 0 1 6.  2 0 2 0 . 0 2 2 1 6ASema nt icPreservationP ro vin gMe th odofMul ti-Th readedCodeGen er ati on forSync hron ousL an g uag eYUAN Sh e n g- Ha ouY AN G Zh i- B i n1 K 2 )ZH A N GBo- L i n1 )Z HO UYong1 1X UELe i3 )B OD EV EIXJ ea n- Pa u l4 )F I LA LIMa mo un4 1]){ Co l leg eof Co m pu t er S ci en ce a n d Tech no l og y* Na n jingUn ivers i ty  ofA er on a u ti cs a n dAs t ro n a u t ics  , Na njin g2 1 1 1 0 6 )2 )( K ey La bo ra t o ry o fSa fet y-C ri t ic a lSoftwa re ^ Min is try of I n du s tr y a nd I n fo r ma ti o nT ec h n o lo gy  iNa nji ng2 1 1 1 0 6 )(. S ha n gh a iA e ro s pa ceEl e ct ron i c Te ch n ol o gy In s t i t u t e -,Sh a ngh a i2 0 1 1 0 9 )” ( IR I T- Un ive rs i t y o fT ou l o u s e , To u lo u s e3 1 0 6 2 , Fra n ce )Abs t ractSa f e ty-c r i ti ca l so f t w a r ei s w id e l yus edi nt h efi e l dso fa v io ni c s , sp a ces ys te ms ?a n dn u c l e ar po we rpl a n t s :Ma l f un c ti on sof s a fe t y-c r i t ic a lso f twa r e c a nl e ad to a cc i de nt st ha tc a npo te nt ia l l ypu tp eopl e ,e n vi ro nm ent ,pr op er ty ,a ndm i s sio ni ns er i ous r isk ssuch a se n vir onme nt a lca ta s tr o ph es  an d los s of li ves.S yn chron ous La ng u ag es a r e ad opt ed for t he des ign a nd th eve ri fi c a ti o nof s a f et y- cr i t i ca l s oft w a r e ,du et ot he i rch a r a c t e r i s t i c f ea t u r es ,f or i n s t a nc et h ede s c r i pt io no fd ete rmi ni s ti c conc ur r e ncy beh avi or sa ndpr e ci s et im in gs e ma nt ic s.Rec en t l y ,s a fe ty- cr i ti c al d oma i nsh a vee v ol ve dt o us ehi g hco mpu t a t i on pe r fo rma nc ep ro vi de db ymu l t i co r ep l a tf orms  to i mp l em en tmor e c om pl e xf un cti ona lit y.Th e r efor e t he m ul ti-t hr e ad edcodeg en er a tio na pp roac hfor  syn chron ousl a ng ua g es a n dr e l a te ds ema n t i cp re s e rv at i onp ro of h a ve be e nr e s e a r chh ot s pot s .H ow eve r , t h e收稿日期: 2 0 19 - l l - 24; 在线发布日期:2 0 2 0 - 0 8- l l ■ 本课题得到国家自然科学基金( 6 1 5 02 2 3 1 ) 、航空科学基金( 2 0 1 9 1 90 52 00 2 )、G F 基础科研重点项目( J CK Y 20 1 6 20 3B0 1 1 )、中央高校基本科研业务费专项资金资助( N P 2 0 1 7 2 0 5 ) 、南京航空航天大学研究生创新基地( 实验室) 开放基金( k扭2 0 1 8 1 60 3 ) 资助. 袁胜浩, 硕士研究生, 中国计算机学会( CCF) 学生会员, 主要研究方向为彤式化方法、定理证明. E- mai l :s h y-ua n@ mi aa . e d u . cn . 杨志斌( 通信作者) , 博士, 副教授, 中国计算机学会( COF ) 会员, 主要研究方向为安全关键软件、形式化验证. E- ma il:y angz h i b i n l 6 8 @ 1 6 3 . com. 张博林, 硕士研究生, 中国计算机学会( CC F) 学生会员, 主要研究方向为模型验证、软件工程. 周勇, 博士, 副教授, 中国计算机学会( CCF) 会员, 研究方向为软件工程、形式化方法等. 薛垒, 硕士, 髙级工程师, 研究方向力嵌入式软件验证、嵌人式软件系统设计. BOD EVEIXJ ea n ̄Paul , 博士, 教授, 研究领域为实时系统、形式方法. FIL ALI Mamo u n , 博士, 高级研究员, 研究领域为实时系统、形式方法.1 1 期袁胜浩等: 同步语言多线程代码生成的语义保持证明方法2 2 1 7e x is t i ngs tu di e so n syn ch ron o us l a ng ua ge s ma i n l yc onc e rn t h e s e ma n t i cpr e s er va t io nof s e q ue n t i a lco deg e ne ra t ion f r omsyn ch ro no us l an gu a ge s . Suc ha s t h ev er i f i e dsy nc h ron ou sl a n gu a ge Lu s t r eco mp i le r V el u s su pp or t ss eq ue nt i a l C cod eg en e r a t io n , th e ve r i fi e dLu s t r e com pi l e r L 2Ct r a n sl a t esL us t r emo de l s t o Cl i gh tp ro gra m s w h i ch c an b e con s id e re d a s  t he i n pu tof t he Com pCe r t c om pi l e ra n d th etr a ns l a t ion va li da t i on ap p r oa chi sus e dtove r i f yth e t r a ns fo rma t io ns t e psf romth esy n ch ro no u sl a n g ua ge SI G N AL t o se qu en t i a lCcod e .Th e ypa ya l i t tl ea t t en t io nt ot h e se ma n t icpr es er v a ti on of m ul ti-t h r e ad e dco de ge n er a t i on .A s m u l ti- co r ep roc e s sor s gr a du a l l yb e com e wi d el yus e di nsa f e ty- c r i t i c a ls y s t e ms ,i t i sn e ce s s a ryt oco n s i d er th es e ma n t ic pr e s er va ti o no fm u l ti?t hr e a de dco dege ne r a ti on a pp roa c h for syn c hro no usl a ng u ag e s .T h er e f or e ,t h i spa pe r p r e s e n t s av e r i fi ed m ul t i-t h re a de dco deg en er at i on me t ho df or t h es yn c h ro no us  l a ng ua g eSI G N A L.F i r st l y ,ac om monSI G N AL s ubs e tw hi c hi sc omp a ti b l ew i th tw oe xi s ti n gSI G N A Lco mp i l e r sPo l ych ro nya n dMi n i SIG N AL , i ss e l e c t ed a s t h es t artp oi n tt o con s i d er t h epro of of  s e ma nt i cp re s erv a ti on oft h em u l ti-t hr e a d edcod eg en e ra t io np roc es sa n di t sfor ma ls yn ta x and s tr uc t ur a lo pe ra t i on als e ma nt i cs ( b as e d on t ra n s i t io n sy s t em s )i spro pos e d ;S e co nd l y ?t he c l ock  c a l cu l u spro ce du re i sf orma ll y def i nedt og ene r a te c loc ke dS IG N A Lprog ram s f rom  sour c eS I GN ALm ode ls , t hepro ced ur ec on s i s t s of t h eform a l de fi n it ion of t h ee x t r ac t io n fu nc t i on ofc l oc k re l at i on sa n dcon s t r uc t io nf u nc ti o n o f c la u s es et s ,t he fo rma l d es cr i p ti o no fs ol vi n gc l o ck eq ua t i ons s yst e ma n dt h e de f in i t io nof t hec l oc kd e pe n de nc ygr ap h ,t he o p er a t i on a l s e ma n ti c so fc lo ck e dSI GN A Ls t ruc t ur e isa l soco n s t ruc t ed a cc or di ng t ot h e tr an s it i on sy s t e ms of so ur c e SIG N A Lmo de l s a ndt h er e su l tof t h ec lo ck  cal cu l u s p r oce du r e ;Th i rdl y , a na b s t r ac tC-li k e s u bs e ts t ru ct u r e is c on si d er edast h et a rg etl ang uage andi ts f orma ldef ini ti on a s wel la s th eoper a tio na l sema nt i cs a r ep rop os ed ,t h et ran sf or mat i o ns t epfrom c loc ke dS IGN AL pro gr am s tot arg et C-l ik es ubs et code con ta in st woi mpo rta nt f unc ti ons :t h ec omp ut a t io n f un ct io na ndt he me mor yup da t e fu nc t i on . T he s em an t i csco ns i s t e n cy of t het ra n s for ma t io ns t ep( n a me dc l ock e dS I G N AL 2 C )i n c l u d esth eproo fo ft w od i r ec t i on s :fro mcl o ck ed SIG N A L t oCli ke a n d f romC-l i k et o cl o ck ed SI G N A Lw h i ch co r r e spo nd to t wol e mma s .Co n si de r i ng th ep roofp r oc e s s esof t w ol em ma s a r e s i m ila r ,t h i s p a pe r m a i nl yi n tr od uc e s th e f i r s tl em ma , i. e .c l oc k ed SI G N AL2 Cs a t is f ie st h eu ni di r ec t i ona l b is i mu l a ti oneq ui va le n tr e l at i on .Fi n a l l y ,a th eo r e ma bo ut t h ese ma n ti c sc on s i s t e n cyof t he t ra ns for ma t i ons te pi s pr ove dt og u a ran t e e t hes ema n ti cco n s i st e nc ybe t wee n t h eSI G N ALprog ra maf t e rcl o ckc a l cu l u sa n dt het a rg e tCp rogr a m a f t er  t r a ns l at io n ba s edon t he bi s im ul a t i on equ i va l e nt r e l at i on .Ke yword ss yn ch ro no usl a ng ua g e ; s a fe t y- cr it i ca l so ft wa r e ;m ul t i-t h r ea de dc od eg e n era t i on ;s em a nt i cp r e s er va t io n ;Coqi 引言安全关键软件( Saf e t y- Cri t i ca lSof twa r e )[1] 是指应用于航空、航天、交通、能源等领域的安全关键系统中, 且其运行情况可能引起系统处于危险状态,从而导致财产损失、环境破坏或者人员伤害的一类软件. 近年来, 模型驱动( Mod el- Dri ven ) 尤其是采用形式化模型驱动的安全关键软件设计与开发方法逐渐受到重视, 并被工业界认为是切实可行的重要手段. 其中, 同步语言是一种被广泛用于设计和验证安全关键软件的形式化语言. 例如, 空客使用SCAD E?( 即同步语言LU ST RE[3] 的工业界版本) 对A 3 8 0 的飞控子系统进行建模和代码生成.目前主流的同步语言有ESTERELW、LUST RE、SIGN AL[5]、(31^\1^'2[ 6 ] 等? 其中ESTEREL 、LUSTRE以及QUARTZ 采用纯同步模式( Pe rfe ct Sy nch rony ) ,即存在一个全局时钟( 单时钟) , 而SIGN AL 采用多态同步模式( Pol ych ro ny ) , 即多时钟, 能够更自然更方便地表达分布式系统. 随着多核处理器的不断发展, 嵌人式系统设计人员更多关注多态同步模式.2 2 1 8 计算机学报 2 0 2 0年现有S IG NA L 编译器P 〇l y C hr〇ny[7- 8] 主要支持串行代码生成和仿真分析, 较少考虑在多核处理器上的多任务代码生成. 在文献[9 -1 1] 中, 我们提出了一个面向多核平台的多线程代码生成工具M i ni S I G N A L ,同时支持生成串行、多线程程序.诸多安全关键领域标准( 如DO - 3 3 0 ) 规定安全关键软件的开发工具本身必须经过验证, 但目前Po l yc h ron y 和Mi n iS I G N A L 的多线程代码生成过程中较少考虑语义一致性( 即语义保持) 的形式化证明. 在前期研究[9 1 1 ] 的基础上, 本文进一步研究并提出一种同步语言S IG N AL 多线程代码生成的语义保持证明方法. 该方法主要包括:( 1 ) 形式化定义编译过程中多种语言的结构化操作语义;( 2 ) 形式化定义多线程代码生成各个阶段的翻译函数;( 3 ) 基于互模拟等价思想证明编译前后的语义一致性.本文第2 节介绍Mi n iSIG NAL 代码生成工具;第3 节给出SI GN AL 多线程代码生成核心编译过程的语义保持证明方法; 第4 节介绍相关工作; 第5节是本文的总结和展望.2Min i SI GNAL简介本节首先介绍M i ni S IG N A L 的模块化编译过程, 然后介绍SI G N A L 多线程代码生成核心步骤的语义保持证明框架.2. 1Mi n iS IGNAL 模块化编译过程M i ni S IG N A L 是一个同步语言S I G N A L 的多任务代码生成工具, 整个工具使用函数式编程语言O Ca ml 实现. 本文简要给出M i ni S IG N A L 多线程代码生成的基本步骤( 见图1 ) . 详细见文献[ 1 0] .( 1 ) 词法语法分析. 支持对用户输人的u S IGN AL程序进行词法语法分析;( 2 ) 程序标准化. 将uSI G N A L 程序中扩展结构转换为基本结构, 以及将复合结构转换为基本结构.标准化后的程序只包括基本结构( 称为kS I G N A L程序) ;( 3 )S - CG A 生成. 基于转换规则将kSI G N A L程序中基本结构所表达的功能/ 时钟关系转换为S - CG A 中对应的卫式动作( 也称为守卫条件( 4 ) 时钟演算. 从S- CG A 程序中提取时钟关系等式, 并进行消解. 基于B DD/ SM T 计算时钟等价类并优化S - CGA 程序;( 5 ) 依赖分析. 分析卫式动作间的读写依赖关系, 生成数据依赖图CDDG ;( 6 ) 任务划分. 基于划分算法对依赖图进行划分, 生成的划分结果p ar ti t i on 表明了S - CG A 程序中的并行信息;( 7 ) 虚拟多线程代码生成. 基于划分结果, 将S - CG A 程序转换为虚拟多线程代码vmt ;( 8 ) 多线程代码生成. 根据虚拟多线程代码进一步生成多线程A da / C/J ava 程序.图1M iniSIG N AL 多线程代码生成模块化编译步骤其中, 中间语言S - CG A 和虚拟多线程结构等的形式语法语义分别基于定理证明工具Coq 进行形式化表示. 而程序标准化到S- CGA 的转换过程中的语义一致性也在定理证明器Co q 中证明[ 1 2].和Pol ych ron y 的编译步骤相比, Mi n iS I G NA L中新增S - CGA 生成和虚拟多线程结构: 前者用于支持M i ni SI GN A L 集成其它同步语言; 后者用于生成平台无关的多线程代码. 同时, 在任务划分阶段,M i n iS I GN A L 支持引入多种划分算法例如基于拓扑排序划分、基于流水线方式[ 1 ° ] 和基于RPDMA算法[ 1 3]等计算并行执行信息. 除代码生成外, Mi ni SI G N AL还将进一步支持仿真实验( 如S im ul i n k 程序) . 和形式化验证( 如UPP A A L 模型) 等.2 . 2S IGNA L 多线程代码生成语义保持证明框架由于P ol yc h ro n y 和Mi n iS I G N A L 的编译步骤有所差异, 因此本文在语义保持证明过程中, 选择了两者的公共子集( 如图2 所示) , 即时钟演算和( 多线程) 代码生成. 本文选择的源语言为SI GN A L 语言核心子集k S I GN A L , 该子集包括SI G NA L 语言中的基本结构、组合、局部声明等. 经时钟演算后生成的程序记为c l oc ke dS I GN A L 程序. 本文选择的目标语言为C 语言子集.图2SIG NAL 多线程代码生成语义保持证明袁胜浩等: 同步语言多线程代1 1 期 码生成的语 义保持 证明 方法 2 21 9SIG N A L 多线程代码生成语义保持证明框架包括如下步骤: 首先定义代码生成过程中间语言的操作语义( 基于标记变迁系统) , 具体包括kSI G N A L 、c l o ck ed S IG N A L 和目标C 语言子集; 其次形式化定义kS I G N A L 到目标程序的翻译过程, 包括时钟演算和c l 〇C ke dS I G N A L2 C 翻译函数; 最后基于互模拟等价关系证明翻译函数c l oc ke dSI G NA L2 C 保持c l oc k ed S IG N A L 和目标C 子集的语义一致性.需要注意的是, 选择kS I G N AL 的主要原因在于该子集包括了 SI G N A L 语言的基本表达能力, 便于后续验证编译器工作的开展, 但我们计划逐步增加该子集的规模, 直到覆盖完整的SI G N AL 语言.而选择C 子集作为目标语言的主要原因在于计划将生成的多线程C 程序进一步经过可信编译器C om pos i ti o na lCom pCe r t[ 1 4] 编译生成机器指令. 此外, 本文将依赖分析、任务划分和代码生成阶段抽象为c l oc ke d S I G N A L2 C翻译函数.3 多线程代码生成语义保持证明方法本节首先给出kS I GN A L 的形式语法和形式语义; 其次给出时钟演算的形式化描述并构造cl oc kedSI GN A L 形式语义; 然后形式化定义c lo ck e d-S IG NA L2 C 编译过程和C 子集的形式语义; 最后基于互模拟等价思想证明cl o ck e dS I NG A L 2 C 过程的语义一致性.3. 1kS IGNAL3 .1 . 1kS I G N A L 形式语法SI GN AL 是一种声明式数据流同步语言. SIGNAL语言中定义了一种带类型的无限长的值序列, 称为信号( s ig na l ) . 在给定逻辑时刻下, 信号可以是“存在”状态并携带对应的数值, 或者是“ 缺失” 状态, 记为丄.信号x 的逻辑时钟( i ) 为信号存在状态对应逻辑时刻组成的集合. 在S IG N A L 中, 两个信号同步当且仅当其逻辑时钟相同.S IG N AL 的核心子集k S IG N A L 包括四类基本数据流结构、组合和局部声明, 其抽象语法定义为P: :=x ■=f( x i , — , x ? )|x := X i ¥i n it  c| x :=X iwh en xt| j: :=X ide f a ul t x2\ P \ P'\P/ x在语义保持证明过程中, 局部声明P /x 可以作为一类特殊的输出进行处理, 因此后续语义保持证明中将不考虑局部声明.3 . 1 .  2kS I GN A L 形式语义SI G N A L 语言具有多种形式语义, 如踪迹语义和标签模型语义[1 5] 等. 本文遵循Pl ot ki n 关于结构化操作语义的原则[1 6], 将kS I GN A L 的操作语义定义为一个标签变迁系统< S , A ,—> , 其中状态集S 中状态为进程P 所有可能状态, 标签A 对应进程P和外界环境的交互,—:S X A X S 为变迁规则. 约定变迁规则的记号为CS l> P -^S,> p'其中, S 〇P 和S' 分别表示进程P 的两个状态;〇: 6{ ?R e ce zX J , uaZ M e ) , S e”c ? ( 0 ) , r } 表亦进程P的动作; C 是与S> P、S'和〇有关的前置条件. 该记号表示在前置条件满足时, 进程P 可以在状态S下完成动作a 并变迁到Y 状态.首先, 进程P 的状态定义如下.定义1 . 状态. 进程P 的状态定义为逻辑时钟、信号变量、端口和基本进程执行标记的取值组成:S : T + P Vli r + { po r t , fla gp}->?S i rtwo -^ Va l ue^lBo o lea n ,其中, T 表示P 当前的逻辑时钟取值, 信号变量集合Pv w 表示在不同时钟下取值可能不同( 包括丄) ,/w r f 和/tog ,, 分别表示端口状态和进程P 中基本数据流等式的执行状态. P 的初始状态为S。厶{ 0 }U{ 切[ 了] : 丄I功6} U {P〇" :T ru e }U{ fla gi :F a l s e|  iGPs?} ■其次, 定义谓词前提.定义2 . 前提p reC. 在给定逻辑时刻丁下, 基本数据流等式的前提归纳定义为:( 1 ) preCUA( ( x, [ T ] ^l < /£n丄) ) ) 八(-1f o r , ) A yv <2 gv : = / (. ri;( 2 ) ^r eC1 ( x:=a ¥i ni tO A C a [ T ] 关丄) 八( 八[ z.]= 丄) ) A(-?/ J O " ) A ¥i ? i , c ;( 3 ) /^C2( x:= 々¥i ni t 。^ ( 々[了] 关丄) 八( V ( ?r 1 [ z'] _ 丄) ) A(->/ > 〇" )/ < 丁1( 4 ):=Xiw h en 6 ) 会( 々[ 了] # 丄) 八( 6 = T r u e) )A (->po rt }hfl agx :=XiVi h c n h \( 5 ) p reC1 ( x:二:* ^defa ul t x2 [了] 古丄) 八(-1po r t )Afl ag^ :  = S]Ma u U r2;( 6 ) /> reC2( x:= j:i defa ul t x2 ) 会( x ![ 了]^ 丄) 八2 2 2 0 计算机学报 2 0 2 0 年( x 2 [ T] 尹丄) 八(,po rt ) 八/teg,?id e f a ul l J_2.最后, 依次定义四类基本结构、组合操作和与环境交互的变迁规则. 其中外部不可见动作r 被忽略.基本结构设P 为瞬时函数: c := / ( 々, & ,…, x,,) , 则P的语义规则R l . 1 定义为S^=p re C( P)S> P^ S[ /( x, [ T] , ? ? ? , a-? [ T] ) / x [ T] ,.F a l s e / fla gp ^\ > P设i3 为延迟操作i :=x,¥in i t o 则P 的语义规则R l .  2 和R l . 3 分别定义为S \^ p reC '( P )S D> P -^ S [ c /x[ T] , Fa l s e/ /Za g'p ]  > P?S \= p reC2( P )S [> P-?- S [x i \_i ̄\ f x\_T ̄\ , ¥a . \ s ef fla gP ̄\ t> P其中,丨jc,  [ t'] ¥丄} ?设P 为条件采样:c  :=Aw he n6 , 则P 的语义规则R l . 4 定义为S^ pre C( P )S>P^ S[ x, [ T] / x [ T] ,  Fa l s e/ fla gp  ]t> P'设P 为确定性并发i:=pd ef a u l t x2 , 则P 的语义规则R l .  5 和R l .  6 分别定义为S \= pr eC l( P )S > P^ S[x, [T] / x[ T] , Fa l s e/ /Za g-p ] > P5S ^ pr eC 2(P )S >P^ S[ x2 [ T ] / x [ T] , Fa l s e / fla g,] >P'组合操作设P 为组合操作朽I P2 , 则P 的语义规则Rl . 7和R l. 8 分别定义为S > P,^ S,> P,S D>( P ,|P2 )—丨 |P2 )’S t > P2— S, > P2|P2 )—环境交互设p 的输出和输出变量集合分别为i■和6 , 进程P 和外部环境交互的语义规则R 1 . 9 和R 1 .1 0 分别定义为S (=/ > o r?S > PRec ei ve d I r va l u e)Fa l s e/ p o rt ] \> PS\_va lu e/ 1 , T rue /fla gP ,S |= (AC fl a gp-*( ̄i p reC C p ) ) )') A (—' p o rt )p ^ ps ,Se n d ( O')S> P> -S [T ru e/ p o r t , S uc c ( T) / T^\ > P以R l. 1 规则为例解释对应变迁规则的具体含义: 瞬时函数的语义规则表明当等式右侧所有变量在状态S 中都有值, 且该瞬时函数未被执行, 即对应标志位为Tme , 则将〇: 的值赋为运算符/作用下的取值, 且置对应/te g 为Fal s e.3 . 2cl ocked SIGNAL3 . 2 . 1 时钟演算c l oc k e dSI GN A L 程序是k SI G N A L 经过时钟演算后生成的, 因此本节在构造c l o ck e dS I G NA L 操作语义之前, 需要形式化定义时钟演算. 时钟演算的形式化描述具体包括:( 1 ) 形式化定义时钟关系抽取函数和子句集构造函数;( 2 ) 形式化表示求解时钟等式系统算法;( 3 ) 基于时钟等式系统Eg 定义时钟依赖图.kS I GN AL 的基本结构冋时包括功能关系和时钟关系, 时钟关系抽取函数0 ( P ) 用于计算出kS IG N A L 模型中的时钟关系. #( P ) 可根据进程P的结构归纳定义如下:( 1 ) 当尸=^: ^ / ( :^ ,…, x? ) 时: 必( xt / Oi ,…, 工? ) ) 会{?£?=?£?,■  | l < z< w } ;( 2 ) 当P= :c  :=而¥i n i t c时: 必0:= x ,¥i n i tc ) A{ x = i t } ;( 3 ) 当_P= :r  := j: i wh e n6 时: 必( x:=?!! wh e nA M ;( 4 ) 由P二:=JTid ef a ul t工2时: 必( 工:=工1d e fa u l tx 2=V i"2 } ;( 5 ) 当P = Pl  丨朽时: ^ 巧 |P2 ) 蠱#子句集构造函数用于将时钟关系等式进一步转换为对应子句集, 以便后续进行时钟演算.Cla u s e ( P )^ (U{ {—'x , x t } ,{—>i ;,  i-}} )U<.f =j .  ) 6 ^( />)( . T = :-, A 4) 6  ^ ( />)(U{ {-1 i-, X! , i 2 } ?{-li i  , i } , {-> i2 , i-} } ).< . 7 = .r| V .r^ )^ I*)形成的子句集记为同时, 后续时钟演算中涉及到子句集操作定义如下:函数PO S ⑴ , 表示变量在子句集D 中正出现的子句集; 同理iV£G( f 2 ,x/) A { cZ|■ u G cZ A£■/ £ ■?0 } 表7K t/ 在中负出现的子句集.集合{1;} | “ 6 尸〇5 (仏1 ; ) } 表示将w 正出现的子句集中减去W , JVE G,, 会{ cZ—{-Iw }丨袁胜浩等: 同步语言多线程代1 1 期 码生成 的语义保持证 明方法 2 22 1c / e iVEG C D d ) } 表示将t; 负出现的子句集中减去H.求解时钟等式系统算法描述了时钟演算的核心步骤, 根据输人的k SI G N A L 程序P 中的时钟关系,计算出所有有定义的时钟等式, 形成时钟等式方程Eg 并输出. 算法首先计算出子句集X2 并初始化有关变量( 第1 行) , 然后进入循环, 依次计算出所有有定义的时钟等式( 第3 ?1 2 行) : 如果子句集中存在空子句( 记为丨} 或0 ) , 则表示时钟关系中存在矛盾,报错并终止算法( 第3 行); 否则任选一个未定义变量I; ( 第5 行), 计算其对应的P〇S.JJVE G ,, 形成的新子句集, 新生成的子句集中永真子句被忽略( 第7行) , 其余子句添加到D 中( 第8 行) ; 最后将t ; 对应的时钟等式加人到中, 并在中删去与r 有关的子集. 当子句集为空时, 循环结束( 第2 行) , 并返回时钟等式方程Eg ( 第1 3 行) .算法1. 求解时钟等式系统算法.输人: k SI GNA L 进程P输出: 时钟等式方程Eg1. Q ^ Cla u s e C P )0 \ Eq?=02 . WH IL E S 7^ 0D O3.I F|=( A ( V e ) ) T HE NER R ORc e n4 .EL S E5 .s e l e ct a -y GP\ U r _ Defi Eq )6 .FOR EAC H〈h W e mS p X / VEG,DO7 .I F^M eT H EN SK I Pe ^ p v  s8 .EL SEa— a U ( P U iV )9 .E NDFO R1 0 .Eq:= E q [ j { v ^ (A( \M ) }c eSEG ,,*> e cn .a■■= a〇(j ( 〇- p〇s i a , v )- NEGi a , v ) )1 2 .  ENDW HIL E1 3 . R E TURNEq根据时钟等式系统e9 , 可按如下方式定义时钟依赖图〈V , £> :a ) V^D ef( Eq)  u { Pv. r- D ef ( Eq ) } ;( 2 ) £GV X V , 其中U , 巧〉E E 当且仅当至少以下条件之一成立:① 》丨, t;2 GDe/( £g0 并且存在叫6Eg  ( i丨6ri gh t ( eq )/\ v2 = l eft ( e q')');② 巧6—〇e/(Eg) , 巧6D e/() 并且存在e q & Eq , k ^: r i gh tX eq') Uz ^: vil \ vi=le ft i eq )') .其中{Pv.,, r— De /( f:9)} 记为根节点roo f , 函数Z e/i ( r f g/i Z ) 用于计算时钟等式eg 左侧变量( 右侧变量集合) .易证上述定义方式形成时钟依赖图为有向无环图, 以及具有根时钟.3 .  2 . 2cl o ck e dS I GN A L 形式语义基于kS IG NA L 语义对应的变迁系统〈S , A ,— >,c l ocke dSI GNAL 语义对应的变迁系统〈S', A ,—'> 定义为: S' 4 { \ U,6 Sa n d \ t= f^a n d.?;|= r oc ^ } 以及—, 会s, 2n —.其中叫 for  a l l 叫6 £? .c lo ck e dS I GN A L 语义定义表明, 只有当消解后的程序同时满足根节点存在且时钟等式方程约束时, 程序执行才有意义.3 . 3C 子集本节介绍一个包含源语言特性的C 语言子集作为目标语言, 并形式化定义c lo ck e dS IG NAL 到C之间翻译函数, 最后基于标签变迁系统定义所选C子集的形式语义.3 . 3 . 1C 子集形式语法首先, 选择的C 子集由三类条件语句和并发语句组成, 其抽象语法如下所示:Pc I ;= i f b i th en j:i :=e Y| i f b \ t he n XjS\  ; j t ?e l s ei f bz t h e nx3:=e3| i f bi t he nX ! :=e l s ei f b2 th e nx -i'■= e 2I eq | | eq其中,? 为变量, e,? 为表达式, 6,? 为布尔表达式.3 . 3 . 2c l ock e dS I G NA L2 C编译过程其次, 本文选择基本的任务划分算法[ 1 °], 其基本原则是每个基本结构对应于一个划分, 并转换为对应的目标线程. 这里本文将其抽象为c l oc k ed-S I G N A L 2 C 翻译函数, 该翻译函数由计算函数p ( P )和内存更新函数0 ( P ) 组成.根据c lo ck e d S I GN A L 程序P 的结构, <p (P) 归纳定义为:( 1  ) 当时::=/( 而,…,Ax,t he n X:= /( xi  , ? ? ?,) ;l <i< n( 2 ) 当 jP=x¥i ni t c 时: p ( :r¥i ni tr )A i fX, 八/ 7a gvth e nMe m. r:= c ;_ /7 a g _r  :=f a l s ee l s ei ft he nMem^ ■=x j ;( 3 ) 当P=xw h en 6时:95 ( _ r:=■!■!w h enfe ) A if ij 八6 th e nx:=工1 ;( 4 ) 当P =x:=;!:! defa u l t _r2 时:95 ( xde fa u lt-i i th en j::=X! el s ei f (—' i-!  ) Ait henx-=x >-,2 2 2 2 计算机学报 2 0 2 0 年( 5 ) 当时: 9^ ( e 9 ) ^ e9 ;( 6 ) 当13= 巧| 朽时: 9 3( 巧 |P2 ) A?3 ( P1 )| | f ( 朽) ?内存更新函数0( P ) 与延迟动作相关, 负责更新内存变量. 因此# ?? ) 定义为:( 1 ) 当■? =;! ::=_ri ¥i ni tc : 必( j::= x ! ¥ in i t c ) 4i f i:i t he nx ^ Mem^ ;( 2 ) 当P= P, |P2 :0( P, |P2 ) 么# 巧)I I # P2 ) .对于一个c lo c ke dSI G N A L 进程P , 其生成的命令式程序为Pr= P ( P ) + 0 ( P ) , 其执行顺序为每次计算函数结束后, 执行一次内存更新函数.3 . 3 . 3C 子集形式语义最后, C 子集的操作语义定义为变迁系统〈及,A ,—> , 状态沒民包括时钟、变量、内存变量和内存标志:s:T + {P Va r , P M> m } + { fl a gMr m,fla gP , po rt }t y〇 + Vi2 ZM e丄+ B o oZ ea w.特别地, c I ock SI G NA L 中变量是时钟到变量取值的函数映射空间, 而C 程序中变量直接取为当前时钟下的变量取值, 因此需要额外定义内存变量和内存标志用于记录历史数据. Sj初始状态u n : 丄卜e Pw U JVJ U{ v -.T rue \ v E fla gMr m\J flag P \J { po r t } } .类似地, 在定义C 子集变迁规则之前, 需归纳定义对应的谓词/> re c C :( 1 ) pr e c C( i fb j th e nx i-=e \ ) ^po r t )A by Afla g ;( 2 )pr ecC 1 ( if b it he n ?3^ 1*=£ \ ; X -z6 2e l s e i f b tt he n x3 :=e3 ) ^ (—ipo rt ) f\b\f\S\=^pre cC { \{ b\ t he nX \ -=ei)S > i fb xt h e ni= e\^ S \^e/ x ,?Fal s e //Z a^ i ( i t h en j !=f|]> i f 6, t he n j:, := e,设C程序为_ Pc=i f 6丨t h ena := 心; x2 :=〇el s e i f62t h en x3  :=e 3 , 则对应语义规则R2. 2 和R2 .  3 分别定义为S\^pr ecC l ( if b i t he n X\ ̄ ej ; x 2?= e2e l s e i f b 2 t he nx 3:= e3 )S>i f6it h e nx\ :=ex ; x2 *=e2’e ls e i f h-i th e nx 3 e3-^ S[ ei / j:i , e2 / x 2>i ft he n  j-j *=Cj j^21 -1*2 e^ s e ^^* ^ en  ^3!=<,i^^i fb\t h en X \ ,>:= £\ ; x ?6 2e l s ei f b2 t he n:=e 3Sj=pre cC2 ( i f b x t he n x x:=e x  ; x 2:=e 2el s e i fbt t h en x3 ? =e3 )SD >  i fb\ t h en x x :=e x ; x2 :=e2e l s e  if b t t h en x3'=e3^-S [e3 / x3 , Fa ls e / /'^^ i f 6ili ie n X!i =t,i[ X2.=^ e ]se i f 67 t h en j.: j, =t.3]if b \t h en X \ ?:=e \ j X2el s e i f b2t h e nx 3-=e3设C程序为P c =i f 6 1t h en X 〗:=合丨e l s e if &2t h en x 2:=, 则对应语义规则R2 . 4 和R2 . 5 分别定义为Sp re cC 1 ( i f b \ th e nx x :=el s e i f b2 t h en x te 2 )S>i fbxt h en X \ex’e l s ei fth e n x2/ :^ ,F al s e /th e n:=t*i e l se  if /,2 t h en  j*, : =(*2] 〉i fb \ t h en x iexel s e i f b2 t h en x 2:— e2ifth en  j-j> = cjj Jg1 = ,*o el s t'^2X31 =f3*( 3 )pr e cC 2 ( i f bx t he n x x:=ex ; x2 :=e 2  el s ei fb 2 th e nx z:= e3 ) ^ (->por t ) A( ̄* ^1 )A心2八■/',“ 尽 i f \t h e n j*i :i _ r9 *=f2 t'l se  i f  62 t h e n j:3:,( 4 ) pr ecC 1( i f 61 t he n x\:=e\ el s ei f b2 t he n工po r t ) f\ b\ f\i fth e n! =(*je l se i ft he n . t9iJ( 5 )pr e cC 2 ( i f b \ t he n x x:=e x el s e i f b2  th e n工t'=K , po r t 、t\b ' 、[ \A //ag i f6i, h en Ji! = <*|el se  i f b0t h e ni =e9*c 子集对应操作语义规则按如下方式定义:设C 程序为=匕t h e nX , :=A , 则对应语义规则R2 .  1 为Sp rec C 1 ( i fb it h en X i := e\e l s e i f bz t h en xz^=e{)S> i fbxt h en X \ :=e\?e l s ei f b2  th e n xz := e 2^ S \^ e 2 / x 2? F a l s e /fla S , uxth e n j-j*e l se  i f b9t h en  j-,:  ̄e^^i fb\ t h en X i:= exe ls ei f b2  th en x , ■= e2对于并发结构, 设C 程序为PC =P C 。| |PCl, 则对应语义规则R2 . 6 和R2 . 7 分别定义为S> P co^ S'> P c 〇S > Pc 〇| IP c^S'[> P c 0 | |Pc ,'SI >P c丨一>?_? (:!S > Pc0I I P c^S^ P c o I I  Pc ,'对于外部环境交互, 对应语义规则R 2 .8 和R 2 . 9 分别定义为1 1 期 袁胜浩等: 同步语言多线程代码生成的语义保持证明方法 2 2 2 3S\= po rtKv , va l u e )_?一> - ,?_S \> P^ S [^ va l ue / v9 Tru e/ fl agP  ]\> PA( fla gf>^(—t p rec C( p) ) ) ) A C ̄t p〇r t')# P5w_! ( v t val u e),?S > P> S [ J_/ P Var— P Mf m?T rue / po r t , Su cc C T) / T^\ O P注意c lo ck e dS IGN A L 中端口( p ort ) 等标记, 可以通过在实际物理设备上增加若干个从输出端口到输人端口的反馈信号来实现. 因此在语义保持证明过程中, 可以忽略c l oc k ed S IG N A L 语义中端口等标记对证明过程的影响.3 . 4 语义保持证明方法本节主要基于互模拟等价思想证明编译前后的语义一致性. 首先给出互模拟的定义, 其次介绍语义保持证明过程中的核心引理, 最后基于核心引理完成语义保持证明.定义3 . 互模拟. 令T S =〈S , A ,—> 为一个标记转换系统. 互模拟定义为一种关系i? Q S X S 使得, 如果〈…仏乂仏则对任意动作/^ 八…下关系成立:( 1 ) \/ q [  ( 91—^g l=>3q z ( g2^-q ? an dq [ R92 ) );( 2 ) Mq z  i qz- M *-q 2 =>3q [ ( gi — a n dq [ R 92 ) ) .如果上述关系有且只有一个被满足, 则称为单向模拟关系.由于cl ocked SIGNAL 操作语义是基于kS IGNAL操作语义构造而成, 易证时钟演算过程只存在单向模拟关系. 因此, 本节主要讨论cl oc ke dS I G N AL 2 C编译过程的语义保持证明.该过程语义保持证明主要涉及两类引理:引理1 .c l ock e dS I G N A L2 C 编译过程具有单向模拟关系( 1 ) .引理2 .c l ock e dSI G N A L2 C 编译过程具有单向模拟关系( 2 ) .引理1 和引理2 证明思路相似, 这里仅介绍前者的主要证明过程.证明( 引理1 ) .设P 为c l ock e dSI GN A L 程序, 对应操作语义为〈S , A ,—> , Pc 为经过翻译程序生成的目标程序, 对应操作语义为〈S c , A , ̄* > . 模拟关系rg s x sc 定义为〇, s c > e 尺当且仅当v 〇eh t; ) . 这里我们考虑程序内部执行过程( 不考虑和外部交互行为) , 因此变迁动作仅包括不可见动作r.假设〈9 1, <?2 〉6 尺, 且9i—9’1 :根据证明树的深度进行归纳证明, 按证明树上应用的最后一条规则进行分类讨论.情形1. 当应用语义规则Rl .  1 时::. qx \=p re C ( P ) ,q\ N= x[ T ]=/ ( ^[ T ] ,-,x? [ T ] ) 且|= ir .根据谓词可得A( U [ T] 乒丄) ..?? 仍A ( u [ :r] 关丄) , 即八(三) ?l </< nl ^ t< ?根据函数p 得到( Pc =i fA^th e nx:=i ^ / < ?f ( j〇i  ,? ? ? , x? ) ) :二根据语义规则R 2 . 1 可得:存在¥=92 [/ ( 工〗,? ? ?, 工《) / l ] 使得¥?易证^ ( q [ , q2) e R.情形2 . 当应用语义规则R1 . 2 时:??? %, g(h:r [ :r ]=c且i hi .根据pre C 可得11=: ^ .? ? 仍[^ 工丨, 即仍t工1 ■根据 p得到( P c =i fi 丨A // att h e nMem. r:=c \ fla gx^=fa l s e el s ei f x\th e nMem s\=x x ) i二由语义规则R 2 . 2 成立可得:存在&=g2 [ c/ x] 使得的一‘易证???Wi 6 R .情形3. 当应用语义规则R L 3 时\= p re C( P )29 q[ |=x [ T]=X il=i根据/>r eC 可得w |= 工1 .??%, 即仍?根据f 的定义可知, A 前一个有取值时刻不是0时刻.??? 根据R2 .  2可知, 仍[= ->/Z a& .二语义规则R2 . 3 成立??? 存在9丨=9 2 [工1 /从側1 ] 使得根据# 可得W=g2 Dri / x] 使得易证丨(= 工.W\G J? .易证, 对于R 1 .  4? R1 . 6 ( 情形3? 情形6 ) , 存在¥使得且情形4. 当应用语义规则R 1.7 时/. gi> P[ .2 2 2 4 计算机学报 2 0 2 0 年根据归纳假设, 存在对应的仍" 仍[^ ^^ 且〈取, q’2 ) d??? 由语义规则R 2 . 6 可得:q 2E> P ci| | Pc 2^q/2 > P ci | | Pc2 .情形5 . 当应用语义规则Rl . 8 时根据归纳假设, 存在对应的¥I > JV2 且( q? , (0 £ :R ./. 由语义规则R 2 . 7 可得:q2 > P cl| |Pc 2 ̄^q2 > Pci | |Pc i.综上所述, 因此可得V d ( gi— 3a n dq^Rqi ) ).证毕.最后, 利用定理1 完成语义保持证明.定理1 .C lock edSIGNAL2 C 编译前后语义保持.证明? 根据引理1 可知, Vg( ( <? i— 一q [ a n d q[R < ? 2 ) ) .根据引理2 可知, V W( g 2( 9丨a n dq [R q'2 ) )??? 即证明cl oc k ed SIG N A L 程序和翻译后的目标C 程序两者语义互模拟等价.证毕.4 相关工作在设计实现安全关键系统时, 代码自动生成技术是一种提高系统安全性的重要手段. 代码自动生成方法本身的正确性需要经过形式化的证明, 即证明翻译前后保持程序正确性等性质, 以确保不会出现误编译的情况( 即一个错误的编译器可能在编译过程中插人错误) .本文将已有编译器验证工作按照接收源程序不同划分为语言层面和模型层面:4 . 1 语言层面C〇mp Cer t[ 1 7] 是经过形式化验证的可信编译器. 该编译器将C 的一个核心子集翻译为机器代码, 生成的代码性能在P ow er PC 上可达到GCC 4- 1性能的9 0 % . Co mp Ce r t 基于数学的方式提出一种消除误编译的根本性解决方案( 即携带证明编译Cert i f i edCom pi l e r 方法) : 通过辅助定理证明工具对编译器本身进行形式化证明, 在数学上证明编译器生成的可执行机器代码和C 源程序的语义上完全一致.在Co mp Cer t 的基础上, G or d on 等人提出一种经过验证支持分离编译的编译器Comp os i ti o n a lComp Cer t. Com po s i t io na l CompCe r t支持共享内存交互, 基于交互语义(in t er ac t i on s e ma nt i c s ) 对模块和外部环境的交互进行建模, 并通过逻辑模拟关系证明与交互语义相关的编译步骤的正确性.4 . 2 模型层面基于Com pCe r t 编译器, 法国I n r i aPa r i s 的PA R K AS 小组实现了经过验证的Lu s t r e 编译器V 6 l us[ 1 8 ]. V 6 l u s 接收—t*L u st r e 语言子集, 经过若干编译步骤, 最终生成符合Com pC er t 语法的C lig h t 程序, 并基于Com pCe r t 进一步编译生成可执行机器代码.类似于Vd u s , 国内清华大学L 2 C 项目提出一个L2 C 编译器[ 1 9 ] 支持将L u s t r e 语言子集可信翻译到C 程序. L 2 C 编译器的编译过程中涉及到类型和时钟检查, 处理时序算子fb y 和p r e ( 类似于本文中的时钟演算) , 并经过一系列翻译步骤, 生成符合Co mp Ce r t 的 Cl ig ht 程序?此外, P n ue l i 等人? 提出了一种转换确认( Tr an sl a t i onV ali da ti on) 的方法, 并验证从SIG NAL语言到C 程序的翻译过程. 该方法针对每一次具体的编译, 并且要求源程序和翻译后的目标程序具有共同的语义基础( 基于变迁系统) . 然后证明翻译前后是否语义保持, 采用的行为等价关系为单向模拟关系( Si m ul a t i on ) .综上所示, 相比于转换确认方法, 本文采用了Com pCe r t 中提出的携带证明编译技术, 可以更加彻底地对编译器内部翻译步骤依次进行形式化证明, 并开展在定理证明器Co q 中完成证明过程的检查工作. 此外, 目前已有基于携带证明技术的同步语言语义保持证明研究主要侧重于串行代码生成的语义保持证明, 而本文主要关注多线程代码生成的语义保持证明.5 总结与展望随着多核处理器逐渐被用于在安全关键领域,同步语言的多线程代码生成方法及其语义保持证明方法成为学术界和工业界共同关注的重要问题. 在前期研究中, 我们提出了基于O C am l 的同步语言SI G N AL 多线程代码生成工具M in i S IG N A L. 本文则进一步提出一种SI G N AL 核心编译过程的语义保持证明方法, 通过形式化定义编译过程中多种语言的操作语义和抽象代码生成过程, 并基于互模拟等价思想证明了多线程代码生成核心步骤的语义一致性.1 1 期 袁胜浩等: 同步语言多线程代码生成的语义保持证明方法 2 2 2 5M in i S IG N A L 的最终目标是生成一个新的SIG N A L验证编译器( Ve r i fi e dCo mp ile r  ) , 即在Coq 中规约并证明编译规则的语义保持, 然后从Coq 证明中自动抽取编译器的实现. 本文目前主要考虑M i ni SI GN A L 核心编译步骤的语义保持证明,并选择C 子集作为目标语言. 为生成最终的SI GNAL验证编译器, 我们正在Coq 中开展对M i ni SI G N A L中其余编译过程如标准化、任务划分( 涉及多种划分算法) 、虚拟多任务结构和多线程代码生成( 涉及A da 和J a v a 等多种目标语言) 等阶段的语义一致性进行证明. 前期研究中我们主要关注S IG N A L 多线程代码生成方法, 在未来的工作中, 我们将进一步考虑在执行平台机制方面的优化工作[2 1] 及负载均衡等问题. SIG N AL 主要用于描述系统的同步数据流行为, 难以对复杂信息物理系统进行建模. 因此我们还将研究基于架构描述语言八八0 1/2 2] 和S IG N A L的异构建模方法.参考文献[ 1 ]L ev e son N. En g i nee r i ng  A Sa f er W o r l d :S y s t ems  Th i n k in gAp p l i ed  t o Sa f et y .Ca mb rid ge, U SA : M I TP r es s ,  2 0 1 1[ 2] Co l aco  JL ,P a gan o B , Pas te u r  C ,et a l. Sca d e 6 :F ro m aKa hn  s em anti cs to a K ahn  i mp l e men t a ti o n fo r m u l ti co r e/ /Pr o cee ding s o f t h e Fo ru m o n S p ecifica tio nDe si g n Lan g u ages( F D L ) . Mu ni ch , Ge rma ny , 2 0 1 8 : 5-1 6[3 ] Ha l bwa chs N,  Ca spi P ? Raymo nd P , Pi l a u d D. T he sy n ch ro n o usda t a-fl ow p ro gram mi n g l a ngu a g e L u st re. Pr o ce ed i ng s o f t h eIEEE , 1 9 9 1 , 79 ( 9 ) : 1 3 0 5-1 3 2 0[ 4 ] Bou ssi n ot F ? d eSi mon e R. T he Est er el  l ang u ag e. P ro ceedi ng s oft he I EEE , 1 9 9 1 , 7 9 ( 9 ) ; 1 2 9 3-1 3 0 4[ 5 ]Ben v en i s te A , Le Gu e r n i c P , J ac q u emo t C.Sy nc hr o n o u spro g r a mmi ngwit h ev en ts a nd r e l at i o n s : T h e si g n a l l a n gu a g ean d i ts s ema ntics. Scie n ce o f Co mp u t e r P r o g r a mmi n g , 1 99 1 ,1 6 : 1 0 3 -1 4 9[ 6 ] Sc hne id e rK.T he sy n c hro n o u s p ro g r amm i ngl a n g u ag eQUAR 丁Z .Dep a rt me n t o f Com p u t e r Sci e n ce,Un i v ersi t y o fKai sers l a u te rn , G e rma n y :I nt e r n a l Rep o r t : 3 7 5 , 2 0 1 0[ 7 ]Bes nar d L , Ga u ti er T , LeGu e r n i cP , e t al. Comp i l a tio no fpo lychrono us d at a flow eq uati o ns / / Pr oceed in gso f t he Sy nth esi so f Emb e d d ed  So f twa r e. Bo st o n , USA ? 2 0 1 0: 1- 40[ 8 ]Be sna rdL ? Ga u ti e r T ,T a lp i nJ P. Co d e ge n er a t i o n s tra te g ie si nt heP o l yc hro ny en v i r o nme n t.F r an c e : I N RI A , R ese a rc hR e po rt: R R- 6 8 94 ,  2 0 0 9[ 9 ]Ya n g Zh i- Bi n , Z ha o Y o n g-Wa n g * H u a n gZ h i- Qi u teta l.Ti me - p r e di c ta b lemu l ti- t h r e ad e dco d eg e n e r ati o nw it hs y nch ro n o u s l ang u ag e s . Jo u r n al  o fSo f t wa r e , 2 0 1 6 , 2 7 ( 3 ) :6 1 1-6 3 2 ( i n Ch i n e s e )( 杨志斌, 赵永望, 黄志球等. 同步语言的时间可预测多线程代码生成方法. 软件学报,2 0 1 6,2 7 ( 3 ) : 6 1 1- 6 32 )[ 1 0] Ya n g  Zh i- Bi n ?Y ua nSh e n g-H ao , Xi e J i a n ,et aL Mu l ti?t h r ead ed co d ege n e ra ti o nt o o l f o rs y n chr on o us la n gu age .J o u r n al  o f S o ft w ar e , 2 0 1 9 , 3 0 ( 7 ) : 1 9 8 0- 2 0 0 2 ( i n Ch i nes e )( 杨志斌, 袁胜浩, 谢健等.一种同步语言多线程代码自动生成工具. 软件学报, 2 0 1 9 , 3 0 ( 7 ) :1 9 8 0 - 2 0 0 2 )[ 1 1 ]Y a n g Z , Bo de vei x J P , F il al iM , et a l . Tow a r d sa v eri f i edco mp il er p r ot o t y p e fo r  t he sy n chr o n o u s l ang u age SI G N AL.Fr o n ti er s o f C omp u t er  Sci en ce , 2 0 1 6, 1 0 ( 1 ) :  3 7 -5 3[ 1 2 ]Y an g Z ?Bo d e v ei x J  P ? F i l a l i M. T owa rd s as i m p l ea n d s af eO bje cti ve Ca m! co mp ili n gfr a me wo rk fo rt h e s y n ch r o n o u sl an g u ag eS IG N AL. Fr on ti er s o f Comp u te r Sci en ce *  2 0 1 9,  1 3 ( 4 ) :7 1 5 - 73 4[ 1 3 ]J ia n gW en - Y i , P a n gL i- Pi ng , G ao  Lan? et  al .Se r ial  p r o g ra mp ar al l el i sm al g o r it hm .J o u rna lo fH ua z h o ngUn iv er si t yo fSci e n ce a n dT e chn o l o gy( Na tu ral Sci enc e Editi o n ) ,2 0 0 0 ,2 8 ( 1 2 ) : 3 0 - 3 2 ( i nC hi n es e )( 江文毅, 庞丽萍, 高兰. 串行程序的并行划分算法研究. 华中科技大学学报( 自然科学版),2 0 00,  2 8 ( 1 2 ) : 3 0-3 2 )[ 1 4 ]S t ew a r tG , Bering e r L , C u el l a rS , e ta l .Comp o sitio n a lc omp ce r t / / Pr o c ee din gs o f t he 4 2 n d A n n u a l ACMS IGPLAN -SI G ACT Symp o si um o n P rinci p l es  o fP rogrammi n gLa ngu age s( P OPL) .Mu mb a i, I n di a , 2 0 1 5 , 5 0 ( 1 ) : 2 7 5-2 8 7[ 1 5] Ga ma ti e A. D esi g ni n g Em b edd ed  S y st em s wit ht he S IGN ALP rogrammi n gLa nguag e : Sync hro n o u s *Re act iveSp eci fica ti o n,Be r l i n , Germa ny :  Sp r i n ge r Sci e n ceBus i ne ss Med i a , 2 0 0 9[ 1 6 ]P l o t ki n  G D.  A st r u c tu ra l  ap p ro a ch  t o o p e ra ti o n a l se ma ntics .Co m p u te r  Sci e nce De p a rt ment , A ar h u s Un i v e rs i t y De nma rk,Aa rh u s , D enm ar k , 1 9 8 1[ 1 7]Le ro yX .F o r ma l v e r i fi c a ti o n  o fa  r ea l i s ti c com pi l er . C ommu ?nica tio n s of  th eAC M, 2 0 0 9,  5 2 ( 7 ) : 1 0 7-1 1 5[ 1 8 ]Bo u r k e T . Br u n L , Da g a nd P E ,  et a l . A fo r ma l l y  v erifi edcomp il er  fo r Lu st re // P r oc ee di ngs o f the 3 8 t hACMSI GPLANCo n f er en ce  o n Pr og ra m mi n gLa ngua geDe si gna nd I mp l eme n-t a ti o n ( P LD I ) .Ba rce lo n a , Sp a i n ,  2 0 1 7 , 5 2 ( 6 ) :  5 8 6 -6 0 1[ 1 9 ]K angY u e- Xi n ? G anYu a n- K e , W ang Sh eng-Yu an. Comp ari sono f t w o t r u s tw o r t h y com p il e rsVe l u s a n d L2 C fo r  s y nch rono usl a n gu a ges .J o u r nal  o f So ft war e ,  20 1 9 ,3 0 ( 7 ) :  2 0 0 3 - 20 1 7 ( i nCh i n ese )( 康跃馨, 甘元科, 王生原. 同步数据流语言可信编译器VM u s与L2 C的比较. 软件学报, 2 0 1 9 ,  3 0 ( 7 ) :2 0 0 3-2 0 1 7 )[ 2 0 ]P n u e l i A , S i eg e l M , S in gerraa n E. Tr an sl a ti on  val i d a ti o n/ /P r o cee din gs o f t h e I n t e r na t i o na l Co n fe re nce o nTo o l sa ndAl g o rit hm sfo r t h eCo n s tr u c tio nan d A n al ys i s o f S y st e ms.Ber l i n*G e rma n y , 1 9 9 8 : 1 5 1-1 66[ 2 1]T ra nHN , H o no rat  A ,T al p i n J P * et  al .  Eff ici en t  co nt en t io n-a wa r e s ch ed u li ng〇£S DFg ra ph so n sha redm u l ti-b an kme mo ry / / Pr o ce ed i n g s o ft h e 2 4 t h I nt e rn at i o na l Co nf er enceo n En g i n e er i ng  o f Comp l e x Com p ut er  Sy s t e ms .Ho n g  Ko ng ,Ch i na,2 0 1 9: 1 1 4 -1 2 3[ 2 2 ]Fe i l er PG l uc h DP , Hu da k JJ . The archi t ect ure a na ly sis &-des i g n  l an gu a ge ( AADL) :An int ro d uc tio n . Carn egi e-Me l lo nUn i v e rsit y Pit t sb u r ghP ASo f t war eEng i ne e ri n gI ns ti t u t e,USA :T ec hn i ca l Rep o r t: CMU /S EI- 20 0 6-T N-0 1 1 , 2 0 0 62 2 2 6 计算机学报 2 0 2 0 年Y UANS he ng-Ha o .M. S. c a nd i d at e .H i sre s e a r c hi n t e re s t s i n c l u de fo rma lme t h o da nd t h e or em p ro v i ng .Y A N GZh i- B i n.P h. D., a s so c i a t ep ro f es s o r.H i sre s ea r c h  i n t e r e st si n clu de  sa fe t y- c r i t i c al s o ft wa re  a n d fo rmalv e ri f i c a t i o n .i n clu de  fo rma l v e ri f i ca t i on a n d so f t wa re e ng i n e e ri ng .ZH OUY ong , P h. D. , a s so c i a t e p rof es s or .Hi sre s e a rc hi n t e re s t s i n cl u de s of twa re e n g i n ee ri n g ,f or mal me t ho ds.XU ELe i ,M.S., s e ni o r e ng i ne e r.H i s re s earc hi nt e re st si nc l ude emb e dd ed s o f t wa r eve ri fi ca t i on , emb e d de d so f t wa r esy s t emde s i gn .BO DE VEI X J e a n -P a u l ,P h. D. , pr of e s so r.H i s r e s ea rc hi n te r e s t s i n c l u de re a l-t ime s ys tema nd fo r ma lme t h od .FIL AL I M a mo u n . Ph .D.  ,s e n i o r re s ea rc h fel low.H i sre s ea r c h i n t e re s t si n c l u der ea l-t i mes ys t e ma n d fo rma l/HA N G Bo- Li n .M . S.c a nd i d a t e.H i s r es e a r c h i n t e re s t sme t h od .B a c kgr oun dC o mp i le rve ri fi c a t i oni s af un dame n t a lp ro b lemo fc ompu t e r s ci enc e ,e s p e c i a l l y i n t h e c omp u t e rs y s tem .I t a l sop l a y s a vi t a lr ol ei n t he d e si g no f sa fe t y- c ri t i c a ls o f t wa re i no rde r t og u a ra n t e et h e co rr e c t ne s s of a l l ki n ds of  t ra ns fo rmat i o np ro c e ss e s , i n cl ud i n g co de g e n e ra t i on . For i ns t a n ce , C omp-C e r ti s on e o f t h e mo s t c l a s s ic a lv e r i f i e d c om pi le r s, wh i c hc ome s w i t h a ma t h ema t i c a l, m a c hi ne - c h e ck e dp ro of t h a t t h eg e ne r a t e de x e c ut a bl e co d eb eh a v e se xa c t ly a s p re s c r i b e dbyt h e s ema nt i c s of t he so urc e p rog ram. Re c en tl y , ma n yre se a rc he rsf oc u so n t h e co mp i l a t i on  v e ri f i c a t i on o f sy n ch ron ou s l a ng u a g es,s u ch a sVel us a nd L2 C .H ow e ve r, t he e xis t i n gs t ud i e sma i nl yc on ce r n th e s ema nt i c pre s e rva t i o n of  s eque n t ia l cod eg e n e r a t i onf ro ms yn c h ro no u sla n g u a g e s, t h e y pa ya li t tle  a tt e n t i o nt ot h es ema n t i c p re s e rv a t i o no f mu l t i-t h re a de d c odeg e n e ra t io n .I n t h i sp a p e r, we p r e se n t a  v e r i f i e dm ult i-t h re ad e d co d ege n e r a t i on me th odf o rt he s ync h ro n ou sl a n g ua g eSI G N AL .Th e ma i n a dv a nt a ge o f  th eme t h odis  to s uppo r tmu lt i-t h re a de dco d eg e n e ra t io n ,co mp a re dwi t ht h eex i s t i ng re l a t e dwo r ks .Fi rs tl y , th eme t ho dd e f i n e st hes t ru c t u re dope r a t ion als e ma nt i c so fmu l t ip l e i n t e rm ed i a t e  l a ngua g es  i n c od eg e n er a ?t i o n; s ec on d ly , itf o rma li ze s t he  a lgo r i t hmsan dma pp i n gr u l e s int he c od eg e n e ra t i o n pr oc e s s ; t h i r dl y *i tp ro ve s t hes em a nt i cc on s i s t e n cy b e t w ee n t he SIGNA Lp r og r ama f t e rc l oc k c a lc u l u s a ndt h et a r ge t Cpr o g rama f t e rt ra n sl a t i o nba se d on th e b i s imul a t i o n equ i va l e nt  re la t i o n.The r e s ea rc hi n t h e p a pe r i s a pa r t of t h eN a t ion a lN at u r a l Sci e nc e Fo u n da t i o no f C h i n a ( 6 1 5 0 2 2 3 1 ) , t h e Av i a ?t i o nS c i enc e F u n d of C h i n a ( 2 0 1 9 1 9 0 5 2 0 0 2 ) ,t he Na t i on a lDe f e ns e Ba s i c S c i e nt i f i cR e se arc hP roje c t u n de rGr a nt  of C h i na( J C K Y2 0 1 6 2 0 3 B0 1 1 ) ? t h e Fu nd a me n ta lRe s e a rc h F u nd s fo rt he C e n t r alUn i v e rsities ( N P2 0 1 7 2 0 5 ) ,t he Fo u n d a t i on ofG ra d u a t e I n no va t io n Ce n t e r i n NUAA ( kfj j2 0 1 8 1 6 0 3 ).

[返回]
上一篇:一种双重加权的多视角聚类方法_胡世哲
下一篇:神威太湖之光加速计算在脑神经网络模拟中的应用_栗学磊