I&C School of Computer and Communication Sciences
Ecole Polytechnique Fédérale de Lausanne    

sC++ Home Page

This page describes various aspects of sC++ and can be used as a starting point to write programs in this language. The details of the language are described in the online documentation, and in a reference book written in French.

Introduction to sC++

The Computer Networking Laboratory studies how to use concurrency mainly as a structuring means. For that purpose a version of C++, named sC++, has been developed. This language enhances C++ with a very few new keywords defining active objects and synchronization primitives in a way that preserves the whole philosophy of object oriented programming. A compiler for sC++, based on the GNU C++ compiler has been developed. The compiled code is linked with a real-time library in order to produce a multithreaded code, running within a UNIX process. An environment for Windows'95 is in preparation. The laboratory has developed several applications with this language and obtained very readable and maintenable codes. In particular the following applications and libraries can be demonstrated:

This approach is very useful for event driven applications and compares very favourably with other event driven environments, like NextStep. It has support for "random walk" analysis. The language is very easy to learn for those who know C++.

More information about the language can be obtained in the next section ("Online Documentation"). 

Reference Book

(French version, English version)
sC++, Programmation pseudo-parallèle orientée objet, PPUR, 1998, Lausanne.
Commande du livre --Trames des exercices --Corrigés du livre --ERRATA


Online Documentation

The following documentation for sC++ is available: (The same documentation is provided in the last distribution)

We have written a number of papers about sC++ which can be obtained from our laboratory page. 

Example Sources

You find here the source files for the example programs included in the official distribution. To compile an example either go to the example directory for the concerned library and type 'make NAME' where NAME is the source file name without the trailing .scxx. The example sources for the different libraries can be found here:

Developpers and contact persons

The sC++ language has been developped at the Computer Network Laboratory at the Swiss Federal Institute of Technology, Lausanne, Switzerand. We are continously developping new libraries and tools to support the sC++ language.

 The following persons has participated in the development of the sC++ language and accompanying libraries:


The following persons are maintaining the different parts of the distribution:

If you discover a problem or have any question about any part of the distribution feel free to mail one of the maintainers. 


The sC++ distribution can be obtained at our ftp site .


 To directly download the latest sC++ distribution click on one of the links below:

Sun Dec


Windows 95/NT