Thomas Huining Feng Ph.D. EECS Department, 253 Cory Hall U.C. Berkeley, CA 94720 (510) 384-6498 http://www.eecs.berkeley.edu/~tfeng/ tfeng@eecs.berkeley.edu 1 RESEARCH INTERESTS Modeling and simulation of distributed discrete-event systems Model transformation with graph grammars Higher-order composition languages Program analysis and optimization Software fault tolerance 2 EDUCATION 2004 - 2009 Ph.D., Department of Electrical Engineering and Computer Sciences, U.C. Berkeley, USA. * Dissertation: Model Transformation with Hierarchical Discrete-Event Control (Committee: Prof. Edward A. Lee, Prof. Ras Bodik, Prof. Lee W. Schruben) M.Sc., Department of Electrical Engineering and Computer Sciences, U.C. Berkeley, USA. * Master's Thesis: Engineering Structurally Configurable Models with Model Transformation (Committee: Prof. Edward A. Lee, Prof. Sanjit A. Seshia) GPA: 4.0 Advisor: Prof. Edward A. Lee 2002 - 2004 M.Sc., School of Computer Science, McGill University, Montreal, Canada. * Master's Thesis: DCharts, a Formalism for Modeling and Simulation Based Design of Reactive Software Systems (McGill Dean's Honor List Award) GPA: 3.88 Advisor: Prof. Hans Vangheluwe 1998 - 2002 B.Sc., Department of Computer Science and Technology, Nanjing University, Nanjing, China. Advisor: Prof. Qimei Chen 3 WORK EXPERIENCE May 2007 - Aug 2007 Summer Research Intern in Sensor and Actuator Group in IBM T.J. Watson Research Center, Hawthorne, NY. * Invented a dynamic redeployment algorithm with heuristics for a component-based distributed discrete-event system. Mentor: Norman H. Cohen Manager: Paul B. Chou Jun 2006 - Sep 2006 Summer Research Intern in Distributed Messaging Group in IBM T.J. Watson Research Center, Hawthorne, NY. * Invented a distributed transparently fault-tolerant and highly-available middle-ware for component-oriented applications. (Patent pending) Mentor: Rob Strom Manager: Chitra Dorai 4 RESEARCH EXPERIENCE 2004 - 2009 Graduate Student Researcher in Ptolemy Group, CHESS (Center for Hybrid and Embedded Software Systems), U.C. Berkeley. * Model transformation. Created a transformation tool for actor models in the Ptolemy II framework. * Discrete-event simulation. Created event relationship graphs (ERGs) for hierarchical discrete-event models. * Optimistic execution of distributed systems with fault tolerance. Created an incremental checkpointing and recovery mechanism with source code transformation. * Execution strategy for real-time distributed discrete-event systems. Created an execution strategy that leverages time-synchronized platforms to achieve out-of-order event processing. * Higher-order language design. Created a declarative language for higher-order model composition. Summer 2008 Google Summer of Code mentor in the Ptolemy II project. * Scalable model construction. Applied model transformation on a distributed application using Google's MapReduce programming paradigm. 2002 - 2004 Research Assistant in MSDL (Modeling, Simulation and Design Lab), McGill University. * Model-based design. Invented a visual formalism by extending UML Statecharts, and implemented a simulator and a code generator supporting multiple target languages. 2000 - 2002 Research Assistant in MPLS (Multi-Protocol Label Switching) network communication group, Nanjing University. 5 SKILLS Computer languages: Java, C++, C, C#, Python, SQL, Common Lisp, Scheme, ML, MATLAB, LATEX, Bash, Visual Basic, HTML, XSLT, JavaScript Operating systems: Windows, Solaris, Linux, FreeBSD Programming environments: Eclipse (plugin development), Visual Studio, JBuilder, VisualAge, Emacs 6 FELLOWSHIPS AND AWARDS Dean's Honor List, McGill University, Canada, 2004. Differential Fee Waiver, McGill University, Canada, 2002 - 2003. 7 PUBLICATIONS [1] Thomas Huining Feng, Model transformation with hierarchical discrete-event control. Ph.D. Dissertation, Technical Report UCB/EECS-2009-77, EECS Department, University of California, Berkeley, May 2009. [2] Rob Strom, Chitra Dorai, Thomas Huining Feng, and Wei Zheng. Deterministic Replay for Transparent Recovery in Component-Oriented Middleware. In 29th International Conference on Distributed Computing Systems (ICDCS 2009), Montreal, Quebec, Canada, Jun. 2009. [3] Jia Zou, Slobodan Matic, Edward A. Lee, Thomas Huining Feng, and Patricia Derler. Execution Strategies for PTIDES, a Programming Model for Distributed Embedded Systems. In 15th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2009), San Francisco, CA, USA, Apr. 2009. [4] Thomas Huining Feng, Engineering structurally configurable models with model transformation. Master's Thesis, Technical Report UCB/EECS-2008-159, EECS Department, University of California, Berkeley, Dec. 2008. [5] Christopher Brooks, Chihhong Cheng, Thomas Huining Feng, Edward A. Lee, and Reinhard von Hanxleden. Model engineering using multimodeling. In 1st International Workshop on Model Co-Evolution and Consistency Management (MCCM 2008), Toulouse, France, Sep. 2008. [6] Thomas Huining Feng and Edward A. Lee. Scalable models using model transformation. In 1st International Workshop on Model Based Architecting and Construction of Embedded Systems (ACES^MB 2008), Toulouse, France, Sep. 2008. [7] Shamik Bandyopadhyay, Thomas Huining Feng, Hiren D. Patel, and Edward A. Lee. A scratchpad memory allocation scheme for dataflow models. Technical Report UCB/EECS-2008-104, EECS Department, University of California, Berkeley, Aug. 2008. [8] Patricia Derler, Thomas Huining Feng, Edward A. Lee, Slobodan Matic, Hiren D. Patel, Yang Zhao, and Jia Zou. PTIDES: A programming model for distributed realtime embedded systems. Technical Report UCB/EECS-2008-72, EECS Department, University of California, Berkeley, May 2008. [9] Thomas Huining Feng, Edward A. Lee, Hiren D. Patel, and Jia Zou. Toward an effective execution policy for distributed real-time embedded systems. In 14th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2008), Work-in-Progress Session, St. Louis, MO, USA, Apr. 2008. [10] Thomas Huining Feng and Edward A. Lee. Real-time distributed discrete-event execution with fault tolerance. In 14th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2008), St. Louis, MO, USA, Apr. 2008. [11] Christopher Brooks, Thomas Huining Feng, Edward A. Lee, and Reinhard von Hanxleden. Multimodeling: A preliminary case study. Technical Report UCB/EECS-2008-7, EECS Department, University of California, Berkeley, Jan. 2008. [12] Thomas Huining Feng, Miriam Zia, and Hans Vangheluwe. Multi-formalism modelling and model transformation for the design of reactive systems. In 2007 Summer Computer Simulation Conference (SCSC 2007), San Diego, CA, USA, Jul. 2007. [13] Thomas Huining Feng, Lynn Wang, Wei Zheng, Sri Kanajan, and Sanjit A. Seshia. Automatic model generation for black box real-time systems. In Design, Automation and Test in Europe (DATE) Conference, Acropolis, Nice, France, April 2007. [14] Adam Cataldo, Elaine Cheong, Thomas Huining Feng, Edward A. Lee, and Andrew Mihal. A formalism for higher-order composition languages that satisfies the Church-Rosser property. Technical Report UCB/EECS-2006-48, EECS Department, University of California, Berkeley, May 2006. [15] Thomas Huining Feng and Edward A. Lee. Incremental checkpointing with application to distributed discrete event simulation. In Winter Simulation Conference (WSC 2006), Monterey, USA, December 2006. [16] Thomas Huining Feng and Hans Vangheluwe. Modeling and simulation based design with DCharts. In Conference on Conceptual Modeling and Simulation (CSM2004), Genoa, Italy, October 2004. [17] Thomas Huining Feng, DCharts, a Formalism for Modeling and Simulation Based Design of Reactive Software Systems. Master's Thesis, School of Computer Science, McGill University, Canada, February 2009. [17] Thomas Huining Feng and Hans Vangheluwe. Case study: Consistency problems in a UML model of a chat room. In Sixth International Conference on the Unified Modelling Language (UML 2003),Workshop on Consistency Problems in UML-based Software Development II, San Francisco, USA, October 2003. [18] Thomas Huining Feng. A virtual machine supporting multiple Statechart extensions. In Summer Computer Simulation Conference (SCSC 2003), Student Workshop, Montreal, Canada, July 2003. [19] Thomas Huining Feng and Qimei Chen. Analyzing an improvement of MPLS-Net structures for the decrease of dialogue transmission delay. In IEEE International Conference on Systems, Man and Cybernetics, volume 4, Hammamet, Tunisia, October 2002. [20] Thomas Huining Feng and Qimei Chen. A tree view of the MPLS FEC strategy. In International Conference on Telecommunications (ICT 2002), Beijing, China, June 2002. 8 RELEVANT COURSEWORK U.C. Berkeley CS294-5 Dynamic Program Analysis, Testing, and Debugging by Prof. Koushik Sen CS294-2 Software Synthesis by Prof. Ras Bodik CS264 Program Analysis by Prof. Ras Bodik CS263 Design and Analysis of Programming Languages by Prof. George Necula CS194 Distributed Systems by Prof. Scott Shenker and Prof. Ion Stoica CS164 Compilers and Programming Languages by Prof. Ras Bodik EE290N Concurrent Models of Computation for Embedded Software by Prof. Edward A. Lee EE244 Introduction to Computer Aided Design of Integrated Circuits by Prof. Kurt Keutzer and Prof. Sanjit A. Seshia EE219C Computer-Aided Verification by Prof. Sanjit A. Seshia IEOR261 Experimenting with Simulated Systems by Prof. Lee W. Schruben McGill University 308-764 Software Fault Tolerance by Prof. Joerg Kienzle 308-762 Modeling and Simulation based Design by Prof. Hans Vangheluwe