面向安卓应用建模的IFML扩展
作者:
作者单位:

作者简介:

陆一飞(1994-),男,江苏苏州人,博士,CCF学生会员,主要研究领域为软件测试,程序分析,交互式模型验证;王林章(1973-),男,博士,教授,博士生导师,CCF杰出会员,主要研究领域为模型驱动的软件测试与验证,安全测试,软件测试自动化;潘敏学(1983-),男,博士,助理研究员,CCF专业会员,主要研究领域为高可信软件的验证与分析,形式化方法;李宣东(1963-),男,博士,教授,博士生导师,CCF会士,主要研究领域为软件建模与分析,软件测试与验证;张天(1978-),男,博士,副教授,CCF高级会员,主要研究领域为模型驱动工程.

通讯作者:

潘敏学,E-mail:mxp@nju.edu.cn;张天,E-mail:ztluck@nju.edu.cn

中图分类号:

基金项目:

国家重点研发计划(2017YFA0700604);国家自然科学基金(61502228,61632015);中央高校基本科研业务费专项资金(020214380045)


Extension to Interaction Flow Modeling Language (IFML) for Android Application Modeling
Author:
Affiliation:

Fund Project:

National Key R&D Program of China (2017YFA0700604); National Natural Science Foundation of China (61502228, 61632015); Fundamental Research Funds for the Central Universities (020214380045)

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
  • |
  • 文章评论
    摘要:

    随着智能机以及平板电脑的普及,安卓应用逐渐成为日常生活中不可或缺的重要元素之一,其复杂度也呈几何倍数增长.安卓平台存在的多设备类型、多操作系统版本问题,使得应用的设计和开发更为复杂.在这一现状下,提倡在安卓应用开发中使用模型来描述其开发需求与设计,以帮助开发人员更好地将注意力集中于应用,加深对开发意图的理解,更好地进行后续的开发工作.然而,当前对安卓应用的建模都采用了传统模型,无法满足安卓应用事件驱动和注重图形用户界面的特点.为此,将注重前端展示以及事件交互的交互流建模语言(IFML)应用于安卓应用的建模,描述应用中的GUI结构以及其中工作流的传递,从而指导应用的开发工作.考虑到安卓平台的特点,对IFML进行了相应的面向安卓的扩展,提高了其可用性与对安卓应用的适用性,并对IFML模型进行了形式化定义,使得IFML模型能以丰富而又精确的语义来刻画开发者对于安卓应用的设计,并在应用的实现和演化中不断发挥指导作用.另外,进一步探索了IFML模型在应用测试这一场景中的作用.基于模型的测试方法能够检验设计和实现的一致性,还能在应用的演化过程中避免测试用例的重复编写.在案例研究中,针对5个安卓应用进行了IFML建模与测试.实验结果表明,扩展后的IFML在安卓应用的建模上可行、有效,所建立的IFML模型可直接用于测试工作,用于检测应用实现与设计是否保持一致,从而保证应用的开发质量.

    Abstract:

    Under the widespread of smartphones and tablets, Android devices have gradually become one of the most important elements in our daily life. Along with it, Android applications are now flourishing and their complexity increases geometrically. Meanwhile, Android fragmentation is aggravating, which forces developers to design and develop the same Android apps for different Android versions and devices. In this case, employing models are proposed for requirements and designs in Android app development. With models, dividing and conquering these requirements and designs are possible which reduces the general complexity. At the same time, models of high expression help developers to better understand the purpose and finally guide the development work. However, the traditional models are no longer suitable, since Android apps are even-driven and GUI centric. Therefore, Interaction Flow Modeling Language (IFML) is adopted, the new OMG standard for front-end design and event interaction, in Android app modeling to describe apps' GUI structures and workflows and guide the development. Furthermore, an extension of IFML is proposed for Android to improve its usability and compatibility for Android apps. A formal definition of the IFML model is also given in this paper. The rich semantics of IFML models can elaborate the designs for Android apps, which will further systematically guide the development of these apps during their evolution. Moreover, these IFML models are used to check the consistency between design and implementation in the form of testing. In this way, the effort of writing test cases is reduced and productivity is enhanced as the apps evolve. A tool for modeling and testing for Android apps with IFML is presented, called ADAMANT. To verify the proposed approach's feasibility, ADAMANT is applied on five real-world apps. The results show that the use of the extended IFML in Android app development is effective, and the IFML models can directly be used for testing, ensuring the design is in consistent with the implementation. In this manner, it ensures the quality of development and benefits the sustainable development of apps.

    参考文献
    相似文献
    引证文献
引用本文

陆一飞,潘敏学,张天,王林章,李宣东.面向安卓应用建模的IFML扩展.软件学报,2019,30(10):3148-3167

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2018-08-31
  • 最后修改日期:2018-10-31
  • 录用日期:
  • 在线发布日期: 2019-05-24
  • 出版日期:
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号