Modelling and Analysing Highly-configurable Services

03/10/17 © Lero 2015 1
Modelling and Analysing Highly-configurable
Services
Jesús García Galán*, José María García+, Pablo Trinidad+, Pablo
Fernández+
*Lero @ University of Limerick, Ireland
+Universidad de Sevilla, Spain
03/10/17 © Lero 2015 2
Highly-configurable		
Service	(HCS)	
Decision-making		
support
03/10/17 © Lero 2015 3
Specifica=on	 Analysis	
Tool	support	
Decision-making		
support
03/10/17 © Lero 2015 4
Contents
  Highly-configurable Services
  Contribution
  Conclusion
03/10/17 © Lero 2015 5
Highly-configurable
Services
03/10/17 © Lero 2015 6
Highly-configurable Services
Op#on	 Values	
Opera=ng	system	 7	
Region	 15	
Instance	type	 61	
6405		
poten=al	
configura=ons
03/10/17 © Lero 2015 7
Highly-configurable Services
03/10/17 © Lero 2015 8
HCS: Intuitive definition
  Service
–  Software functionality (web/cloud)
  Configurable
–  One or more customisation options
  Highly
–  Intertwined with other instances and services
03/10/17 © Lero 2015 9
HCS characterisation
Mul#ple	Configurable	Services	 Mul#ple	Items
03/10/17 © Lero 2015 10
HCS issues
  Huge number of configurations
–  Ex.: Amazon EC2 + extensions -> hundreds of
thousands!!
  Provider
–  Manage service variability
  Customer
–  Select most suitable configuration
03/10/17 © Lero 2015 11
Variability Models and Automated
Reasoning
Automated	Analysis	of	FMs	
List	 Why	
Why	
Not	
Opt.	 Void	 …	
✓	 ✗	 ✓
03/10/17 © Lero 2015 12
Traditional SPL approaches
Compu=ng	
service	
Type	
S	
1..1	
cost:		$	
hours:	[0,730]	
costHour:	$	
Loca=on	
EU	US	
1..1	
M	
L	
OS	
Windows	
Linux	
1..1	
Storage	
storage:		GBs	
Rela=onships	
Mandatory	
Op=onal	
Depends	
Set	
n..m	
Elements	
Feature	
AZribute	
OS	
storage:		GBs	
Insufficient	Expressiveness	
Seman#c	distance
03/10/17 © Lero 2015 13
Multi Product Lines
Lack	of	reasoning	support
03/10/17 © Lero 2015 14
Contribution
Specifica=on	 Analysis	
Tool	support
03/10/17 © Lero 2015 15
DSL	 Analysis	
Tool	support
03/10/17 © Lero 2015 16
SYNOPSIS: configurable services
Service	SimpleDropbox{			
	
	%SelectableTerms			
	plan:{”basic”,”pro”,	”business”};			
	
	%DerivedTerms			
	size	:	int	[1	,10000];		
	costMonth	:	real	[0,12];	
		
	%Dependencies		
	//	pricing	
	table(	
	 	plan	−>	size	costMonth;			
	 	”basic”−>5	0;		
	 	”pro”	−>	1000	10;		
	 	”business”	−>	10000	12;		
	);	
}		
Discrete	values	
Discrete/con=nuous		
values	
Arithme=c,	rela=onal	
and	logical	constraints	
Piecewise	func=ons
03/10/17 © Lero 2015 17
SYNOPSIS: Highly-configurable
services
Highly-configurable		
Service	AmazonCompu=ng{			
	%Services			
	EC2[1,*]	ec2;	
	EBS[1,*]	ebs;	
		
	%GlobalTerms			
	totalCostMonth:	real;	
	discount:	real	
	
	%Dependencies		
	…	
}		
Service	EC2{			
	%SelectableTerms	
	Instance:{M1.small,…};	
	OS:	{Suse,	Windows…};	
	Region:	{VA,CA,IR…};	
	…	
	%DerivedTerms			
	vCPU:	int;	
	costHour:	real	
	…	
	%Dependencies		
	…	
}		
Service	EBS{			
	%SelectableTerms	
	SSD:	boolean;	
	Region:	{VA,CA,IR…};	
	…	
	 	%DerivedTerms			
	costGB:	real;	
	…	
	%Dependencies		
	…	
}		
Configurable		
Services	
Arithme=c,		
rela=onal	and		
logical	constraints	
Discrete/con=nuous		
values
03/10/17 © Lero 2015 18
SYNOPSIS: service customer
Needs	on	AmazonCompu=ng{			
	
	%Items	
	ec2[“vm1”,vm2”];	
	ebs[“st2”];			
		
	%Requirements			
	ec2[“vm1”].Region	==	“USA”;	
	ec2[“vm1”].vCPU	==	4;	
	ebs[“st2”].Size	>=	200;	
	
	%Preferences		
	Lowest(totalCostMonth);	
	Favorites(ebs[“st2”].SSD);	
}		
Instan=a=on	
Hard	constraints	
So3	constraints
03/10/17 © Lero 2015 19
Validity criteria
Inconsistent	Service	
False	Configurable	Service	
Redundant	Dependency	
Dead	Value	
False	Decision	Term
03/10/17 © Lero 2015 20
DSL	 Automated	Analysis	
Tool	support
03/10/17 © Lero 2015 21
Automated Analysis
%Terms	
---------------	
---------------	
%Dependencies	
---------------	
SYNOPSIS	
✓	 ✓	✗	
Map(R)	
Stateful	Feature	Models		
(SFMs)	
HCS	
Lis#ng	
Ranking	
Explain	Service	
Explain	Config	
Products	
Op#mise	
WhyNotRels	
WhyNotConfig	
Automated	Analysis	of	HCSs	 Automated	Analysis	of	SFMs	
Core	
opera#ons
03/10/17 © Lero 2015 22
Automated Analysis
Core	Op.	
	
