towards application-specific impact specifications and greenslas colin atkinson, thomas schulze -...
TRANSCRIPT
Towards Application-Specific Impact Specifications and GreenSLAs
Colin Atkinson, Thomas Schulze - University of Mannheim
GREENS 2013 San Francisco, USA
20.05.2013
•M
OTIV
ATI
ON
GREENS 2013 San Francisco, USA 20.05.2013
•S
how
case
•To
ward
s G
reen
Sp
eci
fica
tion
s•
Con
clu
sion
• The energy needs of the ICT industry are predicted to rise enormously• Current strategies for addressing this mainly focus on enhancing efficiency• But this alone will not have the desired impact if users are not made aware
of the impact of their consumption choices• Therefore, an approach that fosters more responsible usage behaviour is
required• A key prerequisite is to clearly specify what services a customer receives
for what cost (ecologically and financially)
Specification
User Service Provider
SLA
EstimationRequirement
• View-Based Specification of Services•
MO
TIV
ATIO
N
GREENS 2013 San Francisco, USA 20.05.2013
•Sh
ow
case
•To
ward
s G
reen
Sp
eci
fica
tion
s•
Con
clu
sion
<<subject>>ShoppingCart
products: Natural := 0max: Naturalcost: Money := 0.00
addProduct(p)removeProduct(p)checkOut()pay(c): String
Product
price: Integer
CreditCard
number: StringexpiraryDate: StringvalidationCode: StringcreditLimit: Money
0..max
0..*
ValidationService
validate(c, cost) : Boolean
<<enumeration>>State
EmptyCollectionProductsCheckout
1
<<acquires>>
Empty
CollectingProducts
[products > 1] removeProduct()
addProduct()
Checkout
[limit OK but card not OK] pay()
addProduct()
[products = 1] removeProduct()
checkout()
[products > 1] removeProduct()
[products = 1] removeProduct()
[limit not OK] pay()
[limit OK and card OK] pay()
Name addProductDescription Adds a Product to the ShoppingCart
Receives p : Product
Changes product, cost, shoppingCart
Assumes The ShoppingCart is in the CollectingProducts or Empty state
Result shoppingCart is in the CollectingProducts stateif number <= max then number = number + 1 cost = cost + p.price p has been added to the ShoppingCartelse number = max
Structural View
Behavioural View
Functional View
•M
OTIV
ATIO
N
GREENS 2013 San Francisco, USA 20.05.2013
•S
how
case
•G
reen
Sp
eci
fica
tion
s•
Con
clu
sion
• Eco-Enhanced Specification
<<subject>>ShoppingCart
products: Natural := 0max: Naturalcost: Money := 0.00
<<env>>avgCO2 := 0.05CO2Deviation := 0.005
addProduct(p)removeProduct(p)checkOut()pay(c): String
Product
price: Integer
<<env>>avgCO2 := 0.001CO2Deviation := 0.0002
CreditCard
number: StringexpiraryDate: StringvalidationCode: StringcreditLimit: Money
<<env>>avgCO2 := 0.07CO2Deviation := 0.001
0..max
0..*
ValidationService
validate(c, cost) : Boolean
<<enumeration>>State
EmptyCollectionProductsCheckout
1
<<acquires>>
Empty
CollectingProducts
[products > 1] removeProduct()
addProduct()
Checkout
[limit OK but card not OK] pay()
addProduct()
[products = 1] removeProduct()
checkout()
[products > 1] removeProduct()
[products = 1] removeProduct()
[limit not OK] pay()
[limit OK and card OK] pay()
0,9
0,1
0,5
0,35
0,07
0,8
0,03
0,05
0,05
0,05
0,1
σμ
Emission
Probability
Name addProduct
Description Adds a Product to the ShoppingCart
Receives p : Product
Changes product, cost, shoppingCart
Assumes self.OclIsInState(CollectingProducts)or self.OclIsInState(Empty)
Result context shoppingCart::addProduct(p):void …endif
CO2 Emissions (0.5mg; 0.004)
PoFoD
(0.000015; 0.0000005)
Resource Usage rCPU (0.005MI; 0000.6)
Costs
(0.0018€; 0.0004)
Name addProduct
Description Adds a Product to the ShoppingCart
Receives p : Product
Changes product, cost, shoppingCart
Assumes self.OclIsInState(CollectingProducts)or self.OclIsInState(Empty)
Result …
CO2 Emissions e < 5.1mg
PoFoD
If night time or weekend f < 0.0004 else f < 0.0001
Resource Usage rCPU < 0.10MI
Costs
c < 0.0027€
GREENS 2013 San Francisco, USA 20.05.2013
•To
ward
s G
reen
Sp
eci
fica
tion
s•
Concl
usi
on
•M
OTIV
ATIO
N•
Sh
ow
case
• Application specific impact specifications raise the level of awareness of the user for eco-cost and enables them to make more responsible choices
• In addition it enables data centres to further enhance their optimization strategies based on acceptable qualities of services
• Proposed question to the workshop for further discussion: “What metrics are useful for expressing eco-efficiency to the user and to the software developer”
… …
PoFoD
If night time or weekend f < 0.0004 else f < 0.0001
…
…
Thomas Schulze
Chair of Software EngineeringUniversity of Mannheimhttp://swt.informatik.uni-mannheim.de
All4Green Projecthttp://www.all4green-project.eu
Questions?Eco-Efficient Software Engineering Bloghttp://www.e2-se.com
Colin Atkinson
CONTACT US
MORE INFORMATION