STEP Release Notes

14 June 2002, version 0.35

Introduction --- What are new --- Installation --- How to use STEP --- Tool --- XSTEP --- Link

STEP (Scripting Technology for Embodied Persona) is a scripting language for embodied agents, in particular for their communicative acts like gestures and postures. STEP will be extended for other communicative acts, like facial expression and speech. STEP has been implemented in the distributed logic programming language DLP, a tool for the implementation of 3D web agents

What are new in the release 0.35

  • Component-based architecture: STEP consists of four components: STEP engine, script library, application interface, STEP setting.
  • Slerp interpolation: The STEP engine uses the slerp interpolation to avoid the abnormality of the interpolation between two rotations.
  • New release of DLP: The STEP engine is based on the new release of DLP (dlp1r18K #4). Its performance is improved.

    Installation

  • If you have installed DLP (dlp1r18K #4, or later), just put the STEP engine (step_engine.jar) into the DLP classes directory.
  • If you have the older version of DLP (dlp1r18K #3, or earlier), or no DLP installed in your computer, you have to install the required DLP first, then follow the instruction above.

    How to use STEP in DLP

    1. Design your own humanoids and vitual worlds in VRML. Humanoids can be constructed based on a humanoid prototype, or without prototype. We call the former approach humanoid-object one, the latter non-humanoid-object one.

    2. Set the humanoid object properties in the file 'stepsetting.pl' and compile it (i.e, execute the commandline: dlpc stepsetting.pl) Suppose the humanoid's name is 'myhumanoid'. For humanoid-object one, add the following line in the file:

    humanoid_objects(myhumanoid, true):-!.
    For non-humanoid-object ones, add the following line in the file:
    humanoid_objects(myhumanoid, false):-!.

    3. Design your own STEP script actions and add them into the STEP library (i.e., the file 'stepscriptlib.pl'), then compile it. Note that do not change the object name or the file name of the STEP script library. You can use the STEP authoring tools to design and test your own script actions, then add them into the library. You can also use the XSTEP editor to design the actions in XSTEP and transfer them in STEP/DLP codes, then copy them into the library file.

    4. Design your own DLP application. The file 'stepdemo.pl' is a template for it. Script actions can be called by the following predicates:

    process_script(ScriptAction): execute the script action ScriptAction in the library.
    do_script(Script): execute the script Script.

    Note that all of the scripts/script actions must be instantated ones when they are called. Keep the step_kernel in the heading of your application object. Keep the following lines in the beginning of your applications

    text_area(BrowserStream),
    set_output(BrowserStream),
    script_threads,

    The first two lines initialize the dlpbrow object, the last line initializes the parallel processing in STEP engine.

    5. Design an html file to launch your own application applet. Do not forget to have step_engine.jar in the archive statement in the html file. The file 'stepdemo.html' is a template for it.

    STEP authoring tools

    STEP Tool Package consists of several STEP authoring tools, including a STEP testbed and a rotation measure tool. You can use these tools to load any h-anim humanoid avatar and test your own scripting actions on the avatars online without the installation of any STEP software or DLP tool.

    XSTEP

    XSTEP is an XML-based markup/scripting language for embodied agents. It is the XML version of STEP. The XSTEP Editor would help you to edit XSTEP and STEP scripts and translate XSTEP scripts into STEP scripts on IBM's XML editor Xeena.

    top

    Links

  • WASP Project
  • STEP homepage
  • Distributed Logic Programming Language (DLP)
  • Humanoid Animation Working Group
  • top


    Contact Zhisheng Huang for any comment, suggestion, or bug reporting.