Identifying Crosscutting Concerns Using Fan-In Analysis Aspect mining is a reverse engineering process that aims at finding crosscutting concerns in existing systems. This article proposes an aspect mining approach based on determining methods that are called from many different places, and hence have a high fan-in, which can be seen as a symptom of crosscutting functionality. The approach is semiautomatic, and consists of three steps: metric calculation, method filtering, and call site analysis. Carrying out these steps is an interactive process supported by an Eclipse plug-in called FINT. Fan-in analysis has been applied to three open source Java systems, totaling around 200,000 lines of code. The most interesting concerns identified are discussed in detail, which includes several concerns not previously discussed in the aspect-oriented literature. The results show that a significant number of crosscutting concerns can be recognized using fan-in analysis, and each of the three steps can be supported by tools. Aspect-oriented software development (AOSD) is a programming paradigm that addresses crosscutting concerns: features of a software system that are hard to isolate, and whose implementation is spread across many different modules. Well-known examples include logging, persistence, and error handling. Aspect-oriented programming captures such crosscutting behavior in a new modularization unit, the aspect, and offers code generation facilities to weave aspect code into the rest of the system at the appropriate places.. Aspect mining is an upcoming research direction aimed at finding crosscutting concerns in existing, non-aspect oriented code. Once these concerns have been identified, they can be used for program understanding or refactoring purposes, for example by integrating aspect mining techniques into the software development tool suite. In addition to that, aspect mining research increases our understanding of crosscutting concerns: it forces us to think about the circumstances under which a concern should be implemented as an aspect; it helps us find crosscutting concerns that are beyond the canonical ones, such as logging and error handling; and it may lead to concerns that are crosscutting, yet not easily modularized with current aspect technology (such as, e.g., ASPECTJ).. In this article we propose fan-in analysis, an aspect mining approach that involves looking for methods that are called from many different call sites and whose functionality is needed across different methods, potentially spread over many classes and packages. Our approach aims at finding such methods by computing the fan-in metric for each method using the system's static call graph. It relies on the observation that scattered, crosscutting functionality is likely to generate high fan-in values for key methods implementing this functionality. Furthermore, it is consistent with the guidelines of applying aspect solutions when the same functionality is required in many places throughout the code [Colyer et al. 2005] .. Fan-in analysis is a semiautomated process consisting of three steps. First, we identify the methods with the highest fan-in values. Second, we filter out methods that may have a high fan-in but for which it is unlikely that there is a systematic pattern in their usage that could be exploited in an aspect solution. Typical examples are getters and setters, as well as utility methods. Third, we inspect the call sites of the high fan-in methods, in order to determine if the method in question does indeed implement crosscutting functionality. This step is the most labor intensive, and it is based on an analysis of recurring patterns in, for example, the call sites of the high fan-in method. All steps are supported by an Eclipse 1 plug-in called FINT, which is also discussed in the article.. Identifying Crosscutting Concerns Using Fan-In Analysis. We discuss the application of fan-in analysis to three existing open source systems (the Web shop PETSTORE, the drawing application JHOTDRAW, and the servlet container TOMCAT) implemented in Java. For all systems our approach found a number of interesting crosscutting concerns that could benefit from an aspect-oriented redesign.. When evaluating the quality of an aspect mining technique, two challenges have to be faced. The first is that a benchmark system must exist in which the crosscutting concerns are already known, for example because they have been identified by an expert. At the moment, such a benchmark does not exist. A growing number of aspect mining researchers, however, are using JHOTDRAW as their case study, which is thus evolving into such a benchmark system.. The second evaluation challenge is that the decision that a concern is crosscutting and amenable to an aspect-oriented implementation is a design choice, which is a trade-off among alternatives. Thus, there is not a yes/no answer to the question of whether an identified concern is suitable for an aspect implementation. As a consequence, quantitative data on the number of false negatives (how many crosscutting concerns are missed) or false positives (how many of the concerns we identified are in fact not crosscutting) has a subjective element to it. This means that an evaluation of an aspect mining technique just in terms of, for example, percentages of false positives and negatives, or in terms of precision and recall, is an oversimplification.. To deal with these issues, we decided to discuss a substantial number of concerns found in considerable detail, explaining for what reasons they should be considered as crosscutting concerns. In order to encourage a debate on our results, we decided to select open source systems, allowing others to see all code details when desired.. As a result, the article can be read in two ways. First of all, it is the presentation of the fan-in aspect mining technique. Second, it is a discussion of those crosscutting concerns that were found in three open source systems by means of fan-in analysis-thus establishing a first step towards a common benchmark that can be used in further aspect mining research.. The scope of the present article is aspect mining itself. Using the aspect mining results, for example for refactoring to ASPECTJ, is a separate topic, for which we refer to, for example, Binkley et al. [2005] , as well as to our own work on reimplementing some of the concerns discussed in the present article Marin et al. 2005] .. This article is organized as follows. We start out by surveying existing work in the area of aspect mining. Then, in Section 3, we present the fanin metric, the analysis steps, as well as the Eclipse plug-in supporting fanin analysis. In Section 4 we present an overview of the case studies. In Sections 5-7 we cover the results obtained from applying fan-in analysis to three open source case studies, presenting several of the concerns found in considerable detail. We reflect on these case studies, on the reasons for success, and on the limitations of our approach in Section 8. We conclude with a summary of the article's key contributions, and opportunities for future work. We assume the reader has basic knowledge of aspect-oriented programming, and we refer to Gradecki and Lesiecki [2003] , The AspectJ Team [2003] , and Laddad [2003b] for more information. We are presently in the process of extending our results along the following lines.. First, we are considering various extensions to FINT. One route is to integrate FINT with other concern elaboration tools, such as FEAT [Robillard and Murphy 2002] or the Concern Manipulation Environment CME . We could use such tools to explore and describe a concern or feature to its full extent, starting from the partial set of elements and relations identified by FINT as part of the crosscutting concern implementation. Another option is to combine FINT with other automated aspect identification techniques, such as, for example, techniques based on formal concept analysis, identifier analysis, or clone detection. A prerequisite for combination is to be able to assess and compare aspect mining techniques and their results.. In addition to that, we continue to elaborate our case studies. This will provide further data on optimal threshold values, typical number of concerns that can be found in existing applications, and figures for the percentages of false positives and false negatives.. The results presented in this article show that the recognized crosscutting concerns follow various implementation idioms. Fan-in analysis is particularly suited for identifying method invocations that cut across a set of other methods. However, concerns like those encountered in the Decorator pattern are typically less likely to occur among the results of this technique. Steps towards the design of mining techniques that target specific implementation idioms have been taken in our more recent work . Two such techniques are already available in FINT and more extensions are planned as future work.. One of our activities directly related to one of the case studies presented in this article is AJHOTDRAW ], a sourceforge project, in which we offer an aspect-oriented reimplementation of JHOTDRAW, based on the concerns found in the present article. In this way, the case studies presented here form the starting point for a benchmark for comparing aspect mining and refactoring approaches. High Fan-In as Indicator. As we have seen in the previous case studies, fan-in analysis identifies high fan-in methods, applies a series of filters to these methods, after which more than half of the remaining methods turn out to be related to a crosscutting concern.. We can distinguish three main situations in which a high fan-in value indicates the presence of crosscutting concerns:. -The method has a high fan-in because it is part of a dynamic crosscutting mechanism. The typical refactoring will be to capture the call sites through a pointcut, and to move the method call to advice. Examples that we encountered include exception wrapping, contract enforcement, observer notification, and life cycle.. -The method has a high fan-in because it is used by a static crosscutting mechanism. A typical example is a secondary interface that must be implemented by a series of classes. The various implementations are likely to make use of the same helper methods, giving these a high fan-in. The refactoring is to collect all these interface implementations into one or more intertype declarations. This we encountered for the persistence concern. -The method has a high fan-in because it is part of a concern that plays a key role in the design. The method happens to be part of a crosscutting concern, which will benefit from an aspect-oriented refactoring. The refactoring, however, will not affect any of the call sites of the high fan-in method. This we encountered for the composite concern.. These situations are not mutually exclusive. In many cases, a concern involves static as well as dynamic crosscutting, as we have seen for the undo concern. We then are likely to see multiple seeds, which may either point us to the static or to the dynamic crosscutting behavior.. The Type of Concerns Identified. The fact that we were able to find similar aspects in various case studies suggests that their identification is not accidental. We identified various crosscutting concerns that are discussed in the literature, including those that stood at the origins of aspect-oriented programming. In addition, we have identified a number of new aspects, such as Undo and Lifecycle. Given the different nature of the three case studies, we feel that these results can also be achieved for other cases.. A notable source of crosscutting behavior is formed by various design patterns: for both JHOTDRAW as well as TOMCAT they account for approximately half of the concerns identified. This suggests that it may be worthwhile to investigate the use of design pattern mining techniques (see, e.g., Ferenc et al. [2005] ) for aspect mining purposes.. Reasoning about Seeds and Nonseeds. One of the subjective elements of our aspect mining approach is the third step, in which the human engineer has to distinguish seeds from nonseeds. We adopted the following reasons for classifying a high fan-in method as a seed: -We were able to link the method to a concern that is known to be crosscutting. -We considered the method's concern to be conceptually separate from the key functionality of the calling classes. Thus, it would be meaningful to make the base implementation oblivious of method's concern. -We could discover an idiom, recurring patterns, or other similarities in, for example, the call sites found, suggesting an implicit relationship, among these call sites that could be made explicit through a pointcut with advice. -We were able to identify a refactoring to ASPECTJ that may be beneficial in terms of modularization, flexibility, or evolution. Usually, these refactorings were composed from basic refactorings as included in the catalogs provided by Laddad [2003a] and Monteiro [2004] .. When rejecting a high fan-in method as a seed, we were not able to achieve any of these results.. Utility Filtering. A step requiring some manual effort is the filtering of utility methods. The intent of this is to remove groups of methods for which it is a priori obvious that they do not belong to crosscutting concerns. It is not necessary to capture all utility methods. Therefore, the amount of effort involved in this step is very limited: if it is not immediately clear that something is a utility, it is simply safe not to filter the method, and to analyze it in detail if it turns out to have a high fan-in.. Percentage of False Positives. The percentages of false positives in the three case studies are 13%, 49% and 27% for PETSTORE, JHOTDRAW, and TOMCAT, respectively (see Table I ). Based on these figures, and based on experiments we conducted with other systems, we conjecture that 50-75% of the candidate seeds that we identify automatically can be confirmed as belonging to a crosscutting concern.. Note that this percentage is conservative in two ways: First, we only discarded classes or methods as utilities when this was immediately obvious. Second, we only confirmed seeds when we clearly could see the crosscutting nature of the underlying concern. In other words, it is possible that with a more involved analysis of some of the nonseeds from Table I these could turn out to be crosscutting concerns as well. For this reason, it is reasonable to expect that other systems will exhibit a similar, or perhaps higher, success rate.. False Negatives. While working on our case studies, analyzing their design and implementation in considerable depth, we did encounter several crosscutting concerns not found through fan-in analysis, some of which were discussed in the previous sections. As an example, for PETSTORE we found transaction management, scattered implementations of the Serializable interface, and opportunities for making use of ASPECTJ's approach to imitating multiple inheritance [Mesbah and van Deursen 2005] . As for the logging example discussed for TOMCAT, key methods implementing transaction management are likely to be missed as well, because they are part of imported libraries that we do not include in our analysis. Crosscutting concerns found in JHOTDRAW through other aspect mining approaches are discussed and compared by Ceccato et al. [2006] . One, concern fan-in analysis did not find, is bringing a figure to the front or sending it to the back, simply because the methods involved were not called sufficiently often.. Based on these observations, we can make the following more general claims about the sort of crosscutting concerns that will not be found through fan-in analysis. First, the "footprint" of the concern should be above the threshold. Thus, if the concern involves dynamic crosscutting, the number of scattered calls should be higher than the threshold. Furthermore, if the crosscutting is purely static, the concern will usually not be found, unless the scattered implementation relies on shared functionality, and the number of call sites is higher than the threshold.. Note that the effect of the threshold is twofold. First of all, it helps us reduce the number of methods to be inspected. In addition to that, it allows us to find those aspects that are likely to significantly influence the modularity of the source code. Thus, while we certainly miss some crosscutting concerns, we are likely to find the ones that are most scattered, and hence good candidates for refactoring.. Percentage of False Negatives. How to arrive at a percentage for false negatives is less clear. This would require a report of all the crosscutting concerns that could be found in the case studies considered. Such reports have not been available prior to our experiments. Furthermore, such a report would be affected by the difficulty of objectively deciding what is and what is not a crosscutting concern.. The way to achieve progress in this direction is by establishing a common benchmark of known crosscutting concerns in existing systems. Such a benchmark would not only be a simple list, but also a summary of the reasons why certain concerns are deemed crosscutting. Our coverage of the concerns we found through fan-in analysis is aimed at establishing and promoting such a benchmark.. Seed Inspection Effort. How much effort is involved in inspecting seeds by hand? An important observation to make is that in many cases it is possible to decide for a group of methods, together whether they constitute a seed. One reason for this is our treatment of polymorphism. In our definition of the fanin metric one call could increase the metric value for several methods in the hierarchy of the invoked callee. Therefore, method implementations in the same hierarchy, which most commonly implement the same concern, also share many of their callers.. Such situations are very common in the cases analyzed. In TOMCAT, for instance, the over 200 seed and nonseed methods are implementations or declarations of only less than 100 distinct methods. As another example, the set of candidates for JHOTDRAW includes more than 20 implementations of the displayBox method, which we marked as nonseed. Grouping methods by their declarations as supported by FINT considerably reduces the investigation effort required for each method.. FINT offers further ways to reduce the manual effort involved in seed inspection. This includes various analyses to detect relations among the callers of a reported method with a high fan-in value, as discussed in Section 3.4. For example, by examining the callers (of any of the around 20 reported implementations) of the invoke method in TOMCAT's Valves pipeline concern, FINT shows that more than 80% of them are also invoke methods in Valve classes. The tool groups these callers as shown in Figure 4 . Such relations are present for a significant number of discovered seeds, including crosscutting elements discussed for JHOTDRAW's Undo concern and the concerns in the Command hierarchy, as well as Exception wrapping concerns in PETSTORE.. Required Expertise Level. How much domain knowledge or expertise is required for conducting fan-in analysis? For the bottom-up approach, when we look for consistent invocations of the method with a high fan-in value from call sites that could be captured by a pointcut definition, little specific knowledge is needed. For the top-down approach more a priori knowledge is required. The top-down approach relies on easily observable relations between tool-reported candidates and known examples of crosscutting functionality; design patterns are the most common in our cases. The rules we employed for associating patterns to candidates are simple: the methods are part of the roles defining the design patterns and/or they execute actions specific to responsibilities of participants in the pattern implementation (e.g., delegations of actions).. Note, however, that many crosscutting concerns described in the context of design pattern implementations will typically be found by means of the bottomup approach as well. For instance, calls to notification methods in implementations of the Observer pattern, or invocations to the action of the next element in a pipeline (chain of responsibility) are typical examples of crosscutting concerns targeted by fan-in analysis. In this case, the discussion of the patterns serves to describe the larger context in which the crosscutting concern occurs. AspectJ. Fan-in analysis is an aspect mining approach that is entirely independent of ASPECTJ or any other aspect-oriented language. Fan-in analysis is a technique for understanding a system's modularization, helping developers to find crosscutting concerns. Some of these can be candidates for a refactoring towards ASPECTJ (as discussed for PETSTORE and JHOTDRAW by Mesbah and van Deursen [2005] and Marin et al. [2005] ). For other concerns, alternative aspect-oriented solutions, such as composition filters [Bergmans and Aksit 2001] or the inversion of control pattern [Fowler 2004 ], while for still other concerns present aspect-oriented languages do not yet offer a suitable modularization mechanism.. Thus, fan-in analysis is not only a possible first step in refactoring to aspects. It is also a program comprehension technique that can help to clarify crosscutting concerns in existing applications.. The Fan-In Metric. The variant of the fan-in metric we have used, has been optimized for aspect mining purposes, and, as shown in this article, has brought us good results. An open question is whether this metric can be further improved. One possible route would be to lift the fan-in metric to the class, inheritance hierarchy, or package level, as we briefly discussed for the persistence concern of JHOTDRAW in Section 6.2. Fine tuning the metric such that it reflects, for example, call site locations instead of the mere number of methods containing call sites, is an issue for further research.

