926 resultados para Software engineering


Relevância:

60.00% 60.00%

Publicador:

Resumo:

One of the main challenges in Software Engineering is to cope with the transition from an industry based on software as a product to software as a service. The field of Software Engineering should provide the necessary methods and tools to develop and deploy new cost-efficient and scalable digital services. In this thesis, we focus on deployment platforms to ensure cost-efficient scalability of multi-tier web applications and on-demand video transcoding service for different types of load conditions. Infrastructure as a Service (IaaS) clouds provide Virtual Machines (VMs) under the pay-per-use business model. Dynamically provisioning VMs on demand allows service providers to cope with fluctuations on the number of service users. However, VM provisioning must be done carefully, because over-provisioning results in an increased operational cost, while underprovisioning leads to a subpar service. Therefore, our main focus in this thesis is on cost-efficient VM provisioning for multi-tier web applications and on-demand video transcoding. Moreover, to prevent provisioned VMs from becoming overloaded, we augment VM provisioning with an admission control mechanism. Similarly, to ensure efficient use of provisioned VMs, web applications on the under-utilized VMs are consolidated periodically. Thus, the main problem that we address is cost-efficient VM provisioning augmented with server consolidation and admission control on the provisioned VMs. We seek solutions for two types of applications: multi-tier web applications that follow the request-response paradigm and on-demand video transcoding that is based on video streams with soft realtime constraints. Our first contribution is a cost-efficient VM provisioning approach for multi-tier web applications. The proposed approach comprises two subapproaches: a reactive VM provisioning approach called ARVUE and a hybrid reactive-proactive VM provisioning approach called Cost-efficient Resource Allocation for Multiple web applications with Proactive scaling. Our second contribution is a prediction-based VM provisioning approach for on-demand video transcoding in the cloud. Moreover, to prevent virtualized servers from becoming overloaded, the proposed VM provisioning approaches are augmented with admission control approaches. Therefore, our third contribution is a session-based admission control approach for multi-tier web applications called adaptive Admission Control for Virtualized Application Servers. Similarly, the fourth contribution in this thesis is a stream-based admission control and scheduling approach for on-demand video transcoding called Stream-Based Admission Control and Scheduling. Our fifth contribution is a computation and storage trade-o strategy for cost-efficient video transcoding in cloud computing. Finally, the sixth and the last contribution is a web application consolidation approach, which uses Ant Colony System to minimize the under-utilization of the virtualized application servers.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Context: Game development has become increasingly important in the software industry, but this importance has not affected the way software engineering approaches and methodologies manage the differences they have with game development. Similarly, software engineering does not fully support sustainability practices, causing this element to often not be considered or even known as a requirement for a development lifecycle. Goal: The aim of this thesis is to study the mode in which games are developed, and the involved sustainable aspects and the relevant concerns regarding the migration processes. Method: A quantitative study was conducted, gathering 33 answers of game professionals from four continents, from administrative (25%) and technical oriented positions (75%). Results: Three trends were observed: 1) Agile process models are used, 2) major concerns for mobile development and digital marketing, 3) minor concerns for eco-impact elements and certain development phases such as testing and crunch time development. Conclusion: Traditional Software engineering would require a major change on its processes and models to fit with modern agile development, game development approaches and sustainable requirements.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Tyn tarkoituksena on selvitt, miten DSM ja siihen liittyvt analyysit toimivat. Tyss selvitetn mys, miten DSM:a voidaan hydynt tuotekehityksess ja ohjelmistotuotannon kohtaamissa ongelmissa. DSM-nelimatriisiin sijoitetaan tarkasteltavan kohteen osat riveihin ja kolumneihin identtisess jrjestyksess. Matriisin soluihin merkitn osien vliset riippuvuudet, joilla selvitetn kunkin osan lhettm ja vastaanottama data suhteessa muihin osiin. DSM-analyysissa osien jrjestyst muutetaan suoritus- tai toteutusjrjestyksen mukaisesti parhaaseen jrjestykseen. Osat ryhmitelln moduuleihin, jolloin esimerkiksi tuotekehitys ohjautuu automaattisesti modulaarisuuteen. Tuotekehitysprojekteihin DSM on kompaktin muodon, yksinkertaisuuden ja automaattisen jrjestelyn ansiosta erinomainen tykalu, jolla voidaan mallintaa kytnnss mit tahansa, mik voidaan jakaa toisistaan riippuviin osiin. DSM voi vhent projektien suunnitteluun vaadittua tymr ja avustaa realististen budjettien ja aikataulujen luontia suurissa projekteissa.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Computer Supported Collaborative Learning (CSCL) is a teaching and learning approach which is widely adopted. However there are still some problems can be found when CSCL takes place. Studies show that using game-like mechanics can increase motivation, engagement, as well as modelling behaviors of players. Gamification is a rapid growing trend by applying the same mechanics. It refers to use game design elements in non-game contexts. This thesis is about combining gamification concept and computer supported collaborative learning together in software engineering education field. And finally a gamified prototype system is designed.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

