121 |
[en] ON THE DETECTION OF ARCHITECTURALLY RELEVANT CODE ANOMALIES IN SOFTWARE SYSTEMS / [pt] DETECÇÃO DE ANOMALIAS DE CÓDIGO ARQUITETURALMENTE RELEVANTES EM SISTEMAS DE SOFTWAREISELA MACIA BERTRAN 29 January 2015 (has links)
[pt] Anomalias de código podem sinalizar a degradação da arquitetura de software. No entanto, a identificação de anomalias de código arquiteturalmente relevantes (ou seja, aquelas que implicam em deficiências arquiteturais) é particularmente difícil devido: (i) a falta de compreensão sobre a relação existente entre anomalias de código e degradação arquitetural, (ii) ao fato do processo de detecção de anomalias ter como foco somente o código fonte, sem considerar como ele se relaciona com sua arquitetura, e (iii) a falta de conhecimento sobre a confiabilidade das técnicas de detecção em revelar anomalias de código que são arquiteturalmente relevantes. Esta tese apresenta técnicas para identificar anomalias de código que são arquiteturalmente relevantes. Métricas sensíveis à arquitetura e estratégias de detecção foram definidas para superar as limitações das técnicas de detecção convencionais. Estas métricas e estratégias aproveitam rastros que podem ser estabelecidos entre as visões arquiteturais e a implementação dos sistemas. A tese também documenta padrões de anomalias de código (ou seja, relações recorrentes de anomalias) que estão relacionados com problemas arquiteturais. Uma ferramenta, chamada de SCOOP, foi desenvolvida para coletar as métricas sensíveis à arquitetura, aplicar as novas estratégias de detecção, e identificar os padrões de anomalias de código. Usando esta ferramenta, a técnica proposta foi avaliada em uma série de estudos empíricos, comparando sua acurácia com técnicas convencionais de detecção durante o processo de identificação de anomalias de código que são arquiteturalmente relevantes. / [en] Code anomalies can signal software architecture degradation. However, the identification of architecturally-relevant code anomalies (i.e. code anomalies that strongly imply architectural deficiencies) is particularly challenging due to: (i) lack of understanding about the relationship between code anomalies and architectural degradation, (ii) the focus on source code anomaly detection without considering how it relates to the software architecture, and (iii) lack of knowledge about how reliable these detection techniques are when revealing architecturally-relevant code anomalies. This thesis presents techniques for identifying architecturally-relevant code anomalies. Architecture-sensitive metrics and detection strategies were defined to overcome the limitations of conventional detection strategies. These metrics and strategies leverage traces that can be established between architectural views and system implementation. The thesis also documents code anomaly patterns (i.e. recurring anomaly relationships) that are strongly related to architectural problems. A tool, called SCOOP, was developed to collect the architecture-sensitive metrics, apply the new detection strategies, and identify the documented code anomaly patterns. Using this tool, we evaluated our technique in a series of empirical studies, comparing its accuracy with that of conventional detection techniques when identifying architecturally-relevant code anomalies.
|
122 |
Método para manutenção de sistema de software utilizando técnicas arquiteturais. / Method for software system maintenance using architectural techniques.Guimarães, Júlio Henrique dos Nogueira e Oliveira 24 September 2008 (has links)
Diversos negócios hoje são suportados por sistemas de software. Acredita-se que o uso de Arquitetura de Software é fundamental para atingir alcançar as metas de negócio e qualidade. Visto que o conjunto de requisitos que levou à construção de uma determinada arquitetura pode mudar, tal arquitetura pode tornar-se inadequada. Em diversas situações é preciso conviver com os sistemas existentes, portanto é preciso alterá-los para as novas necessidades. Manutenção de sistemas usando técnicas de evolução arquiteturais tem se mostrado um eficaz caminho para alterar um sistema à nova situação. O objetivo deste trabalho é apresentar um método para manutenção de sistemas de software usando técnicas arquiteturais de forma a convergir mais rapidamente à adequação da arquitetura destes sistemas. Algumas técnicas do método incluem avaliação de arquitetura de software, levantamento de riscos, provas de conceito construtivas e destrutivas e métricas estáticas e dinâmicas de software. O método proposto foi aplicado em contextos de laboratório e da indústria, permitindo a verificação de pontos fortes e críticos para realizar seu refinamento e tais aplicações são também relatadas neste trabalho. Embora as aplicações do método proposto tenham sido diferentes, tanto no objetivo principal quanto no desenrolar das atividades, seus resultados foram considerados bastante satisfatórios, tanto no contexto de ensino quanto no contexto de indústria. / Several business today are supported by software systems. It is believed that the use of software architecture is fundamental to achieve the business goals and quality. Since the set of requirements that led to the construction of a given architecture may change, such an architecture may become inadequate. In many situations we must live with existing systems, so we must change them to meet the new needs. Systems maintenance using architectural evolution techniques has proven to be an effective path to take a system to the new situation. This works goal is to provide a method for maintenance of software systems using architectural techniques in order to converge more rapidly to match the architecture of these systems. Some techniques used in the method include software architecture evaluation, risks survey, constructive and destructive proofs of concept, static and dynamic software metrics. The proposed method was applied in contexts of laboratory and industry, allowing the verification of strengths and critical points to guide its refinement and such applications are also reported in this work. Although the applications of the proposed method has been different in both the main goal and the conduct of activities, their results were considered very satisfactory, both in the education and the industry context.
|
123 |
Arquitetura de aplicativos móveis com fluxo seguro de informação. / Architecture of mobile applications with information flow control.Paiva, Oscar Zibordi de 17 May 2016 (has links)
A adoção de lojas de aplicativos e Open APIs por um número crescente de empresas, muitas nem mesmo atuantes no ramo de tecnologia, revela o interesse das mesmas em exteriorizar a concepção e desenvolvimento de software corporativo. Com isso, as empresas almejam multiplicar as funcionalidades disponíveis a seus clientes, utilizando uma fração do custo e do tempo que seriam tradicionalmente gastos para fazê-lo. Ao mesmo tempo, o acesso a dados e sistemas corporativos por softwares de desenvolvedores potencialmente desconhecidos suscita preocupações de segurança, tornando-se imperativo garantir a adequação desses softwares às políticas de segurança institucionais. Entretanto, carece-se de meios automáticos capazes de garantir a mencionada adequação nas plataformas móveis, seja nos seus ambientes de execução ou em seus kits de desenvolvimento de software. Este trabalho, utilizando de ideias recentes da área de Controle de Fluxo de Informação, propõe a arquitetura de um ambiente de execução para aplicativos móveis que garante por construção a adequação dos mesmos a determinadas políticas de confidencialidade e integridade de dados, mesmo na presença de código malicioso. A praticidade de tal arquitetura é validada através da implementação de um aplicativo exemplo. Tal implementação ilustra o funcionamento dos mecanismos de segurança propostos e a compatibilidade dos mesmos a um conjunto de funcionalidades adequado ao cenário de manipulação de dados corporativos. / The adoption of application stores and Open APIs by a growing number of companies, many of them not even related to the technology business, reveals their interest in externalizing the conception and development of corporate software. By doing so, these companies expect to multiply the number of functionalities available to their customers, spending a fraction of the traditionally required time and cost. On the other hand, access to corporate data and services by software developed by potentially unknown parties raises security concerns, making it imperative to ensure the adequacy of the mentioned software to the institutional security policies. Nevertheless, there is a lack of automatic tools capable of guaranteeing the mentioned adequacy in mobile platforms, either in their runtime environments or in their software development kits. This work, using recent ideas from the Information Flow Control area, proposes the architecture of a run-time environment for mobile applications that guarantees by construction their adequacy to some confidentiality and integrity policies, even in the presence of malicious code. The practicality of this architecture is validated by the implementation of an example application. This implementation illustrates the working of the proposed security mechanisms and their compatibility to a set of functionalities relevant to the scenario of corporate data manipulation.
|
124 |
Evolução de software baseada em avaliação de arquiteturas. / Software evolution based on architecture evaluation.Pontes, Danielle Pompeu Noronha 16 March 2012 (has links)
Este trabalho discorre sobre o estudo da utilização do método de avaliação ATAM como referência para um roteiro para evolução arquitetural. O estudo apresentado está dividido em duas partes: a elaboração de um roteiro para evolução de software e a aplicação do roteiro em um ambiente real de um sistema para automação de linhas aéreas. O objetivo é avaliar o uso do método de avaliação de arquitetura para direcionar a evolução do software. As diretrizes geradas neste trabalho orientam as ações a serem tomadas com base em evidências obtidas pela avaliação, possibilitando ao software que exiba os atributos de qualidade desejados. / This paper discusses the study of the use of ATAM evaluation method as a reference to a roadmap for architectural evolution. The present study is divided into two parts: the preparation of a roadmap for software development and implementation of the roadmap in a real environment of a system for automation of airlines. The goal is to evaluate the use of architecture evaluation method to direct the evolution of software. The guidelines generated in this work have guided the actions to be taken based on evidence obtained by the evaluation, enabling the software that displays the desired quality attributes.
|
125 |
A multi-agent software system for real-time optimization of chemical plants. / Sistema multi-agentes de software para a otimização em tempo real de plantas químicas.Estrada Martínez, Elyser 09 March 2018 (has links)
Real-Time Optimization (RTO) is a family of techniques that pursue to improve the performance of chemical processes. As general scheme, the method reevaluates the process conditions in a frequent basis and tries to adjust some selected variables, taking into account the plant state, actual operational constraints and optimization objectives. Several RTO approaches have born from the academy research and industrial practices, at the same time that more applications have been implemented in real facilities. Between the main motivations to apply RTO are the dynamic of markets, the seek for quality in the process results and environmental sustainability. That is why the interest on deeply understand the phases and steps involved in an RTO application has increased in recent years. Nevertheless, the fact that most of the existing RTO systems have been developed by commercial organizations makes it difficult to meet that understanding. This work studies the nature of RTO systems from a software point of view. Software requirements for a generic system are identied. Based on that, a software architecture is proposed that could be adapted for specfic cases. Benefits of the designed architecture are listed. At the same time, the work proposes a new approach to implement that architecture as a Multi-Agent System (MAS). Two RTO system prototypes were developed then, one for a well-know academic case study and the other oriented to be used in a real unit. The benefits of the MAS approach and the architecture, for researching on the RTO field and implementation on real plants, are analyzed in the text. A sub-product of the development, a software framework covering main concepts from the RTO ontology, is proposed as well. As the framework was designed to be generic, it can be used in new applications development and extended to very specific scenarios. / Otimização em Tempo Real (OTR) é uma família de técnicas que buscam melhorar o desempenho dos processos químicos. Como esquema geral, o método reavalia frequentemente as condições do processo e tenta ajustar algumas variáveis selecionadas, levando em considera ção o estado da planta, restrições operacionais e os objetivos da otimização. Várias abordagens para OTR t^em surgido da pesquisa acadêmica e das práticas industriais, ao mesmo tempo em que mais aplicações têm sido implementadas em plantas reais. As principais motivações para aplicar OTR são: a dinâmica dos mercados, a busca de qualidade nos resultados dos processos e a sustentabilidade ambiental. É por isso que o interesse em entender as fases e etapas envolvidas em uma aplicação OTR cresceu nos últimos anos. No entanto, o fato de que a maioria dos sistemas OTR em operação foram desenvolvidos por organizações comerciais dificulta o caminho para chegar nesse entendimento. Este trabalho analisa a natureza dos sistemas OTR desde o ponto de vista do software. Os requerimentos para um sistema genérico são levantados. Baseado nisso, é proposta uma arquitetura de software que pode ser adaptada para casos específicos. Os benefícios da arquitetura projetada foram listados. Ao mesmo tempo, o trabalho propõe uma nova abordagem para implementar essa arquitetura: Sistema Multi-Agentes (SMA). Dois protótipos de sistema OTR foram desenvolvidos. O primeiro aplicado num estudo de caso bem conhecido na literatura acadêmica. O segundo voltado para ser usado em uma unidade industrial. Os benefícios da abordagem SMA e da arquitetura, tanto na pesquisa relacionada com OTR, quanto na implementação em plantas reais, são analisados no texto. Um arcabouço de software que abrange os principais conceitos da ontologia OTR é proposto como resultado derivado do desenvolvimento. O arcabouço foi projetado para ser genérico, possibilitando seu uso no desenvolvimento de novas aplicações OTR e sua extensão a cenários muito específicos.
|
126 |
Uso de conceitos arquiteturais para aumento da expressividade na modelagem de workflows cientificos / Use of architectural concepts for improved expressiveness in the modeling of scientific workflowsMedeiros, Vivian 10 May 2013 (has links)
Made available in DSpace on 2015-03-04T18:57:51Z (GMT). No. of bitstreams: 1
thesis_vivian_final.pdf: 2459870 bytes, checksum: 86a3974bde419685b151ae0d526f328d (MD5)
Previous issue date: 2013-05-10 / In-silico experiments frequently take the form of workflows since they involve the execution of sets of interdependent tasks.The automation of these workflows through Scientific Workflow Management Systems (SWMSes) has been the subject of several papers in the area of e-Science.Traditionally, SWMSes provide fundamental automation mechanisms such as task dispatching and data movement, but recent studies have also shown interest in supporting non-functional attributes such as reliability and traceability in these systems.Nevertheless, the configuration of these attributes in current practice is limited in several aspects, particularly with respect to the interactions between tasks.Such characteristic leads to limited expressiveness in the workflow modeling languages provided by these systems. Aiming at improving such expressiveness, this work presents a proposal called Open Scientific Connectors (OSC), which adopts architectural concepts for the representation of interactions between tasks as first-class modeling elements. This approach provides better composition and reuse in workflow modeling, particularly in the configuration of mechanisms that deal with non-functional attributes. The proposal is evaluated through proofs of concept , in which the expressiveness, the reusability, the compositionality and the simplicity of OSC is compared with related work. A prototype of SWMS based on OSC also illustrates the feasibility of workflow models described in this language. / Experimentos in-silico não raramente tomam a forma de workflows por envolverem a execução de conjuntos de tarefas interdependentes. A automação desses workflows através de Sistemas Gerenciadores de Workflows Científicos (SGWfCs) tem sido alvo de vários trabalhos na área de e-ciência. Geralmente, os SGWfCs oferecem mecanismos fundamentais de automação como despacho de tarefas e movimentação de dados, mas trabalhos recentes têm demonstrado também o interesse no suporte a atributos não-funcionais, como confiabilidade e rastreabilidade, nesses sistemas.
A configuração desses atributos nos SGWfCs atuais é, contudo, limitada em vários aspectos, em particular no que se refere às interações entre tarefas. Essa limitação confere menor expressividade às linguagens de modelagem de workflows providas por esses SGWfCs. Objetivando o aprimoramento dessa expressividade, este trabalho apresenta a proposta Open Scientific Connectors (OSC), que usa conceitos arquiteturais para representar interações entre tarefas como elementos de primeira classe. Esta abordagem propicia uma maior capacidade de composição e de reuso na modelagem de workflows, particularmente nas configurações dos mecanismos que lidam com atributos não-funcionais. A proposta é avaliada por provas de conceito, onde aspectos como a expressividade, a capacidade de composição e de reuso e a simplicidade de OSC são comparados a trabalhos relacionados. Um protótipo de um SGWfC ilustra ainda a exequibilidade dos modelos descritos em OSC.
|
127 |
Um método dirigido por responsabilidades para obtenção antecipada de pontos de estabilidade e de flexibilidade no desenvolvimento de frameworks de domínio.Simone Nasser Matos 01 July 2008 (has links)
Várias abordagens propostas para o desenvolvimento de frameworks de domínio determinam os pontos de estabilidade e de flexibilidade a partir dos diagramas de classes ou do nome dos casos de uso ou de classes das aplicações. A dificuldade em se analisar os diagramas é que o desenvolvedor deverá compreender o funcionamento dos métodos das classes para conseguir identificar os pontos que são de estabilidade ou flexibilidade. Como resultado, há uma demora até que o desenvolvedor possa classificá-los. Por sua vez, as abordagens baseadas na análise de nomes, seja de caso de uso ou de classes, oferecem um processo independente para classificação dos pontos. Ou seja, os casos de uso já classificados não são utilizados como referência durante a determinação dos pontos em nível de classe, tornando o processo mais demorado. Tanto na análise de diagramas de classes quanto de nomes, o processo de classificação é feito de forma manual, dificultando a determinação de quais artefatos de software das aplicações serão reusadas com ou sem modificação durante a modelagem do framework. Neste trabalho é apresentado um método dirigido por responsabilidades que visa a identificar os pontos de estabilidade e de flexibilidade em fase inicial do processo de desenvolvimento de framework de domínio. Esse método identifica e classifica os pontos a partir do conjunto de responsabilidades dos casos de uso de cada aplicação. A classificação inicial para os casos de uso é utilizada como entrada do processo de classificação em nível de classe. Desta forma, o processo oferecido é dependente da classificação dos casos de uso e não independente como em outras abordagens. O método foi formalizado usando a teoria de conjuntos e implementado em um modelo relacional, facilitando a identificação dos pontos por um processo apoiado por computador. A aplicação do método foi ilustrada na elaboração do framework para os seguintes domínios: jogos de corrida de carros, jogos para celulares e criticidade.
|
128 |
Adaptability, reusability and variability in software systems for space on-board computing.Walter Abrahão dos Santos 20 March 2008 (has links)
Software industry is currently moving towards automation of business processes and applications increasing architectural complexity and the dynamics of requirements change. This work proposes a novel software development process, called SPAREv that includes all todays critical innovations on four areas: Model-Driven Development (MDD); Systematic Reuse; Development by assembly; and Process frameworks. SPAREv employs for: (1) Safe architectural reuse - intent specifications and a customized domain-specific pattern-based software framework; (2) Project variability - metaprogramming and Software Product- Line Engineering (SPLE); and (3) Adaptability - round-tripping and software automation by adopting MDD. A case study on satellite on-board software considers an architectural pattern or framework where project specificities are added as plug-ins, e.g. different control algorithms. Software dependability in this domain is discussed and a novel concept of Pattern-Based Software Fault Tree Analysis (PB-SFTA) presented. Finally, impact is inferred via reuse metrics, e.g. Return on Investment (ROI), and Cost/Benefit analysis. Trends and perspectives are presented highlighting assets and knowledge management, and a Reuse Maturity Model. In order of relevance, the author considers that the three major contributions of this work are: (1) The SPAREv process; (2) The PB-SFTA approach; and (3) The application of metaprogramming into the space software domain.
|
129 |
A new architectural approach for interoperability of real-time system components.Emilia de Menezes Colonese 12 March 2010 (has links)
Interoperability is a key property of distributed applications, which is hard to achieve due to the large number of interoperating components and semantic heterogeneity. Distributed Real-Time Systems (RTS) have strict requirements of performance. The interoperability of Distributed RTS components challenges the computer engineering community to fulfill these requirements. These systems are increasingly based on Commercial-Off-The-Shelves (COTS) middlewares for data exchange, which design is implemented to solve the interoperability problem for several context-domain systems and support many distinct computational requirements. As a result, the complexity of these middleware solutions deteriorates the overall system performance, which is unacceptable according to RTS requirements. This work brings a new approach for RTS interoperability, since it is focused on the basic middlewares functionality (distributed computing) for the RTS domain-context. The solution provides a mechanism, named Interoperability Mechanism, designed to substitute the interfaces translations used in actual middleware systems. Hence, the proposed solution includes an open, reusable and standardized Component-based Architectural Reference-Model including the interoperability aspect, named IRMA that delivers specific domain-context interoperability solution eliminating complex middlewares solutions. Therefore, the new approach facilitates the development of an open, reusable, standardized, and interoperable RTS by implementing the IRMA framework. The contribution of the proposed approach is an effective communication process among RTS components that reduces architectural layers, and the development effort due to the formalized Reference-Model design. The IRMA framework is applied in a RTS prototype to test and validate the new approach, providing indications of improvements.
|
130 |
DECOLA : um modelo de decisões colaborativas para sequenciamentos de pousos e decolagens utilizando sistemas multiagentesGiovani Volnei Meinerz 21 December 2011 (has links)
A infraestrutura do sistema de transporte aéreo brasileiro e mundial vem sofrendo nos últimos anos pressão contínua e crescente, devido às grandes solicitações a que é submetida. Este cenário pode levar setores de ATC em Áreas de Controle Terminal, TMA, a condições de congestionamento e saturação. Diante da limitada capacidade de expansão dos recursos de infraestrutura, as alternativas de solução encontram-se voltadas para a necessidade de melhoria das atividades de Gerenciamento de Fluxo de Tráfego Aéreo, ATFM, envolvendo a fase de planejamento pré-tática e a forma de ATM pró-ativa. Neste sentido, o atual desafio é conceber soluções que ofereçam suportes mais apropriados ao processo de tomada de decisão, conferindo maior segurança e racionalidade às operações de tráfego aéreo. Este trabalho de pesquisa apresenta um modelo de decisões colaborativas para sequenciamentos de pousos e decolagens, utilizando a técnica de SMA, em conjunto com os conceitos da arquitetura de Crenças, Desejos e Intenções, BDI. A análise e avaliação dos resultados obtidos mostra que a aplicação destas abordagens contribui para a melhoria da eficiência do sequenciamento do fluxo de aeronaves em uma TMA, ajustando a demanda à capacidade, evitando desbalanceamentos.
|
Page generated in 0.0209 seconds