Cloud Computing and Agile Product Line Engineering Integration


Published on

This is a brief presentation about the main work done in the area of agile product line engineering (APLE) in the Cloud Computing Domain. Though the work in this area is quite immature, I have managed to find few relevant attempts. Hope this presentation will be of an added value to researchers and help them to further explore this interesting yet very challenging area.

Published in: Education, Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Cloud Computing and Agile Product Line Engineering Integration

  1. 1. CC Adopted Concepts and Systems Virtualisation Service-Oriented Architecture (SOA) Utility Computing Grid Computing
  2. 2. CC Adopted Concepts and Systems Virtualisation Service-Oriented Architecture (SOA) Utility Computing Grid Computing
  3. 3. CC Adopted Concepts and Systems Virtualisation Service-Oriented Architecture (SOA) Utility Computing Grid Computing
  4. 4. CC Adopted Concepts and Systems Virtualisation Service-Oriented Architecture (SOA) Utility Computing Grid Computing
  5. 5. Figure 1. Cloud Computing Layers
  6. 6. Figure 1. Cloud Computing Layers
  7. 7. Figure 1. Cloud Computing Layers
  8. 8. Figure 1. Cloud Computing Layers
  9. 9. •  •  Private CC Deployment Models Hybrid These services are free or offered on a payper-use model. •  Public A service provider makes applications, storage, and other resources available to the general public. Generally, public cloud service providers like Amazon AWS, Microsoft and Google own and operate the infrastructure and offer access only via Internet (direct connectivity is not offered) •  Shares infrastructure between several organisations from a specific community with common concerns (security, compliance, jurisdiction, etc.), whether managed internally or by a third-party and hosted internally or externally. •  The costs are spread over fewer users than a public cloud (but more than a private cloud), so only some of the cost savings potential of cloud computing are realised Community
  10. 10. •  Infrastructure operated solely for a single organisation, whether managed internally or by a third-party and hosted internally or externally. •  Criticism: users still have to buy, build, and manage them and thus do not benefit from less hands-on management; lacking the economic model that makes cloud computing such an intriguing concept •  A composition of two or more clouds (private, community or public) that remain unique entities but are bound together, offering the benefits of multiple deployment models. •  Hybrid cloud architecture requires both onpremises resources and off-site (remote) serverbased cloud infrastructure. •  Drawback: Lack the flexibility, security and certainty of in-house applications. It provides the flexibility of in-house applications with the fault tolerance and scalability of cloud based services. Public Private CC Deployment Models Hybrid Community
  11. 11. •  Strength Points •  Challenges   Infrastructure flexibility   Faster deployment applications and data   Reliability & Security of   Cost control   Complexity   Costs   Regulations and legal issues   Adaptation of cloud resources to real needs   Performance   Improved productivity   Migration “The early 2010s cloud market is dominated by software and services in SaaS and IaaS, especially the private cloud. PaaS and the public cloud are further back.”   Lack of standards   Limited customisation
  12. 12. RE models for Cloud Computing V Model Rational Unified Process (RUP) eXtreme Programming (XP) •  Produced by the German Federal Ministry of Internal Affairs •  Developed by Kent Beck, Ward Cunningham and Ron Jeffries •  RE is one of the 14 activities in the V Model •  XP is an iterative and incremental agile method •  RE Steps are: 1.  Description of initial situation and objectives 2.  Drawing up functional requirements 3.  Drawing up non-functional requirements 4.  Establishing risk acceptance 5.  Drawing up draft of life cycle and overall system architecture 6.  Analyzing quality of requirements 7.  Drawing up scope of supply and acceptance criteria. •  Offers approaches that are well supplemented by requirements analysis.; User Stories and the Planning Game. Volere •  Developed by Atlantic Systems Guild •  Provides users with a systematic, structured and very comprehensive requirements engineering template. •  The approach is organised as follows: 1.  Motivation (the purpose of the project or product) 2.  Restrictions and specifications for the project (conditions and assumptions) 3.  Functional requirements (such as Use Case models) 4.  Non-functional requirements (usability etc.) 5.  Project information (e.g., risks, costs, task lists).
  13. 13. Unified Process Pattern •  An incremental and iterative software development process framework •  Generally referred to it as Rational Unified Process (RUP) which describes the generic process pattern •  To avoid the confusion between it and the IBM Rational Unified Process software, practitioners and researchers prefer to just call it UP RUP Characteristics Iterative and Incremental •  The elaboration, the construction, and the transition phases are divided into time-boxed iterations •  The inception phase is only time-boxed if the project is large Use-Case Driven •  Use-cases or scenarios are used to describe the system Risk Focused •  The most critical risks are addressed early in the project life cycle Architecture Centric •  The executable architecture (EA) baseline, created during the elaboration phase, is delivered •  EA supports the key functional as well as nonfunctional requirements
  14. 14. 1 • The • The smallest phase • Determines the project scope and boundary conditions • Determines • Outlines one or more candidate architecture • Develops the business case for the project • Outlines uses cases and key requirements • Identifies risks & the preliminary schedule – cost Identifies 2 1. Inception Phase 4 • The • The system is deployed at the customer’s side • Any necessary system conversions and training is provided 4. Transition Phase RUP Lifecycle 3. Construction Phase 3 • The largest phase •T • Each iteration delivery is an executable release of the •E software 2. Elaboration phase • Address • Address known risk factors • Establishes & validates the system architecture • Processes in this phase include: developing use case diagrams, conceptual diagrams (class diagram – basic notations only), & package diagram (architectural diagram) • Implements the EA baseline including core components • The output is a plan including cost and schedule for phase 3 • Develops the common UML diagrams: activity, sequence, collaboration, state (transition), and interactive overview diagrams
  15. 15. Business Modelling Environment 1 Requirements Project Management 8 7 RUP Categorisation for a Project Disciplines 3 Configuration and Change Management Analysis and Design Implementation Deployment Testing