William R. CookAssistant Professor, Department of Computer Sciences, UT Austin
Google Calendar
Quick Links: email blog Twitter Office: ACES 5.244News blog
Hot topics
Got to OOPSLA and Onward!Programming Languages Reading Group
Research
Programming languages, modeling languages, domain-specific languages, strategic programming, interfacing programming languages and databases, distributed computing and web services, software engineering, type theory, mixins, object-oriented programming, web-based information systems.
- Full list of publications
- Member of IFIP Working Group on Program Generation (WG 2.11)
- Projects
Recent
- Synthesis of Fast Programs for Maximum Segment Sum Problems
Srinivas Nedunuri and William R. Cook
Generative Programming and Component Engineering (GPCE) 2009- Implementing Reflective Access Control in SQL
Lars E. Olson, Carl A. Gunter, William R. Cook, and Marianne Winslett
IFIP WG 11.3 Working Conference on Data and Applications Security (DBSec) 2009.- Fitting the Pieces Together: A Machine-Checked Model of Safe Composition
Benjamin Delaware, Don Batory, William R. Cook
Foundations of Aspect-Oriented Languages (FOAL), 2009.- On Understanding Data Abstraction, Revisited (DRAFT)
William R. Cook
Onward! Essay, 2009.- The Orc Programming Language
David Kitchin, Adrian Quark, William Cook, Jayadev Misra
IFIP international conference on Formal Techniques for Distributed Systems (FMOODS/FORTE), 2009.- Monadic Memoization Mixins
Daniel Brown and William R. Cook
Brazilian Symposium on Programming Languages (SBLP), 2009.
Also University of Texas at Austin, Department of Computer Sciences. Technical Report TR-07-11. February 20, 2007. 11 pages.- Remote Batch Invocation for Web Services: Document-Oriented Web Services with Object-Oriented Interfaces
Ali Ibrahim, Yang Jiao, Marc Fisher II, William R. Cook, Eli Tilevich
(submitted for publication)- Remote Batch Invocation for Compositional Object Services
Ali Ibrahim, Yang Jiao, Eli Tilevich, William R. Cook
ECOOP 2009
More information and system download- Model Transformation by Partial Evaluation of Model Interpreters
William R. Cook, Benjamin Delaware, Thomas Finsterbusch, Ali Ibrahim, Ben Wiedermann
Technical Report TR-09-09, UT Austin Department of Computer Sciences- Generic Operations and Partial Evaluation using Models
Benjamin Delaware, William R. Cook
(submitted for publication)- Gel: A Generic Extensible Language
Jose Falcon, William R. Cook
IFIP Working Conference on Domain Specific Languages (DSL WC)
Gel on Google CodeDatabases and Programming Languages
- Interprocedural Query Extraction for Transparent Persistence
Ben Wiedermann, Ali Ibrahim & William R. Cook
OOPSLA 2008.- Extracting Queries by Static Analysis of Transparent Persistence
Benjamin A. Wiedermann & William R. Cook
Proc. of the Symposium on Principles of Programming Languages (POPL) 2007.
(Slides from talk)- Automatic Prefetching by Traversal Profiling in Object Persistence Architectures (2up for printing) (Springer)
Ali Ibrahim & William R. Cook
Proc. of the European Conference on Object-Oriented Programming (ECOOP), 2006
July 3-7, Nantes, France
(Slides from talk)- Safe Query Objects: Statically Typed Objects as Remotely Executable Queries
William R. Cook and Siddhartha Rai
Proc. of the International Conference on Software Engineering (ICSE), 2005, pp. 97-106.
(Slides from talk)- Native Queries for Persistent Objects, A Design White Paper
William R. Cook, Carl Rosenberger
Dr. Dobb's Journal (DDJ), February 2006- Programming Languages & Databases: What’s the Problem?
William R. Cook and Ali H. Ibrahim
The University of Texas at Austin, Department of Computer Sciences. Technical Report TR-07-10. February 20, 2007. 18 pages.Structured Concurrent Programming
- Orc project web site
- A Timed Semantics of Orc
Ian Wehrman, David Kitchin, William R. Cook. Jayadev Misra
Theoretical Computer Science 402(2-3), pp. 234-248, August 2008.- Structured Interacting Computations (A position paper)
William R. Cook and Jayadev Misra
Proceedings of "Software-Intensive Systems", Springer Verlag, LNCS 5380, pp139--145, 2008.- Properties of the Timed Operational and Denotational Semantics of Orc
Ian Wehrman, David Kitchin, William R. Cook. Jayadev Misra
Technical Report TR-07-65, University of Texas at Austin, Department of Computer Sciences, 2007- Orc-X: Combining Orchestrations and XQuery
Kristi Morton, David Kitchin, William R. Cook
The University of Texas at Austin, Department of Computer Sciences, December 2007, Report# TR-07-63.- Event Structure Semantics of Orc
4th International Workshop on Web Services and Formal Methods (WS-FM 2007)
Sidney Rosario, David Kitchin, Albert Benveniste, William R. Cook, Stefan Haar, and Claude Jard
Irisa and UT Austin- Language for Task Orchestration and its Semantic Properties (2up for printing)
David Kitchin, William R. Cook and Jayadev Misra
Proc. of the International Conference on Concurrency Theory (CONCUR), 2006.
August 27-30, Bonn, Germany.
Extended version: UTCS Technical Rerport TR-06-32- Computation Orchestration: A Basis for Wide-Area Computing (bib) (DOI)
Jayadev Misra and William R. Cook
Journal of Software and Systems Modeling, May 2006.- Workflow Patterns in Orc (2up for printing)
William R. Cook, Sourabh Patwardhan, and Jayadev Misra
Proc. of the International Conference on Coordination Models and Languages (COORDINATION), 2006.
(slides from talk)Service Oriented Computing
- Explicit Batching for Distributed Objects
Eli Tilevich, William R. Cook, Yang Jiao
(to appear) Int’l Conference on Distributed Computing Systems (ICDCS 2009).- Web Services versus Distributed Objects: A Case Study of Performance and Interface Design
William R. Cook, Janel Barfield
Proc. of the IEEE International Conference on Web Services ( ICWS) 2006.
September 18-22, Chicago, USA
(slides from talk)Programming Languages
- A Machine-Checked Model of Safe Composition
Benjamin Delaware, Don Batory, William R. Cook
(to appear) Foundations of Aspect-Oriented Languages 2009.- Safe Composition of Product Lines
Sahil Thaker, Don Batory, David Kitchin, and William R. Cook
International Conference on Generative Programming and Component Engineering (GPCE), 2007.- AppleScript
William R. Cook
The Third Conference on History of Programming Languages (HOPL III), 2007.- Soundness of the Simply Typed Lambda Calculus in ACL2
Sol Swords and William R. Cook
ACL2 Workshop, 2006- A Virtual Class Calculus
Erik Ernst, Klaus Ostermann and William R. Cook
Proc. of the ACM Conf. on Principles of Programming Languages (POPL), 2006, pp 270-282.- Evaluating Support for Features in Advanced Modularization Technologies
Roberto E. Lopez-Herrejon, Don Batory, and William R. Cook
Proc. of the European Conference on Object-Oriented Programming (ECOOP), 2005 SpringerLinkModeling and Synthesis
- Tactical Synthesis of Efficient Global Search Algorithms
Srinivas Nedunuri, Douglas R. Smith and William R. Cook
(to appear) First NASA Formal Methods Symposium (NFM), 2009.- Handling Uncertainty in Job-Shop Scheduling
Srinivas Nedunuri, Douglas Smith and William R. Cook
1st International Workshop on Living with Uncertainties (IWLU) 2007.- Policy-Based Authorization
William R. Cook
(unpublished manuscript)
Talks
- Partial Evaluation of Model Interpreters
- MIT CSAIL January 29, 2009
- Brown University, January 30, 2009
- Strategic Programming by Model Interpretation and Partial Evaluation
- ACL2 Theorem Proving Seminar, October 3, 2008.
- Middle-Earth Programming Language Seminar (MEPLS), September 6, 2008, Abilene.
- Kestrel Institute, August 18, 2008, Palo Alto.
- IFIP Working Group on Programming Methodology (WG2.3), July 23, 2008, Cambridge.
- IFIP Working Group on Program Generation (WG2.11), June 19, 2008, Passau.
- Northeastern University Programming Languages Seminar, May 28, 2008.
- I was an invited speaker at the CRA-W/CDC-sponsored 2007 Programming Languages Summer School, held here at UT. I gave talks on writing and PL design research.
- Models for Application Programing
IFIP Working Group on Programming Methodology (WG2.3), October 10, 2007, Santa Fe.- Objects and Databases: State of the Union 2006
Panel at OOPSLA 2006
A transcript was published by Dr. Dobb's.- Effective Writing. An advertisement for Style: Toward Clarity and Grace
UT GRACS Seminar, November 4, 2006
The video is available here (UTCS only)- Peak Objects (Springer)
Summing up the Past and Trying to Outline the Future
(slightly modified version of invited panel presentation)
July 12, 2006 at ECOOP.- A Meditation on AppleScript, Latency, Databases, Web Services, etc.
Invited talk at Lang.NET 2006. You hear some audio too.
July 31, 2006Teaching
- GraduateProgramming Languages (CS386L), Spring 2009
- Object-Oriented Software Development (aka Model-Driven Software Development) (CS371S), Fall 2008.
- Research/Teaching in Computer Science (CS398T), Fall 2008.
- Graduate Programming Languages (CS386L), Spring 2007, Spring 2006, Fall 2004.
- Undergraduate Programming Languages (CS345), Spring 2007, Spring 2005, Spring 2004.
- Honors Undergraduate Programming Languages (CS345H), Fall 2007.
- Integrating Programming Languages and Databases (CS395T), Fall 2003.
Service
Conference organization
- Knowledge Industry Survival Strategy Initiative (KISS) @ OOPSLA 2009.
- 1st International Workshop on Feature-Oriented Software Development (FOSD) @ Models 2009 .
- International Conference on Object Databases (ICOODB) 1-3 July 2009, ETH, Zurich, Switzerland
- 2nd Middle-Earth Programming Language Seminar (MEPLS)Friday & Saturday, April 10 & 11, 2009.
- OOPSLA 2006, October 22-26, Portland OR
Program Chair- Dynamic Languages Symposium 2006, October 23, Portland OR
Co-organizer- Workshop on Best Practices for Model Driven Software Development (BPMDSD)
Co-organizer- Industrial Practice Track 13th WWW Conference, May 17-22, 2004 New York City
Co-ChairEditorial
Program committees
- ECOOP 2009, July 6th - 10th, Genova, Italy
- OOPSLA Doctoral Symposium 2008, October 19-23, Nashville, Tennessee
- Dynamic Languages Symposium 2008, July 8, Paphos-Cyprus
- ECOOP 2008, July 7-11, Paphos-Cyprus
- GPCE 2008, October 19-23, Nashville, Tennessee
- COORDINATION 2008, June 4-6, Oslo, Norway
- OOPSLA 2007 Research Papers, October 21-25, Montreal Canada
- OOPSLA 2007 Essays, October 21-25, Montreal Canada
- Dynamic Languages Symposium 2007 at OOPSLA
- Coordination 2007, June 5-8, 2007, Paphos, Cyprus
- Compiler Construction (CC) 2007, March 26-30, Braga, Portugal
- ECOOP 2006, July 3-7, Nantes, FR
- ECOOP 2005, July 25-29, Glasgow UK
- OOPSLA 2005 Research Papers, Oct 16-20, San Diego CA
- POPL 2005, January 12-14, Long Beach CA
- Onward! at OOPSLA 2004, October 24-28, Vancouver BC
- Demonstration committee for GPCE 2004, October 24-28, Vancouver BC
- Domain Driven Development at OOPSLA 2003, October 26-30, Anaheim, CA
- Onward! at OOPSLA 2003, October 26-30, Anaheim, CA
- Workshop in Software Model Engineering (WiSME) in conjunction with <<UML>> 2003
- Workshop on Foundations of Aspect-Oriented Languages (FOAL) at AOSD 2003 in Boston on March 17, 2003
Awards
CAREER: Integrating Programming Languages and Databases NSF CCF-0448128March 2005
Architectural Metaprogramming, with Don Batory NSF CCF-0724979 October 2007
Structured Wide-area Programming, with Jayadev Misra NSF CCF-6752487 June 2008
This material is based upon work supported by the National Science Foundation under Grant No. 0448128. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
Students
Doctoral Students
- Ali Ibrahim: Safe query objects & dynamic prefetching optimization
- Ben Wiedermann: Extracting relational queries via control/data flow analysis
- Ben Delaware
- Thomas Finsterbusch
- David Kitchin (with Javadev Misra): Computation orchestration, agents, workflow semantics
- Ian Wherman (with Javadev Misra)
- Srinivas Nedunuri: Synthesis for model-based software development
- Doctoral committees and other students
- Sol Swards
- Supervised by J Moore
- Benjamin Hardekopf
- Supervised by Calvin lin
- Hanbing Liu: Formal Specification and Verification of a JVM and its bytecode verifier
- Supervised by J Moore
- Mark Grechanik: Design, Analysis, and Verification of Large-Scale Polylingual Systems
- Supervised by Don Batory and Dewayne E. Perry
- Roberto E. Lopez-Herrejon: Understanding Feature Modularity
- Supervised by Don Batory
- Rui Mao: A Metric-Space Database Storage Manager and Its Applications in Bioinformatics
- Supervised by Daniel Miranker
Undergraduates
- Jose Falcon: Generic Expression Language
- Colin Wragg : Deriving ASTs from Grammars
- Shaon Barman: Deriving ASTs from Grammars
- Janel Barfield: Interface Design and Performance of Web Services
- Daniel Brown: Polymorphic type kinds
- Christina Wang: Software Development Studio course design
Outside work...
Background
William Cook has experience in both pure research and industrial software development. His early research focused on the semantics of inheritance in object-oriented languages, formalization of mixins, and polymorphic type systems for object languages. He is currently working on interfacing programming languages and databases, distributed computing and web services, type theory and data abstraction. Products he was instrumental in creating include AppleScript at Apple Computer, the Writer's Solution for Prentice Hall, and the Allegis' Enterprise Partner Relationship Management product, eBusiness Suite.
Short Bio
VitaContact Information
email: wcook@cs.utexas.edu calendar: http://calendar.yahoo.com/w7cook IM: w7cook on Yahoo!
postal: Department of Computer Sciences
The University of Texas at Austin
Taylor Hall 2.124
1 University Station C0500
Austin, Texas 78712-1188phone: (512) 471-9555 fax: (512) 471-8885 office: ACES 5.244