Spelling suggestions: "subject:"applied ciences, computer cience"" "subject:"applied ciences, computer cscience""
11 |
Focused inverse method for LFLi, Xi January 2008 (has links)
No description available.
|
12 |
Eliciting preferences sequentially using partially observable Markov decision processesZawaideh, Zaid January 2008 (has links)
No description available.
|
13 |
Recommending adaptive changes for framework evolutionDagenais, Barthélémy January 2008 (has links)
No description available.
|
14 |
Generalized algebraic datatypes: a different approachLe Normand, Jacques January 2007 (has links)
No description available.
|
15 |
Dynamic resource allocation scheme design for quality of service control in networked real-time systemsChen, Xi January 2013 (has links)
Networked real-time systems (NRSs) are pervasive in the real world, and many of them work in an open environment with varying workload. Quality of service (QoS) of NRSs is closely related to the provision of the system resources for servingthe real-time tasks. To provide guarantees of QoS in NRSs, the system resources should be allocated to the real-time tasks in adaptation to the workload variations so that the desired system performance is obtained, referred to as QoS control.This thesis is concerned with the design of dynamic resource allocation schemes for QoS control in three typical NRSs. In the first part, we propose dynamic computing capacity planning schemes for processor utilization control in the distributed real-time systems, and for energy minimization with request response time guarantees in the server clusters. To handle the workload variations, we model the workload uncertainties as the parameters in the system models and use the system performance as online feedback to predict these parameters as precise as possible. Then the optimal computing capacities are provided to serve the real-time tasks in these systems online. Experimental/simulation results demonstrate effectiveness of the proposed schemes for QoS control in comparisons with the existing approaches. In the second part, we propose a dynamic network scheduling scheme for networked control systems (NCSs), typical NRSs with network bandwidth as a critical system resource. The proposed scheduling scheme can properly allocate the network bandwidth to the applications in NCSs so that the good real-time performance can be achieved. / Les systèmes temps-réel en réseau (NRSs) sont de plus en plus utilisés, et beaucoup d'entre eux fonctionnent dans un environnement ouvert aux charges variables. La Qualité de Service (QoS) des NRSs dépend des ressources systèmes pour répondre aux taches en temps-réel. Pour garantir la QoS, les ressources système doivent être allouées dynamiquement, en s'adaptant aux variations de charge, ceci dans le but d'atteindre les performances désirées.Cette thèse traite de la conceptions de méthodes d'allocation dynamique des ressources dans le but d'assurer la QoS dans le cas de 3 NRSs représentatifs. Nous commencerons pas proposer des méthodes de plannification de capacités pour le contrôle de l'utilisation du processeur dans les systèmes distribués, à coup énergétique minimal, avec temps de réponse garanti. Pour supporter les variations de charge, nous utilisons les performances du système pour prédire l'évolution de la charge à venir aussi précisement que possible. Ensuite, les ressources optimales sont libéréespour répondre aux besoins en temp-réel. Les resultats des expérimentations / simulations démontrent l'efficacité de ces méthodes sur le contrôle de la QoS, en comparaison à d'autres approches existantes. Dans un second temps, nous proposerons une méthodologie de séquençage réseau dynamique pour les systèmes controlés en réseau (NCSs), un NRS commun dépendant fortement de la bande passante du réseau. La méthodologie proposée peut correctement allouer la bande passante aux applications du NCS de sorte que de bonnesperformances soient atteintes.
|
16 |
Optimal sampling rate assignment with dynamic route selection for real-time wireless sensor networksShu, Weihuan January 2009 (has links)
The allocation of computation and communication resources in a manner that optimizes aggregate system performance is a crucial aspect of system management. Wireless sensor network poses new challenges due to the resource constraints and real-time requirements. Existing work has dealt with the real-time sampling rate assignment problem, under single processor case and network case with static routing environment. For wireless sensor networks, in order to achieve better overall network performance, routing should be considered together with the rate assignments of individual flows. In this thesis, we address the problem of optimizing sampling rates with dynamic route selection for wireless sensor networks. We model the problem as a constrained optimization problem and solve it under the Network Utility Maximization framework. Based on the primal-dual method and dual decomposition technique, we design a distributed algorithm that achieves the optimal global network utility considering both dynamic route decision and rate assignment. Extensive simulations have been conducted to demonstrate the efficiency and efficacy of our proposed solutions. / L'attribution de calcul et de la communication ressources d'une mani`ere qui optimise les performances du syst`eme global est un aspect crucial de la gestion du syst`eme. R´eseau de capteurs sans fil pose de nouveaux d´efis en raison de la p´enurie de ressources et en temps r´eel. Travaux existants a traite distribution temps-reel probl`eme de taux d'´echantillonnage, dans un seul processeur cas et r´eseau cas de routage environment statique. Pour les r´eseaux de capteurs sans fil, afin de parvenir `a une meilleure performance globale du r´eseau, le routage devrait tre examin´e en mˆeme temps que la distribution de taux des flux individuels. Dans cet article, nous abordons le probl`eme de l'optimisation des taux d'´echantillonnage avec route s´election dynamique pour r´eseaux de capteurs sans fil. Nous modelisons le probleme comme un probl`eme d'optimisation et le r´esolvons dans le cadre de l'utilite de reseau maximisation. Sur la base de la m´ethode primal-dual et la dual d´ecomposition technique, nous concevons un algorithme distribu´e qui atteint le meilleur l'utilite de reseau globale au vu de route d´ecision dynamique et le taux distribution. Des simulations ont ´et´e r´ealis´ees pour d´emontrer l'efficience et l'efficacit´e de nos solutions propos´ees. fr
|
17 |
Improving software modularity through crosscutting concern extractionYuen, Isaac January 2009 (has links)
Aspect-oriented programming (AOP) is a programming paradigm for improving the modularity of software systems by localizing crosscutting concerns in the system into aspects. Aspect-oriented refactorings extend AOP to legacy systems, by identifying and encapsulating existing crosscutting concerns through aspect-mining (discovery of crosscutting concerns) and aspect refactoring (semantic-preserving code transformation to extract the crosscutting code into aspects). However, not all the data obtained from aspectmining corresponds to crosscutting concerns, and existing aspect languages may not be capable of refactoring all crosscutting concerns into aspects. In this thesis, we describe an approach for extracting crosscutting concerns in a system to a form that is suitable for refactoring. This process includes identifying the presence of crosscutting code clusters in aspect-mining results; assessing if the concerns should be extracted using various metrics; and performing code transformation to extract the crosscutting clusters into standalone methods with a common method signature and parameters. The work also describes the ConcernExtractor, a software tool that implements the concern cluster extraction technique. We apply ConcernExtractor to assess and extract the crosscutting concerns in existing systems to evaluate the prevalence of crosscutting concerns that are refactorable, and the applicability of our approach for generating aspect refactoring opportunities. / La programmation orient´ee-aspect (POA) est un paradigme ayant pour but d’am´eliorerla modularit´e du logiciel en localisant les pr´eoccupations ´eparpill´ees dans des aspects.La refactorisation orient´ee-aspect ´etend les avantages de la POA par l’identification etl’encapsulation des pr´eoccupations existantes `a l’aide du forage d’aspects (aspect mining),et par leur refactorisation en aspects `a l’aide de transformations de code. Cependant,certains r´esultats du forage d’aspects ne correspondent pas `a des pr´eoccupations´eparpill´ees, et les languages aspects existants ne supportent pas la refactorisation de tousles pr´eoccupations en aspects. Cette th`ese d´ecrit une approche pour extraire les pr´eoccupations´eparpill´ees dans une forme qui se prˆete `a la refactorisation. Le processus incluel’identi-fication des pr´eoccupations refactorisables parmis les r´esultats de forage d’aspects,l’´evaluation de la valeur de l’extraction potentielle, et l’extraction proprement dite `a l’aidede transformations de code. La th`ese d´ecrit aussi ConcernExtractor, l’outil que nous avonsr´ealis´e pour supporter cette approche. Nous avons appliqu´e ConcernExtractor pour ´evaluerl’approche sur plusieurs syst`emes existants.
|
18 |
Aspect impact analysisZhang, Dehua January 2009 (has links)
One of the major challenges in aspect-oriented programming is that aspects may have unintended impacts on a base program. Thus, it is important to develop techniques and tools that can both summarize the impacts and provide information about the causes of the impacts. This thesis presents impact analyses for AspectJ. Our approach detects different ways advice and inter-type declarations interact and interfere with the base program and focuses on four kinds of impacts, \emph{state impacts} which cause changes of state in the base program, \emph{computation impacts} which cause changes in functionality by adding, removing or replacing computations of the base program, \emph{shadowing impacts} which cause changes of field reference in the base program, and \emph{lookup impacts} which cause changes of method lookup in the base program. We provide a classification scheme for these kinds of impacts and then develop a set of static analyses to estimate these impacts. A key feature of our approach is the use of points-to analysis to provide more accurate estimates. Further, our analysis results allow us to trace back to find the causes of the impacts. We have implemented our techniques in the AspectBench compiler. By implementing them in an AspectJ compiler, all kinds of pointcuts, advice and inter-type declarations can be analyzed. We also have integrated these analyses into an AspectJ IDE and provided a two-way navigation between impacts and program source code. In addition, we have carried out experiments on example programs and benchmarks to investigate the results of our analyses. / L'un des principaux d\'efis de la programmation orient\'ee aspect est queles aspects peuvent avoir des effets non voulus sur le programme debase. Il est donc important de d\'evelopper des techniques et des outilsqui peuvent mesurer les impacts et fournir des informations sur ce genrede ph\'enom\`ene. Cette th\`ese pr\'esente des analyses d'impact pour AspectJ.Notre approche examines les diff\'erentes voies par lesquelles les aspectspeuvent interagir avec le programme de base et se concentre sur quatretypes d'impacts, \emph{les impacts d'\'etat} qui provoquent deschangements d'\'etat dans le programme de base, \emph{les impacts decalcul} qui provoquent des changements au niveau des fonctions parl'ajout, la suppression ou le remplacement de calculs le programme debase, \emph{les impacts d'ombres} qui provoquent des changements dedomaine r\'ef\'erences dans le programme de base et \emph{les impacts der\'ef\'erence} qui provoquent des changements au niveau des m\'ethodesr\'ef\'erenc\'ees.Nous offrons un syst\'eme de classification pour ces types d'impacts etd\'eveloppons une s\'erie d'analyses statiques pour \'evaluer ces impacts. Un\'el\'ement cl\'e de notre approche est l'utilisation d'analyses de pointeursafin de fournir des estimations plus pr\'ecises. En outre, nos r\'esultatsd'analyse nous permettent de remonter plus loin et de trouver les causesde ces impacts.Nous avons mis en place nos techniques dans le compilateur AspectBenchpour AspectJ. En les appliquant dans un compilateur AspectJ, plusieurssortes de d\'eclarations peuvent \^etre analys\'ees. Nous avons \'egalementint\'egr\'e ces des analyses dans un environnement de d\'eveloppement AspectJet avons fourni une navigation bidirectionnelle entre les impacts et lecode source. En outre, nous avons proc\'ed\'e \`a des exp\'eriences sur desprogrammes de test pour d\'emontrer les r\'esultats d'analyses typiques.
|
19 |
Approaches for privacy aware image processing in cloudsNourian, Arash January 2013 (has links)
Cloud computing is ideal for image storage and processing because itprovides enormously scalable storage and processing resources at low cost. One of the major drawbacks of cloud computing, however, is the lack of robust mechanismsfor the users to control the privacy of the data they farm out to the clouds such as photos. One way of enhancing the privacy andsecurity of photos stored in clouds is to encrypt the photos before storing them. However, using encryption to secure the information held in the photos precludes applying any image processing operations while they are held in the third party servers. To address this issue, we have developed image encoding schemes that enhances the privacy of image data that is outsourced to the clouds for processing. We utilize a hybrid cloud model to implement our proposed schemes. Unlike previously proposed image encryption schemes, our encoding schemes allow different forms of pixel-level, block-level, and binary image processing to take place in the clouds while the actual image is not revealed to the cloud provider. Our encoding schemes use a cat map transformation to encode the image after it is masked with an arbitrarily chosen ambient image or mixed with other images. A simplified prototype of the image processing systems was implemented and the experimental results and detailed security analysis for each proposed scheme are presented in this thesis. We use common image processing tasks to demonstrate the ability of our scheme to perform computations on privacy enhanced images. A variety of pixel level, block level and binary filters have been implemented to support image processing on encoded images in the system. The operational overhead added by our schemes to image filters is roughly 18% on average. / Le cloud computing est idéal pour le stockage d'image et le traitement parce qu'il fournit le stockage énormément évolutif et des ressources de traitement au bas prix. Un des inconvénients majeurs de cloud computing, cependant, est le manque de mécanismes robustes pour les utilisateurs pour contrôler la vie privée des données qu'ils mettent en gérance aux clouds comme des photos. Une façon d'améliorer la vie privée et la sécurité de photos stockées dans des clouds est de crypter les photos avant le stockage d'eux. Cependant, utilisant le chiffrage pour garantir les informations tenues dans les photos écarte appliquer n'importe quelles transformations d'image tandis qu'ils sont tenus dans les serveurs tiers. Pour aborder cette question, nous avons développé les régimes de codage d'image qui améliorent la vie privée des données d'image qui est externalisée aux clouds pour le traitement. Nous utilisons un modèle de hybrid cloud pour mettre en œuvre nos régimes proposés. Contrairement aux régimes de chiffrage d'image précédemment proposés, nos régimes de codage permettent aux formes différentes de niveau de pixel, le niveau de bloc et le traitement d'image binaire d'avoir lieu dans les clouds tandis que l'image réelle n'est pas révélée au fournisseur de cloud. Nos régimes de codage utilisent une carte de chat chaotique pour transformer l'image après qu'il est masqué avec une image ambiante arbitrairement choisie ou mixte avec d'autres images. Un prototype simplifié des systèmes de traitement d'image a été mis en œuvre et les résultats expérimentaux et l'analyse de sécurité détaillée pour chaque régime proposé sont présentés dans cette thèse. Nous utilisons l'image commune traitant des tâches de démontrer la capacité de notre régime d'exécuter des calculs sur la vie privée des images améliorées. Une variété de niveau de pixel, le niveau de bloc et des filtres binaires a été mise en œuvre pour supporter le traitement d'image sur des images codées dans le système. L'opérationnel des frais généraux supplémentaire selon nos régimes de refléter des filtres est environ 18% le en moyenne.
|
20 |
Dynamic compiler optimization techniques for MATLABLameed, Nurudeen January 2013 (has links)
MATLAB has gained widespread acceptance among engineers and scientists. Several aspects of the language such as dynamic loading and typing, safe updates, copy semantics for arrays, and support for higher-order functions contribute to its appeal, but at the same time provide many challenges to the compiler and virtual machine. MATLAB is a dynamic language. Traditional implementations of the language use interpreters and have been found to be too slow for large computations. More recently, researchers and software developers have been developing JIT compilers for MATLAB and other dynamic languages. This thesis is about the development of new compiler analyses and transformations for a MATLAB JIT compiler, McJIT, which is based on the LLVM JIT compiler toolkit. The new contributions include a collection of novel analyses for optimizing copying of arrays, which are performed when a function is first compiled. We designed and implemented four analyses to support an efficient implementation of array copy semantics in a MATLAB JIT compiler. Experimental results show that copy optimization is essential for performance improvement in a compiler for the MATLAB language. We also developed a variety of new dynamic analyses and code transformations for optimizing running code on-the-fly according to the current conditions of the runtime environment. LLVM does not currently support on-the-fly code transformation. So, we first developed a new on-stack replacement approach for LLVM. This capability allows the runtime stack to be modified during the execution of a function, thus enabling a continuation of the execution at a higher optimization level. We then used the on-stack replacement implementation to support selective inlining of function calls in long-running loops. Our experimental results show that function calls in long-running loops can result in high runtime overhead, and that selective dynamic inlining can be used to drastically reduce this overhead.The built-in function feval is an important MATLAB feature for certain classes of numerical programs and solvers which benefit from having functions as parameters. Programmers may pass a function name or function handle to the solver and then the solver uses feval to indirectly call the function. In this thesis, we show that although feval provides anacceptable abstraction mechanism for these types of applications, there are significant performance overheads for function calls via feval, in both MATLAB interpreters and JITs. The thesis then proposes, implements and compares two on-the-fly mechanisms for specialization of feval calls. The first approach uses our on-stack replacement technology. The second approach specializes calls of functions with feval using a combination of runtime input argument types and values. Experimental results on seven numerical solvers show that the techniques provide good performance improvements.The implementation of all the analyses and code transformations presented in this thesis has been done within the McLab virtual machine, McVM, and is available to the public as open source software. / MATLAB est devenu reconnu parmi les ingénieurs et les scientifiques. Plusieurs aspects du langage comme le chargement et le typage dynamique, la mise à jour sûr, la sémantique de copie pour les tableaux, et le support des fonctions d'ordre supérieur contribuent à son attrait, mais induisent de nombreuses difficultés pour les compilateurs et les machines virtuelles. MATLAB est un langage dynamique. Les implémentations classiques du langage fonctionnent grâce à des interpréteurs et sont généralement trop lentes pour des larges calculs. Plus récemment, les chercheurs ainsi que les programmeurs ont développé des compilateurs JIT pour MATLAB et d'autres langages dynamiques. Cette thèse traite le développement de nouvelles analyses et transformations pour un compilateur JIT MATLAB, McJIT, qui est basé sur l'outil LLVM. Ces nouvelles contributions comprennent plusieurs analyses novatrices pour optimiser la copie de tableaux, qui sont exécutées quand une fonction est compilée pour la première fois. Nous avons implémenté quatre analyses pour permettre une implémentation efficace de la sémantique de copie de tableaux dans un compilateur JIT MATLAB. Les résultats expérimentaux montrent que l'optimisation de la copie est essentielle pour améliorer les performances dans un compilateur pour le langage MATLAB.Nous avons aussi développé une variété d'analyses dynamiques novatrices et des transformations de code pour optimiser du code à la volée en fonction de l'environnement d'exécution. Actuellement, LLVM ne supporte pas les transformations de code à la volée. En conséquence, nous avons d'abord développé une nouvelle approche pour faire du remplacement sur la pile avec LLVM. Cette fonctionnalité permet à la pile d'exécution d'être modifiée pendant l'exécution de la fonction, ce qui permet de continuer l'exécution à un niveau supérieur d'optimisation. Nous avons ensuite utilisé cette implémentation du remplacement sur la pile pour permettre l'en line des appels de fonctions dans les boucles. Nos résultats expérimentaux montrent que les appels de fonctions dans les boucles à long temps d'exécution peuvent induire un coût important en termes de performances, et que l'en line dynamique et sélectif peut être utilisé pour réduire drastiquement ce coût. La fonction "feval" est une fonctionnalité importante de MATLAB pour certains programmes de calcul numérique qui profitent de la possibilité de passer des fonctions comme paramètres. Les programmeurs peuvent passer le nom d'une fonction ou un pointeur de fonctions à un programme qui utilisera ensuite feval pour appeler indirectement cette fonction. Dans cette thèse, nous montrons que malgré le fait que feval soit un mécanisme d'abstraction appréciable pour certaines applications, il induit un coût significatif, à la fois pour les interpréteurs et pour les compilateurs JIT. Cette thèse propose, implémente et compare deux mécanismes à la volée pour la spécialisation des appels utilisant feval. La première méthode utilise notre mécanisme de remplacement sur la pile. La seconde méthode spécialise les appels de fonctions utilisant feval en combinant le type et la valeur des arguments à l'exécution. Les résultats expérimentaux sur sept programmes différents montrent que ces techniques permettent une bonne amélioration des performances. L'implémentation de toute les analyses et transformations de code présentées dans cette thèse a été effectué dans la machine virtuelle McLab, appelée McVM, et est disponible au public en tant que logiciel libre.
|
Page generated in 0.2992 seconds