Reference Model for World Wide Web Voting and Rating ... - CiteSeerX

2 downloads 0 Views 25KB Size Report
One of the purposes of the Web4Groups Telematics Applications Project of 4. ... of the Voting and Rating Reference Model and their relationship are presented ...
Reference Model for World Wide Web Voting and Rating Services Miklós Bíró, László Kovács, András Micsik, Tibor Remzsô MTA SZTAKI Computer and Automation Research Institute of the Hungarian Academy of Sciences Distributed Systems Department MTA SZTAKI, H-1111 Budapest XI. Lágymányosi u. 11. Hungary {miklos.biro, laszlo.kovacs, micsik, remzso}@sztaki.hu

Abstract One of the purposes of the Web4Groups Telematics Applications Project of 4. Framework is to provide, develop, and demonstrate new standardized group communication services for European citizens. Voting and rating services are an important part of the tasks of Web4Groups. In this paper the generalization of the voting and rating architecture is provided in the form of a Reference Model. A Reference Model is an abstract computational model without any particular implementation issues. The main purpose of creating this Reference Model is the promotion of the basic understanding of the problem of voting and rating. The Reference Model is a specialized version of the Reference Model of Distributed Group Decision Support Systems (RM-DGDSS) developed previously. The RM-DGDSS defines a distributed architecture environment for supporting a group of decision makers connected via computer network. Entities of the Voting and Rating Reference Model and their relationship are presented as well.

Keywords: voting, rating, groupware, protocol, CSCW, ODP, reference model

1.0 Introduction Rating and voting activities require the gathering of participants' opinions from large distances, and therefore they are closely connected to network issues and distributed processing. Nowadays there are dozens of WWW pages offering rating/voting (R/V) in a given topic. Usually the summary of these ratings/votings are also put on 1

the Web. The use of voting on the Internet can be characterized by calculating the number of sympathizers, or asking the opinion of people in some topic. One usual occurrence for rating on the Web is the rating of documents by volunteers who subsequently get tips for other interesting documents (FireFly, GroupLens). These documents are chosen to match their interest derived from the volunteers' own rating. Lot of these pages are made just for scientific experimentation or fun and there are not any serious consequences of the rating result. There are some more serious uses of rating/voting summarized in [RVR]. An early bird of the configurable and distributed voting systems is being developed by SmartChoice Technologies Corporation [SCh]. The two strong points of their system is the distributed, open architecture and a description language for rating/voting forms. A strongly connected problem is the disclosure of young netizens from viewing pages which their parents would not allow. One solution for this is to have ratings on documents and have the WWW browser automatically notify and act on viewing documents which are rated as harmful for children. The PICS (Platform for Internet Content Selection) standard is a definition of a rating language and transfer mechanism for this purpose [PICS]. In this paper rating and voting activities will be analyzed in order to distill a generalized view of such events. In order to do this, first the basic terminology and functionality is clarified in Section 2. Then the importance and nature of Reference Models is exposed in Section 3. The Reference Model for Open Distributed Processing (RM-ODP) serves as the base of our modelling effort, upon which a Reference Model for Distributed Group Decision Support Systems (RM-DGDSS) could be built. The Reference Model for Rating and Voting detailed in Section 4 is a specialized version of RM-DGDSS. As an example the application of the Reference Model for the Web4Groups system is given in Section 5. Web4Groups is a global group communication service. Its operation is based on forums where users can read messages and put new messages. Forums have different types which differ in access rights and management properties from each other. Forums can be nested, and users have browse, outline and search methods on the contents. These workspaces are accessible not only with WWW but also via e-mail, fax or telephone. Together with other functionalities the Web4Groups software creates a sophisticated workspace for teams or communities. As the project is evolving, the Web4Groups environment will be enhanced with further services: annotation, joint editing, rating/voting.

2.0 Clarification of terms rating and voting Generally rating/voting is an action in which persons express their opinions in a topic by answering questions in a form [D4.5]. There are several other words for this action with slight differences in meanings:

