|
Chris Martens, Ph.D.
cmar...@cs.cmu.edu
CV as of April 2016
|
Warning: this page might be out of date! As of July 2016, I'm a professor at
North Carolina State University.
I got my Ph.D. with the Principles of
Programming group in the Computer Science Department
at Carnegie Mellon University, advised by Karl Crary and Frank Pfenning. I graduated in
September 2015 with my thesis Programming
Interactive Worlds with Linear Logic. After that, I did a postdoc
with the Expressive Intelligence
Studio at UC Santa Cruz.
Research
I build executable formal models of interactive and
playful systems. I use formal methods such as proof theory to build
better programming languages and analysis tools for game design,
storytelling, computational creativity, and generative methods.
More specifically, my interests and past research include tools like logic
programming, logical frameworks, dependent type systems, algebraic and
categorical methods, and functional programming, applied to endeavors like
interactive fiction authoring, story generation, game design sketching, AI
for social simulation, game mechanic and level generation, dialogue
modeling, music and recipe generation, and multi-agent systems.
I keep a blog about my research
and experiences in academia.
My thesis project contains a programming language designing
generative narratives and game
mechanics called Ceptre. The language is based on forward-chaining linear logic
programming, a declaratve way to describe state change and
user interactions.
Thesis page | Project
repo
Peer-Reviewed Papers
- Chris Martens.
"Ceptre: A Language for Modeling Generative
Interactive Systems."
In proceedings of Artificial Intelligence and Interactive
Digital Entertainment 2015.
[pdf, 7 pages]
- Chris Martens, Joao F. Ferreira, Anne-Gwenn Bosser, and Marc
Cavazza.
"Generative Story Worlds as Linear Logic Programs."
Intelligent Narrative Technologies 7, 2014.
[pdf, 7 pages; talk slides (html)]
- Chris Martens, Anne-Gwenn Bosser, Joao F. Ferreira, and Marc
Cavazza.
"Linear Logic Programming for Narrative
Generation."
In proceedings of Logic Programming and Nonmonotonic
Reasoning, 2013.
[pdf, 6 pages]
- Chris Martens and Karl Crary.
"LF in LF: Mechanizing the Metatheory of LF in Twelf."
Logical Frameworks and Metalanguages: Theory and Practice, 2012.
[pdf, 12 pages
| project repo
| talk slides]
- Charles Cusack, Chris Martens, and Priyanshu Mutreja.
"Volunteer Computing Using Casual Games."
In proceedings of Future Play International Conference on the Future
of Game Design and Technology, 2006.
[pdf]
- Ulas Bardak, Eugene Fink, Chris R Martens, Jamie Carbonell.
"Scheduling with Uncertain Resources Part 3: Elicitation of Additional
Data."
In Proceedings of the IEEE International Conference on Systems, Man,
and Cybernetics, 2006.
[pdf]
Talks and Workshop Submissions
- Invited Talk: "Proofs as Stories," delivered at the UConn Logic
Seminar, October 16, 2015. Slides!
- Invited Talk: "Ceptre: A Language for Modeling Interactive
Worlds." Future Programming Workshop at Strange Loop 2015.
***** Watch the
video!
- "Proof-Theoretic Study of Game Mechanics," delivered at the
Foundations of Digital Games (FDG) Doctoral Consortium:
3-page PDF; slides
on SpeakerDeck
- "Creating and Analyzing Playable Narratives with Linear Logic,"
delivered at the CMU Graphics Lab Seminar, April 2015. Slides!
- "Modularity & Abstraction in Functional Programming," delivered at
Compose Conference 2015:
*****
Watch the video!
- "Linear Logic Programming," delivered at Strange Loop 2013.
***** Watch
the video!
|
slides
- "Systems of Play as Linear Logic Programs," delivered at NJPLS May 2014.
Slides: html,
86-page pdf
- "Languages for Computational Creativity," delivered at OBT 2014:
talk (html, Twine) |
abstract (2pg pdf)
- "Rule-based Interactive Fiction," delivered at OBT 2012:
talk slides |
talk abstract
Unpublished drafts and projects
- Linear Logic Programming for Narrative Generation: long version (draft)
- Logical analysis of logic programs, at INRIA Parsifal:
internship report
- Type inference for a nested configuration language. (Google
internship; not yet open-sourced.)
- Banyan, a
distributed computation framework for recursive programs. For 15-712
Advanced & Distributed Operating Systems.
- Ordered Hybrid LF.
As an undergraduate, I was advised by Frank
Pfenning and Jason Reed on a senior
thesis extending Hybrid LF
to the case of ordered logic. pdf, 28 pages
Teaching
Notes and Other Writing
Other Outputs
λx.x