crowl@rochester.ARPA (Lawrence Crowl) (12/12/86)
Chrysalis++ is a C++ programming language interface to the Chrysalis operating system of Bolt Beranek and Newman's Butterfly Parallel Processor. Butterfly Project Report 15 describes this system and is available for $2.50 in a check payable to the University of Rochester and a US mail address by writing: Rose Peet The University of Rochester Computer Science Department Rochester, New York, 14627 ABSTRACT The standard Butterfly Parallel Processor's programming environment uses the C programming language and the Chrysalis operating system. Chrysalis++ is a C++ programming language interface to Chrysalis. Chrysalis presents an object-oriented view of the facilities provided by the system. Unfortunately, this environment requires a substantial amount of detailed user code to represent, create, access, and delete the objects provided by Chrysalis. The code to perform these operations often must override C's already minimal compile-time checking. This, coupled with the Butterfly's minimal error reporting means that any errors tend to be found after much trial and error in the debug phase of program development. C++ also provides an object-oriented view, but its object management is much simpler than Chrysalis object management with C. The binding strategy for the design of Chrysalis++ was to re-cast explicit Chrysalis object management in C into the implicit object management that occurs routinely in C++. Chrysalis++ merges creation and access of Chrysalis objects into the declaration of the variable used to represent them. This strategy provides the entire Chrysalis++ programming environment with one single object management strategy. The development of Chrysalis++ highlighted some of the difficulties in mixing a single process high level language with a low level operating system. Bringing C++ and Chrysalis together demonstrated weaknesses in the C++ class mechanism and showed inconsistencies in Chrysalis object treatment. This development did provide some insights into the definitions of C++ and Chrysalis that may help in designing future systems. This report is composed of three parts. The first part gives a background for this projects and describes the resulting Chrysalis++. The second part describes the experiences in developing Chrysalis++ in porting C++ to the Butterfly and some of the weaknesses discovered in C++. Finally, the third part provides the details of Chrysalis++. This last part is intended only for actual users of Chrysalis++. -- Lawrence Crowl 716-275-5766 University of Rochester crowl@rochester.arpa Computer Science Department ...!{allegra,decvax,seismo}!rochester!crowl Rochester, New York, 14627
bs@alice.UUCP (12/22/86)
In article <23126@rochester.ARPA>, crowl@rochester.UUCP writes: > Chrysalis++ is a C++ programming language interface to the Chrysalis operating > system of Bolt Beranek and Newman's Butterfly Parallel Processor. Butterfly > Project Report 15 describes this system ... I'm beginning to find mention of C++ and C++ related work in unexpected places. It might be an idea if we posted references to relevant work, techniques, etc. in this newsgroup so that we don't miss all that appears outside our most immediate horizon. IEEE Computer Magazine, Decmber 1986 (pp 37-44): Gio Wiederhold: Views, Objects, and Databases. IEEE Computer Grapics & Animation, December 1986 (pp 13-20): Eric Grant, Phil Amburn, & Turner Whitted: Exploiting Classes in Modeling and Display Software.