Всё зависит от постановки задачи. Универсального метода пока не существует и не факт, что он вообще появится. Если вы хотите выжать из системы именно вычислительную мощность (расчёты), то разбив задачу на параллельные (независимые) и использовав обмен сообщениями между ними, можно доказать формальную корректность каждой подзадачи, а так как они независимы, то и вся задача корректна.

А относительно изначально асинхронных систем Иван прав. Там вообще правила игры другие.

Кажется мне, что где-то книжечка Котова была на эту тему...