文件Open Access徽标

生存状态:事件驱动协议和回调控制流(工件)

作者 肖恩·迈尔 , 塞尔吉奥·莫弗 , Bor Yuh Evan Chang



PDF格式
缩略图PDF

工件描述

DARTS.5.2.13.pdf格式
  • 文件大小:336 kB
  • 3页

文件标识符

作者详细信息

肖恩·迈尔
  • 美国科罗拉多大学博尔德分校
塞尔吉奥·莫弗
  • 法国帕莱索埃科尔理工学院
Bor Yuh Evan Chang
  • 美国科罗拉多大学博尔德分校

引用为获取BibTex

肖恩·迈尔(Shawn Meier)、塞尔吉奥·莫弗(Sergio Mover)和鲍尔·尤·埃文·张(Bor-Yuh Evan Chang)。生存状态:事件驱动协议和回调控制流(工件)。第33届欧洲面向对象编程会议特刊(ECOOP 2019)。达格斯图尔手工艺品系列(DARTS),第5卷,第2期,第13:1-13:3页,达格斯图宫-莱布尼兹·泽特鲁姆·福尔·Informatik(2019)
https://doi.org/10.4230/DARTS.5.2.13

人造物品

摘要

众所周知,针对事件驱动的软件框架(如Android)开发交互式应用程序(app)非常困难。要创建行为符合预期的应用程序,开发人员必须遵循复杂且通常是隐式的异步编程协议。此类协议将从框架接收控制的回调的正确注册与相应的应用程序编程接口(API)调用交织在一起,反过来又会影响未来可能的回调集。例如,应用程序在框架状态下调用特定API方法时违反了协议,而这种调用是无效的。使自动推理在这个领域变得困难的主要原因是,使针对此类框架的编程应用程序变得困难:协议的规范不明确,控制流是复杂的、异步的和高阶的。在本文中,我们解决了指定和建模事件驱动的应用程序编程协议的问题。特别是,我们形式化了一个核心元模型,它捕获了事件驱动框架和应用程序回调之间的对话。基于这个元模型,我们定义了一种名为lifestate的语言,该语言允许对应用程序编程协议和事件驱动框架所施加的回调控制流进行精确而正式的描述。Lifestate统一建模应用程序回调对框架的期望,并指定应用程序在调用框架时必须遵守的规则。通过这种方式,我们有效地结合了生命周期约束和类型状态规则。为了评估生命状态建模的有效性,我们提供了一种动态验证算法,该算法将应用程序的执行跟踪和生命状态协议规范作为输入,以生成见证协议违反的跟踪或证明没有此类跟踪是可实现的。

主题分类

ACM科目分类
  • 软件及其工程→软件验证
关键词
  • 特定领域的语言
  • 基于事件的编程
  • 语言实现
  • 新的编程模型或语言
  • 面向对象程序设计
  • 语义学
  • 测试
  • 验证
  • 自动化

韵律学

工具书类

  1. 肖恩·迈尔(Shawn Meier)、塞尔吉奥·莫弗(Sergio Mover)和鲍尔·尤·埃文·张(Bor-Yuh Evan Chang)。生存状态:事件驱动协议和回调控制流。2019年,ECOOP。谷歌学者
问题/备注/反馈
X(X)

Dagstuhl出版社反馈


感谢您的反馈!

提交的反馈

无法发送消息

请稍后再试或发送电子邮件