935 resultados para Maintenance de logiciels
Resumo:
This thesis examines the microeconomic consequences of the arrival of open source in the software market. Specifically, it analyzes three features of open source software by using specific models of industrial organization. Open source software is free, and may be modified or duplicated by anyone. The first paper studies the entry of an open source software in a closed source software market. Using a model of horizontal differentiation, the analysis considers a closed source firm's investment in the quality of its software. The introduction of open source on the market reduces the firm's investment in quality and increases the price of its software. Moreover, the entry of open source software may reduce consumer welfare. Post-entry by an open source software, the reduction in market share lowers the firm's incentive to invest in quality. The second paper features vertical differentiation to study a monopolist selling supporting product to its software. The study begins by contrasting the supply of support by an open source provider and a closed source vendor. The model shows that in both cases the levels of support offered are the same. In addition, consumer welfare is higher and profit lower under an open source software. Then, the paper considers the competition in the provision of support. Here, the supply of high level support is greater than under a monopolist. Finally, the monopolist adopts a dual licensing strategy to extract more surplus from developers interested in modifying open source software and redistributing the resulting product. This technique, when the developers place high value on the source code, generates more profit if the monopolist chooses to publish as open source rather than closed source. The last paper studies how a closed source firm is affected by the introduction of an open source benefiting from contributions by users. A vertical differentiation model is used, and reveals that, when contribution of users is present, the closed source vendor may lower its price to a level where it forces the open source out of the market. The firm's lower price not only increases demand for its software, but also induces consumers into switching from open to closed source software therefore reducing the contribution of users.
Resumo:
Mémoire numérisé par la Division de la gestion de documents et des archives de l'Université de Montréal
Resumo:
Les logiciels sont en constante évolution, nécessitant une maintenance et un développement continus. Ils subissent des changements tout au long de leur vie, que ce soit pendant l'ajout de nouvelles fonctionnalités ou la correction de bogues dans le code. Lorsque ces logiciels évoluent, leurs architectures ont tendance à se dégrader avec le temps et deviennent moins adaptables aux nouvelles spécifications des utilisateurs. Elles deviennent plus complexes et plus difficiles à maintenir. Dans certains cas, les développeurs préfèrent refaire la conception de ces architectures à partir du zéro plutôt que de prolonger la durée de leurs vies, ce qui engendre une augmentation importante des coûts de développement et de maintenance. Par conséquent, les développeurs doivent comprendre les facteurs qui conduisent à la dégradation des architectures, pour prendre des mesures proactives qui facilitent les futurs changements et ralentissent leur dégradation. La dégradation des architectures se produit lorsque des développeurs qui ne comprennent pas la conception originale du logiciel apportent des changements au logiciel. D'une part, faire des changements sans comprendre leurs impacts peut conduire à l'introduction de bogues et à la retraite prématurée du logiciel. D'autre part, les développeurs qui manquent de connaissances et–ou d'expérience dans la résolution d'un problème de conception peuvent introduire des défauts de conception. Ces défauts ont pour conséquence de rendre les logiciels plus difficiles à maintenir et évoluer. Par conséquent, les développeurs ont besoin de mécanismes pour comprendre l'impact d'un changement sur le reste du logiciel et d'outils pour détecter les défauts de conception afin de les corriger. Dans le cadre de cette thèse, nous proposons trois principales contributions. La première contribution concerne l'évaluation de la dégradation des architectures logicielles. Cette évaluation consiste à utiliser une technique d’appariement de diagrammes, tels que les diagrammes de classes, pour identifier les changements structurels entre plusieurs versions d'une architecture logicielle. Cette étape nécessite l'identification des renommages de classes. Par conséquent, la première étape de notre approche consiste à identifier les renommages de classes durant l'évolution de l'architecture logicielle. Ensuite, la deuxième étape consiste à faire l'appariement de plusieurs versions d'une architecture pour identifier ses parties stables et celles qui sont en dégradation. Nous proposons des algorithmes de bit-vecteur et de clustering pour analyser la correspondance entre plusieurs versions d'une architecture. La troisième étape consiste à mesurer la dégradation de l'architecture durant l'évolution du logiciel. Nous proposons un ensemble de m´etriques sur les parties stables du logiciel, pour évaluer cette dégradation. La deuxième contribution est liée à l'analyse de l'impact des changements dans un logiciel. Dans ce contexte, nous présentons une nouvelle métaphore inspirée de la séismologie pour identifier l'impact des changements. Notre approche considère un changement à une classe comme un tremblement de terre qui se propage dans le logiciel à travers une longue chaîne de classes intermédiaires. Notre approche combine l'analyse de dépendances structurelles des classes et l'analyse de leur historique (les relations de co-changement) afin de mesurer l'ampleur de la propagation du changement dans le logiciel, i.e., comment un changement se propage à partir de la classe modifiée è d'autres classes du logiciel. La troisième contribution concerne la détection des défauts de conception. Nous proposons une métaphore inspirée du système immunitaire naturel. Comme toute créature vivante, la conception de systèmes est exposée aux maladies, qui sont des défauts de conception. Les approches de détection sont des mécanismes de défense pour les conception des systèmes. Un système immunitaire naturel peut détecter des pathogènes similaires avec une bonne précision. Cette bonne précision a inspiré une famille d'algorithmes de classification, appelés systèmes immunitaires artificiels (AIS), que nous utilisions pour détecter les défauts de conception. Les différentes contributions ont été évaluées sur des logiciels libres orientés objets et les résultats obtenus nous permettent de formuler les conclusions suivantes: • Les métriques Tunnel Triplets Metric (TTM) et Common Triplets Metric (CTM), fournissent aux développeurs de bons indices sur la dégradation de l'architecture. La d´ecroissance de TTM indique que la conception originale de l'architecture s’est dégradée. La stabilité de TTM indique la stabilité de la conception originale, ce qui signifie que le système est adapté aux nouvelles spécifications des utilisateurs. • La séismologie est une métaphore intéressante pour l'analyse de l'impact des changements. En effet, les changements se propagent dans les systèmes comme les tremblements de terre. L'impact d'un changement est plus important autour de la classe qui change et diminue progressivement avec la distance à cette classe. Notre approche aide les développeurs à identifier l'impact d'un changement. • Le système immunitaire est une métaphore intéressante pour la détection des défauts de conception. Les résultats des expériences ont montré que la précision et le rappel de notre approche sont comparables ou supérieurs à ceux des approches existantes.
Resumo:
Les changements sont faits de façon 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 défauts de code et de conception. Les défauts de conception sont des mauvaises solutions à des problèmes récurrents de conception ou d’implémentation, généralement dans le développement orienté objet. Au cours des activités de compréhension et de changement et en raison du temps d’accès au marché, du manque de compréhension, et de leur expérience, les développeurs ne peuvent pas toujours suivre les normes de conception et les techniques de codage comme les patrons de conception. Par conséquent, ils introduisent des défauts de conception dans leurs systèmes. Dans la littérature, plusieurs auteurs ont fait valoir que les défauts de conception rendent les systèmes orientés objet plus difficile à comprendre, plus sujets aux fautes, et plus difficiles à changer que les systèmes sans les défauts de conception. Pourtant, seulement quelques-uns de ces auteurs ont fait une étude empirique sur l’impact des défauts de conception sur la compréhension et aucun d’entre eux n’a étudié l’impact des défauts de conception sur l’effort des développeurs pour corriger les fautes. Dans cette thèse, nous proposons trois principales contributions. La première contribution est une étude empirique pour apporter des preuves de l’impact des défauts de conception sur la compréhension et le changement. Nous concevons et effectuons deux expériences avec 59 sujets, afin d’évaluer l’impact de la composition de deux occurrences de Blob ou deux occurrences de spaghetti code sur la performance des développeurs effectuant des tâches de compréhension et de changement. Nous mesurons la performance des développeurs en utilisant: (1) l’indice de charge de travail de la NASA pour leurs efforts, (2) le temps qu’ils ont passé dans l’accomplissement de leurs tâches, et (3) les pourcentages de bonnes réponses. Les résultats des deux expériences ont montré que deux occurrences de Blob ou de spaghetti code sont un obstacle significatif pour la performance des développeurs lors de tâches de compréhension et de changement. Les résultats obtenus justifient les recherches antérieures sur la spécification et la détection des défauts de conception. Les équipes de développement de logiciels doivent mettre en garde les développeurs contre le nombre élevé d’occurrences de défauts de conception et recommander des refactorisations à chaque étape du processus de développement pour supprimer ces défauts de conception quand c’est possible. Dans la deuxième contribution, nous étudions la relation entre les défauts de conception et les fautes. Nous étudions l’impact de la présence des défauts de conception sur l’effort nécessaire pour corriger les fautes. Nous mesurons l’effort pour corriger les fautes à l’aide de trois indicateurs: (1) la durée de la période de correction, (2) le nombre de champs et méthodes touchés par la correction des fautes et (3) l’entropie des corrections de fautes dans le code-source. Nous menons une étude empirique avec 12 défauts de conception détectés dans 54 versions de quatre systèmes: ArgoUML, Eclipse, Mylyn, et Rhino. Nos résultats ont montré que la durée de la période de correction est plus longue pour les fautes impliquant des classes avec des défauts de conception. En outre, la correction des fautes dans les classes avec des défauts de conception fait changer plus de fichiers, plus les champs et des méthodes. Nous avons également observé que, après la correction d’une faute, le nombre d’occurrences de défauts de conception dans les classes impliquées dans la correction de la faute diminue. Comprendre l’impact des défauts de conception sur l’effort des développeurs pour corriger les fautes est important afin d’aider les équipes de développement pour mieux évaluer et prévoir l’impact de leurs décisions de conception et donc canaliser leurs efforts pour améliorer la qualité de leurs systèmes. Les équipes de développement doivent contrôler et supprimer les défauts de conception de leurs systèmes car ils sont susceptibles d’augmenter les efforts de changement. La troisième contribution concerne la détection des défauts de conception. Pendant les activités de maintenance, il est important de disposer d’un outil capable de détecter les défauts de conception de façon incrémentale et itérative. Ce processus de détection incrémentale et itérative pourrait réduire les coûts, les efforts et les ressources en permettant aux praticiens d’identifier et de prendre en compte les occurrences de défauts de conception comme ils les trouvent lors de la compréhension et des changements. Les chercheurs ont proposé des approches pour détecter les occurrences de défauts de conception, mais ces approches ont actuellement quatre limites: (1) elles nécessitent une connaissance approfondie des défauts de conception, (2) elles ont une précision et un rappel limités, (3) elles ne sont pas itératives et incrémentales et (4) elles ne peuvent pas être appliquées sur des sous-ensembles de systèmes. Pour surmonter ces limitations, nous introduisons SMURF, une nouvelle approche pour détecter les défauts de conception, basé sur une technique d’apprentissage automatique — machines à vecteur de support — et prenant en compte les retours des praticiens. Grâce à une étude empirique portant sur trois systèmes et quatre défauts de conception, nous avons montré que la précision et le rappel de SMURF sont supérieurs à ceux de DETEX et BDTEX lors de la détection des occurrences de défauts de conception. Nous avons également montré que SMURF peut être appliqué à la fois dans les configurations intra-système et inter-système. Enfin, nous avons montré que la précision et le rappel de SMURF sont améliorés quand on prend en compte les retours des praticiens.
Resumo:
La démence d'Alzheimer est une maladie neurodégénérative caractérisée par une perte progressive et irreversible des fonctions cognitives et des compétences intellectuelles. La maladie d’Alzheimer se présente sous deux formes: la forme familiale ou précoce (EOAD) qui représente 5% des cas et elle est liée à des mutations génétiques affectant le métabolisme des peptides amyloïde; et la forme tardive ou sporadique (LOAD) qui représente 95% des cas mais son étiologie est encore mal définie. Cependant, le vieillissement reste le principal facteur de risque pour développer LOAD. Les changements épigénétiques impliquant des modifications des histones jouent un rôle crucial dans les maladies neurodégénératives et le vieillissement lié à l'âge. Des données récentes ont décrit LOAD comme un désordre de l'épigénome et ont associé ce trouble à l'instabilité génomique. Les protéines Polycomb sont des modificateurs épigénétiques qui induisent le remodelage de la chromatine et la répression des gènes à l'hétérochromatine facultative. Nous rapportons que les souris hétérozygotes pour une protéine Polycomb développent avec l'âge un trouble neurologique ressemblant à LOAD caractérisé par l’altération des fonctions cognitives, la phosphorylation de la protéine tau, l'accumulation des peptides amyloïde, et le dysfonctionnement synaptique. Ce phénotype pathologique est précédé par la décondensation de l’hétérochromatine neuronale et l'activation de la réponse aux dommages à l'ADN. Parallèlement, une réduction d’expression de polycomb, malformations de l'hétérochromatine neuronale, et l'accumulation de dommages à l'ADN étaient également présents dans les cerveaux de patients LOAD. Remarquablement, les dommages de l'ADN ne sont pas distribués de façon aléatoire sur le génome mais sont enrichis au niveau des séquences répétitives. Les conclusions présentées dans cette thèse ont identifié des modifications épigénétiques spécifiques qui conduisent à une instabilité génomique aberrante menant à la formation de LOAD. Ces résultats vont aider au développement de nouveaux traitements qui peuvent potentiellement ralentir la neurodégénérescence.
Resumo:
Les logiciels sont en constante évolution, nécessitant une maintenance et un développement continus. Ils subissent des changements tout au long de leur vie, que ce soit pendant l'ajout de nouvelles fonctionnalités ou la correction de bogues. Lorsque les logiciels évoluent, leurs architectures ont tendance à se dégrader et deviennent moins adaptables aux nouvelles spécifications des utilisateurs. En effet, les architectures de ces logiciels deviennent plus complexes et plus difficiles à maintenir à cause des nombreuses dépendances entre les artefacts. Par conséquent, les développeurs doivent comprendre les dépendances entre les artefacts des logiciels pour prendre des mesures proactives qui facilitent les futurs changements et ralentissent la dégradation des architectures des logiciels. D'une part, le maintien d'un logiciel sans la compréhension des les dépendances entre ses artefacts peut conduire à l'introduction de défauts. D'autre part, lorsque les développeurs manquent de connaissances sur l'impact de leurs activités de maintenance, ils peuvent introduire des défauts de conception, qui ont un impact négatif sur l'évolution du logiciel. Ainsi, les développeurs ont besoin de mécanismes pour comprendre comment le changement d'un artefact impacte le reste du logiciel. Dans cette thèse, nous proposons trois contributions principales : La spécification de deux nouveaux patrons de changement et leurs utilisations pour fournir aux développeurs des informations utiles concernant les dépendances de co-changement. La spécification de la relation entre les patrons d'évolutions des artefacts et les fautes. La découverte de la relation entre les dépendances des anti-patrons et la prédisposition des différentes composantes d'un logiciel aux fautes.
Resumo:
La maintenance du logiciel est une phase très importante du cycle de vie de celui-ci. Après les phases de développement et de déploiement, c’est celle qui dure le plus longtemps et qui accapare la majorité des coûts de l'industrie. Ces coûts sont dus en grande partie à la difficulté d’effectuer des changements dans le logiciel ainsi que de contenir les effets de ces changements. Dans cette perspective, de nombreux travaux ont ciblé l’analyse/prédiction de l’impact des changements sur les logiciels. Les approches existantes nécessitent de nombreuses informations en entrée qui sont difficiles à obtenir. Dans ce mémoire, nous utilisons une approche probabiliste. Des classificateurs bayésiens sont entraînés avec des données historiques sur les changements. Ils considèrent les relations entre les éléments (entrées) et les dépendances entre changements historiques (sorties). Plus spécifiquement, un changement complexe est divisé en des changements élémentaires. Pour chaque type de changement élémentaire, nous créons un classificateur bayésien. Pour prédire l’impact d’un changement complexe décomposé en changements élémentaires, les décisions individuelles des classificateurs sont combinées selon diverses stratégies. Notre hypothèse de travail est que notre approche peut être utilisée selon deux scénarios. Dans le premier scénario, les données d’apprentissage sont extraites des anciennes versions du logiciel sur lequel nous voulons analyser l’impact de changements. Dans le second scénario, les données d’apprentissage proviennent d’autres logiciels. Ce second scénario est intéressant, car il permet d’appliquer notre approche à des logiciels qui ne disposent pas d’historiques de changements. Nous avons réussi à prédire correctement les impacts des changements élémentaires. Les résultats ont montré que l’utilisation des classificateurs conceptuels donne les meilleurs résultats. Pour ce qui est de la prédiction des changements complexes, les méthodes de combinaison "Voting" et OR sont préférables pour prédire l’impact quand le nombre de changements à analyser est grand. En revanche, quand ce nombre est limité, l’utilisation de la méthode Noisy-Or ou de sa version modifiée est recommandée.
Resumo:
Le surenroulement de l’ADN est important pour tous les processus cellulaires qui requièrent la séparation des brins de l’ADN. Il est régulé par l’activité enzymatique des topoisomérases. La gyrase (gyrA et gyrB) utilise l’ATP pour introduire des supertours négatifs dans l’ADN, alors que la topoisomérase I (topA) et la topoisomérase IV (parC et parE) les éliminent. Les cellules déficientes pour la topoisomérase I sont viables si elles ont des mutations compensatoires dans un des gènes codant pour une sous-unité de la gyrase. Ces mutations réduisent le niveau de surenroulement négatif du chromosome et permettent la croissance bactérienne. Une de ces mutations engendre la production d'une gyrase thermosensible. L’activité de surenroulement de la gyrase en absence de la topoisomérase I cause l’accumulation d’ADN hyper-surenroulé négativement à cause de la formation de R-loops. La surproduction de la RNase HI (rnhA), une enzyme qui dégrade l’ARN des R-loops, permet de prévenir l’accumulation d’un excès de surenroulement négatif. En absence de RNase HI, des R-loops sont aussi formés et peuvent être utilisés pour déclencher la réplication de l’ADN indépendamment du système normal oriC/DnaA, un phénomène connu sous le nom de « constitutive stable DNA replication » (cSDR). Pour mieux comprendre le lien entre la formation de R-loops et l’excès de surenroulement négatif, nous avons construit un mutant conditionnel topA rnhA gyrB(Ts) avec l’expression inductible de la RNase HI à partir d’un plasmide. Nous avons trouvé que l’ADN des cellules de ce mutant était excessivement relâché au lieu d'être hypersurenroulé négativement en conditions de pénurie de RNase HI. La relaxation de l’ADN a été montrée comme étant indépendante de l'activité de la topoisomérase IV. Les cellules du triple mutant topA rnhA gyrB(Ts) forment de très longs filaments remplis d’ADN, montrant ainsi un défaut de ségrégation des chromosomes. La surproduction de la topoisomérase III (topB), une enzyme qui peut effectuer la décaténation de l’ADN, a corrigé les problèmes de ségrégation sans toutefois restaurer le niveau de surenroulement de l’ADN. Nous avons constaté que des extraits protéiques du mutant topA rnhA gyrB(Ts) pouvaient inhiber l’activité de surenroulement négatif de la gyrase dans des extraits d’une souche sauvage, suggérant ainsi que la pénurie de RNase HI avait déclenché une réponse cellulaire d’inhibition de cette activité de la gyrase. De plus, des expériences in vivo et in vitro ont montré qu’en absence de RNase HI, l’activité ATP-dépendante de surenroulement négatif de la gyrase était inhibée, alors que l’activité ATP-indépendante de cette enzyme demeurait intacte. Des suppresseurs extragéniques du défaut de croissance du triple mutant topA rnhA gyrB(Ts) qui corrigent également les problèmes de surenroulement et de ségrégation des chromosomes ont pour la plupart été cartographiés dans des gènes impliqués dans la réplication de l’ADN, le métabolisme des R-loops, ou la formation de fimbriae. La deuxième partie de ce projet avait pour but de comprendre les rôles des topoisomérases de type IA (topoisomérase I et topoisomérase III) dans la ségrégation et la stabilité du génome de Escherichia coli. Pour étudier ces rôles, nous avons utilisé des approches de génétique combinées avec la cytométrie en flux, l’analyse de type Western blot et la microscopie. Nous avons constaté que le phénotype Par- et les défauts de ségrégation des chromosomes d’un mutant gyrB(Ts) avaient été corrigés en inactivant topA, mais uniquement en présence du gène topB. En outre, nous avons démontré que la surproduction de la topoisomérase III pouvait corriger le phénotype Par- du mutant gyrB(Ts) sans toutefois corriger les défauts de croissance de ce dernier. La surproduction de topoisomérase IV, enzyme responsable de la décaténation des chromosomes chez E. coli, ne pouvait pas remplacer la topoisomérase III. Nos résultats suggèrent que les topoisomérases de type IA jouent un rôle important dans la ségrégation des chromosomes lorsque la gyrase est inefficace. Pour étudier le rôle des topoisomérases de type IA dans la stabilité du génome, la troisième partie du projet, nous avons utilisé des approches génétiques combinées avec des tests de « spot » et la microscopie. Nous avons constaté que les cellules déficientes en topoisomérase I avaient des défauts de ségrégation de chromosomes et de croissance liés à un excès de surenroulement négatif, et que ces défauts pouvaient être corrigés en inactivant recQ, recA ou par la surproduction de la topoisomérase III. Le suppresseur extragénique oriC15::aph isolé dans la première partie du projet pouvait également corriger ces problèmes. Les cellules déficientes en topoisomérases de type IA formaient des très longs filaments remplis d’ADN d’apparence diffuse et réparti inégalement dans la cellule. Ces phénotypes pouvaient être partiellement corrigés par la surproduction de la RNase HI ou en inactivant recA, ou encore par des suppresseurs isolés dans la première partie du projet et impliques dans le cSDR (dnaT18::aph et rne59::aph). Donc, dans E. coli, les topoisomérases de type IA jouent un rôle dans la stabilité du génome en inhibant la réplication inappropriée à partir de oriC et de R-loops, et en empêchant les défauts de ségrégation liés à la recombinaison RecA-dépendante, par leur action avec RecQ. Les travaux rapportés ici révèlent que la réplication inappropriée et dérégulée est une source majeure de l’instabilité génomique. Empêcher la réplication inappropriée permet la ségrégation des chromosomes et le maintien d’un génome stable. La RNase HI et les topoisomérases de type IA jouent un rôle majeur dans la prévention de la réplication inappropriée. La RNase HI réalise cette tâche en modulant l’activité de surenroulement ATP-dependante de la gyrase, et en empêchant la réplication à partir des R-loops. Les topoisomérases de type IA assurent le maintien de la stabilité du génome en empêchant la réplication inappropriée à partir de oriC et des R-loops et en agissant avec RecQ pour résoudre des intermédiaires de recombinaison RecA-dépendants afin de permettre la ségrégation des chromosomes.
Resumo:
Les logiciels sont de plus en plus complexes et leur développement est souvent fait par des équipes dispersées et changeantes. Par ailleurs, de nos jours, la majorité des logiciels sont recyclés au lieu d’être développés à partir de zéro. La tâche de compréhension, inhérente aux tâches de maintenance, consiste à analyser plusieurs dimensions du logiciel en parallèle. La dimension temps intervient à deux niveaux dans le logiciel : il change durant son évolution et durant son exécution. Ces changements prennent un sens particulier quand ils sont analysés avec d’autres dimensions du logiciel. L’analyse de données multidimensionnelles est un problème difficile à résoudre. Cependant, certaines méthodes permettent de contourner cette difficulté. Ainsi, les approches semi-automatiques, comme la visualisation du logiciel, permettent à l’usager d’intervenir durant l’analyse pour explorer et guider la recherche d’informations. Dans une première étape de la thèse, nous appliquons des techniques de visualisation pour mieux comprendre la dynamique des logiciels pendant l’évolution et l’exécution. Les changements dans le temps sont représentés par des heat maps. Ainsi, nous utilisons la même représentation graphique pour visualiser les changements pendant l’évolution et ceux pendant l’exécution. Une autre catégorie d’approches, qui permettent de comprendre certains aspects dynamiques du logiciel, concerne l’utilisation d’heuristiques. Dans une seconde étape de la thèse, nous nous intéressons à l’identification des phases pendant l’évolution ou pendant l’exécution en utilisant la même approche. Dans ce contexte, la prémisse est qu’il existe une cohérence inhérente dans les évènements, qui permet d’isoler des sous-ensembles comme des phases. Cette hypothèse de cohérence est ensuite définie spécifiquement pour les évènements de changements de code (évolution) ou de changements d’état (exécution). L’objectif de la thèse est d’étudier l’unification de ces deux dimensions du temps que sont l’évolution et l’exécution. Ceci s’inscrit dans notre volonté de rapprocher les deux domaines de recherche qui s’intéressent à une même catégorie de problèmes, mais selon deux perspectives différentes.
Resumo:
Nous proposons une approche qui génère des scénarios de visualisation à partir des descriptions de tâches d'analyse de code. La dérivation de scénario est considérée comme un processus d'optimisation. Dans ce contexte, nous évaluons différentes possibilités d'utilisation d'un outil de visualisation donnée pour effectuer la tâche d'analyse, et sélectionnons le scénario qui nécessite le moins d'effort d'analyste. Notre approche a été appliquée avec succès à diverses tâches d'analyse telles que la détection des défauts de conception.
Resumo:
Some study has been made earlier, but no attempt has ever been made to make the study comprehensive and comparative. There exists also no information as to the working of the system. Hence the work is undertaken to provide first hand knowledge of the legal institutions that had handled and now handles annually large masses of deprived and neglected population. An investigation is also necessary to know the legal and social characteristics of the jurisdiction enjoined on the court so that this will help compare the law in the statute with the law and practice. The evaluation of the working system in the changed social atmosphere is also an urgent need of the hour
Resumo:
To provide maintenance engineering community with a model named “Maintenance quality function deployment” (MQFD) for nourishing the synergy of quality function deployment (QFD) and total productive maintenance (TPM) and enhancing maintenance quality of products and equipment.The principles of QFD and TPM were studied. MQFD model was designed by coupling these two principles. The practical implementation feasibility of MQFD model was checked in an automobile service station.Both QFD and TPM are popular approaches and several benefits of implementing them have been reported worldwide. Yet the world has not nourished the synergic power of integrating them. The MQFD implementation study reported in this paper has revealed its practical validity
Resumo:
Refiners today operate their equipment for prolonged periods without shutdown. This is primarily due to the increased pressures of the market resulting in extended shutdown-to-shutdown intervals. This places extreme demands on the reliability of the plant equipment. The traditional methods of reliability assurance, like Preventive Maintenance, Predictive Maintenance and Condition Based Maintenance become inadequate in the face of such demands. The alternate approaches to reliability improvement, being adopted the world over are implementation of RCFA programs and Reliability Centered Maintenance. However refiners and process plants find it difficult to adopt this standardized methodology of RCM mainly due to the complexity and the large amount of analysis that needs to be done, resulting in a long drawn out implementation, requiring the services of a number of skilled people. These results in either an implementation restricted to only few equipment or alternately, one that is non-standard. The paper presents the current models in use, the core requirements of a standard RCM model, the alternatives to classical RCM, limitations in the existing model, classical RCM and available alternatives to RCM and will then go on to present an ‗Accelerated‘ approach to RCM implementation, that, while ensuring close conformance to the standard, does not place a large burden on the implementers
Resumo:
A key capability of data-race detectors is to determine whether one thread executes logically in parallel with another or whether the threads must operate in series. This paper provides two algorithms, one serial and one parallel, to maintain series-parallel (SP) relationships "on the fly" for fork-join multithreaded programs. The serial SP-order algorithm runs in O(1) amortized time per operation. In contrast, the previously best algorithm requires a time per operation that is proportional to Tarjan’s functional inverse of Ackermann’s function. SP-order employs an order-maintenance data structure that allows us to implement a more efficient "English-Hebrew" labeling scheme than was used in earlier race detectors, which immediately yields an improved determinacy-race detector. In particular, any fork-join program running in T₁ time on a single processor can be checked on the fly for determinacy races in O(T₁) time. Corresponding improved bounds can also be obtained for more sophisticated data-race detectors, for example, those that use locks. By combining SP-order with Feng and Leiserson’s serial SP-bags algorithm, we obtain a parallel SP-maintenance algorithm, called SP-hybrid. Suppose that a fork-join program has n threads, T₁ work, and a critical-path length of T[subscript â]. When executed on P processors, we prove that SP-hybrid runs in O((T₁/P + PT[subscript â]) lg n) expected time. To understand this bound, consider that the original program obtains linear speed-up over a 1-processor execution when P = O(T₁/T[subscript â]). In contrast, SP-hybrid obtains linear speed-up when P = O(√T₁/T[subscript â]), but the work is increased by a factor of O(lg n).
Resumo:
The females of the bluemouth rockfish, Helicolenus dactylopterus dactylopterus (DelaRoche, 1809), store sperm within their ovaries for periods of up to 10 months. Twenty six females with standard lengths between 152 and 257 mm and six males with standard lengths between 253 and 209 mm were caught storage crypts with stored spermatozoa and to describe their evolution over the year. After internal fertilization and once sperm reaches the ovary, a crypt forms probably by an epithelial inclusion at the base of the lamellae of one or several spermatozoa groups that are floating freely in the interlamellar space of the ovarian lumen. Stored spermatozoa have a large cytoplasm bag surrounding their heads. This bag could serve as a nutritive reservoir during the long storage period. Many desmosonal and tight junctions between the crypt cells ensure tha male sex cells are protected against the female immune system