Evolution Feature Oriented Model Driven Product Line Engineering Approach for Synergistic and Dynamic Service Evolution in Clouds



Similar documents
Applying 4+1 View Architecture with UML 2. White Paper

Increasing Development Knowledge with EPFC

UPS battery remote monitoring system in cloud computing

CONCEPTUAL MODEL OF MULTI-AGENT BUSINESS COLLABORATION BASED ON CLOUD WORKFLOW

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Research on Risk Analysis and Management in the Software Development Process. Quanzhou Huang

Research on Operation Management under the Environment of Cloud Computing Data Center

To introduce software process models To describe three generic process models and when they may be used

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

Towards Collaborative Requirements Engineering Tool for ERP product customization

Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing

Sla Aware Load Balancing Algorithm Using Join-Idle Queue for Virtual Machines in Cloud Computing

A Review of an MVC Framework based Software Development

How To Understand Software Engineering

Business-Driven Software Engineering Lecture 3 Foundations of Processes

COMP 354 Introduction to Software Engineering

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Big Data - Infrastructure Considerations

An Oracle White Paper October Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus

What is a life cycle model?

Unified Batch & Stream Processing Platform

Software Testing Strategies and Techniques

Semarchy Convergence for Data Integration The Data Integration Platform for Evolutionary MDM

KNOWLEDGE NETWORK SYSTEM APPROACH TO THE KNOWLEDGE MANAGEMENT

Chap 1. Introduction to Software Architecture

Patterns & Techniques for Separating Business Logic in New SOA System Development. Iyad Jabri Intelliun Corporation CEO

Optimization and Ranking in Web Service Composition using Performance Index

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

The Service Revolution software engineering without programming languages

A Software and Hardware Architecture for a Modular, Portable, Extensible Reliability. Availability and Serviceability System

Operation and Maintenance Management Strategy of Cloud Computing Data Center

Design of Data Archive in Virtual Test Architecture

Requirement Engineering in Service-Oriented Architecture

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations

A QoS-Aware Web Service Selection Based on Clustering

BigData. An Overview of Several Approaches. David Mera 16/12/2013. Masaryk University Brno, Czech Republic

IT3205: Fundamentals of Software Engineering (Compulsory)

Authentication. Authorization. Access Control. Cloud Security Concerns. Trust. Data Integrity. Unsecure Communication

A Survey of Software Development Process Models in Software Engineering

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Components Of Successful Software Development. Mobi-Sys Internet Solutions Inc. Software Development Solutions and Consulting

Business Process Management Enabled by SOA

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Business Process Modeling and Standardization

A Brief Analysis on Architecture and Reliability of Cloud Based Data Storage

HUAWEI Advanced Data Science with Spark Streaming. Albert Bifet

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

A Framework of Model-Driven Web Application Testing

A New Method for Traffic Forecasting Based on the Data Mining Technology with Artificial Intelligent Algorithms

How To Create A C++ Web Service

Three Stages for SOA and Service Governance

Software Reuse in the Emerging Cloud. Computing Era. Hongji Yang DeMontfort University, Xiaodong Liu Edinburg Napier University, UK REFERENCE

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

BIG DATA IN THE CLOUD : CHALLENGES AND OPPORTUNITIES MARY- JANE SULE & PROF. MAOZHEN LI BRUNEL UNIVERSITY, LONDON

Roles for Maintenance and Evolution of SOA-Based Systems

CS4507 Advanced Software Engineering

FIPA agent based network distributed control system

Government's Adoption of SOA and SOA Examples

Business Modeling with UML

Semantic Concept Based Retrieval of Software Bug Report with Feedback

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

ABHINAV NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN SCIENCE & TECHNOLOGY

Task Scheduling in Hadoop

EXPLORATION TECHNOLOGY REQUIRES A RADICAL CHANGE IN DATA ANALYSIS

Design of Electric Energy Acquisition System on Hadoop

Lesson 18 Web Services and. Service Oriented Architectures

Telecom Data processing and analysis based on Hadoop

EVALUATING PAAS SCALABILITY AND IMPROVING PERFORMANCE USING SCALABILITY IMPROVEMENT SYSTEMS

