04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American...
-
Upload
charlene-fay-gallagher -
Category
Documents
-
view
215 -
download
2
Transcript of 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American...
![Page 1: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/1.jpg)
04-28-11 | 1
› Matthias Galster, University of Groningen, NL
› Armin Eberlein, American University of Sharjah, UAE
Identifying Potential Core Assets in Service- based Systems to Support the Transition to Service-oriented Product Lines
![Page 2: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/2.jpg)
04-28-11 | 2
Research problem
› Different instances of a SOA system can be treated as product line• To handle different instances• To support variability management
› But: how to make the transition from individual products to a product line?
![Page 3: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/3.jpg)
04-28-11 | 3
Research question
› What services should be included in what instance of a service-based system so that• value can be maximized• stability is maintained
S1
s1
s5
s7
s11
S2
s1
s11
s13
s15
s13
s15
s18
s18
s19
Co
re asset services
s1
s11
s13
s18
s17
s25
S1
s1
s5
s7
s11
S2
s1
s11
s13
s15
s13
s15
s18
s18
s19
s17
s25
Original services
Added services
Original services + added services
Identification of potential core asset services
![Page 4: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/4.jpg)
Background and related work
› Product lines and service-oriented systems, e.g.,• Service-oriented PL architectures• Feature analysis to identify services for SO
systems
› Transition to PL and identifying core assets, e.g., • Core assets as foundation for new PL
architecture• Components reused on PL• Feature orientation
04-28-11 | 4
![Page 5: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/5.jpg)
Proposed approach
04-28-11 | 5
Step 1: Determine available services, i.e., services which are not yet assigned to a service composition
Step 2: Prioritize available services
Step 3: Select services to be added to SOA instances
Step 4: Determine potential core asset services
![Page 6: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/6.jpg)
Step 1: determine available services
› What services are still available?
› S’v with S’v = S \ Sv
› S: set of all services
› Sv : set of services already assigned to an instance v
![Page 7: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/7.jpg)
Step 2: prioritize available services
› S’v is sorted in decreasing order
› If services have the same value order is chosen randomly
![Page 8: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/8.jpg)
Step 3: select services (I)
› Trade-off between stability and accumulated added value
› stabilityv(i) = 1 – [i / (M + i)](1)
› AAVv(i) = k=1..i value(sk) (2)
![Page 9: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/9.jpg)
Step 3: select services (II)Definition: I = number of services in S’v
Input: S’v(sorted), Sv, M = sizeOf(Sv)Output: S’’v(resulting list of services; initialized empty)copy Sv into S’’v
k = 0 /* counter for added services is 0 */for i = 1 to Iadd S’v(i) to S’’v
k = k + 1 /* service is added */calculate stabilityv of S’’v using (1)calculate AAVv of S’’v using (2)normalize stabilityv and AAVv
endfor
Determine i so that (i, AAVv(i)) and (i, stabilityv(i)) are closest to each other to represent the best compromise (trade-off)
![Page 10: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/10.jpg)
Step 4: determine core asset services
› Sca = S’’1 S’’2 S’’3 … S’’V (3)
› Sca: services that could form basis for a product line
![Page 11: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/11.jpg)
Case study
› “Exploratory” case study• No proposition
› Identification of web services that could form the foundation for a service-based product line• Web services of telecom company
![Page 12: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/12.jpg)
Case study settings – services
Service Description Value
s1 Display name and number of caller 20
s2 Alerts incoming calls when on the phone 15
s3 Takes messages when call is not answered 17
s4 Forwards incoming calls to pager, cell phone, voice mail or any other phone number 12
s5 Intercepts calls from pre-selected numbers and routes them to a standard recording 5
s6 Provides a second phone number on existing line, with distinctive ring 12
s7 Prompts anonymous callers to unblock phone number or say their name 5
s8 Lets restrict selected outbound calls 10
s9 Shows names and numbers of incoming callers when on the phone 0
s10 Prevents own name / number from being shown when calling somebody with call display 0
s11 Allows to trace last incoming call in the event of threatening, harassing, or obscene phone calls 0
s12 Lets add a third party to call 4
s13 Lets monitor a busy line to get in touch with caller when line is free 4
![Page 13: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/13.jpg)
Case study settings – initial SOA instances
Service Customer 1 (S1) Customer 2 (S2) Customer 3 (S3)
s1
s2
s3
s4
s5
s6
s7
s8
s9
s10
s11
s12
s13
![Page 14: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/14.jpg)
Case study: step 1 – identify services
› S’1 = S \ S1 = S \ {s3, s9, s10, s11, s13} = {s1, s2, s4, s5, s6, s7, s8, s12} “inverse” of columns from previous slide
› S’2 = S \ S2 = S \ {s2, s3, s5, s9, s10, s11, s12} = {s1, s4, s6, s7, s8, s13}
› S’3 = S \ S3 = S \ {s1, s3, s9, s11} = {s2, s4, s5, s6, s7, s8, s10, s12, s13}
![Page 15: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/15.jpg)
Case study: step 2 – prioritize services› Available services are ranked based on value
Rank S’1 S’2 S’3
1 s1 s1 s2
2 s2 s4 s4
3 s4 s6 s6
4 s6 s8 s8
5 s8 s7 s5
6 s5 s13 s7
7 s7 - s12
8 s12 - s13
9 - - s10
![Page 16: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/16.jpg)
Case study: step 3 – select services (I)
› Trade-off analysis for instance 1
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
1 2 3 4 5 6 7 8
Number of added services
Normalized
AAV
[a.u.]
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
Normalized stability [a.u.]
AAV (normalized) stability (normalized)
![Page 17: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/17.jpg)
Case study: step 3 – select services (II)› Illustration of the algorithm for instance from
previous slide
i (number of added services) Added service Increase in AAV (normalized) Decrease in stability
1 s1 norm(20) = 0 norm(0.84) = 1.00
2 s1, s2 norm(20 + 15) = 0.24 norm(0.71) = 0.74
3 s1, s2, s4 norm(20 + 15 + 12) = 0.43 norm(0.63) = 0.54
4 s1, s2, s4, s6 norm(20 + 15 + 12 + 12) = 0.62 norm(0.54) = 0.38
5 s1, s2, s4, s6, s8 norm(20 + 15 + 12 + 12 + 10) = 0.78 norm(0.50) = 0.26
6 s1, s2, s4, s6, s8, s5 norm(20 + 15 + 12 + 12 + 10 + 5) = 0.86 norm(45) = 0.16
7 s1, s2, s4, s6, s8, s5, s7 norm(20 + 15 + 12 + 12 + 10 + 5 + 5) = 0.94 norm(0.42) = 0.07
8 s1, s2, s4, s6, s8, s5, s7, s12 norm(20 + 15 + 12 + 12 + 10 + 5 + 5 + 4) = 1 norm(0.38) = 0.00
![Page 18: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/18.jpg)
Case study: step 3 – select services (III)› Trade-off analyses for instances 2 and 3
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
Number of added services
Normalized
AAV
[a.u.]
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
Normalized stability [a.u.]
AAV (normalized) stability (normalized)
1 2 3 4 5 60
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
Number of added services
Normalized
AAV
[a.u.]
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
Normalized stability [a.u.]
AAV (normalized) stability (normalized)
1 2 3 4 5 6 7 8 9
![Page 19: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/19.jpg)
Case study: step 4 – determine services› S’’1 = S1 {s1, s2, s4} = {s3, s9, s10, s11, s13}
{s1, s2, s4} = {s1, s2, s3, s4, s9, s10, s11, s13}
› S’’2 = S2 {s1, s4, s6} = {s2, s3, s5, s9, s10, s11, s12} {s1, s4, s6} = {s1, s2, s3, s4, s5, s6, s9, s10, s11, s12}
› S’’3 = S3 {s2, s4, s6} = {s1, s3, s9, s11} {s2, s4, s6}= {s1, s2, s3, s4, s6, s9, s11}
![Page 20: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/20.jpg)
Case study: step 4 – determine services- Sca = S’’1 S’’2 S’’3
- Sca = {s1, s2, s3, s4, s9, s11} see services in bold on previous slide
![Page 21: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/21.jpg)
Case study: discussion of results
› Investigating how SOA instances diverge from the PL is important
› Method is light-weight
› Trade-0ff between value and stability
› Threats to validity
![Page 22: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/22.jpg)
Limitations
› No effort or resource constraints
› No interface problems
› Simplified trade-off algorithm
› Interpretation of stability
![Page 23: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/23.jpg)
Conclusions and future work› SO PL help manage versions of SOA
› Trade-off analysis between value and stability to ensure homogenity between SOA systems / instances
› Future work• More comprehensive evaluation• Inclusion of types of variability• Inclusion of more complex definitions for
stability
![Page 24: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/24.jpg)
04-28-11 | 24
Thank you for your attention
![Page 25: 04-28-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f515503460f94c75329/html5/thumbnails/25.jpg)
Case study: threats to validity› External validity
• More evaluations are needed
› Internal validity• See limitations (simplifications made in
method)
› Assumptions• Price correlates with value• No value for services which are free of charge
Backup