La recherche en gnie logiciel a depuis longtemps tent de mieux comprendre le processus de dveloppement logiciel, minimalement, pour en reproduire les bonnes pratiques, et idalement, pour pouvoir le mcaniser. On peut identifier deux approches majeures pour caractriser le processus. La premire approche, dite transformationnelle, peroit le processus comme une squence de transformations prservant certaines proprits des donnes lentre. Cette ide a t rcemment reprise par larchitecture dirige par les modles de lOMG. La deuxime approche consiste rpertorier et codifier des solutions prouves des problmes rcurrents. Les recherches sur les styles architecturaux, les patrons de conception, ou les cadres dapplications sinscrivent dans cette approche. Notre travail de recherche reconnat la complmentarit des deux approches, notamment pour ltape de conception: dans le cadre du dveloppement dirig par les modles, nous percevons ltape de conception comme lapplication de patrons de solutions aux modles reus en entre. Il est coutume de dfinir ltape de conception en termes de conception architecturale, et conception dtaille. La conception architecturale se proccupe dorganiser un logiciel en composants rpondant un ensemble dexigences non-fonctionnelles, alors que la conception dtaille se proccupe, en quelque sorte, du contenu de ces composants. La conception architecturale sappuie sur des styles architecturaux qui sont des principes dorganisation permettant doptimiser certaines qualits, alors que la conception dtaille sappuie sur des patrons de conception pour attribuer les responsabilits aux classes. Les styles architecturaux et les patrons de conception sont des artefacts qui codifient des solutions prouves des problmes rcurrents de conception. Alors que ces artefacts sont bien documents, la dcision de les appliquer reste essentiellement manuelle. De plus, les outils proposs noffrent pas un support adquat pour les appliquer des modles existants. Dans cette thse, nous nous attaquons la conception dtaille, et plus particulirement, la transformation de modles par application de patrons de conception, en partie parce que les patrons de conception sont moins complexes, et en partie parce que limplmentation des styles architecturaux passe souvent par les patrons de conception. Ainsi, nous proposons une approche pour reprsenter et appliquer les patrons de conception. Notre approche se base sur la reprsentation explicite des problmes rsolus par ces patrons. En effet, la reprsentation explicite du problme rsolu par un patron permet : (1) de mieux comprendre le patron, (2) de reconnatre lopportunit dappliquer le patron en dtectant une instance de la reprsentation du problme dans les modles du systme considr, et (3) dautomatiser lapplication du patron en la reprsentant, de faon dclarative, par une transformation dune instance du problme en une instance de la solution. Pour vrifier et valider notre approche, nous lavons utilise pour reprsenter et appliquer diffrents patrons de conception et nous avons effectu des tests pratiques sur des modles gnrs partir de logiciels libres.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Les systmes Matriels/Logiciels deviennent indispensables dans tous les aspects de la vie quotidienne. La prsence croissante de ces systmes dans les diffrents produits et services incite trouver des mthodes pour les dvelopper efficacement. Mais une conception efficace de ces systmes est limite par plusieurs facteurs, certains d'entre eux sont: la complexit croissante des applications, une augmentation de la densit d'intgration, la nature htrogne des produits et services, la diminution de temps daccs au march. Une modlisation transactionnelle (TLM) est considre comme un paradigme prometteur permettant de grer la complexit de conception et fournissant des moyens dexploration et de validation d'alternatives de conception des niveaux dabstraction levs. Cette recherche propose une mthodologie dexpression de temps dans TLM base sur une analyse de contraintes temporelles. Nous proposons d'utiliser une combinaison de deux paradigmes de dveloppement pour acclrer la conception: le TLM d'une part et une mthodologie dexpression de temps entre diffrentes transactions dautre part. Cette synergie nous permet de combiner dans un seul environnement des mthodes de simulation performantes et des mthodes analytiques formelles. Nous avons propos un nouvel algorithme de vrification temporelle bas sur la procdure de linarisation des contraintes de type min/max et une technique d'optimisation afin d'amliorer l'efficacit de l'algorithme. Nous avons complt la description mathmatique de tous les types de contraintes prsentes dans la littrature. Nous avons dvelopp des mthodes d'exploration et raffinement de systme de communication qui nous a permis d'utiliser les algorithmes de vrification temporelle diffrents niveaux TLM. Comme il existe plusieurs dfinitions du TLM, dans le cadre de notre recherche, nous avons dfini une mthodologie de spcification et simulation pour des systmes Matriel/Logiciel base sur le paradigme de TLM. Dans cette mthodologie plusieurs concepts de modlisation peuvent tre considrs sparment. Base sur l'utilisation des technologies modernes de gnie logiciel telles que XML, XSLT, XSD, la programmation oriente objet et plusieurs autres fournies par lenvironnement .Net, la mthodologie propose prsente une approche qui rend possible une rutilisation des modles intermdiaires afin de faire face la contrainte de temps daccs au march. Elle fournit une approche gnrale dans la modlisation du systme qui spare les diffrents aspects de conception tels que des modles de calculs utiliss pour dcrire le systme des niveaux dabstraction multiples. En consquence, dans le modle du systme nous pouvons clairement identifier la fonctionnalit du systme sans les dtails relis aux plateformes de dveloppement et ceci mnera amliorer la "portabilit" du modle d'application.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

