Concert/C Rel 3.1: AVAILABILITY OF A LANGUAGE FOR DISTRIBUTED C PROGRAMMING J. Auerbach, S. Demion, G. Goldszmidt, J. R. Rao, J. Russell email: concert-c@watson.ibm.com IBM Research July 1994 We announce the availability of a new release of Concert/C, a language that extends ANSI C with support for distributed programming. Release 3.1 of Concert/C runs on AIX, SunOS, Solaris and OS/2, and is available for non-commercial use without charge. See "OBTAINING CONCERT/C" below for details. Comprehensive documentation is also available, including a Tutorial and User Guide, and a formal specification of the language. SUMMARY OF CONCERT/C Concert/C supports distributed C programming. Programmers write a program's local logic in standard C, and its distributed logic in Concert/C's powerful operations. Concert/C systems are composed of communicating processes. A process is an executing sequential C program. The language provides primitives to create and terminate processes, and communicate between them. The programmer explicitly expresses parallelization and distribution. Concert/C simplifies interprocess communications (IPC) programming by integrating it into the language. Concert/C supports RPC and asynchronous messaging. Communications takes place over a `binding' in one process connected to a message queue (called a `port') in another process. A binding is a C pointer to the appropriate type of port. A pointer to a function with an associated port provides the capability to make an RPC on the function. Asynchronous messages are communicated by the primitives `send' and `receive'. All C data types can be transmitted in IPCs, e.g., scalars, arrays, strings, and complex data structures containing pointers. Both RPCs and sends are type checked at compile time. Concert/C adds process management to C. A create operation creates a new process and returns the parent process a handle to the child and a binding over which it can communicate with the child. For more technical detail, see the documentation provided in the distribution. PLATFORMS The current release of Concert/C runs on and interoperates among AIX 3.2 on RS/6000, SunOS 4.1.x and Solaris 2.3 on Sparc, and OS/2 2.1 on Intel. We are currently working on additional ports to other Unix and non-Unix platforms. CHANGES FROM PREVIOUS RELEASES Release 3.1 of Concert/C incorporates new functionality, 2 new ports, several bug fixes, improved performance, configuration simplification, and improved documentation. Among the features of this release: o) A new, faster create mechanism. o) Process security. o) A new EBF, SunRPC. o) Sun/RPC Interoperability. o) main() can now be in a non-Concert/C source file, e.g., C or C++. o) Ports to Solaris 2.3 and OS/2 2.1 o) Faster compilations. o) Most known bugs have been fixed. o) The configuration of ccc has been simplified. o) The documentation has been updated considerably. OBTAINING CONCERT/C Concert/C is available for experimental non-commercial use free-of-charge. The up-to-date Concert/C documentation is available by anonymous ftp to: software.watson.ibm.com directory: /pub/concert It is also available by e-mail. The executable Concert/C system is available in binary form. In order for us to better track Concert/C usage, this release is currently only available on a request/response basis via e-mail. We plan to reevaluate this policy after a period of time, and we may eventually return to using anonymous ftp as the distribution mechanism. In the mean time, we require that Concert/C users also do not redistribute it on an anonymous ftp or similar repository (note, however, that installing Concert/C on multiple systems or on servers within a site is fine). To get Concert/C release 3.1, send a note to: concert-c@watson.ibm.com and tell us for which systems you would like copies, from the following choices: "power3.2" -- AIX 3.2.5 on RS/6000 "sun4" -- SunOS 4.1.x on Sparc "sun5" -- Solaris 2.3 on Sparc "OS2" -- OS/2 2.1 "documentation" -- the documentation for all of the above. "documentation-zip" -- same as above, but in .zip format By default, the package for each system (except OS/2) is mailed as a uuencoded-compressed-tar file of approx 1 MB; OS/2 is mailed as a pkzip file of similar size. If your mailer cannot handle a message that size, we will split it into several parts. You should also obtain the documentation (either via anonymous ftp or e-mail) in order to be able to properly install and use the Concert/C system. On your machine you need to (for unix): uudecode uncompress tar -vx and follow instructions described in the file INSTALL. For OS/2: uudecode pkunzip -d and follow instructions described in the file INSTALL.OS2. Internal IBM users may retrieve Concert via anonymous ftp or AFS. Contact us for specific instructions. If you want Concert/C but do not have e-mail access, contact us and we will send it to you. DOCUMENTATION The documentation, includes installation instructions, a comprehensive Tutorial and User Guide, a formal Concert/C Specification, and several technical papers. Program examples used in the tutorial are also included in the distribution. CONDITIONS AND SUPPORT Previous releases of Concert have been used with great success at many sites all over the world. Still, this is a research software prototype, and may contain bugs. If you uncover bugs, please report them to us. Please try to isolate the suspect Concert/C bug from the rest of your code and send us the simple example. Concert/C is prototype research software and is supported as such. We will respond as best as possible to user problems. However, we are a small group intent on continuing our research, so we may be unable to respond quickly. TERMS Concert/C is provided for the user's personal, non-commercial, experimental use. The user is granted permission to copy this program to the extent reasonably required for such use. Full terms are given in the file USER_AGREEMENT, which can be downloaded by ftp, and is included with the binary distributions. INTERACTING WITH US If you plan to write Concert/C programs, please let us know. We'll add you to the Concert/C mailing list and inform you of bugs, bug fixes, etc. concert-c@watson.ibm.com (if you are using internet mail) concrt-c at watson (if you are using VNET or BITNET mail) The Concert Project, H1-A17, Box 704, IBM Research Center, Yorktown Heights, NY 10598 voice: 914 784-7948 FAX: 914 784-7455 (*) All trademarks are recognized trademarks of their respective companies.