Requirements for ABRA

(aka LAGOON’s Refactoring)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sushil Louis

Monica Nicolescu

Sergiu Dascalu

Chris Miles

Ryan Leigh

Adam Olenderski

 

 

 

 

 

 

 

 

June 20, 2005

1      Non-functional requirements

 

 

1)                ABRA should be optimized to run on a monitor with 1024x768 resolution

 

2)                ABRA should run in Linux (FC2) and WindowsXP

 

3)                ABRA should connect to COVE

 

4)                ABRA should run on one machine

 

5)                ABRA should run on multiple machines with one server and up to 10 clients

 

6)                ABRA should run smoothly on a P4 Northwood 2.8 Ghz, 512M RAM

 

7)                ABRA should strategically re-plan in less than 600 seconds on a single machine

 

8)                ABRA should strategically re-plan in less than 60 seconds on a 10-node cluster (see 5)

 

9)                ABRA’s CAT sub-system should update affected COVE Non-Player-Entities (NPEs) within two seconds of a desired change such as a change of speed or heading

 

10)          Any ABRA instantiation should get the current COVE state within two seconds

 

11)          ABRA’s CAT sub-system should run ten times faster than with COVE when using ABRA’s game engine

 

12)          ABRA’s GO sub-system should use COVE’s terrain, texture, and entity model data

13)          ABRA should allow at least 10 boat types, as follows:

 

a.                 Speed boat

b.                Cigar boat

c.                 Fishing boat

d.                Sail boat

e.                Destroyer

f.                   Cruiser

g.                Aircraft carrier

h.                 Container

i.                    Tanker

j.                    Cruise ship

  


 

2      Functional requirements

 

 

1)                ABRA should support two modes of operation: training and execution

 

2)                GO should have an XML configuration file that contains:

 

a.                 The current scenario’s terrain (height-map) data file name

b.                The current scenario’s texture data file name

c.                 The current scenario’s detailed texture data file name

d.                The current scenario’s sky texture data file name

e.                The current scenario’s water texture data file name

f.                   The current scenario’s 3D dimensions

g.                The current scenario’s latitude and longitude of the lower-left and upper-right corners

h.                 The current scenario’s camera position in 3D (if not given, a default camera position should be assumed)

 

3)                CAT should learn from demonstration

 

4)                CAT should support learning by co-evolution [nice to have]

 

5)                In training mode, CAT should allow the following:

 

a.                 Mousing over an entity should bring up the following information:

 

                                                                                i.            ID

                                                                              ii.            display name

                                                                            iii.            speed

                                                                           iv.            heading

                                                                             v.            status (hit points)

                                                                           vi.            team

 

b.                Select an entity:

 

                                                                                i.            Each entity should have a unique ID

                                                                              ii.            Each entity should have a display name

 

c.                 Activate CAT’s GUI for the selected entity

 

d.                Display properties of the selected entity:

 

                                                                                i.            ID

                                                                              ii.            display name

                                                                            iii.            team

                                                                           iv.            position

                                                                             v.            speed

                                                                           vi.            desired speed

                                                                         vii.            heading

                                                                       viii.            desired heading

                                                                           ix.            status (hit points)

                                                                             x.            weapons:

 

(a)   type

(b)   shown or not shown

 

e.                 Modify effectors for the selected entity:

 

                                                                                i.            desired speed

                                                                              ii.            desired heading

                                                                            iii.            select weapon

                                                                           iv.            fire weapon

                                                                             v.            select target

 

f.                   Initiate training session:

 

                                                                                i.            select existing network

                                                                              ii.            create new network

 

g.                Select behavior for the entity, as follows:

 

                                                                                i.            Maintain station (maintain bearing and range)

                                                                              ii.            Approach (entity or location)

                                                                            iii.            Retreat

                                                                           iv.            Formate (get in and maintain formation)

 

(a)   Leader

(b)   Follower

 

                                                                             v.            Fire (at target)

                                                                           vi.            Ram

                                                                         vii.            Wander

                                                                       viii.            Synch (wait for event)

 

Actuators  >

Desired heading

Desired speed

Weapon target

Behaviors v

Maintain station

 

Approach

 

Retreat

 

Formate

 

Fire

 

 

Ram

Wander

 

Synch

 

 

 

 

h.                 End training session

 

6)                CAT controller should obtain the following information:

 

a.                 Entity properties (for all entities):

 

                                                                                i.            speed

                                                                              ii.            heading

                                                                            iii.            position

                                                                           iv.            ID

                                                                             v.            display name

                                                                           vi.         status (hit points)

                                                                         vii.         under fire

                                                                       viii.         leader/followers

                                                                           ix.         weapons release (uncover weapons) – nice to have

                                                                             x.         team

                                                                           xi.         (target?)

 

b.                Land sensors:

 

                                                                                i.            distance to land for N degree increments

 

c.     Umpire cues:

 

                                                              i.      start scenario

                                                            ii.      suspend [nice to have]

                                                          iii.      resume [nice to have]

                                                         iv.      stop scenario [nice to have]

 

7)                ABRA’s interface should include a set of controls to access CAT functions

 

8)                ABRA’s interface should include a set of controls to access SP functions

 

9)                ABRA’s interface should present the Go World (GOW) in 3D

 

10)          ABRA’s interface should include a mini map of GOW

 

11)          ABRA’s interface (GOW part) should allow a third person-perspective

 

12)          SP should read information from a scenario file

 

13)          SP should allow the user to:

 

a.                 Form groups of entities:

 

                                                                                i.            heterogeneous

                                                                              ii.            homogeneous

 

b.                Formate groups of entities:

 

                                                                                i.            line formation

                                                                              ii.            V-shape formation

 

c.                 Duplicate groups

 

d.                Move a formation to a target location [ask Chris]:

 

                                                                                i.            regular move

                                                                              ii.            attack move

 

14)          SP should manage entity resourcing (e.g., how much damage suffered by entity, how much ammunition left)

 

15)          GO should have a replay capability [nice to have]

 

16)          SP should provide group synchronization based on events such as:

 

a.                 Entity entry in specified area (defined as relative or absolute)

b.                Entity status (damaged, disabled, destroyed)

 

17)          ABRA should support the execution mode with the following functions:

 

a.                 Load a scenario’s plan  (COVE scenario file .vsc) [nice to have]

b.                Configure ownship’s parameters

c.                 Allow the user to start plan execution

d.                Allow the user to execute plan

e.                Allow the user to terminate the plan execution, if desired

f.                   Terminate the plan execution, as specified in the plan

 

18)          EXEC should support plan execution with the following functions:

 

a.                 Associate entities with roles and with CAT controllers

b.                Start all controllers

c.                 Execute the plan