Support for development and test of web application: A tree-oriented model

Similar documents
Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Experimentation of a 1-pixel bit reconfigurable ternary optical processor

Software Architectures

Introduction. ADL Roles

A Rapid Development Method of Virtual Assembly Experiments Based on 3D Game Engine Wenfeng Hu 1, a, Xin Zhang 2,b

A Finite State Mobile Agent Computation Model

Auto-Generating Test Sequences for Web Applications *

A Training Simulator for PD Detection Personnel

University of Groningen. Towards Variable Service Compositions Using VxBPEL Sun, Chang-ai; Aiello, Marco

High Capacity Reversible Watermarking Scheme for 2D Vector Maps

Object-Oriented Design

Formal Description of Simulation Runtime Support Platform Architecture with XYZ/ADL

A Model Driven Approach to Design Web Services in a Web Engineering Method 1

Modeling Systems Using Design Patterns

Components Based Design and Development. Unit 3: Software Design Quick Overview

Enabling Component-Based Model Transformations with QVT. Li Dan

Comparative analyses for the performance of Rational Rose and Visio in software engineering teaching

Construction of BPMN-based Business Process Model Base

Automatic analysis technology for aviation equipment software requirements ZHOUHan-Qing, LI Hai-Feng,HUANG Yan-Bing

Model-Based Self-Adaptation from Requirements to Architectures: A Decision- Making Process. Bihuan Chen

The Analysis and Design of the Object-oriented System Li Xin 1, a

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

An Intelligent Retrieval Platform for Distributional Agriculture Science and Technology Data

A Compatible Public Service Platform for Multi-Electronic Certification Authority

Research on the Knowledge Representation Method of Instance Based on Functional Surface

Collaborative Framework for Testing Web Application Vulnerabilities Using STOWS

A Top-Down Visual Approach to GUI development

Architectural Blueprint

A Tutorial on Agent Based Software Engineering

Master of Science Thesis. Modeling deployment and allocation in the Progress IDE

A Modular k-nearest Neighbor Classification Method for Massively Parallel Text Categorization

Qingdao, , China. China. Keywords: Deep sea Ultrahigh pressure, Water sound acquisition, LabVIEW, NI PXle hardware.

Component-Based Software Engineering TIP

Research on Improvement of Structure Optimization of Cross-type BOM and Related Traversal Algorithm

Improving Suffix Tree Clustering Algorithm for Web Documents

INTEGRATING COLORED PETRI NET AND OBJECT ORIENTED THEORY INTO WORKFLOW MODEL

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

Models versus Ontologies - What's the Difference and where does it Matter?

An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs)

A Component Retrieval Tree Matching Algorithm Based on a Faceted Classification Scheme

Design Analysis Method for Multidisciplinary Complex Product using SysML

Design and Implementation of Inspection System for Lift Based on Android Platform Yan Zhang1, a, Yanping Hu2,b

Aspect-Orientation from Design to Code

International Journal of Advance Research in Engineering, Science & Technology. Study & Analysis of SOA based E-Learning Academic System

UML-Based Conceptual Modeling of Pattern-Bases

High Level Architecture and Agent Technology based Astronautics Simulation Platform and Cluster Computing Environment s Construction

The Impact of SOA Policy-Based Computing on C2 Interoperation and Computing. R. Paul, W. T. Tsai, Jay Bayne

Component-Based Software Engineering TIP

An Architecture-Based Approach for Component-Oriented Development

A Test Sequence Generation Method Based on Dependencies and Slices Jin-peng MO *, Jun-yi LI and Jian-wen HUANG

and Molds 1. INTRODUCTION

Multi-dimensional database design and implementation of dam safety monitoring system

Spemmet - A Tool for Modeling Software Processes with SPEM

A SIMULATION ARCHITECTURE DESCRIPTION LANGUAGE FOR HARDWARE-IN-LOOP SIMULATION OF SAFETY CRITICAL SYSTEMS

Impact of Dependency Graph in Software Testing

Transforming UML Collaborating Statecharts for Verification and Simulation

Design and Implementation of Portable Development Framework in Signal Processing Platform

Model Based Testing in Web Applications

The Establishment of Large Data Mining Platform Based on Cloud Computing. Wei CAI

The Application Research of 3D Simulation Modeling Technology in the Sports Teaching YANG Jun-wa 1, a

