• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 3
  • 1
  • Tagged with
  • 17
  • 3
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
11

An automated OpenCL FPGA compilation framework targeting a configurable, VLIW chip multiprocessor

Parker, Samuel J. January 2015 (has links)
Modern system-on-chips augment their baseline CPU with coprocessors and accelerators to increase overall computational capacity and power efficiency, and thus have evolved into heterogeneous systems. Several languages have been developed to enable this paradigm shift, including CUDA and OpenCL. This thesis discusses a unified compilation environment to enable heterogeneous system design through the use of OpenCL and a customised VLIW chip multiprocessor (CMP) architecture, known as the LE1. An LLVM compilation framework was researched and a prototype developed to enable the execution of OpenCL applications on the LE1 CPU. The framework fully automates the compilation flow and supports work-item coalescing to better utilise the CPU cores and alleviate the effects of thread divergence. This thesis discusses in detail both the software stack and target hardware architecture and evaluates the scalability of the proposed framework on a highly precise cycle-accurate simulator. This is achieved through the execution of 12 benchmarks across 240 different machine configurations, as well as further results utilising an incomplete development branch of the compiler. It is shown that the problems generally scale well with the LE1 architecture, up to eight cores, when the memory system becomes a serious bottleneck. Results demonstrate superlinear performance on certain benchmarks (x9 for the bitonic sort benchmark with 8 dual-issue cores) with further improvements from compiler optimisations (x14 for bitonic with the same configuration).
12

Self-beliefs in the introductory programming lab and game-based fantasy role-play

Scott, Michael James January 2015 (has links)
It is important for students to engage in adequate deliberate practice in order to develop programming expertise. However, students often encounter anxiety when they begin to learn. This can present a challenge to educators because such anxiety can influence practice behaviour. This thesis situates this challenge within the Control- Value Theory of Achievement Emotions, emphasising a need for domain-specific research and presenting new research tools which can be used to investigate the area. Analysis of data collected from three cohorts of introductory programming students on web programming (2011-12) and robot programming (2012-13 and 2013-14) courses show that programming self-concept and programming aptitude mindset can predict programming anxiety and that programming anxiety is negatively correlated with programming practice. However, levels of anxiety remained consistently high across this period. A method to enrich these psychological constructs through a multimedia-rich learning environment is proposed. Drawing upon the interplay between narrative reinforcement and procedural rhetoric that can be achieved in a fantasy role-play, students' self-concept can be enhanced. A double-blind randomised controlled trial demonstrates promising results, however small effect sizes suggest further research is needed.
13

Quantitative bounds on the security-critical resource consumption of JavaScript apps

Franzen, Daniel January 2016 (has links)
Current resource policies for mobile phone apps are based on permissions that unconditionally grant or deny access to a resource like private data, sensors and services. In reality, the legitimacy of an access may be context-dependent - for example, depending on how often a resource is accessed and in which situation. This thesis presents research into providing bounds on the access of JavaScript apps to security and privacy-relevant resources on mobile devices. The investigated bounds are quantitative and interaction-dependent: for example, permitting one access each time the user presses a specified button. Two novel systems are presented with different approaches to providing these bounds. The system PhoneWrap injects a quantitative policy into an app and enforces the bound dynamically during runtime by monitoring the resource consumption and the user interaction. If the injected bound is exceeded, the resource request is replaced by a deny action. This way, PhoneWrap restricts the unwanted behaviour while the expected functionality can be performed. Policies for this system describe the UI elements which trigger the expected resource consumption and the number of resource units consumed for each interaction. The enforcement of the policies is achieved via wrapping the critical APIs using JavaScript internal features. The injection of a policy can be performed automatically. PhoneWrap is the first system using the lightweight wrapping method to inject policies directly into mobile apps and the first to combine quantitative policies with interaction-dependencies. The second system AmorJiSe statically analyses the resource consumption of a given JavaScript program. This system automatically infers amortised annotations on top of given JavaScript data types. The amortised annotations symbolise reserved resource units stored in the data structures. This way the amount of resource units available to the app is expressed dependent on the size of the data structures. The resulting function types of the UI handlers can be used to extract interaction-dependent bounds. The correctness of these bounds is proven in relation to a resource-aware operational semantics. AmorJiSe extends the known amortised type paradigm to JavaScript with its dynamic object structures and applies this paradigm to the novel domain of mobile resources. Although, the two systems are based on similar resource models and produce similar resource bounds, they use different methods with different properties which are presented in this dissertation.
14

