A design method for modular energy-aware software
A Design Method for Modular Energy-Aware Software
OUrsi @ OU.NL March 31, 2015
Christoph Bockisch (christoph.bockisch@ou.nl)
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
1
A Design Method for Modular Energy-Aware Software OUrsi @ OU.NL - - PowerPoint PPT Presentation
OUrsi @ ON.NL Christoph Bockisch March 31, 2015 1 A Design Method for Modular Energy-Aware Software OUrsi @ OU.NL March 31, 2015 Christoph Bockisch (christoph.bockisch@ou.nl) A design method for modular energy-aware software OUrsi @
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
1
A design method for modular energy-aware software March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
2
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
3
2003 – 2008 PhD studies Dissertation: An Efficient and Flexible Implementation of Aspect- Oriented Languages 2009 – 2014 Assistant Professor for Software Composition
Overview Method Tooling Conclusion
since 2014 Assistant Professor in Software Engineering
A design method for modular energy-aware software
Ziele Ziele
Technologies Language abstractions Software engineering methods Development tools Execution environments Goals Aspect-orientation Adaptive optimization Complex events Reliability Adaptability Energy-efficiency Modularity Adaptive embedded systems
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
4 Overview Conclusion
Energy-aware components in embedded software Debugging for AOP, Verification and concurrency
Method Tooling
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
5 Overview Method Tooling Conclusion
joint work with
A design method for modular energy-aware software
Software controlling energy-consuming devices/resources (Printer parts, mobile device components/activities, etc.) Modular implementation of energy-related code Reducing energy consumption of program execution itself Inventing new
algorithms
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
6 Overview Method Tooling Conclusion
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
7
Resource-Aware Applications. In: VariComp 2012 Overview Method Tooling Conclusion
Media player on a mobile phone, streaming music over the network
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
8
Media Player 3G Driver Media Player Wifi Driver VOIP Application 3G Driver Optimization Optimization Media player on a mobile phone, streaming music over the network Optimization
Overview Method Tooling Conclusion
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
9
Media Player 3G Driver Media Player Wifi Driver VOIP Application 3G Driver Optimization Optimization Optimization
Overview Method Tooling Conclusion
Media player on a mobile phone, streaming music over the network
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
10
Media Player 3G Driver Media Player Wifi Driver VOIP Application 3G Driver Optimization Optimization Optimization
Overview Method Tooling Conclusion
Media player on a mobile phone, streaming music over the network
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
11
Media Player 3G Driver Optimization
Overview Method Tooling Conclusion
Media player on a mobile phone, streaming music over the network
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
12
VOIP Application 3G Driver Optimization
Overview Method Tooling Conclusion
Media player on a mobile phone, streaming music over the network
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
13
Media Player Wifi Driver Optimization
Overview Method Tooling Conclusion
Media player on a mobile phone, streaming music over the network
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
14
3G Driver VOIP Application Media Player Optimization
Overview Method Tooling Conclusion
Media player on a mobile phone, streaming music over the network
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
15
Start Idle Standby Running
Overview Method Tooling Conclusion
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
16
Printer Gluer Stacker Optimization
Overview Method Tooling Conclusion
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
17
Resource port Service port
radio power bandwidth receive send disconnect connect IDLE
radio power ≈ 0 mW bandwidth ≈ 0 kbps
CELL DCH
radio power ≈ 800 mW bandwidth ≈ 100 kbps
CELL FACH
radio power ≈ 460 mW bandwidth ≈ 20 kbps
Network Manager of a 3G Network
send ∨ receive send ∨ receive [inactivity timer = y] ∨ disconnect disconnect [inactivity timer = y] connect
Resource Utilization Model
Overview Method Tooling Conclusion
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
18
Optimizing Controller Power Supply
radio power bandwidth connection receive send disconnect connect download disconnect connect
Media Player Application (on a smart phone)
stopped paused
connection [until next m seconds are buffered]
playing
connection [until next m seconds are buffered
when n seconds of the buffer is consumed]
stop stop stop play play pause play pause play IDLE
radio power ≈ 0 mW bandwidth ≈ 0 kbps
CELL DCH
radio power ≈ 800 mW bandwidth ≈ 100 kbps
CELL FACH
radio power ≈ 460 mW bandwidth ≈ 20 kbps
Network Manager of a 3G Network
send ∨ receive send ∨ receive [inactivity timer = y] ∨ disconnect disconnect [inactivity timer = y] connect
Overview Method Tooling Conclusion
A design method for modular energy-aware software
Analyze system resource behavior
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
19
Select most suitable
components Identify
components Identify functional components new
Overview Method Tooling Conclusion
Identify key properties of RUM Model resource behavior existing
Bergmans, M. Akşit. A Design Method For Modular Energy-Aware Software. In SAC, ACM, 2013
A design method for modular energy-aware software
Analyze system resource behavior
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
20
Select most suitable
components Identify
components Identify functional components new
Identify key properties of RUM Model resource behavior existing Can be tool-supported for components with existing implementation.
Overview Method Tooling Conclusion
A design method for modular energy-aware software
→ Over-approximation
→ Abstraction must be minimal
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
21
Must be abstraction
behavior Specification for component implementations Understand resource behavior Prove correctness
Pick most effective
Overview Method Tooling Conclusion
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
22
Overview Method Tooling Conclusion
Akşit, S. Katz. A Tool-Supported Approach for Modular Design of Energy-Aware Software. In SAC, ACM, 2014
A design method for modular energy-aware software
and IDLE state
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
23
power <= 1J/s
IDLE power <= 0.1 J/s dl speed = 0s music per s ACTIVE power <= 1 J/s dl speed = 3s music per s request done ¬done Overview Method Tooling Conclusion S., te Brinke, C. Bockisch, L., Bergmans, S. Malakuti, M. Aksit, S. Katz. Deriving Minimal Models for Resource Utilization. In: GIBSE, ACM, 2013
A design method for modular energy-aware software
Overview Method Tooling Conclusion
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
24
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
25 Overview Method Tooling Conclusion
A design method for modular energy-aware software
Identify key properties of RUM Model resource behavior
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
26
Select most suitable
components Identify
components Identify functional components new
existing Analyze system resource behavior When RUM is specified formally, it can be analyzed by model-checking tools.
Overview Method Tooling Conclusion
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
27 Overview Method Tooling Conclusion
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
28 Overview Method Tooling Conclusion
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
29 Overview Method Tooling Conclusion
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
30 Overview Method Tooling Conclusion
A design method for modular energy-aware software
March 31, 2015 OUrsi @ ON.NL – Christoph Bockisch
31 Overview Method Tooling Conclusion