WorldCat Identities

Rich, Charles 1951-

Overview
Works: 25 works in 108 publications in 1 language and 1,019 library holdings
Genres: Conference papers and proceedings 
Roles: Author, Editor
Classifications: Q336, 006.3
Publication Timeline
.
Most widely held works by Charles Rich
Readings in artificial intelligence and software engineering by Charles Rich( Book )

14 editions published between 1986 and 1987 in English and held by 410 WorldCat member libraries worldwide

Readings in Artificial Intelligence and Software Engineering
The Programmer's apprentice by Charles Rich( Book )

15 editions published between 1986 and 1990 in English and Undetermined and held by 323 WorldCat member libraries worldwide

A scenario is used to illustrate the capabilities of a proposed Synthesis Apprentice. Given a specification, the Synthesis Apprentice will be able to make many of the design decisions needed to synthesize the required program. The Synthesis Apprentice will also be able to detect various kinds of contradictions and omissions in a specification. (Author)
IUI 04 : 2004 International Conference on Intelligent User Interfaces, Funchal, Madeira, Portugal, January 13-16, 2004 by Jean Vanderdonckt( Book )

15 editions published in 2004 in English and held by 72 WorldCat member libraries worldwide

We present a web interface agent, Woodstein, that monitors user actions on the web and retrieves related information to assemble an integrated view of a transaction. It manages user hypotheses during diagnosis by capturing users' judgments of the correctness of data and processes. These hypotheses can be shared with others, such as customer service representatives, or saved for later. We will see this feature in the context of diagnosing problems on the web
Principles of knowledge representation and reasoning : proceedings of the third international conference (KR '92) by International conference on Principles of knowledge representation and reasoning( Book )

7 editions published in 1992 in English and held by 72 WorldCat member libraries worldwide

Inspection methods in programming by Charles Rich( Book )

8 editions published between 1980 and 1988 in English and Undetermined and held by 15 WorldCat member libraries worldwide

Inspection methods are a kind of engineering problem solving based on the recognition and use of standard forms or {\it clich\'es}. Examples are given of program analysis, program synthesis and program validation by inspection. A formalism, called the Plan Calculus, is defined and used to represent programming clich\'es in a convenient, canonical, and programming-language independent fashion
IUI 2010 : proceedings of the 14th ACM International Conference on Intelligent User Interfaces, February 7-10, 2010, Hong Kong, China by ACM International Conference on Intelligent User Interfaces( Book )

5 editions published in 2010 in English and held by 8 WorldCat member libraries worldwide

Programming viewed as an engineering activity by Massachusetts Institute of Technology( Book )

4 editions published in 1978 in English and held by 7 WorldCat member libraries worldwide

It is profitable to view the process of writing programs as an engineering activity. A program is a deliberately contrived mechanism constructed from parts whose behaviors are combined to produce the behavior of the whole. One proposes to develop a notion of understanding a program which is analogous to similar notions in other engineering subjects. Understanding is a rich notion in engineering domains. It includes the ability to identify the parts of a mechanism and assign a purpose to each part. Understanding also entails being able to explain to someone how a mechanism works and rationalize its behavior under unusual circumstances. Part of the methodology for investigating these ideas is to build a computer-aided design tool for computer programs. The construction of this tool will serve both as a concrete realization of the theoretical ideas and as a testbed for our practical techniques
Pattern-directed invocation with changing equalities by Yishai A Feldman( Book )

5 editions published between 1988 and 1990 in English and Undetermined and held by 7 WorldCat member libraries worldwide

The interaction of pattern-directed invocation with equality in an automated reasoning system give rise to a completeness problem. In such systems, a demon needs to be invoked not only when its pattern exactly matches a term in the reasoning data base, but also when it is possible to create a variant that matches. An incremental algorithm has been developed, which solves this problem without generating all possible variants of terms in the data base. The algorithm is shown to be complete for a class of demons, called transparent demons, in which there is a well-behaved logical relationship between the pattern and the body of the demon. Completeness is maintained when new demons, new terms, and new equalities are added in any order. Equalities can also be retracted via a truth maintenance system. The algorithm has been implemented as part of a reasoning system called BREAD. (KR)
Abstraction, inspection and debugging in programming by Charles Rich( Book )

2 editions published in 1981 in English and held by 6 WorldCat member libraries worldwide

We believe that software engineering has much to learn from other mature engineering disciplines, such as electrical engineering, and that the problem solving behaviors of engineers in different disciplines have many similarities. Three key ideas in current artificial intelligence theories of engineering problem solving are: Abstraction -- using a simplified view of the problem to guide the problem solving process. Inspection -- problem solving by recognizing the form ('plan') of a solution. Debugging -- incremental modification of an almost satisfactory solution to a more satisfactory one. These three techniques are typically used together in a paradigm which we call AID (for Abstraction, Inspection, Debugging): First an abstract model of the problem is constructed in which some important details are intentionally omitted. In this simplified view inspection methods are more likely to succeed, yielding the initial form of a solution. Further details of the problem are then added one at a time with corresponding incremental modifications to the solution. This paper states the goals and milestones of the remaining three years of a five year research project to study the fundamental principles underlying the design and construction of large software systems and to demonstrate the feasibility of a computer aided design tool for this purpose, called the programmers apprentice. (Author)
Intelligent assistance for program recognition, design, optimization, and debugging by Charles Rich( Book )

4 editions published in 1989 in English and held by 6 WorldCat member libraries worldwide

The authors describe research in four related areas, based on the following theoretical principles: The assistant approach (incremental automation) and the exploitation of cliches' (using knowledge of common engineering practice). Each investigation involves the construction of a prototype system to provide intelligent assistance for a person performing the task: A recognition assistant will help reconstruct the design of a program, given only its source code. A design assistant will assist a programmer by detecting errors and inconsistencies in his design choices and by automatically making many straightforward implementation decisions. An optimization assistant will help improve the performance of programs by identifying intermediate results that can be reused. A debugging assistant will aid in the detection, localization, and repair of errors in designs as well as completed programs. These prototypes will be constructed using two shared technologies: A programming language independent formal representation for programs and programming knowledge (the Plan Calculus) and an automated reasoning system (CAKE), which supports both general logical reasoning and special-purpose decision procedures. Keywords: Automatic programming, Programmer's apprentice project. (kr)
Formalizing reusable software components in the Programmer's Apprentice by Charles Rich( Book )

4 editions published in 1987 in English and held by 5 WorldCat member libraries worldwide

There has been a long-standing desire in computer science for a way of collecting and using libraries of standard software components. The limited success in actually doing this stems not from any resistance to the idea, nor from any lack of trying, but rather from the difficulty of choosing an appropriate formalism for representing components. For a formalism to be maximally useful, it must satisfy five key desiderata: expressiveness, convenient combinability, semantic soundness, machine manipulability, and programming language independence. The Plan Calculus formalism developed as part of the Programmer's Apprentice project satisfies each of these desiderata quite well. It does this by combining the ideas from flowchart schemas, data abstraction, logical formalisms, and program transformations. The efficacy of the Plan Calculus has been demonstrated in part by a prototype program editor called the Knowledge-based Editor in Emacs. This editor makes it possible for a programmer to construct a program rapidly and reliably by combining components represented as plans
Computer aided evolutionary design for software engineering by Charles Rich( Book )

3 editions published between 1978 and 1979 in English and held by 5 WorldCat member libraries worldwide

This memorandum reports on a partially implemented interactive computer aided-design tool for software engineering. A distinguishing characteristic of this project is its concern for the evolutionary character of software systems. It draws a distinction between algorithms and systems, centering its attention on support for the system designer. Although verification has played a large role in recent research, this perspective suggests that the complexity and evolutionary nature of software systems require a number of additional techniques. Managing of complexity is a fundamental issue in all engineering disciplines. The authors identify three major techniques used in mature engineering fields which seem applicable to the engineering of software systems: incremental modelling; multiple and almost hierachical decomposition; and analysis by inspection. Along these lines they have (1) Constructed a plan library to aid in analysis by inspection (the analysis of a program based on identifying standard algorithms and methods in it); (2) Identified a small set of plan building methods which can be used to decompose a softwre system into loosely coupled subsystems; (3) Developed the technique of temporal abstraction which makes it possible to model a program from a viewpoint which clearly separates the actions of generations and consumers of data; and (4) Developed a dependency-based reasoning system uniquely suited to incremental and evolutionary program analysis. These methods are substantially language independent and have been applied to programs written in several commonly used languages
Initial report on a LISP programmer's apprentice by Charles Rich( Book )

5 editions published between 1976 and 1978 in English and Undetermined and held by 5 WorldCat member libraries worldwide

The conceptual basis of the system lies in three forms of program description: (1) definition of structured data objects, their parts, properties, and relations between them, (2) input-output specification of the behavior of program segments (specs), and (3) a hierachical representation of the internal structure of programs (plans). The major theoretical work reported here is a representation for program plans which includes data flow, control flow, and also goal-subgoal prerequisite, and other dependency relationships between the segments of the program. (Author)
Toward a requirements apprentice : on the boundary between informal and formal specifications by Charles Rich( Book )

2 editions published in 1986 in English and held by 4 WorldCat member libraries worldwide

Requirements acquisition is one of the most important and least well supported parts of the software development process. The Requirements Apprentice (RA) will assist a human analyst in the creation and modification of software requirements. Unlike current requirements analysis tools, which assume a formal description language, the focus of the RA is on the boundary between informal and formal specifications. The RA is intended to support the earliest phases of creating a requirement, in which incompleteness, ambiguity, and contradiction are inevitable features. From an artificial intelligence perspective, the central problem the RA faces is one of knowledge acquisition. It has to develop a coherent internal representation from an initial set of disorganized statements. To do so, the RA will rely on a variety of techniques, including dependency-directed reasoning, hybrid knowledge representation, and the reuse of common forms (cliche's). The Requirements Apprentice is being developed in the context of the Programmer's Apprentice project, whose overall goal is the creation of an intelligent assistant for all aspects of software development
The Programmer's Apprentice project : a research overview by Charles Rich( Book )

3 editions published between 1987 and 1988 in English and Undetermined and held by 4 WorldCat member libraries worldwide

The goal of the Programmer's Apprentice project is to develop a theory of how expert programmers analyze, synthesize, modify, explain, specify, verify, and document programs. This research goal overlaps both artificial intelligence and software engineering. From the viewpoint of artificial intelligence, we have chosen programming as a domain in which to study fundamental issues of knowledge representation and reasoning. From the viewpoint of software engineering, we seek to automate the programming process by applying techniques from artificial intelligence
Principles of knowledge representation and reasoning in the FRAPPE system by Yishai A Feldman( Book )

2 editions published in 1989 in English and held by 4 WorldCat member libraries worldwide

Bread, frappe, and cake : the gourmet's guide to automated deduction by Y. A Feldman( Book )

2 editions published in 1989 in English and held by 4 WorldCat member libraries worldwide

Expert systems, application areas : AAAI 1983 conference tutorial program by Randall Davis( Book )

1 edition published in 1983 in English and held by 3 WorldCat member libraries worldwide

Expert systems, fundamentals : AAAI 1982 conference tutorial program by Randall Davis( Book )

1 edition published in 1982 in English and held by 2 WorldCat member libraries worldwide

Learning how to do things : papers from the 2000 AAAI Fall Symposium, November 3-5, North Falmouth, Massachusetts by AAAI Fall Symposium( Book )

1 edition published in 2000 in English and held by 2 WorldCat member libraries worldwide

 
moreShow More Titles
fewerShow Fewer Titles
Audience Level
0
Audience Level
1
  Kids General Special  
Audience level: 0.61 (from 0.55 for Expert sys ... to 0.85 for Programmin ...)

Readings in artificial intelligence and software engineering
Languages
English (98)

Covers
The Programmer's apprentice