I was given the task of producing high-level design documents, describing flows of a new development project.
The project's specifications contains a few flow-charts of the project's use cases.
These tend to be packed with data, including branches (decisions that determine multiple paths) and loops (flows that return to a previous state).
Attempting to describe these using traditional sequence diagrams hit a well, as (to me) it seems that these are better used for things that are more "single direction" in their nature, with no control flows, etc.
What is the optimal way of creating high-level design diagrams showing flow of data between server-client, including different branches of execution and cycles?