SlideShare une entreprise Scribd logo
1  sur  96
My journey in design science research
Dr. Mahdi Fahmideh
Lecturer, University of Wollongong (UOW)
Mahdi@uow.edu.au
Software Engineering Winter School, Sydney, 8-9 July 2019
Who am I ?
Information system
Development
Postdoctoral
Researcher
(Oct 2016 – Dec 2018)
Teaching
(March 2015 – present)
Mahdi
PhD
UNSW Business School
(September 2013- July 2017)
ranked 4th in Australia, 45th in the world, 2018 QS World University Rankings
UTS
is-a
was-a at
is-a
Cloud computing
IoTBlockchain
Data analytics
Service engineering
Enterprise Database
Management
Network Project
Management
php Web-
Backend
Programming
Software
Engineering
course
Lecturer @ UOW (Feb 2019 - ? )
IT Infrastructure/Network
System Analysis
and Design
Researcher
(2012 – present)
published
15 Journals/Papers
2
To be helpful for IS/SE
community
IS SE
Disruptive
technologies
Information Systems:
- Design science research (DSR)
- IS Theories (Positivism, Interpretivism)
- methodological pluralism
- quantitative approaches (e.g., surveys)
- qualitative approaches (e.g., interpretive case
study, interview, and domain expert review)
Software engineering:
- Software processes
- Software architecture
-RE
-Method engineering
-Model-driven SE
- SE Methodologies
- DSS Frameworks
- Conceptual models
- Software tools
What about myself?
Mahdi’s 3-pillars research product lineSocial
science
Synergy
Applied
Context
Output
Disruptive
technology
IS SE Output Year
IoT - Domain
expert review
- Systematic literature
review (SLR)
- Exploration of IoT platform development process-
- Information Systems – Journal (Core A* journal)
2019
Cloud
computing
-DSR
-Web-based
survey
-Qualitative
case study
-Domain expert
review
- Software process
- Metamodeling
- Method engineering
- Generic Cloud Migration Process
- EJIS (Core A* journal, Basket of 8 journals)
2018
Cloud
computing
-Web-based
survey (104
domain
experts,
statistical tests)
-SLR - Challenges in Mig. Apps to the cloud
- Information Systems – Journal (Core A* journal)
2017
Data analytics -DSR - Goal-oriented
modeling
- Fuzzy math
- Data analytics architecture design
- Computers and Industrial Engineering
- Q1, Impact factor Impact Factor: 3.518
2018
Examples of Mahdi’s research product line
Example 1:
Process model for migrating legacy apps. to cloud
 Many enterprise systems supporting IT functions are characterised by the need for high computing
capability, reducing the cost of maintenance and upgrading, efficient resource utilisation, less
environmental impact and electrical energy consumption (Armbrust et al., 2010, Buyya et al., 2008, Koçak
et al., 2013).
 Cloud computing has received attention to address such requirements through offering a wide range of
service delivery models which are universally accessible, dynamically acquirable and releasable, and
payable on the basis of service usage amount.
 It is estimated that the global cloud computing market will grow from $40.7 billion in 2011 to $241 billion in 2020 (Ried S,
2011).
 High computational capabilities
 Reduced infrastructure cost
 Efficient resource consumption
 Low electrical energy consumption
 Less environmental impact
Cloud Computing Technology
“Like any software development project, migration projects
require careful planning and good methodology to ensure
successful execution”
Laszewski and Nauduri (2011), designer of a methodology for moving
Oracle legacy applications to the cloud
“In the beginning it [legacy migration] was
motivated by the lack of documentation, but in
the last years it has been motivated by
adaptation to new technologies. Each new
technology has required new and renewed
approaches and technologies to ad- dress the
migration process in a more effective way.”
Benguria et al., 2013, REMICS project
“A well- structured methodology can aid
developers to carry out an effective and safe
application migration, instead of struggling to
under- stand “what” and “how” to carry out
such a transition in an ad-hoc manner which
may latter result in poor and erroneous
migration and maintenance overhead.”
Fahmideh, et al. “Cloud migration process—A survey,
evaluation framework, and open challenges”, Journal of
Systems and Software 120 (2016): 31-69.
Need for software engineering methodology
Moving existing legacy systems to cloud platforms
Chauhan’s method [S9]
REMICS method [S3]
Cloud-RMM [S68]
Strauch’s method [S10]
Zhang’s method [S13]
Oracle method [S25]
ARTIST method [S64]
Amazon [S71]
Legacy-to-Cloud Migration [S27]
Some example methods
Knowledge gaps in the current literature
Narrowing down in implementations and platform-specific details
Chauhan’s method [S46]
There is a need to detach the cloud application development process from specific cloud platforms (Hamdaqa et al., 2011)
Knowledge gaps in the current literature (Continue)
 Same migration process BUT from different viewpoints
 There is a corresponding/link among these definitions. Nevertheless, this link has not been explicitly harmonised and
integrated so far.
 Cloud migration knowledge domain is a multi-faceted, fragmented, and dispersed area
Select: This step will select the best supplier based on value,
sustainability, and quality Conway et al. in [S4]
Selected Cloud Environments: Identify a set of potential cloud
computing platforms based on a project’s nature, data
confidentiality and sensitivity requirements, budget constraints
and long-term organisational objectives Chauhan et al. in [S9]
Select Target Platform: Selecting appropriate technology for
the modernised system and technology that can run alongside
and communicate with the legacy system Huru in [S32]
Knowledge gaps in the current literature (Continue)
 One-size-fits-all assumption (tailoring not supported)
 Choice of a migration method is dependent on factors such as selected service delivery
model, organisation characteristics, and requirements of legacy apps.
 Example:
 Moving legacies to IaaS
 Moving legacies to SaaS
 A support for the strategy/method tailoring does not exist in the current literature
 “One solution can never fit all problems; there is a need of customised cloud for individual businesses”
(Mahmood, 2013 ).
 “there is no one-size-fits-all cloud, and it is up to each business to decide how much change is tolerable
and to decide how far into the cloud to step” [S62]
Knowledge gaps in the current literature (Continue)
Research objective:
“Factoring out commonalities of existing methods into a
tailorable, unified, and abstract process model”
Design Science Research (DSR)
 Research Objective
A generic, platform-agnostic customizable development process model for cloud migration.
 A problem/solving endeavour
 This research objective can be addressed by Design Science Research (DSR)
 DSR focuses on the problem solving aspects by designing and prescribing artificial innovations
(Gregor and Hevner 2013), (Peffers, Tuunanen et al. 2007)
Problem
Identification
Design
Iteratively refine the artefact
Validation
Observer the
efficacy of the
artefact
(Iterate back to
design, if required)Artefact
Cloud Computing
Literature
Existing IS or SE
Theories/Approach
es
analytics, case studies,
experiments,
simulations, or
naturalistic evaluations
Artefact, i.e. process model
Design Phase
Metamodeling in SE (Atkinson & Kuhne, 2003), (Gonzalez-Perez & Henderson-
Sellers, 2008)
 Metamodels capture common concepts, relationships, and ways of
working
 They are often suggested for achieving knowledge interoperability
and integration of a domain of interest
 A Meta-method !
Step 1. Preparing a knowledge source
(identifying papers from the literature)
Step 3. Harmonising constructs’
definitions (reconciliation of
differences among definitions)
Step 2. Extracting constructs/fragments
from the identified papers
Output
 Development of a Generic Cloud Migration Process Meta Model
 Existing guidelines for the metamodeling were used
 (Lopes, 1997), (Beydoun et al., 2009), (Othman et al., 2014), (Keller and König, 2014), (Gholami et al., 2010), (Cicchetti et al., 2011)
Cloud Computing
Literature
Cloud Migration Process Model
* An activity performed during the
migration process
* A work-product produced during the
migration process
 Systematic literature review (Kitchenham, Pearl Brereton et al. 2009)
 A well-recognized procedure to identify, analyse, and interpret all relevant studies regarding a
particular topic of interest.
 Search Strings: The main terms “Cloud”, “Cloud Computing”, “Service Computing”, “Legacy”,
“Methodology”, “Process Model”, “Reference Model”, and “Migration”
 Selected Study Sources: IEEE Explore, ACM Digital Library, SpringerLink, ScienceDirect, Wiley
InterScience, ISI Web of Knowledge, Google scholar.
 Inclusion criteria: validated using example application, simulation, empirical study (case study,
controlled experiment), or experience from real examples.
Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
 78 Studies Identified
 existing methodologies, general approaches/frameworks, industrial experiences, patterns, decision making
framework .
Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
Collected Demographic Data
Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
Step 1. Preparing a knowledge source
(identifying papers from the literature)
Step 3. Harmonising constructs’
definitions (reconciliation of
differences among definitions)
Step 2. Extracting constructs/fragments
from the identified papers
Output
 Development of a Generic Cloud Migration Process Meta Model
 Existing guidelines for the metamodeling were used
 (Lopes, 1997), (Beydoun et al., 2009), (Othman et al., 2014), (Keller and König, 2014), (Gholami et al., 2010), (Cicchetti et al., 2011)
Cloud Computing
Literature
Cloud Migration Process Model
* An activity performed during the
migration process
* A work-product produced during the
migration process
Extracting Constructs (e.g. tasks, work-products)— An example
Step 2
 Construct selection criteria:
Relevant to challenges in cloud
application development
Sufficiently generic
The extraction of constructs from Chauhan and Babar’s Methodology
Extracting Constructs- An example
In total 511 constructs/method fragments were identified.
Step 2
An example of an construct related to Choose Cloud Provider
Construct Source Definition from the Source Paper
Choosing a Cloud Provider [S23] “Choose a proper cloud provider”
Decision on Cloud Providers [S27] “Once the requirements are elicited and prioritised, an important activity is to consider the cloud (PaaS) provider”
Platform Selection [S63] “Choose a suitable cloud provider as well as service model that fulfils the SME Cloud Requirements”
Select [S4] “This step will select the best supplier based on value, sustainability, and quality”
Select [S67] “Engage and select one or more Cloud supplier and negotiate the deal”
Select Cloud Data Store or Data
Service
[S11] “The concrete target data store or data service for the migration is selected in step three by mapping the properties of the Cloud Data
Hosting Solution specified in the previous step to the set of available data stores and data services that have been categorised according to
the same non-functional and functional properties”
Select Target Platform [S32] “Selecting appropriate technology for the modernised system and technology that can run alongside and communicate with the legacy
system”
Selected Cloud Environments [S9] “Trade-off analysis documents specifying pros and cons of the environments identified during the previous activity and their suitability
with applications from business and technology perspectives”
Selection [S14] “Selection of an appropriate CEM-compatible cloud profile candidate”
Selection [S60] “Selection of an appropriate cloud profile candidate”
Selection [S61] Nil (No definition was provided)
Selection and Evaluation [S44] “Based on this cost metrics (response time, labour cost, licensing cost, or energy efficiency) the alternatives can be evaluated and selected”
Step 2
Step 1. Preparing a knowledge source
(identifying papers from the literature)
Step 3. Harmonising constructs’
definitions (reconciliation of
differences among definitions)
Step 2. Extracting constructs/fragments
from the identified papers
Output
 Development of a Generic Cloud Migration Process Meta Model
 Existing guidelines for the metamodeling were used
 (Lopes, 1997), (Beydoun et al., 2009), (Othman et al., 2014), (Keller and König, 2014), (Gholami et al., 2010), (Cicchetti et al., 2011)