Concern Driven Software Development

Elite: A New Component-Based Software Development Model

CS 6361, SPRING 2010 Advanced Requirements Engineering Web Based Meeting Scheduler- Project Plan

DESIGN OF VIRTUAL LEARNING ENVIRONMENT USING SCORM STANDARDS

SystemDesign Methodologies

OpenText Information Hub (ihub) 3.1 and 3.1.1

A Database Hadoop Hybrid Approach of Big Data

IMPROVED SECURITY MEASURES FOR DATA IN KEY EXCHANGES IN CLOUD ENVIRONMENT

A standards-based approach to application integration

Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing

The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.

Robot Task-Level Programming Language and Simulation

Secure Document Circulation Using Web Services Technologies

Lund, November 16, Tihana Galinac Grbac University of Rijeka

ORACLE DATA INTEGRATOR ENTERPRISE EDITION

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch

A Load Balancing Algorithm based on the Variation Trend of Entropy in Homogeneous Cluster

Transcription:

Evolution Feature Oriented Model Driven Product Line Engineering Approach for Synergistic and Dynamic Service Evolution in Clouds Zhe Wang, Xiaodong Liu, Kevin Chalmers School of Computing Edinburgh Napier University EH10 5DT, Edinburgh, UK {z.wang2, x.liu, k.chalmers}@napier.ac.uk Guojian Cheng, Hongchun Wei School of Computer Science Xi an Shiyou (Petroleum) University DianZi 2nd Road 18, Xi'an, China {gjcheng,hcwei}@xsyu.edu.cn Abstract - Evolution Requirement can be classified into evolution features; researchers can describe the whole requirement by using evolution feature typology, the typology will define the relation and dependency between each features. After the evolution feature typology has been constructed, evolution model will be created to make the evolution more specific. Aspect oriented approach can be used for enhance evolution feature-model modularity. Aspect template code generation technique will be used for model transformation in the end. Product Line Engineering contains all the essential components for driving the whole evolution process. Index Terms -Evolution Feature, Evolution Pattern; Clouds Computing; Service Evolution; Model Driven Product Line Engineering I. INTRODUCTION What is Software Evolution? Software evolution is part of software engineering, it will make the software can continuously capture the new requirement from people, including function requirement and non-function requirement. Function requirement is to make the system can do more for people whether non-function requirement is mainly related to quality of software, software architecture optimization, system evolvability, system stability, system robust, etc. Why We Need Service Evolution in Clouds? In order to achieve the software evolution in clouds environment, we need specific approach for service evolution in clouds, service here means software as service for people. Service can be published through web service or EJB to the clouds. People using this service through invoke it interface by knowing its WSDL description. Service can be organized together through BPEL; BPEL is flexible in order to adapting itself with changing requirement and environment in order to get the best system performance. It seems to be that service evolution in clouds is just evolution of these web service and BPEL which re-organized them together, but the fact is that we must take the clouds feature into consideration in order to maximize the advantage we can get to support service running in clouds. Such feature will certainly affect the service evolution in clouds cause service will be branded with clouds feature after it has been evolved by our approach. We will both consider function and non-function requirement in the approach[1][2][3]. Ⅱ THE APPROACH AND How to Achieve The Approach? The software evolution approach will have six major steps in the Evolution Life Cycle which are Evolution Requirement Specification, Evolution Design Definition, Evolution Implementation, Evolution Execution, Evolution Testing and Further Evolution. 1 Evolution Requirement Specification The evolution requirement specification is the vital part of the evolution life cycle. The quality we have for the evolution requirement specification will directly affect the quality of service evolution in clouds. In order to make the service evolution specification we get from people is more accurate, flexible and reusable a new description mythology is introduced which is Evolution Feature Oriented Requirement Specification. By using that method we can get more accurate requirement specification details from interaction with people. Further process will happen by using these features with a feasible combination, which will generate an optimal evolution plan. Without the plan we can not get to the design phrase, however not to mention the implementation. In this phrase people including service user, service evolution analysis, service and clouds manager will be involved. Use case model and Evolution feature model will be used to modeling the plan. 2 Evolution Design Definition