Χρήση Real Time Linux στην ανάπτυξη embedded συστημάτων

Χανδράς, Μάρκος 20 October 2009 (has links)
Το πρότυπο IEC61499 ορίζει το Function Block ως νέο τρόπο ανάπτυξης συστημάτων ελέγχου και αυτοματισμού. Τα συστήματα αυτά αποτελούνται από κατανεμημένες, ενσωματωμένες συσκευές οι οποίες διασυνδέονται μέσω βιομηχανικών δικτύων πραγματικού χρόνου. Λόγω του κατανεμημένου χαρακτήρα των συστημάτων αυτών, η εύρεση και επιδιόρθωση σφαλμάτων και ο έλεγχος της ορθής λειτουργίας τους θα πρέπει να γίνεται στο περιβάλλον των ενσωματωμένων αυτών συστημάτων. Στα πλαίσια αυτής της διπλωματικής δίνεται μία υλοποίηση για την κάλυψη της παραπάνω ανάγκης. Ο χρήστης μέσω μίας γραφικής διεπαφής, έχει την δυνατότητα να εκτελεί βασικές λειτουργίες απασφαλμάτωσης στο περιβάλλον των ενσωματωμένων συστημάτων, σε πραγματικό χρόνο, με την χρήση του RTAI και του RTnet. / The IEC 61499 standard defines Function Block as a new way of developing control and automation systems. These systems consist of distributed embedded devices which interconnect via real time industrial networks. Due to the distributive character of these systems, debugging and operation integrity check, should be done on target environment. This dissertation provides a tool for covering this need. Via a graphical user interface the user has the ability to perform basic real time debugging operations in the target enviroment, using RTAI and RTnet.
15

Η Real Time Java στην ανάπτυξη ενσωματωμένων συστημάτων

Ασσιούρας, Ιωάννης 05 January 2011 (has links)
Η Real time Specification of Java (RTSJ) ξεπερνάει τους περιορισμούς της Java που την κρίνουν ακατάλληλη για την ανάπτυξη συστημάτων πραγματικού χρόνου. H Real Time Java έχει ήδη χρησιμοποιηθεί στην ανάπτυξη βιομηχανικών συστημάτων ελέγχου με θετικά αποτελέσματα. Ωστόσο, η ευρεία χρήση στην ανάπτυξη εφαρμογών του πεδίου αυτού περιορίζεται σημαντικά από το γεγονός ότι οι μηχανικοί συστημάτων ελέγχου δεν είναι εξοικοιωμένοι με τις σύγχρονες τεχνολογίες ανάπτυξης λογισμικού. Το IEC61499 RTSJ-Based Framework, το οποίο παρουσιάζεται και επεκτείνεται στην παρούσα διπλωματική εργασία αξιοποιεί το νέο IEC61499 πρότυπο, το οποίο είναι βασισμένο στην έννοια του Function Block. Το framework αυτό επιτρέπει στον μηχανικό συστημάτων ελέγχου να δουλέψει στο επίπεδο σχεδίασης χρησιμοποιώντας την ευρέως διαδεδομένη έννοια του FB, εκμεταλλευόμενος το αυτόματα παραγόμενο Real time Java μοντέλο υλοποίησης του συστήματος. Στην παρούσα διπλωματική εργασία αρχικά παρουσιάζονται οι επεκτάσεις που προσφέρει το RTSJ στην standard Java ώστε να μπορεί να χρησιμοποιηθεί σε εφαρμογές πραγματικού χρόνου. Στην συνέχεια παρουσιάζεται το IEC61499 RTSJ-Based Framework και οι επεκτάσεις που έγιναν σε αυτό, ώστε να μπορεί να υποστηριχθεί η ανάπτυξη κατανεμημένων εφαρμογών. Ακολουθεί η ανάλυση της απόδοσης του περιβάλλοντος εκτέλεσης του framework και η περίπτωση χρήσης ενός συστήματος γραμμής παραγωγής, του Festo MPS. / The Real Time Specification of Java (RTSJ) addresses successfully the limitations of Java that make it inappropriate for the development of real time applications.Many positive experiences of using Real Time Java in the control and automation domain have already been reported so far.In spite of the many positive results, the wide use of Java in control and automation domain is prohibited due to the fact that the control engineers are not familiar with current software engineering technologies. The IEC61499 RTSJ-Based Framework, that is presented and extended in the context of this thesis exploits the new IEC61499 standard that is based on the Function Block(FB) concept.This framework allows the control engineer to work in the design level using the already widely accepted concept of FB and transparently use real-time Java for the implementation model of the system. In this thesis the extensions that the RTSJ provides to standard Java are initially presented.Next, the IEC61499 RTSJ-Based Framework is presented as well as the extensions that were added in the context of this thesis in order to support the development of distributed applications.In addition, the performance analysis of the framework's run-time environment is presented as well as the case study of a modular production system the Festo MPS
16

