339 resultados para Burrower bugs.
Resumo:
Verkkoon kytkettävien laitteiden määrä on lisääntynyt viime vuosina, joka luo tarpeen reitittimille ja niiden ominaisuuksille. On muodostunut uusi tarve laitteille, jotka voivat yhdistää erilaisia verkkoja toisiinsa. Tällaisen reitittimen rakentamiseen tarvitaan vakaa alusta. Tällaisella alustalla luodaan mahdollisuus kuormittaa järjestelmää ilman suuria ongelmia. Tällainen alusta on Open Platform, joka on suunniteltu tällaisille toiminnoille ja yhdessä oikeanlaisen verkkoratkaisun kanssa sitä voidaan käyttää sille suunnitellussa ympäristössä. Tämän diplomityön tarkoituksena on arvioida neljää eri reititysohjelmistoa ja kahta eri IP pinoa. Työssä käytetyt testit on suunniteltu arviointia varten ja niiden tarkoituksena on tuoda esille ohjelmistoissa esiintyvät viat ja ongelmat. Kaikki testit ovat samoja kaikille ohjelmille ja tehdään samassa ympäristössä. Testit analysoidaan niiden ajon jälkeen ja niiden tulosten avulla tehdään päätös mitä näistä ohjelmistoista tullaan käyttämään seuraavan sukupolven avoimella alustalla, joka tulee toimimaan Nokian Intelligent Service Nodessa. Tämä verkon laite toimii yhdyskäytävänäerilaisten verkkojen välillä.
Resumo:
Combining bacterial bioreporters with microfluidics systems holds great promise for in-field detection of chemical or toxicity targets. Recently we showed how Escherichia coli cells engineered to produce a variant of green fluorescent protein after contact to arsenite and arsenate can be encapsulated in agarose beads and incorporated into a microfluidic chip to create a device for in-field detection of arsenic, a contaminant of well known toxicity and carcinogenicity in potable water both in industrialized and developing countries. Cell-beads stored in the microfluidics chip at -20°C retained inducibility up to one month and we were able to reproducibly discriminate concentrations of 10 and 50 μg arsenite per L (the drinking water standards for European countries and the United States, and for the developing countries, respectively) from the blank in less than 200 minutes. We discuss here the reasons for decreasing bioreporter signal development upon increased storage of cell beads but also show how this decrease can be reduced, leading to a faster detection and a longer lifetime of the device.
Resumo:
Software faults are expensive and cause serious damage, particularly if discovered late or not at all. Some software faults tend to be hidden. One goal of the thesis is to figure out the status quo in the field of software fault elimination since there are no recent surveys of the whole area. Basis for a structural framework is proposed for this unstructured field, paying attention to compatibility and how to find studies. Bug elimination means are surveyed, including bug knowhow, defect prevention and prediction, analysis, testing, and fault tolerance. The most common research issues for each area are identified and discussed, along with issues that do not get enough attention. Recommendations are presented for software developers, researchers, and teachers. Only the main lines of research are figured out. The main emphasis is on technical aspects. The survey was done by performing searches in IEEE, ACM, Elsevier, and Inspect databases. In addition, a systematic search was done for a few well-known related journals from recent time intervals. Some other journals, some conference proceedings and a few books, reports, and Internet articles have been investigated, too. The following problems were found and solutions for them discussed. Quality assurance is testing only is a common misunderstanding, and many checks are done and some methods applied only in the late testing phase. Many types of static review are almost forgotten even though they reveal faults that are hard to be detected by other means. Other forgotten areas are knowledge of bugs, knowing continuously repeated bugs, and lightweight means to increase reliability. Compatibility between studies is not always good, which also makes documents harder to understand. Some means, methods, and problems are considered method- or domain-specific when they are not. The field lacks cross-field research.
Resumo:
Työn tavoitteena oli selvittää asiakkuudenhallinnan aiheuttamia vaatimuksia ohjelmointikehityksen kannalta. Työ tehtiin Turussa Software Innovation Finland Oy:lle. Työssä kerrotaan PROSPEKTI-asiakkuudenhallintaohjelmiston kehittämiskäytännöistä ja ohjelmistolle asetetuista vaatimuksista. Taustaselvityksen ja kirjallisuuskatsauksen jälkeen kerrotaan ohjelmiston uusien ominaisuuksien kehittämisestä. Tämän jälkeen esitellään kaksi asiakaskohtaista räätälöintiprojektia. Seuraavaksi kuvataan, miten ohjelmiston toiminnallisuus varmennetaan sekä havaitut virheet korjataan. Tuloksena on kuvaus yrityksen tuotekehitysprosessista, jota voidaan käyttää esimerkinomaisena pohjana kun halutaan kehittää asiakkuudenhallintaohjelmistoa.
Resumo:
Afin de mieux comprendre l'évolution des étoiles jeunes, nous avons utilisé un code Monte Carlo simulant leur environnement afin d'étudier une nouvelle distribution chez les étoiles Herbig Ae/Be et pour reproduire des cartes d'intensité et de polarisation linéaire obtenues au télescope Canada-France-Hawaii (TCFH) en novembre 2003. Le code datant de la fin des années 80, nous avons dû non seulement le corriger, mais aussi ajouter quelques éléments afin de tenir compte des dernières avancées dans le domaine de la polarisation provenant du milieu circumstellaire. Les étoiles à l'étude étant jeunes (moins de quelques millions d'années), leur voisinage est toujours constitué de grains de poussière mélangés avec du gaz. Selon leur âge, nous retrouvons cette poussière sous différentes structures soit, par exemple, par un disque entouré d'une enveloppe (objets jeunes de classe I) ou par un simple disque (objets de classe II et III). Selon la structure que prend la poussière, les cartes de polarisation et d'intensité qui en résultent vont changer. Nous allons discuter de cette variation des cartes de polarisation selon la distribution de poussière. Suite aux modifications apportées au code, il a fallu s'assurer que celui-ci fonctionne bien. Pour ce faire, nous avons mis au point quelques critères qui nous assurent, s'ils sont satisfaits, que le code Monte Carlo produit de bons résultats. Après avoir validé le code, il est maintenant possible de l'utiliser aux fins d'avancer le domaine de la polarisation. En effet, Dullemond et al.(2001) proposent une nouvelle distribution de grain autour des étoiles Herbig Ae/Be afin de mieux expliquer leur distribution d'énergie spectrale. Par contre, qu'en est-il des cartes de polarisation résultantes? C'est sur cette question que nous nous sommes arrêtés. Par la suite, nous avons essayé de reproduire du mieux possible, tenant compte des limitations du code, les cartes de polarisation obtenues au TCFH. Nous avons étudié en détail les données de R Mon (résultats qui seront présentés sous forme d'article pour fin de publication) et de V376 Cas. De plus, notre étude de V376 Cas nous a permis d'amener des conclusions sur les processus causant les vecteurs parallèles aux disques des étoiles jeunes.
Resumo:
Analyser le code permet de vérifier ses fonctionnalités, détecter des bogues ou améliorer sa performance. L’analyse du code peut être statique ou dynamique. Des approches combinants les deux analyses sont plus appropriées pour les applications de taille industrielle où l’utilisation individuelle de chaque approche ne peut fournir les résultats souhaités. Les approches combinées appliquent l’analyse dynamique pour déterminer les portions à problèmes dans le code et effectuent par la suite une analyse statique concentrée sur les parties identifiées. Toutefois les outils d’analyse dynamique existants génèrent des données imprécises ou incomplètes, ou aboutissent en un ralentissement inacceptable du temps d’exécution. Lors de ce travail, nous nous intéressons à la génération de graphes d’appels dynamiques complets ainsi que d’autres informations nécessaires à la détection des portions à problèmes dans le code. Pour ceci, nous faisons usage de la technique d’instrumentation dynamique du bytecode Java pour extraire l’information sur les sites d’appels, les sites de création d’objets et construire le graphe d’appel dynamique du programme. Nous démontrons qu’il est possible de profiler dynamiquement une exécution complète d’une application à temps d’exécution non triviale, et d’extraire la totalité de l’information à un coup raisonnable. Des mesures de performance de notre profileur sur trois séries de benchmarks à charges de travail diverses nous ont permis de constater que la moyenne du coût de profilage se situe entre 2.01 et 6.42. Notre outil de génération de graphes dynamiques complets, nommé dyko, constitue également une plateforme extensible pour l’ajout de nouvelles approches d’instrumentation. Nous avons testé une nouvelle technique d’instrumentation des sites de création d’objets qui consiste à adapter les modifications apportées par l’instrumentation au bytecode de chaque méthode. Nous avons aussi testé l’impact de la résolution des sites d’appels sur la performance générale du profileur.
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 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 révision du code est un procédé essentiel quelque soit la maturité d'un projet; elle cherche à évaluer la contribution apportée par le code soumis par les développeurs. En principe, la révision du code améliore la qualité des changements de code (patches) avant qu'ils ne soient validés dans le repertoire maître du projet. En pratique, l'exécution de ce procédé n'exclu pas la possibilité que certains bugs passent inaperçus. Dans ce document, nous présentons une étude empirique enquétant la révision du code d'un grand projet open source. Nous investissons les relations entre les inspections des reviewers et les facteurs, sur les plans personnel et temporel, qui pourraient affecter la qualité de telles inspections.Premiérement, nous relatons une étude quantitative dans laquelle nous utilisons l'algorithme SSZ pour détecter les modifications et les changements de code favorisant la création de bogues (bug-inducing changes) que nous avons lié avec l'information contenue dans les révisions de code (code review information) extraites du systéme de traçage des erreurs (issue tracking system). Nous avons découvert que les raisons pour lesquelles les réviseurs manquent certains bogues était corrélées autant à leurs caractéristiques personnelles qu'aux propriétés techniques des corrections en cours de revue. Ensuite, nous relatons une étude qualitative invitant les développeurs de chez Mozilla à nous donner leur opinion concernant les attributs favorables à la bonne formulation d'une révision de code. Les résultats de notre sondage suggèrent que les développeurs considèrent les aspects techniques (taille de la correction, nombre de chunks et de modules) autant que les caractéristiques personnelles (l'expérience et review queue) comme des facteurs influant fortement la qualité des revues de code.
Resumo:
Embedded systems are usually designed for a single or a specified set of tasks. This specificity means the system design as well as its hardware/software development can be highly optimized. Embedded software must meet the requirements such as high reliability operation on resource-constrained platforms, real time constraints and rapid development. This necessitates the adoption of static machine codes analysis tools running on a host machine for the validation and optimization of embedded system codes, which can help meet all of these goals. This could significantly augment the software quality and is still a challenging field.Embedded systems are usually designed for a single or a specified set of tasks. This specificity means the system design as well as its hardware/software development can be highly optimized. Embedded software must meet the requirements such as high reliability operation on resource-constrained platforms, real time constraints and rapid development. This necessitates the adoption of static machine codes analysis tools running on a host machine for the validation and optimization of embedded system codes, which can help meet all of these goals. This could significantly augment the software quality and is still a challenging field.Embedded systems are usually designed for a single or a specified set of tasks. This specificity means the system design as well as its hardware/software development can be highly optimized. Embedded software must meet the requirements such as high reliability operation on resource-constrained platforms, real time constraints and rapid development. This necessitates the adoption of static machine codes analysis tools running on a host machine for the validation and optimization of embedded system codes, which can help meet all of these goals. This could significantly augment the software quality and is still a challenging field.Embedded systems are usually designed for a single or a specified set of tasks. This specificity means the system design as well as its hardware/software development can be highly optimized. Embedded software must meet the requirements such as high reliability operation on resource-constrained platforms, real time constraints and rapid development. This necessitates the adoption of static machine codes analysis tools running on a host machine for the validation and optimization of embedded system codes, which can help meet all of these goals. This could significantly augment the software quality and is still a challenging field.This dissertation contributes to an architecture oriented code validation, error localization and optimization technique assisting the embedded system designer in software debugging, to make it more effective at early detection of software bugs that are otherwise hard to detect, using the static analysis of machine codes. The focus of this work is to develop methods that automatically localize faults as well as optimize the code and thus improve the debugging process as well as quality of the code.Validation is done with the help of rules of inferences formulated for the target processor. The rules govern the occurrence of illegitimate/out of place instructions and code sequences for executing the computational and integrated peripheral functions. The stipulated rules are encoded in propositional logic formulae and their compliance is tested individually in all possible execution paths of the application programs. An incorrect sequence of machine code pattern is identified using slicing techniques on the control flow graph generated from the machine code.An algorithm to assist the compiler to eliminate the redundant bank switching codes and decide on optimum data allocation to banked memory resulting in minimum number of bank switching codes in embedded system software is proposed. A relation matrix and a state transition diagram formed for the active memory bank state transition corresponding to each bank selection instruction is used for the detection of redundant codes. Instances of code redundancy based on the stipulated rules for the target processor are identified.This validation and optimization tool can be integrated to the system development environment. It is a novel approach independent of compiler/assembler, applicable to a wide range of processors once appropriate rules are formulated. Program states are identified mainly with machine code pattern, which drastically reduces the state space creation contributing to an improved state-of-the-art model checking. Though the technique described is general, the implementation is architecture oriented, and hence the feasibility study is conducted on PIC16F87X microcontrollers. The proposed tool will be very useful in steering novices towards correct use of difficult microcontroller features in developing embedded systems.
Resumo:
Im Rahmen der Fallstudie Harz sollte an der Schnittstelle zwischen Grundlagenforschung und angewandter Forschung ein Beitrag zur Klärung der Frage geleistet werden, inwieweit zwei Zuläufe der Sösetalsperre im Westharz versauert bzw. versauerungsgefährdet sind; aus diesem Stausee wird Trinkwasser für mehrere Gemeinden in Norddeutschland gewonnen. Die Belastung des fast vollständig bewaldeten Einzugsgebiets der Sösetalsperre mit luftbürtigen Schadstoffen (Saurer Regen) zählte zu den höchsten in Mitteleuropa. An jeweils drei Untersuchungsstellen der beiden Bäche Alte Riefensbeek (R1 bis R3) und Große Söse (S1 bis S3) wurden zwischen März 1987 und November 1988 Proben aus Moospolstern und dem hyporheischen Interstitial entnommen und physikalisch, chemisch und biologisch untersucht. Ergänzend wurden Wasserproben zwischen März 1986 und Oktober 1991 sowie vom April 1998 ebenso wie qualitative Fänge von Makroinvertebraten zwischen November 1986 und Juli 1990 sowie vom April 1998 ausgewertet. Die Analyse der tierischen Besiedlung der Moos- und Interstitialproben beschränkte sich auf die taxonomischen Gruppen Turbellaria (Strudelwürmer), Mollusca (Weichtiere), Amphipoda (Flohkrebse), Ephemeroptera (Eintagsfliegen), Plecoptera (Steinfliegen), Heteroptera (Wanzen), Megaloptera (Schlammfliegen), Coleoptera (Käfer), Trichoptera (Köcherfliegen) und Diptera (Zweiflügler). Der Grundsatz, daß normalverteilte und nicht normalverteilte Daten statistisch unterschiedlich behandelt werden müssen, wurde konsequent angewandt. Am Beispiel der Choriotopstruktur wurde gezeigt, daß die Auswahl des Analyseverfahrens das Ergebnis der ökologischen Interpretation multivariater statistischer Auswertung beeinflußt. Die Daten der Korngrößen-Verteilung wurden vergleichend einer univariaten und einer multivariaten statistischen Analyse unterworfen. Mit dem univariaten Verfahren wurden die Gradienten der ökologisch relevanten Korngrößen-Parameter eher erkannt als mit dem multivariaten Verfahren. Die Auswirkungen von Gewässerversauerung sowie anderer Umweltfaktoren (insgesamt 42 Faktoren) auf die Lebensgemeinschaften wurden anhand der Parameter Artenzahl, Besiedlungsdichte, Körpergröße und Biomasse untersucht. Abundanz, Biomasse und Körpergröße sowie die Umweltfaktoren wurden auf einem horizontalen Gradienten, d.h. im Längslauf der Bäche, und auf einem vertikalen Gradienten, d.h. fließende Welle / Bryorheon / Benthon versus Hyporheon, untersucht. Es wurde ein terminologisches System für die Kompartimente in der Fließgewässer-Aue vorgeschlagen, das in sich einheitlich ist. Es wurde ein neuer Moos-Vitalitätsindex für die Moospolster vorgestellt. Es wurden Bestimmungsschlüssel für die Larven der Chloroperlidae (Steinfliegen-Familie) und der Empididae (Tanzfliegen) in den beiden Harzbächen entwickelt. Die untersuchten Bachstrecken waren frei von Abwasserbelastung. An zwei Stellen wurde Wasser für einen Forellenteich ausgeleitet. Abgesehen von zwei meterhohen Abstürzen in der Großen Söse waren wasserbauliche Veränderungen ohne große Bedeutung. Das Abfluß-Regime war insofern nicht mehr natürlich, als beide Bäche in das System der bergbaulichen Bewässerungsgräben des Oberharzes eingebunden sind. Die Söse hatte ein F-nivopluviales Abfluß-Regime, der abflußreichste Doppelmonat war der März / April, die Unregelmäßigkeit des Abfluß-Regimes war sehr hoch, die Vorhersagbarkeit sehr niedrig, die monatlichen Abfluß-Maxima wiesen eine sehr geringe Konstanz auf. Der Zeitraum der biologischen Probenahme wurde von überdurchschnittlich vielen Tagen mit mäßig erhöhten Abflüssen geprägt, sehr große Hochwasser-Wellen fehlten aber. Die Abfluß-Dynamik wurde statistisch beschrieben. Das hydraulische Regime wurde anhand der Meßgrößen Fließgeschwindigkeit, Fließkraft und FROUDE-Zahl dargestellt. Der Zusammenhang zwischen Abfluß und Fließgeschwindigkeit auf der einen Seite und der Korngrößen-Verteilung auf der anderen Seite wurde statistisch untersucht, ebenfalls zwischen dem Abfluß und dem Kohlenstoff- und Stickstoff-Gehalt der Feinstpartikel sowie dem Wasserchemismus. In den Phasen ohne Hochwasser hatte das Hyporheal die Funktion einer Senke für Feinstkörner. Das Bachbett der Alten Riefensbeek war stabiler als das der Großen Söse. Insgesamt gesehen war das hyporheische Sediment in den quellnahen Abschnitten grobkörniger und auf den quellfernen Strecken feinkörniger. Der prozentuale Anteil der Feinstkörner im Hyporheal und Benthal nahm aber im Längslauf der Bäche ab. Dies ist ungewöhnlich, konnte aber nicht plausibel mit geologischen und hydrologischen Meßgrößen erklärt werden. Beide Bäche waren sommerkalt. Der Einfluß der Wassertemperatur auf die Larvalentwicklung wurde beispielhaft an den Taxa Baetis spp. und Leuctra gr. inermis untersucht. Es gab eine Tendenz, daß der Kohlenstoff- und Stickstoff-Gehalt der Feinstpartikel vom Benthal in das Hyporheal anstieg. Dies war ein weiterer Hinweis darauf, daß das Hyporheal die Funktion einer Senke und Vorratskammer für Nährstoffe hat. Der Zusammenhang zwischen partikulärer und gelöster Kohlenstoff-Fraktion wurde diskutiert. Im Hyporheon war die Nitrifikation nicht stärker als in der fließenden Welle. Es gab Hinweise, daß die sauren pH-Werte in der Großen Söse die Nitrifikation hemmten. Die Valenzen der Moos- und Tier-Taxa bezüglich Fließgeschwindigkeit, pH-Wert, Alkalinität sowie der Gehalte von Sauerstoff, Calcium, Magnesium, Kalium und Natrium wurden zusammengestellt. Das hyporheische Sediment war sehr grob und hatte eine hohe Porosität. Der Austausch zwischen fließender Welle und hyporheischem Wasser konnte deshalb sehr schnell erfolgen, es gab keine intergranulare Sprungschicht, die physikalischen und chemischen Tiefengradienten waren in den meisten Fällen gar nicht ausgeprägt oder nur sehr flach. Die Wassertemperatur des Freiwassers unterschied sich nicht signifikant von derjenigen im hyporheischen Wasser. Es gab -- von wenigen Ausnahmen bei pH-Wert, Leitfähigkeit und Sauerstoffgehalt abgesehen -- keine signifikanten Unterschiede zwischen dem Wasserchemismus der fließenden Welle und dem des Hyporheals. Die physikalischen und chemischen Voraussetzungen für die Refugialfunktion des Hyporheons waren deshalb für versauerungsempfindliche Taxa nicht gegeben. In der Tiefenverteilung der untersuchten Tiergruppen im Hyporheal lag das Maximum der Abundanz bzw. Biomasse häufiger in 10 cm als in 30 cm Tiefe. Daraus läßt sich aber keine allgemeine Gesetzmäßigkeit ableiten. Es wurde durchgehend die Definition angewendet, daß die Gewässerversauerung durch den Verlust an Pufferkapazität charakterisiert ist. Saure Gewässer können, müssen aber nicht versauert sein; versauerte Gewässer können, müssen aber nicht saures Wasser haben. Maßstab für das Pufferungsvermögen eines Gewässers ist nicht der pH-Wert, sondern sind die Alkalinität und andere chemische Versauerungsparameter. Der pH-Wert war auch operativ nicht als Indikator für Gewässerversauerung anwendbar. Die chemische Qualität des Bachwassers der Großen Söse entsprach aufgrund der Versauerung nicht den umweltrechtlichen Vorgaben bezüglich der Parameter pH-Wert, Aluminium, Eisen und Mangan, bzgl. Zink galt dies nur an S1. In der Alten Riefensbeek genügte das Hyporheal-Wasser in 30 cm Tiefe an R2 bzgl. des Sauerstoff-Gehalts nicht den umweltrechtlichen Anforderungen. Nur im Freiwasser an R1 genügten die Ammonium-Werte den Vorgaben der EG-Fischgewässer-Richtlinie, der Grenzwert wurde an allen anderen Meßstellen und Entnahmetiefen überschritten. Das BSB-Regime in allen Entnahmetiefen an R2, im Freiwasser an R3 und S1, im Hyporheal an R1 sowie in 30 cm Tiefe an R3 genügte nicht den Anforderungen der Fischgewässer-Richtlinie. Der Grenzwert für Gesamt-Phosphor wurde an S3 überschritten. In der Großen Söse war der Aluminium-Gehalt so hoch, daß anorganisches und organisches Aluminium unterschieden werden konnten. Besonders hohe Gehalte an toxischem anorganischen Aluminium wurden an Tagen mit Spitzen-Abflüssen und Versauerungsschüben gemessen. Erst die Ermittlung verschiedener chemischer Versauerungsparameter zeigte, daß auch die alkalischen Probestellen R2 und R3 mindestens versauerungsempfindlich waren. Die Messung bzw. Berechnung von chemischen Versauerungsparametern sollte deshalb zum Routineprogramm bei der Untersuchung von Gewässerversauerung gehören. Zu Beginn des Untersuchungsprogramms war angenommen worden, daß die mittleren und unteren Abschnitte der Alten Riefensbeek unversauert sind. Dieser Ansatz des Untersuchungsprogramms, einen unversauerten Referenzbach (Alte Riefensbeek) mit einem versauerten Bach (Große Söse) zu vergleichen, mußte nach der Berechnung von chemischen Versauerungsindikatoren sowie der Analyse der Abundanz- und Biomasse-Werte modifiziert werden. Es gab einen Versauerungsgradienten entlang der Probestellen: R1 (unversauert) R2 und R3 (versauerungsempfindlich bis episodisch leicht versauert) S2 und S3 (dauerhaft versauert) S1 (dauerhaft stark versauert). An S1 war das Hydrogencarbonat-Puffersystem vollständig, an S2 und S3 zeitweise ausgefallen. Die Versauerungslage an R2 und R3 war also schlechter als vorausgesehen. Unterschiede im Versauerungsgrad zwischen den Meßstellen waren nicht so sehr in unterschiedlichen Eintragsraten von versauernden Stoffen aus der Luft begründet, sondern in unterschiedlichen Grundgesteinen mit unterschiedlichem Puffervermögen. Der Anteil der verschiedenen sauren Anionen an der Versauerung wurde untersucht, die chemischen Versauerungsmechanismen wurden mit Hilfe von Ionenbilanzen und verschiedenen Versauerungsquotienten analysiert. Die beiden untersuchten Bäche waren von anthropogener Versauerung betroffen. Dabei spielte die Schwefel-Deposition (Sulfat) eine größere Rolle als die Stickstoff-Deposition (Nitrat). Die Probestelle S1 war immer schon in unbekanntem Maß natürlich sauer. Dieser natürlich saure Zustand wurde von der hinzugekommenen anthropogenen Versauerung bei weitem überragt. Die wenigen gewässerökologischen Daten, die im Wassereinzugsgebiet der Söse vor 1986 gewonnen wurden, deuten darauf hin, daß die Versauerung in den 70er und in der ersten Hälfte der 80er Jahre vom Boden und Gestein in die Bäche durchgeschlagen war. Dieser Versauerungsprozeß begann vermutlich vor 1973 in den Quellen auf dem Acker-Bruchberg und bewegte sich im Laufe der Jahre immer weiter talwärts in Richtung Trinkwasser-Talsperre. Der Mangel an (historischen) freilandökologischen Grundlagendaten war nicht nur im Untersuchungsgebiet, sondern ist allgemein in der Versauerungsforschung ein Problem. Wenn sich das Vorkommen von nah verwandten Arten (weitgehend) ausschließt, kann dies an der Versauerung liegen, z.B. war die Alte Riefensbeek ein Gammarus-Bach, die Große Söse ein Niphargus-Bach; dieses muß aber nicht an der Versauerung liegen, z.B. fehlte Habroleptoides confusa im Hyporheos an R3, Habrophlebia lauta hatte dagegen ihr Abundanz- und Biomasse-Maximum an R3. Zugleich lag das Maximum des prozentualen Anteils von Grobsand an R3, eine mögliche Ursache für diese interspezifische Konkurrenz. Die biologische Indikation von Gewässerversauerung mit Hilfe der Säurezustandsklassen funktionierte nicht in den beiden Harzbächen. Es wurde deshalb ein biologischer Versauerungsindex vorgeschlagen; dieser wurde nicht am pH-Wert kalibriert, sondern an der chemischen Versauerungslage, gekennzeichnet durch die Alkalinität und andere chemische Meßgrößen der Versauerung. Dafür wurden aufgrund der qualitativen und quantitativen Daten die häufigeren Taxa in die vier Klassen deutlich versauerungsempfindlich, mäßig versauerungsempfindlich, mäßig versauerungstolerant und deutlich versauerungstolerant eingeteilt. Es reicht nicht aus, die biologischen Folgen von Gewässerversauerung sowie Veränderungen in der Nährstoff-Verfügbarkeit und im sonstigen Wasserchemismus nur anhand der Artenzahl oder des Artenspektrums abzuschätzen. Vielmehr müssen quantitative Methoden wie die Ermittlung der Abundanzen angewandt werden, um anthropogene und natürliche Störungen des Ökosystems zu erfassen. Es wurde eine Strategie für die behördliche Gewässergüteüberwachung von Bachoberläufen vorgeschlagen, die flächendeckend die Versauerungsgefährdung erfassen kann. Die Auswirkungen der zeitlichen Dynamik des Versauerungschemismus wurden am Beispiel des versauerungsempfindlichen Taxons Baetis spp. (Eintagsfliegen) dargestellt. An S2 und S3 kam es zu starken Versauerungsschüben. Baetis konnte sich nicht ganzjährig halten, sondern nur in versauerungsarmen Phasen im Sommer und im Herbst; es gab einen Besiedlungskreislauf aus Ausrottungs- und Wiederbesiedlungsphasen. Die temporäre Population von Baetis an S2 und S3 bestand nur aus ersten Larvenstadien. Die Probestellen wurden auf horizontalen Gradienten der Umweltfaktoren angeordnet. Bei einigen Parametern gab es keinen Gradienten (z.B. Sauerstoff-Gehalt), bei anderen Parametern waren die Meßstellen auf sehr flachen Gradienten angeordnet (z.B. C:N-Quotient der Feinstkörner), bei den restlichen Meßgrößen waren die Gradienten sehr deutlich (z.B. Alkalinität). Bei den Längsgradienten von Abundanz und Biomasse waren alle Möglichkeiten vertreten: Zunahme (z.B. Leuctra pseudosignifera), Abnahme (z.B. Gammarus pulex), Maximum an der mittleren Probestelle (z.B. Leuctra pseudocingulata) und kein signifikanter Trend (z.B. Nemoura spp.). Abundanz und Biomasse zahlreicher taxonomischer Einheiten hatten ihr Maximum im Längslauf an den quellnächsten Probestellen R1 und S1, z.B. Protonemura spp. und Plectrocnemia spp. Die Lebensgemeinschaften an R1 und S1 waren allerdings völlig unterschiedlich zusammengesetzt. Die häufig vertretene Annahme, versauerte Gewässer seien biologisch tot, ist falsch. Unter Anwendung des 3. biozönotischen Grundprinzips wurde das Maximum von Abundanz und Biomasse in den quellnahen Abschnitten mit dem eustatistischen (stabilen) Regime von Wassertemperatur, Abfluß und Protonen-Gehalt, in der Alten Riefensbeek auch von Alkalinität und ALMER-Relation erklärt. Aufgrund der natürlichen und anthropogenen Störungen war im Längslauf der untersuchten Bäche keine natürliche biozönotische Gliederung des Artenbestands erkennbar. Die Korrelationsberechnungen zwischen den Umweltfaktoren und der Taxazahl ergaben, daß in erster Linie versauerungsrelevante Parameter -- Gehalte saurer Anionen, basischer Kationen und von Metallen, Alkalinität usw. -- die höchsten Korrelationskoeffizienten mit der Taxa-Zahl hatten; unter den natürlichen Meßgrößen zählten nur die Gehalte von DOC und TIC sowie der Anteil der Sande zu der Gruppe mit den höchsten Korrelationskoeffizienten. Die Korrelationsberechnungen zwischen den Umweltfaktoren und den Abundanzen ergab dagegen, daß die quantitative Zusammensetzung der Lebensgemeinschaft nicht nur durch die anthropogene Gewässerversauerung, sondern mindestens genauso durch einige natürliche Meßgrößen beeinflußt wurde. Es gab in den Harzbächen keinen ökologischen Superfaktor, der die quantitative Zusammensetzung der Lebensgemeinschaft überwiegend bestimmte. Auch die Meßgrößen der anthropogenen Gewässerversauerung waren nicht solch ein Superfaktor. Einen ähnlich hohen Einfluß auf die quantitative Zusammensetzung der Lebensgemeinschaft hatten die geologisch bestimmten Umweltfaktoren Leitfähigkeit und TIC-Gehalt, der von der Landnutzung bestimmte DOC-Gehalt sowie der Chlorid-Gehalt, der geologisch, möglicherweise aber auch durch den Eintrag von Straßensalz bestimmt wird. Die Mischung von anthropogenen und natürlichen Faktoren wurde in einem Modell der Wirkung von abiotischen Faktoren auf Bryorheos und Hyporheos dargestellt. Als Beispiel für die zeitliche Nutzung ökologischer Nischen wurde die Verteilung der Larven und Adulten der Dryopidae (Hakenkäfer) im Hyporheos und Bryorheos untersucht. Die Larven wurden vorzugsweise im Hyporheon, die Adulten im Bryorheon angetroffen. Die untersuchten Taxa wurden in die Varianten bryorheobiont, bryorheophil, bryorheotolerant, bryorheoxen und bryorheophob bzw. hyporheobiont, hyporheophil, hyporheotolerant, hyporheoxen und hyporheophob eingeteilt, um ihre räumliche Nutzung ökologischer Nischen zu beschreiben. Die gängige Lehrmeinung, daß das Hyporheon die Kinderstube benthaler Makroinvertebraten ist, konnte für zahlreiche Taxa bestätigt werden (z.B. Habrophlebia lauta). Für die bryorheophilen Taxa (z.B. Gammarus pulex und Baetis spp.) trifft diese Lehrmeinung in den beiden Harzbächen nicht zu. Vielmehr übernimmt das Bryorheon die Funktion einer Kinderstube. Die Larven von Plectrocnemia conspersa / geniculata sowie von Baetis spp. und Amphinemura spp. / Protonemura spp. neben Gammarus pulex zeigten eine Habitatbindung, die erstgenannte Gattung an das Hyporheal, die letztgenannten 3 Taxa an untergetauchte Moospolster (Bryorheal). Die Idee von der Funktion des Hyporheals als Kinderstube der Larven und Jungtiere, als Schutzraum gegen die Verdriftung durch Strömung und vor Fraßdruck durch Räuber sowie als Ort hohen Nahrungsangebots mußte für die letztgenannten 3 Taxa abgelehnt werden. Für sie übernahm das Bryorheal diese Aufgaben. Zwar waren die beiden Bäche oligotroph und die Nahrungsqualität der Feinstkörner im Hyporheal war niedrig. Die Abundanz- und Biomasse-Werte im Bryorheos und Hyporheos gehörten aber zu den weltweit höchsten. Es wurde das Paradoxon diskutiert, daß im Hyporheon der beiden Bäche Diatomeen-Rasen gefunden wurden, obwohl das Hyporheon lichtlos sein soll. Das Hyporheon wurde als ein Ökoton zwischen Benthon / Rheon und Stygon angesehen. Es wurden vier Haupttypen des Hyporheons beschrieben. Wegen des sehr unterschiedlichen Charakters des Hyporheons in verschiedenen Fließgewässern gibt es keinen einheitlichen Satz von abiotischen und biotischen Faktoren, mit denen das Hyporheon vom Benthon und Stygon abgegrenzt werden kann. In den beiden Harzbächen ähnelte das Hyporheon mehr dem Benthon als dem Stygon. Es konnte nicht anhand der chemischen Meßgrößen vom Benthon abgegrenzt werden, sondern anhand der physikalischen Meßgrößen Trübung und der Anteile von Feinsand und Schluffe/Tone sowie anhand der biologischen Parameter Summen-Abundanz und Summen-Biomasse. Aus der Typologie des Hyporheons folgt, daß ein bestimmtes Hyporheon nicht alle in der Literatur beschriebenen Funktionen innerhalb der Fließgewässer-Aue übernehmen kann. Es wurde ein Schema entwickelt, mit dem sich die optimale Liste der Parameter für die Untersuchung eines bestimmten Hyporheons auswählen läßt. Der Tendenz in der Fließgewässer-Ökologie, immer neue Konzepte zu entwickeln, die allgemeingültig sein sollen, wurde das Konzept vom individuellen Charakter von Fließgewässer-Ökosystemen entgegengestellt.
Resumo:
Kern der vorliegenden Arbeit ist die Erforschung von Methoden, Techniken und Werkzeugen zur Fehlersuche in modellbasierten Softwareentwicklungsprozessen. Hierzu wird zuerst ein von mir mitentwickelter, neuartiger und modellbasierter Softwareentwicklungsprozess, der sogenannte Fujaba Process, vorgestellt. Dieser Prozess wird von Usecase Szenarien getrieben, die durch spezielle Kollaborationsdiagramme formalisiert werden. Auch die weiteren Artefakte des Prozess bishin zur fertigen Applikation werden durch UML Diagrammarten modelliert. Es ist keine Programmierung im Quelltext nötig. Werkzeugunterstützung für den vorgestellte Prozess wird von dem Fujaba CASE Tool bereitgestellt. Große Teile der Werkzeugunterstützung für den Fujaba Process, darunter die Toolunterstützung für das Testen und Debuggen, wurden im Rahmen dieser Arbeit entwickelt. Im ersten Teil der Arbeit wird der Fujaba Process im Detail erklärt und unsere Erfahrungen mit dem Einsatz des Prozesses in Industrieprojekten sowie in der Lehre dargestellt. Der zweite Teil beschreibt die im Rahmen dieser Arbeit entwickelte Testgenerierung, die zu einem wichtigen Teil des Fujaba Process geworden ist. Hierbei werden aus den formalisierten Usecase Szenarien ausführbare Testfälle generiert. Es wird das zugrunde liegende Konzept, die konkrete technische Umsetzung und die Erfahrungen aus der Praxis mit der entwickelten Testgenerierung dargestellt. Der letzte Teil beschäftigt sich mit dem Debuggen im Fujaba Process. Es werden verschiedene im Rahmen dieser Arbeit entwickelte Konzepte und Techniken vorgestellt, die die Fehlersuche während der Applikationsentwicklung vereinfachen. Hierbei wurde darauf geachtet, dass das Debuggen, wie alle anderen Schritte im Fujaba Process, ausschließlich auf Modellebene passiert. Unter anderem werden Techniken zur schrittweisen Ausführung von Modellen, ein Objekt Browser und ein Debugger, der die rückwärtige Ausführung von Programmen erlaubt (back-in-time debugging), vorgestellt. Alle beschriebenen Konzepte wurden in dieser Arbeit als Plugins für die Eclipse Version von Fujaba, Fujaba4Eclipse, implementiert und erprobt. Bei der Implementierung der Plugins wurde auf eine enge Integration mit Fujaba zum einen und mit Eclipse auf der anderen Seite geachtet. Zusammenfassend wird also ein Entwicklungsprozess vorgestellt, die Möglichkeit in diesem mit automatischen Tests Fehler zu identifizieren und diese Fehler dann mittels spezieller Debuggingtechniken im Programm zu lokalisieren und schließlich zu beheben. Dabei läuft der komplette Prozess auf Modellebene ab. Für die Test- und Debuggingtechniken wurden in dieser Arbeit Plugins für Fujaba4Eclipse entwickelt, die den Entwickler bestmöglich bei der zugehörigen Tätigkeit unterstützen.
Resumo:
This report outlines the problem of intelligent failure recovery in a problem-solver for electrical design. We want our problem solver to learn as much as it can from its mistakes. Thus we cast the engineering design process on terms of Problem Solving by Debugging Almost-Right Plans, a paradigm for automatic problem solving based on the belief that creation and removal of "bugs" is an unavoidable part of the process of solving a complex problem. The process of localization and removal of bugs called for by the PSBDARP theory requires an approach to engineering analysis in which every result has a justification which describes the exact set of assumptions it depends upon. We have developed a program based on Analysis by Propagation of Constraints which can explain the basis of its deductions. In addition to being useful to a PSBDARP designer, these justifications are used in Dependency-Directed Backtracking to limit the combinatorial search in the analysis routines. Although the research we will describe is explicitly about electrical circuits, we believe that similar principles and methods are employed by other kinds of engineers, including computer programmers.
Resumo:
Testing constraints for real-time systems are usually verified through the satisfiability of propositional formulae. In this paper, we propose an alternative where the verification of timing constraints can be done by counting the number of truth assignments instead of boolean satisfiability. This number can also tell us how “far away” is a given specification from satisfying its safety assertion. Furthermore, specifications and safety assertions are often modified in an incremental fashion, where problematic bugs are fixed one at a time. To support this development, we propose an incremental algorithm for counting satisfiability. Our proposed incremental algorithm is optimal as no unnecessary nodes are created during each counting. This works for the class of path RTL. To illustrate this application, we show how incremental satisfiability counting can be applied to a well-known rail-road crossing example, particularly when its specification is still being refined.
Resumo:
Introducción: El incremento de la resistencia antibiótica se considera un problema de salud pública con consecuencias clínicas y económicas, por lo tanto se determinará la prevalencia de resistencia antibiótica en Infección del Tracto Urinario (ITU, el perfil microbiológico y los patrones de susceptibilidad en una población pediátrica atendida en la Fundación Cardioinfantil. Materiales y métodos: Estudio observacional de corte transversal, retrospectivo, entre 1 mes a 18 años de edad, con diagnóstico de ITU comunitaria atendidos entre Enero de 2011 y Diciembre de 2013. Se excluyeron pacientes con dispositivos en la vía urinaria, instrumentación quirúrgica previa, trayectos fistulosos entre la vía urinaria y sistema digestivo, ITU luego de 48 horas de hospitalización y recaída clínica en tratamiento. Se estableció la prevalencia de ITU resistente y se realizó un análisis descriptivo de la información. Resultados: Se evaluaron 385 registros clínicos, con una mediana de 1.08 años (RIQ 0.8 – 4.08), el 73.5% eran niñas. La fiebre predominó (76.5%), seguido de emesis (32.0%), disuria (23.7%) y dolor abdominal (23.1%). El uropatógeno más frecuente fue E.coli (75%), seguido de Proteus mirabilis (8.5%) y Klebsiella spp. (8.3%). La Ampicilina, el Trimetropim sulfametoxazol, la Ampicilina sulbactam y el ácido nalidixico tuvieron mayor tasa de resistencia. La prevalencia de BLEE fue 5.2% y AmpC 3.9%. La prevalencia de resistencia antimicrobiana fue de 11.9%. Conclusiones: La E.coli es el uropatogeno más frecuentemente aislado en ITU, con resistencia a la ampicilina en 60.2%, cefalosporinas de primera generación en 15.5%, trimetropin sulfametoxazol en 43.9%, cefepime 4.8%. La prevalencia de resistencia antimicrobiana fue de 11.9%.