221 |
StarMapper : an android-based application to map celestial objectsO'Donnell, John Jason 23 April 2014 (has links)
This report describes StarMapper, a mobile appliation designed for the Android platform that interactively maps the celestial sky and can provide information from Wikipedia about celestial objects to the user. The stars, constellations, planets, sun, and moon are all rendered in real-time and the user can navigate the celestial map simply by pointing the device around the sky to find and identify the different celestial objects. However, if the user prefers, a manual touch-based map navigation feature is also available in StarMapper. While other Android applications currently exist for mapping the sky, such as Google's Sky Map, StarMapper aims to enhance the experience by also providing additional information about celestial objects to the user by means of a simple click on the screen. For obtaining more information about a particular constellation or other celestial object, the user only needs to click on the object's name in the map, and the device's web browser opens to the Wikipedia page of the clicked object. Through this simple mechanism, the user can learn much more about astronomy than just locations of celestial objects. / text
|
222 |
Efficient shared object space support for distributed Java virtual machineLam, King-tin., 林擎天. January 2012 (has links)
Given the popularity of Java, extending the standard Java virtual machine (JVM) to become cluster-aware effectively brings the vision of transparent horizontal scaling of applications to fruition. With a set of cluster-wide JVMs orchestrated as a virtually single system, thread-level parallelism in Java is no longer confined to one multiprocessor. An unmodified multithreaded Java application running on such a Distributed JVM (DJVM) can scale out transparently, tapping into the vast computing power of the cluster.
While this notion creates an easy-to-use and powerful parallel programming paradigm, research on DJVMs has remained largely at the proof-of-concept stage where successes were proven using trivial scientific computing workloads only. Real-life Java applications with commercial server workloads have not been well-studied on DJVMs. Their natures including complex and sometimes huge object graphs, irregular access patterns and frequent synchronizations are key scalability hurdles. To design a scalable DJVM for real-life applications, we identify three major unsolved issues calling for a top-to-bottom overhaul of traditional systems.
First, we need a more time- and space-efficient cache coherence protocol to support fine-grained object sharing over the distributed shared heap. The recent prevalence of concurrent data structures with heavy use of volatile fields has added complications to the matter. Second, previous generations of DJVMs lack true support for memory-intensive applications. While the network-wide aggregated physical memory can be huge, mutual sharing of huge object graphs like Java collections may cause nodes to eventually run out of local heap space because the cached copies of remote objects, linked by active references, can’t be arbitrarily discarded. Third, thread affinity, which determines the overall communication cost, is vital to the DJVM performance. Data access locality can be improved by collocating highly-correlated threads, via dynamic thread migration. Tracking inter-thread correlations trades profiling costs for reduced object misses. Unfortunately, profiling techniques like active correlation tracking used in page-based DSMs would entail prohibitively high overheads and low accuracy when ported to fine-grained object-based DJVMs.
This dissertation presents technical contributions towards all these problems. We use a dual-protocol approach to address the first problem. Synchronized (lock-based) and volatile accesses are handled by a home-based lazy release consistency (HLRC) protocol and a sequential consistency (SC) protocol respectively. The two protocols’ metadata are maintained in a conflict-free, memory-efficient manner. With further techniques like hierarchical passing of lock ownerships, the overall communication overheads of fine-grained distributed object sharing are pruned to a minimal level. For the second problem, we develop a novel uncaching mechanism to safely break a huge active object graph. When a JVM instance runs low on free memory, it initiates an uncaching policy, which eagerly assigns nulls to selected reference fields, thus detaching some older or less useful cached objects from the root set for reclamation. Careful orchestration is made between uncaching, local garbage collection and the coherence protocol to avoid possible data races. Lastly, we devise lightweight sampling-based profiling methods to derive inter-thread correlations, and a profile-guided thread migration policy to boost the system performance. Extensive experiments have demonstrated the effectiveness of all our solutions. / published_or_final_version / Computer Science / Doctoral / Doctor of Philosophy
|
223 |
JavaFlow : a Java DataFlow MachineAscott, Robert John 10 February 2015 (has links)
The JavaFlow, a Java DataFlow Machine is a machine design concept implementing a Java Virtual Machine aimed at addressing technology roadmap issues along with the ability to effectively utilize and manage very large numbers of processing cores. Specific design challenges addressed include: design complexity through a common set of repeatable structures; low power by featuring unused circuits and ability to power off sections of the chip; clock propagation and wire limits by using locality to bring data to processing elements and a Globally Asynchronous Locally Synchronous (GALS) design; and reliability by allowing portions of the design to be bypassed in case of failures. A Data Flow Architecture is used with multiple heterogeneous networks to connect processing elements capable of executing a single Java ByteCode instruction. Whole methods are cached in this DataFlow fabric, and the networks plus distributed intelligence are used for their management and execution. A mesh network is used for the DataFlow transfers; two ordered networks are used for management and control flow mapping; and multiple high speed rings are used to access the storage subsystem and a controlling General Purpose Processor (GPP). Analysis of benchmarks demonstrates the potential for this design concept. The design process was initiated by analyzing SPEC JVM benchmarks which identified a small number methods contributing to a significant percentage of the overall ByteCode operations. Additional analysis established static instruction mixes to prioritize the types of processing elements used in the DataFlow Fabric. The overall objective of the machine is to provide multi-threading performance for Java Methods deployed to this DataFlow fabric. With advances in technology it is envisioned that from 1,000 to 10,000 cores/instructions could be deployed and managed using this structure. This size of DataFlow fabric would allow all the key methods from the SPEC benchmarks to be resident. A baseline configuration is defined with a compressed dataflow structure and then compared to multiple configurations of instruction assignments and clock relationships. Using a series of methods from the SPEC benchmark running independently, IPC (Instructions per Cycle) performance of the sparsely populated heterogeneous structure is 40% of the baseline. The average ratio of instructions to required nodes is 3.5. Innovative solutions to the loading and management of Java methods along with the translation from control flow to DataFlow structure are demonstrated. / text
|
224 |
JESSICA: Java-enabled single-system-image computing architectureMa, Jin-ming., 馬展明. January 1999 (has links)
published_or_final_version / abstract / toc / Computer Science and Information Systems / Master / Master of Philosophy
|
225 |
Έξυπνες κάρτες / Smart cardsΑντωνόπουλος, Νικόλαος 26 January 2009 (has links)
Στην παρούσα διπλωματική εργασία μελετάμε τις έξυπνες κάρτες καθώς και τις τεχνολογίες που σχετίζονται με αυτές. Ιδιαίτερη έμφαση δίνεται στην τεχνολογία Java Card την οποία άλλωστε χρησιμοποιούμε για την ανάπτυξη μιας πιλοτικής εφαρμογής έξυπνης κάρτας ασθενούς.
Στο πρώτο κεφάλαιο αναφερόμαστε γενικά στις έξυπνες κάρτες. Πραγματοποιούμε μια σύντομη ιστορική αναδρομή και μελετάμε τους τομείς εκείνους στους οποίους βρίσκουν εφαρμογή, παρουσιάζοντας έτσι μερικά από τα πλεονεκτήματα τους. Στο δεύτερο κεφάλαιο αναφερόμαστε στην αρχιτεκτονική και στο υλικό των έξυπνων καρτών. Αφού παρουσιάσουμε τα διαφορετικά είδη καρτών που υπάρχουν αναφερόμαστε σε κάθε σύστημα υλικού μίας έξυπνης κάρτας όπως για παράδειγμα στον επεξεργαστή, στην μνήμη κ.α. Στο τρίτο κεφάλαιο μελετάμε το λογισμικό των έξυπνων καρτών. Αναφερόμαστε στον τρόπο επικοινωνίας με την κάρτα, στα υπάρχοντα λειτουργικά συστήματα για έξυπνες κάρτες καθώς και στα πρότυπα που έχουν κυριαρχήσει. Κλείνοντας το κεφάλαιο πραγματοποιούμε μια σύντομη εισαγωγή στην κρυπτογραφία. Στο τέταρτο κεφάλαιο αναφερόμαστε λεπτομερώς στην τεχνολογία Java Card. Μελετάμε τόσο την αρχιτεκτονική όσο και τα συστατικά της τεχνολογίας αυτής όπως είναι η εικονική μηχανή και το περιβάλλον εκτέλεσης. Αναφερόμαστε ακόμα σε διάφορα θέματα συναφή με την τεχνολογία αυτή. Στο πέμπτο και τελευταίο κεφάλαιο ασχολούμαστε με την υλοποίηση μιας πιλοτικής εφαρμογής έξυπνης κάρτας ασθενούς. Αφού περιγράψουμε τις λειτουργικές και τις τεχνικές προδιαγραφές αναφερόμαστε σε θέματα σχεδιασμού της εφαρμογής και τέλος δείχνουμε αναλυτικά τον τρόπο λειτουργίας της. / In the present diploma thesis we study the smart cards in addition to the technologies that are related with them. Particular accent is given in the Java Card technology which we use in order to develop a demo application of a patient’s smart card.
In the first chapter we set out general characteristics of smart cards. We make a short historical retrospection and we study some particular fields in which they are applicable, presenting their advantages. In the second chapter we refer to the architecture and hardware of smart cards. After we present the variety of the existing smart cards we overhaul the hardware of smart cards, for example CPU, memory etc. In the third chapter we examine the software of smart cards. We set out the way of communication with the card, in the existing operating systems for smart cards as well as in the models that have dominated. Closing the chapter we make a short reference in smart card’s cryptography. In the fourth chapter we make a more detailed reference to Java Card technology. We study the architecture and the components of this technology which are the virtual machine and the executing environment. We also refer to various subjects relevant with this technology. In the fifth and last chapter we deal with the development of a demo application. It is a smart card that is used widely in many hospitals around the world. It is used by these hospitals’ patients. After we show the functional and technical specifications we refer to designing issues of this application and finally we demonstrate their way of operation.
|
226 |
Vektorinės grafikos technologijas naudojančios vartotojo sąsajos integracija su ekspertinėmis sistemomis / User interface, which uses vector graphics technologies, integration with expert systemsSavickas, Nerijus 23 June 2011 (has links)
Baigiamajame magistro darbe nagrinėjamos vartotojo sąsajos, naudojančios vektorinę grafiką, integracijos su ekspertinėmis sistemomis galimybės. Apžvelgti esami integracijos sprendimai, ekspertinių sistemų kūrimo metodai. Nagrinėjama JESS sistemos architektūra. Aprašomos vektorinės grafikos kūrimo sistemos. Praktinėje baigiamojo magistro darbo dalyje pateikiamas integracijos prototipas. Išnagrinėjus teorinius ir praktinius aspektus, pateikiamos baigiamojo darbo išvados ir pasiūlymai. Darbą sudaro 5 dalys: įvadas, analitinė dalis, tiriamoji dalis, išvados ir siūlymai, literatūros sąrašas. / The MA thesis examined the possibilities of user interface, which uses vector graphics, integration of expert systems, reviewed the existing integrated solutions, expert systems development methods. MA thesis examines JESS system architecture, describes the creation of vectorgraphics systems. The practical part provides a prototipe of integration. Afterwards the conclusions and recommendations are given. The work consists of five parts: introduction, analytical part, research, conclusions and suggestions, references.
|
227 |
Domestic violence against women in rural Indonesia : searching for multilevel preventionHayati, Elli Nur January 2013 (has links)
Background: Domestic violence has been recognized globally as one of the most important Public Health concerns with severe negative health consequences for the exposed women. Through UN bodies several international milestones have successfully pushed attention towards worldwide improvements in the life situations of women. Since the ratification of the Convention on Elimination of All Forms of Discrimination against Women (CEDAW) in 1984, significant positive changes towards equality between men and women in Indonesia have been initiated, one being the enactment of the Domestic Violence Act in 2004. However, there is still a need to improve the knowledge about what preventive measures that are feasible and work in different settings. This thesis aims to contribute to a better understanding of appropriate prevention strategies against domestic violence in rural Indonesia by exploring: i) risk factors for domestic violence; ii) women’s ways of coping with exposure to violence; iii) men’s views on masculinity and violence within marriage; and iv) challenges faced by local service agency in managing services for women survivors of domestic violence. Methods: Data from a cross sectional population based study was used to analyze risk factors for physical and sexual abuse among a cohort of pregnant women in Purworejo district. Further, a qualitative phenomenological interview study was conducted to reveal the dynamics of coping among women survivors of domestic violence in the same district. A Grounded Theory study based on focus group discussions with men formed the basis for a situational analysis of the linkage between masculinity and the use of violence within marriage. Finally, a qualitative case study was performed to explore the management practices of a local service agency in the district, to understand the challenges faced in their efforts to address domestic violence. Results: Sexual violence was associated with husbands’ demographic characteristics (age and low educated) and women’s economic independence. Exposure to physical violence among women was strongly associated with husbands’ personal characteristics. The attitudes and norms expressed by women confirmed unequal gender relationships. Experiencing violence led women to using an elastic band coping strategy, moving between actively opposing the violence and surrendering or tolerating the situation. The national gender equality policies were shown to have played a crucial role in transforming gender power relations among men and women (the gender order) in the Indonesian society. Three different positions of masculinity were identified, the traditionalist, the egalitarian, and the progressive, with different beliefs about men’s role within marriage and with various levels of accepting the use of violence. Long term structural preventive efforts and individual interventions targeted to the conflicting couples were preferred over reporting the abuser to the authorities. The major challenges faced by the local service agency were the low priority given by the authorities, mirrored also in low involvement in the daily service by the assigned volunteers. The local agency also stammered in translating the current law and policies into a society that held on to traditional and religious norms regulating the relationships between men and women. Conclusion: Overall, this thesis illustrates that sociocultural traditions and religious teaching still viscously influence people’s attitudes and beliefs about the use of violence within relationships. Domestic violence has not been accepted as a criminal act but is still to a large extent seen as a private family affair. Culturally sensitive programs aimed to bridging the gap between the current laws and policies and the socio-cultural traditions need to be further developed to protect women from domestic violence and increase gender equity in the Indonesian setting.
|
228 |
A Constraint-based ITS for the Java Programming LanguageHolland, Jay January 2009 (has links)
Programming is one of the core skills required by Computer Science undergraduates in tertiary institutions worldwide, whether for study itself, or to be used as a tool to explore other relevant areas. Unfortunately, programming can be incredibly difficult; this is for several reasons, including the youth, depth, and variety of the field, as well as the youth of the technology that frames it. It can be especially problematic for computing
neophytes, with some students repeating programming courses not due to academic
laziness, but due to an inability to grasp the core concepts. The research outlined by this thesis focuses on our proposed solution to this problem, a constraint-based intelligent tutoring system for teaching the Java programming language, named J-LATTE.
J-LATTE (Java Language Acquisition Tile Tutoring Environment) is designed to solve this problem by providing a problem-solving environment for students to work through programming problems. This environment is unique in that it partitions interaction into a concept mode and a coding mode. Concept mode allows the student to form solutions using high-level Java concepts (in the form of tiles), and coding mode allows the student to enter Java code into these tiles to form a complete Java program. The student can, at any time, ask for feedback on a solution or partial solution that they
have formed.
A pilot study and two full evaluations were carried out to test the effectiveness of the system. The pilot study was run with an assignment given to a postgraduate Computer Science course, and because of the advanced knowledge level of the students, it was not designed to test teaching effectiveness, but instead was useful in determining usability issues and identifying any software errors.
The full evaluations of the system were designed to give insight into the teaching effectiveness of J-LATTE, by comparing the results of using the system against a simulated classroom situation. Unfortunately, the participant base was small, for several reasons that are explained in the thesis. However, the results prove interesting otherwise and for the most part are positive towards the effectiveness of J-LATTE. The participants’ knowledge did improve while interacting with the system, and the subjective data collected shows that students like the interaction style and value the feedback obtained.
|
229 |
Towards quality programming in the automated testing of distributed applicationsChu, Huey-Der January 1998 (has links)
Software testing is a very time-consuming and tedious activity and accounts for over 25% of the cost of software development. In addition to its high cost, manual testing is unpopular and often inconsistently executed. Software Testing Environments (STEs) overcome the deficiencies of manual testing through automating the test process and integrating testing tools to support a wide range of test capabilities. Most prior work on testing is in single-thread applications. This thesis is a contribution to testing of distributed applications, which has not been well explored. To address two crucial issues in testing, when to stop testing and how good the software is after testing, a statistics-based integrated test environment which is an extension of the testing concept in Quality Programming for distributed applications is presented. It provides automatic support for test execution by the Test Driver, test development by the SMAD Tree Editor and the Test Data Generator, test failure analysis by the Test Results Validator and the Test Paths Tracer, test measurement by the Quality Analyst, test management by the Test Manager and test planning by the Modeller. These tools are integrated around a public, shared data model describing the data entities and relationships which are manipulable by these tools. It enables early entry of the test process into the life cycle due to the definition of the quality planning and message-flow routings in the modelling. After well-prepared modelling and requirements specification are undertaken, the test process and the software design and implementation can proceed concurrently. A simple banking application written using Java Remote Method Invocation (RMI) and Java DataBase Connectivity (JDBC) shows the testing process of fitting it into the integrated test environment. The concept of the automated test execution through mobile agents across multiple platforms is also illustrated on this 3-tier client/server application.
|
230 |
Programmer-friendly decompiled JavaNaeem, Nomair A. January 2006 (has links)
Java decompilers convert Java class files to Java source. Common Java decompilers are javac-specific decompilers since they target bytecode produced from a particular javac compiler. We present work carried out on Dava, a tool-independent decompiler that decompiles bytecode produced from any compiler. A known deficiency of tool-independent decompilers is the generation of complicated decompiled Java source which does not resemble the original source as closely as output produced by javac-specific decompilers. This thesis tackles this short-coming, for Dava, by introducing a new back-end consisting of simplifying transformations. / The work presented can be broken into three major categories: transformations using tree traversals and pattern matching to simplify the control flow, the creation of a flow analysis framework for an Abstract Syntax Tree (AST) representation of Java source code and the implementation of flow analyses with their use in complicated transformations. / The pattern matching transformations rewrite the ASTs to semantically-equivalent ASTs that correspond to code that is easier for programmers to understand. The targeted Java constructs include If and If-Else aggregation, for-loop creation and the removal of abrupt control flow. Pattern matching using tree traversals has its limitations. Thus, we introduce a new structure-based data flow analysis framework that can be used to gather information required by more complex transformations. Popular compiler analyses e.g., reaching definitions, constant propagation etc. were implemented using the framework. Information from these analyses is then leveraged to perform more advanced AST transformations. / We performed experiments comparing different decompiler outputs for different sources of bytecode. The results from these experiments indicate that the new Dava back-end considerably improves code comprehensibility and readability.
|
Page generated in 2.0074 seconds