The evolution design includes choosing the appropriate evolution pattern from the pattern repository to complete and meet the requirement of the evolution plan. That will be done by the service evolution designer, the service designer will choose the pattern corresponding with the evolution feature constructed by the evolution analysis, service user, service and clouds manager in the first phrase. Use case model, class diagrams, state diagrams, interaction diagrams will used to describe the whole picture in different aspect of view. Evolution pattern itself will take advantage of the clouds feature into its own design[4]. 3 Evolution Implementation The evolution implementation will be driven by the model driven production line engineering from design to code. Design Models we get in the second phrase will be used in this phrase. All the designs including evolution pattern itself will be transformed into code at this time. Actually evolution pattern has already been integrated into the whole design picture in the second phrase; it has been absorbed as a part of the design, especially the vital part of the whole design. In this phrase we can only focus on code realization for the perfect design has been done in the last phrase[4]. 4 Evolution Execution The evolution execution will be driven by the evolution mechanism in order to achieve the aim people proposed in the first phrase. The evolution mechanism will support the evolution pattern respectively for its working purpose is different. The common part of the mechanism will support the common evolution process without special or unique demands because the whole the evolution pattern is a part of the whole implementation, there must be common aspect exist in the execution. Hadoop will be the fundamental component for the mechanism design[4]. whole requirement by using evolution feature typology, the typology will define the relation and dependency between each features. After the evolution feature typology has been constructed, evolution model will be created to make the evolution more specific. Aspect oriented approach can be used for enhance evolution feature-model modularity. Aspect template code generation technique will be used for model transformation in the end. Product Line Engineering contains all the essential components for driving the whole evolution process. Evolution feature is the modeling of evolution requirement come from people interaction. Evolution feature is the collection of evolution task. Evolution features have common aspect and unique aspect. Evolution feature can be divided and assembled. Evolution feature model is a tree. Nodes in the tree have dependency from its parents. The typology of the model is the formal description of the evolution task, each node is an individual task. Evolution process sequence and dependency can be described by the evolution feature tree. Pattern Meta-Model Example 5 Evolution Testing Evolution testing will mainly focus on finding system bug and collect information which will guidance its further evolution in the future. The testing will involved system robust, system reliability, system evolvability, system performance, etc. 6 Further Evolution Further evolution will happen cause requirement and system environment will keep changing all the time. What is Evolution Feature? Evolution Requirement can be classified into evolution features; researchers can describe the Figure 1. Evolution Pattern Meta-Model The pattern meta-model is the description of the aim that the evolution process will achieve, it is the content the evolution task should complete in the process. The meta-model will be driven by the evolution aspect generation model in order to reach the execution level by using pattern aspect template. The execution will be guidance by the evolution process model which describe how to use the pattern aspect template, it can be thought as the dynamic description of the evolution pattern while meat-model is the static description of the evolution

pattern[4]. The Evolution Aspect Generation Model The evolution aspect generation model will used the iteration process model as the fundamental generation technique. The iteration process will be happened under the guidance of interaction framework. Figure 2. Synergistic Pattern Aspect Model Process Model Generating Figure 3. Evolution Process Model The whole evolution process will be guidance under the spiral and iteration software development model. People will involved into the process by interaction with evolution framework in order to define the specific evolution requirements. That will make the evolution can real meet the people s demand. The whole process can be categorized into evolution specification, evolution template creation, Evolution aspect modeling, evolution execution and evolution verification. Evolution Mechanism Weaving mechanism is part of the evolution mechanism.waving is the last step of the evolution execution process, it will directly affect the time consuming,dynamism and flexibility of the evolution mechanism.hadoop Map and Reduce Methodology will be introduced into Mechanism design.

