• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 30
  • 14
  • 2
  • 1
  • 1
  • Tagged with
  • 52
  • 52
  • 29
  • 19
  • 15
  • 11
  • 11
  • 9
  • 8
  • 8
  • 8
  • 7
  • 7
  • 7
  • 7
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
41

[en] CONTEXT-SENSITIVE EXCEPTION HANDLING / [pt] TRATAMENTO DE EXCEÇÕES SENSÍVEL AO CONTEXTO

KARLA NAZARE FERREIRA DAMASCENO 23 October 2006 (has links)
[pt] Tratamento de erros em aplicações móveis sensíveis ao contexto não é uma tarefa trivial devido às características peculiares destes sistemas, como mobilidade, comunicação assíncrona e aumento de imprevisibilidade. Mecanismos convencionais de tratamento de exceções não podem ser utilizados por vários motivos. Primeiro, a propagação de erros deve considerar as mudanças contextuais que ocorrem constantemente nestes sistemas. Segundo, as atividades de recuperação de erros e a estratégia de tratamento de exceções também precisam freqüentemente ser selecionadas de acordo com as informações de contexto. Terceiro, a própria caracterização de uma exceção pode depender do contexto dos dispositivos envolvidos. Embora vários middlewares orientados a contexto ofereçam suporte ao desenvolvimento de aplicações móveis, estes sistemas raramente fornecem suporte adequado ao tratamento de exceções. Este trabalho realiza uma análise das soluções existentes para tratamento de exceções, considerando os requisitos de sensibilidade ao contexto. Além disso, são propostos um modelo para tratamento de exceções sensível ao contexto e um mecanismo implementado a partir de MoCA (Mobile Collaboration Architecture). MoCA é um middleware publish-subscribe que oferece suporte ao desenvolvimento de aplicações móveis colaborativas através da incorporação de serviços de contexto. Finalmente, este trabalho avalia o mecanismo de exceções proposto através de sua utilização em alguns protótipos de aplicações colaborativas desenvolvidas a partir de MoCA. Através do mecanismo, foram implementadas diferentes estratégias de tratamento de exceções que consideram as informações de contexto das aplicações. / [en] Context-sensitive exception handling on mobile systems is not a trivial task due to their intrinsic characteristics: mobility, asynchrony and increased unpredictability. Conventional mechanisms of exception handling can not be used for many reasons. First, error propagation needs considering the contextual changes that often occur in these systems. Second, error recovery and exception handling strategies also frequently need to be selected according to contextual information. Third, the characterization of an exception may depend on the contextual situation of involved devices. Even though there are now several context-oriented middleware systems that provide support for the development of mobile applications, they rarely provide explicit and adequate features for contextsensitive exception handling. This work presents an analysis of existing exception handling mechanisms, which to some extent consider the context-awareness requirements. Besides, it proposes a general model for context-sensitive exception handling and a supporting mechanism implemented using the MoCA (Mobile Collaboration Architecture) infrastructure. MoCA is a publish-subscribe middleware supporting the development of collaborative mobile applications by incorporating explicit services to empower software agents with contextsensitiveness. Finally, this paper reports our experience in implementing contextaware exception handling strategies in some prototype collaborative applications built with the MoCA system.
42

Teste estrutural de tratamento de exceções em programas OA: representação, critérios e avaliação / Structural test of exception handling on AO programs: representation, criteria and evaluation