Cloud Computing
Literature
Cloud Migration Process Model
* An activity performed during the
migration process
* A work-product produced during the
migration process
Choose Cloud Provider
 Step 2.1 Grouping Similar Constructs— an iterative approach
 An example: 35 studies refers to the notion of cloud provider selection
Step 3— Creating an Initial Metamodel (Continue)
Step 2.2 Harmonising the Constructs’ Definitions
There is a link between different definitions
Reconciliation of the various definitions
An Example: Choose Cloud Provider
Step 3— Creating an Initial Metamodel (Continue)
 Defining Relationships between the constructs
 Association, , Specialisation and Aggregation
 An Example
An application is analysed to assess its compatibility with the potential cloud computing
environments. For example, it may be the case that a target PaaS cloud does not support
frameworks or specific technologies being used by an application. If such issues are identified, then
these need to be resolved first” Chauhan’s methodology (denoted by [S9])
Step 3— Creating an Initial Metamodel (Continue)
Result
A generic process meta model
Version 1.0
Resultant Metamodel
Plan Phase class of constructs
...
…
…
Resultant Metamodel
Design Phase class of constructs
Resultant Metamodel
Enable Phase class of constructs
A Generic Cloud Migration Process Model (version 1.0)
Validation (I):
Web-based survey
 Purpose: To assess whether the process model constructs are sound and
perceived as important by experts
 Survey design
 Pilot test: a sequential review process
 A panel of four cloud experts
 Expert 1: 8 years of experience in using Amazon services
 Expert 2: 7 years of experience in IBM
 Expert 3: 3 years of experience in developing cloud applications for Bank sector
 Expert 4: An academic reviewer (editor chief in a cloud-related journal )
 Data collection
 LinkedIn, Twitter, and Facebook
 Each profile was screened to assure
he/she had sufficient experience
in application migration to cloud
 515 qualified experts were invited
 144 responded
 104 usable responses (response rate of 20%)
 The null and alternative hypothesises were
defined
 H0: the mean of the importance of each
construct is = 5 (Somewhat Important) vs. H1:
the mean of the importance of each construct is
significantly > 5
 One Sample T-Test
 Normality assumption
 N = 104
 Tenant Isolation (t-test statistic of= -1.499, p-
value of=0.06) and Virtual Machine
Specification (t-test statistic of=0.513, p-value
of =0.30)
A Generic Cloud Migration Process Model (version 1.1)
Validation (II):
Case study
 Purpose: As the process meta model is generic and platform-agnostic, it is
expected that real-world migration scenarios can be expressed/represented by the
process model.
Real-world migration process
Cloud migration process meta model
Instanceof
Real-world migration process
Real-world migration process
Case study 1— InformaIT
 Location: Sweden
 Legacy system technologies: Microsoft .NET
 Migration type: IaaS
 ISD method: in-house
 Industry sector: Document processing and management
 InformaIT is a small independent software vendor (ISV) in Sweden involved in the design and development document
management systems (Rabetski and Schneider, 2013). The Document Comparison (DC) system, developed by InformaIT, was a
Web-based enterprise solution for enhancing document management processes. DC provided a fast and easy way to
compare textual and graphical contents of different digital documents. DC was originally designed to offer services to
medium and large organisations which had enough resources, own infrastructure, and technicians to install and run the
application. InformaIT was considering to promote its competitiveness power via expanding DC’s services around small
companies. However, there were several issues in running DC on customer’s premises:
 Small companies couldn't afford DC as they would be confronted with a high financial commitment. The reason was
due to the high cost of installation as well as the usage cost of users. Instead of being charged per user and per
installation, small companies would prefer to use the application instantly and pay for their usage that is the number
of compared digital documents. A SaaS version of the application would potentially provide such features for this
class of customers.
 DC had been distributed among a large number of customers’ network. InformIT had to convince each customer to
replace their existing package and also to cooperate during the actual upgrading. A cloud model could facilitate an
efficient and agile maintenance environment for the DC.
 43-page document of this project.
 Tracing technique (Sargent, 2005)
 Examining the origination of the process model constructs to real-world migration models
 Case analysis
Case study 2— TOAS
• Location: Finland
• Legacy system technologies: J2EE Technology
• Migration type: IaaS
• ISD method: in-house
• Industry sector: Telecommunication
• Tieto Oyj is an IT service company in Finland that had built an open source platform called Tieto Open Application Suite
(TOAS) based on J2EE technology (Vainikka, 2014). This platform was used for developing and running business
applications in cloud environments. The TOAS platform aims to increase the development speed, automation, and the
integrity of cloud applications through providing an integrated set of middle-wares, tools, and services according to
service models IaaS, PaaS, and SaaS. During the spring of 2014, a cloud migration project was launched by Tieto to
migrate a legacy application from the current Tieto’s infrastructure to this new TOAS platform. The application had been
developed using J2EE-based technology and was processing batch tasks. Due to the outdated hardware infrastructure and
software platform, moving this application to TOAS IaaS was a promising way to enhance the application performance
and reduce its infrastructure costs.
 Case analysis
Case study 3— SpringTrader
• Location: United State
• Legacy system technologies: J2EE Technology
• Migration type: IaaS and PaaS
• ISD method: Scrum
• Industry sector: Finance
• SpringTrader is an open-source Web-based application that has been originally developed by Pivotal company and
maintained by many contributors over time. The application allowed users to establish an account to view and manage a
portfolio of stocks, lookup stock quotes, and buy and sell stock shares. Pivotal company had launched its own private
cloud platform, which named Pivotal Cloud Foundry. The platform is an open-source platform for developing and
deploying portable cloud-native enterprise applications. Pivotal company decided to move SpringTrader to this platform
because it would enable (i) users to access real-time stock market data and more interactivity with the application, and (ii)
the individual scaling up/down of SpringTrader’s components (also called micro services) and their maintainability.
 Case analysis
• It was found that the process model has a deficiency to support the construct Use Logging. This construct was added as a
new subclass of Apply Design Principles to the process model.
• Logging mechanism is to facilitate the system debug and resource monitoring when running in the cloud.
A Generic Cloud Migration Process Model (version 1.2)
Validation (III):
Domain expert review
Expert 1 (E1): A professor and institute
partner at the Institute for Software in
Switzerland.
Expert 2 (E2): An associate professor and
former principal investigator and the
architecture theme lead of the Irish centre
for cloud computing and commerce (IC4) in
Ireland.
Expert 3 (E3): A practitioner with expertise
in cloud computing, SOA, software architect,
object-oriented design, domain-driven
design, and Microsoft .Net platform. He has
been a Scrum master in several IT projects.
Expert 4 (E4): A former academic researcher
at the Software and Systems Sections, IT
University of Copenhagen, Denmark.
A Generic Cloud Migration Process Model (version 1.3)
A Generic Cloud Migration Process Model (version 1.3)
Validation (IV):
Prototype System
 Prototype
 The prototype semi-automates using the process model.
 Helps IS managers (or cloud strategists) to create, configure, standardise, and share customised cloud
migration methods through reusing the proposed process model.
 Implementation
 Microsoft .NET Framework 2015
 C# programming language
 Microsoft Access Database
MLSAC (Migrating Legacy Software Applications to the Cloud)
 User can brows the process model and learn about the typical cloud migration
process.
 Configuration of the process model
Created Method
Method product (e.g. XML)
Software DevelopersCloud Strategist (Project manager)
Enacted by
software
developers
 Migration scenario
 Moving a legacy system to Amazon EC2
 Migration type: IaaS
 Enablement Phase
Cloud Migration scenario
Example:
Designing and Sharing a Customised
Method for a Cloud Enablement
Scenario
Step 1
Step 2
Step 3
Step 4
Instantiation a new method from the generic process model
 Configuration of the process model
Created Method
Method product (e.g. XML)
Software DevelopersIS Manager (or Cloud Strategist)
Enacted by
software
developers
Contributions
- Theoretical
- facilitating knowledge sharing about cloud migration process
- Practical
- Augmenting in-house methods to support cloud migration projects
- As an evaluation framework to assess and select other methods
- Providing a foundation for method engineering
Prof. John Grundy, Monash
university
Prof. Didar Zowghi, UTS
Dr. Farhad Daneshgar, UNSW Prof. Ghassan Beydoun, UTS
Senior Prof. Willy Susilo, UOW
Prof. Fethi Rabhi, UNSW
Collaboration (alphabetically ordered)
Thank You !
Appendix
Step 1— Preparing Knowledge Sources for
Metamodel Creation
 Systematic literature review (Kitchenham, Pearl Brereton et al. 2009)
 A well-recognized procedure to identify, analyse, and interpret all relevant studies regarding a
particular topic of interest.
 Search Strings: The main terms “Cloud”, “Cloud Computing”, “Service Computing”, “Legacy”,
“Methodology”, “Process Model”, “Reference Model”, and “Migration”
 Selected Study Sources: IEEE Explore, ACM Digital Library, SpringerLink, ScienceDirect, Wiley
InterScience, ISI Web of Knowledge, Google scholar.
 Inclusion criteria: validated using example application, simulation, empirical study (case study,
controlled experiment), or experience from real examples.
Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
 78 Studies Identified
 existing methodologies, general approaches/frameworks, industrial experiences, patterns, decision making
framework .
Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
Collected Demographic Data
Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
Extracting Constructs (e.g. tasks, work-products)— An example
Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
 Construct selection criteria:
Relevant to challenges in cloud
application development
Sufficiently generic
The extraction of constructs from Chauhan and Babar’s Methodology
Extracting Constructs- An example
In total 511 constructs were identified.
Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
Step 2— Creating an Initial Metamodel
Step 2— Creating an Initial Metamodel
 The gradual formation of metamodel
Guidelines introduced in (Beydoun, Low et al. 2009; Othman, Beydoun et al. 2014)
Step 2— Creating an Initial Metamodel (Continue)
Choose Cloud Provider
 Step 2.1 Grouping Similar Constructs— an iterative approach
 An example: 35 studies refers to the notion of cloud provider selection
M. Fahmideh, F. Daneshgar, G. Low, G. Beydoun, “Cloud Migration Process— A Survey, Evaluation Framework, and Open Challenges”,
Journal Systems and Software, 120 (2016): 31-69. Impact Factor: 2.444 , Ranked as Q2.
 Step 2.1 Grouping Similar Constructs— an iterative approach
