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