Kenneth M. Kahn

dblp:k/KennethMKahn · DBLP profile ↗
← Back
13ranked-venue papers
9as first author
0since 2021 · last 1999
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 8 · 5 first-authorTheory of computation · 4 · 3 first-authorArtificial intelligence and machine learning · 3 · 3 first-authorGraphics, computer vision, multimedia, augmented reality and games · 3 · 3 first-authorSystems, architecture and hardware · 1Human-computer interaction and ubiquitous computing · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
6 papers
Programming languages and type systems · 99% Concurrent programming · 1%
Theoretical computer science
2 papers
Distributed computing theory · 97% Logic in computer science · 3%
Artificial intelligence
3 papers
Knowledge representation and reasoning · 100%

Topics — the 14 heaviest of 16, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems
object-oriented programming
0.031986
Virtual Copies - At the Boundary Between Classes and Instances · OOPSLA 1986
Objects in Concurrent Logic Programming Languages · OOPSLA 1986
CommonLoops: Merging Lisp and Object-Oriented Programming · OOPSLA 1986
Programming languages and type systems › logic programming
concurrent logic programming
0.021988
Detecting Stable Properties of Networks in Concurrent Logic Programming Languages · PODC 1988
Objects in Concurrent Logic Programming Languages · OOPSLA 1986
Programming languages and type systems
language design
0.021986
CommonLoops: Merging Lisp and Object-Oriented Programming · OOPSLA 1986
UNIFORM: A Language Based upon Unification which Unifies (Much of) LISP, PROLOG, and ACT I · IJCAI 1981
Programming languages and type systems
logic programming
0.021986
Objects in Concurrent Logic Programming Languages · OOPSLA 1986
UNIFORM: A Language Based upon Unification which Unifies (Much of) LISP, PROLOG, and ACT I · IJCAI 1981
Distributed computing theory › predicate detection
stable property detection
0.011988
Detecting Stable Properties of Networks in Concurrent Logic Programming Languages · PODC 1988
Distributed computing theory › predicate detection › stable property detection
termination detection
0.011988
Detecting Stable Properties of Networks in Concurrent Logic Programming Languages · PODC 1988
Knowledge, reasoning and agents › Knowledge representation and reasoning › knowledge acquisition
knowledge base construction
0.011986
Virtual Copies - At the Boundary Between Classes and Instances · OOPSLA 1986
Programming languages and type systems › object-oriented programming
multiple inheritance
0.011986
CommonLoops: Merging Lisp and Object-Oriented Programming · OOPSLA 1986
Programming languages and type systems › logic programming
unification
0.011981
UNIFORM: A Language Based upon Unification which Unifies (Much of) LISP, PROLOG, and ACT I · IJCAI 1981
Programming languages and type systems
method combination
0.011986
CommonLoops: Merging Lisp and Object-Oriented Programming · OOPSLA 1986
Knowledge, reasoning and agents › Knowledge representation and reasoning
temporal reasoning
0.011977
Mechanizing Temporal Knowledge · Artif. Intell. 1977
Knowledge, reasoning and agents › Knowledge representation and reasoning › nonmonotonic reasoning › preference handling
preference reasoning
0.011979
Making Aesthetic Choices · IJCAI 1979
Concurrent programming
parallel programming models
0.011978
Dynamic graphics using quasi parallelism · SIGGRAPH 1978
Logic in computer science
temporal logic
0.011977
Mechanizing Temporal Knowledge · Artif. Intell. 1977

Methods — techniques the papers use, named apart from their topics