The Analysis and Optimization of KNN Algorithm Space-Time Efficiency for Chinese Text Categorization

Journal of Chemical and Pharmaceutical Research, 2015, 7(3): Research Article

The Research on the Method of Process-Based Knowledge Catalog and Storage and Its Application in Steel Product R&D

LOGICAL OPERATOR USAGE IN STRUCTURAL MODELLING

Object-Oriented Design

CSC Advanced Object Oriented Programming, Spring Overview

Hierarchical vs. Flat Component Models

Component-based Architecture Buy, don t build Fred Broks

A Design Method for Composition and Reuse Oriented Weaponry Model Architecture Meng Zhang1, a, Hong Wang1, Yiping Yao1, 2

Metamodeling for Business Model Design

Chapter 4 Extending MARIA to Support Distributed User Interfaces

Component-Based Technologies for End-User Development

Research on Heterogeneous Communication Network for Power Distribution Automation

Minimal Test Cost Feature Selection with Positive Region Constraint

Minsoo Ryu. College of Information and Communications Hanyang University.

FastCluster: a graph theory based algorithm for removing redundant sequences

Design and Implementation of Aquarium Remote Automation Monitoring and Control System

A Reliability Model Based on Heterogeneous Software Architecture

A Proxy-Based Dynamic Inheritance of Soft-Device

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

SE 1: Software Requirements Specification and Analysis

Construction of Knowledge Base for Automatic Indexing and Classification Based. on Chinese Library Classification

Ghassan Samara Internet Technology Department Zarqa University, Jordan.

Scalable Hierarchical Summarization of News Using Fidelity in MPEG-7 Description Scheme

Man-hour Estimation Model based on Standard Operation Unit for Flexible Manufacturing System

arxiv: v3 [cs.fl] 5 Mar 2017

Research of the Rule Engine based on XML

SE Assignment III. 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example.

THE VEGA PERSONAL GRID: A LIGHTWEIGHT GRID ARCHITECTURE

Generation Rules in POMA Architecture

TRANSITIONING PROJECTS TO A MODEL-BASED APPROACH

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model

Towards Reusable Automation System Components

Compositional Model Based Software Development

Joint Agile Delivery Phase 3

CS:2820 (22C:22) Object-Oriented Software Development

Recalling the definition of design as set of models let's consider the modeling of some real software.

Using Component-oriented Process Models for Multi-Metamodel Applications

A Service-Centric Architecture for Web Applications

Multi-Source Spatial Data Distribution Model and System Implementation

Transcription:

J Shanghai Univ (Engl Ed), 2011, 15(5): 357 362 Digital Object Identifier(DOI): 10.1007/s11741-011-0751-1 Support for development and test of web application: A tree-oriented model CAO Min (ù ), CAO Zhen (ù ), LI Hai-qiang (o r) School of Computer Engineering and Science, Shanghai University, Shanghai 200072, P. R. China Shanghai University and Springer-Verlag Berlin Heidelberg 2011 Abstract Building an abstract model of the web application is the chief task of software test based on model, which is an efficient way for testing the web application. One problem with current web application test technologies is the lack of tools for modeling the whole web software, especially the lack of support for describing web application from the view of action and function. This paper is concerned with providing the support for development and test of the web application. The presented novel model, named component-based and tree-oriented web application development model (CBTOWADM), abstracts the web application as a tree based on its system function and business process. CBTOWADM not only simplifies the design and development of the web application, but also acts as the model middleware for software test. The basic model definition, the system framework and the application in software test of CBTOWADM is described. Keywords web application, software architecture, software test, component Introduction As web applications become more complex, inevitably testing web applications have also become complex and the code cumbersome to maintain. To ease the difficulty of web application testing, a plethora of automated tools and testing frameworks are now available for different aspects of testing. However, most of the existed test tools, including checking tool of link, validation of HTML, catching and roll-back tools, security testing tools, work load testing tools, and so on, are static certification and measuring tools and do not support the function testing of the web application [1]. Model-based testing method of web application provides the support of automatic test case generation for testing function of the web application. The chief task of the software test based on model is building the abstract model of the web application. Currently, the approaches of building the model of web applications in common use are generally describing the web pages and the relations between different web pages through UML or entity-relation graph, while the dynamic behavior and actions of the web application are modeled by using decision-making or state chart. These approaches seldom model web applications from the view of their behavior, action and function, let alone present functional testing scheme [2]. Andrews, et al. addressed the problem of automatically testing web applications at the system level. They used a hierarchical approach to model potentially large web applications. The approach builds hierarchies of finite state machines (FSMs) that model subsystems of the web applications, and then generates test requirements as subsequences of states in the FSMs. These subsequences are then combined and refined to form complete executable tests. The constraints are used to select a reduced set of inputs with the goal of reducing the state space explosion otherwise inherent in using FSMs [3]. However the test of the interconnection or interaction between components and component composition is ill-considered in this approach. This paper focuses on modeling the web application and the approach of software test based on model. The research concerns the decomposition of the web application. After that, the components constitute the web application and the relations between these components are analyzed. Thus, it is possible to model the web application from the view of system function and com- Received Apr.11, 2011; Revised May 20, 2011 Project supported by the National High-Technology Research and Development Program of China (Grant No.2007AA01Z144), and the Shanghai Leading Academic Discipline Project (Grant No.J50103) Corresponding author CAO Min, Ph D, Prof, E-mail: mcao@shu.edu.cn

