The slide includes animations. The source is available for download.
Abstract:
Research initiative in Service-Oriented Computing (SOC) aims at developing adaptable and scalable distributed applications and addressing challenges such as application integration, reusability, modularity, and interoperability. Service-Oriented Architecture (SOA) as an architectural style enables organizations to offer their application functionality as a service and enhance the adaptability to changes of new requirements of stakeholders, i.e., service consumers. Nowadays enterprises and service providers face several challenges to develop SOA-based solutions. They indispensably require to effectively manage variability in both functional and non-functional (quality) requirements at the business process level to rapidly and cost-effectively develop and deploy customized services that best meet the stakeholders' feature needs.
SOAs provide the architectural underpinnings to support software reuse and enable variability at both design and run-time; however, they lack support to manage variability that promotes configurability and customization. Variability modeling and management have been the core research subjects in Software Product Line Engineering (SPLE) with the objective of addressing the issues of engineering and developing software-intensive systems. Combining SPLE and SOAs has been a subject of considerable research interest in recent years to develop highly configurable software systems.
We adopted a product-line approach in the service domain and hypothesized that the SPLE paradigm, enabling variability management and systematic planned reuse, can be applied orthogonally to aid Service-Oriented Software Engineering (SOSE) to yield these benefits and construct Service-Oriented Software Product Lines (SOSPLs). We proposed the Configurable Process Models as the realization of SOSPLs, where services are the building blocks for the implementation of software features, which provide support for variation among members of a product line configured based on users' requirements. We are interested to provide automated decision-making support in the course of configuration helping to create tailored software services according to users’ preferences.
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
Ph.D. Thesis presentation
1. Quality-aware Service-Oriented Software Product Lines:
Feature-Driven Process Configuration and Optimization
Bardia Mohabbati
Simon Fraser University
Ontological Research Group
December 10, 2013
8. Related Work
(Configurable) Business Process Models
Process Modeling Languages
•
Business Process Modeling Notation (BPMN)
Extensions
UML ADs + BPMN
Puhlmann et al., (PESOA), 2005
Razavian et al. 2008
Reinhartz-Berger et al. (ADOM), 2009, 2010
•
Business Process Execution Language (BPEL)
VxBPEL
Koning et al. 2005
•
Yet Another Workflow Language (YAWL)
C-YAWL
van der Aalst et al. 2005
Gottschalk et al. 2008
•
Event-Driven Process Chains Language (EPC)
C-EPC
C-aEPC
C-iEPC
Rosemann et al. 2003
Dreiling et al. 2005,2006
Reijers et al. 2009
La Rosa et al. 2011
8
9. Related work
Software Product Line Engineering (SPLE)
Software product line engineering Analysis
Feature Model and Variability is a development paradigm to develop and maintain families of products while
taking advantage of their common aspects and predicted variabilities – [Weiss and Lai 1999]
● Mendonca
Feature Modeling
Benavides et
Decision●Modeling al.
● Zhang
et al.
● Trinidad et al.
● White et al.
● Segura
● Batory et al.
● Zhang et al.
● Gheyi et al.
● Hemakumar
● Zhang et al.
Orthogonal Variabilityet al.
Modeling
● Gheyi
● Benavides et al.
● Osman et al.
● Trinidad et al.
● Pohl et al. ● Osman et al.
2005
● Fan et al.
● Metzger et al. 2007
et al.
et al.
Kang et al.
● Kang et al.
1990 Deursen et al. ● Atkinson ● Storm 2002
et al. et.al
(FORM)
1997
● Jacobson et al.
● Schmid et al.
2004
● Griss et al.
1998
● Dhungana et al. 2010
● Kang et al.
1998
● Czarnecki et al. 2000
● Hein et al.
2000
Kang et al.
Curp et al.
● Mannion et al.
● Czarnecki et al.
● Gurp et al.
2001
(FODA)
● Massen et al.
● Batory et al.
● Riebisch et al.
● Cao et al.
● Sun et al.
2002
● Benavides et al.
● Gomaa et al.
2004
● Massen et al.
● Czarnecki et al. 2005
● Wang et al.
● Moon et al.
2005
● Massen
● Wang
et al.
et.al
● Djebii et al.
● Bachmeyer et al.
● Storm
● Mendonca
et al.
et al.
● Yan et al.
● Salinesi et al.
● White et al.
● Abo Zaid et al.
● Osman et al.
● Fernandez et al.
● Broek et al.
● Favaro et al.
● Thum
9
10. Approach Overview
Service-Domain Engineering
D1
Product Line
Requirements
Analysis
Service-Application Engineering
Requirements
Models
Service
Application
Analysis
Service-Domain
Analysis
D2
Variability
Modeling
D3
Configurable
Business Process
Model
Stakeholder’s
Requirement
Analysis
Service-Application
Requirement
Specifications
Feature
Selection
Configured
Feature Model
Service
Selection
Configured
Reference
Business Process
Application
IntegrationDeployment
Service Product
Feature
Model
Reference
Business Process
Model
A1
Service-Domain
Design
D4
Feature
Resolution
(Mapping
Schema)
Non-Functional
Specifications
Feature Model
enriched by
Supporting
Quality Ranges
A2
Mapping Model
D5
Service
Application
Design
&
Implementation
Service-Domain
Service
Deployment
Implementation
D6
Reference
Business Process
Model
Implementation
A3
Service Discovery/
Implementation
Binding
10
18. Configuration Problem
Service-Application Engineering
Configuration Problem: How to find an optimal decision that selects the right set of
features and service implementations based on constraints defined in system and user’s
preference about QoS?
QoS
High
Price
Priority
Execution Time
Security
Availability
Low
f
f
f
2
1
f
f
f
4
5
6
S3(1)
S3(1)
1(1)
S3(2)
S3(2)
. 1(2)
..
.
..
S3(6)
S3(6)
1(20)
S5(1)
S5(2)
.
.
.
S5(12)
Sj(1)
Sj(2)
.
.
.
Sj (6)
S4(1)
j(1)
S4(2)
j(2)
.
.
.
S4(6)
j (9)
f3
S2(1)
1(1)
S2(2)
1(2)
.
.
.
S2(20)
1(20)
f1
S6(1)
k(1)
S6(2)
k(2)
.
.
.
S6(7)
k(l)
18
19. Configuration Framework
QoS-Aware Optimization and Configuration
3
2
1
Feature
Model
User’s
Preference
Mapping
Tailored Service
Process Model
Configurator
Process Model
Analyzer
Feature
Selection
Reference
Process Model
Feature Model
Analyzer
Preference
Prioritization
Optimization Model
Service Binder
Service Selection
Optimizer Engine
Service Broker
Service
Repository
19
20. Conditional Preference
Service-Application Engineering
Conditional Stratified AHP: Analytical Hierarchy Process (AHP) [Satty, 1981]
Degree of importance
Price
W1
Security
W2
Throughput
W3
Execution Time
W4
W1 ≻ W2 ≻ W3 ≻ W4
Numerical Scale
QoS
α1
α2
α3
α4
α5
α6
α7
α8
α9
: Equal importance
: Weak importance
: Moderate importance
: Moderate plus
: Essential or strong importance
: Strong plus
: Very strong importance
: Very, very strong importance
: Extreme importance
α α2
α
α8 α3
Security. HighSecurity. High , Execution Time. Medium ≻ 7Security. Low , Execution ≻ 1
Throughput
Price. Low ≻ ≻ Price.
, Execution Time. Medium ≻ Throughput . Low
α9
α3
Execution Time. Low ≻ Price. Low , Throughput . High ≻ Price. Low
The outcomes of the procedure are the QoS requirements ranked according to
user’s preference.
These rankings are used as the main instrument for measuring the level
of satisfaction of user’s requirements with a particular configuration.
20
21. QoS-Aware Optimization and Configuration
Service-Application Engineering
Constraint Optimization Problem (COP)
We model and formulate the configuration problem as a Mixed-Integer Linear
Programming (MILP) model which is characterized by four constituents:
•A set of decision variables (X)
•Domain of variables (D={0,1})
•A set of constraints (C)
•Objective function (U)
The output of the MILP problem is the maximum (or minimum) value of the objective
function (U) and the values of variables at this maximum/minimum.
21
22. Formalizing Feature Model in MILP Model
Optimization Model
fp
fp
fp
fp
< 1− n >
fC
fC
fC2 ... fCn
fC1
x0
< 1 −1 >
f C1
fi
fj
fi
fj
fC2 ... fCn
fr
< 1 −1 >
< 1− 2 >
f1
f3
f2
x1
x2
f4
x3
< 1 −1 >
f5
x5
x4
f14
x14
f15
x15
f18
x18
f19
x19
< 1− 3 >
f6
f7
x6
f12
x12
x7
f8
x8
f9
x9
f10
x10
f11
x11
f13
x13
22
23. Service Assignment and Dependency Constraints
Optimization Model
ak
a1
S1(1)
S1(2)
.
.
.
a2
S2(1)
S2(2)
S2(3)
aj
a1
Sj(1)
Sj(2)
.
.
.
S1(20)
Sj (6)
….
aj
Sk(l)
ak
…
a2
Sk(1)
Sk(2)
.
.
.
an
a3
Sn(1)
Sn(2)
.
.
.
S3(1)
S3(2)
.
.
.
S3(v)
Sn(m)
a3
an
Service Assignment
Service Dependency
23
24. Global & Local Quality Constraints
Optimization Model
ak
a 1
S1(1)
S1(2)
.
.
.
a2
a1
Sj(1)
Sj(2)
.
.
.
S1(20)
Sj (6)
….
aj
Execution time (ms)
Throughput (Invocation/Sec.)
Cost (Unit per invocation)
Sk(l)
ak
…
a2
Global Constraints
Sk(1)
Sk(2)
.
.
.
…
S2(1)
S2(2)
S2(3)
aj
Local Constraints
an
a3
Execution time (ms)
S3(1)
S3(2)
.
.
.
S3(v)
…
Sn(1)
Sn(2)
.
.
.
Sn(m)
a3
an
The overall process model for a particular service application can be subjected to m global
QoS constraints
as follows:
24
25. Optimization Model
QoS-Aware Optimization and Configuration
We formulate the problem of finding the optimal configuration of the process model
as a maximization of objective function, which meets all the constraints specified in
the model
25
26. Evaluation & Analysis of Approach
Methodology and Experimental Framework
Optimizer Engine
Transformations
Service
Generator
Feature Model
Generator
FAMA BS
Process Model
Generator
Reader/Writer
Preference Generator
QoS Generator
26
27. Evaluation & Analysis of Configuration
Performance and Scalability
Experiment
No.
(I)
(II)
(III)
Service
Activity No.
(na)
Service
Candidates No.
(ns)
500
600
1000
[2,4, 8,..., 128]
Process Model (PM)
Variability Model (FM)
Percentage Ratio (RCP)
Sequence (SEQ)
Parallel (AND)
Multiple Choice (OR)
Exclusive Choice (XOR)
Intel Xeon Dual CPU 2.8 GHz processor with 8 GB of memory, IBM ILOG Cplex 12.1
25%
25%
25%
25%
Percentage Ratio (RVP)
Mandatory
Optionality
Or-group
Xor-group
Integrity Constraints
25%
25%
25%
25%
18%
QoS No.
(nq)
5
27
29. Impact Analysis of
Variability and Composition Patterns on Computational Cost
Variability
Patterns
Composition
Patterns
29
30. Impact Analysis of
Structural Variability Patterns on Computational Cost
Variability models: N= 4
Variability pattern ratios:
Process models: N= 100
Activity : na = 300
Service : ns = 128
1
25%, 50%, 75%, 100%
2
5
(e)
Between variability patterns
1
Optional
2
3
4
5
3
4
Mandatory
Or-group
Xor-group
Integrity Constraints
30
31. Impact Analysis of
Composition Patterns on Computational Cost
Composition pattern ratios:
Process models: N= 100
Activity : na = 300
Service : ns = 128
1
(a)
25%, 50%, 75%, 100%
2
Between composition patterns
(b)
1
Sequential
2
3
4
Parallel-AND
Parallel-OR
Parallel-OX
3
4
(c)
(d)
31
32. Conclusions
Contributions
•
State-of-the-art analysis
− A systematic mapping study
•
A method for design and development of configurable process models
− Feature-oriented approach (modeling and managing variability of functional and quality properties)
•
QoS model and evaluation method
− An extensible multidimensional QoS model
− Quality-range aggregation and computation
•
QoS-aware business process configuration framework
− Preference-based configuration and optimization
− Automated decision support of variants in business process models
32
33. Future Work
• Configuration and Customization Validation
• Quality Management and Probabilistic Evaluation
• Design & Run-time Variability Management
33
Service-Oriented Architecture (SOA) provides an architectural style to build dynamic software architectures to develop scalable and flexible distributed applications and to address challenges such as integration, reusability, modularity and interoperability
it enables enterprises and companies to offer their application functionality and enhance the adaptability to changes of new requirements of users
SOA is based on the concept of service as basic blocks to compose, develop , and deliver software applications.
SOA follows layered architecture
much more complex and unmanageable and imposes heavy human effort to configure and customize for different service consumer
This thesis presents a set of approaches and recommended algorithms to deal with this complexity
We consider four major requirements for the service configuration
Functional properties of services;
Non-functional properties related to quality of service specification
User’s preferences concerning both functional and Quality
Optimization supported by the configuration approach which enables to maximize the profits
Of user’s objective and based on his requirements
We model the configuration problem as a Constraint Optimization Problem (COP), which is formulated as Mixed Integer Linear Programming or in short
(MILP).
The modelling of a complex problem using linear-programming and formulating its
description should be performed systematically and requires to represent the concept variables and the constraints in the domain
So The MILP model is characterized by four constitutes
set of variables representing necessary decision variables in configuration problem
using decision variables to model set of logical constraints
And objective function which encode user’s preference
The output of MILP problem is the maximum value of the objective function and the values of variables at this maximum.
The optimization model also includes service assignment and dependency constraints
Service assignment constraints guarantee only one service is selected from ….
And service dependency constraints describing dependencies may exits between operations of services in
A process model.
We also conducted impact analysis of variability and composition patterns on computational cost to determine whether or not the computational cost
to find a possible optimal solution is significant for different process model instances varying in these patterns".
So we designed a set of experiments and performed statistical tests
We also studied the impacts of composition patterns on computational cost! And we found the presence of any composition pattern in the process model can also have effects on the computational cost
We conducted a mapping study to provide a broad overview of existing research works
that have applied or integrate service orientation and SPL principles and approaches.
The results can help other researchers in the field to have a quick
overview of recent related approaches and research objectives
We developed a methodological foundation for the modeling and development of a configurable process model
by incorporating the principles of SPLE into the SOA development
life-cycle.
[ …. We introduced a novel feature-oriented
approach as a key design driver to identify, model, and manage functional and quality variability in the context of service-oriented product lines…]
We also introduced an extensible multidimensional QoS model to capture quality properties that are inherent to an SOSPL.
We developed a quality model framework for holistic architectural quality evaluation.
Moreover, we provided the formalization of a computational model for architectural
quality evaluation
We also developed a preference-based framework for service configuration and optimization.
we formulated the problem as a constraints satisfaction optimization
problem and we developed a general formal mathematical model for configuration problem.
There are several research directions and possible extensions to this body of research for future work.
Here there main three potential areas:
Configuration and customization validation
In configuration and customization process, validation mechanisms are required to guarantee and ensures that the final configured process model being deployed in the run-time environment and can be properly executed.
So , the correctness of semantic, soundness and completeness of a configured process require to be checked and guaranteed.
QOS Evaluation
In this work, we assumed that the quality information for service components forming a composite service in a process model is static and pre-existing, however, quality of each service may change dynamically because services are operated in heterogeneous environments, which may impact the overall quality evaluation. Another direction in which our work can be extended is to leverage probabilistic modelling approaches for the quality range evaluation under uncertainty.
Design & run-time variability management
Variability management should also consider other perspectives of the process models; for instance variability in data objects, resources , and facets.
Service-oriented applications not only need to be configurable before deployment by creating predefined service-product variants but are also required to be adaptable at run-time, for example, dynamic service binding and replacement. so, variability transformation at run-time and management are becoming key requirements to configure service based on changing context and environment.
Dynamic software product lines (DSPL) built upon SOA is becoming another active research direction which aims at investigating mechanisms to address run-time variability and dynamic reconfiguration