Σχεδίαση - υλοποίηση σχεσιακής χωρικής βάσης δεδομένων

Παπαθανασίου, Ιωάννης 22 December 2009 (has links)
Το Εργαστήριο Ηλεκτρονικής του Τμήματος Φυσικής Πανεπιστημίου Πατρών ανέλαβε και υλοποίησε το ερευνητικό πρόγραμμα THETIS, το θέμα του οποίου είναι ‘Αυτόματη ανίχνευση και ταυτοποίηση υπογραφών πλοίων και κατάστασης θαλάσσιας επιφάνειας, από δορυφορικές εικόνες’. Υπάρχουν αριθμητικά και δυαδικά δεδομένα εικόνων πλοίων και καιρικών φαινόμενων. Ο σκοπός της παρούσας εργασίας είναι η οργάνωση αυτών των δεδομένων σε μια βάση mysql. Θα πρέπει το λογισμικό του ερευνητικού προγράμματος (σε Matlab) να αποκτά πρόσβαση στα δεδομένα αυτά, υποβάλλοντας ερωτήματα Επιπλέον λειτουργεί δικτυακός τόπος που παρέχει σε έναν πιστοποιημένο χρήστη του, πρόσβαση στα δεδομένα και τις πληροφορίες του ερευνητικού προγράμματος. Στο Κεφάλαιο1 γίνεται εισαγωγή στην έννοια των ΒΔ και των ΣΔΒΔ. Επιπλέον τονίζονται τα πλεονεκτήματα των ΣΔΒΔ έναντι της παραδοσιακής μηχανοργάνωσης. [1,2] Στο Κεφαλαίο 2 αφού αναφέροντα τα στάδια ανάπτυξης μιας βάσης, με έμφαση στο στάδιο της σχεδίασης και συγκεκριμένα στην δημιουργία του διαγράμματος ΜΟΣ. Επιπλέον υπάρχει για μια πραγματική εφαρμογή μηχανοργάνωσης μιας γραμματείας πανεπιστημιακής σχολής, όπου στο κεφάλαιο αυτό γίνεται η λήψη απαιτήσεων χρηστών και η δημιουργία του διαγράμματος ΜΟΣ. [1,2,3,4] Στο Κεφάλαιο 3 προχωρούμε περισσότερο την φάση της σχεδίασης δημιουργώντας το ΣΜ της προηγούμενης εφαρμογής και επιπλέον γίνεται αναφορά στην σχεσιακή άλγεβρα που είναι η βάση του ΣΜ. [1,2,3] Στο Κεφάλαιο 4 περιγράφεται η διαδικασία της κανονικοποίησης , που συνήθως ολοκληρώνει την φάση σχεδίασης μιας ΒΔ. Εξυπηρετεί στην περαιτέρω βελτίωση της σχεδίασης ώστε να είναι ορθή η υλοποίηση. [1,3,4] Στο Κεφάλαιο 5 γίνεται μια εκτενής εισαγωγή στο ΣΔΒΔ της Mysql . Περιγράφονται οι ορισμοί πινάκων και ερωτημάτων καθώς και οι υπάρχοντες τύποι δεδομένων σε συνδυασμό με περιορισμούς ορθότητας και ακεραιότητας, χρησιμοποιώντας παραδείγματα. [5,6,7,8] Στο Κεφάλαιο 6 αναπτύσσουμε την ΒΔ thesis_db της παρούσας εργασίας. Γίνεται λήψη απαιτήσεων, τα διαγράμματα ΜΟΣ και ΣΜ ( κατά την φάση σχεδίασης ), καθώς και η δημιουργία του σχήματος και ενός στιγμιότυπου της χρησιμοποιώντας Mysql. [1,5,6,7,8] Στο κεφάλαιο 7 παρουσιάζεται ο τρόπος διασύνδεσης της Matlab με την Mysql, χρησιμοποιώντας υπάρχον λογισμικό διασύνδεσης. Γίνεται παρουσίαση αυτής της λειτουργίας διασύνδεσης, χρησιμοποιώντας ένα GUI Matlab, με το οποίο ο χρήστης υποβάλλει ερωτήματα σε μια βάση mysql και λαμβάνει αποτελέσματα . [9,10,11,12] Στο κεφάλαιο 8 γίνεται μια εισαγωγή στην γλώσσα PHP και στον τρόπο διασύνδεσης με την Mysql χρησιμοποιώντας παραδείγματα. [13-20] Στο Κεφάλαιο 9 παρουσιάζεται ο δικτυακός τόπος λήψης δεδομένων και πληροφοριών από την βάση δεδομένων σε εγγεγραμμένους χρήστες. [5,13-20] / -
17