358 J Shanghai Univ (Engl Ed), 2011, 15(5): 357 362 ponent interconnection. 1 Related work of modeling web application Component-based software development (CBDS), which combines the thought of software reuse and the thought of object oriented, builds the software system by assembling and reusing the existed components effectively. However, the components it uses are binary system which leads to the lack of the understanding and description of the whole architecture when implementing the software system. Software architecture offsets this kind of insufficiency to a turn. The software development approach based on software architecture concerns how to represent the architecture of software and how to abstract the software system by using a concrete model. That is, it focuses on how to describe the software architecture. There are three categories of the description method of the software architecture. They are formal language, half-formal method and non-formal description. The research on formal description method of the software architecture includes C2, Darwin, Wright, ACME, etc. The influential architecture describe language (ADL) includes Aesop, Unicon, Rapide, SADL, MetaH, Weave, and so on [4]. Domestic research includes FRADL, A-ADL, XYZ/ADL, Tracer, D-ADL, and the like [4]. The unified modeling language, or the UML, is a graphical modeling language that provides us with a set of syntax for describing the major elements, called artifacts in the UML, of software systems. It is an acknowledged software modeling language, and is used not only in software but also in other fields, such as computer hardware design, business deal flow, and so on. The research on software description methods based on UML includes ConcernBASE, WebML [4], etc. However, these methods are lack of the implementing ability of the existed conceptive design. Object-oriented web solutions (OOWS) model [5] is a kind of non-formal software description method. It describes the level of implementation and navigation of the web application through converting the user s requirement into conceptual method of software architecture. The similar typical methods include object-oriented hypermedia design (OODHM) model and OO-H model [4]. The other non-formal software description methods contain user interface-based and graph-based approach [4]. Considering the insufficient of CBSD, more and more system development approaches combine CBDS technology with software architecture description. On one hand, CBDS takes the thought of software reuse, as well as contains mature component technology and component specification. On the other hand, software architecture description abstracts the software system as formal language description or intuitional and understandable non-formal description from the macroscopical view of the whole system. It can also achieve the aim of software reuse through assembling the components to software system. One of the typical approaches combining CBDS with software architecture is architecture based component-oriented (ABC) [6] proposed by software research institution of Beijing University. This paper presents a novel approach of developing web application, named component-based and tree-oriented web application development model (CBTOWADM). It abstracts the business process and system function of a web application as a logic tree, and uses existed components reasonably to integrate the required web application. On one hand, the persons who are familiar with the business process but lack the programming experience and technique can design, develop, configure and reconfigure the web application by making use of CBTOWADM. On the other hand, the skilled programmer or system designer can model an existed web application through analyzing and decomposing it by using the CBTOWADM model. The existed web application can be tested by converting its CBTOWADM model to an abstract testing model when necessary. 2 Research on modeling web application This paper researches the application of web software architecture model in the test of software. 2.1 Definition of CBTOWADM Generally speaking, according to the business process and system function, a web application can be divided into different parts called module. Each module can be divided into different smaller modules, which are called sub modules. Each module or sub module calls component or components to realize its function. CBTOWADM combines this kind of thought to development method based on component. It uses a logic tree to model a web application, as shown in Fig.1. The root of a tree represents the whole web system. One non-terminal node can either be a module, a sub module or be a called component. The leaf nodes of the tree generally are bind components. The nodes represent module or sub module are named as module node, and the nodes bind to components are named as component node. One component can be called by one or more module/sub module, thus the architecture of a web application may exchanged from a logic tree to a logic graph. In order to maintain the characteristics of the logic tree, CBTOWADM allows more than one node to bind to a same component. As is shown in Fig.1, both Sub Module 1 (SM1) and Sub Module 2 (SM2) are called Component 1 (C1), thus two nodes named C1 and C1

