Jason McColm Smith
smithja AT cs.unc.edu Ossining, NY 10562
(919) 824-8774 http://www.cs.unc.edu/~smithja/resume.html

Objective:

To bring the best tools to the best people to do their best work.

Education:*
University of North Carolina at Chapel HillPh.D. in Computer ScienceDec 2005
University of North Carolina at Chapel HillM. Sc. in Computer ScienceJune 1996
University of WashingtonB. Sc. in Physics**March 1993
B. Sc. in Mathematics**March 1993
Cashmere High SchoolHonorary DegreeJune 1989
Wenatchee Valley CollegeAssociate in Arts & Sciences DegreeJune 1985
University of WashingtonCompleted Early Entrance Program Transition PhaseJune 1982
*Yes, this timeline is correct.
**Note that these are two distinct diplomas, not two majors on the same diploma.

Experience:
Feb 2006 - Present
Research Postdoc - IBM T. J. Watson Research Center, NY
Apr 2001 - Dec 2005
Research Assistant - UNC Chapel Hill, Dept of Computer Science - CoLab
SPQRDissertation topic, investigating automated pattern detection system for OO languages, with support for refactoring, documentation, and reverse engineering.
FaceTopAn innovative UI system for driving GUI environments using a simple video camera without spatial registration. Research has consisted of use in distributed collaborative environments, as well as single-user studies.
OvalTineResearch on automated hyperlink markup for video. Developed the TrackerLib extensible image-analysis engine for real-time video analysis.
Aug 1999 - Apr 2001
Visiting Scientist - Environmental Protection Agency - Multimedia Integrated Modeling System (MIMS)
Consultant for software architectural design of an extremely large OO system intended to integrate disparate environmental modeling simulators for multiple media (atmosphere, hydrosphere, biosphere, etc).
Jan 2000 - May 2000
Lecturer - UNC Chapel Hill, Dept of Computer Science - COMP144 (Programming Languages)
Solely responsible for syllabus, text selection, and lectures for an undergraduate programming language theory course of approximately 45 students. Emphasis on practical theory and concepts to facilitate learning of new languages in minimum time. Produced on-going website archiving lectures, notes, homework and exam keys, and handouts.
Jan 1999 - June 2000
Research Assistant - UNC Chapel Hill, Dept of Computer Science - CoLab (OvalTine)
Produced a real-time video hyperlink anchor generation system on the SGI O2 platform. (See Publications for produced conference paper discussing this work.)
Jan 1998 - Dec 1998
Research Assistant - UNC Chapel Hill, Dept of Computer Science - CoLab (Polylith)
Migrated and enhanced the Polylith distributed messaging system to the SGI IRIX platform.
June 1996 - Dec 1997
Software Engineer II - Government Simulations Group, Evans & Sutherland, Salt Lake City, UT
Involved in conversion to C++ of C-based military flight simulation software for proprietary hardware, including image rendering correction techniques on a heterogeneous curved surface, multiple camera/projector/operator registration. Trained colleagues in OO practices, with an emphasis on C++.
Sep 1994 - June 1996
Research Assistant / Software Developer - UNC Chapel Hill, Dept. of Computer Science - CPlane
Created OOP finite element analysis toolset for CPlane Project, an implementation of the Salphasic Clock technologies. Employed design analysis and verification to classes; portability, maintainability and extensibility were critical elements of the full design.
June 1994 - Aug 1994
Software Developer - UNC Chapel Hill, Dept. of Computer Science - PixelFlow
Updated internal tools to speed critical path design process; added fine-scale functionality in VLSI CAD system magic.
Aug 1993 - June 1994
On-Site Property Manager, MBC Management, Seattle WA
Managed reconstruction and renovation of 1923 apartment building in downtown Seattle; financial data structuring, maintenance and subcontracting; increased profitability of property by 40% in 9 months.
Sep 1989 - Oct 1991
Software Developer / Systems Administrator - University of Washington Applied Physics Lab
Programmed the QSAM Disk Striping Algorithm System, a real-time system-level toolkit. Created the environmental models for the Sonar Simulation Toolkit in a proprietary OOP C variant.