La transformation de modles consiste transformer un modle source en un modle cible conformment des mta-modles source et cible. Nous distinguons deux types de transformations. La premire est exogne o les mta-modles source et cible reprsentent des formalismes diffrents et o tous les lments du modle source sont transforms. Quand elle concerne un mme formalisme, la transformation est endogne. Ce type de transformation ncessite gnralement deux tapes : lidentification des lments du modle source transformer, puis la transformation de ces lments. Dans le cadre de cette thse, nous proposons trois principales contributions lies ces problmes de transformation. La premire contribution est lautomatisation des transformations des modles. Nous proposons de considrer le problme de transformation comme un problme d'optimisation combinatoire o un modle cible peut tre automatiquement gnr partir d'un nombre rduit d'exemples de transformations. Cette premire contribution peut tre applique aux transformations exognes ou endognes (aprs la dtection des lments transformer). La deuxime contribution est lie la transformation endogne o les lments transformer du modle source doivent tre dtects. Nous proposons une approche pour la dtection des dfauts de conception comme tape pralable au refactoring. Cette approche est inspire du principe de la dtection des virus par le systme immunitaire humain, appele slection ngative. Lide consiste utiliser de bonnes pratiques dimplmentation pour dtecter les parties du code risque. La troisime contribution vise tester un mcanisme de transformation en utilisant une fonction oracle pour dtecter les erreurs. Nous avons adapt le mcanisme de slection ngative qui consiste considrer comme une erreur toute dviation entre les traces de transformation valuer et une base dexemples contenant des traces de transformation de bonne qualit. La fonction oracle calcule cette dissimilarit et les erreurs sont ordonnes selon ce score. Les diffrentes contributions ont t values sur dimportants projets et les rsultats obtenus montrent leurs efficacits.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Un systme, dcrit avec un grand nombre d'lments fortement interdpendants, est complexe, difficile comprendre et maintenir. Ainsi, une application oriente objet est souvent complexe, car elle contient des centaines de classes avec de nombreuses dpendances plus ou moins explicites. Une mme application, utilisant le paradigme composant, contiendrait un plus petit nombre d'lments, faiblement coupls entre eux et avec des interdpendances clairement dfinies. Ceci est d au fait que le paradigme composant fournit une bonne reprsentation de haut niveau des systmes complexes. Ainsi, ce paradigme peut tre utilis comme "espace de projection" des systmes orients objets. Une telle projection peut faciliter l'tape de comprhension d'un systme, un pr-requis ncessaire avant toute activit de maintenance et/ou d'volution. De plus, il est possible d'utiliser cette reprsentation, comme un modle pour effectuer une restructuration complte d'une application oriente objets oprationnelle vers une application quivalente base de composants tout aussi oprationnelle. Ainsi, La nouvelle application bnficiant ainsi, de toutes les bonnes proprits associes au paradigme composants. L'objectif de ma thse est de proposer une mthode semi-automatique pour identifier une architecture base de composants dans une application oriente objets. Cette architecture doit, non seulement aider la comprhension de l'application originale, mais aussi simplifier la projection de cette dernire dans un modle concret de composant. L'identification d'une architecture base de composants est ralise en trois grandes tapes: i) obtention des donnes ncessaires au processus d'identification. Elles correspondent aux dpendances entre les classes et sont obtenues avec une analyse dynamique de l'application cible. ii) identification des composants. Trois mthodes ont t explores. La premire utilise un treillis de Galois, la seconde deux mta-heuristiques et la dernire une mta-heuristique multi-objective. iii) identification de l'architecture base de composants de l'application cible. Cela est fait en identifiant les interfaces requises et fournis pour chaque composant. Afin de valider ce processus d'identification, ainsi que les diffrents choix faits durant son dveloppement, j'ai ralis diffrentes tudes de cas. Enfin, je montre la faisabilit de la projection de l'architecture base de composants identifie vers un modle concret de composants.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Un objectif principal du gnie logiciel est de pouvoir produire des logiciels complexes, de grande taille et fiables en un temps raisonnable. La technologie oriente objet (OO) a fourni de bons concepts et des techniques de modlisation et de programmation qui ont permis de dvelopper des applications complexes tant dans le monde acadmique que dans le monde industriel. Cette exprience a cependant permis de dcouvrir les faiblesses du paradigme objet (par exemples, la dispersion de code et le problme de traabilit). La programmation oriente aspect (OA) apporte une solution simple aux limitations de la programmation OO, telle que le problme des proccupations transversales. Ces proccupations transversales se traduisent par la dispersion du mme code dans plusieurs modules du systme ou lemmlement de plusieurs morceaux de code dans un mme module. Cette nouvelle mthode de programmer permet dimplmenter chaque problmatique indpendamment des autres, puis de les assembler selon des rgles bien dfinies. La programmation OA promet donc une meilleure productivit, une meilleure rutilisation du code et une meilleure adaptation du code aux changements. Trs vite, cette nouvelle faon de faire sest vue stendre sur tout le processus de dveloppement de logiciel en ayant pour but de prserver la modularit et la traabilit, qui sont deux proprits importantes des logiciels de bonne qualit. Cependant, la technologie OA prsente de nombreux dfis. Le raisonnement, la spcification, et la vrification des programmes OA prsentent des difficults dautant plus que ces programmes voluent dans le temps. Par consquent, le raisonnement modulaire de ces programmes est requis sinon ils ncessiteraient dtre rexamins au complet chaque fois quun composant est chang ou ajout. Il est cependant bien connu dans la littrature que le raisonnement modulaire sur les programmes OA est difficile vu que les aspects appliqus changent souvent le comportement de leurs composantes de base [47]. Ces mmes difficults sont prsentes au niveau des phases de spcification et de vrification du processus de dveloppement des logiciels. Au meilleur de nos connaissances, la spcification modulaire et la vrification modulaire sont faiblement couvertes et constituent un champ de recherche trs intressant. De mme, les interactions entre aspects est un srieux problme dans la communaut des aspects. Pour faire face ces problmes, nous avons choisi dutiliser la thorie des catgories et les techniques des spcifications algbriques. Pour apporter une solution aux problmes ci-dessus cits, nous avons utilis les travaux de Wiels [110] et dautres contributions telles que celles dcrites dans le livre [25]. Nous supposons que le systme en dveloppement est dj dcompos en aspects et classes. La premire contribution de notre thse est lextension des techniques des spcifications algbriques la notion daspect. Deuximement, nous avons dfini une logique, LA , qui est utilise dans le corps des spcifications pour dcrire le comportement de ces composantes. La troisime contribution consiste en la dfinition de loprateur de tissage qui correspond la relation dinterconnexion entre les modules daspect et les modules de classe. La quatrime contribution concerne le dveloppement dun mcanisme de prvention qui permet de prvenir les interactions indsirables dans les systmes orients aspect.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Les changements sont faits de faon continue dans le code source des logiciels pour prendre en compte les besoins des clients et corriger les fautes. Les changements continus peuvent conduire aux dfauts de code et de conception. Les dfauts de conception sont des mauvaises solutions des problmes rcurrents de conception ou dimplmentation, gnralement dans le dveloppement orient objet. Au cours des activits de comprhension et de changement et en raison du temps daccs au march, du manque de comprhension, et de leur exprience, les dveloppeurs ne peuvent pas toujours suivre les normes de conception et les techniques de codage comme les patrons de conception. Par consquent, ils introduisent des dfauts de conception dans leurs systmes. Dans la littrature, plusieurs auteurs ont fait valoir que les dfauts de conception rendent les systmes orients objet plus difficile comprendre, plus sujets aux fautes, et plus difficiles changer que les systmes sans les dfauts de conception. Pourtant, seulement quelques-uns de ces auteurs ont fait une tude empirique sur limpact des dfauts de conception sur la comprhension et aucun dentre eux na tudi limpact des dfauts de conception sur leffort des dveloppeurs pour corriger les fautes. Dans cette thse, nous proposons trois principales contributions. La premire contribution est une tude empirique pour apporter des preuves de limpact des dfauts de conception sur la comprhension et le changement. Nous concevons et effectuons deux expriences avec 59 sujets, afin dvaluer limpact de la composition de deux occurrences de Blob ou deux occurrences de spaghetti code sur la performance des dveloppeurs effectuant des tches de comprhension et de changement. Nous mesurons la performance des dveloppeurs en utilisant: (1) lindice de charge de travail de la NASA pour leurs efforts, (2) le temps quils ont pass dans laccomplissement de leurs tches, et (3) les pourcentages de bonnes rponses. Les rsultats des deux expriences ont montr que deux occurrences de Blob ou de spaghetti code sont un obstacle significatif pour la performance des dveloppeurs lors de tches de comprhension et de changement. Les rsultats obtenus justifient les recherches antrieures sur la spcification et la dtection des dfauts de conception. Les quipes de dveloppement de logiciels doivent mettre en garde les dveloppeurs contre le nombre lev doccurrences de dfauts de conception et recommander des refactorisations chaque tape du processus de dveloppement pour supprimer ces dfauts de conception quand cest possible. Dans la deuxime contribution, nous tudions la relation entre les dfauts de conception et les fautes. Nous tudions limpact de la prsence des dfauts de conception sur leffort ncessaire pour corriger les fautes. Nous mesurons leffort pour corriger les fautes laide de trois indicateurs: (1) la dure de la priode de correction, (2) le nombre de champs et mthodes touchs par la correction des fautes et (3) lentropie des corrections de fautes dans le code-source. Nous menons une tude empirique avec 12 dfauts de conception dtects dans 54 versions de quatre systmes: ArgoUML, Eclipse, Mylyn, et Rhino. Nos rsultats ont montr que la dure de la priode de correction est plus longue pour les fautes impliquant des classes avec des dfauts de conception. En outre, la correction des fautes dans les classes avec des dfauts de conception fait changer plus de fichiers, plus les champs et des mthodes. Nous avons galement observ que, aprs la correction dune faute, le nombre doccurrences de dfauts de conception dans les classes impliques dans la correction de la faute diminue. Comprendre limpact des dfauts de conception sur leffort des dveloppeurs pour corriger les fautes est important afin daider les quipes de dveloppement pour mieux valuer et prvoir limpact de leurs dcisions de conception et donc canaliser leurs efforts pour amliorer la qualit de leurs systmes. Les quipes de dveloppement doivent contrler et supprimer les dfauts de conception de leurs systmes car ils sont susceptibles daugmenter les efforts de changement. La troisime contribution concerne la dtection des dfauts de conception. Pendant les activits de maintenance, il est important de disposer dun outil capable de dtecter les dfauts de conception de faon incrmentale et itrative. Ce processus de dtection incrmentale et itrative pourrait rduire les cots, les efforts et les ressources en permettant aux praticiens didentifier et de prendre en compte les occurrences de dfauts de conception comme ils les trouvent lors de la comprhension et des changements. Les chercheurs ont propos des approches pour dtecter les occurrences de dfauts de conception, mais ces approches ont actuellement quatre limites: (1) elles ncessitent une connaissance approfondie des dfauts de conception, (2) elles ont une prcision et un rappel limits, (3) elles ne sont pas itratives et incrmentales et (4) elles ne peuvent pas tre appliques sur des sous-ensembles de systmes. Pour surmonter ces limitations, nous introduisons SMURF, une nouvelle approche pour dtecter les dfauts de conception, bas sur une technique dapprentissage automatique machines vecteur de support et prenant en compte les retours des praticiens. Grce une tude empirique portant sur trois systmes et quatre dfauts de conception, nous avons montr que la prcision et le rappel de SMURF sont suprieurs ceux de DETEX et BDTEX lors de la dtection des occurrences de dfauts de conception. Nous avons galement montr que SMURF peut tre appliqu la fois dans les configurations intra-systme et inter-systme. Enfin, nous avons montr que la prcision et le rappel de SMURF sont amliors quand on prend en compte les retours des praticiens.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