Service in a context-aware environment need dynamic evolution urgently for its user requirement continuously changing quickly, this paper propose an approach for the development of evolution of context-aware service, It adopts MDD (Model-Driven Development) to enable services specification in a high-level modeling language and automatic run-time generation of their executable implementations, hence contributes significantly to both design and evolution flexibility and cost savings. But the reuse of the evolution does not effectively achieved by the approach,each evolution process in the approach can be encapsulated as an evolution pattern by using the pattern approach to driven the whole process will greatly improve the current approach to a more reusable pattern based evolution[5]. III ACKNOWLEDGMENT The work in this paper has been jointly sponsored by the British Royal Society of Edinburgh (RSE-Napier E4161) and the Natural Science Foundation of China (Ref: 61070030). Special thanks for Dr. Guojian Cheng,Dr Xiaodong Liu,Dr Kevin Chalmers and Prof. Hongchun Wei for their kindness encouragement on me. IV CONCLUSION Figure 4.Evolution Mechanism Design Model. In order to make the evolution process more reliable and fault tolerant, map the evolution process into several parallel process by using map reduce will reduce the risk of evolution collapse. Evolution threads is the carrier of each evolution process unit, it can be extended without suspend the whole evolution process. Scalable Lightweight Multiple workflows Map and Reduce Workflow description language Workflow storage Decentralized workflow execution management Task scheduling Fault tolerance Dynamic II RELATED WORK A Unified Approach for the Dynamic Evolution of Context-aware Services Hadoop cluster can be used to construct a small empirical research environment as Platform as Service. The evolution mechanism based on that can be thought as Software as Service. Hadoop cluster can control and manage the platform in order to make affect on the evolution process, both of them has corresponding activity feature to each other. Evolution Pattern can guidance how these corresponding activity feature happened. Pattern will be the corridor between Hadoop cluster and evolution mechanism.pattern Schema will have its specification on Hadoop cluster management, evolution mechanism working management and pattern itself[4]. V REFERENCE [1] Jaroucheh, Z., Liu, X., Smith, S. (2012). An Approach to Domain-based Scalable Context Management Architecture in Pervasive Environments. Personal and Ubiquitous Computing, 16(6), 741-755. [2] Yang, H., Liu, X. (2012). Software Reuse in the Emerging Cloud Computing Era. Pennsylvania, USA: IGI Global Publishing. [3] Jaroucheh, Z., Liu, X., Smith, S., Zhao, H. (2011). Lightweight Software Product Line Based Privacy Protection Scheme for Pervasive Applications. In: Proceedings of the 35th IEEE COMPSAC. Munich, Germany: IEEE Computer Society. [4]Wang, Z., Xiaodong, L.,,Chalmers, K., Cheng, G. (2012). Evolution Pattern for Service Evolution in Clouds. In: The 7th International Conference for Internet Technology and Secured Transactions (ICITST-2012). London, UK: Copyright ICITST-2012 Published by Infonomics Society, UK.

[5] Jaroucheh, Z., Liu, X., Smith, S. (2012). A Unified Approach for the Dynamic Evolution of Context-aware Services. In: Proceedings of International Conference on Innovations in Computers, Information and Communication - ICICIC 2012. India: PSG Tech. VI Authors' Biographies Wei Hongchun is a professor in Xi'an Shiyou(Petroleum) University. He has published 16 papers, his work is mainly focus on software engineering and information system. Wangzhe is a Phd research student in Edinburgh Napier University, his work is finding an innovative approach for Service evolution in Clouds. He has publish the paper Evolution Pattern for Service Evolution in Clouds. In: The 7th International Conference for Internet Technology and Secured Transactions (ICITST-2012). London, UK: Copyright ICITST-2012 Published by Infonomics Society, UK. Dr Liu is an active researcher in software engineering with known reputation and leading expertise in context-aware adaptive services, service evolution, mobile clouds, pervasive computing, software reuse, andcomponent-based systems in Edinburgh Napier University. Dr Kevin is an researcher in software engineering in Edinburgh Napier University, his work is mainly focus on computer graphics, algorithms and emergent computing model. Dr Cheng Guojian is a professor in Xi'an Shiyou(Petroleum) University,has published 30 paper indexed by the (SCI/ISTP/EI) library and he has published one research book on Incremental Learning of Self-Organizing Variable Topology Neural Networks. His work is mainly focus on artificial intelligence, software architecture and digital oil field.