Publications:
SPQR
Intent-Oriented Design Pattern Formalization Using SQPR, Jason McC. Smith, David Stotts, in Design Pattern Formalization Techniques, Toufik Taibi, Ed., Apr, 2007.
SPQR: Formal Foundations and Practical Support for the Automated Detection of Design Patterns from Source Code, Jason McC. Smith, Dissertation, Comp Sci Dept., Univ of North Carolina at Chapel Hill, Dec, 2005.
Pattern/Object Markup Language (POML): A Simple XML Schema for Object Oriented Code Description, Jason McC. Smith, David Stotts, Technical Report 04-010, Comp Sci Dept., Univ of North Carolina at Chapel Hill, Apr, 2004.
SPQR: Flexible Automated Design Pattern Extraction From Source Code, Jason McC. Smith, David Stotts, Proceedings of the 2003 IEEE International Conference on Automated Software Engineering, Oct 8-10, 2003, Montreal QC, Canada.
Elemental Design Patterns and the Rho-calculus: Foundations for Automated Design Pattern Detection in SPQR, Jason McC. Smith, David Stotts, Technical Report 03-032, Comp Sci Dept., Univ of North Carolina at Chapel Hill, Sep 23, 2003.
SPQR: Use of a First-Order Theorem Prover for Flexibly Finding Design Patterns in Source Code , Jason McC. Smith, David Stotts, Technical Report 03-007, Comp Sci Dept., Univ of North Carolina at Chapel Hill, Mar 21, 2003.
Elemental Design Patterns: A Formal Semantics for Composition of OO Software Architecture 27th Annual IEEE/NASA Software Engineering Laboratory Workshop, Greenbelt, MD, Dec. 5-6, 2002.
An Elemental Design Patterns Catalog, Jason McC. Smith, Technical Report 02-040, University of North Carolina at Chapel Hill, Dec 2002.
Elemental Design Patterns: A Link Between Architecture and Object Semantics, Jason McC. Smith, David Stotts, Technical Report 02-011, Univ of North Carolina at Chapel Hill, May 2002.
FaceTop
Support for Distributed Pair Programming in the Transparent Video Facetop, David Stotts, Jason McC. Smith, and Karl Gyllstrom, To Appear in XP/Agile Universe, Aug 15-18, 2004, Calgary, Alberta.
Single- and Dual-User Web Browsing in the Transparent Video Facetop, David Stotts, Jason McC Smith, and Karl Gyllstrom, Technical Report 04-005, University of North Carolina at Chapel Hill, Dec 1, 2003.
The Vis-a-Vid Transparent Video FaceTop, David Stotts, Jason McC. Smith and Dennis Jen, Demonstration and short paper, ACM Conference on User Interface Systems and Technologies, Nov 02-05, 2003.
OvalTine
An Extensible Object Tracking Architecture for Hyperlinking in Real-time and Stored Video Streams, Jason McC. Smith, David Stotts, Technical Report 02-017, Univ of North Carolina at Chapel Hill, Jun 2002.
Distributed Pair Programming: Empirical Studies and Supporting Environments, Prashant Baheti, Laurie Williams, Edward Gehringer, David Stotts, Jason Smith, Technical Report 02-010, Univ of North Carolina at Chapel Hill, Mar 2002.
Hypervideo Support for Distributed Extreme Programming, David Stotts, Jason Smith, Laurie Williams, Technical Report 02-009, Univ of North Carolina at Chapel Hill, Mar 2002.
Automated Hyperlink Markup for Archived Video, David Stotts, Jason Smith, Technical Report 02-007, Univ of North Carolina at Chapel Hill, Jan 2002.
An Orthogonal Taxonomy for Hyperlink Anchor Generation in Video Streams Using OvalTine, Jason McC. Smith, David Stotts, Sang-Uok Kum, Proceedings of the Eleventh ACM Conf. on Hypertext and Hypermedia, May 30-Jun 4, 2000, San Antonio, Texas.

Specializations and Areas of Study:
Software engineering practice Numerical analysis of physical models
Object oriented programming (static and dynamic languages) Algorithmic analysis
OO framework designs Compiler design and implementation
OO programming language theory Design patterns interaction with dynamic languages

Practical Technologies:
UNIX (HP-UX, Solaris, Darwin, SunOS, IRIX) Eiffel, Java, C, C++, Objective-C, Smalltalk
MacOS (Classic and X (Server)) Windows NT
CodeWarrior, Visual C++, Project/Interface Builder

General Interests:
Computer hardware design Computer / human interface design
Hiking / Mountaineering Aeronautical engineering
Future technologies / social impacts Celtic archaeology
Information management and dissemination Industrial design

Recent Projects:
OO Compiler framework (ADA and Java implementations) OO Finite Element Meshing System
OO Physical Modelling Library OO Mathematics Library
Sigma Calculus Extensions Pattern analysis tools

References available upon request


To download ASCII version, please click here
Jason Smith <smithja@cs.unc.edu>
Last modified: Thu Aug 24 15:42:18 2000