947 resultados para Factory of software
Resumo:
This paper discusses our research in developing a generalized and systematic method for anomaly detection. The key ideas are to represent normal program behaviour using system call frequencies and to incorporate probabilistic techniques for classification to detect anomalies and intrusions. Using experiments on the sendmail system call data, we demonstrate that concise and accurate classifiers can be constructed to detect anomalies. An overview of the approach that we have implemented is provided.
Resumo:
Code clones are portions of source code which are similar to the original program code. The presence of code clones is considered as a bad feature of software as the maintenance of software becomes difficult due to the presence of code clones. Methods for code clone detection have gained immense significance in the last few years as they play a significant role in engineering applications such as analysis of program code, program understanding, plagiarism detection, error detection, code compaction and many more similar tasks. Despite of all these facts, several features of code clones if properly utilized can make software development process easier. In this work, we have pointed out such a feature of code clones which highlight the relevance of code clones in test sequence identification. Here program slicing is used in code clone detection. In addition, a classification of code clones is presented and the benefit of using program slicing in code clone detection is also mentioned in this work.
Resumo:
Bank switching in embedded processors having partitioned memory architecture results in code size as well as run time overhead. An algorithm and its application to assist the compiler in eliminating the redundant bank switching codes introduced and deciding the optimum data allocation to banked memory is presented in this work. A relation matrix formed for the memory bank state transition corresponding to each bank selection instruction is used for the detection of redundant codes. Data allocation to memory is done by considering all possible permutation of memory banks and combination of data. The compiler output corresponding to each data mapping scheme is subjected to a static machine code analysis which identifies the one with minimum number of bank switching codes. Even though the method is compiler independent, the algorithm utilizes certain architectural features of the target processor. A prototype based on PIC 16F87X microcontrollers is described. This method scales well into larger number of memory blocks and other architectures so that high performance compilers can integrate this technique for efficient code generation. The technique is illustrated with an example
Resumo:
Die Dissertation befasst sich mit der Einführung komplexer Softwaresysteme, die, bestehend aus einer Kombination aus parametrisierter Standardsoftware gepaart mit Wettbewerbsvorteil sichernden Individualsoftwarekomponenten, keine Software-Engineering-Projekte im klassischen Sinn mehr darstellen, sondern einer strategieorientierten Gestaltung von Geschäftsprozessen und deren Implementierung in Softwaresystemen bedürfen. Die Problemstellung einer adäquaten Abwägung zwischen TCO-optimierender Einführung und einer gleichzeitigen vollständigen Unterstützung der kritischen Erfolgsfaktoren des Unternehmens ist hierbei von besonderer Bedeutung. Der Einsatz integrierter betriebswirtschaftlicher Standardsoftware, mit den Möglichkeiten einer TCO-Senkung, jedoch ebenfalls der Gefahr eines Verlustes von Alleinstellungsmerkmalen am Markt durch Vereinheitlichungstendenzen, stellt ein in Einführungsprojekten wesentliches zu lösendes Problem dar, um Suboptima zu vermeiden. Die Verwendung von Vorgehensmodellen, die sich oftmals an klassischen Softwareentwicklungsprojekten orientieren oder vereinfachte Phasenmodelle für das Projektmanagement darstellen, bedingt eine fehlende Situationsadäquanz in den Detailsituationen der Teilprojekte eines komplexen Einführungsprojektes. Das in dieser Arbeit entwickelte generische Vorgehensmodell zur strategieorientierten und partizipativen Einführung komplexer Softwaresysteme im betriebswirtschaftlichen Anwendungsbereich macht - aufgrund der besonders herausgearbeiteten Ansätze zu einer strategieorientierten Einführung, respektive Entwicklung derartiger Systeme sowie aufgrund der situationsadäquaten Vorgehensstrategien im Rahmen der Teilprojektorganisation � ein Softwareeinführungsprojekt zu einem Wettbewerbsfaktor stärkenden, strategischen Element im Unternehmen. Die in der Dissertation diskutierten Überlegungen lassen eine Vorgehensweise präferieren, die eine enge Verschmelzung des Projektes zur Organisationsoptimierung mit dem Softwareimplementierungsprozess impliziert. Eine Priorisierung der Geschäftsprozesse mit dem Ziel, zum einen bei Prozessen mit hoher wettbewerbsseitiger Priorität ein organisatorisches Suboptimum zu vermeiden und zum anderen trotzdem den organisatorischen Gestaltungs- und den Systemimplementierungsprozess schnell und ressourcenschonend durchzuführen, ist ein wesentliches Ergebnis der Ausarbeitungen. Zusätzlich führt die Ausgrenzung weiterer Prozesse vom Einführungsvorgang zunächst zu einem Produktivsystem, welches das Unternehmen in den wesentlichen Punkten abdeckt, das aber ebenso in späteren Projektschritten zu einem System erweitert werden kann, welches eine umfassende Funktionalität besitzt. Hieraus ergeben sich Möglichkeiten, strategischen Anforderungen an ein modernes Informationssystem, das die kritischen Erfolgsfaktoren eines Unternehmens konsequent unterstützen muss, gerecht zu werden und gleichzeitig ein so weit als möglich ressourcenschonendes, weil die Kostenreduktionsaspekte einer Standardlösung nutzend, Projekt durchzuführen. Ein weiterer wesentlicher Aspekt ist die situationsadäquate Modellinstanziierung, also die projektspezifische Anpassung des Vorgehensmodells sowie die situationsadäquate Wahl der Vorgehensweisen in Teilprojekten und dadurch Nutzung der Vorteile der verschiedenen Vorgehensstrategien beim konkreten Projektmanagement. Der Notwendigkeit der Entwicklung einer Projektorganisation für prototypingorientiertes Vorgehen wird in diesem Zusammenhang ebenfalls Rechnung getragen. Die Notwendigkeit der Unternehmen, sich einerseits mit starken Differenzierungspotenzialen am Markt hervorzuheben und andererseits bei ständig sinkenden Margen einer Kostenoptimierung nachzukommen, lässt auch in Zukunft das entwickelte Modell als erfolgreich erscheinen. Hinzu kommt die Tendenz zu Best-Of-Breed-Ansätzen und komponentenbasierten Systemen im Rahmen der Softwareauswahl, die eine ausgesprochen differenzierte Vorgehensweise in Projekten verstärkt notwendig machen wird. Durch die in das entwickelte Modell integrierten Prototyping-Ansätze wird der auch in Zukunft an Bedeutung gewinnenden Notwendigkeit der Anwenderintegration Rechnung getragen.
Resumo:
Die ubiquitäre Datenverarbeitung ist ein attraktives Forschungsgebiet des vergangenen und aktuellen Jahrzehnts. Es handelt von unaufdringlicher Unterstützung von Menschen in ihren alltäglichen Aufgaben durch Rechner. Diese Unterstützung wird durch die Allgegenwärtigkeit von Rechnern ermöglicht die sich spontan zu verteilten Kommunikationsnetzwerken zusammen finden, um Informationen auszutauschen und zu verarbeiten. Umgebende Intelligenz ist eine Anwendung der ubiquitären Datenverarbeitung und eine strategische Forschungsrichtung der Information Society Technology der Europäischen Union. Das Ziel der umbebenden Intelligenz ist komfortableres und sichereres Leben. Verteilte Kommunikationsnetzwerke für die ubiquitäre Datenverarbeitung charakterisieren sich durch Heterogenität der verwendeten Rechner. Diese reichen von Kleinstrechnern, eingebettet in Gegenstände des täglichen Gebrauchs, bis hin zu leistungsfähigen Großrechnern. Die Rechner verbinden sich spontan über kabellose Netzwerktechnologien wie wireless local area networks (WLAN), Bluetooth, oder UMTS. Die Heterogenität verkompliziert die Entwicklung und den Aufbau von verteilten Kommunikationsnetzwerken. Middleware ist eine Software Technologie um Komplexität durch Abstraktion zu einer homogenen Schicht zu reduzieren. Middleware bietet eine einheitliche Sicht auf die durch sie abstrahierten Ressourcen, Funktionalitäten, und Rechner. Verteilte Kommunikationsnetzwerke für die ubiquitäre Datenverarbeitung sind durch die spontane Verbindung von Rechnern gekennzeichnet. Klassische Middleware geht davon aus, dass Rechner dauerhaft miteinander in Kommunikationsbeziehungen stehen. Das Konzept der dienstorienterten Architektur ermöglicht die Entwicklung von Middleware die auch spontane Verbindungen zwischen Rechnern erlaubt. Die Funktionalität von Middleware ist dabei durch Dienste realisiert, die unabhängige Software-Einheiten darstellen. Das Wireless World Research Forum beschreibt Dienste die zukünftige Middleware beinhalten sollte. Diese Dienste werden von einer Ausführungsumgebung beherbergt. Jedoch gibt es noch keine Definitionen wie sich eine solche Ausführungsumgebung ausprägen und welchen Funktionsumfang sie haben muss. Diese Arbeit trägt zu Aspekten der Middleware-Entwicklung für verteilte Kommunikationsnetzwerke in der ubiquitären Datenverarbeitung bei. Der Schwerpunkt liegt auf Middleware und Grundlagentechnologien. Die Beiträge liegen als Konzepte und Ideen für die Entwicklung von Middleware vor. Sie decken die Bereiche Dienstfindung, Dienstaktualisierung, sowie Verträge zwischen Diensten ab. Sie sind in einem Rahmenwerk bereit gestellt, welches auf die Entwicklung von Middleware optimiert ist. Dieses Rahmenwerk, Framework for Applications in Mobile Environments (FAME²) genannt, beinhaltet Richtlinien, eine Definition einer Ausführungsumgebung, sowie Unterstützung für verschiedene Zugriffskontrollmechanismen um Middleware vor unerlaubter Benutzung zu schützen. Das Leistungsspektrum der Ausführungsumgebung von FAME² umfasst: • minimale Ressourcenbenutzung, um auch auf Rechnern mit wenigen Ressourcen, wie z.B. Mobiltelefone und Kleinstrechnern, nutzbar zu sein • Unterstützung für die Anpassung von Middleware durch Änderung der enthaltenen Dienste während die Middleware ausgeführt wird • eine offene Schnittstelle um praktisch jede existierende Lösung für das Finden von Diensten zu verwenden • und eine Möglichkeit der Aktualisierung von Diensten zu deren Laufzeit um damit Fehlerbereinigende, optimierende, und anpassende Wartungsarbeiten an Diensten durchführen zu können Eine begleitende Arbeit ist das Extensible Constraint Framework (ECF), welches Design by Contract (DbC) im Rahmen von FAME² nutzbar macht. DbC ist eine Technologie um Verträge zwischen Diensten zu formulieren und damit die Qualität von Software zu erhöhen. ECF erlaubt das aushandeln sowie die Optimierung von solchen Verträgen.
Resumo:
The process of developing software that takes advantage of multiple processors is commonly referred to as parallel programming. For various reasons, this process is much harder than the sequential case. For decades, parallel programming has been a problem for a small niche only: engineers working on parallelizing mostly numerical applications in High Performance Computing. This has changed with the advent of multi-core processors in mainstream computer architectures. Parallel programming in our days becomes a problem for a much larger group of developers. The main objective of this thesis was to find ways to make parallel programming easier for them. Different aims were identified in order to reach the objective: research the state of the art of parallel programming today, improve the education of software developers about the topic, and provide programmers with powerful abstractions to make their work easier. To reach these aims, several key steps were taken. To start with, a survey was conducted among parallel programmers to find out about the state of the art. More than 250 people participated, yielding results about the parallel programming systems and languages in use, as well as about common problems with these systems. Furthermore, a study was conducted in university classes on parallel programming. It resulted in a list of frequently made mistakes that were analyzed and used to create a programmers' checklist to avoid them in the future. For programmers' education, an online resource was setup to collect experiences and knowledge in the field of parallel programming - called the Parawiki. Another key step in this direction was the creation of the Thinking Parallel weblog, where more than 50.000 readers to date have read essays on the topic. For the third aim (powerful abstractions), it was decided to concentrate on one parallel programming system: OpenMP. Its ease of use and high level of abstraction were the most important reasons for this decision. Two different research directions were pursued. The first one resulted in a parallel library called AthenaMP. It contains so-called generic components, derived from design patterns for parallel programming. These include functionality to enhance the locks provided by OpenMP, to perform operations on large amounts of data (data-parallel programming), and to enable the implementation of irregular algorithms using task pools. AthenaMP itself serves a triple role: the components are well-documented and can be used directly in programs, it enables developers to study the source code and learn from it, and it is possible for compiler writers to use it as a testing ground for their OpenMP compilers. The second research direction was targeted at changing the OpenMP specification to make the system more powerful. The main contributions here were a proposal to enable thread-cancellation and a proposal to avoid busy waiting. Both were implemented in a research compiler, shown to be useful in example applications, and proposed to the OpenMP Language Committee.
Resumo:
E-Business, verstanden als ganzheitliche Strategie zur Reorganisation von Geschäftsprozessen, Strukturen und Beziehungen in Unternehmen, bietet für die Arbeitsgestaltung in einer digital vernetzten Welt Chancen und Risiken in Hinblick auf die Humankriterien. Empirische Untersuchungen in 14 Unternehmen zeigen „good practice“-Ansätze im B2B-Feld (Business-to-Business). Untersucht wurden die Tätigkeiten der elektronisch vernetzten Auftragsbearbeitung, des Web-, Content-Managements, der digitalen Druckvorlagenherstellung sowie der CAD- Bauplanzeichnung. Die beobachteten Arbeitsplätze zeigen, dass Arbeitsinhalte eher ganzheitlich und komplex gestaltet sind. Planende, ausführende, kontrollierende und organisierende Anteile weisen auf eine vielfältige Aufgabengestaltung hin, die hohe Anforderungen beinhaltet. Während alle beobachteten Tätigkeiten mit Aufnahme-, Erarbeitungs-, Verarbeitungs-, Übertragungs- und Weitergabeprozessen von Informationen zu tun haben, gibt es Differenzen in Bezug auf den Arbeitsumfang, den Zeitdruck, Fristsetzungen, erwartete Arbeitsleistungen sowie die Planbarkeit der Aufgaben. Die vorgefundenen Aufgabentypen (wenig bis sehr anforderungsreich im Sinne von Denk- und Planungsanforderungen) sind gekennzeichnet durch eine unterschiedlich ausgeprägte Aufgabenkomplexität. Interessant ist, dass, je anforderungsreicher die Aufgabengestaltung, je höher die Aufgabenkomplexität, je größer die Wissensintensität und je niedriger die Planbarkeit ist, desto größer sind die Freiräume in der Aufgabenausführung. Das heißt wiederum, dass bei zunehmenden E-Business-Anteilen mehr Gestaltungsspielräume zur Verfügung stehen. Die bestehenden Chancen auf eine humane Aufgabengestaltung sind umso größer, je höher die E-Business-Anteile in der Arbeit sind. Diese Wirkung findet sich auch bei einem Vergleich der Aufgabenbestandteile wieder. Die negativen Seiten des E-Business zeigen sich in den vorgefundenen Belastungen, die auf die Beschäftigten einwirken. Diskutiert wird die Verschiebung von körperlichen hin zu psychischen und vorrangig informatorischen Belastungen. Letztere stellen ein neues Belastungsfeld dar. Ressourcen, auf welche die Mitarbeiter zurückgreifen können, sind an allen Arbeitsplätzen vorhanden, allerdings unterschiedlich stark ausgeprägt. Personale, organisationale, soziale, aufgabenbezogene und informatorische Ressourcen, die den Beschäftigten zur Verfügung stehen, werden angesprochen. In Bezug auf die Organisationsgestaltung sind positive Ansätze in den untersuchten E-Business-Unternehmen zu beobachten. Der Großteil der untersuchten Betriebe hat neue Arbeitsorganisationskonzepte realisiert, wie die vorgefundenen kooperativen Organisationselemente zeigen. Die kooperativen Organisationsformen gehen allerdings nicht mit einer belastungsärmeren Gestaltung einher. Das vorgefundene breite Spektrum, von hierarchisch organisierten Strukturen bis hin zu prozess- und mitarbeiterorientierten Organisationsstrukturen, zeigt, dass Organisationsmodelle im E-Business gestaltbar sind. Neuen Anforderungen kann insofern gestaltend begegnet und somit die Gesundheit und das Wohlbefinden der Mitarbeiter positiv beeinflusst werden. Insgesamt betrachtet, zeigt E-Business ein ambivalentes Gesicht, das auf der Basis des MTO-Modells (Mensch-Technik-Organisation) von Uhlich (1994) diskutiert wird, indem vernetzte Arbeitsprozesse auf personeller, technischer sowie organisationaler Ebene betrachtet werden. E-business, seen as more than only the transformation of usual business processes into digital ones, furthermore as an instrument of reorganisation of processes and organisation structures within companies, offers chances for a human oriented work organisation. Empirical data of 14 case studies provide good practice approaches in the field of B2B (Business-to-Business). The observed work contents show, that tasks (e.g. order processing, web-, contentmanagement, first print manufacturing and architectural drawing) are well arranged. Executive, organising, controlling and coordinating parts constitute a diversified work content, which can be organised with high demands. Interesting is the result, that the more e-business-parts are within the work contents, on the one hand the higher are the demands of the type of work and on the other hand the larger is the influence on workmanship. The observed enterprises have realised new elements of work organisation, e.g. flexible working time, cooperative leadership or team work. The direct participation of the employees can be strengthened, in particular within the transformation process. Those companies in which the employees were early and well informed about the changes coming up with e-business work, the acceptance for new technique and new processes is higher than in companies which did not involve the person concerned. Structured in an ergonomic way, there were found bad patterns of behaviour concerning ergonomic aspects, because of missing knowledge regarding work-related ergonomic expertise by the employees. E-business indicates new aspects concerning requirements – new in the field of informational demands, as a result of poorly conceived technical balance in the researched SME. Broken systems cause interruptions, which increase the pressure of time all the more. Because of the inadequate usability of software-systems there appear in addition to the informational strains also elements of psychological stress. All in all, work contents and work conditions can be shaped and as a result the health and well-being of e-business-employees can be influenced: Tasks can be structured and organised in a healthfulness way, physiological strain and psychological stress are capable of being influenced, resources are existent and developable, a human work design within e-business structures is possible. The ambivalent face of e-business work is discussed on the basis of the MTO- (Mensch-Technik-Organisation) model (Ulich 1994). Thereby new and interesting results of researches are found out, concerning the personal/human side, the technical side and the organisational side of e-business work.
Resumo:
This thesis aims at empowering software customers with a tool to build software tests them selves, based on a gradual refinement of natural language scenarios into executable visual test models. The process is divided in five steps: 1. First, a natural language parser is used to extract a graph of grammatical relations from the textual scenario descriptions. 2. The resulting graph is transformed into an informal story pattern by interpreting structurization rules based on Fujaba Story Diagrams. 3. While the informal story pattern can already be used by humans the diagram still lacks technical details, especially type information. To add them, a recommender based framework uses web sites and other resources to generate formalization rules. 4. As a preparation for the code generation the classes derived for formal story patterns are aligned across all story steps, substituting a class diagram. 5. Finally, a headless version of Fujaba is used to generate an executable JUnit test. The graph transformations used in the browser application are specified in a textual domain specific language and visualized as story pattern. Last but not least, only the heavyweight parsing (step 1) and code generation (step 5) are executed on the server side. All graph transformation steps (2, 3 and 4) are executed in the browser by an interpreter written in JavaScript/GWT. This result paves the way for online collaboration between global teams of software customers, IT business analysts and software developers.
Resumo:
El presente Business Plan se ha diseñado con el ánimo de crear la empresa Virtual Gnosis. Dicha empresa operará en el sector de la informática y la industria de software, dentro de la prestación de Servicios de TI. La empresa se centrará en la gestión de la información y el conocimiento del talento humano de las organizaciones, a través de la creación de AVAI (Ambientes Virtuales de Aprendizaje Inmersivo). El mercado objetivo son las instituciones educativas y los conglomerados de PYMES. A continuación se exponen con detalle los aspectos de operaciones, marketing, financieros y administrativos de la empresa propuesta.
Resumo:
Lecture 5: Web 2.0 and Social Hypertext Contains Powerpoint Lecture slides and Hypertext Research Papers: What Is Web 2.0 Design Patterns and Business Models for the Next Generation of Software . Tim O'Reilly (2005); Web 2.0: Hypertext by Any Other Name? (Millard & Ross, 2006)
Resumo:
La información y los datos genéticos que emanan hoy de las investigaciones del genoma humano demandan el desarrollo de herramientas informáticas capaces de procesar la gran cantidad de información disponible. La mayor cantidad de datos genéticos es el resultado de equipos que realizan el análisis simultáneo de cientos o miles de polimorfismos o variaciones genéticas, de nuevas técnicas de laboratorio de mayor rendimiento que, en conjunto, ofrecen una mayor disponibilidad de información en un corto espacio de tiempo. Esta problemática conduce a la necesidad de desarrollar nuevas herramientas informáticas capaces de lidiar con este mayor volumen de datos genéticos. En el caso de la genética de poblaciones, a pesar de que existen herramientas informáticas que permiten procesar y facilitar el análisis de los datos, estas tienen limitaciones como la falta de conocimiento de los usuarios de algunos lenguajes de programación para alimentar la información y otras herramientas informáticas no realizan todas las estimaciones que se requieren y otros presentan limitaciones en cuanto al número de datos que pueden incorporar o manejar. En algunos casos hay redundancia al tener que usarse dos o más herramientas para poder procesar un conjunto de datos de información genética. El presente trabajo tiene por objetivo el desarrollo de una herramienta informática basada en aplicaciones de computador comunes, en este caso Microsoft Excel® y que resuelva todos los problemas y las limitaciones descritas antes. El desarrollo del conjunto de subprogramas que constituyen a Lustro; permiten superar lo anterior, presentar los resultados en un ambiente sencillo, conocido y fácil de operar, simplificando de esta forma el proceso de adaptación del usuario del programa, sin entrenamiento previo, obteniéndose en corto tiempo el procesamiento de la información genética de interés.
Resumo:
Students taking the 20 credit version of the course (COMP6052) will work in groups of 6 to develop and design a new social networking tool/application/website. The teams will work on their design throughout the semester, and keep a design and development blog that will act as a digital portfolio of their work. At the end of the semester they will also be asked to submit an individual reflective summary that will outline their teams objectives and progress, their part in its progress, and a critical analysis of whether or not they were successful. At the end of the course teams will be asked to pitch their ideas to an interdisciplinary Dragon's Den style panel who will expect them to not only have created something that is technical viable, but will also want to see other economic, social, legal and ethical factors taken into consideration. In this presentation we explain the structure of the group project, what is expected in the blog, and explore some potential ideas to help students understand the scope of the work required. The outcome of the group project does not have to be a fully working piece of software, instead we are looking for a well developed idea that contains enough detail to be convincing to the panel.
Resumo:
Problem Steps Recorder is a standard piece of software on Windows 7 computers, which allows you to record a sequence of actions on your computer, along with screenshots. It can help ServiceLine diagnose any problems that you might be experiencing.
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.
Resumo:
In this session we look at the how to use noun verb parsing to try and identify the building blocks of a problem, so that we can start to create object oriented solutions. We also look at some of the challenges of software engineering, and the processes that software engineers use to meet them, and finally we take a look at some more Design Patterns that may help us reuse well known and effective solutions in our own designs.