Reflection is a common mechanism for accessing and changing the structure of a program at run-time, found in many dynamic programming languages such as Smalltalk, Ruby and Python, and in impoverished form in Java and (hence) Scala. Functional languages such as LISP and Scheme also support a good reflect framework. Modern languages support concurrency, either by adding threads on top of the existing language constructs, or by designing from the ground up with concurrency in mind.My question is: What models of reflection for the concurrency aspects in concurrent languages (multi-threaded, actor-based, active-object-based) exist? 
Reflection on Concurrency
programming languages;semantics;concurrency;reflection
The closest I can think of is the MetaKlaim language. Klaim is a process calculus with asynchronous communication via tuple spaces. MetaKlaim is an extension of Klaim that integrates the meta-programming features of MetaML, namely multi-stage programming with types. (You may be more familiar with the syntax of MetaOCaml)I am not an expert in any of these fields, so I don't really know if multi-stage programming fit in this definition of reflection. (I know this does not capture all aspects of reflection anyway so that's at most a partial answer). 