Environment Model Building Tools MSE Presentation 3 Esteban - - PowerPoint PPT Presentation

environment model building tools
SMART_READER_LITE
LIVE PREVIEW

Environment Model Building Tools MSE Presentation 3 Esteban - - PowerPoint PPT Presentation

Environment Model Building Tools MSE Presentation 3 Esteban Guillen Outline Action Items Project Evaluation Assessment Evaluation Component Design XML File Description Future Work Conclusion References Demo


slide-1
SLIDE 1

Environment Model Building Tools

MSE Presentation 3 Esteban Guillen

slide-2
SLIDE 2

Outline

Action Items Project Evaluation Assessment Evaluation Component Design XML File Description Future Work Conclusion References

  • Demo
slide-3
SLIDE 3

Action Items

MVC Architecture

Moved data manipulators to controller

package

Improve Terrain Representation

Increase number of triangles Change pattern (doesn’t help much)

XML Definition

Part of documentation

slide-4
SLIDE 4

Action Items (cont.)

Formal Specification

Elevation adjustment operation Shapes lie within the bounds of the

associated Object

Move to back operation

slide-5
SLIDE 5

Action Items (cont.)

Elevation adjustment

Context EMBEnvironment::elevationAdj(o:EMBObject) Post adjusted: o.y = terrain-> getHeight(o.x,o.z)

Shapes with in Object bounds

Context o : EMBObject

Inv bounds:

shapes-> forall( s | (o.x – o.length/2 < s.x < o.x + o.length/2) and (o.y – o.height/2 < s.y < o.y + o.height/2) and (o.z – o.width/2 < s.z < o.z + o.width/2))

Move to back

Context EMBEnvironment::moveToBack(o:EMBObject)

Post back : objects-> last = o Post size : objects@pre-> asSet() = object-> asSet()

slide-6
SLIDE 6

Project Evaluation

SLOC (actual)

Environment Model Builder = 2237 Environment Object Builder = 2315 Environment Terrain Builder = 820 Total = 5372 source lines of code

SLOC (predicted)

Phase 1 (Prototype & examples) – 2500 Phase 2 (Bottom-up) - 4800

slide-7
SLIDE 7

Project Evaluation (cont)

Duration (actual)

Phase 1 = 3870 minutes or 65 hours Phase 2 = 5970 minutes or 100 hours Phase 3 = 16410 minutes or 273 hours Total = 438 hours

Duration (predicted)

Phase 1 (COCOMO) – 840 (time remaining) Phase 2 (Button-up) – 270 (time remaining)

slide-8
SLIDE 8

Project Evaluation (cont)

Phase 1 Break Down

Documentation, 1380, 36% Meetings, 150, 4% Coding, 2000, 53% Design, 280, 7% Documentation Coding Meetings Design

slide-9
SLIDE 9

Project Evaluation (cont)

Phase 2 Break Down

Documentation, 2010, 32% Coding, 2010, 32% Design, 2040, 32% Meetings, 270, 4% Coding Design Documentation Meetings

slide-10
SLIDE 10

Project Evaluation (cont)

Phase 3 Break Down

Coding, 5000, 56% Documentation, 3300, 37% Meetings, 150, 2% Design, 460, 5% Coding Documentation Design Meetings

slide-11
SLIDE 11

Assessment Evaluation

  • Test Case 1 – Loading Shapes
  • This test case was successfully passed. All the primitive shapes could be loaded onto

the building surface and were visible.

  • Test Case 2 – Resizing Shapes
  • This test case passed. All the primitives were resized by first clicking in the shape to

bring up its properties window, and then using the controls on the properties window the shape could be resized.

  • Test Case 3 – Changing the Weight and Color
  • This test case passed. All the primitives could have their weight and color changed

from the properties window.

  • Test Case 4 – Moving Shapes
  • This test case passed. All the primitives could be moved with the x, y, and z controls
  • n the properties window. The three different viewing perspectives made it easy to