Iteration 1:
Generic software development lifecycles (Pressman 1992; Sommerville 2004)
Generic reengineering lifecycles including Butterfly (Wu, Lawless et al. 1997), Renaissance
(Warren and Avallone 1999), Sneed’s approach (Sneed 1995), and Architecture-Driven
Modernization horseshoe (Khusidman and Ulrich 2007)
Challenges in cloud application development, [S10], and [S68]
Iteration 2:
Work-products
Generic software development introduced, generic reengineering lifecycles
Iteration 3:
Restructuring and perfecting
Tuning granularity of constructs (Henderson-Sellers and Gonzalez-Perez 2010)
An example of decomposition: Enable Multi-Tenancy - > Isolate Tenant Data, Isolate
Tenant Performance, Isolate Tenants Availability, Enable Application Customisation
[S35], [S65] and (Bezemer and Zaidman 2010)
Output: 72 common constructs, i.e. 65 tasks and 7 work-products.
Step 2— Creating an Initial Metamodel (Continue)
Step 2.2 Harmonising the Constructs’ Definitions
There is a link between different definitions
Reconciliation of the various definitions
An Example: Choose Cloud Provider
Step 2— Creating an Initial Metamodel (Continue)
 Defining Relationships between the constructs
 Association, , Specialisation and Aggregation
 An Example
An application is analysed to assess its compatibility with the potential cloud computing
environments. For example, it may be the case that a target PaaS cloud does not support
frameworks or specific technologies being used by an application. If such issues are identified, then
these need to be resolved first” Chauhan’s methodology (denoted by [S9])
Step 2— Creating an Initial Metamodel (Continue)
Cloud Migration Lifecycle
(Resultant Metamodel)
Resultant Metamodel
Plan Phase class of constructs
Resultant Metamodel
Design Phase class of constructs
Resultant Metamodel
Enable Phase class of constructs
Resultant Metamodel
Maintain Phase classes of constructs
 Conducting case studies (continue)
 New added constructs to the metamodel after the validation
 Use Logging
Related work
Scope Authors title Focus Developed metamodel (artefact) Unit of analysis Key Contributions
Cloud
architecture
(Hamdaqa, 2011) Demystifying cloud computing vocabularies, relations between them,
and design elements
Metamodel of cloud computing applications Cloud application A metamodel as cloud modelling language aiding developers to better understanding cloud application architectures.
(Liu et al., 2011) Conceptualization the of cloud computing architecture Metamodel of cloud computing enterprise architecture Enterprise architecture Demystifying the main constructs are incorporated in cloud migration including actors, architectural components, interactions between actors, and activities.
(Lenk et al., 2009) A hierarchical model of cloud computing technologies Integrated cloud computing stack Enterprise architecture Facilitating interoperability of cloud services, providing a reference point for mash-ups, and guidance on how to combine and interchange cloud services.
(Tsai et al., 2010) Combining the notions of cloud computing and service computing Four layer cloud service computing architecture style Enterprise architecture Proposing an open architecture for cloud service computing open which standards and ontology are embraced.
(Zimmermann et al., 2013) An overall architecture building blocks of big data cloud computing
applications
Metamodel of big data application architecture Big data cloud applications Supporting semantic analysis and program comprehension of service-oriented big data applications.
(Zhang and Zhou, 2009) Standardization of a configurable and extensible cloud computing
architecture model
Metamodel of principles of cloud computing architecture Enterprise architecture Isolating the enterprise architecture from infrastructure enablement during cloud architecture design process by formulating architectural principles and modules.
Green Cloud (Procaccianti et al., 2014) Distilling knowledge of green practice for designing cloud
infrastructures
Green cloud metamodel cloud infrastructure A metamodel formulating recurrent and reusable architectural tactics and goals and addressing the problem of reducing energy footprint in green cloud architectures. The
metamodel can be used for the refactoring of existing applications for cloud enablement.
(Nowak et al., 2014) Distilling knowledge of green practice for IaaS-based business
processes
Green cloud metamodel Business processes A catalogue of green practice for designing green business processes. It aids developers to design virtual machines for execution of cloud-based business processes.
(Dougherty et al., 2012) Capturing common features/requirements of virtual machines
performed in cloud
Metamodel-based auto-scaling resource management
approach
IaaS-based virtual machine Developers can express requirements such as energy consumption per hour and cost attribute for VM instances using an instantiable metamodel of common features of
virtual machines. The metamodel optimizes energy consumption of cloud auto-scaling infrastructure to create greener computing environments that reduce emissions
resulting from superfluous idle resources.
Cloud Services (Nunez et al., 2013) A language for describing and measuring accountability attributes of
cloud service and providers
Metamodel of cloud services accountability Cloud service A language for describing none-functional properties of cloud services in terms of entities, evidence and actions. The language facilitates defining meaningful measures for
accountability properties of cloud provider including transparency, verifiability, observability, liability, responsibility, attributability, and remediation.
(Cimato et al., 2013) A language to express domain concepts of cloud service certification
process
Metamodel of cloud services certification process Cloud service A unified metamodel for the defining of the security properties to be certified, the types of evidence underlying them, and the phases of the certificate lifecycle, as well as all
mechanisms for instantiating supporting evidence.
Cloud
application
interoperability
and portability
(Ardagna et al., 2012) Portability and interoperability of applications in multiple clouds Using model transformation techniques Cloud application Allowing developers to design application in a cloud-agnostic way and instantiate it for different cloud environments. This way provides closed-loop between the run-time
and design-time environments of application and triggers the dynamic deployment of the application.
(Caballer et al., 2014) Execution of scientific applications in cloud infrastructures Using the concept of container to encapsulate programming
model logic and the infrastructure needed to execute it in the
cloud.
Scientific Cloud applications Developer can adapt, deploy and execute parallel applications covering different programming models (such as Master/Slave, Parallel/MPI, MapReduce and Workflows)
to the cloud backend.
(Maximilien et al., 2009) Managing application deployment and cross-cloud interoperation Cloud-agnostic APIs Middleware architecture A meta-model to model cloud platforms at an abstraction level to support application deployment and redeployment in the cloud.
(Kopp et al., 2012) Business process interoperability and portability on multiple clouds Extending BPMN with specific elements for transformation of
business process to a specific platform
Business Process Providing automated modelling and transformation for planning, tailoring and deploying composite business processes on different IaaS providers and workflow engines.
Modeller defines abstractly what kind of service should be invoked without concrete references to services. Instantiation information such as virtual machines is then added
by Plan Portability APIs.
(Wettinger et al., 2013) Model-driven configuration management High-level configurative metamodel Cloud application A model-driven support for specifying configuration templates in a higher level of abstraction including topology template, node types, and relationship types in
application configuration.
Cloud
architecture
design best
practices
(Fehling et al., 2012) Formalizing best practice design of cloud-based application
architecture
A pattern language Cloud application A language to describe common design patterns for cloud computing architecture design.
Domain specific
language
(Sledziewski et al., 2010) Increasing productivity of application development for Cloud DSL for describing cloud application Cloud application A domain language allowing developers to generate high-level representation of an application and to generate application codes to be deployed in the cloud.
(La and Kim, 2009) Maximizing the reusability and customizability of SaaS applications Model-driven SaaS development process SaaS application Defining a lifecycle including guidelines to model a high-level architecture of SaaS including features, communalities, variation points and scope of variations. Cloud
platform specific information is added to application models when application is to be deployed in a specific cloud platform.
(Zech et al., 2012) A central model from which risks related to the cloud deployment
can be deviated and analysed.
DSL for generating deployment model of application in the
cloud
Cloud application Allowing developers to describe cloud deployment model by their functional and none-functional security-related properties. The defined model then is enriched by a
vulnerability knowledge based to do security analysis. The language facilitates expressing the variety of deployment models.
(Brandic et al., 2010) Simple and flexible compliance information management DSL for specifying compliance requirements of cloud
consumers
Cloud application A language to express user requirements and compliance level agreements such as, security restrictions, privacy, trust, and compliance level agreements. It supports semi-
automatic deployment of applications in the cloud.
Related work on metamodeling in cloud computing literature
Source Migration Task Aim Availability Migration Type
[S7] Analyse Context
Supporting decision making during the suitability analysis of migration in terms of operational cost,
organisational change, energy consumption, and stakeholder analysis. Not-specified V
[S10]
Resolve Incompatibilities
Supporting the data tier migrating to the public cloud and the refactoring of the application components.
Available IV
[S12] Design Cloud Solution
Allowing developers to model application components and define relevant criteria for the splitting
components in the cloud.
Not-specified V
[S33]
Recover Legacy Application Knowledge Discovering legacy application components.
Available
II
Resolve Incompatibilities Resolving interoperability problem between legacy components and third-party cloud services.
Design Cloud Solution Generating a platform specific implementation model from the cloud architecture model.
Test Application Creating test cases and test scenarios.
Configure Network
Generating a platform specific implementation model from the architecture model by taking into account
the constraints relevant to the deployment of applications in the cloud.
[S59] Recover Legacy Application Knowledge Extracting the ontology of source code, data, and architecture of the legacy application. Available All
[S64]
Analyse Context Analysing business and technical migration feasibility.
Available II
Recover Legacy Application Knowledge Representing high-level and platform-specific models of the legacy application.
Resolve Incompatibilities Transforming legacy codes to the cloud target platform.
Test Application Supporting functional and non-functional testing.
Configure Network Deploying application components in the cloud.
[S71]
Enable Elasticity Configuring amazon services (e.g. storage, resource).
Available V
Resolve Incompatibilities Integration legacy components with amazon cloud services.
Configure Network
Configuring network and dynamic resource provisioning (e.g. elasticity, virtualization, auto-scaling).
Related work on cloud migration
Overview of key concerns in cloud migration process
# Concern Definition
C1 Analysing Organisational Context Assessing the feasibility and business value of the cloud to empower legacy applications in terms of in terms of user resistance, loss of governance, dependency on legacy application, risk of unauthorised access, legal restriction, physical
location of IT resources, energy consumption, variation on responsibilities, technical suitability, impact on organisational and daily activities, type of legacy application , required efforts and migration cost , scalability (workload fluctuation),
and financial suitability.
C2 Understanding Cloud Migration
Objectives and Requirements
Analysing cloud migration goals and application requirements that should be satisfied by cloud services.
C3 Proper Cloud Migration Planning Defining a plan to guide the migration process and roll-back plan.
C4 Understanding Legacy
Application
Identifying the characteristics of legacy application that may influence cloud migration such different types of dependencies to other applications, interaction points and message follows between application components, as well as the
quality of code blocks for reuse and adaptation.
C5 Target Cloud Platform/Service
Selection
Analysing available cloud services, their offered model, and their influence on platforms on the required effort for the rest of migration process. Also, training developers on new programming concepts such as asynchronous interaction,
distributed state and session management, caching, scale out across data centers and providers (scalability), multi-tenancy.
C6
Re-Architecting Legacy
Applications
C6.1. Defining Cloud Architecture Model Identifying suitable legacy application components for migration and their deployment (topology) in the cloud with
respect to data privacy, expected workload profile, acceptable network latency and performance variability, availability
zone of cloud providers, the affinity of components in the cloud, and the geographical location of cloud servers.
C6.2 Enabling Application Elasticity Defining elasticity rules and mechanisms in the application in order to support dynamic scale up/down and acquire and
release cloud resources in a adequately manner.
C6.3 Enabling Multi-Tenancy C6.3.1 Security Isolation Addressing tenant isolation with respect to the security (i.e. assuring each tenant can only access to its data and to be
protected from unauthorised access by other tenants which are running in the same cloud), customisability (adding
configuration points, in the form of application template, in the code blocks of the application so that each tenant can
customise the sequence of application workflow and code customisation on basis of his/her requirements), fault
(monitoring the application state to detect the faults, preventing their propagation, and repairing them in a timely
manner), and performance (guaranteeing the performance of one tenant from the negatively being affected by the
performance usage of other tenants in unforeseen behaviours).
C6.3.2 Tenant-Based Application Customisation
C6.3.3 Fault Isolation
C6.3.4 Performance Isolation
C6.4 Addressing Interoperability and Incompatibility C6.4.1 Code refactoring Modifying legacy codes so that they can interact with the cloud services.
C6.4.2 Developing Integrators/Adaptors Wrapping incompatibilities between legacy and cloud services by using adaptors.
C6.4.3 Data Adaptation Resolving incompatibilities between legacy data base and cloud solution database through data type conversions,
query transformation, database schema transformation, and developing runtime emulators for stored procedure,
views or triggers.
C6.5 Applying Architecture Design Principles C6.5.1 Application Decoupling Re-architecting a legacy application to target cloud architecture with respect to design principles such as application
decoupling, stateless programming, handling transient faults, and availability.C6.5.2 Stateless Programming
C6.5.3 Handling the Unpredictability of Cloud Environments
C6.5.4 Replicating and Synchronising
C7 Environment Configuration Reconfiguring organisation network setting such as ports, devices, firewalls, and anti-virus, reachability policies, and connection strings to the database so that legacy components can invoke cloud services, giving privileges to application
tenants/users to assure the security of application is satisfied in the cloud environment, creating installation scripts and setup different third-party libraries and tools that may be used for monitoring and reporting runtime application
behaviour.
C8 Testing Ensuring that the migrated application satisfies cloud migration objectives/requirements.
 Examples: respondents’ comments about the importance of constructs (activity/work-product) for
