This document discusses various paradigms for distributed applications over mobile environments. It begins by introducing abstractions and some key characteristics of distributed systems like inter-process communication and event synchronization. It then covers several common paradigms like publish/subscribe, message passing using point-to-point messaging or message queues, shared spaces, and remote procedure calls. For each paradigm, it discusses concepts like decoupling, message passing, and how they apply to distributed systems and mobility.