905 resultados para Development of large software systems,
Resumo:
Developing software is a difficult and error-prone activity. Furthermore, the complexity of modern computer applications is significant. Hence,an organised approach to software construction is crucial. Stepwise Feature Introduction – created by R.-J. Back – is a development paradigm, in which software is constructed by adding functionality in small increments. The resulting code has an organised, layered structure and can be easily reused. Moreover, the interaction with the users of the software and the correctness concerns are essential elements of the development process, contributing to high quality and functionality of the final product. The paradigm of Stepwise Feature Introduction has been successfully applied in an academic environment, to a number of small-scale developments. The thesis examines the paradigm and its suitability to construction of large and complex software systems by focusing on the development of two software systems of significant complexity. Throughout the thesis we propose a number of improvements and modifications that should be applied to the paradigm when developing or reengineering large and complex software systems. The discussion in the thesis covers various aspects of software development that relate to Stepwise Feature Introduction. More specifically, we evaluate the paradigm based on the common practices of object-oriented programming and design and agile development methodologies. We also outline the strategy to testing systems built with the paradigm of Stepwise Feature Introduction.
Resumo:
The research described here concerns the development of metrics and models to support the development of hybrid (conventional/knowledge based) integrated systems. The thesis argues from the point that, although it is well known that estimating the cost, duration and quality of information systems is a difficult task, it is far from clear what sorts of tools and techniques would adequately support a project manager in the estimation of these properties. A literature review shows that metrics (measurements) and estimating tools have been developed for conventional systems since the 1960s while there has been very little research on metrics for knowledge based systems (KBSs). Furthermore, although there are a number of theoretical problems with many of the `classic' metrics developed for conventional systems, it also appears that the tools which such metrics can be used to develop are not widely used by project managers. A survey was carried out of large UK companies which confirmed this continuing state of affairs. Before any useful tools could be developed, therefore, it was important to find out why project managers were not using these tools already. By characterising those companies that use software cost estimating (SCE) tools against those which could but do not, it was possible to recognise the involvement of the client/customer in the process of estimation. Pursuing this point, a model of the early estimating and planning stages (the EEPS model) was developed to test exactly where estimating takes place. The EEPS model suggests that estimating could take place either before a fully-developed plan has been produced, or while this plan is being produced. If it were the former, then SCE tools would be particularly useful since there is very little other data available from which to produce an estimate. A second survey, however, indicated that project managers see estimating as being essentially the latter at which point project management tools are available to support the process. It would seem, therefore, that SCE tools are not being used because project management tools are being used instead. The issue here is not with the method of developing an estimating model or tool, but; in the way in which "an estimate" is intimately tied to an understanding of what tasks are being planned. Current SCE tools are perceived by project managers as targetting the wrong point of estimation, A model (called TABATHA) is then presented which describes how an estimating tool based on an analysis of tasks would thus fit into the planning stage. The issue of whether metrics can be usefully developed for hybrid systems (which also contain KBS components) is tested by extending a number of "classic" program size and structure metrics to a KBS language, Prolog. Measurements of lines of code, Halstead's operators/operands, McCabe's cyclomatic complexity, Henry & Kafura's data flow fan-in/out and post-release reported errors were taken for a set of 80 commercially-developed LPA Prolog programs: By re~defining the metric counts for Prolog it was found that estimates of program size and error-proneness comparable to the best conventional studies are possible. This suggests that metrics can be usefully applied to KBS languages, such as Prolog and thus, the development of metncs and models to support the development of hybrid information systems is both feasible and useful.
Resumo:
The electromagnetic radiation at a terahertz frequencies (from 0.1 THz to 10 THz) is situated in the frequency band comprised between the optical band and the radio band. The interest of the scientific community in this frequency band has grown up due to its large capabilities to develop innovative imaging systems. The terahertz waves are able to generate extremely short pulses that achieve good spatial resolution, good penetration capabilities and allow to identify microscopic structures using spectral analysis. The work carried out during the period of the grant has been based on the developement of system working at the aforementioned frequency band. The main system is based on a total power radiometer working at 0.1 THz to perform security imaging. Moreover, the development of this system has been useful to gain knowledge in the behavior of the component systems at this frequency band. Moreover, a vectorial network analyzer has been used to characterize materials and perform active raster imaging. A materials measurement system has been designed and used to measure material properties as permittivity, losses and water concentration. Finally, the design of a terahertz time-domain spectrometer (THz-TDS) system has been started. This system will allow to perform tomographic measurement with very high penetration resolutions while allowing the spectral characterization of the sample material. The application range of this kind of system is very wide: from the identification of cancerous tissues of a skin to the characterization of the thickness of a painted surface of a car.
Resumo:
This thesis attempts to investigate the problems associated with such schemes and suggests a software architecture, which is aimed towards achieving a meaningful discovery. Usage of information elements as a modelling base for efficient information discovery in distributed systems is demonstrated with the aid of a novel conceptual entity called infotron. The investigations are focused on distributed systems and their associated problems. The study was directed towards identifying suitable software architecture and incorporating the same in an environment where information growth is phenomenal and a proper mechanism for carrying out information discovery becomes feasible. An empirical study undertaken with the aid of an election database of constituencies distributed geographically, provided the insights required. This is manifested in the Election Counting and Reporting Software (ECRS) System. ECRS system is a software system, which is essentially distributed in nature designed to prepare reports to district administrators about the election counting process and to generate other miscellaneous statutory reports.
Resumo:
Software metrics offer us the promise of distilling useful information from vast amounts of software in order to track development progress, to gain insights into the nature of the software, and to identify potential problems. Unfortunately, however, many software metrics exhibit highly skewed, non-Gaussian distributions. As a consequence, usual ways of interpreting these metrics --- for example, in terms of "average" values --- can be highly misleading. Many metrics, it turns out, are distributed like wealth --- with high concentrations of values in selected locations. We propose to analyze software metrics using the Gini coefficient, a higher-order statistic widely used in economics to study the distribution of wealth. Our approach allows us not only to observe changes in software systems efficiently, but also to assess project risks and monitor the development process itself. We apply the Gini coefficient to numerous metrics over a range of software projects, and we show that many metrics not only display remarkably high Gini values, but that these values are remarkably consistent as a project evolves over time.
Resumo:
Esta tesis considera dos tipos de aplicaciones del diseño óptico: óptica formadora de imagen por un lado, y óptica anidólica (nonimaging) o no formadora de imagen, por otro. Las ópticas formadoras de imagen tienen como objetivo la obtención de imágenes de puntos del objeto en el plano de la imagen. Por su parte, la óptica anidólica, surgida del desarrollo de aplicaciones de concentración e iluminación, se centra en la transferencia de energía en forma de luz de forma eficiente. En general, son preferibles los diseños ópticos que den como resultado sistemas compactos, para ambos tipos de ópticas (formadora de imagen y anidólica). En el caso de los sistemas anidólicos, una óptica compacta permite tener costes de producción reducidos. Hay dos razones: (1) una óptica compacta presenta volúmenes reducidos, lo que significa que se necesita menos material para la producción en masa; (2) una óptica compacta es pequeña y ligera, lo que ahorra costes en el transporte. Para los sistemas ópticos de formación de imagen, además de las ventajas anteriores, una óptica compacta aumenta la portabilidad de los dispositivos, que es una gran ventaja en tecnologías de visualización portátiles, tales como cascos de realidad virtual (HMD del inglés Head Mounted Display). Esta tesis se centra por tanto en nuevos enfoques de diseño de sistemas ópticos compactos para aplicaciones tanto de formación de imagen, como anidólicas. Los colimadores son uno de los diseños clásicos dentro la óptica anidólica, y se pueden utilizar en aplicaciones fotovoltaicas y de iluminación. Hay varios enfoques a la hora de diseñar estos colimadores. Los diseños convencionales tienen una relación de aspecto mayor que 0.5. Con el fin de reducir la altura del colimador manteniendo el área de iluminación, esta tesis presenta un diseño de un colimador multicanal. En óptica formadora de imagen, las superficies asféricas y las superficies sin simetría de revolución (o freeform) son de gran utilidad de cara al control de las aberraciones de la imagen y para reducir el número y tamaño de los elementos ópticos. Debido al rápido desarrollo de sistemas de computación digital, los trazados de rayos se pueden realizar de forma rápida y sencilla para evaluar el rendimiento del sistema óptico analizado. Esto ha llevado a los diseños ópticos modernos a ser generados mediante el uso de diferentes técnicas de optimización multi-paramétricas. Estas técnicas requieren un buen diseño inicial como punto de partida para el diseño final, que será obtenido tras un proceso de optimización. Este proceso precisa un método de diseño directo para superficies asféricas y freeform que den como resultado un diseño cercano al óptimo. Un método de diseño basado en ecuaciones diferenciales se presenta en esta tesis para obtener un diseño óptico formado por una superficie freeform y dos superficies asféricas. Esta tesis consta de cinco capítulos. En Capítulo 1, se presentan los conceptos básicos de la óptica formadora de imagen y de la óptica anidólica, y se introducen las técnicas clásicas del diseño de las mismas. El Capítulo 2 describe el diseño de un colimador ultra-compacto. La relación de aspecto ultra-baja de este colimador se logra mediante el uso de una estructura multicanal. Se presentará su procedimiento de diseño, así como un prototipo fabricado y la caracterización del mismo. El Capítulo 3 describe los conceptos principales de la optimización de los sistemas ópticos: función de mérito y método de mínimos cuadrados amortiguados. La importancia de un buen punto de partida se demuestra mediante la presentación de un mismo ejemplo visto a través de diferentes enfoques de diseño. El método de las ecuaciones diferenciales se presenta como una herramienta ideal para obtener un buen punto de partida para la solución final. Además, diferentes técnicas de interpolación y representación de superficies asféricas y freeform se presentan para el procedimiento de optimización. El Capítulo 4 describe la aplicación del método de las ecuaciones diferenciales para un diseño de un sistema óptico de una sola superficie freeform. Algunos conceptos básicos de geometría diferencial son presentados para una mejor comprensión de la derivación de las ecuaciones diferenciales parciales. También se presenta un procedimiento de solución numérica. La condición inicial está elegida como un grado de libertad adicional para controlar la superficie donde se forma la imagen. Basado en este enfoque, un diseño anastigmático se puede obtener fácilmente y se utiliza como punto de partida para un ejemplo de diseño de un HMD con una única superficie reflectante. Después de la optimización, dicho diseño muestra mejor rendimiento. El Capítulo 5 describe el método de las ecuaciones diferenciales ampliado para diseños de dos superficies asféricas. Para diseños ópticos de una superficie, ni la superficie de imagen ni la correspondencia entre puntos del objeto y la imagen pueden ser prescritas. Con esta superficie adicional, la superficie de la imagen se puede prescribir. Esto conduce a un conjunto de tres ecuaciones diferenciales ordinarias implícitas. La solución numérica se puede obtener a través de cualquier software de cálculo numérico. Dicho procedimiento también se explica en este capítulo. Este método de diseño da como resultado una lente anastigmática, que se comparará con una lente aplanática. El diseño anastigmático converge mucho más rápido en la optimización y la solución final muestra un mejor rendimiento. ABSTRACT We will consider optical design from two points of view: imaging optics and nonimaging optics. Imaging optics focuses on the imaging of the points of the object. Nonimaging optics arose from the development of concentrators and illuminators, focuses on the transfer of light energy, and has wide applications in illumination and concentration photovoltaics. In general, compact optical systems are necessary for both imaging and nonimaging designs. For nonimaging optical systems, compact optics use to be important for reducing cost. The reasons are twofold: (1) compact optics is small in volume, which means less material is needed for mass-production; (2) compact optics is small in size and light in weight, which saves cost in transportation. For imaging optical systems, in addition to the above advantages, compact optics increases portability of devices as well, which contributes a lot to wearable display technologies such as Head Mounted Displays (HMD). This thesis presents novel design approaches of compact optical systems for both imaging and nonimaging applications. Collimator is a typical application of nonimaging optics in illumination, and can be used in concentration photovoltaics as well due to the reciprocity of light. There are several approaches for collimator designs. In general, all of these approaches have an aperture diameter to collimator height not greater than 2. In order to reduce the height of the collimator while maintaining the illumination area, a multichannel design is presented in this thesis. In imaging optics, aspheric and freeform surfaces are useful in controlling image aberrations and reducing the number and size of optical elements. Due to the rapid development of digital computing systems, ray tracing can be easily performed to evaluate the performance of optical system. This has led to the modern optical designs created by using different multi-parametric optimization techniques. These techniques require a good initial design to be a starting point so that the final design after optimization procedure can reach the optimum solution. This requires a direct design method for aspheric and freeform surface close to the optimum. A differential equation based design method is presented in this thesis to obtain single freeform and double aspheric surfaces. The thesis comprises of five chapters. In Chapter 1, basic concepts of imaging and nonimaging optics are presented and typical design techniques are introduced. Readers can obtain an understanding for the following chapters. Chapter 2 describes the design of ultra-compact collimator. The ultra-low aspect ratio of this collimator is achieved by using a multichannel structure. Its design procedure is presented together with a prototype and its evaluation. The ultra-compactness of the device has been approved. Chapter 3 describes the main concepts of optimizing optical systems: merit function and Damped Least-Squares method. The importance of a good starting point is demonstrated by presenting an example through different design approaches. The differential equation method is introduced as an ideal tool to obtain a good starting point for the final solution. Additionally, different interpolation and representation techniques for aspheric and freeform surface are presented for optimization procedure. Chapter 4 describes the application of differential equation method in the design of single freeform surface optical system. Basic concepts of differential geometry are presented for understanding the derivation of partial differential equations. A numerical solution procedure is also presented. The initial condition is chosen as an additional freedom to control the image surface. Based on this approach, anastigmatic designs can be readily obtained and is used as starting point for a single reflective surface HMD design example. After optimization, the evaluation shows better MTF. Chapter 5 describes the differential equation method extended to double aspheric surface designs. For single optical surface designs, neither image surface nor the mapping from object to image can be prescribed. With one more surface added, the image surface can be prescribed. This leads to a set of three implicit ordinary differential equations. Numerical solution can be obtained by MATLAB and its procedure is also explained. An anastigmatic lens is derived from this design method and compared with an aplanatic lens. The anastigmatic design converges much faster in optimization and the final solution shows better performance.
Resumo:
It is consider the new global models for society of neuronet type. The hierarchical structure of society and mentality of individual are considered. The way for incorporating in model anticipatory (prognostic) ability of individual is considered. Some implementations of approach for real task and further research problems are described. Multivaluedness of models and solutions is discussed. Sensory-motor systems analogy also is discussed. New problems for theory and applications of neural networks are described.
Resumo:
A manutenção e evolução de sistemas de software tornou-se uma tarefa bastante crítica ao longo dos últimos anos devido à diversidade e alta demanda de funcionalidades, dispositivos e usuários. Entender e analisar como novas mudanças impactam os atributos de qualidade da arquitetura de tais sistemas é um pré-requisito essencial para evitar a deterioração de sua qualidade durante sua evolução. Esta tese propõe uma abordagem automatizada para a análise de variação do atributo de qualidade de desempenho em termos de tempo de execução (tempo de resposta). Ela é implementada por um framework que adota técnicas de análise dinâmica e mineração de repositório de software para fornecer uma forma automatizada de revelar fontes potenciais – commits e issues – de variação de desempenho em cenários durante a evolução de sistemas de software. A abordagem define quatro fases: (i) preparação – escolher os cenários e preparar os releases alvos; (ii) análise dinâmica – determinar o desempenho de cenários e métodos calculando seus tempos de execução; (iii) análise de variação – processar e comparar os resultados da análise dinâmica para releases diferentes; e (iv) mineração de repositório – identificar issues e commits associados com a variação de desempenho detectada. Estudos empíricos foram realizados para avaliar a abordagem de diferentes perspectivas. Um estudo exploratório analisou a viabilidade de se aplicar a abordagem em sistemas de diferentes domínios para identificar automaticamente elementos de código fonte com variação de desempenho e as mudanças que afetaram tais elementos durante uma evolução. Esse estudo analisou três sistemas: (i) SIGAA – um sistema web para gerência acadêmica; (ii) ArgoUML – uma ferramenta de modelagem UML; e (iii) Netty – um framework para aplicações de rede. Outro estudo realizou uma análise evolucionária ao aplicar a abordagem em múltiplos releases do Netty, e dos frameworks web Wicket e Jetty. Nesse estudo foram analisados 21 releases (sete de cada sistema), totalizando 57 cenários. Em resumo, foram encontrados 14 cenários com variação significante de desempenho para Netty, 13 para Wicket e 9 para Jetty. Adicionalmente, foi obtido feedback de oito desenvolvedores desses sistemas através de um formulário online. Finalmente, no último estudo, um modelo de regressão para desempenho foi desenvolvido visando indicar propriedades de commits que são mais prováveis a causar degradação de desempenho. No geral, 997 commits foram minerados, sendo 103 recuperados de elementos de código fonte degradados e 19 de otimizados, enquanto 875 não tiveram impacto no tempo de execução. O número de dias antes de disponibilizar o release e o dia da semana se mostraram como as variáveis mais relevantes dos commits que degradam desempenho no nosso modelo. A área de característica de operação do receptor (ROC – Receiver Operating Characteristic) do modelo de regressão é 60%, o que significa que usar o modelo para decidir se um commit causará degradação ou não é 10% melhor do que uma decisão aleatória.
Resumo:
A manutenção e evolução de sistemas de software tornou-se uma tarefa bastante crítica ao longo dos últimos anos devido à diversidade e alta demanda de funcionalidades, dispositivos e usuários. Entender e analisar como novas mudanças impactam os atributos de qualidade da arquitetura de tais sistemas é um pré-requisito essencial para evitar a deterioração de sua qualidade durante sua evolução. Esta tese propõe uma abordagem automatizada para a análise de variação do atributo de qualidade de desempenho em termos de tempo de execução (tempo de resposta). Ela é implementada por um framework que adota técnicas de análise dinâmica e mineração de repositório de software para fornecer uma forma automatizada de revelar fontes potenciais – commits e issues – de variação de desempenho em cenários durante a evolução de sistemas de software. A abordagem define quatro fases: (i) preparação – escolher os cenários e preparar os releases alvos; (ii) análise dinâmica – determinar o desempenho de cenários e métodos calculando seus tempos de execução; (iii) análise de variação – processar e comparar os resultados da análise dinâmica para releases diferentes; e (iv) mineração de repositório – identificar issues e commits associados com a variação de desempenho detectada. Estudos empíricos foram realizados para avaliar a abordagem de diferentes perspectivas. Um estudo exploratório analisou a viabilidade de se aplicar a abordagem em sistemas de diferentes domínios para identificar automaticamente elementos de código fonte com variação de desempenho e as mudanças que afetaram tais elementos durante uma evolução. Esse estudo analisou três sistemas: (i) SIGAA – um sistema web para gerência acadêmica; (ii) ArgoUML – uma ferramenta de modelagem UML; e (iii) Netty – um framework para aplicações de rede. Outro estudo realizou uma análise evolucionária ao aplicar a abordagem em múltiplos releases do Netty, e dos frameworks web Wicket e Jetty. Nesse estudo foram analisados 21 releases (sete de cada sistema), totalizando 57 cenários. Em resumo, foram encontrados 14 cenários com variação significante de desempenho para Netty, 13 para Wicket e 9 para Jetty. Adicionalmente, foi obtido feedback de oito desenvolvedores desses sistemas através de um formulário online. Finalmente, no último estudo, um modelo de regressão para desempenho foi desenvolvido visando indicar propriedades de commits que são mais prováveis a causar degradação de desempenho. No geral, 997 commits foram minerados, sendo 103 recuperados de elementos de código fonte degradados e 19 de otimizados, enquanto 875 não tiveram impacto no tempo de execução. O número de dias antes de disponibilizar o release e o dia da semana se mostraram como as variáveis mais relevantes dos commits que degradam desempenho no nosso modelo. A área de característica de operação do receptor (ROC – Receiver Operating Characteristic) do modelo de regressão é 60%, o que significa que usar o modelo para decidir se um commit causará degradação ou não é 10% melhor do que uma decisão aleatória.
Resumo:
In this paper various techniques in relation to large-scale systems are presented. At first, explanation of large-scale systems and differences from traditional systems are given. Next, possible specifications and requirements on hardware and software are listed. Finally, examples of large-scale systems are presented.
Resumo:
The high density of slope failures in western Norway is due to the steep relief and to the concentration of various structures that followed protracted ductile and brittle tectonics. On the 72 investigated rock slope instabilities, 13 were developed in soft weathered mafic and phyllitic allochthons. Only the intrinsic weakness of such rocks increases the susceptibility to gravitational deformation. In contrast, the gravitational structures in the hard gneisses reactivate prominent ductile or/and brittle fabrics. At 30 rockslides along cataclinal slopes, weak mafic layers of foliation are reactivated as basal planes. Slope-parallel steep foliation forms back-cracks of unstable columns. Folds are specifically present in the Storfjord area, together with a clustering of potential slope failures. Folding increases the probability of having favourably orientated planes with respect to the gravitational forces and the slope. High water pressure is believed to seasonally build up along the shallow-dipping Caledonian detachments and may contribute to destabilization of the rock slope upwards. Regional cataclastic faults localized the gravitational structures at 45 sites. The volume of the slope instabilities tends to increase with the amount of reactivated prominent structures and the spacing of the latter controls the size of instabilities.
Resumo:
The goal of this thesis is to make a case study of test automation’s profitability in the development of embedded software in a real industrial setting. The cost-benefit analysis is done by considering the costs and benefits test automation causes to software development, before the software is released to customers. The potential benefits of test automation regarding software quality after customer release were not estimated. Test automation is a significant investment which often requires dedicated resources. When done accordingly, the investment in test automation can produce major cost savings by reducing the need for manual testing effort, especially if the software is developed with an agile development framework. It can reduce the cost of avoidable rework of software development, as test automation enables the detection of construction time defects in the earliest possible moment. Test automation also has many pitfalls such as test maintainability and testability of the software, and if those areas are neglected, the investment in test automation may become worthless or it may even produce negative results. The results of this thesis suggest that test automation is very profitable at the company under study.
Resumo:
Nowadays, computer-based systems tend to become more complex and control increasingly critical functions affecting different areas of human activities. Failures of such systems might result in loss of human lives as well as significant damage to the environment. Therefore, their safety needs to be ensured. However, the development of safety-critical systems is not a trivial exercise. Hence, to preclude design faults and guarantee the desired behaviour, different industrial standards prescribe the use of rigorous techniques for development and verification of such systems. The more critical the system is, the more rigorous approach should be undertaken. To ensure safety of a critical computer-based system, satisfaction of the safety requirements imposed on this system should be demonstrated. This task involves a number of activities. In particular, a set of the safety requirements is usually derived by conducting various safety analysis techniques. Strong assurance that the system satisfies the safety requirements can be provided by formal methods, i.e., mathematically-based techniques. At the same time, the evidence that the system under consideration meets the imposed safety requirements might be demonstrated by constructing safety cases. However, the overall safety assurance process of critical computerbased systems remains insufficiently defined due to the following reasons. Firstly, there are semantic differences between safety requirements and formal models. Informally represented safety requirements should be translated into the underlying formal language to enable further veri cation. Secondly, the development of formal models of complex systems can be labour-intensive and time consuming. Thirdly, there are only a few well-defined methods for integration of formal verification results into safety cases. This thesis proposes an integrated approach to the rigorous development and verification of safety-critical systems that (1) facilitates elicitation of safety requirements and their incorporation into formal models, (2) simplifies formal modelling and verification by proposing specification and refinement patterns, and (3) assists in the construction of safety cases from the artefacts generated by formal reasoning. Our chosen formal framework is Event-B. It allows us to tackle the complexity of safety-critical systems as well as to structure safety requirements by applying abstraction and stepwise refinement. The Rodin platform, a tool supporting Event-B, assists in automatic model transformations and proof-based verification of the desired system properties. The proposed approach has been validated by several case studies from different application domains.