Carvalho, Luciano Augusto Fernandes 06 June 2013 (has links)
O mecanismo de tratamento de exceções disponível em linguagens orientadas a objetos está sendo cada vez mais utilizado e representa cerca de 8% das linhas de código em programas escritos com linguagens de terceira geração, de acordo com algumas pesquisas. No entanto, este mecanismo está entre os menos compreendido pelos desenvolvedores e menos testado. A dificuldade de testar exceções aumenta na fase de teste de integração, porque exceções lançadas em um determinado nível e não tratadas podem subir na hierarquia de chamada. O uso de aspectos também pode introduzir novos tipos de defeitos, como por exemplo um adendo pode inserir lançamentos de exceções no programa sem que exista algum tratamento previsto para elas. Este trabalho apresenta uma proposta para testes de integração estrutural de fluxos de exceções de programas Java e AspectJ. Isto é feito propondo-se alterações na representação do fluxo de exceção no grafo de fluxo de controle integrado e propondo-se novos critérios baseados no fluxo de exceção. Além disso, essas propostas foram implementadas e geraram uma extensão da ferramenta chamada Ja-BUTi/AJ. Para avaliar a proposta deste trabalho, um estudo de caso e um experimento formal foram conduzidos. O estudo de caso teve como objetivo validar a extensão da JaBUTi/AJ desenvolvida e fazer uma avaliação inicial do custo de aplicação dos critérios propostos. O experimento formal realizou uma comparação entre as ferramentas JaBUTi/AJ e VITTAE no contexto do teste do fluxo de exceções. Ambos os estudos são apresentados e discutidos nesta dissertação / Exception handling mechanisms available in object-oriented languages have become increasingly used and account for about 8% of the lines of code in modern programs according to some empirical researches. Yet, this mechanism is among the least understood by programmers and the less tested. The difficulty of testing exceptions increases in the phase of integration testing (e.g. inter-class testing) because exceptions raised on a certain level and not handled can flow through the call hierarchy. Using aspects also cause other types of errors, e.g. an advice can insert exceptions not foreseen by the base program. This paper presents a proposal for structural integration testing of exception flows of Java and AspectJ programs. This is done by proposing changes to the classic control ow graph and by proposing new criteria based on the exception ow. Moreover, these proposals have been implemented in a tool named JaBUTi/AJ. To evaluate the proposal of this work, a case study and a formal experiment have been conducted. The case study had the objective of validating the JaBUTi/AJ extension developed and making a preliminary assessment of the cost to use the tool. The formal experiment made a comparison between the tools JaBUTi/AJ and VITTAE in the context of exception flow test. Both studies are presented and discussed in this dissertation
43

Caracterizando os fluxos excepcionais em linhas de produto de software: um estudo explorat?rio

