SlideShare a Scribd company logo
1 of 66
Download to read offline
Files from Mars:
Java™ Technology in the MER Data
Infrastructure
David Noble
Principal Consultant
Oak Grove Consulting
http://marsrovers.jpl.nasa.gov/
TS-1416



                         SM
             2005 JavaOne Conference | Session TS-1416
Goal



                  Examine challenges and tradeoffs in
                  the development of software for a
                  ground system supporting the Mars
                  Exploration Rovers



This work was performed at the Jet Propulsion Laboratory, California Institute of Technology,
under a contract with the National Aeronautics and Space Administration
                                                                                                     SM
                                                                                         2005 JavaOne Conference | Session TS-1416 |   2
Agenda

Background
Challenges
Simplicity
Extensibility
Reuse
Summary
Q&A
                            SM
                2005 JavaOne Conference | Session TS-1416 |   3
Agenda

Background
Challenges
Simplicity
Extensibility
Reuse
Summary
Q&A
                            SM
                2005 JavaOne Conference | Session TS-1416 |   4
Mission Overview

       Two robotic geologists exploring Mars




       Credit: NASA/JPL/Cornell


Detail of 'Cahokia' panorama
http://photojournal.jpl.nasa.gov/feature/cahokia
                                                               SM
                                                   2005 JavaOne Conference | Session TS-1416 |   5
Credit: NASA/JPL/MSSS/NMMNH

MER-A (Spirit) Traverse to Sol 450
http://photojournal.jpl.nasa.gov/catalog/PIA07849
                                                                SM
                                                    2005 JavaOne Conference | Session TS-1416 |   6
Height: 1.5m
      Width: 2.3m
      Length: 1.6m
      Mass: 174kg




                                          Credit: NASA/JPL



MER-A (Spirit) and Mars Pathfinder flight spare
http://marsrovers.jpl.nasa.gov/gallery/spacecraft/mer2002_1106_b231.html
                                                                                       SM
                                                                           2005 JavaOne Conference | Session TS-1416 |   7
Credit: NASA/JPL/Cornell/USGS/University of Mainz
Credit: Maas Digital LLC, NASA/JPL




                                                              Credit: NASA/JPL/Cornell/ASU
 Credit: NASA/JPL/Cornell/ASU
http://athena.cornell.edu/
                                                         SM
                                             2005 JavaOne Conference | Session TS-1416 |   8
NASA’s Science Objectives

            Long-term science goals for Mars Exploration:
       ●


                  Determine whether Life ever arose on Mars
              ●


                  Characterize the Climate of Mars
              ●


                  Characterize the Geology of Mars
              ●


                  Prepare for Human Exploration
              ●




http://marsrovers.jpl.nasa.gov/science/
                                                              SM
                                                  2005 JavaOne Conference | Session TS-1416 |   9
MER’s Science Objectives

    “          The scientific objectives of the Mars Exploration Rover mission are to:

                                                                                                 water activity. In
                 1. Search for and characterize a variety of rocks and soils that hold clues to past

                   particular, samples sought will include those that have minerals deposited by water-related
                    processes such as precipitation, evaporation, sedimentary cementation, or hydrothermal activity.
                 2. Determine the distribution and composition of minerals, rocks, and soils surrounding the landing sites.
                 3. Determine what geologic processes have shaped the local terrain and influenced the chemistry. Such
                                             water
                    processes could include                 or wind erosion, sedimentation, hydrothermal mechanisms,
                    volcanism, and cratering.
                 4. Perform quot;ground truthquot;—calibration and validation—of surface observations made by Mars orbiter
                    instruments. This will help determine the accuracy and effectiveness of various instruments that survey
                    Martian geology from orbit.
                 5. Search for iron-containing minerals, identify and quantify relative amounts of specific mineral types that
                           water                            water,
                    contain             or were formed in               such as iron-bearing carbonates.
                 6. Characterize the mineralogy and textures of rocks and soils and determine the processes that created
                    them.

                                                                                                             water was

                                                                                          ”
                 7. Search for geological clues to the environmental conditions that existed when liquid
                    present. Assess whether those environments were conducive to life.




http://marsrovers.jpl.nasa.gov/science/objectives.html
                                                                                                        SM
                                                                                            2005 JavaOne Conference | Session TS-1416 |   10
Actors

    Scientists
●

        Evaluate images and other data
    ●


        Plan rover activities
    ●



    Engineers
●

        Evaluate rover health, state, performance
    ●


        Build rover activity commands
    ●


        Keep everything working
    ●




                                                      SM
                                          2005 JavaOne Conference | Session TS-1416 |   11
Downlink Data Flow


                                        Scientist
                                                                                     PDS
                                                    EVR

                                                    DP                               MIPL
                                  TIS    TDS                      OSS
                                                    EHA
                            TIS   TDS
                                        Engineer
Not to scale.
Significantly simplified.
                                                                     SM
                                                         2005 JavaOne Conference | Session TS-1416 |   12
Downlink Data Composition
                              2% 3%
                                            95% Products
                             8%
                                                   Channels
                                                   Events
                                                   Engineering
                                      53%          Products
                                                   Engineering
                            33%                    Cameras
                                                   Science




MER-A (Spirit) Sols 1-400
Percentage of data volume
                                                                   SM
                                                       2005 JavaOne Conference | Session TS-1416 |   13
Agenda

Background
Challenges
Simplicity
Extensibility
Reuse
Summary
Q&A
                            SM
                2005 JavaOne Conference | Session TS-1416 |   14
Deadline

            MER-A Launch Window
      ●

                 June 8, 2003–June 24, 2003
             ●



            MER-B Launch Window
      ●

                 June 25, 2003–July 15, 2003
             ●



            Two opportunities per day
      ●


            10 days required between launches
      ●




MER Landing Press Kit, 12-1-03
http://marsrovers.jpl.nasa.gov/newsroom/merlandings.pdf
                                                                      SM
                                                          2005 JavaOne Conference | Session TS-1416 |   15
Planetary Alignment




MER Landing Press Kit, 12-1-03
http://marsrovers.jpl.nasa.gov/newsroom/merlandings.pdf
                                                                      SM
                                                          2005 JavaOne Conference | Session TS-1416 |   16
Tactical Timeline

    15 hours to create next sol’s commands
●

        Evaluate health, etc
    ●


        Evaluate science
    ●


        Determine science goals
    ●


        Plan activities
    ●


        Build and validate commands
    ●




                                                  SM
                                      2005 JavaOne Conference | Session TS-1416 |   17
Risk
Mars Missions, from 1/1/1970 to 1/1/2004

                                 Attempts                            Successes
     Orbiters                       11                                  4
     Landers                        13                                  4
     Rovers                          1                                  1
                         MER Landing Press Kit, 12-1-03
                         http://marsrovers.jpl.nasa.gov/newsroom/merlandings.pdf




                                                                SM
                                                    2005 JavaOne Conference | Session TS-1416 |   18
Budget
      Primary Mission: $820 Million USD

                                                          $75M

                                                             $100M
                                                                                      Spacecraft Dev
                                           $645M                                      and Science
                                                                                      Instruments
                                                                                      Launch
                                                                                      Mission Ops and
                                                                                      Science Proc-
                                                                                      essing




MER Landing Press Kit, 12-1-03
http://marsrovers.jpl.nasa.gov/newsroom/merlandings.pdf
                                                                                 SM
                                                                     2005 JavaOne Conference | Session TS-1416 |   19
