How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021

Cloud Architect, Java, Eclipse and Microservice Expert um Deutsche Bank
9. Apr 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
1 von 35

Más contenido relacionado

Similar a How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021

How JSR 385 could have Saved the Mars Climate Orbiter JFall 2019How JSR 385 could have Saved the Mars Climate Orbiter JFall 2019
How JSR 385 could have Saved the Mars Climate Orbiter JFall 2019Thodoris Bais
M2M2
M2tjmie
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR DayHow JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR DayWerner Keil
Kecsm2012urenKecsm2012uren
Kecsm2012urenurvics
Lect1(unit).pptLect1(unit).ppt
Lect1(unit).pptLuongTuan15
How JSR 385 Could have Saved the Mars Climate Orbiter DWX June 2019How JSR 385 Could have Saved the Mars Climate Orbiter DWX June 2019
How JSR 385 Could have Saved the Mars Climate Orbiter DWX June 2019Thodoris Bais

Más de Werner Keil

Securing eHealth, eGovernment and eBanking with Java - DWX '21Securing eHealth, eGovernment and eBanking with Java - DWX '21
Securing eHealth, eGovernment and eBanking with Java - DWX '21Werner Keil
OpenDDR and Jakarta MVC - JavaLand 2021OpenDDR and Jakarta MVC - JavaLand 2021
OpenDDR and Jakarta MVC - JavaLand 2021Werner Keil
OpenDDR and Jakarta MVC - Java2Days 2020 VirtualOpenDDR and Jakarta MVC - Java2Days 2020 Virtual
OpenDDR and Jakarta MVC - Java2Days 2020 VirtualWerner Keil
NoSQL Endgame - Java2Days 2020 VirtualNoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 VirtualWerner Keil
JCON 2020: Mobile Java Web Applications with MVC and OpenDDRJCON 2020: Mobile Java Web Applications with MVC and OpenDDR
JCON 2020: Mobile Java Web Applications with MVC and OpenDDRWerner Keil
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)Werner Keil

Más de Werner Keil(20)

Último

Improving Employee Experiences on Cisco RoomOS Devices, Webex, and Microsoft ...Improving Employee Experiences on Cisco RoomOS Devices, Webex, and Microsoft ...
Improving Employee Experiences on Cisco RoomOS Devices, Webex, and Microsoft ...ThousandEyes
Announcing InfluxDB ClusteredAnnouncing InfluxDB Clustered
Announcing InfluxDB ClusteredInfluxData
Framing Few Shot Knowledge Graph Completion with Large Language ModelsFraming Few Shot Knowledge Graph Completion with Large Language Models
Framing Few Shot Knowledge Graph Completion with Large Language ModelsMODUL Technology GmbH
Getting your enterprise ready for Microsoft 365 CopilotGetting your enterprise ready for Microsoft 365 Copilot
Getting your enterprise ready for Microsoft 365 CopilotVignesh Ganesan I Microsoft MVP
Future of SkillsFuture of Skills
Future of SkillsAlison B. Lowndes
Navigating the FutureNavigating the Future
Navigating the FutureOnBoard

How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021

Hinweis der Redaktion

  1. Software engineers
  2. Launched on the 19th of December 1998 at 18:45 UTC. It was launched from Cape Canaveral aboard a delta to launch the eco. the complete burn sequence lasted 42’ and brought the spacecraft into a so called human transform orbit from earth to Mars. The orbit is 669million kilometers long and takes 9.5 months to complete > over a pregnancy Primary science objectives of the mission: determine the distribution of water in Mars monitor the daily atmospheric conditions record changes of the Martian surface (due to wind) determine temperature profiles in the atmosphere look for evidence of past climate change So that was a whole set of things the MCO was supposed to do
  3. into a trajectory above 226km above the surface of Mars It probably got disintegrated in the atmosphere and disappeared. Minimum altitude to survive was 80km
  4. A piece of software provided by Lockheed Martin produced results for the total impulse by the thruster firing in pound force seconds, whereas the trajectory calculation software provided by NASA expected it to be in Newton seconds. The software specification said it should have been in Newton seconds so Luckheed Martin clearly made a mistake
  5. if Lockheed Martin had done a good job, it would have never happened Use JSR-385 instead of primitives Fail fast <== don’t rely on the checksum balancer to discover problems
  6. Mars 2020 Rover contains components from multiple different countries (most of them use the Metric System)
  7. using a primitive to represent a quantity is fundamentally conflicting with OOP and DDD, cuz you’re using a type representing just a number to represent a quantity which has a unit —- built in into the property and it contains both the value and the unit —- No way to misinterpret the SPEED of light at the bottom as that number in km/h
  8. wanna do it properly? define ur own library how difficult can it be? it’s just a value and a unit lot of work —> many units meter, time units, electrical resistance , TEMPERATURES?, divide & multiply Are you a UoM domain expert? so even if you use the SI system every day do you really understand how it works? TBH I didn’t even answer that question to myself. I would be surprised if you know all the peculiarities around SI. There is a number of strange things, even though it is designed as the rational system as compared to some other systems.
  9. This JSR is a major evolution of the Unit API 1.0 (JSR 363) specification. Focussed on the SI System redefinition, modularity and support for Java SE 8/9 and above. JSR 363 This JSR specifies Java packages for modelling and working with measurement values, quantities and their corresponding units.
  10. Dimensions: length Unit: metre Quantity: 5 metres prefixes: kilo, milli, etc. converters: km/h —> m/s or mph formatting: print out the quantity and parse the quantity of the unit systems of units: metric, imperial and handle them in a good way
  11. It doesn’t do some kinds of optimisations that one could think it would be nice to have
  12. Yesterday I travelled 1.6Mm??? 1hour = 3.6ks, but “come back in 1ks”???
  13. Yesterday I travelled 1.6Mm??? 1hour = 3.6ks, but “come back in 1ks”???
  14. Yesterday I travelled 1.6Mm??? 1hour = 3.6ks, but “come back in 1ks”???
  15. Metre, kilogram, second, ampere… Foot, ounce, pound, gallon, Fahrenheit, horsepower Foot, ounce, pound, gallon, Fahrenheit, gallon, … Pes, uncia, libra, … Fot, favn, mål, tønne, snes, …
  16. Should you have functions to normalize expressions into what could be closer to the base unit That’s something you could consider, and also for quantities for example that 1 mg per mm-2 is automatically normalized to 1kg m-2 Special paint for small devices It’s not just about comparing the values and the units you have to convert to one unit and do the comparison in one reference unit
  17. We use the 1st unit if we can If it leads to an overflow, we can fall back to the second unit Otherwise, if it leads to an overflow in both units, we just throw an overflow error
  18. All 3 answers are correct depending on the situation. absolute or relative quantity? We hadn’t modelled this. So, again, are you a domain expert in ur system? Do you really know the SI system so that you can write a library to handle this stuff? Why are we using degrees celsius. Undoubtedly, it’s easy (0-100 degrees), but degrees celsius is not such a good unit to measure temperature. JavaZone example with Time (i.e. day light, saving time, etc., formatting problem with US month – dd - yyyy, countries using F and celsius)
  19. kg/m^2 a thing that matters for the BMI index is to express the units as kilograms and meters and not cm for example. We’ll see as we go through th exercise that we can handle that in a good way
  20. So you see? this is not difficult to do, so instead of defining an Integer to hold 75 as the mass, that’s not much of simplification compared to this