A Software Energy Analysis Method using Executable UML for Smartphones Kenji Hisazumi System LSI Research Center Kyushu University.

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Content Interaction and Formatting, Tayeb LEMLOUMA & Nabil Layaïda. November Tayeb Lemlouma & Nabil Layaïda Presented by Sébastien Laborie November.
Automated Evaluation of Runtime Object States Against Model-Level States for State-Based Test Execution Frank(Weifeng) Xu, Gannon University Dianxiang.
CTIA Industry Standards for Estimating Battery Life
A Method for Characterizing Energy Consumption in Android Smartphones Authors: Luis Corral, Anton B. Georgiev, Alberto Sillitti, Giancarlo Succi Center.
Green Computing Energy in Location-Based Mobile Value-Added Services Maziar Goudarzi.
Institute of Networking and Multimedia, National Taiwan University, Jun-14, 2014.
Academic Advisor: Prof. Ronen Brafman Team Members: Ran Isenberg Mirit Markovich Noa Aharon Alon Furman.
An Introduction to PowerTutor (
MultiJob PanDA Pilot Oleynik Danila 28/05/2015. Overview Initial PanDA pilot concept & HPC Motivation PanDA Pilot workflow at nutshell MultiJob Pilot.
Power-Saving Techniques with High Visual-Quality for Mobile Displays Dep. of Computer Science & Engineering Yuan Ze University Speaker: Chun-Han Lin National.
ThinkAir: Dynamic Resource Allocation and Parallel Execution in Cloud for Mobile Code Offloading Sokol Kosta, Pan Hui Deutsche Telekom Labs, Berlin, Germany.
SKKU Embedded Software Lab Battery Information 최완수 ( ) 김영훈 ( ) 곽현호 ( )
Chapter 1: Voilà! Meet the Android. Smartphones –Can browse the Web –Allow you to play games –Use business applications –Check –Play music –Record.
Android ADK based app for offer making based on location and activity reporting John Waters.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
Apache JMeter By Mohamed Talaat
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
Smart Phone Laboratory ECEN 489 Srinivas Shakkottai.
Strategy War Game Combine PC, Mobile and Online gaming HTML, CSS, JavaScript based Native browsers support Chrome, Safari, Internet Explorer Native clients.
Introduction With TimeCard users can tag SharePoint events with information that converts them into time sheets. This way they can report.
AUTOMATION OF WEB-FORM CREATION - KINNERA ANGADI – MS FINAL DEFENSE GUIDANCE BY – DR. DANIEL ANDRESEN.
High Performance Embedded Computing © 2007 Elsevier Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
Cloud platforms Lead to Open and Universal access for people with Disabilities and for All Cloud4all User Forum and Focus group 30/08/2012.
ONLINE GAME NETWORK TRAFFIC OPTIMIZATION Jaewoo kim Youngho yi Minsik cho.
Mobile Middleware for Energy-Awareness Wei Li
Timecard: Controlling User-Perceived Delays in Server-Based Mobile Applications Lenin Ravindranath, Jitu Padhye, Ratul Mahajan, Hari Balakrishnan.
Introduction to Software Development. Systems Life Cycle Analysis  Collect and examine data  Analyze current system and data flow Design  Plan your.
$aveZone Milestone 3 $aveZone Milestone 3 Fifth team: Dima Reshidko Oren Gafni Shiko Raboh.
HIMALAYA Test Review 16/12/2013 D4.8 Demonstration software subsystem unitary test report.
1 A Steering Portal for Condor/DAGMAN Naoya Maruyama on behalf of Akiko Iino Hidemoto Nakada, Satoshi Matsuoka Tokyo Institute of Technology.
TITLE 1. Donate Blood Why Blood donation is important  Only way to maintain sufficient blood supplies for medical treatment  support local communities.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
FriendFinder Location-aware social networking on mobile phones.
Advanced Science and Technology Letters Vol.106 (Information Technology and Computer Science 2015), pp.17-21
FriendFinder Location-aware social networking on mobile phones.
Web Services Using Visual.NET By Kevin Tse. Agenda What are Web Services and Why are they Useful ? SOAP vs CORBA Goals of the Web Service Project Proposed.
Broadcast Methods for Inter-Vehicle Communications System T. Fukuhara, T. Warabino, T. Ohseki, K. Saito, K. Sugiyama, T. Nishida, K. Eguchi IEEE Communications.
Performance Testing Test Complete. Performance testing and its sub categories Performance testing is performed, to determine how fast some aspect of a.
Web: ~ laoudias/pages/platform.htmlhttp://www2.ucy.ac.cy/ ~ laoudias/pages/platform.html
FriendFinder Location-aware social networking on mobile phones.
Power Guru: Implementing Smart Power Management on the Android Platform Written by Raef Mchaymech.
1 PerfCenter and AutoPerf: Tools and Techniques for Modeling and Measurement of the Performance of Distributed Applications Varsha Apte Faculty Member,
Dextrosoft SCHEDULED PHONE BACKUP Backup your mobile life Version Copyright © 2015 Dextrosoft Private Limited. All Rights Reserved.
 Streaming media over the internet has been in tradition since many years and with the smart phone and iphone era where everything is available at just.
Maikel Leemans Wil M.P. van der Aalst. Process Mining in Software Systems 2 System under Study (SUS) Functional perspective Focus: User requests Functional.
Nguyen Thi Thanh Nha HMCL by Ying Zhang, Gang Huang, Xuanzhe Liu, Wei Zhang, Hong Mei, and Shunxiang Yang Refactoring Android Java Code for On-Demand Computation.
Scenario use cases Szymon Mueller PSNC. Agenda 1.General description of experiment use case. 2.Detailed description of use cases: 1.Preparation for observation.
Accelerometer based motion gestures for mobile devices Presented by – Neel Parikh Advisor Committee members Dr. Chris Pollett Dr. Robert Chun Dr. Mark.
How to Use an Android Tablet Well Come To You few Steps For How to Use an Android Tablet?
An AV Control Method Using Natural Language Understanding Author : M. Matsuda, T. Nonaka, and T. Hase Date : Speaker : Sian-Lin Hong IEEE Transactions.
SOURCE:2014 IEEE 17TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND ENGINEERING AUTHER: MINGLIU LIU, DESHI LI, HAILI MAO SPEAKER: JIAN-MING HONG.
ANDROID APP FOR HIVETRACKS.COM SERVICE
Pilot Walktour Operation Guide V3.5 (Android)
Auditing Information Technology
Mobile Operating System
Chapter 2: System Structures
Roku Com Link Call (Toll- Free) Visit Our Website
Pilot Walktour Operation Guide V3.4 (Android)
Diabetes Health Platform
AirPlace Indoor Positioning Platform for Android Smartphones
International Symposium on Microarchitecture. New York, NY.
Diabetes Health Platform
Background Energy efficiency is a critical issue for mobile device.
Application Development A Tutorial Driven Course
PalmOS.
Presentation transcript:

A Software Energy Analysis Method using Executable UML for Smartphones Kenji Hisazumi System LSI Research Center Kyushu University

Background Increasing power consumption of mobile phone →Low battery life 2 Calling mail Calling mail Web Browsing Music, Video Game Etc… Traditional mobile phone Smart phone Software

Background For reducing power consumption of application 3 ⑤ Modifying source code ① Running app with test cases ② Measuring power consumption Profiling result is important. Adjust parameter Optimize Bug fix Developer ③ Analyzing data ④ Making improvement plan

Related work : Estimation of power consumption using device usage Power model based on usage which obtains from OS [1] 4 P estimat e : estimated power V m : usage of smart phone’s parts C m : coefficient M : a set of the factors related to power consumption Power model Android CPU usage Wi-Fi GPS time LCD time Estimated power [1]Kaneda, Y., Okuhira, T., Ishihara, T., Hisazumi, K., Kamiyama T. and Katagiri, M.: A Run-Time Power Analysis Method using OS-Observable Parameters for Mobile Terminals, 2010 International Conference on Embedded Systems and Intelligent Technology (ICESIT 2010), Vol.1, pp (2010).

Power Consumption Profiling Method based on Actual Android Application Usages 5

Background Existing energy profiling method: Unable to take into account all possible usage patterns

Proposed method : Data Collection of Actual Android Application Usages Collecting many user’s actual usage 7 developer users Server ① Collecting data (Embedding logging code in application) e.g. : CPU usage Wi-Fi traffic etc. ② Gathering data ⑤ Modifying source code ③ Profiling data ④ Making improvement plan

Proposed method : Selective usage collection 8 Usage collection each screen Requirements Estimating use tendency Logging as few count as possible Android application screen ② function : B screen ③ function : C screen ④ function : D screen ① function : A

Android application log ① log ④ log ③ log ② Proposed method: Selective usage collection 9 screen ② function : B screen ③ function : C screen ④ function : D screen ① function : A Usage collection each screen Requirements Estimating use tendency Logging as few count as possible

Proposed method: Selective usage collection 10 public aspect Logger { after():call(void Activity.onResume()) { //log output logging(“resource consumption is...”); } AspectJ : Extended language of Java –Embedding Java bytecode into program Description example AspectJ-specific object Pointcut: condition of code embedding point Advice: Embedded code

Logger Aspect before:onResume { logging(); } after:onPause { logging(); } Proposed method: Selective usage collection 11 Activity Collecting usage log of Activity Class

Logger Aspect before:onResume { logging(); } after:onPause { logging(); } Proposed method: Selective usage collection 12 Activity1Activity2 Activity3Activity4 Collecting usage log of all Activity classes in an application

Evaluation : Profiling of Android Application Experiment environment Application : Crowdroid ( open-source Twitter client ) Subjects : 13 Device : Galaxy Nexus (only via Wi-Fi) Total usage time : 51 hours Measured resource usage for power model Active time of the Activity classes CPU time of … Wi-Fi communication time to Twitter server of … Downloading tweet number of … (Crowdroid-specific) 13

14 Evaluation : Power consumption of the Activity classes

15 Displays timeline Login (Choices one of accounts) Composes a tweet Evaluation : Power consumption of the Activity classes

16 Displays timeline Login (choices one of accounts) Composes a tweet Focus on Activity 2 Evaluation : Power consumption of the Activity classes

17 Evaluation : Detailed analysis Investigating improvement plan of factors in decreasing order by power consumption 1 2 3

18 Evaluation : Detailed analysis Display, etc. Control the use time by developer is difficult. CPU I found that CPU is efficiently used. Wi-Fi Investigating improvement plan of factors in decreasing order by power consumption Next page

Evaluation : Detailed analysis The mean and variance of the number of displayed tweets of Activity2 for each subject 19 Downloading Tweet-number of a download operation : 21 (fixed) Downloading Tweet-number of a download operation : 21 (fixed) Reduction of communication time by optimizing the downloading count Improvement plan Investigating improvement plan of factors in decreasing order by power consumption

Evaluation : Simulation of optimizing effect of twitter downloading count 20 Our proposed method contains simulation as a preceding process of implementation.  Because of prevention of changing improvement plan after implementation. Assuming that the number of tweets a user's desired be obtained at a time, I verified power-saving effect.

21 Optimized power consumption of communication P optW : The optimized power consumption P WLAN : The power consumption calculated from the log T : the communication time in the log T opt : the optimized communication time Evaluation : Simulation of optimizing effect of twitter downloading count

The time of downloading x tweets from the Twitter server T opt = x [ms] 22 Modifying number of downloads in source code

A comparison P WLAN and P optW of Activity2 23 Reduce by approx. 20% (2% of the overall) Reduce by approx. 20% (2% of the overall) Evaluation : Simulation of optimizing effect of twitter downloading count

Evaluation : Power consumption of the Activity and the Service classes Experiment environment Application : Crowdroid ( open-source Twitter client ) Subjects : 2 Device : Galaxy Nexus (only via Wi-Fi) Period: a month Measured resource usage for power model Active time of the Activity and the Service classes CPU time of … Communication time of … Downloading tweet number of … (Crowdroid-specific) 24

Evaluation : Power consumption of the Activity and the Service classes 25 Activity 2 in previous evaluation

Evaluation : Detailed analysis Service A, C and F provides notification function. Subjects don’t use notification function. The user can disable the notification function by changing the settings, but Crowdroid had executed regardless of the settings (version 3.3.0). 26

27 Evaluation : Power consumption of the Activity and the Service classes Changing that notification function is started according to the settings

Conclusion Feature work Verification of the validity of the simulation 28 Propose the power consumption profiling technique to support the power-saving tuning for Android applications Propose the procedure to analyze power consumption with usage log. Find that Activity and Service class that performs consumes a huge amount of power Verify power-saving effect with simulation and power estimation

GUI-Component Energy Profiler for Android Applications 29

Proposed method: Research goal The goal is to estimate the energy consumption of each GUI component automatically. 30 Which component consumes most energy? GUI-Component energy profiler can answer this question.

Proposed method : estimation of GUI-component energy consumption Codes of GUI component can be divided to three subcomponent: Display, Event-handling and Data-handling subcomponent. 31 Display subcomponent : Displaying data GUI component Event-handling subcomponent : Processing of Event listener a developer implemented Data-handling subcomponent : Obtaining some data from external input and processing them

Proposed method : estimation of GUI-component energy consumption 32 Main Thread Sub Thread Displaying method Data Generation Data Processing Event handler processing GUI Updating request Processing of an app The estimation method is as follows: 1)Dividing codes to subcomponents. 2)Inserting logging codes before and after each subcomponent. 3)Running the app and getting logs. 4)Calculating energies.