• Polling: to find out preferences of the public (for example about the sympathy with the government) • Expertise: to measure the properties of something asking several experts (for example the review of a scientific paper) • Voting: to collect votes on a topic to create a decision (for example votes in the Parliament) • Rating or Ranking: to order things according their chosen characteristics • Information filtering: to select out things from a set according their characteristics The above categories are rather expressions of variations on a theme. An actual rating/voting (R/V) process can hold similarities to more of these expressions. In this article the R/V term is used to embrace the broadest possibilities in the area.

Reference Model for World Wide Web Voting and Rating Services

2

An ISO draft paper about user requirements for computer-supported rating/voting summarizes keywords and processes in an R/V event, and defines terms for them [ISO]. Here we will use most of these terms in further descriptions and therefore we clarify those:

• R/V issue: the topic of the vote • R/V agenda: deadlines and execution details for subtasks • R/V announcement: a document which announces the R/V event • R/V form: the series of questions to be answered by the participants Despite of having multiple names, R/V events share a lot in procedural aspect. Most R/V events can be outlined with the following procedures:

• A group of people (participants) is asked to fill in the R/V form • The answers (votes) are collected from the participants • The votes are analyses which yields a result of the R/V event Results of R/V events often bring consequences such as appointing somebody to some function, giving prizes to some persons, or making orders and laws. Results are often publicized in some way to a smaller or larger group. Continuing the examination of these procedures one can conclude at a generalized description of R/V events (section 4.1), which is given as part of the Reference Model for Rating and Voting.

3.0 Reference Models In this work the very successful line of developments of reference models is followed. After ISO OSI Reference Model [RM-OSI] the Reference Model of Open Distributed Processing [RM-ODP] was established. Both of these reference models share the following basic characteristics. A reference model defines a vision, a strategic outline for the standardization of a kind of distributed processing. The main purpose of reference models is the description and standardization of basic ideas, entities, algorithms etc. of computer network architectures/distributed systems. It provides a common language and basic understanding for researchers and developers of these areas. Without this common knowledge background, the various ideas and techniques can be easily misinterpreted by different humans.

3.1 Reference Model of Open Distributed Systems The Reference Model of Open Distributed Processing (RM-ODP) provides a coordinating framework for the standardization of ODP. It identifies and standardizes the basic elements, the concepts, the algorithms of architectures of distributed processing developments. The Reference Model of ODP is based on two fundamental requirements that motivate the current developments. The first is the demand for distribution of information systems and the information itself. Distribution is a natural reflection of the real world situation (e. g. distributed enterprise and its operations). Distribution can be used to promote the parallel processing, the timely access of information or to reduce the negative consequences of failures. The second basic requirement is the openness. This concept provides the way of dealing with the heterogeneity of equipments, operating systems, programming languages, databases, applications, etc. used in distributed systems. The RM-ODP defines the technical bases for standards on ODP architectures and interfaces so coherent distributed systems can be constructed from heterogeneous and reusable components (objects). [RM-ODP] According to the organization idea and the terminology of the Reference Model of ODP, the development of a "Specific Reference Model" for Distributed Group Decision Support Systems (RM-DGDSS) which covers the individual, particular concepts of group decision support was developed [BirKov94].

Reference Model for World Wide Web Voting and Rating Services

3

4.0 Reference Model for Rating and Voting In this section a possible Reference Model is outlined for R/V activities in the broad sense that is discussed in Section 2. However we must assume that the R/V activity is carried out on a computer network, and that the personal opinions are expressed in an automatically processable way. If most of the R/V activities can be described with this model, then it is able to serve as a basis for a general R/V framework. In this case the Reference Model for Rating and Voting can be used as a starting point when implementing a R/V support system.

4.1 The generalized description of a rating/voting process A rating/voting process basically consists of the following subprocesses: initiation, collection, analysis, distribution, decision making. The function of each subprocess is described here:

4.1.1 Initiation The initiation of the rating/voting process (RVP) arranges all the aspects, roles and criteria of the process, defining common properties and data for all subprocesses, and then the subprocesses themselves. Main tasks:

• Preparation of the R/V database (containing votes, results, personal data, etc.) • Definition of subprocesses: collection, analysis, distribution, decision making • Announcement of the new R/V process The R/V database includes:

