REME-D: a reflective epidemic message-oriented debugger for ambient-oriented applications

Debuggers are an integral part, albeit often neglected, of the development of distributed applications. Ambient-oriented programming (AmOP) is a distributed paradigm for applications running on mobile ad hoc networks. In AmOP the complexity of programming in a distributed setting is married with the network fragility and open topology of mobile applications. To our knowledge, there is no comprehensive debugging approach that tackles both these issues. In this paper we present REME-D, an online debugger that integrates techniques from distributed debugging (event-based debugging, message breakpoints) and proposes facilities to deal with ad hoc, fragile networks -- epidemic debugging, and support for frequent disconnections. A prototype for REME-D is implemented for the AmbientTalk language using the meta-actor protocol provided by AmbientTalk to implement its features.

[1]  Randy H. Katz,et al.  X-Trace: A Pervasive Network Tracing Framework , 2007, NSDI.

[2]  Éric Tanter,et al.  Achieving high and consistent rendering performance of Java AWT-Swing on multiple platforms , 2009 .

[3]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[4]  Jason Gait,et al.  A debugger for concurrent programs , 1985, Softw. Pract. Exp..

[5]  I. J. P. Elshoff,et al.  A distributed debugger for Amoeba , 1988, PADD '88.

[6]  Éric Tanter,et al.  Mirror-based Reflection in Ambienttalk † , 2022 .

[7]  Barton P. Miller,et al.  Optimal tracing and replay for debugging message-passing parallel programs , 1992, Supercomputing '92.

[8]  Jan Pedersen,et al.  Millipede: A Multilevel Debugging Environment for Distributed Systems , 2005, PDPTA.

[9]  Roland Wismüller Debugging Message Passing Programs Using Invisible Message Tags , 1997, PVM/MPI.

[10]  Robert Hood The p2d2 project: building a portable distributed debugger , 1996, SPDT '96.

[11]  Charles E. McDowell,et al.  Debugging concurrent programs , 1989, ACM Comput. Surv..

[12]  Mark S. Miller,et al.  Causeway: a message-oriented distributed debugger , 2009 .

[13]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[14]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

[15]  Eric G. Manning,et al.  A framework for distributed debugging , 1990, IEEE Software.

[16]  Jonathan S. Shapiro,et al.  Concurrency among strangers: programming in E as plan coordination , 2005 .

[17]  Jessie Dedecker,et al.  AmbientTalk: Object-oriented Event-driven Programming in Mobile Ad hoc Networks , 2007, XXVI International Conference of the Chilean Society of Computer Science (SCCC'07).

[18]  Akinori Yonezawa,et al.  Debugging Concurrent Systems Based on Object Groups , 1988, ECOOP.

[19]  William Gropp,et al.  An Interface to Support the Identification of Dynamic MPI 2 Processes for Scalable Parallel Debugging , 2006, PVM/MPI.

[20]  Theo D'Hondt,et al.  Ambient-oriented programming , 2005, OOPSLA '05.

[21]  Theo D'Hondt,et al.  Ambient-oriented programming in ambientTalk , 2005, OOPSLA '05.