O'Mullane, WilliamLuri Carrascoso, XavierParsons, P.Lammers, U.Hoar, J.Hernández, J.2020-05-202020-05-2020110922-6435https://hdl.handle.net/2445/161630In recent years Java has matured to a stable easy-to-use language with theflexibility of an interpreter (for reflection etc.) but the performance and type checking ofa compiled language. When we started using Java for astronomical applications around1999 they were the first of their kind in astronomy. Now a greatdeal of astronomysoftware is written in Java as are many business applications.We discuss the current environment and trends concerning the language and presentan actual example of scientific use of Java for high-performance distributed computing:ESA's mission Gaia. The Gaia scanning satellite will perform a galactic census ofabout 1000 million objects in our galaxy. The Gaia communityhas chosen to write itsprocessing software in Java. We explore the manifold reasons for choosing Java for thislarge science collaboration.Gaia processing is numerically complex but highly distributable, some parts beingembarrassingly parallel. We describe the Gaia processing architecture and its realisationin Java. We delve into the astrometric solution which is the most advanced and mostcomplex part of the processing. The Gaia simulator is also written in Java and is themost mature code in the system. This has been successfully running since about 2005on the supercomputer 'Marenostrum' in Barcelona. We relateexperiences of usingJava on a large shared machine.Finally we discuss Java, including some of its problems, forscientific computing16 p.application/pdfeng(c) Springer Verlag, 2011Java (Llenguatge de programació)Satèl·lits artificials en telecomunicacióAstrometriaJava (Computer program language)Artificial satellites in telecommunicationAstrometryUsing Java for distributed computing in the Gaia satellite data processinginfo:eu-repo/semantics/article6022772020-05-20info:eu-repo/semantics/openAccess