34 research outputs found

    Aspect-Oriented Programming for Dynamic Web Service Monitoring and Selection

    Full text link
    Abstract. In Service-Oriented Application Development, applications are composed by selecting and integrating third-party web services. To avoid hardwiring concrete services in client applications we introduced in previous work the Web Services Management Layer (WSML) and suggested a redirection mechanism based on Aspect Oriented Programming (AOP). Even though this mechanism enables hot swapping between semantically equivalent services based on their availability, this is not enough to create applications that are driven by business requirements. In this paper we introduce a more advanced selection mechanism that allows dynamic switching between services based on business driven requirements that can change over time. Choosing a service may be done based on cost, presence on approved partners list, as well as binding support, quality of service classifications, historical performance and proximity. We introduce a modular monitoring mechanism that is able to observe these criteria and trigger a more advanced service selection procedure. We show how the AOP language JAsCo with its dynamically pluggable aspects is well suited to achieve this. 1

    The impact of age on genetic testing decisions in amyotrophic lateral sclerosis

    Get PDF
    Amyotrophic lateral sclerosis (ALS) is a heterogeneous neurodegenerative syndrome. In up to 20% of cases, a family history is observed. Although Mendelian disease gene variants are found in apparently sporadic ALS, genetic testing is usually restricted to those with a family history or younger patients with sporadic disease. With the advent of therapies targeting genetic ALS, it is important that everyone treatable is identified. We therefore sought to determine the probability of a clinically actionable ALS genetic test result by age of onset, globally, but using the UK as an exemplar. Blood-derived DNA was sequenced for ALS genes, and the probability of a clinically actionable genetic test result estimated. For a UK subset, age- and sex-specific population incidence rates were used to determine the number of such results missed by restricting testing by age of onset according to UK’s National Genomic Test Directory criteria. There were 6274 people with sporadic ALS, 1551 from the UK. The proportion with a clinically actionable genetic test result ranged between 0.21 [95% confidence interval (CI) 0.18–0.25] in the youngest age group to 0.15 (95% CI 0.13–0.17) in the oldest age group for a full gene panel. For the UK, the equivalent proportions were 0.23 (95% CI 0.13–0.33) in the youngest age group to 0.17 (95% CI 0.13–0.21) in the oldest age group. By limiting testing in those without a family history to people with onset below 40 years, 115 of 117 (98% of all, 95% CI 96%–101%) clinically actionable test results were missed. There is a significant probability of a clinically actionable genetic test result in people with apparently sporadic ALS at all ages. Although some countries limit testing by age, doing so results in a significant number of missed pathogenic test results. Age of onset and family history should not be a barrier to genetic testing in ALS

    From

    No full text
    dynamic supertypes to subjects: A natural way to specify and develop systems When we understand, specify, and develop systems, we use certain concepts and constructs to deal with complexity. Object-oriented (00) approaches provide good ways for doing so. However, many existing 00 approaches (perhaps based on object models used in existing 00 languages) cannot solve important problems encountered in large and complex systems. For example, we often have to deal with properties of “things ” that cannot be represented in a neat hierarchy. Some of these properties may significantly change with time. Moreover, many of these properties refer to collections of objects without identifying a single object as “owner ” of each property. The authors of this technical note have separately proposed approaches for solving these problems, but at very different stages of the development life cycle. However, the underlying concepts of these approaches are so close that they can be successfully combined to provide a common solution that encompasses all stages of the life cycle. arge systems are too complex to understand as L a whole. Therefore, to understand a system we need to identify distinct concerns that we can address separately. The idea of “separation of concerns ” in traditional programming has been known since the 1960s, thanks to E. W. Dijkstra.’ Separation of concerns can be applied more widely than in just programming-such as for the under-standing of businesses and specification of large sys-tems-to address only those concerns that are of in

    Thesaurus-Based Tag Clouds for Test-Driven Code Search

    No full text
    Test-driven code search (TDCS) is an approach to code search and reuse that uses test cases as inputs to form the search query. Together with the test cases that provide more semantics to the search task, keywords taken from class and method names are still required. Therefore, the effectiveness of the approach also relies on how good these keywords are, i.e., how frequently they are chosen by developers to name the desired functions. To help users choose adequate words in their query test cases, visual aids can be used. In this paper we propose thesaurus-based tag clouds to show developers terms that are more frequently used in the code repository to improve their search. Terms are generated by looking up words similar to the initial keywords on a thesaurus. Tag clouds are then formed based on the frequency in which these terms appear in the code base. Our approach was implemented with an English thesaurus as an extension to CodeGenie, a Java- and Eclipse-based TDCS tool. Our evaluation shows evidence that the approach can help improve the number of returned results, recall (by ∼28%, on average), and precision (by ∼14%, on average). We also noticed the visual aid can be especially useful for non-native speakers of the language in which the code repository is written. These users are frequently unaware of the most common terms used to name specific functionality in the code, in the given language

    Thesaurus-Based Tag Clouds for Test-Driven Code Search

    No full text
    Test-driven code search (TDCS) is an approach to code search and reuse that uses test cases as inputs to form the search query. Together with the test cases that provide more semantics to the search task, keywords taken from class and method names are still required. Therefore, the effectiveness of the approach also relies on how good these keywords are, i.e., how frequently they are chosen by developers to name the desired functions. To help users choose adequate words in their query test cases, visual aids can be used. In this paper we propose thesaurus-based tag clouds to show developers terms that are more frequently used in the code repository to improve their search. Terms are generated by looking up words similar to the initial keywords on a thesaurus. Tag clouds are then formed based on the frequency in which these terms appear in the code base. Our approach was implemented with an English thesaurus as an extension to CodeGenie, a Java- and Eclipse-based TDCS tool. Our evaluation shows evidence that the approach can help improve the number of returned results, recall (by ∼28%, on average), and precision (by ∼14%, on average). We also noticed the visual aid can be especially useful for non-native speakers of the language in which the code repository is written. These users are frequently unaware of the most common terms used to name specific functionality in the code, in the given language

    Composing crosscutting concerns using composition filters

    No full text
    corecore