La maintenance du logiciel est une phase trs importante du cycle de vie de celui-ci. Aprs les phases de dveloppement et de dploiement, cest celle qui dure le plus longtemps et qui accapare la majorit des cots de l'industrie. Ces cots sont dus en grande partie la difficult deffectuer des changements dans le logiciel ainsi que de contenir les effets de ces changements. Dans cette perspective, de nombreux travaux ont cibl lanalyse/prdiction de limpact des changements sur les logiciels. Les approches existantes ncessitent de nombreuses informations en entre qui sont difficiles obtenir. Dans ce mmoire, nous utilisons une approche probabiliste. Des classificateurs baysiens sont entrans avec des donnes historiques sur les changements. Ils considrent les relations entre les lments (entres) et les dpendances entre changements historiques (sorties). Plus spcifiquement, un changement complexe est divis en des changements lmentaires. Pour chaque type de changement lmentaire, nous crons un classificateur baysien. Pour prdire limpact dun changement complexe dcompos en changements lmentaires, les dcisions individuelles des classificateurs sont combines selon diverses stratgies. Notre hypothse de travail est que notre approche peut tre utilise selon deux scnarios. Dans le premier scnario, les donnes dapprentissage sont extraites des anciennes versions du logiciel sur lequel nous voulons analyser limpact de changements. Dans le second scnario, les donnes dapprentissage proviennent dautres logiciels. Ce second scnario est intressant, car il permet dappliquer notre approche des logiciels qui ne disposent pas dhistoriques de changements. Nous avons russi prdire correctement les impacts des changements lmentaires. Les rsultats ont montr que lutilisation des classificateurs conceptuels donne les meilleurs rsultats. Pour ce qui est de la prdiction des changements complexes, les mthodes de combinaison "Voting" et OR sont prfrables pour prdire limpact quand le nombre de changements analyser est grand. En revanche, quand ce nombre est limit, lutilisation de la mthode Noisy-Or ou de sa version modifie est recommande.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Lingnierie dirige par les modles (IDM) est un paradigme dingnierie du logiciel bien tabli, qui prconise lutilisation de modles comme artfacts de premier ordre dans les activits de dveloppement et de maintenance du logiciel. La manipulation de plusieurs modles durant le cycle de vie du logiciel motive lusage de transformations de modles (TM) afin dautomatiser les oprations de gnration et de mise jour des modles lorsque cela est possible. Lcriture de transformations de modles demeure cependant une tche ardue, qui requiert la fois beaucoup de connaissances et defforts, remettant ainsi en question les avantages apports par lIDM. Afin de faire face cette problmatique, de nombreux travaux de recherche se sont intresss lautomatisation des TM. Lapprentissage de transformations de modles par lexemple (TMPE) constitue, cet gard, une approche prometteuse. La TMPE a pour objectif dapprendre des programmes de transformation de modles partir dun ensemble de paires de modles sources et cibles fournis en guise dexemples. Dans ce travail, nous proposons un processus dapprentissage de transformations de modles par lexemple. Ce dernier vise apprendre des transformations de modles complexes en sattaquant trois exigences constates, savoir, lexploration du contexte dans le modle source, la vrification de valeurs dattributs sources et la drivation dattributs cibles complexes. Nous validons notre approche de manire exprimentale sur 7 cas de transformations de modles. Trois des sept transformations apprises permettent dobtenir des modles cibles parfaits. De plus, une prcision et un rappel suprieurs 90% sont enregistrs au niveau des modles cibles obtenus par les quatre transformations restantes.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