virtual copies · 0.0preprocessor · 0.0unification · 0.0
YearPublicationVenuePosition
1999 From Prolog and Zelta to ToonTalk
Kenneth M. Kahn
ICLP1
1995 ToonTalk - Concurrent Constraint Programming for Kids
Kenneth M. Kahn
ICLP1
1989 Objects - A Fresh Look
Kenneth M. Kahn
ECOOP1
1988 Detecting Stable Properties of Networks in Concurrent Logic Programming Languages
abstract
A significant motivation for programming language research is to find good abstractions and conceptual frameworks that enable us to understand and re* son about, certain kinds of complex computational phenomena in a simple way.In this paper we show that the specification of programs for the detection of stable properties of networks of communicating processes is facilitated -almost trivialized -in the framework of concurrent logic programming languages.We present the embedded short-circuit pr* gramming technique for detecting stable properties of networks, and illustrate its utility by providing a simple algorithm for distributed termination detection.We show that, the runtime behavior of a concurrent logic program incorporating this technique (for diffusing computations) is similar to the "DSA" scheme described in [7] for maintaining distributed counters.We modify the technique for repeated detection of quiescence for phased computations such as discrete simulations.We show that the abstraction can be mit nipulated without reference to its implementation by presenting a simple solution to the distributed knotdetection problem [IS].Finally we show that, under certain conditions, a simple extension allows repeated (live) snapshots [3] of the state of the computation to be taken almost trivially, thus providing another technique for detecting stable properties.
Vijay A. Saraswat, Kenneth M. Kahn, David Weinbaum
PODC2
1987 Channels: A Generalization of Streams
Eric Dean Tribble, Mark S. Miller, Kenneth M. Kahn, Daniel G. Bobrow, Curtis Abbott, Ehud Shapiro
ICLP3
1986 CommonLoops: Merging Lisp and Object-Oriented Programming
Daniel G. Bobrow, Kenneth M. Kahn, Gregor Kiczales, Larry Masinter, Mark Stefik, Frank Zdybel
OOPSLA2
1986 Objects in Concurrent Logic Programming Languages
abstract
Concurrent Prolog supports object-oriented programming with a clean semantics and additional programming constructs such as incomplete messages, unification, direct broadcasting, and concurrency synchronization [Shapiro 1983a]. While it provides excellent computational support, we claim it does not provide good notation for expressing the abstractions of object-oriented programming. We describe a preprocessor that remedies this problem. The resulting language, Vulcan, is then used as a behicle for exploring new variants of object-oriented programming which become possible in this framework.
Kenneth M. Kahn, Eric Dean Tribble, Mark S. Miller, Daniel G. Bobrow
OOPSLA1
1986 Virtual Copies - At the Boundary Between Classes and Instances
abstract
Knowledge bases built in object-oriented systems use networks of interconnected objects in their representations. The mechanism described here provides a way to use such a network as a prototype by making virtual copies of it. The virtual copy is created incrementally. Values of instance variables in the virtual copy are inherited from the prototype until locally overridden in the copy, similar to inheritance of defaults between instances and classes in Loops. A virtual copy preserves the topology of the original network. Virtual copies can be made from virtual copies. Alternative implementations of virtual copies allow different tradeoffs in space and lookup time. Virtual copies can be used for building knowledge bases for design, for representing contexts in a problem solving system, and have other uses in ordinary programming.
Sanjay Mittal, Daniel G. Bobrow, Kenneth M. Kahn
OOPSLA3
1982 A Partial Evaluator of Lisp Programs Written in Prolog
Kenneth M. Kahn
ICLP1
1981 UNIFORM: A Language Based upon Unification which Unifies (Much of) LISP, PROLOG, and ACT I
Kenneth M. Kahn
IJCAI1
1979 Making Aesthetic Choices
Kenneth M. Kahn
IJCAI1
1978 Dynamic graphics using quasi parallelism
abstract
Dynamic computer graphics is best represented as several processes operating in parallel. Full parallel processing, however, entails much complex mechanism making it difficult to write simple, intuitive programs for generating computer animation. What is presented in this paper is a simple means of attaining the appearance of parallelism and the ability to program the graphics in a conceptually parallel fashion without the complexity of a more general parallel mechanism. Each entity on the display screen can be independently programmed to move, turn, change size, color or shape and to interact with other entities.
Kenneth M. Kahn, Carl Hewitt
SIGGRAPH1
1977 Mechanizing Temporal Knowledge
Kenneth M. Kahn, G. Anthony Gorry
Artif. Intell.1