可扩展性IFML元模型开发新的Web应用程序问题

2018-01-02 08:45李丹丹刘晓燕朱汇龙曹荣凯
软件 2017年12期
关键词:可扩展性用户界面应用程序

李丹丹,刘晓燕,朱汇龙,曹荣凯

(昆明理工大学 信息工程与自动化学院,云南 昆明 650500)

可扩展性IFML元模型开发新的Web应用程序问题

李丹丹,刘晓燕,朱汇龙,曹荣凯

(昆明理工大学 信息工程与自动化学院,云南 昆明 650500)

Web工程是开发Web应用的一种系统方法,大量的Web工程方法已被提出。 通过使用不同的机制捕获Web应用程序概念,定义新模型来扩展这些方法。由于Web应用程序的复杂性上升,Web工程方法无法再提供Web解决方案。尽管交互流建模语言(IFML)是最近被提出作为开发Web应用程序的新方法,但它有局限性。因此,这些方法需要改进。 在本文中,介绍了IFML可扩展性支持Web应用程序新问题的能力。此外,通过UML机制扩展IFML,以支持从上下文到用户界面的新问题。新的IFML通过定义新模型解决上下文Web应用程序的缺失,并成为开发现代Web应用的新方向。

web工程;IFML;可扩展性;元模型

0 引言

模型驱动开发(MDD)方法在软件开发过程中利用三个关键要素:模型,模型转换和元模型。近年来,由于Web系统设计中出现的挑战,大部分模型驱动方法已经有了改进。这些挑战归因于Web领域的新需求以及技术实施的变化在这里,改进是指采用将新问题考虑在内的新模型。

多年来,Web超媒体应用的范围有所扩大,成为确保用户访问正确信息的最佳方法。然而,在开发这些应用时,不同的超媒体建模活动面临着一些设计问题[1]。许多研究人员经历了诸如建模复杂业务流程,导航访问结构,活动和事务工作流程,用户依赖过程等设计问题[2-3]。为了处理这些设计问题,提出了一些利用不同建模概念和替代设计特征的超媒体方法。它们包括基于 UML的 Web工程(UWE)[4-7],面向对象的超媒体设计方法(OOHDM)[8],面向对象超媒体(OOH)[6-7]和网站设计方法(WDM)[9]。最后,交互流建模语言(IFML)[10]被认为是解决与 Web应用开发相关的当前问题的标准方法。例如,它有助于解决与移动应用和交互用户界面相关的问题。IFML是一种标准方法并经过十年的 WebML经验设计,但需要更多的扩展和改进,特别是对Web应用程序的新关注和特性。 问题是大多数以前的作品已经扩展了IFML以支持用户界面。 此外,还扩展了IFML元模型,通过UML机制支持从内容到用户界面的新问题。

1 分析IFML元模型的可扩展性

随着应用被安装在像桌面,笔记本电脑,智能手机,平板电脑和PDA系统上,IFML[10]改进了GUI平台独立的定义。 关键的重点是应用程序的行为和结构,如最终用户所观察到的。 本节中,在移动应用和 Web应用开发过程中分析 IFML元模型。 然后提取以前的扩展。

1.1 IFML工件

由OMG正式定义的IFML,在已被解释的技术工件中[10],最重要的工件如下:

·IFML元模型,指定元素之间的结构和关联;

·IFML是UML简档,意思是使用UML概念设计和扩展类图,状态机和元素。

·IFML视觉语法,它具有用于表示元素和模型的图形符号。

·总而言之,这些工件构成了IFML语言规范。每个都是根据OMG标准规定的:

·通过MOF元建模语言定义元模型。

·UML配置文件与UML 2.4配置文件策略一致。

·通过图定义(DD)和图交换(DI)OMG标准定义视觉语法。

·基于XMI定义模型序列化和交换格式。

1.2 IFML元模型

