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 @ ON.NL – Christoph Bockisch March 31, 2015 2 Research Overview Software Engineering Method for Energy-Aware Systems Tool support Conclusion A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 3 Overview Career 2003 – 2008 PhD studies Dissertation : An Efficient and Flexible Implementation of Aspect- Method Oriented Languages 2009 – 2014 Assistant Professor for Software Composition • Software architectures for reliability & adaptivity Tooling • Energy-optimization for embedded systems • Language technology for aspect-oriented programming since 2014 Assistant Professor in Software Engineering Conclusion • Data analytics in education • Energy-optimization in software • Verification in concurrent systems A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 4 Overview Research Approach Reliability Adaptability Energy-efficiency Ziele Modularity Ziele Goals Method Aspect-orientation Language abstractions Complex events Software engineering Tooling Adaptive embedded systems methods Energy-aware components in embedded software Development tools Debugging for AOP, Conclusion Verification and concurrency Execution environments Adaptive optimization Technologies A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 5 Overview Engineering Energy-Aware Embedded Software • Common goal in software engineering: modularity • Energy issues do not respect module boundaries Method • They are a cross-cutting concern • Conventional approaches cannot separate energy-related code joint work with Approach: method for systematic design Tooling of energy-aware embedded software • Make resources explicit at component interface (energy is one possible resource) • Facilitate implementing energy-optimization Conclusion in separate components • Adapt & adopt tools to support design process A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 6 Overview Project Scope Software controlling Our focus energy-consuming Method devices/resources (Printer parts, mobile device components/activities, etc.) Modular Tooling implementation of energy-related code Not our focus Reducing energy consumption of program execution itself Conclusion Inventing new optimization algorithms A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 7 Overview Case Study: Smart Phone Media player on a mobile phone, streaming music over the network Method Tooling Conclusion S. Malakuti, S. te Brinke, L. Bergmans, and C. Bockisch. Towards Modular Resource-Aware Applications . In: VariComp 2012 A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 8 Overview Case Study: Smart Phone Media player on a mobile phone, streaming music over the network Method VOIP Application Media Player Media Player Tooling Wifi Driver 3G Driver 3G Driver Conclusion Optimization Optimization Optimization A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 9 Overview Case Study: Smart Phone Media player on a mobile phone, streaming music over the network Method VOIP Application Media Player Media Player Optimization Optimization Optimization Tooling Wifi Driver 3G Driver 3G Driver Conclusion A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 10 Overview Case Study: Smart Phone Media player on a mobile phone, streaming music over the network Method VOIP Application Media Player Media Player Tooling Optimization Optimization Optimization Wifi Driver 3G Driver 3G Driver Conclusion A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 11 Overview Case Study: Smart Phone Media player on a mobile phone, streaming music over the network Method Media Player Tooling Optimization 3G Driver Conclusion A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 12 Overview Case Study: Smart Phone Media player on a mobile phone, streaming music over the network Method VOIP Application Tooling Optimization 3G Driver Conclusion A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 13 Overview Case Study: Smart Phone Media player on a mobile phone, streaming music over the network Method Media Player Tooling Optimization Wifi Driver Conclusion A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 14 Overview Case Study: Smart Phone Media player on a mobile phone, streaming music over the network Method VOIP Application Media Player Tooling Optimization 3G Driver Conclusion A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 15 Overview Case Study: Professional Printers • Industrial case: Océ • Printer has few main states (start, idle, standby, running) Method • All finishers have similar states Start • All finishers must be in the same state • Otherwise, system complexity unmanageable Tooling Idle • Problem statement • Gluer can have hot or cold glue Standby • Leads to two separate running states Conclusion • Increases number of states of all finishers • Increases complexity Running A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 16 Overview Case Study: Professional Printers • Printer is connected to many finishers • Finisher can be connected to various printers Method Gluer Stacker Tooling Optimization Printer Conclusion A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 17 Overview Resource-Aware Component Interface Resource port Service port • Dedicated component model • Resource ports Method bandwidth receive send disconnect connect Service ports Network Manager of a 3G Network • Resource Utilization connect CELL DCH Model (RUM) radio power ≈ 800 mW [inactivity timer = y ] disconnect bandwidth ≈ 100 kbps send ∨ receive send ∨ receive CELL FACH IDLE Resource Utilization Model [inactivity timer = y ] Tooling radio power ≈ 460 mW radio power ≈ 0 mW ∨ disconnect bandwidth ≈ 20 kbps bandwidth ≈ 0 kbps radio power • RUM defined as state chart • States model stable resource usage Conclusion • Services or internal events trigger transitions A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 18 Overview Case Study: Smart Phone pause play stop Media Player Application (on a smart phone) play stopped stop playing play connection stop Method [until next m seconds are buffered pause paused or connection when n seconds of the buffer is play [until next m seconds are buffered] consumed] connection download disconnect connect Optimizing Controller Tooling bandwidth receive send disconnect connect Network Manager of a 3G Network connect CELL DCH radio power ≈ 800 mW [inactivity timer = y ] disconnect bandwidth ≈ 100 kbps send ∨ receive send ∨ receive CELL FACH IDLE Conclusion [inactivity timer = y ] radio power ≈ 460 mW radio power ≈ 0 mW ∨ disconnect bandwidth ≈ 20 kbps bandwidth ≈ 0 kbps radio power Power Supply A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 19 Design Method for Energy-Aware Embedded Overview Software S. te Brinke, S. Malakuti, C. Bockisch, L. Bergmans, M. Akşit. A Design Method Identify key properties of RUM For Modular Energy-Aware Software . Method In SAC, ACM, 2013 Select most Identify functional Identify suitable components optimizer optimizer existing new components Tooling components Analyze Conclusion system Model resource behavior resource behavior A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 20 Design Method for Energy-Aware Embedded Overview Software Identify key properties of RUM Method Select most Identify functional Identify suitable components optimizer optimizer existing new components Tooling components Can be tool-supported for components with existing implementation. Analyze Conclusion system Model resource behavior resource behavior A design method for modular energy-aware software
OUrsi @ ON.NL – Christoph Bockisch March 31, 2015 21 Overview Purpose of RUM at design-time Understand Prove correctness resource behavior of optimization Method Specification for Pick most Must be component effective abstraction implementations optimization of resource behavior Tooling • Guarantee liveness and safety properties for all concretizations Conclusion → Over-approximation • Human-readable → Abstraction must be minimal A design method for modular energy-aware software
Recommend
More recommend