Engineering Interactive Systems with Model-Driven Code Contracts

Judy Bowen, S. Reeves
{"title":"Engineering Interactive Systems with Model-Driven Code Contracts","authors":"Judy Bowen, S. Reeves","doi":"10.1109/ASWEC.2018.00010","DOIUrl":null,"url":null,"abstract":"The use of sound and robust software engineering techniques are essential during the design and development of safety-critical interactive systems. Failure of such systems (such as those found in medical settings or transportation) can lead to serious harm or even fatalities. Model-based development of interactive systems provides a number of benefits which can support correctness of the interface, the interaction and the functional logic of the system. Many different approaches have been proposed which target the models at different aspects of the development process (for example task analysis, interface layouts, functional behaviours etc.) and which can be used in different ways (verification of correctness, usability, testing). Typically these rely on multiple models at differing levels of abstraction. There are challenges in ensuring consistency between the models, and more importantly in ensuring that the final implementation correctly satisfies all of the models. In this paper we propose a method of deriving pre-and post-conditions for both interactive and functional elements of the system from formal models. These are used to generate code contracts within a code framework to support programmers who are implementing the system described in such models. We describe both the process for this and present an initial examination of the applicability of the approach based on a proof-of-concept user study. This small study was intended to examine whether we could correctly derive the code contracts in an automated fashion and whether or not they were usable (and beneficial) for programmers working on a pre-defined task. This initial investigation suggested that such an approach can aid programmers in correctly implementing a specification and that the general approach outlined in the paper is worth developing further.","PeriodicalId":331846,"journal":{"name":"2018 25th Australasian Software Engineering Conference (ASWEC)","volume":"33 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 25th Australasian Software Engineering Conference (ASWEC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ASWEC.2018.00010","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

The use of sound and robust software engineering techniques are essential during the design and development of safety-critical interactive systems. Failure of such systems (such as those found in medical settings or transportation) can lead to serious harm or even fatalities. Model-based development of interactive systems provides a number of benefits which can support correctness of the interface, the interaction and the functional logic of the system. Many different approaches have been proposed which target the models at different aspects of the development process (for example task analysis, interface layouts, functional behaviours etc.) and which can be used in different ways (verification of correctness, usability, testing). Typically these rely on multiple models at differing levels of abstraction. There are challenges in ensuring consistency between the models, and more importantly in ensuring that the final implementation correctly satisfies all of the models. In this paper we propose a method of deriving pre-and post-conditions for both interactive and functional elements of the system from formal models. These are used to generate code contracts within a code framework to support programmers who are implementing the system described in such models. We describe both the process for this and present an initial examination of the applicability of the approach based on a proof-of-concept user study. This small study was intended to examine whether we could correctly derive the code contracts in an automated fashion and whether or not they were usable (and beneficial) for programmers working on a pre-defined task. This initial investigation suggested that such an approach can aid programmers in correctly implementing a specification and that the general approach outlined in the paper is worth developing further.
具有模型驱动代码契约的工程交互系统
在安全关键型交互系统的设计和开发过程中,使用可靠和健壮的软件工程技术是必不可少的。此类系统(例如在医疗环境或运输中发现的系统)的故障可能导致严重伤害甚至死亡。基于模型的交互系统开发提供了许多好处,可以支持接口的正确性、交互和系统的功能逻辑。已经提出了许多不同的方法,这些方法针对开发过程的不同方面(例如任务分析、界面布局、功能行为等)的模型,并且可以以不同的方式使用(正确性验证、可用性验证、测试)。通常,这些依赖于不同抽象层次上的多个模型。在确保模型之间的一致性方面存在挑战,更重要的是在确保最终实现正确地满足所有模型方面存在挑战。在本文中,我们提出了一种从形式化模型中导出系统的交互和功能元素的前置和后置条件的方法。它们用于在代码框架内生成代码契约,以支持正在实现这些模型中描述的系统的程序员。我们描述了这两个过程,并提出了基于概念验证用户研究的方法适用性的初步检查。这个小研究的目的是检查我们是否能够以自动化的方式正确地导出代码契约,以及它们是否对从事预定义任务的程序员可用(并且有益)。最初的调查表明,这样的方法可以帮助程序员正确地实现规范,并且本文中概述的一般方法值得进一步开发。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信