Active C# is a variant of Microsoft’s C# that enhances the basic language with a direct support for concurrency and a new model for object communication. The C# compiler of the Shared Sources Common Language Infrastructure (SSCLI) served as a basis to extend the compiler. Modifications mainly concern the enhancement of C# with an active object concept and a novel communication paradigm based on formal dialogs.

The roots of Active C# can be found in a ROTOR project partially funded by Microsoft Research [Gu]. The concept of active objects and their synchronization comes from Active Oberon [Gk], a successor of the Oberon Language and from the Active Object System [Mu], an internally developed operating system microkernel. This paper presents a consolidation and enhancement of an experimental language concept introduced in the aforementioned ROTOR project.

Active C# is an extension of C# which mainly includes two new technologies: active objects and formal dialogs. Both technologies support the seamless integration of threading into the programming model, with the aim of increased acceptance and use of concurrency in programs. The idea is that programmers do not need to call the underlying threading framework directly anymore but can still add concurrency to their programs simply by making appropriate use of the programming model.

Download pdf Active C#