论文标题

胶结到自动机和返回:工具

Typestates to Automata and back: a tool

论文作者

Trindade, André, Mota, João, Ravara, António

论文摘要

软件的开发是一个迭代过程。表示相关实体和流程的图形工具可能会有所帮助。特别是,自动机很好地捕获了预期的应用程序的执行流,因此是许多正式方法的背后,即行为类型。 面向录像带的编程使我们能够建模和验证预期的应用程序协议,不仅为软件开发提供了自上而下的方法,而且还可以很好地应对构图开发。此外,它提供了重要的静态保证,例如协议保真度和某些形式的进度。 Mungo是Java的前端工具,该工具将一个典型的prickestate关联,描述了每个类的方法调用的有效顺序,并且静态检查所有类的代码是否遵循规定的方法调用顺序。 为了协助使用Mungo进行编程,因为拼写是文本描述,是精细语法的术语,我们开发了一种工具,在双向上转换典型形式为适当的自动机形式,在一个方向上提供了一个基本协议的可视化,由类型方向和反向方向提供了从替代方向的方式,从而更加明智地构成了典型的型号。

Development of software is an iterative process. Graphical tools to represent the relevant entities and processes can be helpful. In particular, automata capture well the intended execution flow of applications, and are thus behind many formal approaches, namely behavioral types. Typestate-oriented programming allow us to model and validate the intended protocol of applications, not only providing a top-down approach to the development of software, but also coping well with compositional development. Moreover, it provides important static guarantees like protocol fidelity and some forms of progress. Mungo is a front-end tool for Java that associates a typestate describing the valid orders of method calls to each class, and statically checks that the code of all classes follows the prescribed order of method calls. To assist programming with Mungo, as typestates are textual descriptions that are terms of an elaborate grammar, we developed a tool that bidirectionally converts typestates into an adequate form of automata, providing on one direction a visualization of the underlying protocol specified by the typestate, and on the reverse direction a way to get a syntactically correct typestate from the more intuitive automata representation.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源