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

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

Publications

Refereed Conference Proceedings, Symposia, and Workshop Articles: Technical Reports:

Projects

At Iterativity, Inc.

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++).