\begin{abstract}
  In this paper we discuss our ongoing endeavour to apply
  notations and algorithms based on the $\pi$-calculus and
  its theories for the development of large-scale
  distributed systems.  The execution of a large-scale
  distributed system consists of many structured
  conversations (or sessions) whose protocols can be clearly
  and accurately specified using a theory of types for the
  $\pi$-calculus, called {\em session types}.  The proposed
  methodology promotes a formally founded, and highly
  structured, development framework for modelling and
  building distributed applications, from high-level
  models to design and implementation to static checking to
  runtime validation. At the centre of this methodology is a
  formal description language for representing protocols for
  interactions, called {\scribble}. We illustrate the usage
  and theoretical basis of this language through use cases
  from different application domains.
\end{abstract}
