1 |
Implementação de uma metodologia de desenvolvimento de software embarcado baseado em modelos de computação e sua aplicação em um medidor de energia como prototipo alvoTorres, Weslley Medeiros January 2015 (has links)
Orientador: Prof. Dr. Carlos Eduardo Capovilla / Dissertação (mestrado) - Universidade Federal do ABC, Programa de Pós-Graduação em Engenharia Elétrica, 2015. / O desenvolvimento de software embarcado se tornou um gargalo para a introdu-
¸c¿ao de produtos complexos no mercado, como os sistemas de automa¸c¿ao, ve'ýculo,
aeronaves e plantas industriais de controle, pois, dever'a interagir com processos f'ýsicos
garantindo suporte 'a opera¸c¿ao em tempo real e de forma concorrente, ainda
mantendo os custos reduzidos. Com isso, o n'ývel de integra¸c¿ao conseguido com sistemas
embarcados 'e ainda maior, e aumentando a complexidade do desenvolvimento
do software. Portanto, uma metodologia efetiva deve ser estabelecida em todos os
est'agios, envolvendo ferramentas de software que suportem a gera¸c¿ao autom'atica ou
semi-autom'atica de c'odigo, al'em da possibilidade de reuso de c'odigo.
O desenvolvimento baseado em modelos tem sido empregado com sucesso na
implementa¸c¿ao de sistemas de software de uso geral e com isso reduzindo o n'umero
de erros e reduzindo os ciclos e custos, surgindo como uma solu¸c¿ao para os problemas
de desenvolvimento de software embarcado dentro da academia e ind'ustria. Devido
a utilizar um ambiente de desenvolvimento unificado, pode ser utilizado como uma
ferramenta de comunica¸c¿ao e desenvolvimento atrav'es das diferentes disciplinas de
engenharia.
O objetivo principal da metodologia 'e a mudan¸ca de paradigma de desenvolvimento
de software de forma manual a partir de especifica¸c¿oes informais para a
captura de requisitos funcionais e n¿ao funcionais do software embarcado a partir
de modelos matem'aticos do sistema. Claramente, um modelo matem'atico oferece
um modo comum para a integra¸c¿ao sistem'atica e coerente dos diferentes esfor¸cos na
especifica¸c¿ao do sistema, projeto, s'ýntese (gera¸c¿ao de c'odigo), an'alise (valida¸c¿ao),
execu¸c¿ao e manuten¸c¿ao(evolu¸c¿ao do projeto).
Esse trabalho emprega a metodologia de desenvolvimento baseada em modelos
de computa¸c¿ao para o desenvolvimento de um medidor de energia, composto por
um microcontrolador e hardware espec'ýfico para a medi¸c¿ao de consumo de energia
el'etrica. Ao final ser¿ao disponibilizados os dados de testes comparativos entre o
medidor de precis¿ao de energia el'etrica WT3000 da Yokogawa e o prot'otipo desenvolvido,
para a valida¸c¿ao da metodologia no prot'otipo desenvolvido. / Embedded software design has become the bottleneck in the market introduction
of complex products such as automation systems, automobiles, airplanes, and industrial
control plants, it must interact with physical processes guaranteeing support for
hard real-time operation and concurrency, also, with tight cost. Furthermore, the
level of integration with embedded system is even bigger, increasing software development
complexity. Due to the increasing complexity and shrinking time-to-market,
an effective methodology must at all stages involve automatic and semi-automatic
support by software tools and favor code re-use.
Model-based desing has been successfully used for development of general-purpose
software systems and it is known to reduce development errors, shorten development
cycles and thereby decrease overall development costs, emerging as a solution to embedded
software design issues as witnessed by both accademic and industrial efforts,
also uses a common environment for design and communication throughout the different
engineering disciplines.
The core principle of this methodology is to move away from manual coding
from informal specifications by capturing embedded software functional and nonfunctional
requirements from abstract mathematical models. Clearly, a mathematical
model offers a common ground for a systematic and coherent integration of
diverse efforts in system specification, design, synthesis (code generation), analysis
(validation), execution (runtime support), and maintenance (design evolution).
The present work investigates the application of software model based development
for an energy meter, which is composed by a microcontroller and some specific
hardware peripherals to measure electricity usage. At the end it will be conducted
comparative tests between the energy power meter WT3000 from Yokogawa and the
developed energy meter, to validate the used methodology into developed energy
meter.
|
2 |
Construction de liens entre algorithmique et logique par du calcul à temps infini / From algorithmics to logic through infinite time computationsOuazzani, Sabrina 02 December 2016 (has links)
Cette thèse s'inscrit dans le contexte du calcul en temps infini. Par cette désignation, nous faisons référence au temps indicé par des ordinaux, ces derniers possédant de bonnes propriétés pour ``compter''en leur long. En 2000, le modèle des machines de Turing à temps infini fut proposé par Hamkins et Lewis. Ce modèle généralise le processus de calcul des machines de Turing aux étapes de temps représentées par des ordinaux. Dans ce modèle de calcul, les étapes sont indicées par des ordinaux dénombrables, bien que le ruban soit toujours indicé par des entiers naturels. Les entrées du modèle sont donc les suites infinies de lettres. Un certain nombre de comportements nouveaux et étonnants apparaissent avec ces machines. Dans notre thèse, nous nous intéressons à certains de ces comportements.Naturellement, plus les temps de calcul sont longs, plus le modèle est puissant, et plus il devient possible de décider de nouveaux ensembles.À partir d’ordinaux assez grands, de nouvelles propriétés structurelles apparaissent également. L'une d'entre elles est l'existence de brèches dans les temps possibles d'arrêts de programmes. Lorsque ces brèches furent découvertes, de premiers liens entre elles et le caractère admissible des ordinaux qui les commencent furent établis. Notre approche utilise l'algorithmique pour préciser les liens entre les propriétés logiques des ordinaux et les propriétés calculatoires de ces machines à temps infini.Plus précisément, grâce à des des algorithmes spécifiques, nous découvrons et prouvons de nouvelles propriétés sur ces brèches,amenant à une meilleure compréhension de leur structure. Nous montrons notamment que les brèches peuvent être de toutes les tailles (limites) écrivables, qu'il en existe même de taille au moins aussi grande que leur ordinal de début. Jusqu’à la première brèche ayant cette caractéristique, la structure des brèches est assez proche de celle des ordinaux : elles apparaissent en ordre croissant en fonction de leur taille. Nous montrons également que jusqu'à cette brèche spéciale, si les ordinaux admissibles sont exactement les ordinaux débutant les brèches, au-dessus, des ordinaux admissibles peuvent apparaître au milieu de très grandes brèches et la structure des brèches devient désordonnée. / This thesis is centred on the study of infinite time computations. Infinite time here means having a time axis indexed by ordinals — the ordinals are convenient objects along which we can count. The infinite time Turing machine model was introduced by Hamkins and Lewis in 2000. This model generalises the Turing machine computation model to ordinal time. In this model, stages are indexed by (countable) ordinals, even though the tape is indexed by the integers as in the classical model. This model can thus now have infinite strings as input. The main focus of this thesis is the study of some of the new and surprising behaviours that these machines exhibit. Naturally, the longer, i.e., the greater ordinal, the computations run, the more powerful the model is, i.e. it computes/recognizes more sets. If the computations run beyond certain ordinal times, new structural properties also appear. One of these properties is the existence of gaps in the halting times of the machines. When these gaps had been discovered, some first links had been established between these gaps and the admissible character of the ordinals starting them. Our approach uses algorithmics as a mean to emphasize the links between the logical properties of the ordinals involved and the computational properties of the infinite time Turing machines. Moreover, thanks to some specific algorithms, we discover and prove new properties of these gaps, leading to a better understanding of their structure. We show in particular that gaps can have precisely every possible writable ordinal size and that there are gaps whose length is greater or equal than their starting ordinal point. Until the first of such a gap, the gaps appear in increasing sizes. We also show that even if, before this special gap, admissible ordinals only appear at the beginning of gaps, the gaps structure becomes quite disordered beyond that point, with admissible ordinals appearing not only at the beginning but also inside some (huge) gaps.
|
3 |
Αρχιτεκτονικές λογισμικού για περιβάλλοντα επίλυσης προβλημάτων και εφαρμογές στο ασύγχρονο μοντέλο υπολογισμούΚόλλιας, Γεώργιος 11 January 2010 (has links)
Τα τελευταία χρόνια έχουν γίνει σημαντικές προσπάθειες o Πληροφορικός-Επιστήμονας των Υπολογισμών να εκθέσει με εύληπτο τρόπο τη γνώση και εμπειρία του στις κοινότητες εκείνων που θέλουν να κάνουν υπολογισμούς. Κάτι τέτοιο έχει καταστεί δυνατό με την κατασκευή σύνθετων στη δομή, αλλά εύκολων στη χρήση, εργαλείων-περιβαλλόντων υπολογισμού στα οποία κανείς μπορεί με εντελώς φυσικό τρόπο να προδιαγράψει το πρόβλημά του και -ανάλογα με την εμπειρία του- να επέμβει στη ροή επίλυσής του. Τα Περιβάλλοντα Επίλυσης Προβλημάτων (ΠΕΠ) προβάλλουν λοιπόν ως μια πολύ ελκυστική λύση για τον επιστήμονα των εφαρμογών που αναζητεί μια εύχρηστη, ισχυρή και αξιόπιστη πλατφόρμα λογισμικού για τους υπολογισμούς του.
Σε πολλές περιπτώσεις αυτοί οι υπολογισμοί είναι πολύ μεγάλης κλίμακας και απαιτούν πολυάριθμους και αποδοτικούς πόρους. Η τιθάσευσή τους σε κάποια έκταση έγινε δυνατή με τη στροφή σε παράλληλες-κατανεμημένες αρχιτεκτονικές, πρόσφατα μεγάλης κλίμακας, με έμφαση στην ευχρηστία, στην ασφάλεια πρόσβασης και στη συνεργατικότητα (Πλέγμα (Grid)). Σε άλλες περιπτώσεις οι πολυπύρηνοι επεξεργαστές που εξοπλίζουν πλέον τους τυπικούς οικιακούς υπολογιστές μας και οι προβλέψεις για αθρόα κλιμάκωση του αριθμού των προσφερόμενων πυρήνων, προτρέπουν σε επαναδιαπραγμάτευση κλασικών αλγορίθμων με στόχευση στην εξαγωγή παραλληλίας, αφού πλέον αυτή μπορεί να απεικονιστεί άμεσα στο διαθέσιμο υλικό. Επιπρόσθετα μια τέτοια στροφή ώθησε και τη διερεύνηση εναλλακτικών μοντέλων υπολογισμού: Το ασύγχρονο μοντέλο υπολογισμού προσφέροντας τη δυνατότητα για εξάλειψη των χρονοβόρων φάσεων συγχρονισμού των πολλαπλών μονάδων επεξεργασίας προβάλλει ως μια ενδιαφέρουσα επιλογή.
Συστηματοποιούμε τη μελέτη των Περιβαλλόντων Επίλυσης Προβλημάτων (ΠΕΠ) εντοπίζοντας τους άξονες που χαρακτηρίζουν αυτήν την κατηγορία συστημάτων λογισμικού και υλοποιώντας το Jylab, ένα πρωτότυπο ΠΕΠ με έμφαση στη φορητότητα, την επαναχρησιμοποίηση ελεύθερα διαθέσιμου κώδικα και τη δυνατότητα για ακολουθιακό, παράλληλο και κατανεμημένο υπολογισμό σε πολλαπλές πλατφόρμες. Ειδικότερα, το Jylab περιλαμβάνει υποστήριξη για ασύγχρονο κατανεμημένο υπολογισμό, ανάλυση ιστογραφημάτων και εκτέλεση υπολογισμών στο Πλέγμα (Grid).
Αμέσως μετά εισάγουμε το ασύγχρονο μοντέλο υπολογισμού εστιάζοντας σε καίρια ζητήματα όπως η ανάλυση της σύγκλισης, η ανίχνευση του τερματισμού και η υλοποίησή του. Προτείνουμε πιθανοτικό πλαίσιο εντοπισμού της σύγκλισης και διερευνούμε την πολυπλοκότητα του μοντέλου.
Στη συνέχεια μελετούμε αλγορίθμους διάταξης των κόμβων ενός γραφήματος, επικεντρώνοντας στον υπολογισμό του διανύσματος του PageRank το οποίο χρησιμοποιεί η Google για να διατάξει τα αποτελέσματα μιας ερώτησης που υποβάλλουμε στη μηχανή αναζήτησής της.
Αποδεικνύουμε πως και άλλες μέθοδοι διάταξης, οι οποίες εκφράζονται πρωταρχικά ως δυναμοσειρές ενός τροποποιημένου μητρώου συνδέσμων μπορούν να γραφτούν ως γινόμενα των επαναληπτικών μητρώων που χρησιμοποιούνται στον υπολογισμό του διανύσματος PageRank, αλλά με διαφορετική παράμετρο σε κάθε όρο τους (μέθοδος της πολυπαραμετρικής απόσβεσης).
Στη συνέχεια εκθέτουμε την πειραματική συμπεριφορά του ασύγχρονου μοντέλου, όπως αυτή προκύπτει από υλοποιήσεις κυρίως του αλγορίθμου του PageRank, σε διάφορες πλατφόρμες (τοπικά, στη συστάδα υπολογισμών και στο Πλέγμα (Grid)) και με μονάδες εκτέλεσης νήματα ή διεργασίες. To Jylab χρησιμοποιήθηκε εντατικά σε αυτές τις διερευνήσεις και αποδείχτηκε πως όλοι οι πειραματισμοί μπορούν να τεθούν κάτω από ενιαίο πλαίσιο λογισμικού.
Επίσης εισάγουμε μια κλάση αλγορίθμων κατανεμημένου υπολογισμού στατιστικών μεγεθών, τους gossip αλγορίθμους, σε κάθε στοιχειώδες βήμα των οποίων μόνο δύο οντότητες επικοινωνούν και υπολογίζουν. Επεκτείνουμε αυτούς τους αλγορίθμους επιτρέποντας σε k > 2 οντότητες να αλληλεπιδρούν ανά βήμα, προσομοιώνουμε τη συμπεριφορά τους και προτείνουμε πρωτόκολλα υλοποίησής τους. / In recent years computational scientists strive to expose their knowledge and experience to the communities of people interested in performing computations. This endeavor focuses on the construction of complex in structure, however simple in use, toolchains and environments in which a researcher can specify his or her problem and - depending on his experience - change its exact solution flow.
In many cases these computations necessitate large-scale and performant resources. Harnessing them, to some extent, became possible by turning to parallel-distributed architectures, recently of large scale, emphasizing usability, security in accessing them and collaboration perspectives (Grid). In other cases, the multicore processors, nowadays powering even typical personal computers, coupled with predictions for dramatic increase in the number of available cores in the near future, suggest a reconsideration of classic algorithms aiming at extracting parallelism, since this can be directly mapped to underlying hardware. Additionally, such a move, also fuels the investigation of alternative computation models: The asynchronous computation model, offering the flexibility for the complete removal of time-consuming synchronization phases, is a very interesting option.
We study Problem Solving Environments (PSEs) in a systematic manner, specifying the axes characterizing this category of systems of software also implementing Jylab, a prototype PSE emphasizing portability and the reuse of freely available code and enabling sequential, parallel and distributed computing over multiple platforms. More specifically, Jylab includes support for asynchronous distributed computations, Web graph analysis and Grid computing.
Then we introduce the asynchronous computation model, focusing in three core subjects, namely its convergence analysis, the termination detection problem and its implementation. We propose a probabilistic framework for convergence detection and explore the complexity of the model.
Afterwards, we survey algorithms for ranking the nodes of a graph, focusing on computing the PageRank vector, which is used by Google for ranking the results of a query submitted to its search engine.
We prove that a whole class of ranking methods, primarily expressed as a power series of a modified link matrix can be written as products of iterative matrices similar to those used in computing the PageRank vector, albeit with a different damping parameter for each of its terms (multidamping).
Next, we present the experimental behavior of the asynchronous model, mainly as applied in computing the PageRank vector, over different platforms (locally, in a computer cluster and over the Grid) using either threads or processes as its units of execution. Jylab was intensively used in these investigations and it was proved that all experimentations can be cast under a unifying software framework.
We also introduce a class of algorithms for the distributed computation of statistical quantities, namely gossip algorithms, for which only two entities communicate and compute at each elementary step. We extend these algorithms be permitting k > 2 entities to interact on a per elementary step basis, simulate their behavior and propose protocols for implementing them.
|
Page generated in 0.0289 seconds