%Terms	
---------------	
---------------	
%Dependencies	
---------------	
SYNOPSIS	
✓	 ✓	✗	
AASFM	
	
Opera#on	
mapSFM	 mapRES	
Lis=ng	
Ranking	
Explain	Service	
Explain	Config
03/10/17 © Lero 2015 23
Automated Analysis
Compound	Op.	
	%Terms	
---------------	
---------------	
%Dependencies	
---------------	
SYNOPSIS	
Opera=on	data	
AAHCS	
	
Core	Opera#on	
AAHCS	
	
Core	Opera#on
03/10/17 © Lero 2015 24
Automated Analysis
Dead	Value	
False	config.	service	
False	dec.	term	
Inconsistent	service	
Redundant	Depend.	
Validity	ops.	 Explana#on	ops.	
Explain		
Dead	Value	
Explain	
False	config.	service	
Explain	
False	dec.	term	
Explain	
Inconsistent	service	
Valid	Requirements	
Coun#ng	
User	ops.	
List	All	Configs	
…	
…	
Open-ended	catalogue
03/10/17 © Lero 2015 25
DSL	 Automated	Analysis	
Prototype
03/10/17 © Lero 2015 26
Prototype implementation
Specifica=on	
Automated	
Analysis
03/10/17 © Lero 2015 27
Conclusion
03/10/17 © Lero 2015 28
Discussion and Future Work
  Proper evaluation
–  against SPLs and multi-SPL methods
–  empirical evaluation with customers and providers
  Dynamic support for HCSs
  Beyond cloud services?
03/10/17 © Lero 2015 29
Decision-making		
support	
Highly-configurable		
Service	(HCS)	
Summary
03/10/17 © Lero 2015 30
DSL	 Automated	Analysis	
Prototype	
Summary
Decision-making		
support
03/10/17 © Lero 2015 31
Thank You
03/10/17 © Lero 2015 32
Highly-configurable	Service	(HCS)	
Decision-making	support
03/10/17 © Lero 2015 33
Highly-configurable Services
1 of 33

More Related Content

Similar to Modelling and Analysing Highly-configurable Services (20)