Proposed method : estimation of GUI-component energy consumption 33 Main Thread Sub Thread Displaying method Data Generation Data Processing Event handler processing GUI Updating request Processing of an app The estimation method is as follows: 1)Dividing codes to subcomponents. 2)Inserting logging codes before and after each subcomponent. 3)Running the app and getting logs. 4)Calculating energies. Display subcomponent Event-handling subcomponent Data-handling subcomponent

Proposed method : estimation of GUI-component energy consumption 34 Main Thread Sub Thread Displaying method Data Generation Data Processing Event handler processing GUI Updating request Processing of an app The estimation method is as follows: 1)Dividing codes to subcomponents. 2)Inserting logging codes before and after each subcomponent. 3)Running the app and getting logs. 4)Calculating energies from the logs. Logging codes

Proposed method : estimation of GUI-component energy consumption 35 Main Thread Sub Thread Displaying method Data Generation Data Processing Event handler processing GUI Updating request Processing of an app The estimation method is as follows: 1)Dividing codes to subcomponents. 2)Inserting logging codes before and after each subcomponent. 3)Running the app and getting logs. 4)Calculating energies. Energy estimation model Estimated energy OS- resource logs

Proposed method : Estimation model of energy consumption The energies is estimated by following energy-estimation model. 36 C CPU, C WiFi : CPU and WiFi coefficient E CPU, E WiFi : The estimated energy of CPU and WiFi T user, T sys : CPU usage time of user and system mode T CPU : CPU usage time (including all modes) V : Voltage of smartphone

