903 resultados para Search Based Software Engineering
Resumo:
Tässä työssä selvitettiin Microsoft BizTalk Server -tuotteen sopivuutta moniasiakasjärjestelmänä toimivan sovellusintegraatioympäristön toteuttamiseen. Työssä ei otettu kantaa ympäristössä suoritettaviin integraatioihin, niihin liittyviin asiakkuuksiin tai integraatioympäristöön liittyviin järjestelmiin ja sovelluksiin. Selvityksessä ilmeni, että Microsoft BizTalk Server -tuotetta on mahdollista käyttää moniasiakasjärjestelmänä, sillä lisenssiehdot eivät rajoita tuotteen käyttömahdollisuuksia. Moniasiakasjärjestelmän haasteet liittyvät tietoturvaan ja sovellustietojen näkyvyyteen. Toisaalta haasteena on moniasiakasjärjestelmän kannattavuus liiketoiminnan näkökulmasta.
Resumo:
An empirical study was conducted in the area of software engineering to study relationships between development, testing and intended software quality. International standards served as a starting point of the study. For analysis a round of interviews was kept and transcribed. It was found that interaction between humans is critical, especially in transferring knowledge and standards’ processes. The standards are communicated through interaction and learning processes are involved before compliance. One of the results was that testing is the key to sufficient quality. The outcome was that successful interaction, sufficient testing and compliance with the standards combined with good motivation may provide most repeatable intended quality.
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.
Resumo:
Työn tarkoituksena on selvittää, miten DSM ja siihen liittyvät analyysit toimivat. Työssä selvitetään myös, miten DSM:a voidaan hyödyntää tuotekehityksessä ja ohjelmistotuotannon kohtaamissa ongelmissa. DSM-neliömatriisiin sijoitetaan tarkasteltavan kohteen osat riveihin ja kolumneihin identtisessä järjestyksessä. Matriisin soluihin merkitään osien väliset riippuvuudet, joilla selvitetään kunkin osan lähettämä ja vastaanottama data suhteessa muihin osiin. DSM-analyysissa osien järjestystä muutetaan suoritus- tai toteutusjärjestyksen mukaisesti parhaaseen järjestykseen. Osat ryhmitellään moduuleihin, jolloin esimerkiksi tuotekehitys ohjautuu automaattisesti modulaarisuuteen. Tuotekehitysprojekteihin DSM on kompaktin muodon, yksinkertaisuuden ja automaattisen järjestelyn ansiosta erinomainen työkalu, jolla voidaan mallintaa käytännössä mitä tahansa, mikä voidaan jakaa toisistaan riippuviin osiin. DSM voi vähentää projektien suunnitteluun vaadittua työmäärää ja avustaa realististen budjettien ja aikataulujen luontia suurissa projekteissa.
Resumo:
Polyketides are a diverse group of natural products produced in many bacteria, fungi and plants. These metabolites have diverse biological activities and several members of this group are in clinical use as antibiotics, anticancer agents, antifungals and immunosuppressants. The different polyketides are produced by polyketide synthases, which catalyze the condensation of extender units into various polyketide scaffolds. After the biosynthesis of the polyketide backbone, more versatility is created to the molecule by tailoring enzymes catalyzing for instance hydroxylations, methylations and glycosylations. Flavoprotein monooxygenases (FPMO) and short-chain alcohol dehydrogenases/reductases (SDR) are two enzyme families that catalyze unusual tailoring reactions in the biosynthesis of natural products. In the experimental section, functions of homologous FPMO and SDR tailoring enzymes from five different angucycline pathways were studied in vitro. The results revealed how different angucyclinones are produced from a common intermediate and that FPMO JadH and SDR LanV are responsible for the divergence of jadomycins and landomycins, respectively, from other angucyclines. Structural studies of these tailoring enzymes revealed differences between homologous enzymes and enabled the use of structure-based protein engineering. Mutagenesis experiments gave important information about the enzymes behind the evolution of distinct angucycline metabolites. These experiments revealed a correlation between the substrate inhibition and bi-functionality in JadH homologue PgaE. In the case of LanV, analysis of mutagenesis results revealed that the difference between the stereospecificities of LanV and its homologues CabV and UrdMred is unexpectedly related to the conformation of the substrate rather than to the structure of the enzyme. Altogether, the results presented here have improved our knowledge about different steps of angucycline biosynthesis and the reaction mechanisms used by the tailoring enzymes behind these steps. This information can hopefully be used to modify these enzymes to produce novel metabolites, which have new biological targets or possess novel modes-of-action. The understanding of these unusual enzyme mechanisms is also interesting to enzymologists outside the field of natural product research.
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.
Resumo:
La réadaptation pulmonaire est une intervention dont l’efficacité est largement reconnue. Cette efficacité a été établie grâce à l’utilisation d’instruments de mesure d’impact global. Les patients bénéficiant des programmes de réadaptation pulmonaire possèdent des caractéristiques variées et souffrent généralement de maladie pulmonaire obstructive chronique à différents degrés. En fonction de leurs différents besoins, les patients répondent de façon variable aux composantes d’un programme de réadaptation pulmonaire. Il est recommandé d’individualiser les programmes en fonction des besoins des patients afin d’en optimiser les effets. À cette fin, l’évaluation des besoins de réadaptation des patients est nécessaire. Comme il n’existe actuellement aucun instrument standardisé pour procéder à cette évaluation, nous avons entrepris d’en développer un à l’aide de méthodes qualitatives et quantitatives de recherche. Un modèle conceptuel d’évaluation des besoins de réadaptation des patients a été élaboré suite aux résultats tirés de groupes de discussion, de la consultation de dossiers médicaux et d’une recension des écrits. À partir de ce modèle, des items devant être sélectionnés de façon individualisée parmi cinq domaines (reconnaissance des besoins, connaissance, motivation, attentes et buts) ont été pré-testés. Les tendances générales concernant la validité des items contenus dans le prototype d’instrument ont été vérifiées lors d’une étude pilote auprès de 50 répondants en réadaptation. Les pistes d’investigation dégagées dans ce mémoire serviront aux études de validation plus approfondies dont devrait faire l’objet ce prototype d’instrument dans le futur.
Resumo:
Un objectif principal du génie logiciel est de pouvoir produire des logiciels complexes, de grande taille et fiables en un temps raisonnable. La technologie orientée objet (OO) a fourni de bons concepts et des techniques de modélisation et de programmation qui ont permis de développer des applications complexes tant dans le monde académique que dans le monde industriel. Cette expérience a cependant permis de découvrir les faiblesses du paradigme objet (par exemples, la dispersion de code et le problème de traçabilité). La programmation orientée aspect (OA) apporte une solution simple aux limitations de la programmation OO, telle que le problème des préoccupations transversales. Ces préoccupations transversales se traduisent par la dispersion du même code dans plusieurs modules du système ou l’emmêlement de plusieurs morceaux de code dans un même module. Cette nouvelle méthode de programmer permet d’implémenter chaque problématique indépendamment des autres, puis de les assembler selon des règles bien définies. La programmation OA promet donc une meilleure productivité, une meilleure réutilisation du code et une meilleure adaptation du code aux changements. Très vite, cette nouvelle façon de faire s’est vue s’étendre sur tout le processus de développement de logiciel en ayant pour but de préserver la modularité et la traçabilité, qui sont deux propriétés importantes des logiciels de bonne qualité. Cependant, la technologie OA présente de nombreux défis. Le raisonnement, la spécification, et la vérification des programmes OA présentent des difficultés d’autant plus que ces programmes évoluent dans le temps. Par conséquent, le raisonnement modulaire de ces programmes est requis sinon ils nécessiteraient d’être réexaminés au complet chaque fois qu’un composant est changé ou ajouté. Il est cependant bien connu dans la littérature que le raisonnement modulaire sur les programmes OA est difficile vu que les aspects appliqués changent souvent le comportement de leurs composantes de base [47]. Ces mêmes difficultés sont présentes au niveau des phases de spécification et de vérification du processus de développement des logiciels. Au meilleur de nos connaissances, la spécification modulaire et la vérification modulaire sont faiblement couvertes et constituent un champ de recherche très intéressant. De même, les interactions entre aspects est un sérieux problème dans la communauté des aspects. Pour faire face à ces problèmes, nous avons choisi d’utiliser la théorie des catégories et les techniques des spécifications algébriques. Pour apporter une solution aux problèmes ci-dessus cités, nous avons utilisé les travaux de Wiels [110] et d’autres contributions telles que celles décrites dans le livre [25]. Nous supposons que le système en développement est déjà décomposé en aspects et classes. La première contribution de notre thèse est l’extension des techniques des spécifications algébriques à la notion d’aspect. Deuxièmement, nous avons défini une logique, LA , qui est utilisée dans le corps des spécifications pour décrire le comportement de ces composantes. La troisième contribution consiste en la définition de l’opérateur de tissage qui correspond à la relation d’interconnexion entre les modules d’aspect et les modules de classe. La quatrième contribution concerne le développement d’un mécanisme de prévention qui permet de prévenir les interactions indésirables dans les systèmes orientés aspect.
Resumo:
En la actualidad, el uso de las tecnologías ha sido primordial para el avance de las sociedades, estas han permitido que personas sin conocimientos informáticos o usuarios llamados “no expertos” se interesen en su uso, razón por la cual los investigadores científicos se han visto en la necesidad de producir estudios que permitan la adaptación de sistemas, a la problemática existente dentro del ámbito informático. Una necesidad recurrente de todo usuario de un sistema es la gestión de la información, la cual se puede administrar por medio de una base de datos y lenguaje específico, como lo es el SQL (Structured Query Language), pero esto obliga al usuario sin conocimientos a acudir a un especialista para su diseño y construcción, lo cual se ve reflejado en costos y métodos complejos, entonces se plantea una pregunta ¿qué hacer cuando los proyectos son pequeñas y los recursos y procesos son limitados? Teniendo como base la investigación 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 técnica diferente de aprendizaje, para lo cual utiliza una aproximación evolucionista, donde la aplicación de un algoritmo genético adaptado origina sentencias SQL válidas que responden a las condiciones establecidas por los ejemplos de entrada y salida dados por el usuario. Se obtuvo como resultado de la aproximación, una herramienta denominada EvoSQL que fue validada en este estudio. Sobre los 28 ejercicios empleados por la investigación [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% más alto que la herramienta siguiente más próxima Query by Output QBO[31]. El promedio obtenido en la ejecución 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 genético supone la existencia de fases que amplían los rangos de tiempos, por lo cual el tiempo obtenido es aceptable con relación a las aplicaciones de este tipo. En conclusión y según lo anteriormente expuesto, se obtuvo una herramienta automática con una aproximación evolucionista, con buenos resultados y un proceso simple para el usuario “no experto”.
Resumo:
This report gives a detailed discussion on the system, algorithms, and techniques that we have applied in order to solve the Web Service Challenges (WSC) of the years 2006 and 2007. These international contests are focused on semantic web service composition. In each challenge of the contests, a repository of web services is given. The input and output parameters of the services in the repository are annotated with semantic concepts. A query to a semantic composition engine contains a set of available input concepts and a set of wanted output concepts. In order to employ an offered service for a requested role, the concepts of the input parameters of the offered operations must be more general than requested (contravariance). In contrast, the concepts of the output parameters of the offered service must be more specific than requested (covariance). The engine should respond to a query by providing a valid composition as fast as possible. We discuss three different methods for web service composition: an uninformed search in form of an IDDFS algorithm, a greedy informed search based on heuristic functions, and a multi-objective genetic algorithm.
Resumo:
Simulation hat sich in der Vergangenheit als unterstützendes Planungsinstrument und Prognosemethode zur Untersuchung von Materialflusssystemen in verschiedenen Branchen etabliert. Dafür werden neben Simulationswerkzeugen auch zunehmend Virtual Reality (VR), insbesondere mit dem Ansatz Digitale Fabrik, eingesetzt. Ein Materialflusssimulator, der für den VR–Einsatz geeignet ist,existiert noch nicht, so dass Anwender gegenwärtig mit verschiedenen Systemen arbeiten müssen, um Untersuchungen eines Simulationsmodells in einem VR–Umfeld wie beispielsweise in einem CAVE zu ermöglichen. Zeitlicher Aufwand ist dadurch vorprogrammiert und das Auftreten von Fehlern bei der Konvertierung des Simulationsmodells möglich. Da auch der hauseigene Materialflusssimulator SIMFLEX/3D nicht für beide Anwendungsgebiete genutzt werden kann und für einen solchen Einsatz mit sehr hohem Aufwand angepasst werden müsste, wurde stattdessen ein neues Simulationssystem entworfen. Das Simulationssystem wird in der vorliegenden Arbeit als ein interoperables und offenes System beschrieben, das über eine flexible Softwarearchitektur verfügt und in einem vernetzten Umfeld mit anderen Werkzeugen Daten austauschen kann. Die grundlegende Idee besteht darin, eine flexible Softwarearchitektur zu entwerfen, die zunächst interaktive und ereignisorientierte 3D–Simulation erlaubt, aber zusätzlich für andere Anwendungszwecke offen gehalten wird. Durch den offenen Ansatz können Erweiterungen, die in Form von Plugins entwickelt werden, mit geringem Aufwand in das System integriert werden, wodurch eine hohe Flexibilität des Systems erreicht wird. Für interoperable Zwecke werden Softwaremodule vorgestellt, die optional eingesetzt werden können und standardisierte Formate wie bspw. XML benutzen. Mit dem neuen Simulationssystem wird die Lücke zwischen Desktop– und VR–Einsatz geschlossen und aus diesem Grund der Zeitaufwand und Fehlerquellen reduziert. Darüber hinaus ermöglicht der offene Ansatz, das Simulationssystem rollen- und aufgabenspezifisch anzupassen, indem die erforderlichen Plugins bereitgestellt werden. Aus diesem Grund kann das Simulationssystem mit sehr geringem Aufwand um weitere Untersuchungsschwerpunkte wie beispielsweise Avatare ergänzt werden. Erste Untersuchungen in einem CAVE wurden erfolgreich durchgeführt. Für die Digitale Fabrik kann der Prototyp eingesetzt werden, um die Produktionsplanung mit Hilfe der Simulation und die Entwicklung mit Hilfe der entwickelten Viewer zu unterstützen. Letzteres ist möglich, da die Viewer zahlreiche CAD–Formate lesen und um weitere Formate ergänzt werden können. Das entwickelte System ist für den Einsatz in verschiedenen Prozessen einer Wertschöpfungskette geeignet,um es als Untersuchungs-, Kommunikations- und Steuerungswerkzeug einzusetzen.
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:
The accurate transport of an ion over macroscopic distances represents a challenging control problem due to the different length and time scales that enter and the experimental limitations on the controls that need to be accounted for. Here, we investigate the performance of different control techniques for ion transport in state-of-the-art segmented miniaturized ion traps. We employ numerical optimization of classical trajectories and quantum wavepacket propagation as well as analytical solutions derived from invariant based inverse engineering and geometric optimal control. The applicability of each of the control methods depends on the length and time scales of the transport. Our comprehensive set of tools allows us make a number of observations. We find that accurate shuttling can be performed with operation times below the trap oscillation period. The maximum speed is limited by the maximum acceleration that can be exerted on the ion. When using controls obtained from classical dynamics for wavepacket propagation, wavepacket squeezing is the only quantum effect that comes into play for a large range of trapping parameters. We show that this can be corrected by a compensating force derived from invariant based inverse engineering, without a significant increase in the operation time.
Resumo:
This class focuses on a selected subset of web technologies that are of interest to the topics of this course. Readings: Chapter 5 "Representational State Transfer (REST)", in "Architectural Styles and the Design of Network-based Software Architecture", Roy Fielding, Dissertation, University of California Irvine, 2000 Optional: Chapter "Representational State Transfer (REST)" in "Pro PHP XML and Web Services", R. Richards 633--672, 2006
Resumo:
Building software for Web 2.0 and the Social Media world is non-trivial. It requires understanding how to create infrastructure that will survive at Web scale, meaning that it may have to deal with tens of millions of individual items of data, and cope with hits from hundreds of thousands of users every minute. It also requires you to build tools that will be part of a much larger ecosystem of software and application families. In this lecture we will look at how traditional relational database systems have tried to cope with the scale of Web 2.0, and explore the NoSQL movement that seeks to simplify data-storage and create ultra-swift data systems at the expense of immediate consistency. We will also look at the range of APIs, libraries and interoperability standards that are trying to make sense of the Social Media world, and ask what trends we might be seeing emerge.