A new class of cognition augmenting applications such as face recognition or natural language processing is emerging for mobile devices. This kind of applications is computation and power intensive and a cloud infrast...
详细信息
ISBN:
(纸本)9781467327985;9781467327978
A new class of cognition augmenting applications such as face recognition or natural language processing is emerging for mobile devices. This kind of applications is computation and power intensive and a cloud infrastructure would provide a great potential to facilitate the code execution. Since these applications usually consist of many composable components, finding the optimal execution layout is difficult in real time. In this paper, we propose an efficient code partition algorithm for mobile code offloading. Our algorithm is based on the observation that when a method is offloaded, the subsequent invocations will be offloaded with a high chance. Unlike the current approach which makes an individual decision for each component, our algorithm finds the offloading and integrating points on a sequence of calls by depth-first search and a linear time searching scheme. Experimental results show that, compared with the 0-1 Integer Linear Programming solver, our algorithm runs 2 orders of magnitude faster with more than 90% partition accuracy.
Object-oriented(a) languages support many modern programming concepts such as information hiding, inheritance, polymorphism, and dynamic binding. As a result, software systems implemented in OO languages are in genera...
详细信息
Object-oriented(a) languages support many modern programming concepts such as information hiding, inheritance, polymorphism, and dynamic binding. As a result, software systems implemented in OO languages are in general more reusable and reliable than others. Many legacy software systems, created before OO programming became popular, need to be redesigned and updated to OO programs. The process of abstracting OO designs from the procedural source code has often been done with limited assistance from program structural diagrams. Most reengineering focuses on the functionality of the original program, and the OO redesign often results in a completely new design based on the designers' understanding of the original program. Such an approach is not sufficient because it may take a significant amount of time and effort for designers to comprehend the original program. This paper presents a computer-aided semi-automatic method that abstracts OO designs from the original procedural source code. More specifically, it is a method for OO redesign based on program structural diagrams, visualization, and execution slices. We conducted a case study by applying this method to an inventory management software system. Results indicate that our method can effectively and efficiently abstract an appropriate OO design out of the original C code. In addition, some of the code from the original system can be automatically identified and reused in the new OO system.
Object-oriented languages support many modem programming paradigms such as information hiding, inheritance, polymorphism, and dynamic binding. As a result, software systems implemented in OO languages are more reusabl...
详细信息
ISBN:
(纸本)0769519288
Object-oriented languages support many modem programming paradigms such as information hiding, inheritance, polymorphism, and dynamic binding. As a result, software systems implemented in OO languages are more reusable and reliable than those in non-OO. Many legacy software systems were created before OO programming became popular and needed to be redesigned and updated to OO programs. The process of abstracting OO designs from the procedural source code was often done manually or with limited assistance from program structural diagrams. Most reengineering focuses on the functionality of the original program, and the OO redesign often results in a completely new design based on the designers' understanding of the original program. Such an approach is not sufficient, for it not only, takes time and effort for designers to become familiar with the original program, but the approach itself is also mistake-prone due to the human involvement. This paper presents a computer-aided semi-automatic method that abstracts OO designs from the original procedural source code. More specifically, it is a method for OO redesign based on program structural diagrams, visualization, and execution slice. We conducted a case study by applying this method to an inventory management software system. Results indicate that our method can effectively and efficiently abstract an appropriate OO design out of the original C code as well as re-generate part of the system in C++ code based on this new OO design.
暂无评论