Cépage: Toward computer-aided design of software

The Cepage system for structural document manipulation combines the techniques of structural editing with modern concepts about user interfaces. Cepage may be used to produce and modify documents in any language. Adaptation to a new language or to variants of a previously described language are carried out using a simple notation, LDL (Language Description Language). The system relies on an elaborate display mechanism that automatically produces structural representations, adjusted to the current window size, with facilities for quick document traversal. The interface allows both menu-driven and text-driven entry; the built-in parser is able to complete partial input into syntacti­ cally correct forms. 1. WHY CEPAGE? For many years, software engineers have been providing the engineers of other fields with advanced design tools that considerably facilitate their jobs, relieve them of tedious tasks, put them in control of the design process, and help them turn out quality products. But the tools used by software designers themselves look quite primi­ tive in comparison: The standard design environment includes a text editor, a compiler, perhaps a debugger, but hardly anything that could in fairness be character­ ized as a design system. This article presents a system whose aim is to provide software designers with facilities similar to what is known in other application areas under the general name of computer-aided design. Cepage (pronounced say-paJi) is intended to make the full power of computer-aided design available to software developers in practical environments. It frees its users from many of the chores traditionally associated