An Object-Oriented and Context-Aware Approach for Distributed Mobile Applications
Conference: ARCS 2010 - 23th International Conference on Architecture of Computing Systems
02/22/2010 - 02/23/2010 at Hannover, Germany
Proceedings: ARCS 2010
Pages: 10Language: englishTyp: PDF
Personal VDE Members are entitled to a 10% discount on this title
Authors:
Graff, Daniel; Parzyjegla, Helge; Richling, Jan (Communication and Operating Systems Group, Berlin University of Technology, Germany)
Werner, Matthias (Operating Systems Group, Chemnitz University of Technology, Germany)
Mühl, Gero (Architecture of Application Systems, University of Rostock, Germany)
Abstract:
In this paper, we introduce an object-oriented programming and execution model to support location-aware applications for distributed mobile systems. We simplify application development by abstracting from single devices and concentrating on the collective as set of global system resources. Since in a real-world scenario, we usually have a heterogeneous environment consisting of different physical devices with distinct capabilities, headings and motion vectors, we do not want to address devices directly. Instead, we postulate location and distribution transparency as an abstraction concept which is applied in many distributed systems. However, there is a strong trend towards context-aware applications depending on location and motion information like GPS navigation services. Therefore, we introduce a context-aware and activity-based programming model that is based on spatiotemporal constraints realized by annotations. With our approach, we can implement new location-aware applications, but also enhance legacy code by constraints and thus making it locationaware. We present FlockOS as our approach to a mobile distributed operating system. Since we have to deal with hard deadlines for some applications, we incorporate offline and online scheduling algorithms for dynamic node assignment. As devices are constantly in motion, we model our applications as a union of independently executing activities that can be suspended, resumed or even migrated to different nodes in order to keep attached constraints satisfied.