Newsgroups: comp.parallel
From: "Peter A. Buhr" <pabuhr@plg.uwaterloo.ca>
Subject: uC++ 4.4
Organization: University of Waterloo
Date: 15 Sep 1995 15:03:32 GMT
Message-ID: <43c4k4$5ep@usenet.srv.cis.pitt.edu>

>> ANNOUNCEMENT <<

I would like to announce, to any interested parties, the availability of
Version 4.4 of uC++ (pronounced micro-C++), an extended C++ that provides
light-weight concurrency on uniprocessor and multiprocessor computers running
the UNIX operating system.  uC++ extends C++ in somewhat the same way that C++
extends C.  The extensions introduce new objects that augment the existing
control flow facilities and provide concurrency.  uC++ provides both direct and
indirect communication using the traditional routine call mechanism.  All
aspects of uC++ are statically type-checked.  Furthermore, uC++ provides
mechanisms for precisely controlling the order in which requests are serviced
and for postponing work on already-accepted requests.

Version 4.4 has several bug fixes, especially improvements to the translator,
ports to IBM/RS6000, HP-PA, and the DEC/Alpha support is upgraded to OSF1 V3.2.
There is also a first-time port to Linux 1.2.13/1.3.20 but Linux non-blocking
sockets fail in both versions with varying degrees of problems.

>> REQUIREMENTS <<

uC++ requires at least version 4.0 of dmake, which is available by anonymous
ftp from the following location (remember to set your ftp mode to binary):

	plg.uwaterloo.ca:pub/dmake/dmake40.tar.gz

The installation instructions for uC++ also describe how to build dmake.

uC++ requires at least GNU C++ 2.6.3.  uC++ will NOT compile using other
compilers. GNU C++ can be obtained by anonymous ftp from many ftp sites.

I've experienced problems with GNU C++ 2.7.0, and I'm looking at them, so I do
not recommend using it with uC++. The Linux port was with 2.7.0.

>> FTP SITE <<

Version 4.4 of uC++ can be obtained by anonymous ftp from the following
location (remember to set your ftp mode to binary):

	plg.uwaterloo.ca:pub/uSystem/u++-4.4.tar.gz

The README file contains all the installation instructions. Good luck and
happy concurrency.

>> PORTABILITY <<

uC++ comes configured to run on any of the following platforms without
modification:

	sequent-i386-bsd (both single and multiple processor)
	sun-sparc-sunos (both single and multiple processor)
	sun-sparc-svr4 (solaris) (both single and multiple processor)
	sun-m68k-sunos (both single and multiple processor)
	dec-alpha (both single and multiple processor)
	sgi-mips-r4000 (both single and multiple processor)
	sgi-mips-r3000 (single processor only)
	ibm-rs6000 (single processor only)
	hp-pa (single processor only)
	pc-i386-linux (single processor only)
	gizmo (embedded version for stand-alone m68k board)

>> PAPERS <<

There is a paper about uC++ version 3.2.5 in: Software--Practice and
Experience, 22(2):137-172, February 1992, but many extensions have occurred
since then, so read the uC++ reference manual for the current design.

>> FUTURE <<

This version has all the kernel modifications for the monitoring, visualization
and debugger toolkit.  Currently, we have the following running: event tracing,
real-time monitoring using an extended multi-threaded X11 R6, and a prototype
multi-threaded debugger for multi-threaded applications.  The debugger can
control individual uC++ threads, both uniprocessor and multiprocessor. Debugger
testing will continue during the Fall. Interested people can contact me if they
want to try an alpha version of the debugger (sparc SunOS/Solaris only).

The real-time support is coming along and is scheduled for release in the next
version of uC++ (Jan '96).

As well, a database toolkit using memory mapping is also under construction.

See http://plg.uwaterloo.ca/projects.html for additional information and updates.

