Received: from RI.CMU.EDU by A.GP.CS.CMU.EDU id aa12942; 13 Mar 96 18:55:06 EST
Received: from HPP.Stanford.EDU by RI.CMU.EDU id aa18556; 13 Mar 96 18:53:48 EST
Received: (from mjs@localhost) by HPP.Stanford.EDU (8.7.1/8.7.1) id PAA23012 for ai+ai-jobs@cs.cmu.edu; Wed, 13 Mar 1996 15:53:42 -0800 (PST)
Date: Wed, 13 Mar 1996 15:53:42 -0800 (PST)
From: Marcel Schoppers <mjs@HPP.Stanford.EDU>
Message-Id: <199603132353.PAA23012@HPP.Stanford.EDU>
To: ai+ai-jobs@cs.cmu.edu
Subject: Job: Summer job in SanFran Bay Area
Sender: ai@A.GP.CS.CMU.EDU

All,
	My current employee is going home to France, so I need one or two new
people to work for me, at least temporarily.  The list of things I need help
with is given below.  The total work-load (all people combined) is somewhere
between half- and full-time from now until the middle of September, but I can
be flexible about exactly how to schedule it (not at the last minute).
Compensation will be around $22 per hour worked (minus taxes), so more hours
= more money (up to a total limit).  After September I will probably have new
money and more work, but can't promise that.  The sooner you can start, the
better.

	You should be a good programmer in C or C++ .  Knowledge of Silicon
Graphics drawing functions, and/or of Prolog, will help a lot.  Most of what's
left to do is programming.  (I'll be programming myself, in tandem with you.)
Marcel Schoppers


		     	        TASK LIST
			 (in no particular order)

HARD REAL TIME SYSTEM

   A. Complete a mostly-written preemptive earliest-deadline-first scheduler.
      In the absence of any processes with deadlines, it must behave like a
      standard static-priority-driven kernel.

   B. Automate determining the worst-case CPU time required by individual tasks.
      This should deliver the numbers needed for the schedulability check (see
      below).
 
   C. Implement contingent swapping in/out of computation schedules.  For my
      scheduler, a "schedule" is a set of tasks with specified frequencies.
      There needs to be a way to change schedules in contant (near zero) time.

   D. Implement a (known) schedulability test.

   E. Implement an interface between a Silicon-Graphics-style simulation
      running on a Sun workstation, and the hard real-time system running
      on a Motorola 680X0 processor on the Sun's backplane.

   F. Implement synchronization primitives compatible with Baker's "stack
      resource policy" (which prevents indefinite priority inversion).

   RELEVANT PAPERS

       getting the best value out of overloads:
   
   [1] Koren & Shasha, "Dover: An optimal on-line scheduling algorithm..."
       IEEE RTSS '92
   [2] Baruah, Mok & Rosier, "Preemptively scheduling hard-real-time
       sporadic..." IEEE RTSS '90
   
       scheduling with blockages (vs priority inversion):
   
   [3] Baker, "A stack-based resource allocation policy..."
       IEEE RTSS'90
   [4] Baker, "Stack-based scheduling of realtime processes"
       J Realtime Systems 3 '91 (revision of [3]).
   
       conditional schedules:
   
   [13]Listman & Campbell, "A fault-tolerant scheduling problem",
       IEEE Trans SE 12:11 '86.
   [14]Krishna & Shin, "On scheduling tasks with a quick recovery from failure"
       IEEE Trans C 35:5 '86.

SIMULATION

   A. Integrate code from some existing Silicon Graphics simulators:
      - one NASA-provided simulator is the base: it provides the geometry of
	Space Station and mobile robot, time-stepping, and IPC code.
      - replace its trivial kinematic arm simulation with manipulator dynamics
	code (e.g. from SIMDERELLA).
      - integrate laser-based vision code from a third source.

   B. Provide some interface to simulator data structures so we can check for
      object collisions.

UNIVERSAL PLAN PROJECTION

   A. Complete a projector for possible (closed-loop) futures resulting from
      Universal Plan actions plus external events.  The projection should be
      heuristically focused on possible futures having the greatest impact on 
      robot performance, i.e. futures that have high probability or high value
      or high cost.  Projection should either construct a state space graph
      interpretable as a Markov process, or go directly to a transition
      probability matrix.

   B. Integrate existing code for computing which of the possible futures the
      Universal Plan should pursue.

   C. Integrate/modify an ID3 or C4.5-style induction algorithm to generate,
      from the selected futures and their associated reactions, a set of
      computation schedules conditioned on environment behavior.

IMAGE OBJECT EXTRACTION/RECOGNITION

   A. From laser range images with clear outlines of objects seen from various
      perspectives, extract some index features (e.g. moments) and construct a
      catalog of imaged objects.  Tune for recognition speed and accuracy.

   B. Construct a second index for accessing the dynamically created object
      models using names.  The association must be created in situated fashion,
      i.e. attach the name when the object is being viewed, since the learned
      models will be humanly unintelligible.




-------------------------------------------------------------------------------
This message    | Submissions                       ai+ai-jobs@cs.cmu.edu
was sent via    | Subscribe/Unsubscribe             ai+query@cs.cmu.edu
the AI-JOBS     | Available mailing lists include
mailing list.   |    AI-JOBS, LISP-JOBS, PROLOG-JOBS, AI-POSTDOC, AI-PREDOC