inclusion in the process model
 Analyse Context
“Cloud migrations will almost always result in significant change to (often longstanding) business processes. Many employees will begin to worry
about job security - similar to outsourcing projects. Be prepared to deal with resistance in equal quantities from business users, as well as engineers and
developers”
A system analyst with 4 years experience in cloud computing
 Identify Incompatibilities
 “Provider selection may produce additional requirements in terms of implementation. This refers to the fact that based on what provider (e.g. Google
App engine or Azure), specific requirements may be posed on the technical implementation. For example, if you go for PaaS, then providers usually
support only a subset of the available Java frameworks. If the migration is from an SQL-based DB for example to a SQL based service DB, then
migration is easy. If migration involves the alteration of the data model (e.g. to a NoSQL solution), then significant modifications must be performed
and more importantly to check the constraints of the new used paradigm. Thus you must take that under consideration, especially when you want to
reutilize existing code, which is the case in application migration. Checking which frameworks are supported against which frameworks have been used
for your initial application gives you an indication of how complex it would be to migrate to that specific provider”
A software developer with 4 years experience in cloud computing
Procedure for the validation (II)
Validation (III):
A domain expert review of the process model
Expert 1 Expert 2 Expert 3 Expert 4
 Selection of experts
 Expert 1. A professor and institute partner at the
Institute for Software in Switzerland.
 Skills: cloud computing, service-based system design,
software architectures, and knowledge management
 Expert 2. A/professor and former principal investigator
theme lead of the Irish centre for cloud computing and
commerce (IC4).
 Skills: cloud migration, legacy system migration to the
cloud
 Expert 3. Practitioner
 Skill: cloud computing, Scrum master, software architect,
object-oriented design, domain-driven design
 Expert 4. Researcher at the Software and Systems
Sections, IT University of Copenhagen, Denmark,
 Skill: cloud migration, software architecture
Researcher
 E2 said “determining licensing issues of legacies should be made more visible in the process model as it can turn out to
be a major task in the migration process”
 Resolve Licensing Issues as a special construct was added in Design Phase of the process model.
 E3 said “the migration process model should contain a construct to show rollback for the migration process”
 the process model was refined by extending the construct Define Plan to Define Roll-Back Plan.
A Generic Cloud Migration Process Model (version 1.3)

Contenu connexe

Tendances

TOWARDS A MACHINE LEARNING BASED ARTIFICIALLY INTELLIGENT SYSTEM FOR ENERGY E...
TOWARDS A MACHINE LEARNING BASED ARTIFICIALLY INTELLIGENT SYSTEM FOR ENERGY E...TOWARDS A MACHINE LEARNING BASED ARTIFICIALLY INTELLIGENT SYSTEM FOR ENERGY E...
TOWARDS A MACHINE LEARNING BASED ARTIFICIALLY INTELLIGENT SYSTEM FOR ENERGY E...
Durreesamin Journal Australia (ISSN: 2204-9827)
 
Real-World Recommender Systems for Academia: The Pain and Gain in Building, O...
Real-World Recommender Systems for Academia: The Pain and Gain in Building, O...Real-World Recommender Systems for Academia: The Pain and Gain in Building, O...
Real-World Recommender Systems for Academia: The Pain and Gain in Building, O...
Joeran Beel
 
3DCAD As A Boundary Object – Presented at May Seminar Texas Tech 2011
3DCAD As A Boundary Object – Presented at May Seminar Texas Tech 20113DCAD As A Boundary Object – Presented at May Seminar Texas Tech 2011
3DCAD As A Boundary Object – Presented at May Seminar Texas Tech 2011
Tom Burns
 

Tendances (9)

Toward supporting decision-making under uncertainty in digital humanities wit...
Toward supporting decision-making under uncertainty in digital humanities wit...Toward supporting decision-making under uncertainty in digital humanities wit...
Toward supporting decision-making under uncertainty in digital humanities wit...
 
Predicting More from Less: Synergies of Learning
Predicting More from Less: Synergies of LearningPredicting More from Less: Synergies of Learning
Predicting More from Less: Synergies of Learning
 
TOWARDS A MACHINE LEARNING BASED ARTIFICIALLY INTELLIGENT SYSTEM FOR ENERGY E...
TOWARDS A MACHINE LEARNING BASED ARTIFICIALLY INTELLIGENT SYSTEM FOR ENERGY E...TOWARDS A MACHINE LEARNING BASED ARTIFICIALLY INTELLIGENT SYSTEM FOR ENERGY E...
TOWARDS A MACHINE LEARNING BASED ARTIFICIALLY INTELLIGENT SYSTEM FOR ENERGY E...
 
Knowledge Discovery in Environmental Management
Knowledge Discovery in Environmental Management Knowledge Discovery in Environmental Management
Knowledge Discovery in Environmental Management
 
University of South Florida Case Study
University of South Florida Case StudyUniversity of South Florida Case Study
University of South Florida Case Study
 
Technology Use in the Virtual R&D Teams
Technology Use in the Virtual R&D TeamsTechnology Use in the Virtual R&D Teams
Technology Use in the Virtual R&D Teams
 
Building the Data Science Profession in Europe
Building the Data Science Profession in EuropeBuilding the Data Science Profession in Europe
Building the Data Science Profession in Europe
 
Real-World Recommender Systems for Academia: The Pain and Gain in Building, O...
Real-World Recommender Systems for Academia: The Pain and Gain in Building, O...Real-World Recommender Systems for Academia: The Pain and Gain in Building, O...
Real-World Recommender Systems for Academia: The Pain and Gain in Building, O...
 
3DCAD As A Boundary Object – Presented at May Seminar Texas Tech 2011
3DCAD As A Boundary Object – Presented at May Seminar Texas Tech 20113DCAD As A Boundary Object – Presented at May Seminar Texas Tech 2011
3DCAD As A Boundary Object – Presented at May Seminar Texas Tech 2011
 

Similaire à Presentation 2019 08-30

The Journal of Systems and Software 120 (2016) 31–69 Conte.docx
The Journal of Systems and Software 120 (2016) 31–69 Conte.docxThe Journal of Systems and Software 120 (2016) 31–69 Conte.docx
The Journal of Systems and Software 120 (2016) 31–69 Conte.docx
jmindy
 
PresentationTest
PresentationTestPresentationTest
PresentationTest
bolu804
 
A systems engineering methodology for wide area network selection
A systems engineering methodology for wide area network selectionA systems engineering methodology for wide area network selection
A systems engineering methodology for wide area network selection
Alexander Decker
 
A systematic mapping study of performance analysis and modelling of cloud sys...
A systematic mapping study of performance analysis and modelling of cloud sys...A systematic mapping study of performance analysis and modelling of cloud sys...
A systematic mapping study of performance analysis and modelling of cloud sys...
IJECEIAES
 
TUW-ASE-Summer 2015: Advanced Services Engineering - Introduction
TUW-ASE-Summer 2015: Advanced Services Engineering - IntroductionTUW-ASE-Summer 2015: Advanced Services Engineering - Introduction
TUW-ASE-Summer 2015: Advanced Services Engineering - Introduction
Hong-Linh Truong
 
IMPROVEMENT OF ENERGY EFFICIENCY IN CLOUD COMPUTING BY LOAD BALANCING ALGORITHM
IMPROVEMENT OF ENERGY EFFICIENCY IN CLOUD COMPUTING BY LOAD BALANCING ALGORITHMIMPROVEMENT OF ENERGY EFFICIENCY IN CLOUD COMPUTING BY LOAD BALANCING ALGORITHM
IMPROVEMENT OF ENERGY EFFICIENCY IN CLOUD COMPUTING BY LOAD BALANCING ALGORITHM
Associate Professor in VSB Coimbatore
 
Aragon at al 2012
Aragon at al 2012Aragon at al 2012
Aragon at al 2012
karzanwakil
 
A Secure and Dynamic Multi-keyword Ranked Search Scheme over Encrypted Cloud ...
A Secure and Dynamic Multi-keyword Ranked Search Scheme over Encrypted Cloud ...A Secure and Dynamic Multi-keyword Ranked Search Scheme over Encrypted Cloud ...
A Secure and Dynamic Multi-keyword Ranked Search Scheme over Encrypted Cloud ...
1crore projects
 
A Secure and Dynamic Multi-keyword Ranked Search Scheme over Encrypted Cloud ...
A Secure and Dynamic Multi-keyword Ranked Search Scheme over Encrypted Cloud ...A Secure and Dynamic Multi-keyword Ranked Search Scheme over Encrypted Cloud ...
A Secure and Dynamic Multi-keyword Ranked Search Scheme over Encrypted Cloud ...
1crore projects
 