IFML元模型的定义是语言描述的最佳方法。将抽象,模块化,回收作为最佳可扩展性。 它由三个包组成:“核心包”,“扩展包”和“数据类型包”。第一个软件包是核心软件包,包含用于创建交互基础架构的所有概念,例如“交互流元素,交互流程和参数”。第二个包是扩展包,扩展的思想由核心包定义,第三个包是数据类型包,它具有由 UML的元模型确定的数据类型,并将一些 UML元类作为IFML元类的起源,并且假设IFML域模型在UML[10]中表示。

IFML模型被称为其他模型组件的顶级组件。它涉及领域模型,交互流模型以及观点。 交互流模型通过参考“交互流模型元素”集合提供用户的应用视图,并定义系统的完整功能部分。

1.3 IFML元模型的可扩展性

在本节中,讨论了Web工程方法中的扩展元模型,可扩展性IFML元模型;并讨论用于IFML和UML元模型的扩展机制。此外,在本节结尾处,分析了关于IFML扩展的现有工作。

为了解决网络工程方法中的新问题,定义了三种方式:1-将当前原始方法与附加模型结合,2-合并两种或三种方法,3-通过扩展或生成定义新模型或新方法[12]。此外,UML允许在元模型中扩展包[13]。另一方面,UML可扩展性机制允许设计者通过添加由原型,标记值和约束组成的新构建块来定制和扩展UML[14]。

扩展分类为扩展机制和扩展目的[15]。“扩展目的”涵盖了与目标扩展相关的目标,并反映了需要实现的目的。扩展机制被理解为用于扩展这种语言的 EML的明确机制或更一般的扩展方法。基于文献[16-17]和现有EML规范的综述,已经发展了以下机制,如图1,图2所示。

图1 合并扩展目的Fig.1 Merger expansion purposes

1.4 现有工作的IFML扩展

IFML作为2014年的新方法可以支持大多数交互方面,但也需要扩展,因为Web应用和移动应用日益增长,下表收集了所有扩展 IFML模型和元模型的论文。

根据语言的哲学,并不是所有可能的扩展都被允许。有效的扩展应该将核心概念改进或适应特定的情况,专门处理其语义而不改变它们。IFML规范明确提到,只有以下概念(及其专业化)可以扩展,同时保持符合标准:

图2 合并扩展机制Fig.2 Merge expansion mechanism

表1 现有工作中的IFML扩展Tab.1 IFML extensions to existing work

·查看容器(用于定义特定屏幕或界面容器);

·查看组件(用于描述特定小部件或控件);

·查看组件部分(用于指定现有或新的查看组件的特定属性);

·事件(涵盖平台特定事件);

·域概念和特征概念(用于覆盖其他内容源)以及行为概念和行为特征概念(用于涵盖与其他行为模型或建模语言的集成)。

根据标准,其他元素的扩展是不允许的。任何其他扩展概念将被视为专有的并且在IFML符号之外。

IFML是UML简档,IFML使用UML扩展机制,扩展 UML的四种常用机制是:规范,常规划分,装饰和扩展机制。

2 方法

在本节中,定义了一个扩展 IFML元模型的新框架,以支持开发Web应用的新问题。新模式将增强和扩充作为扩展目的,重点将元模型定制作为扩展机制。图3解释了框架,由五个步骤组成:步骤1是前面介绍的扩展之前的IFML,步骤2显示IFML元模型是三个包:核心包,扩展包和数据类型包,在第3步中解释了元模型包,第3节中分析这个包,包的细节非常重要,在第4步中使用UML扩展机制来扩展IFML以支持Web应用的新问题,最后一步是扩展后的新的IFML。

图3 扩展IFML元模型的新框架Fig.3 New framework for extending the IFML metamodel

基于过程开发IFML来涵盖生命周期[20],框架扩展了所有步骤,在扩展元模型中从内容到用户界面,扩展了交互流元素,交互流和参数。然后通过使用 UML机制,定义新的元素。这表明,元模型中增加的功能导致在结束Web应用时产生更多的可用性。扩展机制有助于研究人员改进Web应用开发的 Web工程方法。在下文中,介绍了从机制中[21]定义新元素的步骤,如图4所示。

图4 UML扩展机制[22]Fig.4 UML extension mechanism