#UNIT 2017: Cloud Computing#UNIT 2017: Cloud Computing
#UNIT 2017: Cloud Computing
UNICORNS IN TECH774 views
M|18 ServiceNow KeynoteM|18 ServiceNow Keynote
M|18 ServiceNow Keynote
MariaDB plc1.2K views
Triskell Autumn 2013 version (english)Triskell Autumn 2013 version (english)
Triskell Autumn 2013 version (english)
Jose Rodriguez de Gracia634 views
Presentation rate&bill Presentation rate&bill
Presentation rate&bill
hosnihamdi2009366 views
Lotus Notes to SharePoint MigrationLotus Notes to SharePoint Migration
Lotus Notes to SharePoint Migration
Officience10.8K views
Why Microservice Why Microservice
Why Microservice
Kelvin Yeung496 views
ClearCost Introduction 2015ClearCost Introduction 2015
ClearCost Introduction 2015
Mark S. Mahre674 views
Analytics at CloudHesiveAnalytics at CloudHesive
Analytics at CloudHesive
CloudHesive20 views
Avoiding disaster recovery disastersAvoiding disaster recovery disasters
Avoiding disaster recovery disasters
Alexandra Matthiesen118 views
Avoiding disaster recovery disastersAvoiding disaster recovery disasters
Avoiding disaster recovery disasters
Veritas Technologies LLC577 views
SreenuPrasadSreenuPrasad
SreenuPrasad
Sreenu Prasad151 views
Conssero presentationConssero presentation
Conssero presentation
robhaz377 views
CVCV
CV
Ravi Kumar262 views
Sasikumar Selvaraj CV- MainframeSasikumar Selvaraj CV- Mainframe
Sasikumar Selvaraj CV- Mainframe
sasikumar s154 views
The Implacable advance of the dataThe Implacable advance of the data
The Implacable advance of the data
DataWorks Summit311 views