J Shanghai Univ (Engl Ed), 2011, 15(5): 357 362 359 respectively are generated and both nodes bind to Component 1. In fact, the leaf nodes C1 and C1 relate to the same component or the different instances of the same component. Fig.1 CBTOWADM model of a web application According to above thought, CBTOWADM is defined as a 5-tuple (T, f m, f c, f n, I), where T a logic tree, I a finite interface-level set of operations predefined on the tree T,andf m, f c, f n all mappings. The concrete definitions are as follows. Definition 1 T isalogictreerepresentsawebapplication. Its extension includes: (i) A finite set of R is introduced to represent the relations between a tree node and its parent. Each rel R is a method call, an inherited relation, and so on, and each rel can own a value. (ii) Each node of a tree can bind to a component. (iii) All the nodes of a tree can be different types, such as a module node means a business process, and a component node binds to a concrete component, etc. Definition 2 f m : M N, is a mapping from nodes of a tree to function modules of a web application. N is a finite set of nodes of a logic tree except the root. M is a finite set of function modules or business processes which compose a web application. f m allows the user to map a node of a tree to a module of a web application. Definition 3 f c : C N, is a mapping from nodes of a tree to components. N is a finite set of nodes of a logic tree except the root. C is a finite set of component entities, each of which contains component description, component implementation, and such useful information of the component. f c allowstheusertomapanodeof a tree to a component. Definition 4 f n : N a N, is a mapping from nodes of a tree to navigation tree or sub navigation tree of a web application. A web application can behave itself as a navigation tree, and a logic tree or sub tree can be mapped to this kind of navigation tree. N a is a finite set of navigation trees that compose a web application. N is a finite set of nodes of a logic tree except all the leaf. f n allows the user to map a non-terminal node of a tree to a navigation tree of a web application. Definition 5 I is a finite interface-level set of operations predefined on a logic tree. It provides a complete suit of API, which are extended from the basic operations of a logic tree. 2.2 Framework of CBTOWADM A component of CBTOWADM can be a dynamic link library, a web page, the logic function of a web page, a class, a web service, a database or a table of a database, an image file, and so on. The dependencies of components can be static or dynamic. In order to describe the software architecture of a web application, and develop the web application by using the described software architecture, CBTOWADM provides the support of component description and component dependency description [7]. The framework of CBTOWADM is shown in Fig.2. Fig.2 Framework of CBTOWADM CBTOWADM consists of user interface, storage level and CBTOWADM runtime. The user interface provides the user a visual development toolkit. The user describes components, component dependencies and models a web application either by calling CBTOWADM API or through visual operations that the user interface provides. The storage level gives the rules of description and storage of the software architecture, components, component dependencies, and so on. The description of components, component dependencies and software architecture of the whole web application by using CBTOWADM user interface is automatically generated and stored in related file. CBTOWADM runtime is responsible for the management and coordination of the programming configuration, the check of availability, the check of consistency, and so on. It is based on CBTOWADM library and is also responsible for finding related component entity in component library according to the component description.