3 设计案例研究

在本节中,将IFML为RIA设计的付款执行延伸为新概念,然而 IFML可以支持 RIA,为了证明框架,扩展了 IFML模型前端,之前设计了付款执行[20]。如图5所示。

RIA功能集中在客户端(C)和服务器(S)上,在图6中,扩展了查看组件,查看容器和参数,此外定义了一个用于检查客户端或服务器端的事件。

扩展后,根据UML扩展机制定义RIA元素,如下所述:

1. 名称:RIA;

2. 原型:ClientServer;

3. 属性{Title ClintServer =“ClintServer”,Number Elements = n,elements =“string”};

4. 属性列表(名称,数量,元素);

图5 模块付款执行的内部过程[20]Fig.5 The internal process of module payment execution

图6 模块付款执行的内部流程(RIA扩展)Fig.6 Module Payment Execution Internal Flow (RIA Extensions)

5. 上下文:ClientServer inv:name.size()<=40 inv:number> = 0 && number <= 100 inv:elements.size()<= 4;

4 结束语

在这项工作中,提出了一个用于扩展 IFML元模型的新框架,然后通过UML机制来扩展IFML,以支持从现代网络应用的内容到用户界面的新问题。扩展 IFML解决了语境的缺乏,成为开发现代网络应用功能的新方向。未来计划是改进为 IFML定义适应性模型的框架,以开发多网络应用。

[1] A. H. Jantan, et al., "Design Processes For Web-Based Hypermedia Engineering," 2007.

[2] H. A. Schmid and G. Rossi, "Modeling and designing processes in e-commerce applications," IEEE Internet Computing,vol. 8, pp. 19-27, 2004.

[3] S. S. Selmi, et al., "Toward a comprehension view of web engineering," in International Conference on Web Engineering, 2005, pp. 19-29.

[4] N. Koch and A. Kraus, "The expressive power of uml-based web engineering," in Second International Workshop on Web-oriented Software Technology (IWWOST02), 2002.

[5] P. Dolog and M. Bieliková, "Hypermedia systems modelling framework," in Computing and Informatics, 2002.

[6] J. Gómez and C. Cachero, "OO-H Method: extending UML to model web interfaces,"Information modeling for internet applications, pp. 144-173, 2003.

[7] N. Koch, et al., "Modeling web business processes with OO-H and UWE," in Third International Workshop on Web-oriented Software Technology (IWWOST03). Schwabe,D., Pastor, O., Rossi, G., Olsina, L.(eds.), 2003, pp. 27-50.

[8] D. Schwabe and G. Rossi, "Developing hypermedia applications using OOHDM," in Workshop on Hypermedia Development Process, Methods and Models, Hypertext, 1998.

[9] O. De Troyer and S. Casteleyn, "Modeling complex processes for web applications using wsdm," in Proceedings of the 3rd International Workshop on Web-Oriented Software Technologies, 2003, pp. 27-50.

[10] M. Brambilla and P. Fraternali, Interaction flow modeling language: Model-driven UI engineering of web and mobile apps with IFML: Morgan Kaufmann, 2014.

[11] M. Brambilla, et al., "Extending the interaction flow modeling language (IFML) for model driven development of mobile applications front end," in International Conference on Mobile Web and Information Systems, 2014, pp. 176-191.

[12] N. Moreno, et al., "Addressing new concerns in model-driven web engineering approaches," in International Conference on Web Information Systems Engineering, 2008, pp. 426-442.

[13] D. D’Souza, et al., "First-class extensibility for UML—Packaging of profiles, stereotypes, patterns," in International Conference on the Unified Modeling Language, 1999, pp.265-277.

[14] J. Farhad, "The UML Extension Mechanisms, "Department of Computer Science, University College London, 2002.

[15] R. Braun, "Towards the state of the art of extending enterprise modeling languages," in Model-Driven Engineering and Software Development (MODELSWARD), 2015 3rd International Conference on, 2015, pp. 1-9.