Similaire à Presentation 2019 08-30 (20)

A Model-Driven Approach to Support Cloud Migration Process- A Language Infras...
A Model-Driven Approach to Support Cloud Migration Process- A Language Infras...A Model-Driven Approach to Support Cloud Migration Process- A Language Infras...
A Model-Driven Approach to Support Cloud Migration Process- A Language Infras...
 
The Journal of Systems and Software 120 (2016) 31–69 Conte.docx
The Journal of Systems and Software 120 (2016) 31–69 Conte.docxThe Journal of Systems and Software 120 (2016) 31–69 Conte.docx
The Journal of Systems and Software 120 (2016) 31–69 Conte.docx
 
PresentationTest
PresentationTestPresentationTest
PresentationTest
 
A systems engineering methodology for wide area network selection
A systems engineering methodology for wide area network selectionA systems engineering methodology for wide area network selection
A systems engineering methodology for wide area network selection
 
The Future is Big Graphs: A Community View on Graph Processing Systems
The Future is Big Graphs: A Community View on Graph Processing SystemsThe Future is Big Graphs: A Community View on Graph Processing Systems
The Future is Big Graphs: A Community View on Graph Processing Systems
 
Cloud middleware and services-a systematic mapping review
Cloud middleware and services-a systematic mapping reviewCloud middleware and services-a systematic mapping review
Cloud middleware and services-a systematic mapping review
 
Understanding and Addressing Architectural Challenges of Cloud- Based Systems
Understanding and Addressing Architectural Challenges of Cloud- Based SystemsUnderstanding and Addressing Architectural Challenges of Cloud- Based Systems
Understanding and Addressing Architectural Challenges of Cloud- Based Systems
 
A systematic mapping study of performance analysis and modelling of cloud sys...
A systematic mapping study of performance analysis and modelling of cloud sys...A systematic mapping study of performance analysis and modelling of cloud sys...
A systematic mapping study of performance analysis and modelling of cloud sys...
 
cloud
cloudcloud
cloud
 
Cloud migration research a systematic review
Cloud migration research a systematic reviewCloud migration research a systematic review
Cloud migration research a systematic review
 
TUW-ASE-Summer 2015: Advanced Services Engineering - Introduction
TUW-ASE-Summer 2015: Advanced Services Engineering - IntroductionTUW-ASE-Summer 2015: Advanced Services Engineering - Introduction
TUW-ASE-Summer 2015: Advanced Services Engineering - Introduction
 
TUW-ASE-Summer 2014: Advanced Services Engineering- Introduction
TUW-ASE-Summer 2014: Advanced Services Engineering- IntroductionTUW-ASE-Summer 2014: Advanced Services Engineering- Introduction
TUW-ASE-Summer 2014: Advanced Services Engineering- Introduction
 
Task Scheduling methodology in cloud computing
Task Scheduling methodology in cloud computing Task Scheduling methodology in cloud computing
Task Scheduling methodology in cloud computing
 
IMPROVEMENT OF ENERGY EFFICIENCY IN CLOUD COMPUTING BY LOAD BALANCING ALGORITHM
IMPROVEMENT OF ENERGY EFFICIENCY IN CLOUD COMPUTING BY LOAD BALANCING ALGORITHMIMPROVEMENT OF ENERGY EFFICIENCY IN CLOUD COMPUTING BY LOAD BALANCING ALGORITHM
IMPROVEMENT OF ENERGY EFFICIENCY IN CLOUD COMPUTING BY LOAD BALANCING ALGORITHM
 
Aragon at al 2012
Aragon at al 2012Aragon at al 2012
Aragon at al 2012
 
AHM 2014: Enterprise Architecture for Transformative Research and Collaborati...
AHM 2014: Enterprise Architecture for Transformative Research and Collaborati...AHM 2014: Enterprise Architecture for Transformative Research and Collaborati...
AHM 2014: Enterprise Architecture for Transformative Research and Collaborati...
 
Cloud computing and Service model
Cloud computing and Service modelCloud computing and Service model
Cloud computing and Service model
 
A Secure and Dynamic Multi-keyword Ranked Search Scheme over Encrypted Cloud ...
A Secure and Dynamic Multi-keyword Ranked Search Scheme over Encrypted Cloud ...A Secure and Dynamic Multi-keyword Ranked Search Scheme over Encrypted Cloud ...
A Secure and Dynamic Multi-keyword Ranked Search Scheme over Encrypted Cloud ...
 
A Secure and Dynamic Multi-keyword Ranked Search Scheme over Encrypted Cloud ...
A Secure and Dynamic Multi-keyword Ranked Search Scheme over Encrypted Cloud ...A Secure and Dynamic Multi-keyword Ranked Search Scheme over Encrypted Cloud ...
A Secure and Dynamic Multi-keyword Ranked Search Scheme over Encrypted Cloud ...
 
Cloud Computing: A Perspective on Next Basic Utility in IT World
Cloud Computing: A Perspective on Next Basic Utility in IT World Cloud Computing: A Perspective on Next Basic Utility in IT World
Cloud Computing: A Perspective on Next Basic Utility in IT World
 

Plus de Mahdi_Fahmideh

Plus de Mahdi_Fahmideh (11)

Adoption Blockchain Smart Contracts in Developing Information Systems.pdf
Adoption Blockchain Smart Contracts in Developing Information Systems.pdfAdoption Blockchain Smart Contracts in Developing Information Systems.pdf
Adoption Blockchain Smart Contracts in Developing Information Systems.pdf
 
University of Borås-full talk-2023-12-09.pptx
University of Borås-full talk-2023-12-09.pptxUniversity of Borås-full talk-2023-12-09.pptx
University of Borås-full talk-2023-12-09.pptx
 
IoT system development.pdf
IoT system development.pdfIoT system development.pdf
IoT system development.pdf
 
Digital Forensics for Artificial Intelligence (AI ) Systems.pdf
Digital Forensics for Artificial Intelligence (AI ) Systems.pdfDigital Forensics for Artificial Intelligence (AI ) Systems.pdf
Digital Forensics for Artificial Intelligence (AI ) Systems.pdf
 
Application of Blockchain Technologies in Digital Forensics
Application of Blockchain Technologies in Digital ForensicsApplication of Blockchain Technologies in Digital Forensics
Application of Blockchain Technologies in Digital Forensics
 
Mahdi octal nomination.pdf
Mahdi octal nomination.pdfMahdi octal nomination.pdf
Mahdi octal nomination.pdf
 
Certificate for Contributions as a Reviewer for the Journal of Software and S...
Certificate for Contributions as a Reviewer for the Journal of Software and S...Certificate for Contributions as a Reviewer for the Journal of Software and S...
Certificate for Contributions as a Reviewer for the Journal of Software and S...
 
best paper award.pdf
best paper award.pdfbest paper award.pdf
best paper award.pdf
 
The 1st workshop on engineering processes and practices for quantum software ...
The 1st workshop on engineering processes and practices for quantum software ...The 1st workshop on engineering processes and practices for quantum software ...
The 1st workshop on engineering processes and practices for quantum software ...
 
ACIS2022 Reviewer Certification.pdf
ACIS2022 Reviewer Certification.pdfACIS2022 Reviewer Certification.pdf
ACIS2022 Reviewer Certification.pdf
 
Role of ontologies in beach safety management analytics systems
Role of ontologies in beach safety management analytics systemsRole of ontologies in beach safety management analytics systems
Role of ontologies in beach safety management analytics systems
 

Dernier

1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 

Dernier (20)

Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 