line up and stack the shapes on top of each other.

  • Test Case 5 – Zooming I n and Out
  • This test case passed. From the 3-D viewing tab the scene could be zoomed in and
  • ut by holding down Alt then left clicking the mouse and then moving the mouse up

and down.

slide-12
SLIDE 12

Assessment Evaluation

  • Test Case 6 – Viewing in 3-D
  • This test case passed. From the 3-D viewing tab the scene could viewed from all

angles.

  • Test Case 7 – Saving to Library
  • This test case passed. Selecting “Save to Library” from the File menu provide a

pop-up window to name the object. After providing a name and clicking the “OK” button the object is saved to the library and is added to the tree that displays a list

  • f the library of objects.
  • Test Case 8 – Reusing Saved Objects
  • This test case passed. The previous saved object was available to add. Four of the
  • bjects were added and moved into position. One improvement would be to have

the option to move the added object as a group. At the time of testing the object could only be moved by moving its primitive shapes.

  • Test Case 9 – Modifying Elevation
  • This test case passed. The tool provided a grid of point to modify. The elevation

was adjusted by a slider bar. The values were form 1-100. After selecting an elevation a point on the grid could be clicked and its elevation would change to value of the slider bar. The zero elevation points were black while the higher elevation points were color shades of green; lighter shades of green represented higher elevations.

slide-13
SLIDE 13

Assessment Evaluation

  • Test Case 10 – Setting a Texture
  • This test case was untested. At the time of testing there was no way to set a

texture for a region. This feature will be future requirement.

  • Test Case 11 – Zooming I n and Out
  • This test case passed. From the 3-D viewing tab the scene can be zoomed in and
  • ut by using the mouse.
  • Test Case 12 – Viewing I n 3-D
  • This test case passed. From the 3-D viewing tab the scene could be viewed from

any angle.

  • Test Case 13 – Saving to Library
  • This test case passed. Selecting “Save to Library” from the File menu provide a

pop-up window to name the terrain. After providing a name and clicking the “OK” button the terrain is saved to the library and is added to the tree that displays a list

  • f the library of terrains.
  • Test Case 14 – Adding Objects and Terrains
  • This test case passed. The terrain and objects were successfully added. One

improvement could be to have an added object sit flush on the surface. At the current time of test the added object was placed at (0, 0, 0), but the elevation of the terrain was much higher at that point, so the object was underneath the surface of the terrain.

slide-14
SLIDE 14

Assessment Evaluation

  • Test Case 15 – Moving the Objects
  • This test case passed. The objects were able to be moved by clicking on

them, from the building surface, and using the controls of the provided properties window to move the objects position

  • Test Case 16 – Setting the Camera
  • This test case was untested. This feature will be a future requirement.
  • Test Case 17 – Setting the lights
  • This test case was untested. This feature will be a future requirement.
  • Test Case 18 – Viewing in 3-D
  • This test case passed. From the 3-D viewing tab the scene could be

viewed from any angle.

  • Test Case 19 – Saving an Opening
  • This test case passed. The environment was successfully saved and re-
  • pened.
slide-15
SLIDE 15

Component Design

Environment Model Builder Object Builder (see documentation) Terrain Builder (see documentation)

slide-16
SLIDE 16

Environment Model Builder

slide-17
SLIDE 17

Environment Model Builder

slide-18
SLIDE 18

Environment Model Builder

slide-19
SLIDE 19

Environment Model Builder

slide-20
SLIDE 20

Environment Model Builder

slide-21
SLIDE 21

Environment Model Builder

slide-22
SLIDE 22

Environment Model Builder

slide-23
SLIDE 23

Environment Model Builder

slide-24
SLIDE 24

Environment Model Builder

slide-25
SLIDE 25

Environment Model Builder

slide-26
SLIDE 26

Environment Model Builder

slide-27
SLIDE 27