Validation des spécifications formelles de la mise à jour dynamique des applications Java Card / Validation of formal specifications for dynamic updates in Java Card applications

Lounas, Razika 10 November 2018 (has links)
La mise à jour dynamique des programmes consiste en la modification de ceux-ci sans en arrêter l'exécution. Cette caractéristique est primordiale pour les applications critiques en continuelles évolutions et nécessitant une haute disponibilité. Le but de notre travail est d'effectuer la vérification formelle de la correction de la mise à jour dynamique d'applications Java Card à travers l'étude du système EmbedDSU. Pour ce faire, nous avons premièrement établi la correction de la mise à jour du code en définissant une sémantique formelle des opérations de mise à jour sur le code intermédiaire Java Card en vue d'établir la sûreté de typage des mises à jour. Nous avons ensuite proposé une approche pour vérifier la sémantique du code mis à jour à travers la définition d'une transformation de prédicats. Nous nous sommes ensuite intéressés à la vérification de la correction concernant la détection de points sûrs de la mise à jour. Nous avons utilisé la vérification de modèles. Cette vérification nous a permis de corriger d'abord un problème d'inter blocage dans le système avant d'établir d'autres propriétés de correction : la sûreté d'activation et la garantie de mise à jour. La mise à jour des données est effectuée à travers les fonctions de transfert d'état. Pour cet aspect, nous avons proposé une solution permettant d'appliquer les fonctions de transfert d’état tout en préservant la consistance du tas de la machine virtuelle Java Card et en permettant une forte expressivité dans leurs écritures. / Dynamic Software Updating (DSU) consists in updating running programs on the fly without any downtime. This feature is interesting in critical applications that are in continual evolution and that require high availability. The aim of our work is to perform formal verification the correctness of dynamic software updating in Java Card applications by studying the system EmbedDSU. To do so, we first established the correctness of code update. We achieved this by defining formal semantics for update operations on java Card bytecode in order to ensure type safety. Then, we proposed an approach to verify the semantics of updated programs by defining a predicate transformation. Afterward, we were interested in the verification of correction concerning the safe update point detection. We used model checking. This verification allowed us first to fix a deadlock situation in the system and then to establish other correctness properties: activeness safety and updatability. Data update is performed through the application of state transfer functions. For this aspect, we proposed a solution to apply state transfer functions with the preservation of the Java Card virtual machine heap consistency and by allowing a high expressiveness when writing state transfer functions.

Page generated in 0.0825 seconds