360 J Shanghai Univ (Engl Ed), 2011, 15(5): 357 362 2.3 Developing web application by CBTO- WADM Similar to the thought of CBDS, the main practices relating to components and systems in CBTOWADM contains the following phases: (i) component requirement analysis, (ii) component development, (iii) component description, (iv) component certification, (v) software system architecture design, (vi) software system integration, (vii) software system test. The flow of integrating a web application is shown in Fig.3. Fig.3 CBTOWADM integration flow One of the goals of CBTOWADM is describing and designing the web application. In the development and implementation of the web application, CBTOWADM abstracts the software architecture of a web application as a logic tree oriented to business process and system function. The existed components can be reused. The users who develop web application by CBTOWADM can be utterly ignorant any programming language. They can describe the software architecture, develop the software system and configure the developed web application dynamically as long as they understand the system function and business process of the web application, as well as know which components are able to achieve the required function. Figure 4 illuminates the procedure of development of web application by using CBTOWADM. In Fig.4, the CBTOWADM approach is shown in dashed frame, which contains four parts: a logictreerepresentsthesoftware architecture, a set of API predefined on logic tree, a formal description of the tree, and a visual user-friendly development tool. CBTOWADM abstracts a web application as a logic tree and provides formal description. It also provides a set of API predefined on tree structure, as well as a set of visual development tool for building, editing, and modifying the logic tree. Besides, CBTOWADM offers Fig.4 Development procedure of CBTOWADM a set of formal description rule and stores all the related information of the tree. One of the advantages of CBTOWADM is that any user who only knows the system function and business process of a web application can develop the required web system. Generally speaking, a skilled programmer or software designer seldom acquaints himself with ecumenical business, and that an ecumenical operator is hardly ever accomplished in any programming language or software design. CBTOWADM narrows the gap between the software development and the investigation of business. The skilled software developer implements and describes the components, and the ecumenical operator assembles and configures the web application by using the visual development tool. Of course, a web application can be assembled and configured by the programmer through CBTOWADM API. Anyway, all the modifications or reconfigurations of a web application are abstracted as the operations on a logic tree. These operations on the tree can be implemented by using visual tool or by the APIs. 3 Application of CBTOWADM in software test CBTOWADM can be used either when developing a web application by assembling the existed components or when testing a web application through the modelbased testing approaches and tools. 3.1 Model abstract of web application In the procedure of software test of the web application, some of the web applications are constructed according to certain model, such as UML or FSM, and abide the rules of the model strictly. However, there are web applications which are developed without any model. Therefore, it is difficult to test these web applications constructed ad arbitrium. CBTOWADM settles this problem well. It abstracts the model of the web application, as shown in Fig.5. First, the function of the web application which is waiting for testing is analyzed and abstracted. The web application is divided into different modules from the view of the software architecture, and the relations and interconnections between different modules are analyzed. Then, according to the approach provided by

J Shanghai Univ (Engl Ed), 2011, 15(5): 357 362 361 CBTOWADM, the decomposed modules of the web application are abstracted as components. The relations and interconnections between modules are abstracted to component dependencies. The components and component dependencies are described according to the rules of CBTOWADM. Based on these component descriptions and component dependency descriptions, the web application is abstracted and described as a logic tree. After that, the decomposed components, business process, system function, and so on, are matched to component description, component dependency description, and logic tree, respectively. Last, the components are analyzed and decomposed concretely when necessary, and the static or dynamic component dependencies are found. to produce abstract components and complete component description, including function, programming language, run environment, and all the relevant resources relate to each component. In the integration and development of the web application, system architecture design is the process of evaluating, selecting and creating software architecture of a web-based system. In the decomposition and analysis of the web application, system architecture description is the back process of system architecture design. It describes the software architecture of the web application, as well as the component dependencies, especially the dynamic component dependencies. 3.2 Apply CBTOWADM when testing the web application Figure 5 illustrates the procedure of modeling an existed web application. That is, the CBTOWADM model of an existed web application is abstracted according to above steps. The next step for testing the web application is transforming the CBTOWADM model to an appropriate model, such as UML or FSM. Then the test cases are produced automatically. Figure 6 hints the application of CBTOWADM in software test approach and test tool. Fig.5 CBTOWADM model of web application The above procedure decomposed a web application step by step from the view of system function. Both the components and component dependencies are described, as well as the whole web application is abstracted and described. Thus, not only is the skilled programmer or software designer able to describe the software architecture of the web application, the decomposed components and the component dependencies, but also the ecumenical business operator who is familiar with system function and business process instead of software development technique is able to describe the web application and component dependencies easily. Of course, the detailed analysis and model construction of components is usually delivered to skilled software developer. Similar to the development of the web application, component analysis, is important in the decomposition of the web application. And where the shoe pinches about component analysis is component requirement or function analysis. Component requirement analysis is the process of discovering, understanding, documenting, validating and managing the requirements for a component. The objectives of component requirement analysis are to produce complete, consistent and relevant requirements that a component should realize, as well as the programming language, the platform and the interfaces related to the component. Analogously, the objectives of component function analysis are Fig.6 Web application test system based on model The web applications, which are developed according to certain model, such as UML, can be described by using its model directly. The other web applications are abstracted and described by using CBTOWADM. Then, the CBTOWADM or UML description of the web application is abstracted as an appropriate model, which is suitable for software test, through model transition. The abstracted model is described by formal or halfformal approach, such as FSM. After that, the transformational model is tested and verified. Combining the verified model with the induction of test case engendered by test analyser, the test case generator produces abstract test package. The abstract test package is tested by test runtime, which is constituted of test engine, analysis engine, and so on. The generated test run path can be used to optimize and extend the test case induction. The above procedure is executed repeatedly, and at last, the test result of the web application is verified.