Visibility

           First three days after landing:
      ●

                 One billion web hits
             ●


                 15 Terabytes downloaded by web browsers
             ●




http://marsrovers.jpl.nasa.gov/newsroom/pressreleases/20040106a.html
                                                                                   SM
                                                                       2005 JavaOne Conference | Session TS-1416 |   20
Agenda

Background
Challenges
Simplicity
Extensibility
Reuse
Summary
Q&A
                            SM
                2005 JavaOne Conference | Session TS-1416 |   21
Loose Coupling

    Benefits
●

        Component reuse
    ●


        Component pluggability
    ●


        Parallel development
    ●



    Drivers: cost, risk
●




                                             SM
                                 2005 JavaOne Conference | Session TS-1416 |   22
Criteria

    Usability
●


    Correctness
●


    Testability
●


    Reliability
●




                              SM
                  2005 JavaOne Conference | Session TS-1416 |   23
Options

    Service Lookup
●


    Inversion of Control
●


    JavaBeans and InfoBus
●


    Message Pub/Sub
●




                                        SM
                            2005 JavaOne Conference | Session TS-1416 |   24
Options

    Service Lookup
●


    Inversion of Control
●


    JavaBeans and InfoBus
●


    Message Pub/Sub
●




                                        SM
                            2005 JavaOne Conference | Session TS-1416 |   25
Message Classes

      Message
 getType() : String

                          MessageContext
      <<interface>>
                         publish(Message)
MessageSubscriber        subscribe(type:String,
                                   Subscriber)
handleMessage(Message)




                                         SM
                             2005 JavaOne Conference | Session TS-1416 |   26
Message Classes

       Message
  getType() : String

                             MessageContext
       <<interface>>
                           publish(Message)
MessageSubscriber          subscribe(type:String,
                                     Subscriber)
handleMessage(Message)


                         MessageContextFactory
BaseMessageHandler
                         createMessageContext()
handleMessage(Message)       : MessageContext

                                           SM
                               2005 JavaOne Conference | Session TS-1416 |   27
Message Publisher
public class MyPublisher {

    private MessageContext messageContext;

    public MyPublisher(MessageContext context) {
        this.messageContext = context;
    }

    public void demonstratePublish() {
        SampleMessage message = new SampleMessage();
        messageContext.publish(message);
    }

}
                                              SM
                                  2005 JavaOne Conference | Session TS-1416 |   28
Message Subscriber
public class MySubscriber implements MessageSubscriber {

    public MySubscriber(MessageContext messageContext) {
        messageContext.subscribe(SampleMessage.TYPE,
                                 this);
    }

    public void handleMessage(Message genericMessage) {
        SampleMessage message;
        message = (SampleMessage) genericMessage;
        // ... do something with the message
    }

}



                                                   SM
                                       2005 JavaOne Conference | Session TS-1416 |   29
Subscriber to Multiple Messages
messageContext.subscribe(FooMessage.TYPE,
    new BaseMessageHandler() {
        public void handleMessage(Message   genericMessage){
            handleFooMessage((FooMessage)   genericMessage);
        }
    }
);
messageContext.subscribe(BarMessage.TYPE,
    new BaseMessageHandler() {
        public void handleMessage(Message   genericMessage){
            handleBarMessage((BarMessage)   genericMessage);
        }
    }
);



                                                   SM
                                       2005 JavaOne Conference | Session TS-1416 |   30
Assembling Components
MessageContext context = new MessageContext();
context.setVerbose(verbose);

ProductInput input = addProductInput(context);
if (dump) {
    addProductDumpOutput(context);
}
ProductBuilder builder = addProductBuilder(context);
ProductStorage storage = addProductStorage(context);
addProductSummaryOutput(context);
addExternalSubscribers(context);

input.read();




                                                   SM
                                       2005 JavaOne Conference | Session TS-1416 |   31
Lines of Code for Message Package
Including Test Classes

                         Lines                       Percent
     Brackets             59                         8.70%
     Whitespace           70                         10.32%
     Comments             345                        50.88%
     “Significant”        204                        30.09%
     Total                678




                                             SM
                                 2005 JavaOne Conference | Session TS-1416 |   32
Would I Do It Again?

    Yes
●


    Reused for other missions
●


    Watching for creeping complexity
●




                                               SM
                                   2005 JavaOne Conference | Session TS-1416 |   33
Data Product Storage

    Product files
●


    Product metadata
●


    Product part metadata
●




                                        SM
                            2005 JavaOne Conference | Session TS-1416 |   34
Schema Design

     Product
                              ProductPart
    ID
    Filename
                   1          ID
    Command
                              Product
    Series
                              PartNumber
    CreationTime       1..*   DataFilename
    TotalParts
                              DataOffset
    etc
                              DataLength
                              etc




                                              SM
                                  2005 JavaOne Conference | Session TS-1416 |   35
Database




                       SM
           2005 JavaOne Conference | Session TS-1416 |   36
Why Not?

    Procedures
●

        Installation, configuration, maintenance
    ●



    Validation tests
●

        Performance, scalability, reliability
    ●



    Third party software evaluations, DBA, …
●


    Time
●




                                                            SM
                                                2005 JavaOne Conference | Session TS-1416 |   37
Product Metadata

    XML
●


    Regular line breaks
●




                                      SM
                          2005 JavaOne Conference | Session TS-1416 |   38
Locations
Complete Products
products/<type>/<subtype>/<command>_<series>_<time>.dat
products/<type>/<subtype>/<command>_<series>_<time>.emd

Partial Products
<command>_<series>_<time>_Partial-<counter>.pdat
<command>_<series>_<time>_Partial-<counter>.pemd