• R/V issue • R/V announcement text • R/V form • R/V agenda • Personal issues - R/V group (the participants of the RVP who give their votes) - Special roles (initiator, observers, chairman, administrator, etc.) - Access rights (permits to read, write data, start/stop subprocesses) 4.1.2 Collection The collection subprocess is responsible for receiving the votes and putting them into the R/V database. This can be done in several different flavors: Voting by notification The participants are notified about the R/V process, practically the R/V form is sent out, and they return it filled in. Continuous voting The collection phase has no predefined deadline, participants may add their votes any time while the process is alive. The collection subprocess is stopped by the initiator or other authorized person. Changing a vote It may be allowed during the collection phase for a participant to change his/her vote several times. The collection subprocess is also responsible for authenticating the participants. It may also notify other subprocesses if a new vote arrives. Reference Model for World Wide Web Voting and Rating Services

4

4.1.3 Analysis The analysis subprocess performs all the calculations needed for the evaluation of the votes. This may cover several different algorithms to run on the R/V database. The results are put back into the R/V database to be distributed by another subprocess. In the case of continuous voting the analysis should be done in a timely manner. The actual questions in the R/V form determine which algorithms can be used for analysis. For example a ranking choice can be evaluated with the rank sum or the net binary score calculation [D4.5]. A large set of analysis algorithms is known (Alternative voting, Largest Remainder system, rank sum, etc.) and can be applied here.

4.1.4 Distribution The distribution of the results of the R/V process can happen in several ways. The most straightforward examples are: Distribution by mail The results are sent to the participants and to the observers via e-mail. Distribution on the WWW The results are converted into HTML and put on a Web server. The result pages can be protected with user authentication. The participants may be notified by e-mail about the existence of the WWW page, or the location of the page can be announced on other WWW pages. Distribution according PICS PICS defines several ways to serve and acquire rating information for a specific WWW page.

4.1.5 Decision making This is an optional element in a R/V process. The main purpose is to help or automate decision making processes with the help of the R/V database. This can mean one of the following: Gateway possibilities to Decision Support Systems With this subprocess the R/V database can be connected to other Decision Support Systems in order to achieve effectual decision based on the R/V results. Automatic decision making Certain R/V results trigger automated decisions. For example WWW pages getting most votes are included in the Top 100 list. Built-in decision support Simple decision support functions can be implemented here. For example further analysis of the R/ V results, and propagation of decisions. An R/V profile is a detailed description of one type of R/V process in the sense of the above enumerated choices. R/V profiles offer reusable R/V scenarios. For example a Hungarian parliamentarian election profile could be constructed if we successively connected two R/Vprocesses with a common database, and defined the actual subprocesses in both R/V processes.

4.2 Object decomposition of an R/V process The Reference Model uses an object-oriented approach, modelling basic R/V entities and processing phases with object classes. The inheritance hierarchy shows common features and requirements of classes. The two main root classes are Process and RVData. The Process class is used to provide process scheduling on one hand, and also to provide a generalized program architecture which utilizes Process objects as building blocks from the view of execution. Generalized program architecture is also supported by the RVData class, but from the data management viewpoint. The RVAccessRight class is for the general handling of users' access rights. The RVDatabase class is basically a persistent container for RVData objects.

Reference Model for World Wide Web Voting and Rating Services

5

Following is the schematic inheritance hierarchy for the basic classes in the Reference Model: Process RVProcess InitiationProcess CollectionProcess AnalysisProcess DistributionProcess DecisionProcess SchedulerProcess AuxiliaryProcess AuthenticationProcess AnalyseAlgorithm MajorityAlgorithm PluralityAlgorithm ... RVAccessRight RVData RVUser Participant Chairman Observer Initiator Administrator RVDocument RVForm RVResult RVAgenda RVVote RVDatabase One R/V process is implemented as an instance of the RVProcess class. It collects all necessary subprocesses for its operation, and has its own database to store all data concerning the R/V process. In this way an RVProcess class can be specialized to serve as an R/V profile. class RVProcess database: RVDatabase initiation: InitiationProcess collection: CollectionProcess analysis: AnalysisProcess distribution: DistributionProcess decision: DecisionProcess scheduler: SchedulerProcess The R/V database contains a directory for all persons involved in the process including observers, and administrator staff as well, but only participants may give a vote. Votes are accessible through the participant objects. Results are also accessible in the database along with essential initial data like the R/V form, the agenda and the announcement document. class RVDatabase persons: set of RVUser results: set of RVResult form: RVForm announcement: RVDocument agenda: RVAgenda class RVData accessrights: RVAccessRight Separate access rights can be set for any data-like object. Access rights may apply to users and processes as well.

