Вы находитесь на странице: 1из 141

Temperature Mapping of the Lunar Surface

Final Report

Friday 10 February, 2006

Executive Summary

3C02: Group Project, Group Five

The aim of the project was to map the temperature of the Lunar Surface over a specified simulation period in order to find the existence of ice on or underneath the moon’s surface.

There has been a need to establish the presence of water ever s ince man landed on the moon. The discovery of water on the moon would be an impo rtant land- mark, providing us with the necessary resources to one day thrive outside the Earth — the avenues of possibilities would be endless.

To solve the problem, a program has been created that essentially takes terrain information as input, processes it according to algorithms modelled on a series of mathematical equations (that facilitates surface tempe rature calculations), and generates various stereographic images that summarise the output data.

Using JPVM technology, we set-up a parallel processing environment: a Main Server and a series of Distributed Servers, to accommodate the huge computa- tion involved with the project, which enabled work to be distributed over multi- ple processors. The generated results are subsequently dis played in a graphical user interface.

While the program can be used to generate data which we can compare with the empirical values as measured by NASA, the resulting differences may not indicate the presence of water. They could, in fact, be other substances like iron ore. Future versions of this program may be able to identify other core substances via their heat signature and to uniquely identify water.

To improve efficiency and automation, we could synchronise the retrieval of data directly from secure NASA servers, and as for the accura cy of data, the re- introduction of secondary variables would increase precision. On the other hand, we could improve the visual output by adding a layer of interaction, rendering the output in 3D graphics and enabling real-time manipulation.

Patrick Sumby

Project Manager

Messages

Contents

1 Introduction

9

1.1 Abstract .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

9

1.2 Background

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

9

1.3 A Brief Overview of Chapters

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

10

2 Software Process

 

13

2.1 Unified Software Development Process

 

1 3

2.2 Waterfall Model .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

14

2.3 RAD Model .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

16

2.4 Conclusion

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

17

3 Requirements Specification

 

19

3.1 User Requirements

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

19

3.1.1 Functional User Requirements

 

19

3.1.2 Non-functional User Requirements

 

20

3.2 System Requirements

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

20

3.2.1 Functional System Requirements

 

20

3.2.2 Non-functional System Requirements

 

21

3.3 Use Cases

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

21

3.3.1 UC01: Choose File for Surface Testing

 

21

3.3.2 UC02: Set Precedents

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

21

3.3.3 UC03: Start Simulation

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

22

3.3.4 UC04: View Change in Surface Temperature

 

22

3.3.5 UC05: View Images from Different Perspectives

 

2 3

3.3.6 UC06: Save Results

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

23

4 Analysis and Design

 

25

4.1 Analysis and Design Description

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

25

4.2 System Architecture

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

25

4.3 Program Flow

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

26

4.4 Gantt Chart .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

27

4.5 PERT Chart

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

27

4.6 Sequence Diagram

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

29

4.7 Deployment Diagram .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

30

4.8 UML Class Diagram

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

30

 

5

5 Mathematical Algorithms

5.1 Facets & Sub-Facets

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

4

∂T

∂x

s

.

.

.

.

.

.

.

.

.

.

.

.

2 (1 A b ) sin + (φ) J 0

4πr

5.1.1 Assumptions

5.1.2

5.1.3 Left-Hand Side —

Right-Hand Side — ǫ IR σ B T K s

s

L

5.2

Heat Transfer

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

5.2.1 Surface Facet

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

5.2.2 Sub-facet

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

5.3 Calculation of the Normal of Facets

 

5.4 The “Who Can See Who” Calculation

 
 

5.4.1 Transformation Matrices

 

.

5.4.2 Intersection of Normals

 

.

.

.

.

.

.

.

.

.

.

.

.

.

6 Project Tools

 

6.1

Java

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6.1.1 Eclipse .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6.1.2 Java Swing

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6.2

Distributed Computing

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6.2.1 Technologies for Distributed Systems

 

6.2.2 Task-Farming (Master-Slave Model)

 

6.2.3 Parallel Processing

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6.2.4 MPI

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6.2.5 PVM

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6.2.6

JPVM .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6.3

6.2.7

L A T E X

JPVM versus MPI .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6.4

Graphic Design

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6.5

Website

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

7 User Interface

 

7.1 Requirements

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

7.2 Design Goals

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

7.3 Interface Guidelines

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

7.4 Initial Design

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

7.5 Remodelling of System Requirements

 

7.6 Second Design

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

7.7 Final Design

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8 Implementation

 

8.1 Summary

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8.2 MainServer Class

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

 

8.2.1

Data Files .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Facet and FacetAttrib Classes 8.3 .

8.2.2

JPVM

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8.4 DistributedServer Class

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8.5 InitialCalculations Class

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8.6 DistrInitialCalculation Class

 

.

8.7 MainCalculations Class

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8.8 DistrMainCalculation Class

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

 

31

.

.

.

.

.

.

31

.

.

.

.

.

.

32

.

.

.

.

.

.

32

 

32

.

.

.

.

.

.

33

.

.

.

.

.

.

33

.

.

.

.

.

.

33

 

34

35

.

.

.

.

.

.

35

.

.

.

.

.

.

37

 

39

.

.

.

.

.

.

39

.

.

.

.

.

.

39

.

.

.

.

.

.

39

.

.

.

.

.

.

40

 

4 0

40

.

.

.

.

.

.

40

.

.

.

.

.

.

41

.

.

.

.

.

.

41

.

.

.

.

.

.

42

.

.

.

.

.

.

42

.

.

.

.

.

.

42

.

.

.

.

.

.

43

.

.

.

.

.

.

43

 

45

.

.

.

.

.

.

45

.

.

.

.

.

.

45

.

.

.

.

.

.

45

.

.

.

.

.

.

46

 

4 6

.

.

.

.

.

.

47

.

.

.

.

.

.

48

 

49

.

.

.

.

.

.

49

.

.

.

.

.

.

49

.

.

.

.

.

.

50

 

50

.

.

.

.

.

.

50

.

.

.

.

.

.

51

.

.

.

.

.

.

52

.

.

.

.

.

.

52

.

.

.

.

.

.

54

.

.

.

.

.

.

54

8.9

Backups

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

57

9 Testing and Evaluation

 

59

9.1

Testing

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

59

9.1.1 Introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

59

9.1.2 What will need to be Tested

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

59

9.1.3 Types of Testing

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

59

9.1.4 Interface Testing

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

60

9.1.5 Functional Testing

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

61

9.1.6 Unit and Integrated Testing

 

64

9.1.7 Black-Box Testing

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

64

9.1.8 White-Box Testing

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

65

9.1.9 Results and Conclusion

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

65

9.2

Evaluation

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

65

9.2.1

JPVM

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

66

9.2.2

WCSW Calculations

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

66

9.2.3

Summary

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

66

10 Conclusion

 

67

10.1 Summary of Results

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

67

10.2 Project Management .

.

.

.

.

.

.

.

.