[16] C. Atkinson, et al., "Modeling language extension in the enterprise systems domain," in Enterprise Distributed Object Computing Conference (EDOC), 2013 17th IEEE International, 2013, pp. 49-58.

[17] R. Braun and W. Esswein, "Classification of domain-specific bpmn extensions," in IFIP Working Conference on The Practice of Enterprise Modeling, 2014, pp. 42-57.

[18] R. Acerbis, et al., "Model-Driven Development Based on OMG’s IFML with WebRatio Web andMobile Platform," in International Conference on Web Engineering, 2015, pp.605-608.

[19] R. Acerbis, et al., "Model-Driven Development of Cross-Platform Mobile Applications with Web Ratio and IFML," in Mobile Software Engineering and Systems (MOBILESoft),2015 2nd ACM International Conference on, 2015, pp. 170-171.

[20] K. Wakil and D. N. Jawawi, "Analyzing Interaction Flow Modeling Language in Web Development Lifecycle,"INTERNATIONAL JOURNAL OF ADVANCED COMPUTER SCIENCE AND APPLICATIONS, vol. 8, pp. 286-293, 2017.

[21] P. Desfray, "UML Profiles versus Metamodel extensions: An ongoing debate," in OMG’s UML Workshops: UML in the.com Enterprise: Modeling CORBA, Components, XML/XMI and Metadata Workshop, 2000, pp.6-9.

[22] D. Philippe, "UML Profiles versus Metamodel extensions:An ongoing debate," in OMG’s UML Workshops: UML in the. com Enterprise: Modeling CORBA, Components, XML/XMI and Metadata Workshop, 2000, pp.6-9.

[23] N. Laaz and S. Mbarki, "Combining Ontologies and IFML Models Regarding the GUIs of Rich Internet Applications,"in International Conference on Artificial Intelligence: Methodology, Systems, and Applications, 2016, pp. 226-236.

[24] J. Blanckaert, "Integrating the Interaction Flow Modelling Language (IFML) into the Web Semantics Design Method(WSDM)," 2015.

Extensibility Interaction Flow Modeling Language Metamodels to Develop New Web Application Concerns

LI Dan-dan, LIU Xiao-yan, ZHU Hui-long, Cao Rong-kai
(School of Information Engineering and Automation, Kunming University of Science and Technology, Kunming, Yunnan, 650500)

Web engineering is a systematic approach to develop web applications, and numerous web engineering methods have been proposed. These methods were extended through defining new models by using different mechanisms to capture the web application concepts. Due to the complexity rising of web applications, the web engineering methods cannot provide web solutions anymore. Even though Interaction Flow Modeling Language (IFML)is recently proposed as a new method for developing web applications, it has limitations. Therefore these methods need to be improved. In this paper, we present the ability of IFML extensibility to support new concerns from web applications. Moreover, we extend IFML through UML mechanisms to support new concerns from the context to the user interface. The new IFML solves the lack of context web application through defining a new model and becomes a new direction to develop concerns modern web applications.

Web Engineering; IFML; Extensibility; Metamodel

TP311.5

A

10.3969/j.issn.1003-6970.2017.12.046

本文著录格式:李丹丹,刘晓燕,朱汇龙,等. 可扩展性IFML元模型开发新的Web应用程序问题[J]. 软件,2017,38(12):233-237

李丹丹(1993-),女,安徽六安人,昆明理工大学信息工程与自动化学院硕士研究生,研究方向为模型驱动方法、web应用开发。

刘晓燕(1964-),女,云南昆明人,博士,昆明理工大学信息工程与自动化学院副教授、研究生导师,研究方向为模型驱动方法。

猜你喜欢
可扩展性用户界面应用程序
自然用户界面在智能家居系统中的应用路径创新研究:生成式人工智能技术的调节作用
基于CiteSpace的国外用户界面体验图谱量化分析
删除Win10中自带的应用程序
恩智浦推出全新i.MX 8X 处理器,为工业应用带来更高的安全性、可靠性和可扩展性
电力监控软件的可扩展性设计
构建高可扩展性的物流装备管理系统
基于B/S的跨平台用户界面可配置算法研究
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序