In this paper, we define a new language called LOTOS/M which enables dynamic establishment of multi-way synchronization channels
among multiple agents (processes running on mobile hosts) on ad hoc networks, and show how it can be applied to designing
wireless mobile applications. In LOTOS/M, a system specification is given by a set of independent agents. When a pair of agents
is in a state capable of communicating with each other, a synchronization relation on a given gate (channel) list can dynamically
be assigned to them by a new facility of LOTOS/M: (i) advertisement for a synchronization peer on a gate list and (ii) participation
in the advertised synchronization. The synchronization relation on the same gate list can also be assigned to multiple agents
to establish a multi-way synchronization channel incrementally so that the agents can exchange data through the channel. When
an agent goes in a state incapable of communication, a synchronization relation assigned to the agent is canceled and it can
run independently of the others. By describing some examples, we have confirmed that typical wireless mobile systems can easily
be specified in LOTOS/M, and that they can be implemented efficiently with our LOTOS/M to Java compiler.