Presentation 2019 08-30

  • 1. My journey in design science research Dr. Mahdi Fahmideh Lecturer, University of Wollongong (UOW) Mahdi@uow.edu.au Software Engineering Winter School, Sydney, 8-9 July 2019
  • 2. Who am I ? Information system Development Postdoctoral Researcher (Oct 2016 – Dec 2018) Teaching (March 2015 – present) Mahdi PhD UNSW Business School (September 2013- July 2017) ranked 4th in Australia, 45th in the world, 2018 QS World University Rankings UTS is-a was-a at is-a Cloud computing IoTBlockchain Data analytics Service engineering Enterprise Database Management Network Project Management php Web- Backend Programming Software Engineering course Lecturer @ UOW (Feb 2019 - ? ) IT Infrastructure/Network System Analysis and Design Researcher (2012 – present) published 15 Journals/Papers 2 To be helpful for IS/SE community
  • 3. IS SE Disruptive technologies Information Systems: - Design science research (DSR) - IS Theories (Positivism, Interpretivism) - methodological pluralism - quantitative approaches (e.g., surveys) - qualitative approaches (e.g., interpretive case study, interview, and domain expert review) Software engineering: - Software processes - Software architecture -RE -Method engineering -Model-driven SE - SE Methodologies - DSS Frameworks - Conceptual models - Software tools What about myself? Mahdi’s 3-pillars research product lineSocial science Synergy Applied Context Output
  • 4. Disruptive technology IS SE Output Year IoT - Domain expert review - Systematic literature review (SLR) - Exploration of IoT platform development process- - Information Systems – Journal (Core A* journal) 2019 Cloud computing -DSR -Web-based survey -Qualitative case study -Domain expert review - Software process - Metamodeling - Method engineering - Generic Cloud Migration Process - EJIS (Core A* journal, Basket of 8 journals) 2018 Cloud computing -Web-based survey (104 domain experts, statistical tests) -SLR - Challenges in Mig. Apps to the cloud - Information Systems – Journal (Core A* journal) 2017 Data analytics -DSR - Goal-oriented modeling - Fuzzy math - Data analytics architecture design - Computers and Industrial Engineering - Q1, Impact factor Impact Factor: 3.518 2018 Examples of Mahdi’s research product line
  • 5. Example 1: Process model for migrating legacy apps. to cloud
  • 6.  Many enterprise systems supporting IT functions are characterised by the need for high computing capability, reducing the cost of maintenance and upgrading, efficient resource utilisation, less environmental impact and electrical energy consumption (Armbrust et al., 2010, Buyya et al., 2008, Koçak et al., 2013).  Cloud computing has received attention to address such requirements through offering a wide range of service delivery models which are universally accessible, dynamically acquirable and releasable, and payable on the basis of service usage amount.  It is estimated that the global cloud computing market will grow from $40.7 billion in 2011 to $241 billion in 2020 (Ried S, 2011).  High computational capabilities  Reduced infrastructure cost  Efficient resource consumption  Low electrical energy consumption  Less environmental impact Cloud Computing Technology
  • 7. “Like any software development project, migration projects require careful planning and good methodology to ensure successful execution” Laszewski and Nauduri (2011), designer of a methodology for moving Oracle legacy applications to the cloud “In the beginning it [legacy migration] was motivated by the lack of documentation, but in the last years it has been motivated by adaptation to new technologies. Each new technology has required new and renewed approaches and technologies to ad- dress the migration process in a more effective way.” Benguria et al., 2013, REMICS project “A well- structured methodology can aid developers to carry out an effective and safe application migration, instead of struggling to under- stand “what” and “how” to carry out such a transition in an ad-hoc manner which may latter result in poor and erroneous migration and maintenance overhead.” Fahmideh, et al. “Cloud migration process—A survey, evaluation framework, and open challenges”, Journal of Systems and Software 120 (2016): 31-69. Need for software engineering methodology
  • 8. Moving existing legacy systems to cloud platforms
  • 9. Chauhan’s method [S9] REMICS method [S3] Cloud-RMM [S68] Strauch’s method [S10] Zhang’s method [S13] Oracle method [S25] ARTIST method [S64] Amazon [S71] Legacy-to-Cloud Migration [S27] Some example methods
  • 10. Knowledge gaps in the current literature
  • 11. Narrowing down in implementations and platform-specific details Chauhan’s method [S46] There is a need to detach the cloud application development process from specific cloud platforms (Hamdaqa et al., 2011) Knowledge gaps in the current literature (Continue)
  • 12.  Same migration process BUT from different viewpoints  There is a corresponding/link among these definitions. Nevertheless, this link has not been explicitly harmonised and integrated so far.  Cloud migration knowledge domain is a multi-faceted, fragmented, and dispersed area Select: This step will select the best supplier based on value, sustainability, and quality Conway et al. in [S4] Selected Cloud Environments: Identify a set of potential cloud computing platforms based on a project’s nature, data confidentiality and sensitivity requirements, budget constraints and long-term organisational objectives Chauhan et al. in [S9] Select Target Platform: Selecting appropriate technology for the modernised system and technology that can run alongside and communicate with the legacy system Huru in [S32] Knowledge gaps in the current literature (Continue)
  • 13.  One-size-fits-all assumption (tailoring not supported)  Choice of a migration method is dependent on factors such as selected service delivery model, organisation characteristics, and requirements of legacy apps.  Example:  Moving legacies to IaaS  Moving legacies to SaaS  A support for the strategy/method tailoring does not exist in the current literature  “One solution can never fit all problems; there is a need of customised cloud for individual businesses” (Mahmood, 2013 ).  “there is no one-size-fits-all cloud, and it is up to each business to decide how much change is tolerable and to decide how far into the cloud to step” [S62] Knowledge gaps in the current literature (Continue)
  • 14. Research objective: “Factoring out commonalities of existing methods into a tailorable, unified, and abstract process model”
  • 16.  Research Objective A generic, platform-agnostic customizable development process model for cloud migration.  A problem/solving endeavour  This research objective can be addressed by Design Science Research (DSR)  DSR focuses on the problem solving aspects by designing and prescribing artificial innovations (Gregor and Hevner 2013), (Peffers, Tuunanen et al. 2007) Problem Identification Design Iteratively refine the artefact Validation Observer the efficacy of the artefact (Iterate back to design, if required)Artefact Cloud Computing Literature Existing IS or SE Theories/Approach es analytics, case studies, experiments, simulations, or naturalistic evaluations Artefact, i.e. process model
  • 18. Metamodeling in SE (Atkinson & Kuhne, 2003), (Gonzalez-Perez & Henderson- Sellers, 2008)  Metamodels capture common concepts, relationships, and ways of working  They are often suggested for achieving knowledge interoperability and integration of a domain of interest  A Meta-method !
  • 19. Step 1. Preparing a knowledge source (identifying papers from the literature) Step 3. Harmonising constructs’ definitions (reconciliation of differences among definitions) Step 2. Extracting constructs/fragments from the identified papers Output  Development of a Generic Cloud Migration Process Meta Model  Existing guidelines for the metamodeling were used  (Lopes, 1997), (Beydoun et al., 2009), (Othman et al., 2014), (Keller and König, 2014), (Gholami et al., 2010), (Cicchetti et al., 2011) Cloud Computing Literature Cloud Migration Process Model * An activity performed during the migration process * A work-product produced during the migration process
  • 20.  Systematic literature review (Kitchenham, Pearl Brereton et al. 2009)  A well-recognized procedure to identify, analyse, and interpret all relevant studies regarding a particular topic of interest.  Search Strings: The main terms “Cloud”, “Cloud Computing”, “Service Computing”, “Legacy”, “Methodology”, “Process Model”, “Reference Model”, and “Migration”  Selected Study Sources: IEEE Explore, ACM Digital Library, SpringerLink, ScienceDirect, Wiley InterScience, ISI Web of Knowledge, Google scholar.  Inclusion criteria: validated using example application, simulation, empirical study (case study, controlled experiment), or experience from real examples. Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
  • 21.  78 Studies Identified  existing methodologies, general approaches/frameworks, industrial experiences, patterns, decision making framework . Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
  • 22. Collected Demographic Data Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
  • 23. Step 1. Preparing a knowledge source (identifying papers from the literature) Step 3. Harmonising constructs’ definitions (reconciliation of differences among definitions) Step 2. Extracting constructs/fragments from the identified papers Output  Development of a Generic Cloud Migration Process Meta Model  Existing guidelines for the metamodeling were used  (Lopes, 1997), (Beydoun et al., 2009), (Othman et al., 2014), (Keller and König, 2014), (Gholami et al., 2010), (Cicchetti et al., 2011) Cloud Computing Literature Cloud Migration Process Model * An activity performed during the migration process * A work-product produced during the migration process
  • 24. Extracting Constructs (e.g. tasks, work-products)— An example Step 2  Construct selection criteria: Relevant to challenges in cloud application development Sufficiently generic The extraction of constructs from Chauhan and Babar’s Methodology
  • 25. Extracting Constructs- An example In total 511 constructs/method fragments were identified. Step 2
  • 26. An example of an construct related to Choose Cloud Provider Construct Source Definition from the Source Paper Choosing a Cloud Provider [S23] “Choose a proper cloud provider” Decision on Cloud Providers [S27] “Once the requirements are elicited and prioritised, an important activity is to consider the cloud (PaaS) provider” Platform Selection [S63] “Choose a suitable cloud provider as well as service model that fulfils the SME Cloud Requirements” Select [S4] “This step will select the best supplier based on value, sustainability, and quality” Select [S67] “Engage and select one or more Cloud supplier and negotiate the deal” Select Cloud Data Store or Data Service [S11] “The concrete target data store or data service for the migration is selected in step three by mapping the properties of the Cloud Data Hosting Solution specified in the previous step to the set of available data stores and data services that have been categorised according to the same non-functional and functional properties” Select Target Platform [S32] “Selecting appropriate technology for the modernised system and technology that can run alongside and communicate with the legacy system” Selected Cloud Environments [S9] “Trade-off analysis documents specifying pros and cons of the environments identified during the previous activity and their suitability with applications from business and technology perspectives” Selection [S14] “Selection of an appropriate CEM-compatible cloud profile candidate” Selection [S60] “Selection of an appropriate cloud profile candidate” Selection [S61] Nil (No definition was provided) Selection and Evaluation [S44] “Based on this cost metrics (response time, labour cost, licensing cost, or energy efficiency) the alternatives can be evaluated and selected” Step 2
  • 27. Step 1. Preparing a knowledge source (identifying papers from the literature) Step 3. Harmonising constructs’ definitions (reconciliation of differences among definitions) Step 2. Extracting constructs/fragments from the identified papers Output  Development of a Generic Cloud Migration Process Meta Model  Existing guidelines for the metamodeling were used  (Lopes, 1997), (Beydoun et al., 2009), (Othman et al., 2014), (Keller and König, 2014), (Gholami et al., 2010), (Cicchetti et al., 2011) Cloud Computing Literature Cloud Migration Process Model * An activity performed during the migration process * A work-product produced during the migration process
  • 28. Choose Cloud Provider  Step 2.1 Grouping Similar Constructs— an iterative approach  An example: 35 studies refers to the notion of cloud provider selection Step 3— Creating an Initial Metamodel (Continue)
  • 29. Step 2.2 Harmonising the Constructs’ Definitions There is a link between different definitions Reconciliation of the various definitions An Example: Choose Cloud Provider Step 3— Creating an Initial Metamodel (Continue)
  • 30.  Defining Relationships between the constructs  Association, , Specialisation and Aggregation  An Example An application is analysed to assess its compatibility with the potential cloud computing environments. For example, it may be the case that a target PaaS cloud does not support frameworks or specific technologies being used by an application. If such issues are identified, then these need to be resolved first” Chauhan’s methodology (denoted by [S9]) Step 3— Creating an Initial Metamodel (Continue)
  • 31. Result A generic process meta model Version 1.0
  • 32. Resultant Metamodel Plan Phase class of constructs
  • 34. Resultant Metamodel Design Phase class of constructs
  • 35. Resultant Metamodel Enable Phase class of constructs
  • 36. A Generic Cloud Migration Process Model (version 1.0)
  • 38.  Purpose: To assess whether the process model constructs are sound and perceived as important by experts  Survey design  Pilot test: a sequential review process  A panel of four cloud experts  Expert 1: 8 years of experience in using Amazon services  Expert 2: 7 years of experience in IBM  Expert 3: 3 years of experience in developing cloud applications for Bank sector  Expert 4: An academic reviewer (editor chief in a cloud-related journal )  Data collection  LinkedIn, Twitter, and Facebook  Each profile was screened to assure he/she had sufficient experience in application migration to cloud  515 qualified experts were invited  144 responded  104 usable responses (response rate of 20%)
  • 39.  The null and alternative hypothesises were defined  H0: the mean of the importance of each construct is = 5 (Somewhat Important) vs. H1: the mean of the importance of each construct is significantly > 5  One Sample T-Test  Normality assumption  N = 104  Tenant Isolation (t-test statistic of= -1.499, p- value of=0.06) and Virtual Machine Specification (t-test statistic of=0.513, p-value of =0.30)
  • 40. A Generic Cloud Migration Process Model (version 1.1)
  • 42.  Purpose: As the process meta model is generic and platform-agnostic, it is expected that real-world migration scenarios can be expressed/represented by the process model. Real-world migration process Cloud migration process meta model Instanceof Real-world migration process Real-world migration process
  • 43. Case study 1— InformaIT  Location: Sweden  Legacy system technologies: Microsoft .NET  Migration type: IaaS  ISD method: in-house  Industry sector: Document processing and management  InformaIT is a small independent software vendor (ISV) in Sweden involved in the design and development document management systems (Rabetski and Schneider, 2013). The Document Comparison (DC) system, developed by InformaIT, was a Web-based enterprise solution for enhancing document management processes. DC provided a fast and easy way to compare textual and graphical contents of different digital documents. DC was originally designed to offer services to medium and large organisations which had enough resources, own infrastructure, and technicians to install and run the application. InformaIT was considering to promote its competitiveness power via expanding DC’s services around small companies. However, there were several issues in running DC on customer’s premises:  Small companies couldn't afford DC as they would be confronted with a high financial commitment. The reason was due to the high cost of installation as well as the usage cost of users. Instead of being charged per user and per installation, small companies would prefer to use the application instantly and pay for their usage that is the number of compared digital documents. A SaaS version of the application would potentially provide such features for this class of customers.  DC had been distributed among a large number of customers’ network. InformIT had to convince each customer to replace their existing package and also to cooperate during the actual upgrading. A cloud model could facilitate an efficient and agile maintenance environment for the DC.  43-page document of this project.  Tracing technique (Sargent, 2005)  Examining the origination of the process model constructs to real-world migration models
  • 45. Case study 2— TOAS • Location: Finland • Legacy system technologies: J2EE Technology • Migration type: IaaS • ISD method: in-house • Industry sector: Telecommunication • Tieto Oyj is an IT service company in Finland that had built an open source platform called Tieto Open Application Suite (TOAS) based on J2EE technology (Vainikka, 2014). This platform was used for developing and running business applications in cloud environments. The TOAS platform aims to increase the development speed, automation, and the integrity of cloud applications through providing an integrated set of middle-wares, tools, and services according to service models IaaS, PaaS, and SaaS. During the spring of 2014, a cloud migration project was launched by Tieto to migrate a legacy application from the current Tieto’s infrastructure to this new TOAS platform. The application had been developed using J2EE-based technology and was processing batch tasks. Due to the outdated hardware infrastructure and software platform, moving this application to TOAS IaaS was a promising way to enhance the application performance and reduce its infrastructure costs.
  • 47. Case study 3— SpringTrader • Location: United State • Legacy system technologies: J2EE Technology • Migration type: IaaS and PaaS • ISD method: Scrum • Industry sector: Finance • SpringTrader is an open-source Web-based application that has been originally developed by Pivotal company and maintained by many contributors over time. The application allowed users to establish an account to view and manage a portfolio of stocks, lookup stock quotes, and buy and sell stock shares. Pivotal company had launched its own private cloud platform, which named Pivotal Cloud Foundry. The platform is an open-source platform for developing and deploying portable cloud-native enterprise applications. Pivotal company decided to move SpringTrader to this platform because it would enable (i) users to access real-time stock market data and more interactivity with the application, and (ii) the individual scaling up/down of SpringTrader’s components (also called micro services) and their maintainability.
  • 49. • It was found that the process model has a deficiency to support the construct Use Logging. This construct was added as a new subclass of Apply Design Principles to the process model. • Logging mechanism is to facilitate the system debug and resource monitoring when running in the cloud. A Generic Cloud Migration Process Model (version 1.2)
  • 51. Expert 1 (E1): A professor and institute partner at the Institute for Software in Switzerland. Expert 2 (E2): An associate professor and former principal investigator and the architecture theme lead of the Irish centre for cloud computing and commerce (IC4) in Ireland. Expert 3 (E3): A practitioner with expertise in cloud computing, SOA, software architect, object-oriented design, domain-driven design, and Microsoft .Net platform. He has been a Scrum master in several IT projects. Expert 4 (E4): A former academic researcher at the Software and Systems Sections, IT University of Copenhagen, Denmark.
  • 52. A Generic Cloud Migration Process Model (version 1.3)
  • 53. A Generic Cloud Migration Process Model (version 1.3)
  • 55.  Prototype  The prototype semi-automates using the process model.  Helps IS managers (or cloud strategists) to create, configure, standardise, and share customised cloud migration methods through reusing the proposed process model.  Implementation  Microsoft .NET Framework 2015  C# programming language  Microsoft Access Database MLSAC (Migrating Legacy Software Applications to the Cloud)
  • 56.  User can brows the process model and learn about the typical cloud migration process.
  • 57.  Configuration of the process model
  • 58. Created Method Method product (e.g. XML) Software DevelopersCloud Strategist (Project manager) Enacted by software developers  Migration scenario  Moving a legacy system to Amazon EC2  Migration type: IaaS  Enablement Phase Cloud Migration scenario Example: Designing and Sharing a Customised Method for a Cloud Enablement Scenario
  • 60. Step 3 Step 4 Instantiation a new method from the generic process model
  • 61.
  • 62.
  • 63.  Configuration of the process model
  • 64. Created Method Method product (e.g. XML) Software DevelopersIS Manager (or Cloud Strategist) Enacted by software developers
  • 65. Contributions - Theoretical - facilitating knowledge sharing about cloud migration process - Practical - Augmenting in-house methods to support cloud migration projects - As an evaluation framework to assess and select other methods - Providing a foundation for method engineering
  • 66. Prof. John Grundy, Monash university Prof. Didar Zowghi, UTS Dr. Farhad Daneshgar, UNSW Prof. Ghassan Beydoun, UTS Senior Prof. Willy Susilo, UOW Prof. Fethi Rabhi, UNSW Collaboration (alphabetically ordered)
  • 69. Step 1— Preparing Knowledge Sources for Metamodel Creation
  • 70.  Systematic literature review (Kitchenham, Pearl Brereton et al. 2009)  A well-recognized procedure to identify, analyse, and interpret all relevant studies regarding a particular topic of interest.  Search Strings: The main terms “Cloud”, “Cloud Computing”, “Service Computing”, “Legacy”, “Methodology”, “Process Model”, “Reference Model”, and “Migration”  Selected Study Sources: IEEE Explore, ACM Digital Library, SpringerLink, ScienceDirect, Wiley InterScience, ISI Web of Knowledge, Google scholar.  Inclusion criteria: validated using example application, simulation, empirical study (case study, controlled experiment), or experience from real examples. Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
  • 71.  78 Studies Identified  existing methodologies, general approaches/frameworks, industrial experiences, patterns, decision making framework . Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
  • 72. Collected Demographic Data Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
  • 73. Extracting Constructs (e.g. tasks, work-products)— An example Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)  Construct selection criteria: Relevant to challenges in cloud application development Sufficiently generic The extraction of constructs from Chauhan and Babar’s Methodology
  • 74. Extracting Constructs- An example In total 511 constructs were identified. Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
  • 75. Step 2— Creating an Initial Metamodel
  • 76. Step 2— Creating an Initial Metamodel  The gradual formation of metamodel Guidelines introduced in (Beydoun, Low et al. 2009; Othman, Beydoun et al. 2014)
  • 77. Step 2— Creating an Initial Metamodel (Continue) Choose Cloud Provider  Step 2.1 Grouping Similar Constructs— an iterative approach  An example: 35 studies refers to the notion of cloud provider selection
  • 78. M. Fahmideh, F. Daneshgar, G. Low, G. Beydoun, “Cloud Migration Process— A Survey, Evaluation Framework, and Open Challenges”, Journal Systems and Software, 120 (2016): 31-69. Impact Factor: 2.444 , Ranked as Q2.
  • 79.  Step 2.1 Grouping Similar Constructs— an iterative approach Iteration 1: Generic software development lifecycles (Pressman 1992; Sommerville 2004) Generic reengineering lifecycles including Butterfly (Wu, Lawless et al. 1997), Renaissance (Warren and Avallone 1999), Sneed’s approach (Sneed 1995), and Architecture-Driven Modernization horseshoe (Khusidman and Ulrich 2007) Challenges in cloud application development, [S10], and [S68] Iteration 2: Work-products Generic software development introduced, generic reengineering lifecycles Iteration 3: Restructuring and perfecting Tuning granularity of constructs (Henderson-Sellers and Gonzalez-Perez 2010) An example of decomposition: Enable Multi-Tenancy - > Isolate Tenant Data, Isolate Tenant Performance, Isolate Tenants Availability, Enable Application Customisation [S35], [S65] and (Bezemer and Zaidman 2010) Output: 72 common constructs, i.e. 65 tasks and 7 work-products. Step 2— Creating an Initial Metamodel (Continue)
  • 80. Step 2.2 Harmonising the Constructs’ Definitions There is a link between different definitions Reconciliation of the various definitions An Example: Choose Cloud Provider Step 2— Creating an Initial Metamodel (Continue)
  • 81.  Defining Relationships between the constructs  Association, , Specialisation and Aggregation  An Example An application is analysed to assess its compatibility with the potential cloud computing environments. For example, it may be the case that a target PaaS cloud does not support frameworks or specific technologies being used by an application. If such issues are identified, then these need to be resolved first” Chauhan’s methodology (denoted by [S9]) Step 2— Creating an Initial Metamodel (Continue)
  • 83. Resultant Metamodel Plan Phase class of constructs
  • 84. Resultant Metamodel Design Phase class of constructs
  • 85. Resultant Metamodel Enable Phase class of constructs
  • 86. Resultant Metamodel Maintain Phase classes of constructs
  • 87.  Conducting case studies (continue)  New added constructs to the metamodel after the validation  Use Logging
  • 89. Scope Authors title Focus Developed metamodel (artefact) Unit of analysis Key Contributions Cloud architecture (Hamdaqa, 2011) Demystifying cloud computing vocabularies, relations between them, and design elements Metamodel of cloud computing applications Cloud application A metamodel as cloud modelling language aiding developers to better understanding cloud application architectures. (Liu et al., 2011) Conceptualization the of cloud computing architecture Metamodel of cloud computing enterprise architecture Enterprise architecture Demystifying the main constructs are incorporated in cloud migration including actors, architectural components, interactions between actors, and activities. (Lenk et al., 2009) A hierarchical model of cloud computing technologies Integrated cloud computing stack Enterprise architecture Facilitating interoperability of cloud services, providing a reference point for mash-ups, and guidance on how to combine and interchange cloud services. (Tsai et al., 2010) Combining the notions of cloud computing and service computing Four layer cloud service computing architecture style Enterprise architecture Proposing an open architecture for cloud service computing open which standards and ontology are embraced. (Zimmermann et al., 2013) An overall architecture building blocks of big data cloud computing applications Metamodel of big data application architecture Big data cloud applications Supporting semantic analysis and program comprehension of service-oriented big data applications. (Zhang and Zhou, 2009) Standardization of a configurable and extensible cloud computing architecture model Metamodel of principles of cloud computing architecture Enterprise architecture Isolating the enterprise architecture from infrastructure enablement during cloud architecture design process by formulating architectural principles and modules. Green Cloud (Procaccianti et al., 2014) Distilling knowledge of green practice for designing cloud infrastructures Green cloud metamodel cloud infrastructure A metamodel formulating recurrent and reusable architectural tactics and goals and addressing the problem of reducing energy footprint in green cloud architectures. The metamodel can be used for the refactoring of existing applications for cloud enablement. (Nowak et al., 2014) Distilling knowledge of green practice for IaaS-based business processes Green cloud metamodel Business processes A catalogue of green practice for designing green business processes. It aids developers to design virtual machines for execution of cloud-based business processes. (Dougherty et al., 2012) Capturing common features/requirements of virtual machines performed in cloud Metamodel-based auto-scaling resource management approach IaaS-based virtual machine Developers can express requirements such as energy consumption per hour and cost attribute for VM instances using an instantiable metamodel of common features of virtual machines. The metamodel optimizes energy consumption of cloud auto-scaling infrastructure to create greener computing environments that reduce emissions resulting from superfluous idle resources. Cloud Services (Nunez et al., 2013) A language for describing and measuring accountability attributes of cloud service and providers Metamodel of cloud services accountability Cloud service A language for describing none-functional properties of cloud services in terms of entities, evidence and actions. The language facilitates defining meaningful measures for accountability properties of cloud provider including transparency, verifiability, observability, liability, responsibility, attributability, and remediation. (Cimato et al., 2013) A language to express domain concepts of cloud service certification process Metamodel of cloud services certification process Cloud service A unified metamodel for the defining of the security properties to be certified, the types of evidence underlying them, and the phases of the certificate lifecycle, as well as all mechanisms for instantiating supporting evidence. Cloud application interoperability and portability (Ardagna et al., 2012) Portability and interoperability of applications in multiple clouds Using model transformation techniques Cloud application Allowing developers to design application in a cloud-agnostic way and instantiate it for different cloud environments. This way provides closed-loop between the run-time and design-time environments of application and triggers the dynamic deployment of the application. (Caballer et al., 2014) Execution of scientific applications in cloud infrastructures Using the concept of container to encapsulate programming model logic and the infrastructure needed to execute it in the cloud. Scientific Cloud applications Developer can adapt, deploy and execute parallel applications covering different programming models (such as Master/Slave, Parallel/MPI, MapReduce and Workflows) to the cloud backend. (Maximilien et al., 2009) Managing application deployment and cross-cloud interoperation Cloud-agnostic APIs Middleware architecture A meta-model to model cloud platforms at an abstraction level to support application deployment and redeployment in the cloud. (Kopp et al., 2012) Business process interoperability and portability on multiple clouds Extending BPMN with specific elements for transformation of business process to a specific platform Business Process Providing automated modelling and transformation for planning, tailoring and deploying composite business processes on different IaaS providers and workflow engines. Modeller defines abstractly what kind of service should be invoked without concrete references to services. Instantiation information such as virtual machines is then added by Plan Portability APIs. (Wettinger et al., 2013) Model-driven configuration management High-level configurative metamodel Cloud application A model-driven support for specifying configuration templates in a higher level of abstraction including topology template, node types, and relationship types in application configuration. Cloud architecture design best practices (Fehling et al., 2012) Formalizing best practice design of cloud-based application architecture A pattern language Cloud application A language to describe common design patterns for cloud computing architecture design. Domain specific language (Sledziewski et al., 2010) Increasing productivity of application development for Cloud DSL for describing cloud application Cloud application A domain language allowing developers to generate high-level representation of an application and to generate application codes to be deployed in the cloud. (La and Kim, 2009) Maximizing the reusability and customizability of SaaS applications Model-driven SaaS development process SaaS application Defining a lifecycle including guidelines to model a high-level architecture of SaaS including features, communalities, variation points and scope of variations. Cloud platform specific information is added to application models when application is to be deployed in a specific cloud platform. (Zech et al., 2012) A central model from which risks related to the cloud deployment can be deviated and analysed. DSL for generating deployment model of application in the cloud Cloud application Allowing developers to describe cloud deployment model by their functional and none-functional security-related properties. The defined model then is enriched by a vulnerability knowledge based to do security analysis. The language facilitates expressing the variety of deployment models. (Brandic et al., 2010) Simple and flexible compliance information management DSL for specifying compliance requirements of cloud consumers Cloud application A language to express user requirements and compliance level agreements such as, security restrictions, privacy, trust, and compliance level agreements. It supports semi- automatic deployment of applications in the cloud. Related work on metamodeling in cloud computing literature
  • 90. Source Migration Task Aim Availability Migration Type [S7] Analyse Context Supporting decision making during the suitability analysis of migration in terms of operational cost, organisational change, energy consumption, and stakeholder analysis. Not-specified V [S10] Resolve Incompatibilities Supporting the data tier migrating to the public cloud and the refactoring of the application components. Available IV [S12] Design Cloud Solution Allowing developers to model application components and define relevant criteria for the splitting components in the cloud. Not-specified V [S33] Recover Legacy Application Knowledge Discovering legacy application components. Available II Resolve Incompatibilities Resolving interoperability problem between legacy components and third-party cloud services. Design Cloud Solution Generating a platform specific implementation model from the cloud architecture model. Test Application Creating test cases and test scenarios. Configure Network Generating a platform specific implementation model from the architecture model by taking into account the constraints relevant to the deployment of applications in the cloud. [S59] Recover Legacy Application Knowledge Extracting the ontology of source code, data, and architecture of the legacy application. Available All [S64] Analyse Context Analysing business and technical migration feasibility. Available II Recover Legacy Application Knowledge Representing high-level and platform-specific models of the legacy application. Resolve Incompatibilities Transforming legacy codes to the cloud target platform. Test Application Supporting functional and non-functional testing. Configure Network Deploying application components in the cloud. [S71] Enable Elasticity Configuring amazon services (e.g. storage, resource). Available V Resolve Incompatibilities Integration legacy components with amazon cloud services. Configure Network Configuring network and dynamic resource provisioning (e.g. elasticity, virtualization, auto-scaling). Related work on cloud migration
  • 91. Overview of key concerns in cloud migration process # Concern Definition C1 Analysing Organisational Context Assessing the feasibility and business value of the cloud to empower legacy applications in terms of in terms of user resistance, loss of governance, dependency on legacy application, risk of unauthorised access, legal restriction, physical location of IT resources, energy consumption, variation on responsibilities, technical suitability, impact on organisational and daily activities, type of legacy application , required efforts and migration cost , scalability (workload fluctuation), and financial suitability. C2 Understanding Cloud Migration Objectives and Requirements Analysing cloud migration goals and application requirements that should be satisfied by cloud services. C3 Proper Cloud Migration Planning Defining a plan to guide the migration process and roll-back plan. C4 Understanding Legacy Application Identifying the characteristics of legacy application that may influence cloud migration such different types of dependencies to other applications, interaction points and message follows between application components, as well as the quality of code blocks for reuse and adaptation. C5 Target Cloud Platform/Service Selection Analysing available cloud services, their offered model, and their influence on platforms on the required effort for the rest of migration process. Also, training developers on new programming concepts such as asynchronous interaction, distributed state and session management, caching, scale out across data centers and providers (scalability), multi-tenancy. C6 Re-Architecting Legacy Applications C6.1. Defining Cloud Architecture Model Identifying suitable legacy application components for migration and their deployment (topology) in the cloud with respect to data privacy, expected workload profile, acceptable network latency and performance variability, availability zone of cloud providers, the affinity of components in the cloud, and the geographical location of cloud servers. C6.2 Enabling Application Elasticity Defining elasticity rules and mechanisms in the application in order to support dynamic scale up/down and acquire and release cloud resources in a adequately manner. C6.3 Enabling Multi-Tenancy C6.3.1 Security Isolation Addressing tenant isolation with respect to the security (i.e. assuring each tenant can only access to its data and to be protected from unauthorised access by other tenants which are running in the same cloud), customisability (adding configuration points, in the form of application template, in the code blocks of the application so that each tenant can customise the sequence of application workflow and code customisation on basis of his/her requirements), fault (monitoring the application state to detect the faults, preventing their propagation, and repairing them in a timely manner), and performance (guaranteeing the performance of one tenant from the negatively being affected by the performance usage of other tenants in unforeseen behaviours). C6.3.2 Tenant-Based Application Customisation C6.3.3 Fault Isolation C6.3.4 Performance Isolation C6.4 Addressing Interoperability and Incompatibility C6.4.1 Code refactoring Modifying legacy codes so that they can interact with the cloud services. C6.4.2 Developing Integrators/Adaptors Wrapping incompatibilities between legacy and cloud services by using adaptors. C6.4.3 Data Adaptation Resolving incompatibilities between legacy data base and cloud solution database through data type conversions, query transformation, database schema transformation, and developing runtime emulators for stored procedure, views or triggers. C6.5 Applying Architecture Design Principles C6.5.1 Application Decoupling Re-architecting a legacy application to target cloud architecture with respect to design principles such as application decoupling, stateless programming, handling transient faults, and availability.C6.5.2 Stateless Programming C6.5.3 Handling the Unpredictability of Cloud Environments C6.5.4 Replicating and Synchronising C7 Environment Configuration Reconfiguring organisation network setting such as ports, devices, firewalls, and anti-virus, reachability policies, and connection strings to the database so that legacy components can invoke cloud services, giving privileges to application tenants/users to assure the security of application is satisfied in the cloud environment, creating installation scripts and setup different third-party libraries and tools that may be used for monitoring and reporting runtime application behaviour. C8 Testing Ensuring that the migrated application satisfies cloud migration objectives/requirements.
  • 92.  Examples: respondents’ comments about the importance of constructs (activity/work-product) for inclusion in the process model  Analyse Context “Cloud migrations will almost always result in significant change to (often longstanding) business processes. Many employees will begin to worry about job security - similar to outsourcing projects. Be prepared to deal with resistance in equal quantities from business users, as well as engineers and developers” A system analyst with 4 years experience in cloud computing  Identify Incompatibilities  “Provider selection may produce additional requirements in terms of implementation. This refers to the fact that based on what provider (e.g. Google App engine or Azure), specific requirements may be posed on the technical implementation. For example, if you go for PaaS, then providers usually support only a subset of the available Java frameworks. If the migration is from an SQL-based DB for example to a SQL based service DB, then migration is easy. If migration involves the alteration of the data model (e.g. to a NoSQL solution), then significant modifications must be performed and more importantly to check the constraints of the new used paradigm. Thus you must take that under consideration, especially when you want to reutilize existing code, which is the case in application migration. Checking which frameworks are supported against which frameworks have been used for your initial application gives you an indication of how complex it would be to migrate to that specific provider” A software developer with 4 years experience in cloud computing
  • 93. Procedure for the validation (II)
  • 94. Validation (III): A domain expert review of the process model
  • 95. Expert 1 Expert 2 Expert 3 Expert 4  Selection of experts  Expert 1. A professor and institute partner at the Institute for Software in Switzerland.  Skills: cloud computing, service-based system design, software architectures, and knowledge management  Expert 2. A/professor and former principal investigator theme lead of the Irish centre for cloud computing and commerce (IC4).  Skills: cloud migration, legacy system migration to the cloud  Expert 3. Practitioner  Skill: cloud computing, Scrum master, software architect, object-oriented design, domain-driven design  Expert 4. Researcher at the Software and Systems Sections, IT University of Copenhagen, Denmark,  Skill: cloud migration, software architecture Researcher
  • 96.  E2 said “determining licensing issues of legacies should be made more visible in the process model as it can turn out to be a major task in the migration process”  Resolve Licensing Issues as a special construct was added in Design Phase of the process model.  E3 said “the migration process model should contain a construct to show rollback for the migration process”  the process model was refined by extending the construct Define Plan to Define Roll-Back Plan. A Generic Cloud Migration Process Model (version 1.3)