Robert M. Keller

Professor of Computer Science
Harvey Mudd College
Claremont, California 91711

Contents:

Courses Recently Taught

Current Research Interests

Sample Publications:

G. Bickerman, S. Bosley, P. Swire, and R.M. Keller: Learning to Create Jazz Melodies Using Deep Belief Nets, First International Conference on Computational Creativity, Lisbon, Portugal (2010).

J. Gillick, K. Tang, and R.M. Keller: Learning Jazz Grammars, Sixth Sound and Music Computing Conference, SMC 2009, Porto, Portugal (2009).

R.M. Keller, M. Hunt, S. Jones, D. Morrison, A. Wolin, and S. Gomez: Blues for Gary: Design Abstractions for a Jazz Improvisation Assistant, ENTCS (Electronic Notes in Theoretical Computer Science), 193, 47-60 (2007).

R.M. Keller and D. Morrison: A Grammatical Approach to Automatic Improvisation, by Keller and Morrison. Fourth Sound and Music Computing Conference, SMC 2007, Lefkada, Greece (2007).

R.M. Keller, S. Jones, D. Morrison, B. Thom, and A. Wolin: A Computational Framework Enhancing Jazz Creativity, Third Workshop on Computational Creativity, European Conference on Artificial Intelligence, 2006 (ECAI '06), Riva del Garda, Italy

B. Bentow, J.Dodge, A. Homer, C.D. More, R.M. Keller, M. Presley, R. Davis, J. Seidel, C. Lee, J. Betser. Grid-Enabing a Vibroacoustic Analysis Application, to appear in Proceedings of the Grid Computing Workshop, Seattle (November 2005).

E. Sweedyk and R.M. Keller. Fun and Games: A New Software Engineering Course. Proceedings on Innovation and Technology in Computer Science Education, Portugal (June 2005).

J. Culpepper and R.M. Keller. Enabling Computer Decisions Based on EEG Input, IEEE Transactions on Neural Systems and Rehabilitation Engineering, December 2003, 11, 4, 354-360 (December 2003).

R.M. Keller. Gel (Goal Elaboration Language), NASA JPL, internal document, latest revision April 2004.

R.M. Keller. GoalTrek, The Next Iteration, working paper, NASA JPL, January 1999.

R.M. Keller and J. Polakow. Ogre: Objects Generated from Relations, NASA JPL, December 1998.

J. Hodas, R.M. Keller, J. Polakow, R. Muschenetz, A. Ward, and W. Ballard. Condor: A simple, expressive graphical database query language. Computer Science Technical Report HMC-CS-97-04, July 1997.

R.M. Keller. Computer Science: Abstraction to Implementation (aka Computer Science for Smart People). Book manuscript in progress. Used as course notes for CS 60.

The Future of Meta-Programming in Parallel Languages Proceedings of the Forum on Parallel Computing Curricula, Wellesley College, 1995.

R.M. Keller. Meta-parallel programming. in J. Tanaka, et al. (eds.), Workshop on future directions of parallel programming and architecture. ICOT TM-1185, Tokyo (1992).

R.M. Keller. Meta-parallel programming with connected knowledge servers, in Proc. Joint Japanese/American Workshop on parallel knowledge systems and logic programming.

B. Jayaraman and R.M. Keller. Semantics and implementation of resource expressions. Journal of Parallel and Distributed Computing 7, 1, 40-63(1989).

B. Jayaraman and R.M. Keller. Primitives for resource management in a demand-driven reduction model. Journal of Parallel Programming 15, 3, 215-244 (1987).

F.C.H. Lin and R.M. Keller. The Gradient model: A load-balancing scheme for medium-grain tasking. IEEE Transactions on Software Engineering SE-13, 1, 32-38(1987).

R.M. Keller. Rediflow architecture prospectus. University of Utah, Department of Computer Science, Technical Report UUCS-85-105 (August 1985); reprinted in S.S. Thakkar (ed.), Dataflow and Reduction Architectures, 366-394, IEEE (1987).

R.M. Keller, J.W. Slater, and K.T. Likes. Overview of Rediflow II Development. in Fasel and Keller (eds.), Graph reduction, Lecture Notes in Computer Science, 279, 203-214 (September 1986).

R.M. Keller and P. Panangaden. Semantics of digital networks containing indeterminate operators. Distributed Computing 1, 235-245 (1986).

F.C.H. Lin and R.M. Keller. Distributed recovery in applicative systems. Proceedings of the International Conference on Parallel Processing (August 1986).

R.M. Keller and M.R. Sleep. Applicative caching. ACM Transactions on Programming Languages and Systems, 8, 1, 88-108 (January 1986).

R.M. Keller. Distributed computation by graph reduction. Systems Research, 2, 4, 285-295, Pergamon press (1985).

R.M. Keller and G. Lindstrom. Approaching distributed database implementations through functional programming concepts. Proceedings of the Fifth International Conference on Distributed Systems, 192-200 (May 1985).

R.M. Keller and F.C.H Lin. Simulated performance of a reduction-based multiprocessing system. Computer, 17, 7, 70-82 (July 1984).

C.S. Jhon and R.M. Keller. Consistency testing for data-flow circuits. Proceedings 1984 Design Automation Conference, 705-707 (June 1984).

R.M. Keller, F.C.H. Lin, and J. Tanaka. Rediflow multiprocessing. Proceedings IEEE Compcon '84, 410-417 (Feb. 1984) [conference, invited]. reprinted in B. Wah and G.J. Li (eds.), Computers for artificial intelligence applications, 329-336, IEEE (1986).

P. Mishra and R.M. Keller. Static inference of properties of functional programs. Proceedings of the Eleventh Annual Symposium on Principles of Programming Languages, 235-243 (Jan. 1984).

K. Ramamritham and R.M. Keller. Specification of synchronizing processes. IEEE Transactions on Software Engineering, SE-9, 6, 722-733 (November 1983).

A.L. Davis and R.M. Keller. Dataflow program graphs. Computer, 15, 2, 26-41 (February 1982) [journal, refereed]; reprinted in S.S. Thakkar (ed.), Dataflow and Reduction Architectures, 189-204, IEEE (1987).

R.M. Keller. FEL: An experimental applicative language. Proceedings of the Japan Information Processing Workshop on Functional Programming (December 1982).

J. Tanaka and R.M. Keller. Code optimization in functional languages. Proceedings of the Japan Information Processing Workshop on Functional Programming (December 1982).

P. Hudak and R.M. Keller. Garbage collection and task deletion in distributed applicative processing systems. Proceedings of the Conference on Lisp and Functional Programming Languages, 168-178, ACM (Aug. 1982).

R.M. Keller and G.E. Lindstrom. Applications of feedback in functional programming. Proceedings of the Conference on Functional Programming Languages and Computer Architecture, 123-130 (Oct. 1981).

R.M. Keller and J. Yen. A graphical approach to software development using function graphs. Proceedings IEEE Compcon 1981, 156-161, (Feb. 1981).

R.M. Keller and G.E. Lindstrom. Applications of feedback in functional programming. Symposium on functional languages and computer architecture, 490-523, Laboratory on Programming Methodology, Department of Computer Sciences, Chalmers University of Technology and Goteborg University (June 1981).

K. Ramamritham and R.M. Keller. Specifying and proving properties of sentinels. 5th International Conference on Software Engineering, 374-382 (Mar. 1981).

K. Ramamritham and R.M. Keller. On synchronization and its specification. Lecture Notes in Computer Science, (CONPAR 81 Proceedings), 111, 271-282, Springer-Verlag (June 1981) .

R.M. Keller. Divide and CONCer: Data structuring for applicative multiprocessing systems. Proceedings of the 1980 Lisp Conference, 196-202 (Aug. 1980).

R.M. Keller and G. Lindstrom. Hierarchical analysis of a distributed evaluator. Proceedings of the International Conference on Parallel Processing, 299-310 (Aug. 1980).

R.M. Keller. Some theoretical aspects of applicative multiprocessing. Mathematical Foundations of Computer Science '80, Lecture Notes in Computer Science, 88, 58-74, Springer-Verlag (1980).

R.M. Keller, G. Lindstrom, and S. Patil. Data flow concepts for hardware design. Proceedings IEEE Compcon, 105-111 (Feb. 1980).

R.M. Keller, G. Lindstrom and S. Patil. A loosely-coupled applicative multi-processing system. AFIPS Proceedings. 613-622 (June 1979).

R.M. Keller. Proof methods for concurrent programs. 654-658 of P. Wegner(ed.), Research directions in software technology, MIT Press (1979).

R.M. Keller. Denotational models for parallel programs with indeterminate operators. in E.J. Neuhold (ed.), Formal description of programming concepts, 337-366, North-Holland (1978).

R.M. Keller. Formal verification of parallel programs. Communications of the ACM, 19, 7, 371-384 (July 1976).

R.M. Keller. Look-ahead processors. ACM Computing Surveys, 7, 4, 177-195 (December 1975).

R.M. Keller. A fundamental theorem of asynchronous parallel computation. in T.Y. Feng (ed.), Parallel processing, 102-112, Springer-Verlag (1975).

R.M. Keller. Generalized Petri nets as models for system verification. Proceedings of the Conference on Petri nets and related methods (June 1975).

R.M. Keller. Towards a theory of universal speed-independent modules. IEEE Transactions on Computers, C-23, 1, 21-33 (January 1974); received the award Best Paper - 1974 IEEE Transactions on Computers; reprinted in I. Auerbach (ed.), The Best Computer Papers of 1974, Auerbach (1975).

R.M. Keller. Parallel program schemata and maximal parallelism. II: Construction of closures. Journal of the ACM, 20, 4, 696-710 (October 1973).

R.M. Keller. Parallel program schemata and maximal parallelism. I: Fundamental results. Journal of the ACM, 20, 3, 514-537 (July 1973).

W.A. Burkhard and R.M. Keller. Some approaches to best-match file searching. Communications of the ACM, 16, 4, 230-236 (April 1973).

R.M. Keller. A novel method of constructing sorting networks (summary). Proceedings Second Annual Conference on Parallel Processing, 90 (1973).

R.M. Keller. On the decomposition of asynchronous systems. Proceedings of the Thirteenth Annual IEEE Symposium on Switching and Automata Theory, 78-89 (October 1972) .

R.M. Keller. A solvable program-schema equivalence problem. Proceedings of the Fifth Annual Princeton Conference on Information Sciences and Systems, 301-306 (March 1971).

R.M. Keller. On maximally parallel schemata. Proceedings of the Eleventh Annual IEEE Symposium on Switching and Automata Theory, 32-50 (October 1970).

D.F. Wann, R.A. Ellis, M.J. Stucki, and R.M. Keller. Problems encountered with control networks in highly-restructurable digital systems. Digest of the First Annual IEEE Computer Conference, 29-32 (September 1967).

Former Positions Held

PhD Students