En la actualidad, el uso de las tecnologas ha sido primordial para el avance de las sociedades, estas han permitido que personas sin conocimientos informticos o usuarios llamados no expertos se interesen en su uso, razn por la cual los investigadores cientficos se han visto en la necesidad de producir estudios que permitan la adaptacin de sistemas, a la problemtica existente dentro del mbito informtico. Una necesidad recurrente de todo usuario de un sistema es la gestin de la informacin, la cual se puede administrar por medio de una base de datos y lenguaje especfico, como lo es el SQL (Structured Query Language), pero esto obliga al usuario sin conocimientos a acudir a un especialista para su diseo y construccin, lo cual se ve reflejado en costos y mtodos complejos, entonces se plantea una pregunta qu hacer cuando los proyectos son pequeas y los recursos y procesos son limitados? Teniendo como base la investigacin realizada por la universidad de Washington[39], donde sintetizan sentencias SQL a partir de ejemplos de entrada y salida, se pretende con esta memoria automatizar el proceso y aplicar una tcnica diferente de aprendizaje, para lo cual utiliza una aproximacin evolucionista, donde la aplicacin de un algoritmo gentico adaptado origina sentencias SQL vlidas que responden a las condiciones establecidas por los ejemplos de entrada y salida dados por el usuario. Se obtuvo como resultado de la aproximacin, una herramienta denominada EvoSQL que fue validada en este estudio. Sobre los 28 ejercicios empleados por la investigacin [39], 23 de los cuales se obtuvieron resultados perfectos y 5 ejercicios sin xito, esto representa un 82.1% de efectividad. Esta efectividad es superior en un 10.7% al establecido por la herramienta desarrollada en [39] SQLSynthesizer y 75% ms alto que la herramienta siguiente ms prxima Query by Output QBO[31]. El promedio obtenido en la ejecucin de cada ejercicio fue de 3 minutos y 11 segundos, este tiempo es superior al establecido por SQLSynthesizer; sin embargo, en la medida un algoritmo gentico supone la existencia de fases que amplan los rangos de tiempos, por lo cual el tiempo obtenido es aceptable con relacin a las aplicaciones de este tipo. En conclusin y segn lo anteriormente expuesto, se obtuvo una herramienta automtica con una aproximacin evolucionista, con buenos resultados y un proceso simple para el usuario no experto.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