362 J Shanghai Univ (Engl Ed), 2011, 15(5): 357 362 3.3 Test example In order to evaluate the validity and efficiency of the proposed approach, a user login sub-module, which is used far and wide in web application, is analyzed and tested. A typical user login sub-module, which is used to complete the input and validation of a user s information, contains three components. The first component is user login page, which receives the login information of a user and feeds back the result of information validation. It is usually a page level component. The second component is validation encapsulates property and method of validating user s information. The third component is access of database, whose main method is read data from related database. The description of the sub module by CBTOWADM is shown in Fig.7. Fig.7 User login sub module The three components, no matter they are web page, class, or dynamic link library, etc., can be found in related web application. According to Fig.7, the components and component dependencies are described clearly and the corresponding test model can be established easily. Then, the test cases can be generated automatically [2]. Last, the test of the web application can be put up. In different web applications, the concrete three components may be different. As long as the logic dependencies are unconverted, the same test cases can be used in different web applications. In order to evaluate the efficiency of the proposed approach, we test the run time of component substitution. The result is shown in Table 1. Table 1 Experimental result of component substitution Number of replaced Configuration Normal run components time/ms comparatively time/ms 1 982 420 2 1 098 509 3 1 173 570 4 1 293 643 5 1 403 716 The experimental result shows that it is feasible to replace components in sub module of user login. That is, as long as the related components can be found in different web applications, a new sub system, which possesses the same function and uses the same test cases, is established dynamically quickly by using CBTOWADM. 4 Conclusions CBTOWADM describes the software architecture of the web application by using the logic tree structure. It not only simplifies the development and assembly of the web application, but also realizes the non-gap connection between requirement, design of a web application and development, assembly of it. CBTOWADM can also abstracts the function model of existed web application for software test. The future work includes research and development of model verification tool and automatic model transformation tool. References [1] Hower R. Web site test tools and site management tools [EB/OL]. (2002-09-01) [2011-04-11]. http:// www.softwareqatest.com/qatw eb1.html. [2] Li L P, Miao H K, Chen S B. Test generation for web applications using model-checking [C]// 2010 11th ACIS Internationd Conference on Sofware Engineering, Artificial Intelligence, Networking and Parallel/ Distributed Computing, Washington, DC, USA. 2010: 237 242. [3] Andrews A, Offutt J, Alexander R. Testing web applications by modeling with FSMs [J]. Software Systems and Modeling, 2005, 4(3): 326 345. [4] Xing Tian-yang. A component-based approach for web application development and configuration [D]. Doctoral dissertation, Shanghai: Shanghai University, 2010 (in Chinese). [5] Valderas P, Pelechano V. Introducing requirements traceability support in model-driven development of web applications [J]. Information and Software Technology, 2009, 51(4): 749 768. [6] Mei Hong, Chen Feng, Feng Yao-dong, Yang Jie. ABC: An architecture based, component oriented approach to software development [J]. Journal of Software, 2003, 14(4): 721 732 (in Chinese). [7] Ye Fei, Zhao Wen-geng, Peng Xin. A componentassembling based approach to web application development [J]. Journal of Nanjing University (Natural Science), 2005, 41(Z1): 405 410 (in Chinese). [8] Li Qing-yu, Cai Hai-lin. Web application based on plug-ins structure [J]. Computer Science, 2009, 36(4A): 331 333 (in Chinese). (Editor CHEN Hai-qing)