Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Balancing Performance, Energy, and Quality in Pervasive Computing
ICDCS '02 Proceedings of the 22 nd International Conference on Distributed Computing Systems (ICDCS'02)
Future Generation Computer Systems
DR-OSGi: hardening distributed components with network volatility resiliency
Proceedings of the 10th ACM/IFIP/USENIX International Conference on Middleware
Energy efficiency of mobile clients in cloud computing
HotCloud'10 Proceedings of the 2nd USENIX conference on Hot topics in cloud computing
Which middleware platform should you choose for your next remote service?
Service Oriented Computing and Applications
Profiling resource usage for mobile applications: a cross-layer approach
MobiSys '11 Proceedings of the 9th international conference on Mobile systems, applications, and services
Where is the energy spent inside my app?: fine grained energy accounting on smartphones with Eprof
Proceedings of the 7th ACM european conference on Computer Systems
Energy-Efficient and Fault-Tolerant Distributed Mobile Execution
ICDCS '12 Proceedings of the 2012 IEEE 32nd International Conference on Distributed Computing Systems
Hi-index | 0.00 |
As modern software applications are becoming increasingly distributed and mobile, their design and implementation are characterized by distributed software architectures, possibility of faults, and the need for energy awareness. Thus, software developers should be able to simultaneously reason about and handle the concerns of distribution, fault-tolerance, and energy efficiency. Being closely intertwined, these concerns can introduce significant complexity into the design and implementation of modern software. Thus, to develop reliable and energy efficient applications, software developers must understand how distribution, fault-tolerance, and energy efficiency interplay with each other and how to implement these concerns while keeping the complexity in check. This paper studies these concerns and their interaction; it also develops novel approaches, techniques, and tools that effectively fuse and separate these concerns as required by particular software development scenarios.