Максим: ну да.. просто описать процесс лучше, чем это позволяет UML - мне еще не приходилось видеть. Если найдёте что-то более совершенное - пожалуйста, дайте знать...
Однако, такая запись плохо показывает отношения потоков. Например нигде чётко не обозначенна операция записи в общуюю память, требующую синхронизации. Непонятно, какой профит, такая нотация имеет по сравнению с кодом.
Хотелось бы увидеть, что-то вроде пи-исчисления, только более применимого в повседневной жизни. Желательно, что бы оно было в определённой степени формализованно, но позволяло делать императивные вставки.
Единственный вариант, который попадался мне на практике, это были сиквенс диаграммы.
Максим: О_о, а зачем такое вообще нужно? В текстовом виде, ну, пишите на си-подобном коде, как на CUDA обозначайте загрузку данных в память и т.д. Никогда не понимал смысл текстовой записи алгоритмов, если есть псевдокод
SolidMinus: Ну допустим у вас имеется 3+ потока, которые разделяют два или более ресурса, поведение каждого из потоков зависит от состояния ресурсов. Если такое поведение записанно на чём нибудь вроде c++, с оптимизациями и метапрограммированием, распарсить такой алгоритм сходу, будет не очень легко. А вот если он будет документирован, при этом с акцентом на сценарии взаимодействия с реусрсом, понимание такого алгоритма будет в разы(если не на порядки) проще и быстрее.
Если честно, я не очень и верю в существование наглядной текстовой нотации, иначе, она бы скорее всего уже была бы довольно распостранена.