Modelling and Analysing Highly-configurable Services

  • 1. 03/10/17 © Lero 2015 1 Modelling and Analysing Highly-configurable Services Jesús García Galán*, José María García+, Pablo Trinidad+, Pablo Fernández+ *Lero @ University of Limerick, Ireland +Universidad de Sevilla, Spain
  • 2. 03/10/17 © Lero 2015 2 Highly-configurable Service (HCS) Decision-making support
  • 3. 03/10/17 © Lero 2015 3 Specifica=on Analysis Tool support Decision-making support
  • 4. 03/10/17 © Lero 2015 4 Contents   Highly-configurable Services   Contribution   Conclusion
  • 5. 03/10/17 © Lero 2015 5 Highly-configurable Services
  • 6. 03/10/17 © Lero 2015 6 Highly-configurable Services Op#on Values Opera=ng system 7 Region 15 Instance type 61 6405 poten=al configura=ons
  • 7. 03/10/17 © Lero 2015 7 Highly-configurable Services
  • 8. 03/10/17 © Lero 2015 8 HCS: Intuitive definition   Service –  Software functionality (web/cloud)   Configurable –  One or more customisation options   Highly –  Intertwined with other instances and services
  • 9. 03/10/17 © Lero 2015 9 HCS characterisation Mul#ple Configurable Services Mul#ple Items
  • 10. 03/10/17 © Lero 2015 10 HCS issues   Huge number of configurations –  Ex.: Amazon EC2 + extensions -> hundreds of thousands!!   Provider –  Manage service variability   Customer –  Select most suitable configuration
  • 11. 03/10/17 © Lero 2015 11 Variability Models and Automated Reasoning Automated Analysis of FMs List Why Why Not Opt. Void … ✓ ✗ ✓
  • 12. 03/10/17 © Lero 2015 12 Traditional SPL approaches Compu=ng service Type S 1..1 cost: $ hours: [0,730] costHour: $ Loca=on EU US 1..1 M L OS Windows Linux 1..1 Storage storage: GBs Rela=onships Mandatory Op=onal Depends Set n..m Elements Feature AZribute OS storage: GBs Insufficient Expressiveness Seman#c distance
  • 13. 03/10/17 © Lero 2015 13 Multi Product Lines Lack of reasoning support
  • 14. 03/10/17 © Lero 2015 14 Contribution Specifica=on Analysis Tool support
  • 15. 03/10/17 © Lero 2015 15 DSL Analysis Tool support
  • 16. 03/10/17 © Lero 2015 16 SYNOPSIS: configurable services Service SimpleDropbox{ %SelectableTerms plan:{”basic”,”pro”, ”business”}; %DerivedTerms size : int [1 ,10000]; costMonth : real [0,12]; %Dependencies // pricing table( plan −> size costMonth; ”basic”−>5 0; ”pro” −> 1000 10; ”business” −> 10000 12; ); } Discrete values Discrete/con=nuous values Arithme=c, rela=onal and logical constraints Piecewise func=ons
  • 17. 03/10/17 © Lero 2015 17 SYNOPSIS: Highly-configurable services Highly-configurable Service AmazonCompu=ng{ %Services EC2[1,*] ec2; EBS[1,*] ebs; %GlobalTerms totalCostMonth: real; discount: real %Dependencies … } Service EC2{ %SelectableTerms Instance:{M1.small,…}; OS: {Suse, Windows…}; Region: {VA,CA,IR…}; … %DerivedTerms vCPU: int; costHour: real … %Dependencies … } Service EBS{ %SelectableTerms SSD: boolean; Region: {VA,CA,IR…}; … %DerivedTerms costGB: real; … %Dependencies … } Configurable Services Arithme=c, rela=onal and logical constraints Discrete/con=nuous values
  • 18. 03/10/17 © Lero 2015 18 SYNOPSIS: service customer Needs on AmazonCompu=ng{ %Items ec2[“vm1”,vm2”]; ebs[“st2”]; %Requirements ec2[“vm1”].Region == “USA”; ec2[“vm1”].vCPU == 4; ebs[“st2”].Size >= 200; %Preferences Lowest(totalCostMonth); Favorites(ebs[“st2”].SSD); } Instan=a=on Hard constraints So3 constraints
  • 19. 03/10/17 © Lero 2015 19 Validity criteria Inconsistent Service False Configurable Service Redundant Dependency Dead Value False Decision Term
  • 20. 03/10/17 © Lero 2015 20 DSL Automated Analysis Tool support
  • 21. 03/10/17 © Lero 2015 21 Automated Analysis %Terms --------------- --------------- %Dependencies --------------- SYNOPSIS ✓ ✓ ✗ Map(R) Stateful Feature Models (SFMs) HCS Lis#ng Ranking Explain Service Explain Config Products Op#mise WhyNotRels WhyNotConfig Automated Analysis of HCSs Automated Analysis of SFMs Core opera#ons
  • 22. 03/10/17 © Lero 2015 22 Automated Analysis Core Op. %Terms --------------- --------------- %Dependencies --------------- SYNOPSIS ✓ ✓ ✗ AASFM Opera#on mapSFM mapRES Lis=ng Ranking Explain Service Explain Config
  • 23. 03/10/17 © Lero 2015 23 Automated Analysis Compound Op. %Terms --------------- --------------- %Dependencies --------------- SYNOPSIS Opera=on data AAHCS Core Opera#on AAHCS Core Opera#on
  • 24. 03/10/17 © Lero 2015 24 Automated Analysis Dead Value False config. service False dec. term Inconsistent service Redundant Depend. Validity ops. Explana#on ops. Explain Dead Value Explain False config. service Explain False dec. term Explain Inconsistent service Valid Requirements Coun#ng User ops. List All Configs … … Open-ended catalogue
  • 25. 03/10/17 © Lero 2015 25 DSL Automated Analysis Prototype
  • 26. 03/10/17 © Lero 2015 26 Prototype implementation Specifica=on Automated Analysis
  • 27. 03/10/17 © Lero 2015 27 Conclusion
  • 28. 03/10/17 © Lero 2015 28 Discussion and Future Work   Proper evaluation –  against SPLs and multi-SPL methods –  empirical evaluation with customers and providers   Dynamic support for HCSs   Beyond cloud services?
  • 29. 03/10/17 © Lero 2015 29 Decision-making support Highly-configurable Service (HCS) Summary
  • 30. 03/10/17 © Lero 2015 30 DSL Automated Analysis Prototype Summary Decision-making support
  • 31. 03/10/17 © Lero 2015 31 Thank You
  • 32. 03/10/17 © Lero 2015 32 Highly-configurable Service (HCS) Decision-making support
  • 33. 03/10/17 © Lero 2015 33 Highly-configurable Services