Parts Cache
products/parts/<filename>/*.dat
products/parts/<filename>/*.emd

Alternate Views
sol/<NNN>/ssw/products/created/<typename>/<filename>
sol/<NNN>/ssw/products/received/<typename>/<filename>


                                                   SM
                                       2005 JavaOne Conference | Session TS-1416 |   39
Would I Do It Again?

    Not exactly
●


    Add database
●

        Develop procedures off critical path
    ●



    Keep files
●

        Accessible to scripts, people
    ●




                                                       SM
                                           2005 JavaOne Conference | Session TS-1416 |   40
Agenda

Background
Challenges
Simplicity
Extensibility
Reuse
Summary
Q&A
                            SM
                2005 JavaOne Conference | Session TS-1416 |   41
Product Action Triggers

    Requirement:
●

        Trigger actions on product arrival
    ●




                                                         SM
                                             2005 JavaOne Conference | Session TS-1416 |   42
Product Action Triggers

    Initial requirement:
●

    “Users can register to be notified by email
    when a product arrives”




                                                      SM
                                          2005 JavaOne Conference | Session TS-1416 |   43
Product Action Triggers

    Filter criteria
●


    Script execution
●




                                      SM
                          2005 JavaOne Conference | Session TS-1416 |   44
Configuration
<subscriptions>
  <script>
    <trigger complete=quot;yesquot; partial=quot;noquot;/>
    <filter>
      <allow apid=quot;50quot; subtype=quot;78quot;/>
    </filter>
    <path>subscriptions/scripts/uncompress</path>
  </script>
</subscriptions>


                                               SM
                                   2005 JavaOne Conference | Session TS-1416 |   45
Multiple Uses

    Science processing
●


    Generic uncompression
●


    Text representations
●


    Multiple directory hierarchies
●




                                                 SM
                                     2005 JavaOne Conference | Session TS-1416 |   46
However…

    Never did email product notification
●




                                                 SM
                                     2005 JavaOne Conference | Session TS-1416 |   47
However…

    Never did email product notification
●


    Email reports had high-level summaries
●




                                               SM
                                   2005 JavaOne Conference | Session TS-1416 |   48
Would I Do It Again?

    Yes, but…
●


    With JMS message publishing
●




                                              SM
                                  2005 JavaOne Conference | Session TS-1416 |   49
Product Display

    XML Data Dictionary
●

        Values
    ●


        Units
    ●


        Lookup tables
    ●


        Arrays of values
    ●


        Arrays of arrays
    ●


        “Opaque” blocks handled by external viewers
    ●




                                                     SM
                                         2005 JavaOne Conference | Session TS-1416 |   50
External Viewers

    Images
●


    Complex data structures
●


    Special formatting
●


    Reports
●




                                          SM
                              2005 JavaOne Conference | Session TS-1416 |   51
Hazcam Image
% mer_dp_view img_image_loco_fhl/*.dat | more

Filename:    img_image_loco_fhl/f0006-000-0000_003_0161168693-127.dat
Type:        img_image_loco_fhl - LOCO Compressed Image, Left Front Hazcam
Spacecraft: MER A (SCID=254)
DVT:         2005-039T20:59:11.217 - 0161168693.127
Packetized: 2005-045T04:00:14.932 - 0161625954.245
ERT:         2005-045T06:10:23.782
APID=25 Subtype=9 Version=2
     Image ID: 1000012323
     Camera ID: Front Left Hazcam
     Filter ID: No filter/unknown
     Array PMA Coordinate length 3
         [0] PMA Coordinate: 0.000000
         [1] PMA Coordinate: 0.000000
         [2] PMA Coordinate: 0.000000
     PMA Pointing Argument: 0
     Image Acquire Request: Acquire Image
     Shutter Subtraction Request: None




                                                      Credit: NASA/JPL/Caltech

                                                                   SM
                                                       2005 JavaOne Conference | Session TS-1416 |   52
UHF Link Report
Filename:   products/047/010/e0105-001-0005_001_0134188770-155.dat
Type:       uhf_link_rep - UHF Link Report
Spacecraft: MER A (SCID=254)
DVT:        2004-093T14:38:43.195 - 0134188770.155
Packetized: 2004-093T16:28:59.022 - 0134195386.103
ERT:        2004-093T16:55:10.744
APID=47 Subtype=10 Version=0
product_viewer: viewUhfDps products/047/010/e0105-001-0005_001_0134188770-155.dat

Report for quot;UHF Link Reportquot; data product (47/10)
    Product Version: 0
    File Name: products/047/010/e0105-001-0005_001_0134188770-155.dat

Accounting
---------------------------------------------------------------------------
File size:         12028 bytes
Time span:         1000 seconds
Number of samples: 999
Sample period:     1 second

                               Start                  End
---------------------------------------------------------
SCLK:                134188770.61377      134189770.50879
Osc. Temp (DN)                 12633                12911
Osc. Temp Status                Good                 Good
PA Temp (DN)                       0                    0
PA Temp Status                  Good                 Good

--Samp---------SCLK---Rx_Pwr(DN)---Word 4---Tx_State---RC_Tone---TC_Tone---Link_Qual---Bit_Sync---Car_Lock-----
TAC-----RAC
     1    134188771         8197   0x0094        Off   No_Tone   No_Tone        Good     No_Lock     No_Lock        0
   0
     2    134188772         8404   0x0094        Off   No_Tone   No_Tone        Good     No_Lock     No_Lock        0
   0                                                                                       SM
                                                                              2005 JavaOne Conference | Session TS-1416 |   53
     3    134188773         8409   0xf008        Off   No_Tone   No_Tone         Bad     No_Lock     No_Lock        0
Would I Do It Again?

    Yes, but…
●


    Add type/length/value data types
●


    Add formatting plugin (XSL, Velocity, etc.)
●




                                                 SM
                                     2005 JavaOne Conference | Session TS-1416 |   54
Agenda

Background
Challenges
Simplicity
Extensibility
Reuse
Summary
Q&A
                            SM
                2005 JavaOne Conference | Session TS-1416 |   55
Reuse Across Missions

    Cassini
●


    Deep Impact
●


    Dawn
●


    MRO
●


    MSL
●




                                    SM
                        2005 JavaOne Conference | Session TS-1416 |   56
Package Dependencies
 report


          product


                    evr




                           sfdu
          message   app


            log     util   ecp


                                         SM
                             2005 JavaOne Conference | Session TS-1416 |   57
General Libraries
 report


          product


                    evr




                           sfdu
          message   app


            log     util   ecp


                                         SM
                             2005 JavaOne Conference | Session TS-1416 |   58
Domain Specific Libraries
 report


          product


                    evr




                           sfdu
          message   app


            log     util   ecp


                                         SM
                             2005 JavaOne Conference | Session TS-1416 |   59
Application Specific Code
 report


          product


                    evr




                           sfdu
          message   app


            log     util   ecp


                                         SM
                             2005 JavaOne Conference | Session TS-1416 |   60
Agenda

Background
Challenges
Simplicity
Extensibility
Reuse
Summary
Q&A
                            SM
                2005 JavaOne Conference | Session TS-1416 |   61
Summary

    Simplicity to handle risk, cost, schedule
●


    Extensibility to handle uncertainty
●


    Reuse to handle risk, cost, schedule
●


    Know your users
●


        One size does not fit all
    ●


        Requirements documents are not enough
    ●


        Use assumptions that fit reality
    ●




                                                  SM
                                      2005 JavaOne Conference | Session TS-1416 |   62
For More Information

    Science Instruments Home Page
●

        http://athena.cornell.edu/
    ●



    MER Analyst’s Notebook
●

        http://anserver1.eprsl.wustl.edu/
    ●



    Basics of Space Flight
●

        http://www.jpl.nasa.gov/basics/
    ●



    Introduction to the AMMOS Ground System
●

        http://eis.jpl.nasa.gov/~betsy/mm/intro.htm
    ●




                                                        SM
                                            2005 JavaOne Conference | Session TS-1416 |   63
Q&A



                  SM
      2005 JavaOne Conference | Session TS-1416 |   64
Submit Session Evaluations for Prizes!
Your opinions are important to Sun
      You can win a $75.00 gift certificate to the on-site Retail
  ●

      Store by telling Sun what you think!
      Turn in completed forms to enter the daily drawing
  ●


      Each evaluation must be turned in the same day as the
  ●

      session presentation
      Five winners will be chosen each day (Sun will send the
  ●

      winners email)
      Drop-off locations: give to the room monitors or use any
  ●

      of the three drop-off stations in the North and South
      Halls
      Note: W inners on Thursday, 6/30, will receive and can redeem
      certificates via email                              SM
                                              2005 JavaOne Conference | Session TS-1416 |   65
Files from Mars:
Java™ Technology in the MER Data
Infrastructure
David Noble
Principal Consultant
Oak Grove Consulting
http://marsrovers.jpl.nasa.gov/
TS-1416



                          SM
              2005 JavaOne Conference | Session TS-1416

More Related Content

What's hot

Rust.randy
Rust.randyRust.randy
Rust.randyNASAPMC
 
Mineral potential mapping as a strategic planning tool in the eastern Lachlan...
Mineral potential mapping as a strategic planning tool in the eastern Lachlan...Mineral potential mapping as a strategic planning tool in the eastern Lachlan...
Mineral potential mapping as a strategic planning tool in the eastern Lachlan...Kenex Ltd
 
Eonfusion Introduction
Eonfusion IntroductionEonfusion Introduction
Eonfusion Introductionchrismalzone
 
Mineral Potential Mapping for Pre-Competitive Data Delivery in NSW Zone 54
Mineral Potential Mapping for Pre-Competitive Data Delivery in NSW Zone 54Mineral Potential Mapping for Pre-Competitive Data Delivery in NSW Zone 54
Mineral Potential Mapping for Pre-Competitive Data Delivery in NSW Zone 54Kenex Ltd
 
Kelly.j.crumbley.t
Kelly.j.crumbley.tKelly.j.crumbley.t
Kelly.j.crumbley.tNASAPMC
 
Science e school-2-23-2007
Science e school-2-23-2007Science e school-2-23-2007
Science e school-2-23-2007larryjrice
 
Environmental monitoring of soil radon in a very tectonic area in south west ...
Environmental monitoring of soil radon in a very tectonic area in south west ...Environmental monitoring of soil radon in a very tectonic area in south west ...
Environmental monitoring of soil radon in a very tectonic area in south west ...Anax Fotopoulos
 
Mineral potential mapping in Bundarra, Queensland
Mineral potential mapping in Bundarra, QueenslandMineral potential mapping in Bundarra, Queensland
Mineral potential mapping in Bundarra, QueenslandKenex Ltd
 
The Tampia Hill case study
The Tampia Hill case studyThe Tampia Hill case study
The Tampia Hill case studyKenex Ltd
 
Gena.henderson
Gena.hendersonGena.henderson
Gena.hendersonNASAPMC
 
The Bundarra project case study
The Bundarra project case studyThe Bundarra project case study
The Bundarra project case studyKenex Ltd
 
Barnett et al. 2017 ESR
Barnett et al. 2017 ESRBarnett et al. 2017 ESR
Barnett et al. 2017 ESRTom Newton
 
Ann over
Ann overAnn over
Ann overNASAPMC
 
John.lyver safety
John.lyver safetyJohn.lyver safety
John.lyver safetyNASAPMC
 
Advanced Analysis of Carbonate Systems
Advanced Analysis of Carbonate SystemsAdvanced Analysis of Carbonate Systems
Advanced Analysis of Carbonate SystemsPetroTeach1
 
H2O Presentation 26May2011
H2O Presentation 26May2011H2O Presentation 26May2011
H2O Presentation 26May2011Justin Vandever
 
Petro Teach Free Webinar on "Rock Physics for Quantitative Seismic Reservoir ...
Petro Teach Free Webinar on "Rock Physics for Quantitative Seismic Reservoir ...Petro Teach Free Webinar on "Rock Physics for Quantitative Seismic Reservoir ...
Petro Teach Free Webinar on "Rock Physics for Quantitative Seismic Reservoir ...Petro Teach
 
PetroTeach Free Webinar on Seismic Reservoir Characterization
PetroTeach Free Webinar on Seismic Reservoir CharacterizationPetroTeach Free Webinar on Seismic Reservoir Characterization
PetroTeach Free Webinar on Seismic Reservoir CharacterizationPetroTeach1
 

What's hot (20)

Rust.randy
Rust.randyRust.randy
Rust.randy
 
Mineral potential mapping as a strategic planning tool in the eastern Lachlan...
Mineral potential mapping as a strategic planning tool in the eastern Lachlan...Mineral potential mapping as a strategic planning tool in the eastern Lachlan...
Mineral potential mapping as a strategic planning tool in the eastern Lachlan...
 
Eonfusion Introduction
Eonfusion IntroductionEonfusion Introduction
Eonfusion Introduction
 
Mineral Potential Mapping for Pre-Competitive Data Delivery in NSW Zone 54
Mineral Potential Mapping for Pre-Competitive Data Delivery in NSW Zone 54Mineral Potential Mapping for Pre-Competitive Data Delivery in NSW Zone 54
Mineral Potential Mapping for Pre-Competitive Data Delivery in NSW Zone 54
 
Kelly.j.crumbley.t
Kelly.j.crumbley.tKelly.j.crumbley.t
Kelly.j.crumbley.t
 
Science e school-2-23-2007
Science e school-2-23-2007Science e school-2-23-2007
Science e school-2-23-2007
 
Environmental monitoring of soil radon in a very tectonic area in south west ...
Environmental monitoring of soil radon in a very tectonic area in south west ...Environmental monitoring of soil radon in a very tectonic area in south west ...
Environmental monitoring of soil radon in a very tectonic area in south west ...
 
Mineral potential mapping in Bundarra, Queensland
Mineral potential mapping in Bundarra, QueenslandMineral potential mapping in Bundarra, Queensland
Mineral potential mapping in Bundarra, Queensland
 
The Tampia Hill case study
The Tampia Hill case studyThe Tampia Hill case study
The Tampia Hill case study
 
Charles Parsons Initiative - Energy and Sustainable Environment
Charles Parsons Initiative - Energy and Sustainable EnvironmentCharles Parsons Initiative - Energy and Sustainable Environment
Charles Parsons Initiative - Energy and Sustainable Environment
 
T s2 gh3_richard price
T s2 gh3_richard priceT s2 gh3_richard price
T s2 gh3_richard price
 
Gena.henderson
Gena.hendersonGena.henderson
Gena.henderson
 
The Bundarra project case study
The Bundarra project case studyThe Bundarra project case study
The Bundarra project case study
 
Barnett et al. 2017 ESR
Barnett et al. 2017 ESRBarnett et al. 2017 ESR
Barnett et al. 2017 ESR
 
Ann over
Ann overAnn over
Ann over
 
John.lyver safety
John.lyver safetyJohn.lyver safety
John.lyver safety
 
Advanced Analysis of Carbonate Systems
Advanced Analysis of Carbonate SystemsAdvanced Analysis of Carbonate Systems
Advanced Analysis of Carbonate Systems
 
H2O Presentation 26May2011
H2O Presentation 26May2011H2O Presentation 26May2011
H2O Presentation 26May2011
 
Petro Teach Free Webinar on "Rock Physics for Quantitative Seismic Reservoir ...
Petro Teach Free Webinar on "Rock Physics for Quantitative Seismic Reservoir ...Petro Teach Free Webinar on "Rock Physics for Quantitative Seismic Reservoir ...
Petro Teach Free Webinar on "Rock Physics for Quantitative Seismic Reservoir ...
 
PetroTeach Free Webinar on Seismic Reservoir Characterization
PetroTeach Free Webinar on Seismic Reservoir CharacterizationPetroTeach Free Webinar on Seismic Reservoir Characterization
PetroTeach Free Webinar on Seismic Reservoir Characterization
 

Similar to Files From Mars

Osychny_Vladimir_resume_2017
Osychny_Vladimir_resume_2017Osychny_Vladimir_resume_2017
Osychny_Vladimir_resume_2017Vladimir Osychny
 
In Situ Resource Utilization by Humans in Planetary Analog Environments
In Situ Resource Utilization by Humans in Planetary Analog EnvironmentsIn Situ Resource Utilization by Humans in Planetary Analog Environments
In Situ Resource Utilization by Humans in Planetary Analog EnvironmentsBrian Shiro
 
4 Nalli-Barnet-Zhou-etal oral - JPSS EDR Val - IGARSS Jul-2011 v1.pdf
4 Nalli-Barnet-Zhou-etal oral - JPSS EDR Val - IGARSS Jul-2011 v1.pdf4 Nalli-Barnet-Zhou-etal oral - JPSS EDR Val - IGARSS Jul-2011 v1.pdf
4 Nalli-Barnet-Zhou-etal oral - JPSS EDR Val - IGARSS Jul-2011 v1.pdfgrssieee
 
4 Nalli-Barnet-Zhou-etal oral - JPSS EDR Val - IGARSS Jul-2011 v1.pdf
4 Nalli-Barnet-Zhou-etal oral - JPSS EDR Val - IGARSS Jul-2011 v1.pdf4 Nalli-Barnet-Zhou-etal oral - JPSS EDR Val - IGARSS Jul-2011 v1.pdf
4 Nalli-Barnet-Zhou-etal oral - JPSS EDR Val - IGARSS Jul-2011 v1.pdfgrssieee
 
well logging project report_ongc project student
well logging project report_ongc project studentwell logging project report_ongc project student
well logging project report_ongc project studentknigh7
 
2012 Recent US Work Relating to Munitions in the Underwater Environment
2012 Recent US Work Relating to Munitions in the Underwater Environment2012 Recent US Work Relating to Munitions in the Underwater Environment
2012 Recent US Work Relating to Munitions in the Underwater EnvironmentGeoffrey Carton
 
Data sharing within the CCS community – an overview
Data sharing within the CCS community – an overviewData sharing within the CCS community – an overview
Data sharing within the CCS community – an overviewGlobal CCS Institute
 
Computer Vision in Geosciences
Computer Vision in GeosciencesComputer Vision in Geosciences
Computer Vision in GeosciencesPavel Golubev
 
A PRAGMA-OptIPlanet Collaboratory Partnership
A PRAGMA-OptIPlanet Collaboratory PartnershipA PRAGMA-OptIPlanet Collaboratory Partnership
A PRAGMA-OptIPlanet Collaboratory PartnershipLarry Smarr
 
TU2.L10 - THE AQUARIUS/SAC-D MISSION OVERVIEW
TU2.L10 - THE AQUARIUS/SAC-D MISSION OVERVIEWTU2.L10 - THE AQUARIUS/SAC-D MISSION OVERVIEW
TU2.L10 - THE AQUARIUS/SAC-D MISSION OVERVIEWgrssieee
 
29 reed synergies
29 reed synergies29 reed synergies
29 reed synergiesleann_mays
 
Geological field activities at the HI-SEAS planetary surface analog mission s...
Geological field activities at the HI-SEAS planetary surface analog mission s...Geological field activities at the HI-SEAS planetary surface analog mission s...
Geological field activities at the HI-SEAS planetary surface analog mission s...Brian Shiro
 
PAUT Inspection Simulation of Welds at NASA
PAUT Inspection Simulation of Welds at NASAPAUT Inspection Simulation of Welds at NASA
PAUT Inspection Simulation of Welds at NASAejnovick
 
Matthew Purss_"Skinning the multi-dimensional cat": how TERN and the Unlockin...
Matthew Purss_"Skinning the multi-dimensional cat": how TERN and the Unlockin...Matthew Purss_"Skinning the multi-dimensional cat": how TERN and the Unlockin...
Matthew Purss_"Skinning the multi-dimensional cat": how TERN and the Unlockin...TERN Australia
 

Similar to Files From Mars (20)

Osychny_Vladimir_resume_2017
Osychny_Vladimir_resume_2017Osychny_Vladimir_resume_2017
Osychny_Vladimir_resume_2017
 
MDE_Projects_history_2016
MDE_Projects_history_2016MDE_Projects_history_2016
MDE_Projects_history_2016
 
AMG_2015
AMG_2015AMG_2015
AMG_2015
 
In Situ Resource Utilization by Humans in Planetary Analog Environments
In Situ Resource Utilization by Humans in Planetary Analog EnvironmentsIn Situ Resource Utilization by Humans in Planetary Analog Environments
In Situ Resource Utilization by Humans in Planetary Analog Environments
 
4 Nalli-Barnet-Zhou-etal oral - JPSS EDR Val - IGARSS Jul-2011 v1.pdf
4 Nalli-Barnet-Zhou-etal oral - JPSS EDR Val - IGARSS Jul-2011 v1.pdf4 Nalli-Barnet-Zhou-etal oral - JPSS EDR Val - IGARSS Jul-2011 v1.pdf
4 Nalli-Barnet-Zhou-etal oral - JPSS EDR Val - IGARSS Jul-2011 v1.pdf
 
4 Nalli-Barnet-Zhou-etal oral - JPSS EDR Val - IGARSS Jul-2011 v1.pdf
4 Nalli-Barnet-Zhou-etal oral - JPSS EDR Val - IGARSS Jul-2011 v1.pdf4 Nalli-Barnet-Zhou-etal oral - JPSS EDR Val - IGARSS Jul-2011 v1.pdf
4 Nalli-Barnet-Zhou-etal oral - JPSS EDR Val - IGARSS Jul-2011 v1.pdf
 
well logging project report_ongc project student
well logging project report_ongc project studentwell logging project report_ongc project student
well logging project report_ongc project student
 
2012 Recent US Work Relating to Munitions in the Underwater Environment
2012 Recent US Work Relating to Munitions in the Underwater Environment2012 Recent US Work Relating to Munitions in the Underwater Environment
2012 Recent US Work Relating to Munitions in the Underwater Environment
 
Mercator Ocean newsletter 50
Mercator Ocean newsletter 50Mercator Ocean newsletter 50
Mercator Ocean newsletter 50
 
Data sharing within the CCS community – an overview
Data sharing within the CCS community – an overviewData sharing within the CCS community – an overview
Data sharing within the CCS community – an overview
 
D Michael Chapin_CV
D Michael Chapin_CVD Michael Chapin_CV
D Michael Chapin_CV
 
Computer Vision in Geosciences
Computer Vision in GeosciencesComputer Vision in Geosciences
Computer Vision in Geosciences
 
A PRAGMA-OptIPlanet Collaboratory Partnership
A PRAGMA-OptIPlanet Collaboratory PartnershipA PRAGMA-OptIPlanet Collaboratory Partnership
A PRAGMA-OptIPlanet Collaboratory Partnership
 
TU2.L10 - THE AQUARIUS/SAC-D MISSION OVERVIEW
TU2.L10 - THE AQUARIUS/SAC-D MISSION OVERVIEWTU2.L10 - THE AQUARIUS/SAC-D MISSION OVERVIEW
TU2.L10 - THE AQUARIUS/SAC-D MISSION OVERVIEW
 
29 reed synergies
29 reed synergies29 reed synergies
29 reed synergies
 
Initial Core Descriptions
Initial Core DescriptionsInitial Core Descriptions
Initial Core Descriptions
 
Geological field activities at the HI-SEAS planetary surface analog mission s...
Geological field activities at the HI-SEAS planetary surface analog mission s...Geological field activities at the HI-SEAS planetary surface analog mission s...
Geological field activities at the HI-SEAS planetary surface analog mission s...
 
PAUT Inspection Simulation of Welds at NASA
PAUT Inspection Simulation of Welds at NASAPAUT Inspection Simulation of Welds at NASA
PAUT Inspection Simulation of Welds at NASA
 
Matthew Purss_"Skinning the multi-dimensional cat": how TERN and the Unlockin...
Matthew Purss_"Skinning the multi-dimensional cat": how TERN and the Unlockin...Matthew Purss_"Skinning the multi-dimensional cat": how TERN and the Unlockin...
Matthew Purss_"Skinning the multi-dimensional cat": how TERN and the Unlockin...
 
legtc_resume
legtc_resumelegtc_resume
legtc_resume
 

More from David Noble

Scratch project ideas
Scratch project ideasScratch project ideas
Scratch project ideasDavid Noble
 
Open Source BPM in Java
Open Source BPM in JavaOpen Source BPM in Java
Open Source BPM in JavaDavid Noble
 
Mobile Devices: Superpowers and Science Fiction
Mobile Devices: Superpowers and Science FictionMobile Devices: Superpowers and Science Fiction
Mobile Devices: Superpowers and Science FictionDavid Noble
 
Cloud Computing - a conversation
Cloud Computing - a conversationCloud Computing - a conversation
Cloud Computing - a conversationDavid Noble
 
Return of the Command Line: New Text Interfaces
Return of the Command Line: New Text InterfacesReturn of the Command Line: New Text Interfaces
Return of the Command Line: New Text InterfacesDavid Noble
 
Java Builds with Maven and Ant
Java Builds with Maven and AntJava Builds with Maven and Ant
Java Builds with Maven and AntDavid Noble
 
Java Code Generation for Productivity
Java Code Generation for ProductivityJava Code Generation for Productivity
Java Code Generation for ProductivityDavid Noble
 
Salesforce and Skype
Salesforce and SkypeSalesforce and Skype
Salesforce and SkypeDavid Noble
 
Salesforce and Google Calendar
Salesforce and Google CalendarSalesforce and Google Calendar
Salesforce and Google CalendarDavid Noble
 

More from David Noble (10)

Scratch project ideas
Scratch project ideasScratch project ideas
Scratch project ideas
 
Open Source BPM in Java
Open Source BPM in JavaOpen Source BPM in Java
Open Source BPM in Java
 
Mobile Devices: Superpowers and Science Fiction
Mobile Devices: Superpowers and Science FictionMobile Devices: Superpowers and Science Fiction
Mobile Devices: Superpowers and Science Fiction
 
Cloud Computing - a conversation
Cloud Computing - a conversationCloud Computing - a conversation
Cloud Computing - a conversation
 
Return of the Command Line: New Text Interfaces
Return of the Command Line: New Text InterfacesReturn of the Command Line: New Text Interfaces
Return of the Command Line: New Text Interfaces
 
Java Builds with Maven and Ant
Java Builds with Maven and AntJava Builds with Maven and Ant
Java Builds with Maven and Ant
 
Java Code Generation for Productivity
Java Code Generation for ProductivityJava Code Generation for Productivity
Java Code Generation for Productivity
 
Salesforce and Skype
Salesforce and SkypeSalesforce and Skype
Salesforce and Skype
 
Salesforce and Google Calendar
Salesforce and Google CalendarSalesforce and Google Calendar
Salesforce and Google Calendar
 
Testing In Java
Testing In JavaTesting In Java
Testing In Java
 

Recently uploaded

Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxNeo4j
 
Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Muhammad Tiham Siddiqui
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)codyslingerland1
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud DataEric D. Schabell
 
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechWebinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechProduct School
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIVijayananda Mohire
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTopCSSGallery
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.IPLOOK Networks
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdfThe Good Food Institute
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3DianaGray10
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsDianaGray10
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1DianaGray10
 
CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024Brian Pichman
 
AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024Brian Pichman
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applicationsnooralam814309
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptxHansamali Gamage
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTxtailishbaloch
 

Recently uploaded (20)

Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
 
Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data
 
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechWebinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAI
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development Companies
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projects
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1
 
CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024
 
AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applications
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
 
SheDev 2024
SheDev 2024SheDev 2024
SheDev 2024
 

Files From Mars

  • 1. Files from Mars: Java™ Technology in the MER Data Infrastructure David Noble Principal Consultant Oak Grove Consulting http://marsrovers.jpl.nasa.gov/ TS-1416 SM 2005 JavaOne Conference | Session TS-1416
  • 2. Goal Examine challenges and tradeoffs in the development of software for a ground system supporting the Mars Exploration Rovers This work was performed at the Jet Propulsion Laboratory, California Institute of Technology, under a contract with the National Aeronautics and Space Administration SM 2005 JavaOne Conference | Session TS-1416 | 2
  • 3. Agenda Background Challenges Simplicity Extensibility Reuse Summary Q&A SM 2005 JavaOne Conference | Session TS-1416 | 3
  • 4. Agenda Background Challenges Simplicity Extensibility Reuse Summary Q&A SM 2005 JavaOne Conference | Session TS-1416 | 4
  • 5. Mission Overview Two robotic geologists exploring Mars Credit: NASA/JPL/Cornell Detail of 'Cahokia' panorama http://photojournal.jpl.nasa.gov/feature/cahokia SM 2005 JavaOne Conference | Session TS-1416 | 5
  • 6. Credit: NASA/JPL/MSSS/NMMNH MER-A (Spirit) Traverse to Sol 450 http://photojournal.jpl.nasa.gov/catalog/PIA07849 SM 2005 JavaOne Conference | Session TS-1416 | 6
  • 7. Height: 1.5m Width: 2.3m Length: 1.6m Mass: 174kg Credit: NASA/JPL MER-A (Spirit) and Mars Pathfinder flight spare http://marsrovers.jpl.nasa.gov/gallery/spacecraft/mer2002_1106_b231.html SM 2005 JavaOne Conference | Session TS-1416 | 7
  • 8. Credit: NASA/JPL/Cornell/USGS/University of Mainz Credit: Maas Digital LLC, NASA/JPL Credit: NASA/JPL/Cornell/ASU Credit: NASA/JPL/Cornell/ASU http://athena.cornell.edu/ SM 2005 JavaOne Conference | Session TS-1416 | 8
  • 9. NASA’s Science Objectives Long-term science goals for Mars Exploration: ● Determine whether Life ever arose on Mars ● Characterize the Climate of Mars ● Characterize the Geology of Mars ● Prepare for Human Exploration ● http://marsrovers.jpl.nasa.gov/science/ SM 2005 JavaOne Conference | Session TS-1416 | 9
  • 10. MER’s Science Objectives “ The scientific objectives of the Mars Exploration Rover mission are to: water activity. In 1. Search for and characterize a variety of rocks and soils that hold clues to past particular, samples sought will include those that have minerals deposited by water-related processes such as precipitation, evaporation, sedimentary cementation, or hydrothermal activity. 2. Determine the distribution and composition of minerals, rocks, and soils surrounding the landing sites. 3. Determine what geologic processes have shaped the local terrain and influenced the chemistry. Such water processes could include or wind erosion, sedimentation, hydrothermal mechanisms, volcanism, and cratering. 4. Perform quot;ground truthquot;—calibration and validation—of surface observations made by Mars orbiter instruments. This will help determine the accuracy and effectiveness of various instruments that survey Martian geology from orbit. 5. Search for iron-containing minerals, identify and quantify relative amounts of specific mineral types that water water, contain or were formed in such as iron-bearing carbonates. 6. Characterize the mineralogy and textures of rocks and soils and determine the processes that created them. water was ” 7. Search for geological clues to the environmental conditions that existed when liquid present. Assess whether those environments were conducive to life. http://marsrovers.jpl.nasa.gov/science/objectives.html SM 2005 JavaOne Conference | Session TS-1416 | 10
  • 11. Actors Scientists ● Evaluate images and other data ● Plan rover activities ● Engineers ● Evaluate rover health, state, performance ● Build rover activity commands ● Keep everything working ● SM 2005 JavaOne Conference | Session TS-1416 | 11
  • 12. Downlink Data Flow Scientist PDS EVR DP MIPL TIS TDS OSS EHA TIS TDS Engineer Not to scale. Significantly simplified. SM 2005 JavaOne Conference | Session TS-1416 | 12
  • 13. Downlink Data Composition 2% 3% 95% Products 8% Channels Events Engineering 53% Products Engineering 33% Cameras Science MER-A (Spirit) Sols 1-400 Percentage of data volume SM 2005 JavaOne Conference | Session TS-1416 | 13
  • 14. Agenda Background Challenges Simplicity Extensibility Reuse Summary Q&A SM 2005 JavaOne Conference | Session TS-1416 | 14
  • 15. Deadline MER-A Launch Window ● June 8, 2003–June 24, 2003 ● MER-B Launch Window ● June 25, 2003–July 15, 2003 ● Two opportunities per day ● 10 days required between launches ● MER Landing Press Kit, 12-1-03 http://marsrovers.jpl.nasa.gov/newsroom/merlandings.pdf SM 2005 JavaOne Conference | Session TS-1416 | 15
  • 16. Planetary Alignment MER Landing Press Kit, 12-1-03 http://marsrovers.jpl.nasa.gov/newsroom/merlandings.pdf SM 2005 JavaOne Conference | Session TS-1416 | 16
  • 17. Tactical Timeline 15 hours to create next sol’s commands ● Evaluate health, etc ● Evaluate science ● Determine science goals ● Plan activities ● Build and validate commands ● SM 2005 JavaOne Conference | Session TS-1416 | 17
  • 18. Risk Mars Missions, from 1/1/1970 to 1/1/2004 Attempts Successes Orbiters 11 4 Landers 13 4 Rovers 1 1 MER Landing Press Kit, 12-1-03 http://marsrovers.jpl.nasa.gov/newsroom/merlandings.pdf SM 2005 JavaOne Conference | Session TS-1416 | 18
  • 19. Budget Primary Mission: $820 Million USD $75M $100M Spacecraft Dev $645M and Science Instruments Launch Mission Ops and Science Proc- essing MER Landing Press Kit, 12-1-03 http://marsrovers.jpl.nasa.gov/newsroom/merlandings.pdf SM 2005 JavaOne Conference | Session TS-1416 | 19
  • 20. Visibility First three days after landing: ● One billion web hits ● 15 Terabytes downloaded by web browsers ● http://marsrovers.jpl.nasa.gov/newsroom/pressreleases/20040106a.html SM 2005 JavaOne Conference | Session TS-1416 | 20
  • 21. Agenda Background Challenges Simplicity Extensibility Reuse Summary Q&A SM 2005 JavaOne Conference | Session TS-1416 | 21
  • 22. Loose Coupling Benefits ● Component reuse ● Component pluggability ● Parallel development ● Drivers: cost, risk ● SM 2005 JavaOne Conference | Session TS-1416 | 22
  • 23. Criteria Usability ● Correctness ● Testability ● Reliability ● SM 2005 JavaOne Conference | Session TS-1416 | 23
  • 24. Options Service Lookup ● Inversion of Control ● JavaBeans and InfoBus ● Message Pub/Sub ● SM 2005 JavaOne Conference | Session TS-1416 | 24
  • 25. Options Service Lookup ● Inversion of Control ● JavaBeans and InfoBus ● Message Pub/Sub ● SM 2005 JavaOne Conference | Session TS-1416 | 25
  • 26. Message Classes Message getType() : String MessageContext <<interface>> publish(Message) MessageSubscriber subscribe(type:String, Subscriber) handleMessage(Message) SM 2005 JavaOne Conference | Session TS-1416 | 26
  • 27. Message Classes Message getType() : String MessageContext <<interface>> publish(Message) MessageSubscriber subscribe(type:String, Subscriber) handleMessage(Message) MessageContextFactory BaseMessageHandler createMessageContext() handleMessage(Message) : MessageContext SM 2005 JavaOne Conference | Session TS-1416 | 27
  • 28. Message Publisher public class MyPublisher { private MessageContext messageContext; public MyPublisher(MessageContext context) { this.messageContext = context; } public void demonstratePublish() { SampleMessage message = new SampleMessage(); messageContext.publish(message); } } SM 2005 JavaOne Conference | Session TS-1416 | 28
  • 29. Message Subscriber public class MySubscriber implements MessageSubscriber { public MySubscriber(MessageContext messageContext) { messageContext.subscribe(SampleMessage.TYPE, this); } public void handleMessage(Message genericMessage) { SampleMessage message; message = (SampleMessage) genericMessage; // ... do something with the message } } SM 2005 JavaOne Conference | Session TS-1416 | 29
  • 30. Subscriber to Multiple Messages messageContext.subscribe(FooMessage.TYPE, new BaseMessageHandler() { public void handleMessage(Message genericMessage){ handleFooMessage((FooMessage) genericMessage); } } ); messageContext.subscribe(BarMessage.TYPE, new BaseMessageHandler() { public void handleMessage(Message genericMessage){ handleBarMessage((BarMessage) genericMessage); } } ); SM 2005 JavaOne Conference | Session TS-1416 | 30
  • 31. Assembling Components MessageContext context = new MessageContext(); context.setVerbose(verbose); ProductInput input = addProductInput(context); if (dump) { addProductDumpOutput(context); } ProductBuilder builder = addProductBuilder(context); ProductStorage storage = addProductStorage(context); addProductSummaryOutput(context); addExternalSubscribers(context); input.read(); SM 2005 JavaOne Conference | Session TS-1416 | 31
  • 32. Lines of Code for Message Package Including Test Classes Lines Percent Brackets 59 8.70% Whitespace 70 10.32% Comments 345 50.88% “Significant” 204 30.09% Total 678 SM 2005 JavaOne Conference | Session TS-1416 | 32
  • 33. Would I Do It Again? Yes ● Reused for other missions ● Watching for creeping complexity ● SM 2005 JavaOne Conference | Session TS-1416 | 33
  • 34. Data Product Storage Product files ● Product metadata ● Product part metadata ● SM 2005 JavaOne Conference | Session TS-1416 | 34
  • 35. Schema Design Product ProductPart ID Filename 1 ID Command Product Series PartNumber CreationTime 1..* DataFilename TotalParts DataOffset etc DataLength etc SM 2005 JavaOne Conference | Session TS-1416 | 35
  • 36. Database SM 2005 JavaOne Conference | Session TS-1416 | 36
  • 37. Why Not? Procedures ● Installation, configuration, maintenance ● Validation tests ● Performance, scalability, reliability ● Third party software evaluations, DBA, … ● Time ● SM 2005 JavaOne Conference | Session TS-1416 | 37
  • 38. Product Metadata XML ● Regular line breaks ● SM 2005 JavaOne Conference | Session TS-1416 | 38
  • 39. Locations Complete Products products/<type>/<subtype>/<command>_<series>_<time>.dat products/<type>/<subtype>/<command>_<series>_<time>.emd Partial Products <command>_<series>_<time>_Partial-<counter>.pdat <command>_<series>_<time>_Partial-<counter>.pemd Parts Cache products/parts/<filename>/*.dat products/parts/<filename>/*.emd Alternate Views sol/<NNN>/ssw/products/created/<typename>/<filename> sol/<NNN>/ssw/products/received/<typename>/<filename> SM 2005 JavaOne Conference | Session TS-1416 | 39
  • 40. Would I Do It Again? Not exactly ● Add database ● Develop procedures off critical path ● Keep files ● Accessible to scripts, people ● SM 2005 JavaOne Conference | Session TS-1416 | 40
  • 41. Agenda Background Challenges Simplicity Extensibility Reuse Summary Q&A SM 2005 JavaOne Conference | Session TS-1416 | 41
  • 42. Product Action Triggers Requirement: ● Trigger actions on product arrival ● SM 2005 JavaOne Conference | Session TS-1416 | 42
  • 43. Product Action Triggers Initial requirement: ● “Users can register to be notified by email when a product arrives” SM 2005 JavaOne Conference | Session TS-1416 | 43
  • 44. Product Action Triggers Filter criteria ● Script execution ● SM 2005 JavaOne Conference | Session TS-1416 | 44
  • 45. Configuration <subscriptions> <script> <trigger complete=quot;yesquot; partial=quot;noquot;/> <filter> <allow apid=quot;50quot; subtype=quot;78quot;/> </filter> <path>subscriptions/scripts/uncompress</path> </script> </subscriptions> SM 2005 JavaOne Conference | Session TS-1416 | 45
  • 46. Multiple Uses Science processing ● Generic uncompression ● Text representations ● Multiple directory hierarchies ● SM 2005 JavaOne Conference | Session TS-1416 | 46
  • 47. However… Never did email product notification ● SM 2005 JavaOne Conference | Session TS-1416 | 47
  • 48. However… Never did email product notification ● Email reports had high-level summaries ● SM 2005 JavaOne Conference | Session TS-1416 | 48
  • 49. Would I Do It Again? Yes, but… ● With JMS message publishing ● SM 2005 JavaOne Conference | Session TS-1416 | 49
  • 50. Product Display XML Data Dictionary ● Values ● Units ● Lookup tables ● Arrays of values ● Arrays of arrays ● “Opaque” blocks handled by external viewers ● SM 2005 JavaOne Conference | Session TS-1416 | 50
  • 51. External Viewers Images ● Complex data structures ● Special formatting ● Reports ● SM 2005 JavaOne Conference | Session TS-1416 | 51
  • 52. Hazcam Image % mer_dp_view img_image_loco_fhl/*.dat | more Filename: img_image_loco_fhl/f0006-000-0000_003_0161168693-127.dat Type: img_image_loco_fhl - LOCO Compressed Image, Left Front Hazcam Spacecraft: MER A (SCID=254) DVT: 2005-039T20:59:11.217 - 0161168693.127 Packetized: 2005-045T04:00:14.932 - 0161625954.245 ERT: 2005-045T06:10:23.782 APID=25 Subtype=9 Version=2 Image ID: 1000012323 Camera ID: Front Left Hazcam Filter ID: No filter/unknown Array PMA Coordinate length 3 [0] PMA Coordinate: 0.000000 [1] PMA Coordinate: 0.000000 [2] PMA Coordinate: 0.000000 PMA Pointing Argument: 0 Image Acquire Request: Acquire Image Shutter Subtraction Request: None Credit: NASA/JPL/Caltech SM 2005 JavaOne Conference | Session TS-1416 | 52
  • 53. UHF Link Report Filename: products/047/010/e0105-001-0005_001_0134188770-155.dat Type: uhf_link_rep - UHF Link Report Spacecraft: MER A (SCID=254) DVT: 2004-093T14:38:43.195 - 0134188770.155 Packetized: 2004-093T16:28:59.022 - 0134195386.103 ERT: 2004-093T16:55:10.744 APID=47 Subtype=10 Version=0 product_viewer: viewUhfDps products/047/010/e0105-001-0005_001_0134188770-155.dat Report for quot;UHF Link Reportquot; data product (47/10) Product Version: 0 File Name: products/047/010/e0105-001-0005_001_0134188770-155.dat Accounting --------------------------------------------------------------------------- File size: 12028 bytes Time span: 1000 seconds Number of samples: 999 Sample period: 1 second Start End --------------------------------------------------------- SCLK: 134188770.61377 134189770.50879 Osc. Temp (DN) 12633 12911 Osc. Temp Status Good Good PA Temp (DN) 0 0 PA Temp Status Good Good --Samp---------SCLK---Rx_Pwr(DN)---Word 4---Tx_State---RC_Tone---TC_Tone---Link_Qual---Bit_Sync---Car_Lock----- TAC-----RAC 1 134188771 8197 0x0094 Off No_Tone No_Tone Good No_Lock No_Lock 0 0 2 134188772 8404 0x0094 Off No_Tone No_Tone Good No_Lock No_Lock 0 0 SM 2005 JavaOne Conference | Session TS-1416 | 53 3 134188773 8409 0xf008 Off No_Tone No_Tone Bad No_Lock No_Lock 0
  • 54. Would I Do It Again? Yes, but… ● Add type/length/value data types ● Add formatting plugin (XSL, Velocity, etc.) ● SM 2005 JavaOne Conference | Session TS-1416 | 54
  • 55. Agenda Background Challenges Simplicity Extensibility Reuse Summary Q&A SM 2005 JavaOne Conference | Session TS-1416 | 55
  • 56. Reuse Across Missions Cassini ● Deep Impact ● Dawn ● MRO ● MSL ● SM 2005 JavaOne Conference | Session TS-1416 | 56
  • 57. Package Dependencies report product evr sfdu message app log util ecp SM 2005 JavaOne Conference | Session TS-1416 | 57
  • 58. General Libraries report product evr sfdu message app log util ecp SM 2005 JavaOne Conference | Session TS-1416 | 58
  • 59. Domain Specific Libraries report product evr sfdu message app log util ecp SM 2005 JavaOne Conference | Session TS-1416 | 59
  • 60. Application Specific Code report product evr sfdu message app log util ecp SM 2005 JavaOne Conference | Session TS-1416 | 60
  • 61. Agenda Background Challenges Simplicity Extensibility Reuse Summary Q&A SM 2005 JavaOne Conference | Session TS-1416 | 61
  • 62. Summary Simplicity to handle risk, cost, schedule ● Extensibility to handle uncertainty ● Reuse to handle risk, cost, schedule ● Know your users ● One size does not fit all ● Requirements documents are not enough ● Use assumptions that fit reality ● SM 2005 JavaOne Conference | Session TS-1416 | 62
  • 63. For More Information Science Instruments Home Page ● http://athena.cornell.edu/ ● MER Analyst’s Notebook ● http://anserver1.eprsl.wustl.edu/ ● Basics of Space Flight ● http://www.jpl.nasa.gov/basics/ ● Introduction to the AMMOS Ground System ● http://eis.jpl.nasa.gov/~betsy/mm/intro.htm ● SM 2005 JavaOne Conference | Session TS-1416 | 63
  • 64. Q&A SM 2005 JavaOne Conference | Session TS-1416 | 64
  • 65. Submit Session Evaluations for Prizes! Your opinions are important to Sun You can win a $75.00 gift certificate to the on-site Retail ● Store by telling Sun what you think! Turn in completed forms to enter the daily drawing ● Each evaluation must be turned in the same day as the ● session presentation Five winners will be chosen each day (Sun will send the ● winners email) Drop-off locations: give to the room monitors or use any ● of the three drop-off stations in the North and South Halls Note: W inners on Thursday, 6/30, will receive and can redeem certificates via email SM 2005 JavaOne Conference | Session TS-1416 | 65
  • 66. Files from Mars: Java™ Technology in the MER Data Infrastructure David Noble Principal Consultant Oak Grove Consulting http://marsrovers.jpl.nasa.gov/ TS-1416 SM 2005 JavaOne Conference | Session TS-1416