A small contribution to editing with a syntax directed editor
The simple design of a syntax directed editor has made them a popular research topic over the last few years; however, in practice little development time is spent in actually entering program text. Most of the effort is devoted to program maintenance. ...
Techniques for improving language-based editors
Syned is a working language-based editor which includes a complete parser for editing the C language. The design ideas which permit parsing in Syned also result in the solution of several important language-based editor problems. We describe these ideas ...
IDEOSY: An Ideographic and Interactive Program Description System
IDEOSY is an experiment in the use of a formal semantics as the basis for a programming system and in use of an ideographic language as the primary means of user-computer communication. The important characteristics of our system are that it uses an ...
The Poe language-based editor project
Editor Allan Poe (Pascal Oriented Editor) is a full-screen language-based editor (LBE) that knows the syntactic and semantic rules of Pascal. It is the first step in development of a comprehensive Pascal program development environment.
Poe's design ...
Graphical program development with PECAN program development systems
This paper describes the user's view of the PECAN family of program development systems. PECAN is a program development system generator for algebraic programming languages. The program development systems it produces support multiple views of the user'...
The synthesizer generator
Programs are hierarchical compositions of formulae satisfying structural and extra-structural relationships. A program editor can use knowledge of such relationships to detect and provide immediate feedback about violations of them. The Synthesizer ...
Viewing a programming environment as a single tool
Programming environments support the creation, modification, execution and debugging of programs. The goal of integrating a programming environment is more than simply building tools that share a common data base and provide a consistent user interface. ...
Arcturus: A prototype advanced Ada@@@@ programming environment
The Arcturus system demonstrates several important principles that will characterize advanced Ada programming support environments. These include conceptual simplicity, tight coupling of tools, and effective command and editing concepts. Arcturus ...
GNOME: An introductory programming environment based on a family of structure editors
Structure editors have frequently been used as powerful and unifying interfaces for programming environments in computer science research settings. Few, however, have found their way into common use. GNOME is an attempt to channel the experience gained ...
The SAGA project: A system for software development
The SAGA (Software Automation, Generation, and Administration) project is investigating formal and practical aspects of computer-aided support for the software lifecycle [Campbell and Richards, 81]. The goal of the project is to design a practical ...
ISDE: An Interactive Software Development Environment
In this paper we present ISDE, an experimental Interactive Software Development Environment. Briefly described is the design methodology for the derivation of an interactive software development environment from a set of general meta-tools and (...
The Darwin software-evolution environment
The main goal of the Darwin software development environment is to establish a rigorous authorization-based discipline which can be used to impose constraints on the structure and operations of software systems as well as on their process of development ...
Phoan: An intelligent system for distributed control synthesis
Phoan is an experimental system for the specification and synthesis of control software over suitably restricted domains; its initial application domain is control software for distributed telephone systems. Phoan provides the developer with an example-...
Computer-Aided Software Engineering in a distributed workstation environment
Computer-Aided Software Engineering environments are becoming essential for complex software projects, just as CAD systems have become essential for complex hardware projects. DSEE, the DOMAIN Software Engineering Environment, is a distributed, ...
Preliminary experience from the dice system a distributed incremantal compiling environment
Abstracts The DICE system Is a highly Integrated programming environment which provides programmer support in the case where the programming environment resides in a host computer and the program Is running on a target computer that Is connected to the ...
Monitoring in a software development environment: A relational approach
A monitor is an important component of a software development environment. The information collected and processed by a monitor is vital for debugging and tuning programs, and is useful to compilers performing selective optimization. A relational ...
Implementing relational views of programs
Configurations, versions, call graphs, and slices are all examples of views, or cross-sections, of programs. To provide a powerful mechanism for defining, retrieving, and updating these views, the OMEGA programming system uses a relational database ...
Document structure and modularity in mentor
Mentor is a structured document manipulation system. It has been used for several years as a program development and maintenance environment.
Its main characteristics are:
it is both interactive and programmable,
it is parameterized by the language to ...
Preliminary experience with a configuration control system for modular programs
This paper describes some preliminary experience gathered during the implementation and early use of a program composition and version control system. This system has been designed and implemented as a part of the Adele research project, a programming ...
Generation Scavenging: A non-disruptive high performance storage reclamation algorithm
Many interactive computing environments provide automatic storage reclamation and virtual memory to ease the burden of managing storage. Unfortunately, many storage reclamation algorithms impede interaction with distracting pauses. Generation Scavenging ...
US&R: A new framework for redoing (Extended Abstract)
US&R (which stands for Undo, Skip, & Redo) is a new interactive approach to user recovery that offers significant advantages over current Undo/Redo packages. In the US&R package, a SKIP or REDO command may be ambiguous, in which case US&R enumerates the ...
The program dependence graph in a software development environment
The internal program representation chosen for a software development environment plays a critical role in the nature of that environment. A form should facilitate implementation and contribute to the responsiveness of the environment to the user. The ...
A programming environment for a timeshared system
In 1968 the Stanford Artificial Intelligence Laboratory began to construct a programming environment from a PDP-10, a pre-TOPS-10 DEC1 timesharing system, and some innovative terminal hardware. By now this has developed into a programming environment ...
A cognitively-based methodology for designing languages/environments/methodologies
In designing a programming language, programming environment, or programming methodology there are a whole lot of both implicit and explicit “shoulds.” By a “should” we mean the claim that the appropriate use of language/environment/methodology X will ...