Dynamic Visualizations for Multi-Domain Search Results Alessandro Bozzon, Luca Cioria, Piero Fraternali, Maristella Matera Dipartimento di Elettronica e Informazione, Politecnico di Milano P.zza L. da Vinci, 32 - 20133 - Milano [name.surname]@polimi.it ABSTRACT result set. As in vertical search applications, one would like Search systems are becoming increasingly sophisticated in to fine tune the result display to the type of objects retrieved, their capacity of building results that are not mere lists of to optimize the immediate readability of the result page. documents but articulated sets of concepts retrieved from This may require varying the visualization technique quite different domains. As the search result sets exhibit more radically, e.g., using maps to chart multiple geo-referenced structure, techniques are required to visualize the retrieved objects, time lines to convey temporal series, and ad hoc objects in a way that facilitates the immediate understand- widgets for multidimensional data. ing of their properties and relationships. This paper inves- This paper addresses the problem of automating the con- tigates the use of models to represent both result sets and struction of result visualization interfaces for multi-domain visualization spaces, and of model-to-model transformations search tasks, where results are ranked combinations of ob- to dynamically suggest an optimized result visualization for jects with typed attributes and relationships. In [3] we al- multi-domain search. ready clarified our perspective on visualizations for multi- domain search tasks, and discussed how the dynamic con- struction of search results visualizations can be “reduced” 1. INTRODUCTION to the identification of a model-to-model mapping between a Past years have seen an evolution in the way search en- data set model and a visualization space model. In this paper gines, and more generally information seeking applications, we illustrate in details the models and the mapping process deliver responses to user’s information needs. Mainstream that exploits static and dynamic result properties (e.g., data search engines are now capable of recognizing quite a large types and attribute value distribution) to dynamically de- amount of concepts in the input keywords (people, cities, termine the visualization to use for result presentation. events, etc.) and provide a customized representation of The paper is organized as follows: Section 2 overviews the results, e.g., by including maps, photographs, videos, and related work; Section 3 introduces the models of the result concept-dependent data, like tourism information for a re- data set space and the visualization space, and describes the trieved city. A more sophisticated approach to result visu- mapping rules between such models for choosing the most alization is however provided by vertical search applications appropriate visualizations at runtime; Section 4 illustrates (e.g., Wanderfly - www.wanderfly.com), which exploit do- the mapping on a running example; Section 5 briefly shows main knowledge to optimize the display of retrieved results. how the described mapping is implemented within an archi- Also due to the always increasing availability of public tecture for multi-domain search applications; finally, Section Web data sources in different domains, we expect a diffu- 6 outlines the future work. sion of high quality information retrieval systems and an increased interest for search-based applications also in B2B and B2C applications, as a primary means for locating rele- 2. RELATED WORK vant documents and/or combinations of objects of interest. New generation search engines are moving towards the col- These factors motivate the demand for appropriate devel- lection and integration of heterogeneous data sources. Kos- opment methods, supporting the construction of effective mix [11] is an example of general-purpose topic discovery result presentation interfaces [9]. Like in horizontal search engine. It offers one-page information summaries about a engines, one would like to achieve a flexible and dynamic topic, retrieved through calls to Web services that extract assembly of the result layout: the kind and amount of infor- information from deep Web data sources. The schema of mation should vary depending on the concepts found in the each topic is a complex record type, which not only com- prises typed properties of the entity but also associations to other entities representing related topics. Data visualization has a long standing tradition, which Permission to make digital or hard copies of all or part of this work for initially focused on the analysis of alternative visualization Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are personal or classroom use is granted without fee provided that copies are techniques for various categories of data [4]. Classic works not made or distributed for profit or commercial advantage and that copies not made or distributed for profit or commercial advantage and that copies like [10] [12] offered guidance in selecting the most appropri- bear bear this this notice notice and and the the full full citation citation onon the the first page. To first page. copy otherwise, To copy otherwise, to to republish, to post postonon servers ate visualization techniques for different types of data (e.g., republish, to servers or toorredistribute to redistribute to lists,torequires lists, requires prior prior specific 1-, 2-, 3-dimensional data, temporal and multi-dimensional specific permission permission and/or aand/or a fee.This fee. This paper article was was presented presented at: at Very Large Data WORKSHOP Search (VLDS) 2011. NAME. data, and tree and network data). Later works (e.g., [6] Copyright Copyright 2011. 2011. [13]) explored the underlying conceptual structure of data- Figure 1: SeCo Architecture oriented visualizations, highlighting a common framework of data visualization strategies, giving a deeper rationale to Figure 2: Overview of the visualization process the taxonomies of visualization techniques. Much work has also addressed the automatic generation of user, based on the features of the current result set and on presentations. The pioneer approach proposed by Mackinlay the available visualization templates; both aspects are en- [8], and other successive works (e.g., [7] [4]), exploit data coded as models. The idea is that when the user submits characterization and propose rule-based approaches to map the initial query, the results are analyzed on the fly and data types to visual elements. The common aim of such the proper visualization is selected and adapted to the char- works is to automatically derive “adequate” visualizations acteristics of the retrieved objects (e.g., since hospitals are [4], where adequate means complete, i.e., the user perceive geo-referenced, results are displayed on a map). If the user from it all the information enclosed within the original data, interacts with the query, then the system analyzes the up- and correct, i.e., no other information is perceived. dated result set and suggests alternative visualizations, (e.g., Our work capitalizes on the results achieved in the re- a time-line, if the user chooses to visualize the doctors’ dates search fields above mentioned. As we will illustrate in the of availability). following sections, we apply such results to the dynamic vi- sualization of multi-domain search results [3], trying to ad- 3.1 Overview of the process dress the issues that characterize this specific context. The dynamic visualization process is shown in Figure 2. It outputs the definition of the presentation view to use for dis- 3. DYNAMIC VISUALIZATION PROCESS playing results, starting from a number of inputs specifying The problem of multi-domain search is defined as the com- relevant characteristics of the result set and the visualiza- putation and presentation of results to queries over multi- tion space. In particular, the result set data consists of a ple Web data sources that return (possibly ranked) lists of ranked list of combinations, i.e., tuples of objects extracted objects. A typical multi-domain query, which we will use from different data sources and correlated by join condi- throughout the paper as running case, is: Find combina- tions. The result set model expresses properties of object tions of hospitals and doctors specialized in the treatment of attributes that can be used for deciding the visualization a given disease, ranked based on the rating of the hospital and also incorporates usage preferences. The visualization and on the scientific impact of the doctor. models expresses the organization of the view, at the ab- Answering multi-domain queries requires a processing ar- stract and concrete level. The abstract level specifies the chitecture like the one implemented in the Search Comput- composition of the view in terms of canonical visualization ing (SeCo) Project [5], and illustrated in Figure 1. The forms, called templates. Examples of templates are cartesian server tier comprises a Service Repository, where external planes, maps, timelines, vertical lists, and temporal anima- data sources can be wrapped and registered using a variety tions (cartesian planes + time). The concrete level instan- of technologies, and a Query Processor, where the orchestra- tiates templates by identifying the widgets to be actually tor invokes the analyzer to decompose the query into service used to implement the template visualization paradigm. calls, and then sends an execution plan to the runtime en- The goal of the process is to determine the best mapping gine that manages the invocation of services and the assem- from data providers (attribute values, object instances and bly of results efficiently. In the client tier, the Liquid Query combinations of objects) to data renderers (axes and visual Graphical User Interface (LQ GUI) [2] allows the user to clues that make up the templates) so that the result set is formulate queries instantiating pre-registered search appli- visualized in a way that best matches the distribution of cation skeletons, that declare the available data sources and objects and combinations in the result set, the types of the the connection paths joining a source to another one. object attributes, and the preferences about which informa- The currently implemented LQ GUI has a fixed set of data tion to show first. visualizations (table, atom view, and maps). The output view is decided in consecutive steps. Dynamic The work described in this paper aims at equipping the Analysis collects statistics on result set data that may im- result presentation module highlighted in Figure 1 with the pact visualization (e.g., range and density of attribute val- capability of automatically suggesting visualizations to the ues). In parallel, Static Analysis extracts from the result set Figure 3: Meta-model of the result set model visualization priorities of attributes according to the the same process. Typically, this is done on an object-by- characteristics of their type, their suitability to identify ob- object basis, to create sub-views that can be displayed on jects, and relative importance of their information content. demand (e.g., pop-up windows with the details of a doctor As a second step, starting from the abstract visualiza- not displayed on the map). When all important attributes tion model, Data Mapping employs heuristics to calculate are mapped, the (possibly nested) view is instantiated and a matching between the sorted list of attributes and the added to the LQ GUI, to be directly rendered or suggested available visualization templates. Each template receives a to the user. suitability score and the top-ranked template is selected. 3.2 Result set model The result set model specifies the properties relevant for visualization of combinations, objects and attributes, which conforms to the meta-model described in Figure 3. It rep- resents type-level, instance-level and statistic information. At the type level, the containment structure of combina- tions, objects and attributes is represented, with the join paths that correlate object types and the attributes used for joining. Rank criteria of objects and combinations are modeled as derived attributes consisting of weighed sums of attribute values. Object rank can also be expressed simply by the value of an attribute (marked by the isRank Boolean flag). Attributes have a type, can be identifiers (e.g., pri- mary or secondary key), and may denote categories (marked by the isCategorical flag). At the instance level, combina- tion instances contain object instances, which are tuple of attribute values. Also, join path instances denote the sets of target object associated to a source object. At the statistic level, the results of dynamic analysis useful for visualization are represented: the implicit enumeration type of string at- tributes (e.g., the doctor’s specialties appearing in the result set), the actual range of attribute values, the number of in- stances of objects and combinations, the average selectivity of attribute values and join paths; density statistics also express the number of attribute values per interval in the range. The instances of join paths can be used to support nested object visualization: objects lacking a strong “visual characterization” can be associated with stronger objects, Figure 4: A rendered view (top) and its abstract resulting in a nested visualization. Figure 4 shows an ex- model (bottom) ample (on top): the placement of hospitals on the map is Finally, View Construction converts the chosen abstract exploited to show where the associated doctors work, even template into a concrete view, by replacing abstract data if doctors are not geo-referenced per se. renderers with concrete widgets (e.g., a map template is Finally, the result set model also expresses different kinds concretely implemented as a Google map view with over- of quality values heuristically assigned by the mapping pro- laid HTML 5 elements). The process can be recursive: if cess to the attributes. attributes with priority above a threshold could not be as- The Distribution Quality is a numerical measure summa- signed to a template, a sub-view can be created by invoking rizing the effectiveness of displaying the instances of a data Figure 5: Meta-model of the visualization space provider (combinations, objects instances, joined objects, query. The view consists of a map template and of a nested and attribute values) based on their distribution statistics. subview. The map templates has two axis, for geographical For instance, an attribute with too dense value distribution coordinates, and a visual clue dimension, for a numerical has low quality. This indicator is computed in two variants: attribute. The subview consists of a list templates, with one (unclustered ) for the case in which all distinct values one vertical axis and a visual clue for a numerical attribute. are rendered; one (clustered ) for the case in which values The bottom part of Figure 4 shows the visualization model are grouped. The latter variant is computed when the den- resulting from the mapping process, and highlights the map- sity of unclustered values exceeds a threshold, based on a ping of data providers to dimensions: the latitude and lon- subdivision of the range of values into fixed width intervals. gitude of hospital objects are associated with the axis of the The Identification Power represents the suitability of the map template, and the Hospital rank to the visual clue. The attribute to denote meaningfully an object instance. For axis of the list template in the subview is mapped to the ob- instance, object’s external names have high identification ject instances of the Doctor object type, and the visual clue power. The value is derived from the specification of primary to the doctor’s specialty and rank. or secondary key attributes in the definition of the queried data sources. The Object Priority and Attribute Type Priority repre- 4. MAPPING SEARCH RESULTS TO VISU- sent respectively (i) the relative importance of objects (e.g., ALIZATIONS hospital first, then doctors) and (ii) a partial order over at- We now illustrate the mapping process on the running tribute types boosting those types that have highly commu- example. Table 1 shows a sample of combinations of the two nicative power (like geographical coordinates, timestamps). objects Hospital and Doctor used in the exemplification. Similar boost is given to rank attributes. Static analysis extracts a number of metadata anno- The Usage Preference specifies the user-perceived suit- tated into the result data set model, whose values range ability of attributes to be associated to certain visualization from 0 to 1, which we report in the following. dimensions. For instance, latitude and longitude attributes Object Priority and Attribute Type Priority. We assume may have high usage preference values as data supplier to that our running query is meant to facilitate the location Cartesian axes, while attributes correlated to the ranking of hospitals; therefore, all the Hospital attributes have the of objects can be effectively associated to visual clues, as highest object priority (objectP riority = 1). Also, geo- shown in Figure 4, where the size of the circle around an graphical attributes have the highest attribute type priority hospital is proportional to its rank position. (attributeT ypeP riority = 1), since we assume that maps are effective visualizations for objects with geo-referenced 3.3 Abstract visualization model attributes. The meta-model of the abstract visualization is described Identification Power. Hospital.Name, Hospital.Address and in Figure 5. A view contains one or more templates, con- Doctor.Name are assigned with the highest scores, given stituted by abstract data containers, which can be punc- their suitability to denote objects in the visualization space. tual, monodimensional, bidimentional, or timed. Examples Rank Correlation. Score, Hospital.Rank and Doctor.Rank of monodimensional data renderers are horizontal and ver- have the highest rankCorrelation, being them ranking at- tical axes, and temporal axes. The latter are intended as tributes. a temporal animation where data values are presented in Usage Preference. Usage preferences depend on the avail- succession. Example of punctual data containers are visual able templates, which we assume to be: maps, timelines, clues (e.g., size and color). The mapping process associates cartesian planes, and vertical lists, composed of axes and vi- each data renderer to a data provider, which can be anything sual clues. Hospital.Lat and Hospital.Long have the highest containing values: a combination type, an object type, an preference related to the visual elements XAsis and YAxis attribute or a join path. respectively. Other secondary preferences for the XAxis el- Figure 4 shows an example of rendered view (top) and of ement go to Hospital.Name and Doctor.Name, and for the the corresponding abstract model (bottom) for our running YAxis to Hospital.Rank, Doctor.Expertise and Doctor.Rank. Table 1: Tabular representation of the result set of the running example. Hospital Doctor Score ID HospitalName Address Lat Long Rank ID Name Expertise Rank 0.923 1 Ospedale Nuovo Via G. Mazzini, 37 45,46331 9,18796 4.3 1 G. Azzoli Cardiologia 4 0.901 1 Ospedale Nuovo Via G. Mazzini, 37 45,46331 9,18796 4.3 4 T. Giudici Cardiologia 3 0.874 1 Ospedale Nuovo Via G. Mazzini, 37 45,46331 9,18796 4.3 2 S. Brambilla Ortopedia 5 0.837 2 Ospedale Sacro Cuore Via Medici, 37 45,46121 9,1807 4.1 3 M. Dell’Orto Cardiologia 3.5 0.789 2 Ospedale Sacro Cuore Via Medici, 37 45,46121 9,1807 4.1 5 F. Casiraghi Allergologia 4.5 0.676 2 Ospedale Sacro Cuore Via Medici, 37 45,46121 9,1807 4.1 9 G. Martinenghi Andrologia 2.5 0.556 3 Clinica D.M.S. Via Bergamini, 12 45,46195 9,19328 2.7 7 S. Secco Ortopedia 3 Table 2: Resulting values for the attribute ranking indexes. Hospital Attributes Doctor Attributes Visual Elements ID Name Address Lat Long Rank ID Name Expertise Rank Xaxis 0 0,37 0,2593 0,833 0,615 0,466 0 0,244 0,2815 0,3426 Yaxis 0 0,259 0,2593 0,611 0,615 0,466 0 0,1333 0,2815 0,3426 Taxis 0 0 0 0 0 0 0 0 0 0 Clue 0 0 0 0 0 0,466 0 0 0,2815 0,3426 These preferences refer for example to visualizations where respect to the presence of unbalanced clusters. In our ex- cartesian spaces render values for the two ranking attributes ample, the Clustered Distribution Quality heuristics also ap- or statistics about doctors’ expertise. Given the absence of plies to the Doctor.Expertise attribute. The resulting value temporal data, no preferences are computed for the element (0.6) is slightly higher than the one computed for the Hos- TAxis. A preference for the Clue element is given to the two pital attributes, due to the better distribution of values into rank attributes, as they are numeric. clusters, which minimizes the group cardinality variance. Dynamic analysis refines the static scores with the char- Unclustered Distribution Quality is applied to interval at- acteristics of the actual data to be rendered. It starts with tributes and computes the distances between pairs of or- determining attribute ranges. For each interval attribute dered values and compares them with the attribute resolu- (e.g., geo-localization, timestamp and numeric), the range tion. Thus, this heuristic expresses how well distinct values of values is determined and a resolution is estimated as the would distribute in the visualization space. For example, minimum distance between two points so that they do not the attributes Hospital.Lat and Hospital.Long do not fea- overlap at rendering time. For example, given the Hospi- ture overlapping values; also, the distances between pairs of tal.Long attribute, its variability range is 0, 01239 (about 1 values is always greater than the resolution computed for the km). Considering the limit of 20 points to be represented on two attributes during static analysis. The distance standard an axis, the resolution value therefore suggests that the min- deviation is also low, meaning that the points distribute ho- imum distance between points should be 0,002478 (about 50 mogeneously in the visualization space. Overall, the index mt). The analysis then proceeds by scoring each attribute is relatively high (0, 72). Slightly lower values are achieved according to the following heuristics. for Hospital.Rank and Doctor.Rank (0, 65 and 0, 59 respec- Categorical Attribute Identification looks for repeating val- tively), due to a higher variance of their value distances. For ues, with the aim of determining whether attributes denote the attribute Doctor.Rank some values are even overlapped. categories. This is useful in order to identify attributes Attribute ranking aggregates a weighed average of the that can be effectively represented as clues. For exam- static and dynamic analysis indexes, with the aim of ranking ple, Doctor.Expertise has repeating values - several doctors the different attributes w.r.t. the different elements of the share a same expertise area. After removing the repeated visual model. The result is shown in Table 2. doctor instances, it is still possible to identify repeated val- Data Mapping starts from the attribute ranking and ues for this attribute. Its isCategorical property will be matches attributes to visual dimensions of available tem- therefore set to true. plates, so to produce associations such as the one illustrated Clustered Distribution Quality aims at recognizing the ex- in Figure 4. Each mapping is scored based on the strength of istence of groups of equal (or very closed w.r.t. the attribute the attribute and on the match between attributes and tem- resolution) values. For example, 3 groups are identified for plate data renderers; then the top-ranked is selected. Match the attribute Hospital.Name. Groups are ordered accord- strength also considers constraints and preferences. For ex- ing to their cardinality, and the percentage of combinations ample, GPS attributes are always matched in pairs with the falling into the first n groups is considered 1 . For Hos- X and Y axes. Also, rank and categorical attributes are pital.Name 100% of values fall into the identified groups. preferably associated with the clue dimension. For brevity, The clustered distribution, quantified as 0.4, is determined we exemplify only the mapping of attributes to the map by correlating the number of groups, the percentage of in- template for the main view; attributes are also mapped to stances falling in the first n groups (the higher the better), the timeline, vertical list, and cartesian plane templates, but and the variance of groups cardinalities (the lower the bet- the match score is lower and thus the map is selected. Simi- ter). This last factor allows us to weigh the index value with larly, for the subview, we only comment the mapping to the vertical list template, which wins over map, timeline, and 1 cartesian plane. The number n of groups that can be reasonably rendered in a vis. space is heuristically set to 10 in our experiments. XAxis. It is associated with Hospital.Long; this attribute has a high score for the Object and Attribute Type Priority, at run-time by the view construction module, according to and a good score for the Unclustered Distribution Quality. the result of the calculated data mappings. YAxis. Due to the previous choice, it is “necessarily” associated with Hospital.Lat (geographical coordinates are 6. CONCLUSIONS matched in pairs). In this paper we have presented an approach for dynami- Clue. Since XAxis and YAxis both refer to attributes of a cally creating the visualization of data sets for multi-domain same object (Hospital), then other attributes of this object search applications. The data set and the visualization space have priority as visual clues. Hospital.Rank has the high- are modeled in a platform independent way and heuristic est rank and is therefore associated with Clue.Size. The transformation rules map the data set model into an ab- data renderer Clue.Info, which is a catchall renderer that stract visualization model, which is then made concrete by can be used with attributes of any type, is associated with instantiating abstract data renderers with widgets. Hospital.Name and Hospital.Address. Since there are no cat- Future work will concentrate on the efficient client-side egorical attributes for the Hospital object, Clue.Color and implementation of the dynamic visualization architecture, Clue.shape are not instantiated. on the provision of more advanced visualization templates NestedView. Since all the attributes of Hospital are mapped and concrete widgets, such as those discussed in [1], and on and none of Doctor, a nested view is created. The mapping the fine tuning of heuristic mapping rules, also with the help algorithm is applied recursively to a data set reduced to of usability studies. the Doctor instances. The vertical list template gets the best matching score: indeed, the Yaxis element gets asso- ciated with identifying attribute Doctor.Name. Clue.Color Acknowledgments is matched with Doctor.Expertise: indeed, being this a cate- This research is part of the Search Computing (SeCo) project, gorical attribute, its values can be effectively rendered through funded by the European Research Council, under the IDEAS different colors. Clue.Info gets associated with the remain- Advanced Grants program. ing attributes (only Doctor.Rank ) During the successive Concrete View Construction, 7. REFERENCES abstract renderers of the templates instantiated at the pre- [1] W. Aigner, S. Miksch, H. Schumann, and C. Tominski. vious phase are replaced by concrete widgets. For example, Visualization of Time-Oriented Data. Springer, 2011. the map-based template is implemented through a Google [2] A. Bozzon et al. Liquid query: multi-domain Map component, which visualizes the geographical attributes, exploratory search on the web. In Proc. of WWW, the size clue (by means of circles of different radius) and pages 161–170, 2010. the nested template (with pop-ups). The local rank of the [3] A. Bozzon et al. Visualization of multi-domain ranked doctors is rendered graphically by using the stars clue, a data. In S. Ceri and M. Brambilla, editors, SeCO representation style supported by the widget. Workshop, volume 6585 of LNCS, pages 53–69. Once the concrete widget is rendered, the user can per- Springer, 2010. form some filtering actions that trigger the construction of [4] T. Catarci et al. User-Centered Data Management. a new view. For example, given the map-based view rep- Morgan & Claypool, 2010. resented in Figure 4, users might select a specific hospital, [5] S. Ceri et al. Search computing: Managing complex focusing their interest on the specialists, so reducing the search queries. Internet Computing, IEEE, 14(6):14 result to the only Doctor object type. A new generation –22, 2010. process therefore starts, taking into account the Doctor’s at- tributes and applying the steps previously described to such [6] E. Chi. A taxonomy of visualization techniques using attributes. For example, one top-ranked template would the data state reference model. In INFOVIS, pages consists of the association of the attribute Doctor.Expertise 69–76, 2000. with the XAxis element, of the Doctor.Rank attribute with [7] E. M. Haber, Y. E. Ioannidis, and M. Livny. the YAxis, and of the Doctor.Name attribute with the Clue. Foundations of visual metaphors for schema display. J. Info. Intell. Inf. Syst., 3(3/4):263–298, 1994. [8] J. D. Mackinlay. Automatic Design of Graphical Presentations. PhD thesis, Stanford University, 1986. 5. PRELIMINARY IMPLEMENTATION [9] D. Newman et al. Visualizing search results and We have implemented a first prototype adding dynamic document collections using topic maps. J. Web Sem., and adaptive result visualization to the LQ GUI component 8(2-3):169–175, 2010. shown in Figure 1. At server-side, the query processor has [10] C. North. A taxonomy of information visualization been extended with an analysis component implemented in user-interfaces, 1998. Ruby on Rails, including two modules devoted to the static and dynamic analysis. At the client side, a new UI-builder [11] A. Rajaraman. Kosmix: Exploring the deep web using module, implemented in JavaScript, assembles the user in- taxonomies and categorization. PVLDB, terface according to the visualization templates and to the 2(2):1524–1529, 2009. result of a data mapping operation. The current implemen- [12] J. Rodrigues, A. Traina, M. de Oliveira, and C. J. tation relies on an un-optimized delegation of the data map- Traina. Reviewing data visualization: an analytical ping functions to the server side component. The client side taxonomical study. In IV, pages 713–720, 2006. also comprises the concrete presentation widgets responsible [13] C. Stolte, D. Tang, and P. Hanrahan. Polaris: a of rendering the result set and of capturing the user interac- system for query, analysis, and visualization of tion commands. Each widget is implemented as an HTML multidimensional databases. Commun. ACM, and Javascript view component, configured and instantiated 51(11):75–84, 2008.