Programming and Managing the Swarm -- An Operating System for an Emerging System of Mobile Devices

Todays situation is characterized by an increasing pervasiveness of a plethora of mobile devices featuring different capabilities and exhibiting different system interfaces making the handling of these devices and especially the cooperation between different devices a complex task. In this paper, we consider the sum of all these devices as one emerging system (the swarm) and present an approach of a swarm operating system that on a systemic level manages these devices (local devices give up their autonomy) while providing a common interface to user applications. We provide a programming model for distributed mobile applications that abstracts from error-prone aspects such as distribution and concurrency by giving the programmer a systemic view to system resources. The model allows the programmer to define actions that can be restricted in space and time. Together with a high level goal, an entire application emerges implicitly based on those defined actions. In order to execute such applications, we present an architecture for a runtime system that uses virtualization techniques in order to execute multiple independently developed applications in parallel. The system follows a service-oriented architecture: one of the core services is the space-time scheduler that plans applications (a set of actions) in time and space.

[1]  Edward A. Lee,et al.  The TerraSwarm Research Center (TSRC) (A White Paper) , 2012 .

[2]  Matt Welsh,et al.  Programming Sensor Networks Using Abstract Regions , 2004, NSDI.

[3]  Vinny Cahill,et al.  Language-independent aspect-oriented programming , 2003, OOPSLA 2003.

[4]  James McLurkin,et al.  Dynamic Task Assignment in Robot Swarms , 2005, Robotics: Science and Systems.

[5]  Edward A. Lee Cyber-physical Systems -are Computing Foundations Adequate? Position Paper for Nsf Workshop on Cyber-physical Systems: Research Motivation, Techniques and Roadmap , 1998 .

[6]  S. Zucker,et al.  Toward Efficient Trajectory Planning: The Path-Velocity Decomposition , 1986 .

[7]  M.A. Uusitalo,et al.  Global Vision for the Future Wireless World from the WWRF , 2006, IEEE Vehicular Technology Magazine.

[8]  C. Ramchandani,et al.  Analysis of asynchronous concurrent systems by timed petri nets , 1974 .

[9]  Douglas C. Schmidt,et al.  Active object: an object behavioral pattern for concurrent programming , 1996 .

[10]  Philip Levis,et al.  The nesC language: a holistic approach to networked embedded systems , 2003, SIGP.

[11]  Matthias Werner,et al.  Two Abstractions for Distributed Systems of Mobile Nodes , 2010, 2010 Seventh International Conference on Information Technology: New Generations.

[12]  Emin Gün Sirer,et al.  On the need for system-level support for ad hoc and sensor networks , 2002, OPSR.

[13]  Liviu Iftode,et al.  Programming ad-hoc networks of mobile and resource-constrained devices , 2005, PLDI '05.

[14]  Matthias Werner,et al.  Modeling Group Scheduling Problems in Space and Time by Timed Petri Nets , 2013, Fundam. Informaticae.

[15]  Edward A. Lee Cyber Physical Systems: Design Challenges , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

[16]  Serge Kernbach,et al.  Symbiotic robot organisms: REPLICATOR and SYMBRION projects , 2008, PerMIS.

[17]  Daniel Graff,et al.  Distributed Active Objects -- A Systemic Approach to Distributed Mobile Applications , 2011, 2011 Eighth IEEE International Conference and Workshops on Engineering of Autonomic and Autonomous Systems.

[18]  Ramesh Govindan,et al.  Reliable and efficient programming abstractions for wireless sensor networks , 2007, PLDI '07.