130,357 research outputs found

    Using Java for distributed computing in the Gaia satellite data processing

    Get PDF
    In recent years Java has matured to a stable easy-to-use language with the flexibility of an interpreter (for reflection etc.) but the performance and type checking of a compiled language. When we started using Java for astronomical applications around 1999 they were the first of their kind in astronomy. Now a great deal of astronomy software is written in Java as are many business applications. We discuss the current environment and trends concerning the language and present an 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 of about 1000 million objects in our galaxy. The Gaia community has chosen to write its processing software in Java. We explore the manifold reasons for choosing Java for this large science collaboration. Gaia processing is numerically complex but highly distributable, some parts being embarrassingly parallel. We describe the Gaia processing architecture and its realisation in Java. We delve into the astrometric solution which is the most advanced and most complex part of the processing. The Gaia simulator is also written in Java and is the most mature code in the system. This has been successfully running since about 2005 on the supercomputer "Marenostrum" in Barcelona. We relate experiences of using Java on a large shared machine. Finally we discuss Java, including some of its problems, for scientific computing.Comment: Experimental Astronomy, August 201

    A gentle transition from Java programming to Web Services using XML-RPC

    Get PDF
    Exposing students to leading edge vocational areas of relevance such as Web Services can be difficult. We show a lightweight approach by embedding a key component of Web Services within a Level 3 BSc module in Distributed Computing. We present a ready to use collection of lecture slides and student activities based on XML-RPC. In addition we show that this material addresses the central topics in the context of web services as identified by Draganova (2003)

    Safe and Verifiable Design of Concurrent Java Programs

    Get PDF
    The design of concurrent programs has a reputation for being difficult, and thus potentially dangerous in safetycritical real-time and embedded systems. The recent appearance of Java, whilst cleaning up many insecure aspects of OO programming endemic in C++, suffers from a deceptively simple threads model that is an insecure variant of ideas that are over 25 years old [1]. Consequently, we cannot directly exploit a range of new CASE tools -- based upon modern developments in parallel computing theory -- that can verify and check the design of concurrent systems for a variety of dangers\ud such as deadlock and livelock that otherwise plague us during testing and maintenance and, more seriously, cause catastrophic failure in service. \ud Our approach uses recently developed Java class\ud libraries based on Hoare's Communicating Sequential Processes (CSP); the use of CSP greatly simplifies the design of concurrent systems and, in many cases, a parallel approach often significantly simplifies systems originally approached sequentially. New CSP CASE tools permit designs to be verified against formal specifications\ud and checked for deadlock and livelock. Below we introduce CSP and its implementation in Java and develop a small concurrent application. The formal CSP description of the application is provided, as well as that of an equivalent sequential version. FDR is used to verify the correctness of both implementations, their\ud equivalence, and their freedom from deadlock and livelock

    Formal Verification of Security Protocol Implementations: A Survey

    Get PDF
    Automated formal verification of security protocols has been mostly focused on analyzing high-level abstract models which, however, are significantly different from real protocol implementations written in programming languages. Recently, some researchers have started investigating techniques that bring automated formal proofs closer to real implementations. This paper surveys these attempts, focusing on approaches that target the application code that implements protocol logic, rather than the libraries that implement cryptography. According to these approaches, libraries are assumed to correctly implement some models. The aim is to derive formal proofs that, under this assumption, give assurance about the application code that implements the protocol logic. The two main approaches of model extraction and code generation are presented, along with the main techniques adopted for each approac

    Implementing the Gaia Astrometric Global Iterative Solution (AGIS) in Java

    Full text link
    This paper provides a description of the Java software framework which has been constructed to run the Astrometric Global Iterative Solution for the Gaia mission. This is the mathematical framework to provide the rigid reference frame for Gaia observations from the Gaia data itself. This process makes Gaia a self calibrated, and input catalogue independent, mission. The framework is highly distributed typically running on a cluster of machines with a database back end. All code is written in the Java language. We describe the overall architecture and some of the details of the implementation.Comment: Accepted for Experimental Astronom

    THE EFFECTIVENESS OF JAVANESE AS A COMPULSORY LOCAL CONTENT SUBJECT IN THE PRIMARY EDUCATION CURRICULUM TO MAINTAIN THE JAVANESE LANGUAGE IN JAVA

    Get PDF
    Javanese was the language with the greatest number of first language speakers in Indonesia, but the percentage of the population who spoke it as their first language was declining. Before 1990, regional languages were used as the medium of instruction in the first three grades of primary school in many places, and this was common in Javanesespeaking areas. Since 1990, it is government policy that Indonesian should be used as the language of education from kindergarten through to university. However, another government policy was promulgated in various forms between 1989 and 1993 which requires the teaching of one compulsory local content subject and up to three optional subjects in the primary education curriculum alongside the national curriculum. This policy has allowed Javanese to reappear in schools, but as a taught subject rather than as the medium of instruction. In the Special Region of Yogyakarta, Javanese has been a compulsory subject in schools from year 1 to year 9 since 1995, allotted two teaching hours per week, and in Central Java it has even become a compulsory subject for students in years 10 – 12 of high school since 2006. The problem is what this way is effective to maintain the javanese language in java. As the compulsory subject, the javanese is provided in two hour in one week. It is not enough for the students to learn the javanese and its’ culture.So it can not guarantee if the students able to use javanese in communication So this article will try to find The Effectiveness of Javanese As A Compulsory Local Content Subject In The Primary Education Curriculum To Mainain The Javanese Language In Java. The writer will use the quantitative method to find the Effectiveness of Javanese As A Compulsory Local Content Subject In The Primary Education Curriculum. The sample will be taken from some students which obtain javanese as compulsory subject at the class. Some suggestion are needed to the students, the teacher, and the goverment. The students have to learn javanese outside of the class because it is not enough to master javanese language and then it will be used in daily activities for communication. Beside that the teachers must be aware if javanese as a compulsory subject is not enough to make the students using javanese in communication so they can be motivator and a model in using javanese for communication. The goverment have to provide the javanese language subject not only two hour in one week but more than it
    • …
    corecore