Proposed method : Automatic prober It is not realistic to embed logging codes in a application manually. 37 Too many codes Logging code Dirtying original code Subcomponent SOURCE Where? Probing location depends on apps Automatic prober, which can automatically search probing location and embed logging codes, is needed. especially data-handling subcomponent

Proposed method : Automatic prober AspectJ : Extended language of Java Embedding Java bytecode into an application without dirtying original codes 38 public aspect Logger { after():call(void Activity.onResume()) { //log output logging(“resource consumption is...”);} } Example Logging codes is automatically embedded before/after particular method of apps. Probing location of display and event-handling subcomponents can be decided because they consist of particular methods.

Proposed method : Automatic prober To decide probing location for data-handling subcomponent, Automatic prober performs data-flow analysis Deciding probing location from the data flow 3. Adding logging codes using AspectJ Data flow 1. performing data-flow analysis

Evaluation : estimation of GUI-component energy consumption Experiment environment - Comparison between Multi and Single component app - Device : Xperia Z Ultra - GUI : Button, TextView, ListView, Ad. banner 40 Multi-component app Single-component app Comparison

Evaluation : estimation of GUI-component energy consumption % 16.5% 1.1% 8.3% NOT including data connectionIncluding data connection

Evaluation : estimation of GUI-component energy consumption % 16.5% 1.1% 8.3% NOT including data connectionIncluding data connection [J] 1.13 [J] <<

Conclusions and future work Energy consumption profiler is useful for developers of smartphone. Our proposed method realize GUI-component energy consumption profiler. Two experiment show the feasibility of proposed method. More various GUI components and ways to obtain data Applying proposed method to real applications Improving our profiler to fully-automated 43 Conclusion Future work