XML File Description

  • Object Builder
  • < ?xml version= "1.0"?>
  • < !DOCTYPE object [
  • < !ELEMENT object (name,x,y,z,shape* )>
  • < !ELEMENT shape (* primative)>
  • < !ELEMENT primative (sphere|box|cone|cylinder)>
  • < !ELEMENT sphere (name,x,y,z,direction,radius,color,hot,stationary,weight)>
  • < !ELEMENT box (name,x,y,z,direction,color,length,width,height,hot,stationary,weight)>
  • < !ELEMENT cone (name,x,y,z,direction,radius,height,color,hot,stationary,weight)>
  • < !ELEMENT cylinder (name,x,y,z,direction,radius,height,color,hot,stationary,weight)>
  • < !ELEMENT x (# PCDATA)>
  • < !ELEMENT y (# PCDATA)>
  • < !ELEMENT z (# PCDATA)>
  • < !ELEMENT radius (# PCDATA)>
  • < !ELEMENT color (# PCDATA)>
  • < !ELEMENT length (# PCDATA)>
  • < !ELEMENT width (# PCDATA)>
  • < !ELEMENT height (# PCDATA)>
  • < !ELEMENT name (# PCDATA)>
  • < !ELEMENT direction (# PCDATA)>
  • < !ELEMENT hot (# PCDATA)>
  • < !ELEMENT stationary (# PCDATA)>
  • < !ELEMENT weight (# PCDATA)>
  • ]>
slide-28
SLIDE 28

XML File Description

  • Terrain Builder
  • < ?xml version= "1.0"?>
  • < !DOCTYPE terrain [
  • < !ELEMENT terrain (name,num-points,points-per-row,size,* point)>
  • < !ELEMENT name (# PCDATA)>
  • < !ELEMENT num-points (# PCDATA)>
  • < !ELEMENT points-per-row (# PCDATA)>
  • < !ELEMENT size (x-min,x-max,y-min,y-max)>
  • < !ELEMENT x-min (# PCDATA)>
  • < !ELEMENT x-max (# PCDATA)>
  • < !ELEMENT y-min (# PCDATA)>
  • < !ELEMENT y-max (# PCDATA)>
  • < !ELEMENT point (index,x,y,z)>
  • < !ELEMENT index (# PCDATA)>
  • < !ELEMENT x (# PCDATA)>
  • < !ELEMENT y (# PCDATA)>
  • < !ELEMENT z (# PCDATA)>
  • ]>
slide-29
SLIDE 29

XML File Description

Environment Builder

< ?xml version= "1.0"?> < !DOCTYPE env-model [ < !ELEMENT env-model (terrain* ,object* )>

slide-30
SLIDE 30

Future Work

  • Object Builder
  • Grouping primitives
  • Having object composed of a hierarchy of objects
  • Making the building surfaces scrollable
  • Zoom-in and out on building surfaces
  • Adding rotation ability to the primitives
  • Improving the search feature
  • Terrain Builder
  • Adding textures to the terrain
  • Setting the size of the terrain
  • Improving the search feature
  • Environment Model Builder
  • Making the building surface scrollable
  • Allow for multiple terrains to be added
  • Ability to dynamically place objects on the top of the surface
  • Ability to set the size of the model being built
  • Robot Builder (new application)
  • Modify current Object Builder
slide-31
SLIDE 31

Conclusion

Working in a group setting Working on project that had 5000 SLOC Taking significant time to design Learning how to estimate SLOC and

time

Importance of understanding what you

are building ASAP

slide-32
SLIDE 32

References

[1] Davison, Andrew. Game Programming With Java and Java 3D. http://fivedots.coe.psu.ac.th/~ ad/jg/: 2004 [2] Fowler, Martin. UML Distilled Third Edition. Boston: Addison-Wesley, 2004. [3] Horton, Ivor. Java 2 SDK 1.4 Edition. Plainview: Wrox Press, 2002. [4] Lee, Richard & Tepfenhart, William. Practical Object-Oriented Development With UML and Java. Upper Saddle River: Prentice Hall, 2002. [5] Royce, Walker. Software Project Management. Upper Saddle River: Addison- Wesley, 1998. [6] Walsh, Aaron & Gehringer, Doug. Java 3D API Jump-Start. Upper Saddle River: Prentice Hall, 2002.

slide-33
SLIDE 33

Demo