Specification languages for modelling concurrency