35 resultados para Concurrent exception handling
Resumo:
Litchi ( Litchi chinensis Sonn.) is a tropical to subtropical crop that originated in South-East Asia. Litchi fruit are prized on the world market for their flavour, semi-translucent white aril and attractive red skin. Litchi is now grown commercially in many countries and production in Australia, China, Israel, South Africa and Thailand has expanded markedly in recent years. Increased production has made significant contributions to economic development in these countries, especially those in South-East Asia. Non-climacteric litchi fruit are harvested at their visual and organoleptic optimum. They are highly perishable and, consequently, have a short life that limits marketability and potential expansion of demand. Pericarp browning and pathological decay are common and important defects of harvested litchi fruit. Postharvest technologies have been developed to reduce these defects. These technologies involve cooling and heating the fruit, use of various packages and packaging materials and the application of fungicides and other chemicals. Through the use of fungicides and refrigeration, litchi fruit have a storage life of about 30 days. However, when they are removed from storage, their shelf life at ambient temperature is very short due to pericarp browning and fruit rotting. Low temperature acclimation or use of chitsoan as a coating can extend the shelf life. Sulfur dioxide fumigation effectively reduces pericarp browning, but approval from Europe, Australia and Japan for this chemical is likely to be withdrawn due to concerns over sulfur residues in fumigated fruit. Thus, sulfur-free postharvest treatments that maintain fruit skin colour are increasingly important. Alternatives to SO2 fumigation for control of pericarp browning and fruit rotting are pre-storage pathogen management, anoxia treatment, and dipping in 2% hydrogen chloride solution for 6-8 min following storage at 0 degrees C. Insect disinfestation has become increasingly important for the expansion of export markets because of quarantine issues associated with some fruit fly species. Thus, effective disinfestation protocols need to be developed. Heat treatment has shown promise as a quarantine technology, but it injures pericarp tissue and results in skin browning. However, heat treatment can be combined with an acid dip treatment that inhibits browning. Therefore, the primary aim of postharvest litchi research remains the achievement of highly coloured fruit which is free of pests and disease. Future research should focus on disease control before harvest, combined acid and heat treatments after harvest and careful temperature management during storage and transport.
Resumo:
We present some techniques to obtain smooth derivations of concurrent programs that address both safety and progress in a formal manner. Our techniques form an extension to the calculational method of Feijen and van Casteren using a UNITY style progress logic. We stress the role of stable guards, and we illustrate the derivation techniques on some examples in which progress plays an essential role.
Resumo:
The use of multiple partial viewpoints is recommended for specification. We believe they also can be useful for devising strategies for testing. In this paper, we use Object-Z to formally specify concurrent Java components from viewpoints based on the separation of application and synchronisation concerns inherent in Java monitors. We then use the Test-Template Framework on the Object-Z viewpoints to devise a strategy for testing the components. When combining the test templates for the different viewpoints we focus on the observable behaviour of the application to systematically derive a practical testing strategy. The Producer-Consumer and Readers-Writers problems are considered as case studies.
Resumo:
Summary form only given. The Java programming language supports concurrency. Concurrent programs are harder to verify than their sequential counterparts due to their inherent nondeterminism and a number of specific concurrency problems such as interference and deadlock. In previous work, we proposed a method for verifying concurrent Java components based on a mix of code inspection, static analysis tools, and the ConAn testing tool. The method was derived from an analysis of concurrency failures in Java components, but was not applied in practice. In this paper, we explore the method by applying it to an implementation of the well-known readers-writers problem and a number of mutants of that implementation. We only apply it to a single, well-known example, and so we do not attempt to draw any general conclusions about the applicability or effectiveness of the method. However, the exploration does point out several strengths and weaknesses in the method, which enable us to fine-tune the method before we carry out a more formal evaluation on other, more realistic components.
Resumo:
Starting with a UML specification that captures the underlying functionality of some given Java-based concurrent system, we describe a systematic way to construct, from this specification, test sequences for validating an implementation of the system. The approach is to first extend the specification to create UML state machines that directly address those aspects of the system we wish to test. To be specific, the extended UML state machines can capture state information about the number of waiting threads or the number of threads blocked on a given object. Using the SAL model checker we can generate from the extended UML state machines sequences that cover all the various possibilities of events and states. These sequences can then be directly transformed into test sequences suitable for input into a testing tool such as ConAn. As an illustration, the methodology is applied to generate sequences for testing a Java implementation of the producer-consumer system. © 2005 IEEE
Resumo:
The testing of concurrent software components can be difficult due to the inherent non-determinism present in these components. For example, if the same test case is run multiple times, it may produce different results. This non-determinism may lead to problems with determining expected outputs. In this paper, we present and discuss several possible solutions to this problem in the context of testing concurrent Java components using the ConAn testing tool. We then present a recent extension to the tool that provides a general solution to this problem that is sufficient to deal with the level of non-determinism that we have encountered in testing over 20 components with ConAn. © 2005 IEEE
Resumo:
Research in verification and validation (V&V) for concurrent programs can be guided by practitioner information. A survey was therefore run to gain state-of-practice information in this context. The survey presented in this paper collected state-of-practice information on V&V technology in concurrency from 35 respondents. The results of the survey can help refine existing V&V technology by providing a better understanding of the context of V&V technology usage. Responses to questions regarding the motivation for selecting V&V technologies can help refine a systematic approach to V&V technology selection.
Resumo:
The results of empirical studies are limited to particular contexts, difficult to generalise and the studies themselves are expensive to perform. Despite these problems, empirical studies in software engineering can be made effective and they are important to both researchers and practitioners. The key to their effectiveness lies in the maximisation of the information that can be gained by examining existing studies, conducting power analyses for an accurate minimum sample size and benefiting from previous studies through replication. This approach was applied in a controlled experiment examining the combination of automated static analysis tools and code inspection in the context of verification and validation (V&V) of concurrent Java components. The combination of these V&V technologies was shown to be cost-effective despite the size of the study, which thus contributes to research in V&V technology evaluation.