In today's complicated computing environment, managing data has become the primary concern of all industries. Information security is the greatest challenge and it has become essential to secure the enterprise system resources like the databases and the operating systems from the attacks of the unknown outsiders. Our approach plays a major role in detecting and managing vulnerabilities in complex computing systems. It allows enterprises to assess two primary tiers through a single interface as a vulnerability scanner tool which provides a secure system which is also compatible with the security compliance of the industry. It provides an overall view of the vulnerabilities in the database, by automatically scanning them with minimum overhead. It gives a detailed view of the risks involved and their corresponding ratings. Based on these priorities, an appropriate mitigation process can be implemented to ensure a secured system. The results show that our approach could effectively optimize the time and cost involved when compared to the existing systems

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Bank switching in embedded processors having partitioned memory architecture results in code size as well as run time overhead. An algorithm and its application to assist the compiler in eliminating the redundant bank switching codes introduced and deciding the optimum data allocation to banked memory is presented in this work. A relation matrix formed for the memory bank state transition corresponding to each bank selection instruction is used for the detection of redundant codes. Data allocation to memory is done by considering all possible permutation of memory banks and combination of data. The compiler output corresponding to each data mapping scheme is subjected to a static machine code analysis which identifies the one with minimum number of bank switching codes. Even though the method is compiler independent, the algorithm utilizes certain architectural features of the target processor. A prototype based on PIC 16F87X microcontrollers is described. This method scales well into larger number of memory blocks and other architectures so that high performance compilers can integrate this technique for efficient code generation. The technique is illustrated with an example