Erik S. Steinmetz, M.S.
Computer Scientist
Iterativity, Inc.
612-789-6940
Research Areas
Application of artificial intelligence methods and object oriented design paradigms to the solution of problems in various domains including human computer interaction and multi-agent architectures.Skills
- Java, C/C++ Programming
- Java AWT and Swing libraries, PalmOS libraries
- Bayes and Neural Net implementations
- UML Modelling
- LISP/Scheme Programming
- HTML Authoring
- Extensive German and Japanese Language skills
Professional Experience
Iterativity, Inc.
Computer Scientist and C.F.O., May 2000 to present
University of Minnesota, Mechanical Engineering Department
Research Fellow, April 2000 to December 2000
Honeywell Technology Center
Research Scientist; December 1997 to March 2000
Student Programmer, September 1996 to December 1997
University of Minnesota, Computer Science Department
Instructor, Teaching Assistant, Research Assistant, June 1995 to August 1998
Hearts English School;Shido-cho, Okawa-gun, Kagawa, Japan
Conversational English Instructor; January 1990 to February 1993
Education
University of Minnesota, Graduate School
M.S., Computer Science, 1999
3.8+ GPA
Master's Project on algorithms for multi-agent bidding systems.
University of Minnesota, Institute of Technology
September 1993 to March 1995
3.9+ GPA
Completed undergraduate computer science curriculum.
Augsburg College
B.A., Physics, Philosophy, 1985
Refereed Conference Proceedings, Symposia, and Workshop Articles: Publications
Technical Reports:
- Penner, R., and Steinmetz, E. (2001) JointAdvisor: A Bayesian Reasoner for Intelligence Analysis. To appear in Proceedings of 2001 Army Federated Laboratories Advanced Displays Consortium, March, 2001.
- Penner, R. and Steinmetz, E. (2000) Dynamic User Interface Adaptation Based on Operator Role and Task Modeling. Proceedings of Systems, Man, and Cybernetics, Nashville, TN, October, 2000.
- Penner, R. and Steinmetz, E. (2000) Adaptive User Interfaces through Dynamic Design Automation. International Conference on Machine Learning, July, 2000.
- Penner, R. and Steinmetz, E. (2000) DIGBE: Adaptive User Interface Automation. AAAI Spring Symposium, March, 2000, Stanford, CA.
- Steinmetz, E., et. al. (1998) An Efficient Anytime Algorithm For Multiple-Component Bid Selection in Automated Contracting, Workshop on Agent Mediated Electronic Trading (AMET'98), Minneapolis, MN, May 1998.
- Boley, D.L., Steinmetz, E., Sutherland, K. (1996) Robot Localization from Landmarks using Recursive Total Least Squares, IEEE Int'l Conf. on Robotics and Automation.
- Boley, D.L., Steinmetz, E., Sutherland, K. (1995) Recursive Total Least Squares: An Alternative to Using the Discrete Kalman Filter in Robot Navigation. Reasoning with Uncertainty in Robotics, International Workshop, RUR '95, Amsterdam
- Penner, R., Steinmetz, E. (2000) JointAdvisor, Creating an Intelligence Analysis Agent. Iterativity White Paper. Iterativity, Inc., Minneapolis, MN.
- Penner, R. and Steinmetz, E. (1999) DIGBE Final Report. 1999 Joint Project Internal Report, Honeywell Technology Center, Minneapolis, MN.
- Nelson, K., Penner, R., Steinmetz, E., and Whitlow, S. (1999) Shared Human Computer Interaction Environment Final Report. DARPA/AFRL Contract # F30602-95-C-0177
- Penner, R. and Steinmetz, E. (1998) Dynamic Interface Generation. 1998 Initiatives Reports, Honeywell Technology Center, Minneapolis, MN.
- Boley, D.L., Steinmetz, E., Sutherland, K. (1995) Recursive Total Least Squares: An Alternative to the Kalman Filter in Robot Navigation, TR-95-049
At Iterativity, Inc. Projects
AID: Automated Interaction Design
At the University Of Minnesota:
JointAdvisor: a decision aid tool for Military Intelligence.
Work: I helped model a belief network and its visualizations. I implemented a Bayes tree as part of a more general modelling of an intelligence gathering system. This multi-agent system included three different views of the same data model: a text view of messages, a geographic information system to display positions, and a knowledge navigator of the current beliefs about the situation (a visualization of the Bayes tree).
Tools used: Together/J, Metrowerks Code Warrior, Sun JDK 1.1.8, Java Swing.
At the Honeywell Technology Center (in reverse chronological order):
Implement a dynamic user-interface design system. Apply it to the building control domain.
Work: I helped model and build a system which models data and then based on the description of the data, the role of the user, and the task at hand, builds an appropriate interaction for the user. This interaction is then translated into a screen representation. As lead programmer on this project, I also instructed and coordinated other coders' efforts.
Tools used: Together/J, Metrowerks Code Warrior for Java, Sun JDK 1.1.8, Java JDBC libraries, Java Swing libraries.
Implement a PalmOS presentation agent.
Work: I created a Palm presentation agent for the dynamic user-interface design system, including communication from a base system to the Palm via TCP/IP.
Tools used: Metrowerks Code Warrior for PalmOS.
Build a Java library which calls functions in an old C library.
Work: I built a java class which acted as a network accessible server to a previously existing C library. This program allowed other java programs to make calls via remote method invocation (RMI) and would then invoke the appropriate C function on a windows .dll.
Tools used: Sun JDK 1.1.*, Java JNI libraries, Java RPC libraries.
Build a multi-device forms processor.
Work: I built the front ends for a generic definition of a Human-computer interface. Given a representation of an interaction, this builds the appropriate mapping to screen widgets. The front end was presented on both a PC (using Java) and a PDA (using NewtonScript).
Tools used: Symantec Visual Cafe 2.5, Metrowerks Code Warrior for Java, Sun JDK 1.1.*, Newton Toolkit.
Apply a Gantt chart to System Bus scheduling.
Work: I modelled scheduling objects to represent the demands on the system bus. Built a tool to capture a snapshot of a schedule and translate it into these scheduling objects. Built the graphic representations of those scheduling objects for the Gantt chart.
Tools used: Symantec Visual Cafe 2.0, Sun JDK 1.1.6 Franz LISP.
Program to display airport ground delay information.
Work: I modelled scheduling objects to represent airport landing slots and flights and built their visual representations into the Gantt chart. Built a parser to read in the data put out by the FAA during a ground delay. Implemented demonstration algorithms for rescheduling flights according to ground delay rules.
Tools used: Symantec Visual Cafe 1.1, Sun JDK 1.1.3.
Convert scheduler front end to Java 1.1
Work: I helped convert the below-mentioned display to the new event format in Java 1.1.
Tools used: Symantec Visual Cafe 1.0, Sun JDK 1.1.
Program to display airplane maintenance information.
Work: I implemented, from nothing on up, a Gantt chart implementation which displayed graphic representations of scheduler objects and allowed users to take actions on them by selection and menu items or popup menus. These actions were sent to a scheduling engine which then updated the schedule objects. The Gantt chart then updated the display to show the changes in those objects.
Tools used: Symantec Cafe, Sun JDK 1.0.
Program to help determine best presentation of information to a helicopter pilot.
Work: I debugged and improved a search procedure which would dynamically reallocate presentation resources while choosing the best display.
Tools used: Visual Studio (C++).