文件Open Access徽标

IceDust:持久对象图中导出值的增量和最终计算

作者 达科·C·哈克斯, 丹尼·格罗尼韦根(Danny M.Groenewegen), 埃尔科·维瑟



PDF格式
缩略图PDF

文件

LIPIcs公司。ECOOP.2016.11.pdf
  • 文件大小:0.7 MB
  • 26页

文件标识符

作者详细信息

达科·C·哈克斯
丹尼·格罗尼韦根(Danny M.Groenewegen)
埃尔科·维瑟

引用为获取BibTex

Daco C.Harkes、Danny M.Groenewegen和Eelco Visser。IceDust:持久对象图中派生值的增量和最终计算。第30届欧洲面向对象编程会议(ECOOP 2016)。莱布尼茨国际信息学论文集(LIPIcs),第56卷,第11:1-11:26页,达格斯图尔-莱布尼兹-泽特鲁姆信息学院(2016)
https://doi.org/10.4230/LIPIcs.ECOOP.2016.11

摘要

派生值是根据基础值计算得出的值。他们可以在面向对象语言中,通过getter计算派生值来表示,在关系或逻辑数据库中,通过(物化)视图来表示。然而,在面向对象编程中切换到不同的计算策略(例如缓存)需要进行侵入性代码更改,而数据库通过禁止递归聚合来限制表达能力。在本文中,我们介绍了IceDust,一种用于表示派生属性值而不提交计算策略。IceDust提供了三种策略来计算持久对象图中的派生值:读取时计算、写入时计算和最终计算。我们已经开发了一种基于路径的抽象解释,它提供了静态依赖性分析来为这些策略生成代码。基准表明,不同的策略在不同的场景中表现更好。此外,我们还进行了一项案例研究,表明实际使用的系统的导出值计算可以用冰尘表示。
关键词
  • 增量计算
  • 数据建模
  • 领域特定语言

韵律学