Reference Model for World Wide Web Voting and Rating Services

6

4.3 Control flow of an R/V process The generality of the model is achieved through the modular construction of an R/V process. If subprocesses are implemented based on templates, then they are easily changeable. This way one can change the collection subprocess from e-mail collection to collection through WWW forms, and this can be even easier if there are prewritten subprocesses for the most common types of R/V actions mentioned above. The R/V process starts with its Initiation subprocess, during this the R/V database is filled with the necessary data, and the subprocesses are defined and parametrized. At this point the Scheduler subprocess takes the control of the execution, and according to the time schedule in the R/V agenda, it starts and stops other subprocesses. For example when the collection phase of the vote is over, the Scheduler stops the Collection subprocess, and starts the Analysis subprocess. In a continuous R/V process, the Scheduler time by time starts the Analysis subprocess to refresh R/V results. With an other approach the Analysis subprocess is notified through the Scheduler whenever a new vote arrives, to refresh results. This way the behavior of the R/V process in time is given by the Data in the R/V agenda and the Scheduler subprocess, while functional aspects are defined in other subprocesses. As an example we can construct a continuous majority vote via a WWW server, where the results are continuously updated. After a given date, the "winner" is notified by e-mail: Initiation Schedule Collection Analysis Distribution Decision

= = = = = =

SomeInitiationVariant ContinuousScheduler WWWNoAuthCollection MajorityAnalysis OpenWWWDistribution MailNotifyDecision

4.4 Data flow in an R/V process All processes store and use data in the R/V database, which acts as a common storage and data passing mechanism for the R/V process. Subprocesses do not exchange data directly with each other. There are basic methods that are needed for every subprocess for data storage and access. These are guaranteed by the RVData class and its immediate subclasses. If a subprocess needs for example a more elaborate object class for the storage of user data, a new class can be specialized from the RVUser class, but it must maintain the general interface of the object class, which is needed by other subprocesses. At the end of the R/V process, the whole database or parts of it can be transferred to analytical tools for further processing.

5.0 Extending Web4Groups with Rating and Voting functionality Web4Groups builds on a client-server architecture. The heart of the system is a distributed object-oriented database called KOM. The chain of KOM servers store all data of the system, and exchange them with each other through the Internet. To access the database one can choose a simple text-oriented client, a WWW browser or email. The Web4Groups system is used for group communication [D3.3] starting from message exchange to more developed methods like joint editing, annotating each others contributions and voting. As an investigation showed [D4.5] Web4Groups users need mostly two kinds of functionality in connection with R/V. The first is the ability of organizing R/V activities within forums. This kind of functionality will be called "voting" in the Web4Groups project. A voting activity will conclude in a decision in most cases (changes in a work plan, opening a new discussion forum, etc.), however it can also be an informational voting (showing the opinions of forum members).

Reference Model for World Wide Web Voting and Rating Services

7

The second type R/V functionality needed in Web4Groups is to assign category measures to documents in the system on a R/V basis. Categories may include: topic, quality, usefulness, etc., therefore this kind of functionality will be called "rating" hereafter. In the first step users will be able to rate the quality of documents with a number from1 to 5, represented with stars (2-5) and a trashcan (1).

5.1 Application of the Reference Model for the voting activities in Web4Groups The Web4Groups system offers database and user services for the new R/V subsystem, which include: storage facility for R/V objects, management of users and access rights, user authentication, distribution methods, etc. To exploit these facilities and also to integrate the R/V subsystem with the Web4groups system, the class hierarchy of the Reference Model is merged into the class hierarchy of Web4Groups. Contribution .... VoteAgenda VoteAnnouncement VoteForm UserVote VoteResult Person Participant Chairman Observer Organiser