Skip to Content Java Solaris Communities Partners My Sun Sun Store United States Worldwide

»  1992
»  1993
»  1994
»  1995
»  1996
»  1997
»  1998
»  1999
»  2000
»  2001
»  2002
»  2003
»  2004
»  2005
»  2006

Clarity Project

Fiscal 1995 Project Portfolio Report

Theodore C. Goldstein
ted.goldstein@sun.com


Overall Objective

To develop the next generation of the C++ programming language and environment for creating distributed, multi-threaded, complex applications.


Objective for FY95

To build and demonstrate a prototype for technology transfer from SML to SunSoft.


Description

The Clarity group's approach is to design the language and the environment to complement each other. The Clarity C++ language design goal is to remove the most odious design errors of C++ and enhance the language with successful features found in other programming languages. The environment is centered around a persistent object-oriented representation of programs. This active representation will allow the Clarity project to raise the foundation of programming tools above manipulation of static text. By utilizing techniques of federated, distributed databases, the Clarity programming environment can keep a structured representation of programs that provides a common Application Programming Interface (API) for tools, simplifying existing tools and enabling new language-based tools.


Accomplishments

The Clarity group completed the first draft of the language definition and implementation of an enhanced systems programming language that combines the best features of IDL and C++. This language uses strongly-typed delegation instead of implementation inheritance in order to provide a simpler and more powerful object model.

The group also built a programming environment based on persistent typed objects using an object-oriented database. The environment integrates configuration management, programming editing, and system building. The Clarity language was also used as the system modeling language.

The team implemented an interpreter, a code-generator, and an on-the-fly (just-in-time) code generator for the Clarity language. The same intermediate form, called MCode, was also used by the system modeler configuration tool. System models were automatically created by agents, based on the types and existence of the objects.

The Clarity editing environment integrated a hierarchical SGML-like document model. The Clarity browsing environment provided a unified browsing of the program space and the persistent object space used by the programming environment.


References

Publications

Jordan, Mick, and Michael L. Van De Vanter. "Software Configuration Management in an Object-Oriented Database." USENIX COOTS Conference (August 1995). SML-95-0088.

Lewis, Brian T., L. Peter Deutsch, and Theodore C. Goldstein. "Clarity MCode: A Retargetable Intermediate Representation for Compilation." ACM SIGPLAN Workshop on Intermediate Representations (March 1995). Also Sun Microsystems Laboratories Technical Report SMLI TR-95-43 (May 1995).

Van De Vanter, Michael. "Practical Language-Based Editing for Software Engineers." Software Engineering and Human-Computer Interaction: ICSE '94 Workshop on SE-HCI: Joint Research Issues (May 1994). Also Proceedings, Lecture Notes in Computer Science vol. 896, (1995): 251-267. SML-94-0290.


View previous page

Return to the Table of Contents

View next page


webmaster@sunlabs.eng.sun.com
Would you recommend this Sun site to a friend or colleague?
Contact About Sun News Employment Privacy Terms of Use Trademarks Copyright 1994-2008 Sun Microsystems, Inc.