工具书类

  1. Umut A.Acar公司。自调整计算:(概述)。在PEPM中,第1-6页,2009年。网址:http://dx.doi.org/10.1145/1480945.1480946.
  2. M.Akhtar Ali、Alvaro A.A.Fernandes和Norman W.Paton。电影:物化对象视图的增量维护系统。DKE,47(2):131-1662003年。网址:http://dx.doi.org/10.1016/S0169-023X(03)00048-X.
  3. Krzysztof R Apt、Howard A Blair和Adrian Walker。走向陈述性知识的理论。IBM托马斯·沃森研究部,1986年。谷歌学者
  4. 斯蒂芬妮·巴尔泽(Stephanie Balzer)。Rumer:一种基于关系的编程语言和模块验证技术。2011年苏黎世ETH博士论文。谷歌学者
  5. 加文·比尔曼(Gavin M.Bierman)和艾丽斯·雷恩(Alisdair Wren)。面向对象语言中的第一类关系。在ECOOP中,第262-286页,2005年。网址:http://dx.doi.org/10.1007/11531142_12.
  6. 塞巴斯蒂安·伯克哈特。最终一致性原则。FTPL,1(1-2):1-1502014年。网址:http://dx.doi.org/10.1561/250000011.
  7. Alan J.Demers、Thomas W.Reps和Tim Teitelbaum。属性文法的增量求值,并应用于语法定向编辑器。在POPL中,第105-116页,1981年。网址:http://dx.doi.org/10.1145/567532.567544.
  8. 科纳尔·埃利奥特(Conal M.Elliott)。推挽式功能反应式编程。在哈斯克尔,第25-36页,2009年。网址:http://dx.doi.org/10.1145/1596638.1596643.
  9. 提奥菲洛斯·吉安娜科普洛斯(Theophilos Giannakopoulos)、丹尼尔·多尔蒂(Daniel J.Dougherty)、凯西·菲斯勒(Kathi Fisler)和克里希纳穆斯(Shriram Krishnamurthi)。合金的操作语义。FM,第483-498页,2009年。网址:http://dx.doi.org/10.1007/978-3642-05089-3_31.
  10. 马丁·格林兹。重新思考非功能性需求的概念。在WCSQ中,第55-64页,2005年。谷歌学者
  11. Dieter Gluche、Torsten Grust、Christof Mainberger和Marc H.Scholl。物化oql视图的增量更新。在DOOD中,第52-66页,1997年。网址:http://dx.doi.org/10.1007/3-540-63792-3_8.
  12. 托德·格林(Todd J.Green)。Logiql:企业应用程序的声明性语言。PODS,第59-64页,2015年。网址:http://dx.doi.org/10.1145/2745754.2745780.
  13. Todd J.Green、Shan Shan Huang、Boon Thau Loo和Wenchao Zhou。数据日志和递归查询处理。FTDB,5(2):105-1952013。网址:http://dx.doi.org/10.1561/1900000017.
  14. 阿什什·古普塔(Ashish Gupta)和辛格·穆米克(Inderpal Singh Mumick)。物化视图的维护:问题、技术和应用。DEBU,18(2):3-181995年。谷歌学者
  15. Ashish Gupta、Inderpal Singh Mumick和V.S.Subrahmanian。以增量方式维护视图。SIGMOD,第157-166页,1993年。网址:http://dx.doi.org/10.1145/170035.170066.
  16. 穆尼什·古普塔。Akka基本装备。Packt Publishing Ltd,2012年。谷歌学者
  17. 特里·哈尔平(Terry Halpin)。Object-role建模(orm/niam)。在《信息系统架构手册》中,第81-103页。斯普林格,2006年。网址:http://dx.doi.org/10.1007/978-3-662-03526-9_4.
  18. Daco Harkes和Eelco Visser。统一和概括基于角色的数据建模和导航中的关系。在SLE中,第241-260页,2014年。网址:http://dx.doi.org/10.1007/978-3-319-11245-9_14.
  19. Felienne Hermans、Martin Pinzger和Arie van Deursen。从电子表格中自动提取类图。在ECOOP中,第52-75页,2010年。网址:http://dx.doi.org/10.1007/978-3642-14107-2_4.
  20. Shan Shan Huang和Yannis Smaragdakis。使用morphj进行表达性和安全的静态反射。在PLDI中,第79-89页,2008年。网址:http://dx.doi.org/10.1145/1375581.1375592.
  21. 丹尼尔·杰克逊。合金:轻量级对象建模符号。TOSEM,11(2):256-2902002年。网址:http://dx.doi.org/10.1145/505145.505149.
  22. Yanhong A Liu、Jon Brandvein、Scott D Stoller和Bo Lin。需求驱动的增量对象查询。arXiv预印arXiv:1511.045832015。谷歌学者
  23. 英戈·梅尔和马丁·奥德斯基。具有增量列表的高阶反应式编程。在ECOOP中,第707-731页,2013年。网址:http://dx.doi.org/10.1007/978-3-642-39038-8_29.
  24. 埃里克·梅耶尔。反应式扩展(rx):解决异步编程问题。CUFP,第11页,2010年。网址:http://dx.doi.org/10.1145/1900160.1900173.
  25. 拉尔夫·米施克(Ralf Mitschke)、塞巴斯蒂安·埃尔德维格(Sebastian Erdweg)、米尔科·科勒(Mirko Köhler)、米拉·梅齐尼(Mira Mezini)和吉多·萨尔瓦内奇(Guido Salvaneschi)。i3ql:语言集成实时数据视图。在OOPSLA中,第417-432页,2014年。网址:http://dx.doi.org/10.1145/2660193.2660242.
  26. 独立的辛格·穆米克、哈米德·皮拉赫什和拉胡·拉马克里希南。复制和聚合的魔力。在VLDB中,第264-277页,1990年。谷歌学者
  27. H.Nilsson、A.Courtney和J.Peterson。功能反应式编程(续)。在2002年哈斯克尔ACM SIGPLAN研讨会的会议记录中,2002年。网址:http://dx.doi.org/10.1145/581690.581695.
  28. Raghu Ramakrishnan、Kenneth A.Ross、Divesh Srivastava和S.Sudarshan。使用聚合对查询进行有效的增量评估。在SLP中,第204-218页,1994年。谷歌学者
  29. Kenneth A.Ross和Yehoshua Sagiv。演绎数据库中的单调聚合。在PODS中,第114-126页,1992年。网址:http://dx.doi.org/10.1145/137097.137852.
  30. Guido Salvaneschi、Gerold Hintz和Mira Mezini。Rescala:反应式应用程序中面向对象风格和功能风格之间的桥梁。在AOSD中,第25-36页,2014年。网址:http://dx.doi.org/10.1145/2577080.2577083.
  31. 艾玛·索德伯格和哥雷尔·赫丁。使用动态依赖跟踪对引用属性文法进行增量评估。《技术报告98》,隆德大学,2012年。谷歌学者
  32. 弗里德里希·斯特曼。容器上的内容:具有多重性的面向对象编程。在OOPSLA中,第173-186页,2013年。网址:http://dx.doi.org/10.1145/2509578.2509582.
  33. 弗里德里希·斯特曼。一个,一个,多个,有什么区别吗?在SNAPL中,第294-308页,2015年。网址:http://dx.doi.org/10.4230/LIPIcs.SNAPL.2015.294.
  34. Gábor Szárnyas、Benedek Izó、István Ráth、Dénes Harmath、Gábor Bergmann和Dániel Varró。Incquery-d:云中的分布式增量模型查询框架。MoDELS,第653-669页,2014年。网址:http://dx.doi.org/10.1007/978-3-319-11653-2_40.
  35. Robert Endre Tarjan,深度第一搜索和线性图算法。SIAMCOMP,1(2):146-1601972年。网址:http://dx.doi.org/10.1137/0201010.
  36. 埃尔科·维瑟。WebDSL:特定领域语言工程的案例研究。GTTSE,第291-373页,2007年。网址:http://dx.doi.org/10.1007/978-3-540-88643-3_7.
  37. 本·维德曼和威廉·库克。通过透明持久性的静态分析提取查询。在POPL中,第199-210页,2007年。网址:http://dx.doi.org/10.1145/1190216.1190248.
  38. 达伦·威利斯(Darren Willis)、大卫·皮尔斯(David J.Pearce)和詹姆斯·诺布尔(James Noble)。高效的java对象查询。在ECOOP中,第28-49页,2006年。网址:http://dx.doi.org/10.1007/11785477_3.
  39. 达伦·威利斯(Darren Willis)、大卫·皮尔斯(David J.Pearce)和詹姆斯·诺布尔(James Noble)。java查询语言中的缓存和增量化。在OOPSLA中,第1-18页,2008年。网址:http://dx.doi.org/10.1145/1449764.1449766.