Milestone 3 Tasking

Up Java Resources C++ Resources .NET Resources DevHood Search

Model Group

  • Continue work on behaviors and attributes
    • Making a behavior execution model using queues and stacks so that we can run multiple behaviors on each turn as well as have behaviors that take multiple turns.
       (Documentation to be included, ask if you’re interested before then)
    • Create rules for how behaviors are to act.
    • Start building behaviors that use this new pattern.
    • People assigned: Gilbert & Ali
  • GUI interface
    • Implement the appropriate rendering interfaces on entities and spaces so that they will correctly draw when passed to the UI.
    • Remove the test UI and replace it with the real UI (e.g., make sure the controller works correctly, and put in the necessary adapters).  Work with the UI group.
    • We need to meet with the UI group to discuss the adapters that will go between the model and the view.  Meeting scheduled for Sunday,  February 23 (new time!) .
    • Person assigned: Bryan
  • Factories
    • Fit factories to the wizards defined by the UI group. (I.e., configure a factory using the wizard, and then provide people and spaces to the controller.)
    • The goal is for a wizard to complete and instantiate a factor, which can then be used to create people/spaces.
    • Person assigned: Ryan
  • Connections
    • Enable client to register itself/spaces with the server.
    • Make Spaces MartialByRef and Threads.
    • Create central server of Spaces.
    • Make the server control when to run one tick (manual tick time).
    • Work with AR group to define functionality in their milestone 3.
    • Person assigned: Jim

Revised Tasking (2/27/03):

  • Continue work on behaviors and attributes
    • Friday, February 28
      • Making a behavior execution model using queues and stacks so that we can run multiple behaviors on each turn as well as have behaviors that take multiple turns.
      • Start building behaviors that use this new pattern.
    • Friday, March 7
      • Create rules for how behaviors are to act.
      • Teach the rest of the group how to use the new behaviors.
    • People assigned: Gilbert & Ali
  • GUI interface
    • Friday, February 28
      • Implement the appropriate rendering interfaces on entities and spaces so that they will correctly draw when passed to the UI.
        (Partially completed – people have locations only, and all spaces are 100 x 100 squares.)
      • Remove the test UI and replace it with the real UI (e.g., make sure the controller works correctly, and put in the necessary adapters).  Work with the UI group.
        (Client completed)
    • Friday, March 7
      • Finish connecting the UI with the model, so that we can run the client and server programs with the UI group’s interfaces
      • Implement more of the rendering interfaces so that people and items can look different on the screen (IRenderable.getType).
    • Person assigned: Bryan
  • Factories
    • Friday, February 28
      • Fit factories to the wizards defined by the UI group. (I.e., configure a factory using the wizard, and then provide people and spaces to the controller.)
        (Partially done – item and space factories are working in the wizard, and people factories work when hard-coded in.)
    • Friday, March 7
      • Finish work on the factories.  In particular, decide how the person factory will work and implement it.  (This depends on how attributes/behaviors depend on demographic data – talk to Ali and Gilbert about their work)
      • Integrate both people and space factories into the GUI (people factory requires the Mall Manager GUI to be set up.
    • Person assigned: Ryan
  • Connections
    • Friday, February 28
      • Enable client to register itself/spaces with the server.
      • Make Spaces MartialByRef and Threads.
      • Create central server of Spaces.
      • Make the server control when to run one tick (manual tick time).
      • Work with AR group to define functionality in their milestone 3.
    • Friday, March 7
      • Talk to Will and see how the Hub is working (maybe work on that).
      • Otherwise, collaborate with Bryan/Ryan on GUI integration.
    • Person assigned: Jim

 

 

Advanced Research Group

 

Overview:

We will develop a connection hub for use on any machine involved in the simulation such that all requests to that machine are made on a single port yet can be served by multiple processes on the same machine.  Also, the RemotingLib will undergo revisions to add functionality and stability.

Details:

1.     Look for a working example of HTTP remoting. (Theo)

2.     Adapt the existing RemotingLib to use the methods/results from #1 to enable HTTP transfer mode (currently broken) with functionality similar to the TCP implementation method. (Theo)

3.     Document, for future reference, any new pitfalls/issues found, based on the research and implementation from items 1 and 2. (Theo)

4.     Deprecate the HTTP transfer mode of RemotingLib if item #2 cannot be completed by the end of this milestone. (group)

5.     Changes to RemotingLib: Events will be generated from IConnections instead of the RemotingQueue objects and developers will be able to obtain the host name, port, and service name of remote clients – these changes make the library more developer-friendly. (Justin)

6.     Re-release documentation and UML diagram(s) reflecting any changes made. (Will)

7.     Verify proxy objects (MarshalByRefObject) transferred from process A to process B and again to process C maintain their functionality – this is required behavior for the connection hub. (Robby)

8.     Research methods and feasibility of detecting an instance of a specific process on the local machine (e.g. the hub) and connecting to it – as well as launching the process, if necessary. (Justin)

9.     Define naming conventions for remote services using the hub system; also look into available ports for connections that are not already well-known or registered ports. (Will)

10. Research (and possibly implement) safe ways of closing remote service connections as well as ways of handling unexpected loss of service from remote hosts. (Will & Robby)

11. Continue to poll Model and UI groups about needs – especially UI group! (group)

IMPORTANT NOTE TO MODEL AND USER INTERFACE GROUPS:

At this time, the HTTP transfer method of RemotingLib is not properly implemented and may be deprecated after this milestone.  Use the TCP channel method

 

 

UI Group Tasking

  • Present Mall Creation Wizard, Store Creation Wizard, and Store Manager to Customer (Done Wed, Kijana Jeff)
    • Meeting scheduled with Dr. Nguyen for Wednesday @ 2pm. (Kijana)
  • User testing on store creation wizard and store management. (Done Thurs. Afternoon, Kijana Jeff)
    • Test in same manner as mall creation and management with 4 users.
  • Make refinements to mall manager and wizard based on user testing. (Done Sunday, Kijana Jeff)
    • Rename tabs and labels to clarify confusion experienced by users.
    • Make behavior of demographic entry controls more explicit.
  • Code Maintainance (Done Sunday, group)
    • Clean up and document code, get the wizard checked into SourceSafe
  • Integrate GUI with model (Done Next Friday, TJ Brian)
    • Meet with Brian (Done Wed/Thurs) unfortunately schedule conflicts prevented any meeting with the model group on these days, we will have to continue this SUNDAY @ 2 when we can meet with them
    • Populate tabs with basic information, rather than statistics
  • Integrate mall and store creation wizards with factories provided by the model group.  (Done by next Friday, Jeff)
    • Work with Bryan and Ryan from model group for this starting Sat/Sun
  • Show a person rendered in a room.  Show them entering and leaving. (Done by next Friday, TJ)

 

Looking Ahead

  • Write unit tests for above integration with model (Done (in part hopefully) by next Friday, group)
    • ideally unit tests for the wizards and verifying that view corresponds to data in model
  • Integrate GUI and chat
    • Meet with AR group to find out how it actually works
    • Where will the connection info come from?
    • How do we know who is talking to who?

Revised tasking (3/5/03)

  • Integrate manager to model in same way the client was (Brian and Jeff, by Friday)
    • Render a hallway in the manager with people, have a wizard add items
  • Differentiate between types of entities when rendering (TJ and Kijana by Friday)
    • Implement type system, more fully implement Irenderable especially getType()
  • Animate movement of entities in renderer (TJ and Brian, by Friday)
  • Continue creating hooks with model group as needed for factories (Jeff and Kijana, by Friday)