O B I O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Analyzing User Behavior across Social Sharing Environments In this work we present an in-depth analysis of the user behaviors on different Social Sharing systems. We consider three popular platforms, Flickr, Delicious and StumbleUpon, and, by combining techniques from social network analysis with techniques from semantic analysis, we characterize the tagging behavior as well as the tendency to create friendship relationships of the users of these platforms. The aim of our investigation is to see if (and how) the features and goals of a given Social Sharing system reflect on the behavior of its users and, moreover, if there exists a correlation between the social and tagging behavior of the users. We report our findings in terms of the characteristics of user profiles according to three different dimensions: (i) intensity of user activities, (ii) tag-based characteristics of user profiles, and (iii) semantic characteristics of user profiles. The unprecedented and quickly expanding success of the Social Web and related phenomena such as social networking and collaborative tagging, raised the importance of studying the behavior and the habits of Social Web users.. Several authors were committed to studying human behaviors within each single platform, considered as a single and autonomous entity [Catanese et al. 2011 ].. On top of that, investigating user behavior is even more interesting across systems, if we consider the fact that, nowadays, users have a plethora of possible choices and often they subscribe to different platforms that provide different but related services [Carmagnola and Cena 2009; Iofciu et al. 2010] . Indeed, users can behave on each of those platforms in similar (or different) manners, depending on the context and the platform.. In this paper we report our findings on the behavior of users belonging to different social platforms. We focused on Social Sharing systems, i.e., on Social Web systems allowing users to post, tag and share resources as well as to become friends each other. In our research, we considered three popular social platforms, namely Flickr, Delicious and StumbleUpon.. We decided to consider these systems for two main reasons: first of all, they are quite popular and this allowed us to gather a sufficiently large data sample to perform a significant analysis. Secondly, in these systems, user contributed tags are a powerful knowledge management tool: tags, in fact, can be used to make the retrieval of resources easier or to raise the visibility of user generated contents. Tags, in other words, have also a semantic value because from their analysis it is possible to infer general concepts exploited by users [Cantador et al. 2011; . Tagging is also present in other platforms but with different purposes and goals: for instance, in Facebook users are allowed to apply tags but their tagging activity has not a semantic value: a tag in Facebook is used to link objects (e.g., a person to a photo). Therefore, if a user tags people, pages and places in her posts, she has the goal, for instance, to inform her friends about the people she is with.. In our investigation we focused on two, possibly related, aspects, i.e., (i) understanding to what extent the architecture and the features of a Social Sharing system influence the behavior of its users, and, (ii) analyzing if there exists a relation between the users' social behavior (i.e., the tendency of users to socialize among each other) and their tagging behavior (i.e., the aptitude of users to label resources).. Regarding point (i), we investigate (a) if the number of friends of a user significantly varies across different systems; (b) if users exploit a similar amount of tags and, from a semantic perspective, if users in some systems prefer to focus on a narrow set of topics whereas in other systems their interests are described by a broader group of topics; (c) if users exploit each platform to focus on a specific topic or, otherwise, if they discuss similar topics on different platforms.. As for point (ii), we investigate (d) if there exists a correlation between the activity of tagging resources and the tendency to making new friends across the given Social Sharing platforms, and, most importantly, if the behavior of a given user is somehow similar to the behavior of her friends. To this purpose we studied (e) the semantic variety of topics exploited by a user against those addressed by her friends, and, (f) the breadth of the topics covered by a user against those exploited by her contacts.. To do so, in this work we adopt techniques from social network analysis and semantic-based analysis. In particular, we studied at the statistical level the frequency of tagging activities and the frequency of friending activities. We used external thesauri (like WordNet [Fellbaum 1998 ]) and ontologies (like DBPedia [Auer et al. 2007] ) to map user contributed tags onto lexicographic or ontological concepts and infer the topics exploited by users.. The importance and relevance of investigating these aspects is motivated by a multitude of scientific, economic and societal considerations.. For example, understanding if the tagging and social behavior of a given user on a specific platform depends on the architecture and design feature of the platform itself could help platform designers to decide whether to modify the ways users interact with the platform in order to maximize, for instance, their loyalty.. From a sociological perspective, if we would prove that users show a particular social behavior on a given platform, this could be helpful to design novel social theories explaining how user relationships emerge and evolve over time depending on the design features of the platform a user is currently accessing.. The main findings of our work can be summarized as follows:. (1) The tendency of a user to socialize depends on the features of the system in which she operates in. (2) In Delicious and Flickr, the aptitude of a user to apply tags is independent of the features of these systems. By contrast, in StumbleUpon, the features of the system have a major impact on the tagging behavior of a user. (3) The vast majority of users tend to apply most of their tags in a uniform fashion independently of the Social Sharing platform in which they operate in. (4) In Flickr there is a strong correlation between the intensity of tagging and the intensity of friending activities. By contrast, in Delicious the intensity of the tagging activity is much more marked than the intensity of friending activities. (5) The variety of lexicographic concepts that people use within different Social Sharing systems does not sensibly vary. However, the variety of ontological concepts that people exploit strongly differs from a system to another one.. The rest of the paper is organized as follows. In Section 2 we present some background material as well as a detailed description of the main features of Flickr, Delicious and StumbleUpon. Section 3 introduces our research methodology and, in particular, we sketched some of the research questions that this work aims to address. The datasets exploited to perform our analysis are illustrated in Section 4. To answer our research questions, we analyze user profiles at three different levels: intensity level (discussed in Section 5), tag level (analyzed in Section 6), and semantic level (covered in Section 7). In Section 8 we illustrate some practical applications of our findings. We discuss related literature in Section 9. Finally, Section 10 concludes the paper, summarizing our most important findings and depicting some future directions of research. In this article, we investigated tagging and social networking (friending) behavior of individual users across different Social Sharing platforms. We studied the characteristics of user profiles from Flickr, Delicious and StumbleUpon with respect to three different dimensions: (i) intensity of user activities, (ii) tag-based characteristics of user profiles and (iii) semantic characteristics of user profiles. Based on our extensive analysis and the corresponding findings, we can answer the research questions raised in Section 3 as follows.. Influence of the features of a Social Sharing platform on user behaviors. We studied to what extent the design and architecture of the social environment influences the characteristics of the user profiles and to what extent the personality of a user determine the features of the corresponding profiles. This led to formulate research questions Q 1 -Q 3 (reported below): -Q 1 . Does the intensity of user activities carried out by a user in a Social Sharing system S depend on the features of the platform? We studied how much the design features of a Social Sharing platform impacted on the social and tagging behaviors of its users. From our analysis, Flickr fosters higher involvement in friending activities than Delicious. Moreover, the goal of the tagging functionality has a significant impact on the tagging behavior: for instance, regarding StumbleUpon, the intensity of tagging activities is, on average, lower than the intensity of the tagging in Flickr or Delicious. By contrast, this difference does not emerge in Flickr and Delicious: in particular, users who are highly active in Delicious may also be highly active in Flickr but there is a high fraction of users that is highly active in either one of the two environments. -Q 2 . Does the variety of tags exploited by a user depend on the features of the Social Sharing system in which she is operating in? For most users, the variety of the tags they contribute is similar across the different Social Sharing systems. By measuring the entropy of a user's tag-based profiles in the different systems, we discovered that the variety of information that is embodied in the profiles depends very much on the Social Sharing platform. For the majority of the users, the entropy of the Delicious profile is higher than the entropy of StumbleUpon or Flickr profile and this makes tagging behavior in Delicious much more unpredictable than that on StumbleUpon or Flickr. -Q 3 . How does the variety of topics a user is concerned with depend on the features and goals of a Social Sharing platform? The semantic analysis of the tag-based profiles proved that the topic variety of user profiles clearly differs across Social Sharing platforms. By mapping tags onto lexicographic and ontological concepts, we discovered that the variety of the lexicographic concepts (i.e. the language that people use to annotate their resources) does not strongly vary between environments such as Flickr and Delicious. However, the category-like tag suggestions as offered by StumbleUpon result in a lower lexicographic variety. When looking at the actual topics that people are concerned with in the different Social Sharing platforms (variety of ontological concepts), we see strong differences between the environments that complement the tag-based and lexicographic analysis: on Flickr we observe a more uniform behavior than on Delicious and StumbleUpon.. Correlations between tagging behavior and friending behavior. We also studied the interplay between tagging and friending activities. This led to formulate research questions Q 4 and Q 5 (reported below): -Q 4 . Does the intensity of the activity a user carries out in a Social Sharing system depend on the type of activity? Our analysis showed that there are correlations between the intensity of tagging and friending activities. For Flickr, we observe that a low tagging activity often implies also a low number of social interactions (and vice versa) while users who intensively tag show also a solid intensity regarding their friending activities (and vice versa). By contrast, in Delicious, the intensity of tagging activities is generally larger than the intensity of friending, which implies that the architecture of Delicious is not targeted towards social networking activities. -Q 5 . Does the variety of tags a user exploits correlate with the number of her social contacts? On Flickr, the variety of the tags contributed by a user is influenced by her friending activities. We identified users who apply a large number of (often common) tags (possibly to better promote and increase the visibility of their photos). This behavior may result from the tagging design of Flickr, which implies a narrow folksonomy and thus forces users to annotate the resources without help of fellow users. On Delicious, which allows for collaborative tagging, we did not discover such a correlation.. The results of our analysis show how the design and architecture of Social Sharing platforms may influence the tagging and friending behavior of people. Our results also pose challenges for future research and pave the way to the development of practical applications.. We plan to extend our cross-system analysis to further systems and types of activities. In particular, we would like to study whether there exist correlations between microblogging activities that people perform on Twitter and their tagging and friending activities in Flickr or Delicious.. A major research avenue we plan to explore is given by the analysis of external factors and their impact on user behaviors and choices. As external factor we consider, for example, the "age" of a system, the system a user joined first and how long a user has been on a system. This would allow us to better understand user behaviors we started analyzing in this paper as well as to formulate new research questions. For instance, could we define and measure the "loyalty" of a user? In other words, assume a user joins first Delicious and after some months/weeks Flickr. Our questions are: will she continue spending the largest part of her time on the Web on Delicious or not? Will she spend time equally between Delicious and Flickr? Is there a portion of users who will prefer to dedicate their time to Flickr despite the joined first Delicious? In addition, if a user joins first Delicious and then Flickr, do some differences emerge in her tagging/social behavior? Would such a result change if we would swap Delicious and Flickr (i.e., if we would consider users who join Delicious first and then Flickr)? Is the level of user activities in a platform related to the popularity of the contents hosted in that platform? For instance, if in Flickr are added photos capable of catching the interest of large masses of users, will these new materials increase the level of user participation?. In addition, we are also interested in investigating relationships between static profile attributes that can be found in Facebook or LinkedIn profiles (such as the profession or age of a user) and the characteristics of tag-based and social profiles.. Finally, we plan to use tag categorization techniques to improve the results of our analysis. In particular, tag categorization techniques are useful to identify those tags which support knowledge management and that can be exploited for information retrieval purposes from those reflecting user moods (or their subjective opinions). Research related to social network analysis and social tagging acquired a lot of attention during the last decade. In this paper, we focused on the analysis of individual user profiles that can be inferred from social networking and tagging activities and studied the characteristics of these profiles across system boundaries. Our findings are of particular interest to generic user modeling systems,that aim to re-use profile information in different application contexts.. In this section, we discuss related literature from three main perspectives: (i) the analysis of user data that is distributed across Social Web systems, (ii) the problem of identifying users on the Social Web and (iii) approaches to interpreting the semantics of tags and categorize them. In this section, we first introduce some formal definitions that will be extensively used throughout the paper (see Section 2.1). After that, in Section 2.2 we will describe the main features of Flickr, Delicious and StumbleUpon. To answer the research questions formulated above, we analyzed user profiles in Social Sharing systems at three different levels of granularity:. -Intensity level. At this level we studied user behaviors on the basis of the "volume" of the activities they carried out. We started our analysis by comparing the frequency of tagging f t u of a user u in different social systems, i.e., the number of tags that a user applied. We studied also the frequency of social interactions f s u of u in different social system, i.e., the number of friends of u. We compared f t u and f s u in different social systems. -Tag level. At this level we focused on the tag-based profile of a user. We started studying whether these profiles focused on few (and often frequently used) tags or, vice versa, if users prefer to use a large number of tags. In the first case, user interests appear strongly polarized towards few tags. Therefore, it is easy to predict, for instance, what kind of objects a user will look for in the future. By contrast, if tags are applied in a uniform fashion, the amount of randomness in a profile is high and, therefore, the task of predicting future user interests is hard. We compared the frequency of tagging by a user with that of her friends to study whether significant differences emerge. -Semantic level. In addition to analyzing the raw tags that people use to describe resources, the semantic analysis investigates the actual concepts that people refer to.. In particular, we analyzed to what extent tag-based profiles can be mapped onto (i) lexicographic and (ii) ontological concepts in the context of different Social Sharing systems. Moreover, we investigated to what extend the variety of semantic profiles depends on the given environment in which a user performed the corresponding tagging activities.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Projection Reconstruction Magnetic Particle Imaging Abstract-We acquire the first experimental 3-D tomographic images with magnetic particle imaging (MPI) using projection reconstruction methodology, which is similar to algorithms employed in X-ray computed tomography. The primary advantage of projection reconstruction methods is an order of magnitude increase in signal-to-noise ratio (SNR) due to averaging. We first derive the point spread function, resolution, number of projections required, and the SNR gain in projection reconstruction MPI. We then design and construct the first scanner capable of gathering the necessary data for nonaliased projection reconstruction and experimentally verify our mathematical predictions. We demonstrate that filtered backprojection in MPI is experimentally feasible and illustrate the SNR and resolution improvements with projection reconstruction. Finally, we show that MPI is capable of producing three dimensional imaging volumes in both phantoms and postmortem mice.Index Terms-Biomedical imaging, field free line (FFL), filtered backprojection, image reconstruction, magnetic particle imaging (MPI), magnetic particles, projection reconstruction. In this work, we presented the world's first experimental projection reconstruction MPI system. A permanent magnet FFL was shown to be buildable to the tolerance required for artifact-free FBP. We designed, built, and debugged the associated PR MPI subsystems such as the drive field generation, focus field generation, receive channels, sample rotation, and image acquisition. The approximate PR PSF was derived and shown to correspond accurately to data. The theoretical FWHM, number of projections required, and the SNR gain in projection reconstruction MPI were derived as well. We demonstrated that FBP in MPI is experimentally feasible and illustrated the SNR and resolution improvement with PR. We then demonstrated that MPI is capable of producing three dimensional imaging volumes in both phantoms and postmortem mice. This is promising for the future of PR MPI. Here, we have demonstrated the first experimental implementation of filtered back projection 3-D MPI scanning. The same projection reconstruction MPI scanner could be used in a 2-D projection format to produce real-time images or with averaging to produce high SNR 2-D images. The flexibility enabled by FFL imaging for high speed or high SNR 2-D imaging, as well as high SNR 3-D images, could be extremely useful in the clinic. This relationship could be similar to the relationship that currently exists between X-ray and CT. Applications such as angiography demand a high speed format to faithfully capture the range of cardiac motion so X-ray fluoroscopy is often used. Patients would benefit from projection MPI that utilizes no ionizing radiation and tracers that are completely safe, especially for CKD patients [30] . For applications not requiring high speed but benefitting from a high SNR 3-D image, CT is used. In MPI, possible applications of this format include cancer and stem cell imaging.. This paper presents the first experimental proof that the homogeneity of a real-world, inexpensive permanent magnet FFL can be made adequately uniform (with minimal fading [9] ) to produce artifact-free FBP reconstructions. This bodes well for future higher strength FFL magnets. In the future, we intend to develop a scaled-up PR MPI system. Such a system could include a 20 T/m superconducting gradient with a image grid. A gradient of this strength would have a 400 plane resolution with Resovist according to (9) . With a 6 cm FOV, we would need to acquire 235 projections to avoid aliasing according to (10) . With MPI we have the benefit that additional projections do not cause additional patient radiation dose since no ionizing radiation is involved. Challenges to development of such a system would include higher receiver bandwidth, better FFL magnet homogeneity (to prevent fading artifacts [9] ), and reconstruction time scale-up.. We also plan to implement a helical moving-bed scan similar to current CT technology. We estimate that we could acquire a full 3-D volume in approximately 5 min with our current imaging system via this scanning pattern (partial FOV of 8 mm, helical pitch of 4 mm to allow 50% overlap, 10 s per rotation). Alternatively, we could implement axis focus field coils (currently unused in this work), which would allow 3-D volume acquisition in approximately 30 s (partial FOV of 8 mm, axis shift of 4 cm and helical pitch of 4 cm, 10 s per rotation). Future scanner hardware development could also include other rotation methods such as gantry rotation or electronic FFL rotation.. As an alternative to Nyquist sampling, we could use compressed sensing techniques to reduce the number of projections taken and speed imaging time. In a human sized scanner with a bore of 30 cm and a gradient of 8 T/m (1 mm resolution with Resovist), 470 projections would be required for nonaliased sampling using the Nyquist criteria. Compressed sensing could allow a much smaller number of projections, thus allowing a faster image acquisition for time resolved datasets [31] [32] [33] .. It is interesting to compare MPI projection imaging to MRI projection imaging. With MPI, there is absolutely no concern with phase decoherence along the projection line because all the SPIOs are locked in synchrony with the excitation field. This is in sharp contrast to projection MRI, where B0 inhomogeneity is typically inadequate to prevent excessive decoherence, which is called dephasing in MRI. The approximate and measured PSFs of Fig. 5 match well, illustrating the accuracy of the approximation. The improvement in FWHM after FBP occurs due to image sharpening from the ramp filter. The resolution (and SNR) benefit of PR MPI could be used to view smaller arteries in a high resolution 3-D PR MPI as opposed to 3-D scan with a FFP.. Equation (10) suggests that we only need 28 instead of 180 projections to obtain a nonaliased PR MPI image with our system. Here, we have used more projections to demonstrate artifact free and high SNR images. SNR is extremely high even in our university prototype. This bodes well for the future sensitivity of a professionally engineered system. In Fig. 4 , we compare the theoretical PSF with a PSF measured from our imaging system. Images in the left column show the plane while images in the right column show the plane. The top set of four boxed images compares projection format PSFs while the bottom set compares projection reconstruction format PSFs. Note the close agreement between theoretical and measured PSFs. Fig. 5 compares image cross sections of measured, theoretical, and approximate PSFs in both projection and projection reconstruction formats. Fig. 5(a) plots a cross section of the measured and theoretical projection PSFs in Fig. 4(b) and (c), demonstrating agreement between the two. Fig. 5(b) plots cross sections from the measured and theoretical projection reconstruction PSF from Fig. 4(d) and (e). Fig. 5(b) also plots an approximate projection reconstruction PSF, calculated from (8) . For comparison, the FWHM is listed for each plot. Note the slight decrease in FWHM in the PR results over the projection results as predicted in Section II. Also note the close match (14) . b) Measured, theoretical, and approximate Projection Reconstruction PSFs. The approximate PSF was obtained using (8) , while the theoretical PSF was obtained via filtered backprojection on (14) . Fig. 6(c) shows four of the 180 projections acquired at multiple angles of rotation around the theta axis for our stacked acrylic imaging phantom. A maximum intensity projection through the imaging volume is displayed in Fig. 6(d) . Fig. 6(e) shows two slices through the image volume. No deconvolution has been performed in any of the images in Fig. 6 . Note, we can see two large air bubbles in both the photograph of the phantom and the output PR image. This can also be seen but with more difficulty in the projection images. Also, in the projection images of Fig. 6(c) , note the signal summation that occurs along the field free line, which causes bright points at differing locations along the phantom image depending on rotation angle. These bright points occur at locations where the FFL integrates signal in both acrylic phantoms. While we see these bright spots in the projection images, the PR images fully resolve all features in 3-D. The ability to resolve the bubble and the lack of signal summation illustrate the diagnostic quality improvement of 3-D PR imaging over projection format imaging. Fig. 7 contains maximum intensity projection images from a helical phantom. Two perspectives are shown of the reconstructed volume. Once again, these images illustrate the capability for very high SNR with PR MPI. Fig. 8 shows a projection reconstruction image of a postmortem mouse injected with Resovist. The tracer accumulation can be seen in the heart, liver, and brain.

B I O O O O O O O O O O O O B I I I O B I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B I I I B I B I B I I I B I B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O


Certainty equivalent citation: generalized classes of citation indexes Abstract Drawing from the existing literature on risk and inequality measurement, we implement the notion of ''certainty equivalent citation'' in order (i) to generalize most of the h-type citation indexes (h-, g-,g; t-, f-, w-index), and (ii) to highlight the centrality of the decision-maker's preferences on distributive aspects (concentration aversion) for the ranking of citation profiles. In order to highlight the sensitivity of citation orderings with respect to concentration aversion, an application to both simulated and real citation profiles is presented. In the present study, we have drawn a comparison between the notion of ''certainty equivalent income'' implemented in the field of risk and income inequality measurement (Markowitz 1952; Atkinson 1970 ) and the h-type indexes proposed by Hirsch (2005) , Egghe (2006a, b) , Woeginger (2008a), and Tol (2009) . Within this scenario, we discussed two classes of indexes (c h and c w ), which, depending on the value of a parameter of concentration aversion, are shown to replicate well known citation orderings (h-, w-, f-, t-, g-,g-index). For each of the two classes, an ''upper unbounded'' variant is also proposed (c h andc w ) by which the score of the index may reasonably exceed the number of publications in the presence of few but highly cited scientific outputs.. Besides, the sensitivity of both simulated and real citation profiles with respect to distributive aspects has also been shown. In this sense, we wish to contribute to the ongoing debate on the use of citation-based indicators for assessing the impact of research findings by pointing out that, also behind the apparent ''impartiality'' of citation statistics, there are subjective decision-maker's preferences on the dispersion/concentration of citations (and the upper bounded/unbounded option) that may reasonably affect the rankings of citation profiles.

O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


A process-oriented methodology for evaluating the impact of IT: A proposal and an application in healthcare In order to improve business process often Information Technologies (IT) are introduced. However, business processes are known to be complex and distributed among multiple business entities. As a result, the impact of new IT on an entire business process is typically unknown as quantitative methods for evaluation are missing. Therefore, in this paper, we propose a process-oriented methodology for evaluating the impact of IT on a business process. In our method, process mining and discrete event simulation are key ingredients. Based on automatically stored data, process mining allows for obtaining detailed knowledge on a business process, e.g., it can be discovered how a business process is actually executed. Using discrete event simulation, a model can be build which accurately mimics the discovered process and which can subsequently be used for exploring and evaluating various redesign of the same process. Regularly, new digital technologies emerge that afford to improve the productivity of people and organizations. Also, Information Technology (IT) usage has been demonstrated to be a key driver of organizational performance (1) . Not surprisingly, the presence of computer and information technologies in today's organizations has improved dramatically (2) . With regard to assessing the usefulness or success of IT within organizations, many methodologies and frameworks exist for evaluating new ITs in terms of aspects such as usage, satisfaction, technology, performance, efficiency, costs, and so on. For example, Seddon et al proposes a two-dimensional matrix for classifying IS effectiveness measures (3), Grover et al. propose an organization level and individual level class in order to classify multiple measures (4) , and the IS success model focuses on six dimensions for measuring the success of IS (5) .. The introduction of IT requires a seamless integration with already existing business processes within an organization so that the operational performance of these processes is not negatively impacted. However, business processes are typically complex and distributed. That is, multiple business entities at different geographical locations may be involved within the process each using their own IT systems. As a result, good insights into the operation of the entire business process are missing. This causes that before a new IT is introduced it is vital that its impact on the entire business process is assessed. Therefore, in this paper, a process-oriented methodology is proposed for evaluating the impact of IT. In this method, both process mining and discrete event simulation are key ingredients. Process mining aims at extracting process knowledge from so-called event logs (6) . Such logs may originate from all kinds of systems, such as generic enterprise information systems, product data management systems, or middleware systems. Typically, event logs contain information about the start and completion of process steps, along with related context data (e.g. actors and resources). Since process mining uses factual execution data it allows for obtaining an objective view on how processes are really executed. Moreover, it allows for obtaining quantitative insights into these processes (e.g. performance information). By means of discrete event simulation, the performance of systems can be evaluated, alternative configurations of a system can be compared, and an optimal configuration of a system can be found (7) . In the context of a business process, a discrete event simulation model allows for accurately mimicing an existing business process. Next, the business process in the simulation model can be modified and the impact on selected performance indicators can be predicted.. In order to illustrate the above mentioned process-oriented methodology to evaluate the impact of a technology, a detailed case study is presented. In this study the effects of digital dentistry on the implant value chain is investigated using process mining and discrete event simulation. The implant value chain is concerned with all steps that can be associated with dental implants, covering the stages from patient diagnosis until implant placement. Key players in this value chain are the dentist (General Practitioner or GP), dental surgeon, and the dental laboratory. While it is expected that the application of IT, referred to as digital dentistry, improves the efficiency of the overall value chain and decreases the time that elapses from diagnosis until placement (8) , the extent of this effect is unknown. That is, for the usage of digital techniques such as CAD/CAM for the design and production of the dental restoration; an Intra-Oral Scanner (IOS) for making a digital impression of a patient's teeth; and guided surgery for the planning and the guided placement of implants, it is anticipated that they each contribute in reducing the overall treatment time but that they also contribute in reducing the time needed by both dentists and dental lab technicians for performing the tasks in the business process. However, the exact impact of these three techniques on a business process is not known yet. The application of our technology shows how the impact of above mentioned technologies can be quantified.. All together, this paper addresses two different subjects. As a research subject, a processoriented methodology, using process mining and discrete event simulation, is proposed for investigating the impact of IT. Here, a core point of our methodology is that it can be applied to complex and distributed business processes (i.e. multiple business entities and various IT systems) for which it is hard to investigate new aspects. From a practical point of view, the impact of digital dentistry is investigated using the latter mentioned methodology. To date, we are not aware of any methodology for evaluating the impact of a new technology which uses both process mining and discrete event simulation. Various methods exist for evaluating the impact of new technologies but none of these focus on assessing the impact on an entire business process using both process mining and simulation.. The remainder of this paper is organized as follows. Section 2 discussed related work. In Section 3, the process-oriented methodology for evaluating the impact of IT is presented. Subsequently, in Section 4, this method is illustrated in the context of an extensive dental case. In Section 5, a reflection on the proposed methodology and the practical outcomes of the dental case is provided. Finally, a conclusion and outlook are provided in Section 6. In this paper, we have proposed a process-oriented methodology for investigating the impacts of IT. The methodology is based on both process mining and discrete event simulation. By using process mining, an objective view is obtained on how processes are really executed.. Furthermore, the actual simulation phase in which impacts of digital technologies are evaluated can be started much quicker compared to the traditional approach, where simulation models are created manually. Also, the methodology allows for obtaining non-trivial process insights that by following another methodology perhaps would not have been obtained.. As future work we plan to extend the work of Rozinat et al. [REF] in order that results obtained for various perspectives (e.g. the control, resource, and data perspective) can be (semi-) automatically stitched together in one comprehensive simulation model. Closely, related to this is the extension of the framework with additional perspectives such as cost and precision (e.g. precision of the placed implants or precision of the produced dental restoration).. Also, in order to evaluate the general applicability of our approach, we plan to apply our approach in other domains (e.g. the healthcare and the automotive domain). As indicated in the introduction, this paper served two purposes. From a scientific point of view, a process-oriented methodology has been proposed for evaluating the impact of IT on a process which consists of multiple distributed actors. In this method, both process mining and discrete event simulation are key ingredients. From a practical point of view and to illustrate the process-oriented methodology, a concrete case has been discussed in which the effects of digital dentistry on the implant value chain have been investigated using process mining and discrete event simulation. In this section, we first reflect on the outcomes of the simulation experiments that have been performed for the three redesigned business processes in order to investigate the impact of digital dentistry on the process-oriented methodology for evaluating the impact of IT. Second, we reflect on the process-oriented methodology for evaluating the impact of IT. For business processes, simulation has already been in use since the seventies (9) . Before that, in the sixties, the simulation language SIMULA was developed which influenced the development of general purpose programming languages (10) . Initially, the focus of these languages was on general purpose programming. However, these were subsequently extended with simulation capabilities. Gradually more and more simulation packages became available that offered some graphical environment to design and simulate business processes. These languages provide simulation building blocks that can be composed graphically (e.g. Arena (11) ). Furthermore, most business process modeling tools provide some form of simulation. Examples of these tools are Protos and ARIS. Finally, the more mature Workflow Management Systems provide simulation capabilities for the processes they support (12; 13) (cf. FileNet (14) , BPM|One (15) , BizFlow (16) , and WebSphere (17) ).. With respect to the application of simulation in the healthcare domain, numerous studies can be found reporting on the successful application of discrete-event simulation in order to improve efficiency and reduce costs. Several review papers have been written on the conduct of simulation studies in healthcare clinics (18) showing its wide spread use in this area including laboratory studies, emergency services, and the national health system. Good overviews of literature have been provided by Jun et al. (18) , England et al. (19) , and Yang et al. (20) . With regard to healthcare clinics, Jun et al. (18) mention three different areas that impact patients in clinics. These are patient scheduling and admissions, patient routing and flow schemes, and scheduling and availability of resources.. However, despite the abundance of literature that exists on simulation and its application, there is hardly any literature on the intersection of process mining and discrete-event simulation. That is, we are only aware of the work of Rozinat et al. (21) in which process mining is used for building a discrete-event model. In particular, the aim of their work is to demonstrate that various perspectives of an existing business process (e.g. the control-flow, data, and resource perspective) can be discovered using process mining and that they can be stitched together in one simulation model. In other words, no details are provided regarding the evaluation of new technologies. Furthermore, there are some approaches in which a methodology is proposed for the application of process mining. That is, Bozkaya et al. (22) propose a quick-scan methodology in which several perspectives of a business process are discovered; based on the method of Bozkaya et al., Rebuge and Ferreira (23) propose a methodology in order to apply process mining in the healthcare domain; and Van der Aalst (6) proposes the L* life-cycle model in which the life-cycle of a typical process mining project is described using five stages. Related to this is the work of Zhou and Piramuthu (24) in which a framework is proposed in which a running business process is continuously optimized using process mining. The above mentioned methodologies all focus on the analysis of an existing business process. They do not aim on evaluating a change within these processes.. With regard to evaluation of Information Systems (ISs), there is a lot of debate within literature. For IS evaluation, Marthandan and Tang indicate that this is a complex task and that there is no common agreement on how best to do the evaluation as well as the selection of the appropriate evaluation criteria (25) . Furthermore, IS evaluation is difficult as stakeholder perspectives may be different (26) . As a consequence, Marthadon et al. indicate that there is no single method that works best to define and measure success (25) . In general, IS evaluation is guided by several approaches (25) . One approach concerns an ex ante or ex post evaluation. An ex ante evaluation focuses on project feasibility and is performed before an investment decision is made. An ex post evaluation examines the business value of the IT and analyzes if expected benefits have been realized. Another approach concerns a summative evaluation versus a formative evaluation. A formative evaluation is an ongoing evaluation during development which influences the attributes and features of the final IS. A summative evaluation is performed after implementation in order to assess the impacts the system has brought. Finally, the last approach concerns the usage of quantitative or qualitative methods during the IS evaluation. Some examples of well referred IS evaluation models (27) are the DeLone and McLean IS success model in which six different dimensions are provided in order to measure the success of IS (5), Grover et al. (4) distinguish between the organization and individual level in order to classify IS measures, Cronk and Fitzgerald (28) propose three dimensions of "IS business value": the system dependent dimension; the user dependent dimension; and the business dependent dimension, Seddon et al (3) propose to classify IS effectiveness measures according to a two-dimensional matrix which distinguishes between the stakeholders of the system and the type of system studied, and Smithson and Hirschheim (29) present a literature framework for analysis and IS evaluation. For the above mentioned IS evaluation models it holds that the measures contained in them still need to be materialized. As a result, they cannot immediately be used for evaluating the impact of IT.. Also, within the healthcare domain it is identified that the evaluation of Health Information Systems (HIS) is a complex task (30) , in particular it is hard to select the framework to be applied and methods to be used (31) . Yosof et al. (31) and Ammenwerth et al. (30) provide a good elaboration on the problems that need to be tackled. Furthermore, Yusof et al. (31) review a number of frameworks in order to identify the evaluation dimensions and measures used to evaluate systems in a healthcare setting. Both for the IS evaluation frameworks and the HIS evaluation frameworks it holds that none of them focus specifically on processes. Even more, no qualitative insights are provided regarding the effects of IT on the entire supply chain which consists of multiple distributed actors. Also, for none of the them, process mining and discrete event simulation are both used. In Figure 1 , the process-oriented methodology for investigating the impact of IT, is shown. As can be seen, the methodology consists of both an as-is phase and a to-be phase. These two phases are the main axes in order to create a baseline for comparison. Starting point of the approach is that, in the AS-IS phase, event logs exist that describe the behavior of an existing business process. Afterwards, a combination of process mining techniques is used in order to discover multiple perspectives of the existing business process under consideration. Here, the control-flow, resource, and performance perspectives are the most straightforward ones. The control-flow perspective covers the tasks and its order, the resource perspective covers the resources that are performing the tasks, as well as the performance perspective covers the timing of the tasks (e.g. execution time and waiting time) and the arrival pattern of new cases. Depending on the IT of which its impact needs to be assessed, other perspectives may need to be discovered. Afterwards, the obtained results for the chosen perspectives are stitched together in one model and a simulation model is generated. Next, the simulation model is validated in order to statistically verify that the generated model accurately mimics the behavior of the business process under consideration. For the validation, performance measures need to be defined within the AS-IS simulation model and multiple replications of the simulation model are needed in order to obtain reliable statistical results. For each performance measure, the average value that has been obtained for the multiple replications of the simulation model can be compared with the corresponding value that has been obtained by process mining. In this way, it can be determined whether the simulation model is valid. Note that in order to obtain a valid simulation model it may be needed to apply the process mining algorithms again or that even new algorithms need to be developed.. In the TO-BE phase, the business process in the validated simulation model is redesigned in order to investigate the impact of a new digital technology for that process. For this new technology, it is assumed that execution data for it is available in which the technology has been applied in a different context than for the redesigned process in the TO-BE phase. However, for the obtained execution data it is important that it is valid to include it in the redesigned process in the TO-BE phase. For example, assume that in the redesigned process we want to include technology 'A'. For technology 'A' execution data is available in which it is used in a different context than the redesigned process. However, as for the redesigned process the context is comparable with the context in which technology 'A' is used, the execution data can be included in the redesigned process in the TO-BE phase. Next, using a combination of process mining techniques, the same perspectives as within the AS-IS phase are discovered. Subsequently, the perspectives are stitched together and integrated in the validated AS-IS simulation model such that a TO-BE simulation model is obtained which can be used for a 'what-if analysis'. In this 'what-if analysis', the impact of the new technology can be investigated based on the performance measures that have been included in the simulation model in the AS-IS phase. Note that for the TO-BE simulation model, it may also be needed to develop new process mining algorithms.. ProM has become the de facto standard for process mining. The ProM framework (www.processmining.org) is a 'plug-able' environment for process mining using MXML, SA-MXML, or XES as input format. ProM 5.2 contains multiple plug-ins for the discovery of the control-flow, resource, and perspective perspectives. Furthermore, the results for multiple perspectives can be stitched together in one simulation model and exported to the CPN-tools simulation environment (21) . In this paper, all presented process mining results are obtained using ProM 5.2.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I I O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B I O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B I O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O