Desde esos tiempos una amplia variedad de formalismos han sido desarrollados para dar ejemplos y razonar sobre la concurrencia.
Una serie de formalismos para ejemplificar y comprender sistemas concurrentes han sido desarrollados, incluyendo.
[7]) En este sentido, S puede ser matemáticamente caracterizado en términos de todos sus posibles comportamientos.
Varios tipos de lógicas temporales[8] pueden ser usados para ayudar a razonar sobre los sistemas concurrentes.
La meta final de la programación concurrente incluye exactitud, rendimiento y robustez.
El uso arbitrario introduce la posibilidad de indeterminacy in concurrent computation que tiene mayores implicaciones en la práctica, incluyendo la correctitud y el rendimiento.