当前位置: X-MOL 学术arXiv.cs.FL › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Typestates to Automata and back: a tool
arXiv - CS - Formal Languages and Automata Theory Pub Date : 2020-09-17 , DOI: arxiv-2009.08769
Andr\'e Trindade (NOVA School of Science and Technology), Jo\~ao Mota (NOVA School of Science and Technology), Ant\'onio Ravara (NOVA School of Science and Technology)

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.

中文翻译:

自动机的类型状态并返回:一个工具

软件开发是一个迭代过程。表示相关实体和流程的图形工具可能会有所帮助。特别是,自动机很好地捕获了应用程序的预期执行流程,因此支持许多正式方法,即行为类型。面向类型状态的编程使我们能够对应用程序的预期协议进行建模和验证,不仅提供了一种自顶向下的软件开发方法,而且还可以很好地应对组合开发。此外,它提供了重要的静态保证,如协议保真度和某些形式的进展。Mungo 是 Java 的一个前端工具,它将描述方法调用有效顺序的类型状态关联到每个类,并静态检查所有类的代码是否遵循规定的方法调用顺序。为了帮助使用 Mungo 进行编程,
更新日期:2020-09-21
down
wechat
bug