Melo, Hugo Faria 26 July 2012 (has links)
Made available in DSpace on 2014-12-17T15:48:02Z (GMT). No. of bitstreams: 1 HugoFM_DISSERT.pdf: 1847783 bytes, checksum: 58d9312a629dabdd3fe4b15c8dc44101 (MD5) Previous issue date: 2012-07-26 / The Exception Handling (EH) is a widely used mechanism for building robust systems. In Software Product Line (SPL) context it is not different. As EH mechanisms are embedded in most of mainstream programming languages (like Java, C# and C++), we can find exception signalers and handlers spread over code assets associated to common and variable SPL features. When exception signalers and handlers are added to an SPL in an unplanned way, one of the possible consequences is the generation of faulty family instances (i.e., instances on which common or variable features signal exceptions that are mistakenly caught inside the system). In this context, some questions arise: How exceptions flow between the optional and alternative features an LPS? Aiming at providing answers to these questions, this master thesis conducted an exploratory study, based on code inspection and static analysis code, whose goal was to categorize the main ways which exceptions flow in LPSs. To support the study, we developed an static analysis tool called PLEA (Product Line Exception Analyzer) that calculates the exceptional flows of LPSs, and categorize these flows according to the features associated with handlers and signalers. Preliminary results showed that some types of exceptional flows have more potential to yield failures in exceptional behavior of SLPs / O mecanismo de tratamento de exce??es ? amplamente utilizado para a constru??o de sistemas robustos. No contexto de Linhas de Produto de Software (LPSs) n?o ? diferente. Uma vez que mecanismos de tratamento de exce??es est?o embutidos nas principais linguagens de programa??o da atualidade (como Java, C# e C++), podemos encontrar sinalizadores e tratadores de exce??es espalhados entre os artefatos de c?digo associados a caracter?sticas (do ingl?s: features) opcionais e obrigat?rias de uma LPS. Quando tratadores ou sinalizadores de exce??es s?o adicionados a uma LPS de forma n?o planejada, uma das poss?veis conseq??ncias ? a gera??o de produtos falhos (i.e., produtos em que exce??es lan?adas por features vari?veis ou obrigat?rias s?o erroneamente tratadas). Neste contexto, surge a pergunta: Quais as consequ?ncias de se usar o mecanismo de tratamento de exce??es em LPSs? Com o objetivo de responder a esta pergunta, este trabalho conduz um estudo explorat?rio, baseado em inspe??o de c?digo e an?lise est?tica de c?digo, cujo objetivo foi caracterizar as principais formas em que exce??es fluem em LPSs. Para apoiar a realiza??o deste estudo desenvolvemos a PLEA (Product Line Exception Analyzer), uma ferramenta baseada em analise est?tica de c?digo que calcula os fluxos excepcionais de uma LPS e os classifica de acordo com as features associadas aos seus tratadores e sinalizadores. Resultados preliminares mostraram que alguns tipos de fluxos excepcionais tem mais potencial para originarem falhas no comportamento excepcional das LPSs
44

Uma abordagem para a verifica??o do comportamento excepcional a partir de regras de designe e testes

Sales Junior, Ricardo Jos? 01 February 2013 (has links)
Made available in DSpace on 2014-12-17T15:48:06Z (GMT). No. of bitstreams: 1 RicardoJSJ_DISSERT.pdf: 4102063 bytes, checksum: 92b62a467283fb011a1258e8b80ca7b4 (MD5) Previous issue date: 2013-02-01 / Checking the conformity between implementation and design rules in a system is an important activity to try to ensure that no degradation occurs between architectural patterns defined for the system and what is actually implemented in the source code. Especially in the case of systems which require a high level of reliability is important to define specific design rules for exceptional behavior. Such rules describe how exceptions should flow through the system by defining what elements are responsible for catching exceptions thrown by other system elements. However, current approaches to automatically check design rules do not provide suitable mechanisms to define and verify design rules related to the exception handling policy of applications. This paper proposes a practical approach to preserve the exceptional behavior of an application or family of applications, based on the definition and runtime automatic checking of design rules for exception handling of systems developed in Java or AspectJ. To support this approach was developed, in the context of this work, a tool called VITTAE (Verification and Information Tool to Analyze Exceptions) that extends the JUnit framework and allows automating test activities to exceptional design rules. We conducted a case study with the primary objective of evaluating the effectiveness of the proposed approach on a software product line. Besides this, an experiment was conducted that aimed to realize a comparative analysis between the proposed approach and an approach based on a tool called JUnitE, which also proposes to test the exception handling code using JUnit tests. The results showed how the exception handling design rules evolve along different versions of a system and that VITTAE can aid in the detection of defects in exception handling code / Verificar a conformidade entre a implementa??o de um sistema e suas regras de design ? uma atividade importante para tentar garantir que n?o ocorra a degrada??o entre os padr?es arquiteturais definidos para o sistema e o que realmente est? implementado no c?digo-fonte. Especialmente no caso de sistemas dos quais se exige um alto n?vel de confiabilidade ? importante definir regras de design (design rules) espec?ficas para o comportamento excepcional. Tais regras descrevem como as exce??es devem fluir atrav?s do sistema, definindo quais s?o os elementos respons?veis por capturar as exce??es lan?adas por outros elementos do sistema. Entretanto, as abordagens atuais para verificar automaticamente regras de design n?o proveem mecanismos adequados para definir e verificar regras de design espec?ficas para a pol?tica de tratamento de exce??es das aplica??es. Este trabalho prop?e uma abordagem pr?tica para preservar o comportamento excepcional de uma aplica??o ou fam?lia de aplica??es, baseada na defini??o e verifica??o autom?tica em tempo de execu??o de regras de design de tratamento de exce??o para sistemas desenvolvidos em Java ou AspectJ. Para apoiar esta abordagem foi desenvolvida, no contexto deste trabalho, uma ferramenta chamada VITTAE (Verification and Information Tool to Analyze Exceptions) que estende o framework JUnit e permite automatizar atividades do teste de regras de design excepcionais. Foi realizado um estudo de caso preliminar com o objetivo de avaliar a efic?cia da abordagem proposta sobre uma linha de produto de software. Al?m deste, foi realizado um experimento cujo objetivo foi realizar uma an?lise comparativa entre a abordagem proposta e uma abordagem baseada na ferramenta JUnitE, que tamb?m prop?e testar o c?digo de tratamento de exce??es utilizando testes JUnit. Os resultados mostraram que as regras de design excepcionais evoluem ao longo de diferentes vers?es de um sistema e que a VITTAE pode auxiliar na detec??o de defeitos no c?digo de tratamento de exce??o
45

Um mecanismo de tratamento de excessões sensível ao contexo para sistemas ubíquos orientados a tarefas / A mechanism for exception handling sensitive to surrounding context for ubiquitous systems oriented tasks

Queiroz Filho, Carlos Alberto Batista de January 2012 (has links)
QUEIROZ FILHO, Carlos Alberto Batista de. Um mecanismo de tratamento de excessões sensível ao contexo para sistemas ubíquos orientados a tarefas. 2012. 95 f. : Dissertação (mestrado) - Universidade Federal do Ceará, Centro de Ciências, Departamento de Computação, Fortaleza-CE, 2012. / Submitted by guaracy araujo (guaraa3355@gmail.com) on 2016-06-08T16:21:00Z No. of bitstreams: 1 2012_dis_cabqueirozfilho.pdf: 1970524 bytes, checksum: 4c0037e9a7ae7b752cee99522d45b0b2 (MD5) / Approved for entry into archive by guaracy araujo (guaraa3355@gmail.com) on 2016-06-08T16:24:48Z (GMT) No. of bitstreams: 1 2012_dis_cabqueirozfilho.pdf: 1970524 bytes, checksum: 4c0037e9a7ae7b752cee99522d45b0b2 (MD5) / Made available in DSpace on 2016-06-08T16:24:48Z (GMT). No. of bitstreams: 1 2012_dis_cabqueirozfilho.pdf: 1970524 bytes, checksum: 4c0037e9a7ae7b752cee99522d45b0b2 (MD5) Previous issue date: 2012 / The main purpose of ubiquitous computing is to provide information and features needed to help people in their daily tasks, proactively and transparently, at any time and anywhere. The development of ubiquitous systems involves a set of challenging requirements, including: context awareness, which allows systems to adapt their behavior to respond appropriately in the face of environmental changes, and dependability, which is related to the ability of systems provide a service which offer strong indications that are reliable. Regarding the attributes of dependability, neglecting them can bring grievances from small to severe risks to the physical integrity of the users. Exception handling is a major fault tolerance techniques used in software development to achieve greater levels of dependability. This technique, even though it is widely used in traditional software development, it is still not widely used in the development of ubiquitous systems. This is due to challenging requirements and characteristics of this type of system, among which we highlight the sensitivity to the context and distribution, which can make the necessary possibilities of handling exceptions in a system as a whole is greater than the sum of possibilities for exception handling of the parts that compose it. Therefore, this dissertation aims to propose a mechanism for exception handling context-sensitive ubiquitous systems for task-oriented. The proposed mechanism is available through a framework called foreheads, which allows the reuse mechanism. By using this framework, system functionality can be implemented on an abstraction task, which responds appropriately to changes in context, detecting and treating exceptional situations. To validate the proposed mechanism was implemented a prototype system of parking control ubiquitous as a proof of concept, which focuses on demonstration of how the tasks are implemented that make up this system and how they are defined exceptions contextual and their handlers. / O principal propósito da Computação Ubíqua é o fornecimento de informações e funcionalidades necessárias para ajudar as pessoas em suas tarefas cotidianas, de maneira proativa e transparente, a qualquer instante e em qualquer lugar. O desenvolvimento de sistemas ubíquos envolve um conjunto de requisitos desafiadores, dentre eles: sensibilidade ao contexto, que permite que os sistemas adaptem o seu comportamento para responder de forma apropriada diante de mudanças do ambiente; e dependabilidade, que está relacionado à capacidade dos sistemas de prestarem um serviço os quais ofereçam fortes indícios de que são confiáveis. Em relação aos atributos de dependabilidade, negligenciá-los pode trazer desde pequenas insatisfações até graves riscos à integridade física dos usuários. O tratamento de exceções é uma das principais técnicas de tolerância a faltas empregadas no desenvolvimento de software para atingir maiores níveis de dependabilidade. Essa técnica, apesar de já ser amplamente utilizada no desenvolvimento de software tradicional, ainda é pouco empregada no desenvolvimento de sistemas ubíquos. Isso ocorre em virtude das características e requisitos desafiadores desse tipo de sistema, dentre os quais se destacam a sensibilidade ao contexto e a distribuição, a qual pode fazer com que as possibilidades necessárias de tratamento de exceções de um sistema como um todo seja maior do que a soma das possibilidades de tratamento de exceções das partes que o compõe. Portanto, essa dissertação tem como objetivo propor um mecanismo de tratamento de exceções sensível ao contexto para sistemas ubíquos orientados a tarefas. O mecanismo proposto é disponibilizado através de um framework, denominado FRonTES, que permite a reutilização do mecanismo. Através da utilização desse framework, funcionalidades do sistema podem ser implementadas sob uma abstração de tarefa, que responde de maneira adequada a mudanças de contexto, detectando e tratando situações excepcionais. Para a validação do mecanismo proposto foi implementado um protótipo de sistema de controle de estacionamento ubíquo como uma prova de conceito, que foca na demonstração de como são implementadas as tarefas que compõem esse sistema e como são definidas as exceções contextuais e seus tratadores.
46

Exception handling in object-oriented analysis and design

Van Rensburg, Annelise Janse 01 January 2002 (has links)
This dissertation investigates current trends concerning exceptions. Exceptions influence the reliability of software systems. In order to develop software systems that are most robust, thus delivering higher availability at a lower development and operating cost, the occurence of exceptions needs to be reduced and the effects of the exceptions controlled. In order to do this, issues such as detection, identification, classification, propagation, handling, language implementation, software testing and reporting of exceptions must be attended to. Although some of these areas are well researched there are remaining problems. The quest is to establish if a unified exception-handling framework is possible and viable, which can address the issues and problems throughout the software development life cycle, and if so, the requirements for such a framework. / Computing / M.Sc. (Information Systems)
47

Um mecanismo de tratamento de excessÃes sensÃvel ao contexo para sistemas ubÃquos orientados a tarefas / A mechanism for exception handling sensitive to surrounding context for ubiquitous systems oriented tasks

Carlos Alberto Batista de Queiroz Filho 30 November 2012 (has links)
CoordenaÃÃo de AperfeiÃoamento de Pessoal de NÃvel Superior / O principal propÃsito da ComputaÃÃo UbÃqua à o fornecimento de informaÃÃes e funcionalidades necessÃrias para ajudar as pessoas em suas tarefas cotidianas, de maneira proativa e transparente, a qualquer instante e em qualquer lugar. O desenvolvimento de sistemas ubÃquos envolve um conjunto de requisitos desafiadores, dentre eles: sensibilidade ao contexto, que permite que os sistemas adaptem o seu comportamento para responder de forma apropriada diante de mudanÃas do ambiente; e dependabilidade, que està relacionado à capacidade dos sistemas de prestarem um serviÃo os quais ofereÃam fortes indÃcios de que sÃo confiÃveis. Em relaÃÃo aos atributos de dependabilidade, negligenciÃ-los pode trazer desde pequenas insatisfaÃÃes atà graves riscos à integridade fÃsica dos usuÃrios. O tratamento de exceÃÃes à uma das principais tÃcnicas de tolerÃncia a faltas empregadas no desenvolvimento de software para atingir maiores nÃveis de dependabilidade. Essa tÃcnica, apesar de jà ser amplamente utilizada no desenvolvimento de software tradicional, ainda à pouco empregada no desenvolvimento de sistemas ubÃquos. Isso ocorre em virtude das caracterÃsticas e requisitos desafiadores desse tipo de sistema, dentre os quais se destacam a sensibilidade ao contexto e a distribuiÃÃo, a qual pode fazer com que as possibilidades necessÃrias de tratamento de exceÃÃes de um sistema como um todo seja maior do que a soma das possibilidades de tratamento de exceÃÃes das partes que o compÃe. Portanto, essa dissertaÃÃo tem como objetivo propor um mecanismo de tratamento de exceÃÃes sensÃvel ao contexto para sistemas ubÃquos orientados a tarefas. O mecanismo proposto à disponibilizado atravÃs de um framework, denominado FRonTES, que permite a reutilizaÃÃo do mecanismo. AtravÃs da utilizaÃÃo desse framework, funcionalidades do sistema podem ser implementadas sob uma abstraÃÃo de tarefa, que responde de maneira adequada a mudanÃas de contexto, detectando e tratando situaÃÃes excepcionais. Para a validaÃÃo do mecanismo proposto foi implementado um protÃtipo de sistema de controle de estacionamento ubÃquo como uma prova de conceito, que foca na demonstraÃÃo de como sÃo implementadas as tarefas que compÃem esse sistema e como sÃo definidas as exceÃÃes contextuais e seus tratadores. / The main purpose of ubiquitous computing is to provide information and features needed to help people in their daily tasks, proactively and transparently, at any time and anywhere. The development of ubiquitous systems involves a set of challenging requirements, including: context awareness, which allows systems to adapt their behavior to respond appropriately in the face of environmental changes, and dependability, which is related to the ability of systems provide a service which offer strong indications that are reliable. Regarding the attributes of dependability, neglecting them can bring grievances from small to severe risks to the physical integrity of the users. Exception handling is a major fault tolerance techniques used in software development to achieve greater levels of dependability. This technique, even though it is widely used in traditional software development, it is still not widely used in the development of ubiquitous systems. This is due to challenging requirements and characteristics of this type of system, among which we highlight the sensitivity to the context and distribution, which can make the necessary possibilities of handling exceptions in a system as a whole is greater than the sum of possibilities for exception handling of the parts that compose it. Therefore, this dissertation aims to propose a mechanism for exception handling context-sensitive ubiquitous systems for task-oriented. The proposed mechanism is available through a framework called foreheads, which allows the reuse mechanism. By using this framework, system functionality can be implemented on an abstraction task, which responds appropriately to changes in context, detecting and treating exceptional situations. To validate the proposed mechanism was implemented a prototype system of parking control ubiquitous as a proof of concept, which focuses on demonstration of how the tasks are implemented that make up this system and how they are defined exceptions contextual and their handlers.
48

Uma abordagem arquitetural para o desenvolvimento rigoroso de sistemas confiáveis baseados em componentes / A rigorous architectural approach to development component-based software systems

Brito, Patrick Henrique da Silva 16 August 2018 (has links)
Orientador: Cecília Mary Fischer Rubira / Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-16T14:38:24Z (GMT). No. of bitstreams: 1 Brito_PatrickHenriquedaSilva_D.pdf: 1885619 bytes, checksum: 138c286c6050613085421c02716b1425 (MD5) Previous issue date: 2009 / Resumo: A incorporação de tolerância a falhas em sistemas de software normalmente acarreta em um aumento da complexidade, o que consequentemente torna a sua análise mais difícil. Além disso, o uso de mecanismos de tratamento de exceções de uma maneira não-sistemática pode acarretar na adição de novas falhas ao sistema. Esta tese apresenta uma abordagem rigorosa e centrada na arquitetura para o desenvolvimento de sistemas de software tolerantes a falhas. Dependendo do modelo de falhas e da disponibilidade de recursos, abstrações arquiteturais diferentes podem ser utilizadas para representar explicitamente questões relacionadas a tolerância a falhas, tais como detecção e tratamento de erros e tratamento de falhas. Essas abstrações arquiteturais e os seus respectivos detalhamentos internos podem ser instanciados em componentes e conectores concretos durante o projeto de arquiteturas de software tolerantes a falhas. De forma complementar, a solução proposta também define atividades que combinam o uso e métodos formais e casos de teste baseados em modelos para sistematizar a verificação e validação do comportamento do sistema relativo à programação e tratamento de erros e tratamento de falhas no nível arquitetural. A verificação e validação de software ocorrem em duas fases complementares do processo de desenvolvimento do software, ambas baseadas em cenários arquiteturais que descrevem a programação e tratamento de erros envolvendo elementos arquiteturais (componentes e conectores). Primeiramente, utilizando a ferramenta de verificação de modelos ProB, que combina o uso de teoria de conjuntos matemáticos (B-Method) com álgebra de processos (CSP), a arquitetura de software é verificada formalmente com o intuito de antecipar a identificação de falhas relacionadas ao projeto do sistema. Segundo, casos de teste são gerados a partir da arquitetura de software utilizando uma abordagem baseada em modelos. O objetivo dos casos de teste gerados é verificar a consistência entre os modelos arquiteturais já verificados formalmente e a implementação do sistema. Finalmente, para auxiliar as atividades de verificação, a solução proposta também contempla a definição de regras de transformação automática de diagramas UML para especificação formal em B-Method e CSP. A diferença semântica existe entre a especificação semi-formal da UML e a especificação formal em B-Method e CSP é compensada utilizando-se estereótipos e "tags" nos modelos UML. A aplicabilidade prática da solução proposta foi avaliada no contexto de três estudos de caso: (i) uma aplicação com requisitos críticos de tempo real e confiabilidade; (ii) uma aplicação bancária real com requisitos críticos de confiabilidade e disponibilidades; e (iii) uma aplicação para dispositivos móveis / Abstract: The incorporation of fault tolerance into systems normally increases their complexity, which consequently makes their analysis more difficult. Moreover, the use of exception handling mechanisms to develop robust software systems in a non-systematic manner can be a source of many design faults. This thesis presents a rigorous and architecture-centric development approach for developing fault-tolerant software systems. Depending on the fault model and the resources available, different architectural abstractions can be employed for representing issues that are related to fault tolerance, such as error detection, and error and fault handling. These architectural abstractions and their internal views can be instantiated into concrete components and connectors for designing fault-tolerant software architectures. In a complementary way, the proposed rigorous solution also defines activities which use formal methods and model-based test cases do systematize the verification and validation of the system's behaviour related to error propagation and handling at the architecture level. The verification and validation occur in two complementary phases of the software development, both of them based on architectural scenarios describing error propagation and handling involving architectural elements (components and connectors). First, using the ProB model checker, which combines the use of set-theory (B-Method) and process algebra (CSP), the software architecture is formally verified in order to anticipate the identification of faults related to the system's model. Second, model-based test cases are generated in order to assess the consistency between the verified software architecture and the implementation of the software system. Finally, the proposed solution also defines rules for model transformation from UML diagrams to formal specification in B-Method and CSP. To overcome the gap between the semi-formal specification of UML and the formal models, the UML diagrams are complemented with predefined stereotypes and tags. The feasibility of our approach was evaluated in the context of three case studies: (i) a critical real-time application; (ii) a real banking system; and (iii) a mobile application / Doutorado / Engenharia de Software / Doutor em Ciência da Computação
49

Método Ágil aplicado ao desenvolvimento de software confiável baseado em componentes / Reliable component-based software development with Agile Method

Braz, Alan, 1980- 23 August 2018 (has links)
Orientador: Cecília Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-23T09:09:24Z (GMT). No. of bitstreams: 1 Braz_Alan_M.pdf: 1903353 bytes, checksum: 9bff9aefdcc11d6d8fe46490302d6291 (MD5) Previous issue date: 2013 / Resumo: Os Métodos Ágeis, ou Desenvolvimento Ágil de Software (DAS), tem se popularizado, na última década, por meio de métodos como Extreme Programming (XP) e Scrum e isso fez com que fossem aplicadas no desenvolvimento de sistemas computacionais de diversos tamanhos, complexidades técnica e de domínio, e de rigor quanto à confiabilidade. Esse fato evidencia a necessidade de processos de desenvolvimento de software que sejam mais rigorosos e que possuam uma quantidade adequada de modelagem e documentação, em especial no que concerne ao projeto arquitetural, com o objetivo de garantir maior qualidade no seu resultado final. A confiabilidade pode ser alcançada adicionando elementos de tratamento de exceções às fases iniciais do processo de desenvolvimento e à reutilização de componentes. O tratamento de exceções tem sido uma técnica muito utilizada na verificação e na depuração de erros em sistemas de software. O MDCE+ é um método que auxilia a modelagem do comportamento excepcional de sistemas baseados em componentes que, por ser centrado na arquitetura, melhora a definição e a análise do fluxo de exceções entre os componentes do sistema. Este trabalho propõe uma solução para guiar o desenvolvimento de sistemas confiáveis baseados em componentes por meio da adição de práticas do MDCE+ ao Scrum, resultando no método Scrum+CE (Scrum com Comportamento Excepcional). Esse processo passa a expor os requisitos excepcionais em nível das Estórias de Usuário, adiciona testes de aceitação mais detalhados, obriga a criação do artefato de Arquitetura Inicial e adiciona um novo papel de Dono da Arquitetura. Como forma de avaliar esse método proposto, foi realizado um experimento controlado com três equipes, que desenvolveram um sistema com requisitos de confiabilidade, utilizando Scrum e Scrum+CE. Foram coletadas métricas para comparar a eficiência do novo processo e o resultado obtido, com a utilização do Scrum+CE, foi à produção de software com melhor qualidade, porém com menor número de funcionalidades / Abstract: Agile Software Development (ASD) has been on mainstream through methodologies such as Extreme Programming (XP) and Scrum in the last decade enabling them to be applied in the development of computer systems of various size, technical and domain complexity and degress of reliability. This fact highlights the need for software development processes that are accurate and have an adequate amount of modeling and documentation, especially regarding the architectural design, aiming to increase the quality of the end result. The reliability can be achieved by adding elements of exception handling at early stages of development and through components reuse. Exception handling has been a widely used technique in detecting and fixing errors in software systems. The MDCE+ is a method that assists exceptional behavior modeling at components based systems, which is architecture-centric what improves the definition and flow analysis of exceptions between system components. This paper proposes a solution to guide the development of reliable systems based on components by adding MDCE+ practices to Scrum, resulting in the Scrum+CE method (Scrum with Exceptional Behavior). This process exposes the exceptional requirements, at the User Stories level, documents acceptance tests with more details, requires the creation of a high-level architecture artifact and adds a new role of Architecture Owner. In order to evaluate this proposed method, a controlled experiment was conducted with three teams, who developed a system with reliability requirements using Scrum and Scrum+CE. We collected metrics to compare the efficiency of the new process and the result was the production of software with better quality but with less features using Scrum+CE / Mestrado / Ciência da Computação / Mestre em Ciência da Computação
50

Variabilidade em tratamento de exceções em linha de produtos de software / Variability of exception handling software product line

Iizuka, Bruno de Abreu, 1985- 22 August 2018 (has links)
Orientador: Cecília Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-22T01:16:52Z (GMT). No. of bitstreams: 1 Iizuka_BrunodeAbreu_M.pdf: 5618330 bytes, checksum: 684e091ec25c7c909bfbdfeae38b8487 (MD5) Previous issue date: 2012 / Resumo: Atualmente, muitos esforços vêm sendo feitos para se obter um maior grau de reutilização durante o desenvolvimento de sistemas. Linha de Produtos de Software (LPS) é uma abordagem que promove a reutilização de software. A Arquitetura de Linha de Produtos (ALP) provê uma perspectiva global das variabilidades da linha, ao passo que engloba os conceitos tradicionais de uma arquitetura de software. Devido às variabilidades de software de uma ALP, a evolução arquitetural é ainda mais complexa, do que quando comparado com evolução de arquiteturas de software convencionais. Tratamento de exceções é uma técnica bastante conhecida para a detecção e tratamento de erros em sistemas de software. Porém, apesar da sua popularidade, o seu projeto e a sua implementação são constituídos de tarefas muito complexas que não recebem uma atenção adequada dos processos de desenvolvimento existentes. Separação de interesses é um dos objetivos do tratamento de exceções para separar o comportamento normal e excepcional do sistema de software. No contexto de uma LPS, a separação de interesses é importante para o design das variabilidades de software relacionadas às estratégias do comportamento normal e do comportamento excepcional, como a escolha de diferentes tratadores de exceções por diferentes características. O objetivo principal deste trabalho é apresentar um método para especificar e implementar a variabilidade de tratamentos de exceções em LPS baseadas em componentes. O método MVTE (Método de Variabilidade de Tratamento de Exceções) é uma combinação de métodos já conhecidos na literatura (PLUS e UML Components) e os modelos COSMOS* e COSMOS*-VP. Para validar o método MVTE foram utilizados dois estudos empíricos, e para medir a sua qualidade foram utilizadas as métricas de impacto de mudanças, acoplamento entre módulos e difusão de interesses / Abstract: Nowadays, many efforts are being made to achieve a higher degree of reuse during the development of systems. Software Product Lines (SPL) is an approach to improve software reuse. A PLA provides a global view of the variability's of a SPL, while it embodies the concepts and advantages of the traditional software architecture. Due to its variability's, a PLA is harder to evolve than a conventional software architecture. Exception handling is a well known technique to detect and treat errors in software systems. However, despite its popularity, its design and implementation are constituted of very complex tasks that do not receive the adequate attention from the existing development processes. Separation of concerns is one of the overarching goals of exception handling in order to keep separate normal and exceptional behavior of a software system. In the context of a software product line (SPL); this separation of concerns is also important for designing software variability's related to normal and exceptional behavior, such as the choice of different handlers depending on the set of selected features. The main goal of this work is to present a method to specify and implement the variability of exception handling in SPL components-based. The method MVTE (Variability of Exception Handler Method) is a combination of methods known in the literature (PLUS and UML Components) and models COSMOS* and COSMOS*-VP. To validate the method MVTE, it was studied two empirical studies, and to measure their quality it was used the metrics impact change, coupling between modules and diffusion over concerns / Mestrado / Ciência da Computação / Mestre em Ciência da Computação

Page generated in 0.1138 seconds