×

面对变化保持冷静。通过对变化的推理来优化FRP。 (英语) Zbl 1232.68027号

概述:功能性反应性编程(FRP)是一种反应性编程方法,其中系统被构造为基于信号(时变值)的功能网络。FRP基于同步数据流范式,支持(近似)连续时间和离散时间信号(混合系统)。FRP与其他大多数类似应用程序语言的不同之处在于它支持具有动态结构的系统和高阶反应结构。
本文通过研究信号变化和变化传播的概念,为推动FRP实现技术的发展做出了贡献,该概念是在一个由连续时间和离散时间混合信号上运行的多个信号函数组成的结构动态网络环境中进行的。我们首先为这种FRP定义了一个理想的指称语义(时间是真正连续的),以及用时间逻辑表示的信号和与变化和变化传播有关的信号函数的时间特性。使用这个框架,我们然后展示了如何对变化进行推理;具体来说,我们确定并证明了一些可能的优化,例如避免重新计算不变的值。请注意,由于结构的动态性,以及信号函数的输出可能会因为时间的推移而改变这一事实,即使输入不变,该问题也比静态结构网络中的标准变化传播复杂得多。

MSC公司:

68甲18 函数编程和lambda演算
第68页第19页 其他编程范式(面向对象、顺序、并发、自动等)
68问题55 计算理论中的语义学
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Benveniste,A.、Caspi,P.、Edwards,S.、Halbwachs,N.、Le Guernic,P.和de Simone,R.:十二年后的同步语言。程序。IEEE 91(1),64–83(2003)。嵌入式系统专题·doi:10.1109/JPROC.2002.805826
[2] Berry,G.,Gonthier,G.:Esterel同步编程语言:设计、语义、实现。科学。计算。程序。19(2), 87–152 (1992) ·Zbl 0772.68013号 ·doi:10.1016/0167-6423(92)90005-V
[3] Blom,K.J.:动态交互式虚拟环境。汉堡大学信息学系博士论文(2009年)
[4] Burchett,K.,Cooper,G.H.,Krishnamurthi,S.:降低:透明功能反应性的静态优化技术。参见:部分评估和程序操作(PEPM’07),第71–80页。ACM,纽约(2007)
[5] Caspi,P.,Pouzet,M.:同步卡恩网络。摘自:函数编程国际会议(ICFP'96),第226-238页。ACM,纽约(1996)·Zbl 1344.68049号
[6] Cheong,M.H.:功能编程和3D游戏。澳大利亚悉尼新南威尔士大学学士学位论文(2005年)
[7] Colaço,J.L.,Girault,A.,Hamon,G.,Pouzet,M.:走向高阶同步数据流语言。摘自:嵌入式软件(EMSOFT’04),第230–239页。ACM,纽约(2004)
[8] Cooper,G.H.,Krishnamurthi,S.:在调用值语言中嵌入动态数据流。摘自:欧洲编程研讨会(ESOP’06),第294–308页。施普林格,柏林(2006)·Zbl 1178.68123号
[9] Courtney,A.:用函数语言建模用户界面。耶鲁大学博士论文(2004年)
[10] Courtney,A.和Elliott,C.:真正的功能用户界面。摘自:Haskell Workshop(Haskell'01),第41-69页。Elsevier,阿姆斯特丹(2001)
[11] Courtney,A.,Nilsson,H.,Peterson,J.:Yampa拱廊。摘自:Haskell Workshop(Haskell'03),第7-18页。ACM,纽约(2003)
[12] Daniels,A.:函数和行为的语义。诺丁汉大学博士论文(1999年)
[13] Elliott,C.:推挽式函数反应式编程。摘自:Haskell研讨会(Haskell'09),第25-36页。ACM,纽约(2009)
[14] Elliott,C.,Hudak,P.:功能反应动画。摘自:函数式编程国际会议(ICFP’97),第263-273页。ACM,纽约(1997)·Zbl 1369.68094号
[15] Giorgidze,G.,Nilsson,H.:打开Yampa:模块化合成器的声明式编程。参见:《声明性语言的实践方面》(PADL’08),第282-298页。柏林施普林格出版社(2008)
[16] Giorgidze,G.,Nilsson,H.:迭代阶段DSL的混合级嵌入和JIT编译。In:函数和(约束)逻辑编程(WFLP’10),第19-34页(2010)
[17] Halbwachs,N.:无功系统的同步编程。Springer工程与计算机科学国际系列。柏林施普林格(1993)·Zbl 0828.68038号
[18] Halbwachs,N.:反应系统的同步编程,教程和评论书目。摘自:计算机辅助验证(CAV’98),第1-16页。柏林施普林格(1998)
[19] Halbwachs N.、Caspi P.、Raymond P.和Pilaud D.:同步数据流编程语言Lustre。程序。IEEE 79(9),1305–1320(1991)·数字对象标识代码:10.1109/5.97300
[20] 亨廷格,T.A.:混合自动机理论。收录于:《计算机科学中的逻辑》(LICS’96),第278-292页。IEEE计算机学会,华盛顿(1996)·Zbl 0959.68073号
[21] Huth,M.,Ryan,M.:《计算机科学中的逻辑:关于系统的建模和推理》。剑桥大学出版社,剑桥(2004)。第三章,第172-255页·Zbl 1073.68001号
[22] 杰利奇:信号,而不是发电机!摘自:《函数编程趋势》(TFP’09),第145-160页。Intellect,布里斯托尔(2010)
[23] Lee,E.A.,Messerschmitt,D.G.:数字信号处理同步数据流程序的静态调度。IEEE传输。计算。36(1), 24–35 (1987) ·兹比尔0605.68024 ·doi:10.1109/TC.1987.5009446
[24] Liu,H.,Cheng,E.,Hudak,P.:因果交换箭头及其优化。摘自:函数式编程国际会议(ICFP’09),第35-46页。ACM,纽约(2009)·Zbl 1302.68064号
[25] Nilsson,H.:使用广义代数数据类型的函数反应式编程动态优化。载:国际功能编程会议(ICFP'05),第54-65页。ACM,纽约(2005)·Zbl 1302.68189号
[26] Nilsson,H.,Courtney,A.,Peterson,J.:功能反应式编程,续。摘自:Haskell Workshop(Haskell'02),第51-64页。ACM,纽约(2002)
[27] Nilsson,H.、Peterson,J.、Hudak,P.:功能混合建模。摘自:《声明性语言的实践方面》(PADL'03),第376–390页。柏林施普林格出版社(2003)·Zbl 1026.68803号
[28] Nordstrom,B.,Peterson,K.,Smith,J.M.:马丁·洛夫类型理论中的编程:导论。牛津大学出版社,牛津(1990)·Zbl 0744.03029号
[29] 诺雷尔,U。:基于依赖类型理论的实用编程语言。查尔默斯理工大学博士论文(2007年)
[30] Patai,G.:从无到有的无事件反应。In:函数语言的实现和应用(IFL’09),第126-140页(2009)
[31] Patai,G.:高效和组合的高阶流。In:函数和(约束)逻辑编程(WFLP’10),第99–113页(2010)
[32] Paterson,R.:箭头的新符号。摘自:功能编程国际会议(ICFP’01),第229-240页,ACM,纽约(2001)·Zbl 1323.68147号
[33] Peterson,J.、Hudak,P.、Elliott,C.:运动中的Lambda:用Haskell控制机器人。摘自:《声明性语言的实践方面》(PADL’99),第91–105页。柏林施普林格(1999)
[34] Pouzet,M.:Lucid Synchrone,3.0版:教程和参考手册。巴黎南德大学,LRI(2006年)。www.lri.fr/\(\sim\)pouzet/lucid-synchronic
[35] Sculthorpe,N.,Nilsson,H.:动态混合信号功能网络的优化。在:功能编程趋势(TFP’08),第97–112页。Intellect,布里斯托尔(2009)
[36] Sculthorpe,N.,Nilsson,H.:通过依赖类型实现安全的函数反应式编程。摘自:函数式编程国际会议(ICFP’09),第23-34页。ACM,纽约(2009)·Zbl 1302.68070号
[37] 使用Simulink 7.5版。马萨诸塞州纳蒂克苹果山大道3号(2010年)。网址:www.mathworks.com
[38] Venema,Y.:时间逻辑。摘自:《布莱克威尔哲学逻辑指南》。牛津大学布莱克威尔(2001)。第10章,第203-223页·Zbl 0997.03019号
[39] Wan,Z.,Hudak,P.:从第一性原理出发的函数反应式编程。摘自:编程语言设计与实现(PLDI’00),第242-252页。ACM,纽约(2000年)
此参考列表基于出版商或数字数学图书馆提供的信息。它的项目与zbMATH标识符启发式匹配,并且可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。