An investigation of social loafing and social compensation in computer-supported cooperative work The effects of computer-mediated communication on social loafing in brainstorming tasks and social compensation in decision-making tasks are examined. In the first experiment, subjects performed a brainstorming task in either nominal, face-to-face or computer-mediated brainstorming group conditions. Production blocking, in which brainstorming group members interfere with each other's output, was minimised, but the nominal group still out-performed the other groups. In the second experiment, subjects performed a group decision task in face-to-face and computer mediated communication conditions. Social compensation in the presence of social loafing was seen to occur in the first condition, but not in the second. The paper concludes by discussing some of the consequences of both experiments for the future role of computer-mediated communication in group work. A major goal of computer-supported cooperative work (CSCW) is to enable people to work together without the restrictions on place and time imposed by conventional 'face-to-face' group work. In order to achieve this, it is argued that it is not necessary that CSCW tools attempt to duplicate the circumstances of face-to-face working in their entirety. There is a considerable body of evidence that, for example, the use of video makes little difference to group behaviour in many CSCW task scenarios [15, 16] . Indeed, it is argued that CSCW is best conceptualised as a new Pamission to make digital or hard copies ofall or part ofthis work fol personal or classroom us.2 is granted without fee provided lhat topics arc not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. I'o copy otherwise.. to republish, to post on serw-s or to redistribute to lists. rcquircs prior spccilic permission and/or a fee.. GROUP 99 Phoenix Arizona US. 4 Nevertheless, we contend that when people communicate or collaborate by means of CSCW tools, the same general sorts of social phenomena arise as is the case when people interact in normal face-to-face settings. What this means is that factors such as social group influences on the individual, and interactional aspects influenced by social identity, can all arise in the case of CSCW, as well as in face-to-face interaction. It therefore remains important to explore both the kinds --and magnitudes --of effects that are likely to follow on the displacement of face-to-face work by CSCW.. In order to study group behaviour in face-to-face and computer-mediated conditions, we have conducted a series of laboratory-based studies using brainstorming and decisionmaking as model group tasks. Brainstorming --the generation of novel ideas --is a task in which it has been predicted that output per individual is likely to be greater among groups than among people working in isolation [17] . The suggestion is that when working in groups, people hear one another's ideas and this sparks off fresh lines of thought. This provides the brainstorming group with an advantage over similar collections of individuals, 'nominal' groups whose work output is collated for purposes of comparison with the brainstorming group. The principle of brainstorming is that each group member contributes ideas and that the better ones will be improved upon and combined with the ideas of other group members. The claim is that brainstorming groups produce, per member, more and better ideas than nominal groups. This has, however, proved to be hard to verify in practice.. We focus in this paper on the results of an investigation of two important aspects of group behaviour: 'social loafing' -i.e., the tendency for people to work less hard in groupsand 'social compensation' -i.e., where some group members work harder to make up for others loafing.. The limitations of laboratory studies as a technique for investigating users' requirements for IT systems are now widely known and acknowledged: user behaviour needs to be contextualised to be properly understood; users' needs change as they learn and adapt to new technologies. We argue, however, that though they are not a substitute for 'real world' investigation, laboratory studies nevertheless have a useful role to play in helping to map out the design space and to assess the potential impact of design options. Overall, the experiments suggest that for some tasks, output from computer-mediated groups may be lower than that either from collections of individuals or from face-toface groups.. The first experiment demonstrated reduced output in computer-mediated groups even when production blocking is removed. Following Gallupe at al., this suggests that social loafing occurs in computer-mediated groups [lo] . The second experiment demonstrated reduced output in computer-mediated groups in the presence of overt loafing, suggesting that loafing-generated social compensation does not occur in such groups.. Taken together, the experiments show that computermediated group performance was worse than that of a comparable collection of individuals and also of a comparable face-to-face group. The results would seem to confirm the initial premise that in some circumstances computer-mediated groups may experience the worst of both worlds: computer-mediated groups have sufficient psychological reality to engender social loafing, but insufficient to invoke the social compensation that might otherwise ameliorate the loss in productivity.. The results of these two studies may have important implications for CSCW. They demonstrate that a 'virtual' group is virtual in more ways than one. Not only are its members physically dispersed, but the effects on those members of belonging to the group are diminished.. The computer-mediated groups in this study had to work together using only the most meager of interaction resources. This raises the question of whether better interaction resources would lead to improved results and, specifically, whether the use of technologies such as videoconferencing may help to improve group performance by enhancing group cohesiveness. Though studies suggest that the addition of video has little effect on interactional behaviour --e.g., speech patterns --in physically dispersed groups [ 15,181, it may yet prove significant for improving group perceptions of membership salience or cohesiveness.. The literature on differences between face-to-face and computer-mediated groups provides somewhat conflicting answers to this question. It has been argued that richer interaction media improves group performance [ 4,221, however, experimental studies suggest that though performance enhancing effects of video have been observed in short-term, or time-limited groups, they are absent in longer-term, or time-unlimited groups [26] . In fact, the issue may not be that computer-mediated groups are unable to generate productivity-enhancing levels of cohesiveness, but that they achieve these levels of cohesion more slowly: yet other studies suggest that computer-mediated groups take longer to develop norms and social relationships [24] . Once all sessions were complete, the total number of nonredundant ideas produced was calculated using established coding rules [2] . These disallowed generalities and ambiguously phrased ideas if the intent was not immediately determinable. All the ideas were coded by two separate, independent markers and cross-referenced for duplications. The participant scores from the nominal group condition were randomly grouped into threes to allow comparison with scores from the other two conditions. The finding that there was no difference between the face-toface brainstorming condition and the computer-mediated brainstorming condition is in contrast with the findings of Gallupe et al. which demonstrated a productivity gain for participants in their computer-mediated condition [lo] . The explanation posed here is that in the earlier study, the relatively successful computer-mediated condition included a memory aid which was absent in the non-computermediated condition. The present study suggests that when a memory aid is provided to face-to-face groups, the brainstorming advantage of computer-mediated communication disappears.. The finding that participants in the nominal group condition produced more ideas than did those in the two brainstorming conditions agrees with the earlier work of Diehl and Stroebe [7] . One suggestion in line with Diehl and Stroebe's original conclusions is that in spite of attempts to reduce production-blocking in the face-to-face and computer-mediated brainstorming group conditions, some sort of production blocking loss occurred. In Diehl and Stroebe's terms, production-blocking can be understood as an outcome of waiting on other group-members to finish speaking. The person awaiting the turn to speak might forget the idea, or waste time mentally rehearsing it to prevent forgetting or experience the current speaker's contribution as distraction.. In the present experiment, participants in both brainstorming conditions could write or type their ideas immediately, which should have prevented forgetting and rehearsal. This leaves the possibility of distraction in which the participant attends to other participants' contributions instead of his or her own. However, it is not clear that in the current case distraction of this sort unambiguously represents a form of blocking. Given that the whole idea of brainstorming is that one attends to the output of others for the purposes of creativity stimulation, it seems inappropriate to describe this as 'blocking'. It is perhaps better to accept that there is some point beyond which refraining from generating one's own output changes from being a search for creative stimulation into social loafing. The fuzziness of this category distinction is one to which many authors can attest.. The results support the view that when social loafing occurs, its detrimental effect on average output per group member may be reduced by factors such as social compensation. However, this is more likely to occur in face-to-face circumstances than in computer-mediated circumstances. There are at least two possible explanations for this. The reduced influence of social factors like social compensation within computer-mediated contexts may be the result of lower levels in perceived importance of group membership or group cohesiveness. It may be that, because participants interact with one another only via computermediated communication, their sense of belonging to a group of people whose joint interests they share is diminished. Alternatively, reduction in the influence of social factors may be due to participants' inability to perceive loafing in the computer-mediated group condition.. Several studies [8, 12] have suggested that working under computer-mediated conditions reduces the extent to which co-workers can informally feedback or 'peripherally attend' to what their fellow workers are doing. In the present study, it may be that participants in the computer-mediated condition were, in some way, prevented from noticing the non-input of the experimental assistant in the social loafer present condition.. An examination of transcripts from the computer-mediated group and face-to-face group conditions suggested that, in the former, participants acted individually or at best in pairs. This finding is consistent with other studies [14] . In contrast, participants in the face-to-face group condition made greater efforts to overcome the objections of others or to justify their own views to the rest of their group. This may be an explanation of the relatively low output in the computer-mediated group, overt loafer present condition. Participants in the computer-mediated group condition worked on an individualistic basis that may have reflected reduced group cohesion and reduced peripheral attention. The effect of this would have been to prevent participants in the computer-mediated condition from noticing the social loafer's inactivity and, thereby, to inhibit social compensation. The procedures were designed to minimize productionblocking in the face-toface and computer-mediated brainstorming groups. In the face-to-face brainstorming condition, participants were able to write up their ideas at any time, and were instructed to do so even if someone else was talking. In the computer-mediated brainstorming condition, participants were able to type ideas into their private area of the X-talk interface at any time, irrespective of what was happening in the public area of the interface.. Gallupe et al. reported that their computer-mediated brainstorming group performed better than their face-to-face brainstorming group [lo]. They explained this in part by noting that unlike the face-to-face groups, the computermediated brainstorming groups were able to view a sample of others' contributions, rather than merely try to remember them. To this extent, the computer-mediated communication system used in the computer-mediated brainstorming condition acted as a memory aid or repository for group contributions. There was no comparable memory aid in their face-to-face condition. Gallupe et al. concluded that the improvement in output observed in the computermediated condition might have been due to this memory-aid effect. In the present study, this issue was addressed by providing participants in the face-to-face condition with the public 'notice board' on which participants' contributions were written. Thus participants in the face-to-face condition could review previous contributions in much the same way as participants in the computer-mediated condition could review contributions by scrolling back the screen.. The output of participants in each of the three conditions showed that the nominal groups were able to generate more ideas than either of the brainstorming groups. The mean number of ideas generated by the six groups within each of the conditions is presented in Table 1 . Table 1 shows that, as predicted, the largest number of ideas was generated in the group condition while the two brainstorming conditions generated similarly smaller amounts. With an alpha level of p c .OS, a one-way ANOVA test showed that these differences were significant, F(2,17) = 4.4, p = .03. Post-hoc LSD tests on these results show that the differences between the nominal group and both the face-to-face brainstorming group and the computermediated brainstorming group were significant, while the difference between the face-to-face brainstorming group and the computer-mediated brainstorming group was not significant.. The average numbers of words per group member generated in the face-to-face group condition and the computermediated group condition, when a social loafer was either present or absent, are presented in Table 2 .. It was anticipated that participants in the faceto-face condition would, on average, generate more words than those in the computer-mediated condition, since speaking is quicker than typing, and this effect was observed. There was also a interaction effect. When a social loafer was present, average output per participant was higher in the face-teface condition but lower in the computer-mediated condition. This interaction was seen to be significant, with alpha set at p c .Ol, F(1,28) = 6.89, p = .014. This appears to support the suggestion that if a group contains a social loafer then compensation, as measured by the average output per group member, will occur in face-to-face groups but will not appear in computer-mediated groups. A one-way factorial design was employed to compare the number of non-redundant ideas generated by face-to-face and computer-mediated brainstorming groups and by nominal (non-computer-mediated) groups. The between participants factor had three levels, representing the three brainstorming conditions: nominal group, face-to-face brainstorming group and computer-mediated brainstorming group. The participants were 54 undergraduate computer science students at Edinburgh University who responded to a request for computer-literate students placed in a class newsgroup. 18 participants were randomly allocated to each of three experimental conditions.. In the nominal and face-to-face group conditions, participants were given writing materials. In the nominal group condition these comprised pens and blank A4 sheets of paper. In the face-@face brainstorming condition, these materials comprised large felt tip markers and blank A3 sheets of paper which were pinned to a large communal notice board, with a separate sheet for each participant. In the computer-mediated brainstorming condition, participants used a computer-based text conferencing tool, X-talk. Each participant's interface comprised scrollable private text entry area and public text areas. Participants were only able to view messages in the public area of the X-talk interface once the sender had depressed the 'Enter' key. This allowed for private text editing and also preserved a basic turn-taking structure in the publicly available text. The X-talk tool ran on three Sun workstations.. The topic for the brainstorming task was the same as that used by Gallupe et al.: the 'Thumbs Problem' in which participants are asked to generate ideas about the practical benefits and difficulties posed by having an extra thumb POI-. In a mixed design, groups of participants were asked to perform a pair of tasks either in a face-to-face group condition or in a computer-mediated group condition. A social loafer was present in one of the tasks and absent in the other. This formed a within-participants social loafing condition.. The participants were 30 undergraduate students at Edinburgh University who responded to a request for computer-literate participants placed in a class news group. Half of the participants were randomly allocated to the faceto-face condition and half to the computer-mediated condition. The fifteen participants within each condition were then further randomly allocated to groups of three participants.. In the face-to-face group condition, participants were given writing materials. Their conversations were recorded using a small portable tape-recorder. In the computer-mediated group condition, participants used X-talk, the same textbased conferencing tool that was used in the first experiment. In both conditions, the participants' task was to discuss the relative merit of items of survival equipment. Two brief descriptions of accident scenarios were prepared, one located in the Saharan desert and one in the Arctic desert. Each scenario described an aeroplane accident leading to people being stranded in one or other of the two desert regions. The scenario description was accompanied by a list of ten survival equipment items such as knife, frying pan and water purifier, etc. Procedure After 15 participants had been randomly allocated to the face-to-face condition and 15 to the computer-mediated condition, and those two groups had been further randomly sub-divided into groups of three, an experimental assistant joined each of the groups. The fact that the fourth group member was an experimental assistant was not disclosed to the three other experimental participants. The experimental assistant was not known to any of the participants.. The activity of the experimental assistant determined the level of the within-participants social loafing condition. In the overt loafer present condition, the experimental assistant was instructed to withhold effort. The assistant was asked to make no contribution to the task and to make brief, nonresponsive replies to direct questions from other group members. In the overt loafer absent condition, the experimental assistant was not instructed to withhold effort and contributed as a normal member of the group. To check for order effects across the levels of the withinparticipants social loafer condition, counterbalancing was used. Half of the participants performed the Saharan desert survival scenario task first and, of these, half performed the task with a social loafer present and half with a social loafer absent. The other participants performed the arctic desert survival scenario task first and again half performed the task with a social loafer present and half with a social loafer absent. Participants performed the first task and were then allowed a short rest break before performing the second Table 2 : Mean number of words produced in face-toface and computer-mediated conditions with social loafer present or absent.. task. In the computer-mediated group condition, task performance was preceded by a short period during which participants were able to familiarize themselves with the Xtalk interface.. At the beginning of each session, participants were informed of the nature of the task that they were to perform. It was explained that they were to imagine themselves to be members of a group which had survived the accident described in the accident scenario and that they had to discuss the relative merits of the ten survival items presented in the list which accompanied the scenario description in order to choose the three most valuable items. They were given ten minutes to complete this task.. The aim of the first experiment was to determine whether social loafing occurs in a computer-mediated communication environment. This was measured by number of ideas generated.. In the second experiment, the presence of loafing was guaranteed by the experimental design, and the aim was to establish whether participants tried to compensate for this. In this latter case, a count of number of ideas generated might have under-represented any compensation that took place. Compensation might take a variety of forms. In addition to striving harder to generate more ideas, participants in the condition where the social loafer was present might also work harder to encourage others to cb the same. They may also have expended more effort demonstrating to one another that they were working on the problem, as opposed to loafing. It follows that in this case, it was important to measure the total amount of work done, both in terms of idea generation and in terms of other compensatory social strategies such as encouragement to others. Accordingly, in the second experiment, participant effort was measured as total number of words spoken or typed, rather than merely number of ideas generated.. In the face-to-face condition, participants sat around a table and the discussion was audio-recorded. In the computermediated group condition, participants sat at Sun workstations, which were located in separate rooms. After the short period to allow participants to become familiar with the X-talk interface, the participants carried out the discussion via X-talk. All messages were automatically logged.. At the end of the experiment, the total number of words produced by each of the three participants within a group was counted. The average of these totals was then computed to provide a measure of overall group output. Participants were also interviewed to ascertain their impressions of their fellow group members' individual levels of effort.

O O O B I O B I O B I I O O 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 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 O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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


Reduced-dimension multiuser detection Abstract-We explore several reduced-dimension multiuser detection (RD-MUD) structures that significantly decrease the number of required correlation branches at the receiver frontend, while still achieving performance similar to that of the conventional matched-filter (MF) bank. RD-MUD exploits the fact that the number of active users is typically small relative to the total number of users in the system and relies on ideas of analog compressed sensing to reduce the number of correlators. We first develop a general framework for both linear and nonlinear RD-MUD structures. We then present theoretical performance analysis for two specific detectors: the linear reduced-dimension decorrelating (RDD) detector, which combines subspace projection and thresholding to determine active users and sign detection for data recovery, and the nonlinear reduced-dimension decision-feedback (RDDF) detector, which combines decision-feedback orthogonal matching pursuit for active user detection and sign detection for data recovery. The theoretical performance results for both detectors are validated via numerical simulations. Multiuser detection (MUD) [1] is a classical problem in multiuser communications, where a number of users communicate simultaneously with a given receiver by modulating information symbols onto their unique signature waveforms. The received signal consists of a noisy version of the superposition of the transmitted waveforms, and the receiver has to detect the symbols of all users simultaneously. While there has been much research over the last several decades on multiuser detection, it is not yet widely implemented in practice, largely due to its complexity and high-precision A/D requirement. The complexity of MUD arises both in the analog circuitry for decorrelation as well in the digital signal processing for data detection of each user. We characterize the decorrelation complexity by the number of correlators used and the data detection complexity by the complexity-per-bit [1] .. The conventional MUD structure consists of a matchedfilter (MF) bank front-end followed by a linear or nonlinear digital detector. The MF-bank front-end is a set of correlators, each correlating the received signal with the signature waveform of a different user. Hence this structure requires the number of correlators to be equal to the number of users. To recover user data from the MF-bank output, various digital detectors have been developed. The optimal MUD structure is the maximum likelihood sequence estimator (MLSE) [1] , which minimizes the probability of error for symbol detection, but its complexity-per-bit is exponential in the number of users when the signature waveforms are nonorthogonal. The nonlinear decision feedback (DF) detector [1] is a good compromise between complexity and performance among all nonlinear and linear MUD techniques [1] . This technique detects users iteratively and subtracts the strongest user in each iteration. Both the MLSE and the DF detectors are nonlinear methods. Linear detection requires lower complexity but with a commensurate reduction in performance. This technique applies a linear transform to the receiver front-end output and then detects each symbol separately. Linear MUD techniques include the single-user detector, the decorrelating detector and the minimum mean-square-error (MMSE) detector [1] . When the user signature waveforms are correlated, the performance of the single-user detector degrades, while the decorrelating detector [1] eliminates the user interference by projecting the received signal onto the subspace of the signature waveform of each user. The decorrelating detector has the best nearfar resistance among all linear detectors [1] , although it also amplifies noise. Both linear and nonlinear MUD structures have sufficiently high complexity to preclude their wide adoption in deployed systems. One reason is that they both require the number of correlators at the receiver front-end to be equal to the number of users in the system.. In an earlier work [2] , we proposed low complexity reduced-dimension multiuser detection (RD-MUD). RD-MUD technique exploits the fact that the number of active users K is typically much smaller than the total number of users N at any given time. RD-MUD structure has a front-end that correlates the received signal with M correlating signals, with M much smaller than N . The correlating signals are formed as linear combinations of the signature waveforms via a (possibly complex) coefficient matrix A. Our choice of A will be shown to be crucial for performance. The output of the RD-MUD front-end can thus be viewed as a projection of the MF-bank output onto a lower dimensional detection subspace.. After first developing structures for general linear and nonlinear RD-MUD detectors, we will develop performance analysis bounds for two of these structures: the reduceddimension decorrelating (RDD) detector, a linear detector that combines subspace projection and thresholding to determine active users with a sign detector for data recovery [3] , and the reduced-dimension decision-feedback (RDDF) detector, a nonlinear detector that combines decision-feedback matching pursuit (DF-MP) [4] for active user detection with the sign detector for data recovery in an iterative manner. We present theoretical probability-of-error performance guarantees for these two detectors in terms of the coherence of the matrix A, a fixed number of total users and active users. Our RD-MUD structures consist of two stages: active user detection and data detection of active users. The first stage is closely related to [5] . However, our problem differs in that the probability-oferror must consider errors in both stages. We derive conditions under which the probability-of-error is dominated by errors in the first stage. We do not consider optimizing signature waveforms and hence our results will be parameterized by the crosscorrelation properties of the given signature waveforms.. The rest of the paper is organized as follows. Section II and Section III present the model and the RD-MUD frontend, respectively. Section IV introduces the digital detectors we propose for RD-MUD. Section V contains the theoretical performance guarantees. Section VI contains numerical examples, and Section VII concludes the paper.. II. SYSTEM MODEL Consider a multiuser system with N users. Each user is assigned a unique signature waveform from a set S = {s n (·) : [0, T ] → R, 1 ≤ n ≤ N }, which are assumed given and known, and posess certain properties discussed in more detail below. Each user modulates its signature waveform to transmit its information symbols. The duration of the signature waveform T is referred to as the symbol time. Define the inner product (or crosscorrelation) between two real analog signals x(t) and y(t) as x(t), y(t) T. The crosscorrelations of the signature waveforms are characterized by the Gram matrix G, defined as. For convenience, we assume that s n (t) has unit energy: s n (t) 2 s n (t), s n (t) = 1 for all n so that [G] nn = 1. We also assume that the signature waveforms are linearly independent. Hence G is invertible. We consider the synchronous MUD model with Binary Phase Shift Keying (BPSK) modulation [1] . There are K active users with index set n ∈ I. The complement set I c contains indices of all non-active users. The symbol of user n is b n ∈ {1, −1}, for n ∈ I. Define a gain factor r n for each user which captures the transmitting power and channel gain. We assume r n is real and known to the receiver. The nonactive users can be viewed as transmitting with zero power, or equivalently transmitting zeros: b n = 0, for n ∈ I c . The received signal y(t) is a superposition of the transmitted signals from the active users, plus white Gaussian noise w(t) with zero-mean and variance σ 2 :. with b n ∈ {1, −1}, n ∈ I, and b n = 0, n ∈ I c . The goal of MUD is to detect the set of active users I and their transmitted symbols {b n : n ∈ I}. In practice the number of active users K is typically much smaller than the total number of users N , which is a form of user sparsity. Therefore, the received signal y(t) consists of only a few transmissions from active users. As we show, this user sparsity enables us to reduce the number of correlators at the front-end and still be able to achieve performance similar to that of a conventional MUD using a bank of MFs. To simplify the detection algorithm, we assume that K is known. The problem of estimating K can be treated separately [6] . To construct these signals, we rely on biorthogonal waveforms [5] . The biorthogonal signals with respect to {s n (t)} are defined as a linear combination of all signature waveforms using a weighting coefficient matrix. nm denotes the element of a matrix X at its nth row and mth column. Also denote by [x] n the nth entry of the vector x. The biorthogonal signals have the property that s n (t),ŝ m (t) = δ n,m , for all n, m. The delta function δ n,m is equal to one when n = m, and is equal to zero otherwise. The correlating signals h m (t) are linear combinations of the biorthogonal waveforms with (possibly complex) weighting coefficients a mn that we choose:. Define a coefficient matrix A ∈ R M ×N with [A] mn a mn and denote the nth column of A as a n. The notation X denotes the transpose of a vector or matrix. We normalize the columns of A so that a n 2 M m=1 a * nm a nm = 1, where x * is the conjugate of a scalar x. The design of the correlating signals is equivalent to the design of the coefficient matrix A for a given {s n (t)}. We will use coherence as a measure of the quality of A, which is defined as [5] :. As we will show later, it is desirable that the columns of A have small correlation such that μ is small. The output of the mth correlator is given by y m = h m (t), y(t) . Denoting. , we can derive the output of the RD-MUD front-end as (detailed derivations can be found in [2] ):. where w is a Gaussian random vector with zero mean and covariance σ 2 AG −1 A H , R is a diagonal matrix with r nn on the diagonal, and b. denotes the conjugate transpose of a matrix X. The vector y can be viewed as a linear projection of the MF-bank front-end output onto a lower dimensional subspace which we call the detection subspace. Since there are at most K active users, b has at most K non-zero entries. The idea of RD-MUD is that when the original signal vector b is sparse, with proper choice of the matrix A, the detection performance for b based on y of (4) in the detection subspace will be similar to the performance based on the output of the MF-bank front-end.

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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Agent-based load balancing on homogeneous minigrids: macroscopic modeling and characterization Abstract-In this paper, we present a macroscopic characterization of agent-based load balancing in homogeneous minigrid environments. The agent-based load balancing is regarded as agent distribution from a macroscopic point of view. We study two quantities on minigrids: the number and size of teams where agents (tasks) queue. In macroscopic modeling, the load balancing mechanism is characterized using differential equations. We show that the load balancing we concern always converges to a steady state. Furthermore, we show that load balancing with different initial distributions converges to the same steady state gradually. Also, we prove that the steady state becomes an even distribution if and only if agents have complete knowledge about agent teams on minigrids. Utility gains and efficiency are introduced to measure the quality of load balancing. Through numerical simulations, we discuss the utility gains and efficiency of load balancing in different cases and give a series of analysis. In order to maximize the utility gain and the efficiency, we theoretically study the optimization of agents' strategies. Finally, in order to validate our proposed agentbased load balancing mechanism, we develop a computing platform, called Simulation System for Grid Task Distribution (SSGTD). Through experimentation, we note that our experimental results in general confirm our theoretical proofs and numerical simulation results from the proposed equation system. In addition, we find a very interesting phenomenon, that is, agent-based load balancing mechanism is topology-independent.Index Terms-Homogeneous minigrids, load balancing, task distribution, agents, macroscopic modeling, steady states, convergence, grid simulation. Since a grid connects numerous geographically distributed computers, and tasks are submitted to grid nodes in a distributed fashion, an important issue is how to evenly distribute submitted tasks to nodes. This is a load balancing problem, one of the scheduling problems on the grid. By solving this problem, we can optimally utilize computational resources of the grid. In this paper, we will propose an agent-based load balancing mechanism.The scheduling problem on grids has been widely studied [6] have studied the task allocation problem in a grid environment, where the submitted task is arbitrarily divisible. In other words, a task can be divided into arbitrary chunks. Their scheduling mechanism assumed a master/worker architecture, i.e., a master, acting as a scheduler, is responsible for dividing the submitted tasks and allocating the obtained task chunks to different workers. In their work, they paid special attention to task transfer time and network latency. Their algorithm, called uniform multiround (UMR), allocates chunks using multiple rounds so as to overlap communication (i.e., transfer time and network latency) and computation and, consequently, decrease the total time for handling the task, i.e., makespan.In Casanova et al.'s work, the main problem lies in the master/worker architecture. Because a grid environment usually involves a large number of nodes and tasks, such a centralized architecture is not feasible [6] . In the paper, we will provide an agent-based, decentralized task allocation mechanism. Specifically, the paper will focus on load In this paper, agent-based load balancing on minigrids is regarded as agent dispersion. We have presented a macroscopic characterization of load balancing based on two quantities on minigrids, i.e., the number and size of agent teams. We have shown that load balancing always converges to a steady state, which is in agreement with experiments through artificial ants. As contrary to even distributions in experiments through artificial ants, we have shown an interesting phenomenon, i.e., the steady state does not always correspond to an even distribution. We have theoretically proven that an even distribution emerges if and only if agents have complete knowledge about minigrid nodes. To measure the quality of load balancing, we have defined a utility gain function and have given a series of analysis about the efficiency of load balancing. We have theoretically found that agents' strategies can be optimized to maximize the utility gain of load balancing.. Finally, we have developed a real platform, called Simulation System for Grid Task Distribution (SSGTD), to validate our proposed agent-based load balancing mechanism. Through experimentation, we have found that the results from our experiments on the SSGTD platform in general confirm those from our theoretical analysis and numerical simulations in (2) . In addition, we have observed another interesting phenomenon, i.e., the agent-based load balancing mechanism cannot be affected by different topologies of minigrids. 5 . The ranges of x-axes in Fig. 3a and Figs. 4a and 4b are different. This is because of their different time scale. Regarding the future work, the following are three important directions:. 1. Grid environments: In this paper, we have specifically focused on a type of homogeneous minigrid environments. In order to further exploit the functionality of our agent-based load balancing mechanism, in our future work, we will extend the mechanism to more general environments, where nodes may be heterogeneous in terms of their processing speed, memory size, and storage space, and nodes may dynamically come and go. If nodes are heterogeneous, even for the same task, the service time on different nodes may be different. In order to address the load balancing problem in such a grid environment, we need to extend our proposed mechanism to take into account more factors, such as processing speed of nodes. In this paper, we have not considered task transfer time and network latency. In the future work, we will study them both theoretically and experimentally. 2. Task interdependency and granularity: This paper has studied a task distribution environment where tasks are arbitrarily divisible. How to extend our proposed mechanism such that it can work well in the case of more general task environments is an interesting research issue. Some general task environments may have the following characteristics:. . Tasks may be interdependent rather than independent. . Tasks cannot be divisible. Or, tasks are divisible.. However, tasks can only be partitioned into chunks of different granularities. . Tasks need coallocation of different computational resources, such as, CPU time and memory. Providing an agent-based task distribution mechanism for the above environments will be a natural extension of this work. 3. Agent behavioral variation: In this paper, we have assumed that agents properly behave according to their strategies. In real world environments, agents perhaps perform without strictly complying their predefined behaviors. For example, because of some unpredictable factors, agents may fail to handle tasks, or agents congest at certain nodes, etc.. In our future work, we need to address the effects of agent behavioral variation on the load balancing mechanism. I N order to meet the increasing demand of large-scale scientific computation in the fields of life sciences, biology, physics, and astronomy, the notion of "computational grid" was proposed in mid 1990s [1], [2] , [3] , [4] . It has been observed that computers (such as PCs, workstations, and clusters) in the Internet are often idle. Grid computing aims to integrate idle computational power over the Internet and provide powerful computation capability for users all over the world [1] , [2] , [3] , [5] .. Since a grid connects numerous geographically distributed computers, and tasks are submitted to grid nodes in a distributed fashion, an important issue is how to evenly distribute submitted tasks to nodes. This is a load balancing problem, one of the scheduling problems on the grid. By solving this problem, we can optimally utilize computational resources of the grid. In this paper, we will propose an agent-based load balancing mechanism.

O B I O B I B I O O O O O O O O O O O O B I 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 B O O O B I O B I 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 B 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 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 B O O O O O O O O O B I 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 B I O O O O O B I B I B B I B I B 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 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 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 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 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 B I O O O O O B 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 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 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 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 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 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 B 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 B 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 B I O


Optimal and Pessimal Orderings of Steiner Triple Systems in Disk Arrays Steiner triple systems are well studied combinatorial designs that have been shown to possess properties desirable for the construction of multiple erasure codes in RAID architectures. The ordering of the columns in the parity check matrices of these codes affects system performance. Combinatorial problems involved in the generation of good and bad column orderings are defined, and examined for small numbers of accesses to consecutive data blocks in the disk array.A Steiner triple system is an ordered pair´Ë Ì µ where Ë is a finite set of points or symbols and Ì is a set of 3-element subsets of Ë called triples, such that each pair of distinct elements of Ë occurs together in exactly one triple of Ì . The order of a Steiner triple system´Ë Ì µ is the size of the set Ë, denoted Ë . A Steiner triple system of order v is often written as STS(Ú). An STS´Úµ exists if and only if Ú ½ ¿´ÑÓ µ (see [6] , for example). We can relax the requirement that every pair occurs exactly once as follows. Let´Î µ be a set Î of elements together with a collection of 3-element subsets of Î , so that no pair of elements of Î occurs as a subset of more than one ¾ . Such a pair´Î µ is an´Ò µ-configuration when Ò Î and , and every element of Î is in at least one of the sets in .Let be a configuration´Î µ. We examine the following combinatorial problem. When does there exist a Steiner triple system´Ë Ì µ of order Ú in which the triples can be ordered Ì ¼ Ì ½ , so that every consecutive triples form a configuration isomorphic to ? Such an ordering is aordering of the Steiner triple system. When we treat the first triple as following the last (and hence cyclically order the triples), and then enforce the same condition, the ordering is a -cyclic ordering. The presence of configurations in Steiner triple systems has been studied in much detail; 1 It is natural to ask whether the orderings found here have a real impact on disk array performance. Figures 4 -6 show the results of performance experiments using various orderings. The preferred orderings are those which provide the lowest response times. Response time is affected by many parameters. In our experiments we have employed an artificial workload. As a result, the differences in performance reported here may not provide accurate predictions for real workloads. Nevertheless, in this controlled environment we can observe a significant difference in performance based on triple ordering. Notions of good or bad orderings depend on the specific workload and array parameters. In our experiments, the 'good' ordering is a Ì -ordering when one exists, and otherwise is an ordering found in an effort to maximize the number of consecutive Ì configurations; it is labeled A in these figures. The 'bad' ordering is a ¿ -ordering and is labeled B.. The ordering labeled C is obtained from a random triple ordering. The most significant difference in performance arises in a workload of straight writes. This is as expected because this is where decreasing the actual update penalty has the greatest impact. Although the read workload shows no apparent differences during fault-free mode, it does start to differentiate when multiple failures occur. The structure of optimal orderings for is an open and interesting question. Minimizing disk access through ordering means that the update penalty is only an upper bound on the number of accesses in any write. By keeping the number of check disk accesses consistently lower, performance gains can be achieved. An interesting question is the generalization for reads and writes of Should an array be configured specifically for a particular size when optimization is desired? One more issue in optimization of writes in triple erasure codes is that of the large or stripe write [10] . At some point, if we have a large write in an array, all of the check disks are accessed. There is a threshold beyond which it is less expensive to read all of the information disks, compute the new parity and then write out all of the new information disks and all of the check disks. When using an STS(15), a threshold occurs beyond the halfway point. An STS (15) has 35 information and 15 check disks. If 23 disks are to be written they must use at least 14 check disks. In the method of writing described above, 46 information accesses and 28 check disk accesses yield a total of 74 physical disk accesses. A large write instead has 35 reads, followed by ½ · ¾¿ ¾ writes, for a total of 73 physical accesses. This threshold for all STSs determines to some extent how to optimize disk writes.. Steiner triple systems provide an interesting option for redundancy in large disk arrays. They have the unexpected property of lowering the expected update penalty when ordered optimally. A Steiner triple system is an ordered pair´Ë Ì µ where Ë is a finite set of points or symbols and Ì is a set of 3-element subsets of Ë called triples, such that each pair of distinct elements of Ë occurs together in exactly one triple of Ì . The order of a Steiner triple system´Ë Ì µ is the size of the set Ë, denoted Ë . A Steiner triple system of order v is often written as STS(Ú). An STS´Úµ exists if and only if Ú ½ ¿´ÑÓ µ (see [6] , for example). We can relax the requirement that every pair occurs exactly once as follows. Let´Î µ be a set Î of elements together with a collection of 3-element subsets of Î , so that no pair of elements of Î occurs as a subset of more than one ¾ . Such a pair´Î µ is an´Ò µ-configuration when Ò Î and , and every element of Î is in at least one of the sets in .. Let be a configuration´Î µ. We examine the following combinatorial problem. When does there exist a Steiner triple system´Ë Ì µ of order Ú in which the triples can be ordered Ì ¼ Ì ½ , so that every consecutive triples form a configuration isomorphic to ? Such an ordering is aordering of the Steiner triple system. When we treat the first triple as following the last (and hence cyclically order the triples), and then enforce the same condition, the ordering is a -cyclic ordering. The presence of configurations in Steiner triple systems has been studied in much detail; see [6] for an extensive survey. Apparently, the presence or absence of configurations among consecutive triples in a triple ordering of an STS has not been previously examined. Our interest in these problems arises from an application in the design of erasure codes for disk arrays. Prior to examining the combinatorial problems posed, we explore the disk array application. As processor speeds have increased rapidly in recent years, one method of bridging the Input-Output (I/O) performance gap has been to use redundant arrays of independent disks (RAID) [10] . Individual data reads and writes are striped across multiple disks, thereby creating I/O parallelism. Disk striping intercepts each individual I/O request, divides it into a series of Ò smaller striping units and distributes these over Ò disks. The logical and physical location of each I/O request and the size of each individual striping unit are controlled by RAID mapping software. In a simple RAID environment the same sector is used on each of Ò logically consecutive disks [7] .. Encoding redundant information onto additional disks allows reconstruction of lost information in the presence of disk failures. This creates disk arrays with high throughput and good reliability. However, an array of disks has a substantially greater probability of a disk failure than does an individual disk [9, 10] . Indeed, Hellerstein et al. [9] have shown that the reliability of an array of 1000 disks which protects against one error, even with periodic daily or weekly repairs, has a lower reliability than an individual disk. Most systems that are available currently handle only one or two disk failures [16] . As arrays grow in size, the need for greater redundancy without a reduction in performance becomes apparent.. A catastrophic disk failure is an erasure. When a disk fails all of the information is lost or erased. Codes that can correct for Ò erasures are called n-erasure correcting codes. The minimum number of additional disks that must be accessed for each write in an Ò-erasure code, the update penalty, has been shown to be Ò [1, 9] . Chee, Colbourn, and Ling [1] have shown that Steiner triple systems possess properties that make them desirable 3-erasure correcting codes with minimal update penalties. The correspondence between Steiner triple systems and parity check matrices is the one used by Hellerstein et al. [4, 9] . Codewords in a binary linear code are viewed as vectors of information and check bits. The code can then be defined in terms of a ¢´ · µ parity check matrix, À È Á℄ where is the number of information disks, Á is the ¢ identity matrix and È is a ¢ matrix that determines the equations of the check disks. The columns of È are indexed by the information disks. The columns of Á and the rows of À are indexed by the check disks.. A set of disk failures is recoverable if and only if the corresponding set of equations in its parity check matrix is linearly independent [1, 9] . Any set of Ø binary vectors is linearly independent over GF ¾℄ if and only if the vector sum modulo two of those columns, or any non-empty subset of those columns, is not equal to the zero vector [9] . Figure 1 shows a parity check matrix for an STS (13) . Figure 2 shows six elements and four triples , , and. . These form a (6,4)-configuration called a. Pasch configuration or quadrilateral [15] . The points represent the check disks (rows of the parity check matrix). Each triple represents an information disk (column of the parity check matrix). If we convert this diagram to a (portion of a) parity check matrix we find that if all four information disks fail there is an irrecoverable loss of information. The corresponding four columns in the parity check matrix are linearly dependent and therefore cannot be reconstructed. Codes arising from anti-Pasch Steiner triple systems have been shown to correct for all 4-erasures except for bad erasures [1] . A bad erasure is one that involves an information disk and all three of its check disks. Anti-Pasch Steiner triple systems yield codes which avoid this configuration. anti-Pasch STS(Ú) for all Ú 1 or 3 (mod 6) except when Ú = 7 or 13 was recently solved [8, 15] .. Cohen and Colbourn [4] examined some of the issues pertaining to encoding Steiner triple systems in a disk array. They examine the ordering of columns in the parity check matrices. This departs from the standard theory of error correcting codes where the order of columns in a parity check matrix is unimportant [17] . In a multiple erasure correcting disk array, there may be an overlap among the check disks accessed for consecutive information disks in reads and writes. The number of disks needed in an individual write can therefore be minimized by ordering the columns of this matrix. Using the assumption that the most expensive part of reading or writing in a disk array is the physical read or write to the disk, this overlap can have a significant effect on performance. Cohen and Colbourn [4] describe a write to a triple erasure code as follows. First the information disks are read followed by all of their associated check disks. In the case when check disks overlap, the physical read only takes place once. All of the new parity is computed and then this new parity and the new information is written back to the disks. Once again, the shared check disks are only physically written to once. Theoretically, the update penalty is the same for all reads and writes in an array. But when more than one information disk in an array shares a common check disk this saves two disk accesses, one read and one write. This finally leads to the questions posed at the outset. In particular, can one ordering be found that optimizes writes of various sizes in such an array?. In order to derive some preliminary results about ordering we have implemented a computer simulation [3, 4] . RaidSim [10, 13, 14] is a simulation program written at the University of California at Berkeley. Holland [10] extends it to include declustered parity and online reconstruction. The RaidSim program models disk reads and writes and simulates the passage of time. The modified version from [10] is the starting point for our experiments. RaidSim is extended to include mappings for Steiner triple systems, to tolerate multiple disk failures, and to detect the existence of unrecoverable sets of four and five erasures [3] .. The mappings used in these experiments retain the properties that all data is striped consecutively across information disks and that corresponding parity stripes are found on the same sectors on each disk. Therefore when two consecutive information disks are used, either in writing or in reconstruction, if they share the same check disk, they share the parity information. In addition, a parity rotation such as is used in RAID 5 was employed [16] . This shifts the physical location of check disks in the array by each parity stripe. This is intended to reduce contention on the check disks. The performance experiments are run with a simulated user concurrency level of 500. Six Steiner triple systems of order 15 are used in these experiments. These are the systems numbered 1, 2, 20, 38, 67 and 80 in [6] . There are 80 non-isomorphic systems of order 15. The numbers of Pasch configurations in STS(15) range from 105 in STS(15) system one to zero in STS(15) system 80.

O O O O O O O O O O O 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 B 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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


Learning Information Extraction Rules for Semi-Structured and Free Text A wealth of on-line text information can be made available to automatic processing by information extraction (IE) systems. Each IE application needs a separate set of rules tuned to the domain and writing style. WHISK helps to overcome this knowledge-engineering bottleneck by learning text extraction rules automatically.WHISK is designed to handle text styles ranging from highly structured to free text, including text that is neither rigidly formatted nor composed of grammatical sentences. Such semi-structured text has largely been beyond the scope of previous systems. When used in conjunction with a syntactic analyzer and semantic tagging, WHISK can also handle extraction from free text such as news stories.Keywords: natural language processing, information extraction, rule learningAs more and more text becomes available on-line, there is a growing need for systems that extract information automatically from text data. An information extraction (IE) system can serve as a front end for high precision information retrieval or text routing, as a first step in knowledge discovery systems that look for trends in massive amounts of text data, or as input to an intelligent agent whose actions depend on understanding the content of text-based information.IE systems have been developed for writing styles ranging from structured text with tabular information to free text such as news stories. A key element of such systems is a set of text extraction rules that identify relevant information to be extracted.For structured text, the rules specify a fixed order of relevant information and the labels or HTML tags that delimit strings to be extracted. For free text, an IE system needs several steps in addition to text extraction rules. These include syntactic analysis, semantic tagging, recognizers for domain objects such as person and company names, and discourse processing that makes inferences across sentence boundaries. Extraction rules for free text are typically based on patterns involving syntactic relations between words or semantic classes of words. Information extraction is an enabling technology for systems such as intelligent text retrieval or text routing, software agents whose actions are based on an understanding of text data, and data mining from text. IE systems are knowledge-intensive, however, and require a separate set of text extraction rules for each domain, which makes machine learning an attractive alternative to creating rules by hand. End users who would be daunted by building an expert system can easily annotate training instances. WHISK can learn rules for extraction from a wide range of text styles with performance that varies with the difficulty of the extraction task. What is it about WHISK's representation and learning algorithm that gives it perfect results in some domains and difficulty breaking recall of 50% in others?. Rules in the form of regular expressions are well suited to structured and semi-structured text, where there is a predictable order of fixed tokens surrounding the variable information. WHISK's rules match either literals or a semantic classes found in the text, skipping over portions of the text with its wildcard "*" until the following term in a rule is matched.. For this rule representation to work, there must be an identifiable pattern to the input. A phrase to be extracted may be self-delimiting, such as a semantic class (Person) or exact token ("C++"). In the Seminar Announcement domain some Location slot fills are identified by patterns such as " * ('Wean Hall' Number)" which specifies a building name by exact token followed by a semantic class.. Phrases that are not self-delimiting must be delimited by unique and predictable patterns of tokens. In the CNN Weather domain, the Conditions slot is always immediately preceded by an HTML tag ending in '1>' and followed by '</FONT>'. Together with other terms to further specify the context, this produces a rule that is 100% reliable. In the Seminar Announcement domain, it is similarly easy to learn rules for StartTime for input such as "Time: 4:00 PM ".. WHISK often has trouble in unstructured portions of text when the surrounding context is highly variable. A reference may have clear delimiters such as a StartTime with "... starting at 3:30". However, these patterns may be hard to distinguish from irrelevant look-alikes such as "Refreshments will be served starting at 3:15 pm." SRV's approach of combining multiple classifiers comes in handy here, since seminars never start at 3:15 at CMU, a fact learned by a classifier that simply remembers all the slot fills seen in the training.. Another difficulty that WHISK has with free text is the high variation in ways to express a target concept. This creates sparse training for individual patterns. Seminar announcements often include a second reference to a speaker in the body of the announcement. An example is "Dr. Kennedy will be discussing a project ...". This was the only case of "Dr. * will" in 100 texts.. In such cases WHISK needs additional knowledge provided in its input. Ideally a semantic tagging procedure would identify relevant phrases such as person names. This leaves WHISK with the task of determining the context in which a person plays a relevant slotfilling role. Even a semantic tagger that recognized capitalized words as proper names would help. The title of "Dr." followed by a proper name is nearly always a Speaker in the Seminar Announcement domain. Whether a person is relevant in the Management Succession domain is trickier to determine.. Even with person names and corporate names tagged, more than half the rules in the Management Succession domain at each training level have coverage of only one or two, contributing more errors than correct extractions. The rule shown in figure 26 looks quite Figure 26 . A low coverage rule generated from 600 training instances.. general, but applies only twice among 600 training instances. This rule covers instances such as "Mr. A succeeds Mr. B, chairman of XYZ Inc.". WHISK's multi-slot extraction patterns must specify the relative order of the slots. For example a pattern that applies to "Atlas announced the resignation of its president Mr. Adams" has Org, Post, and PersonOut, while a pattern that applies to "Adams stepped down as president of Atlas" has PersonOut, Post, Org. These are sufficiently different contexts to warrant separate rules. WHISK is saved from considering an exponential number of orderings of k slots because WHISK only grows rules from actual occurrences of those slots found in the training set. The main advance that WHISK makes is combining the strengths of systems that learn text extraction rules for structured text with those that handle semi-structured text. The following gives a brief overview of how WHISK compares to other IE learning systems. These systems are described later in this section as well as related work in machine learning.. The Wrapper Induction system (Kushmerick, Weld, & Doorenbos, 1997) works only on rigidly structured text. Wrapper Induction performs multi-slot extraction that bundles together related information into a single case frame.. 7 This is important for domains where a text has several case frames and it is critical to associate the extracted slots together properly. An example of this is a web page with dozens of names, addresses, and phone numbers or item numbers, descriptions, and prices.. SRV (Freitag, 1998) and RAPIER (Califf & Mooney, 1997) extends information extraction to semi-structured text, but each of these systems extracts only isolated slots. Related information must be re-assembled into a case frame by later processing. This is adequate in domains where each text has only one case frame, such as seminar announcement postings.. WHISK shares SRV and RAPIER's ability to handle either structured or semi-structured text, but does not have their limitation of single-slot extraction. Like Wrapper Induction, WHISK associates related information into multi-slot case frames.. For extraction from free text, performance of machine learning systems still trails behind that of systems with hand-coded rules. WHISK can handle free text as well as structured or semi-structured when it is provided with syntactically analyzed input, and has performance comparable to CRYSTAL (Soderland, 1997) a system designed specifically for free text IE.

O B I 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 B I I 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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


Pure patterns type systems We introduce a new framework of algebraic pure type systems in which we consider rewrite rules as lambda terms with patterns and rewrite rule application as abstraction application with built-in matching facilities. This framework, that we call "Pure Pattern Type Systems", is particularly well-suited for the foundations of programming (meta)languages and proof assistants since it provides in a fully unified setting higher-order capabilities and pattern matching ability together with powerful type systems. We prove some standard properties like confluence and subject reduction for the case of a syntactic theory and under a syntactical restriction over the shape of patterns. We also conjecture the strong normalization of typable terms. This work should be seen as a contribution to a formal connection between logics and rewriting, and a step towards new proof engines based on the Curry-Howard isomorphism. λ-calculus and term rewriting provide two fundamental computational paradigms that had a deep influence on the development of programming and specification languages, and on proof environments. Starting from Klop's groundbreaking work on higher-order rewriting [19] , and because of their complementarity, many frameworks have been designed with a view to integrate these two formalisms.. This integration has been handled either by enriching firstorder rewriting with higher-order capabilities or by adding to λ-calculus algebraic features. In the first case, we find the works on CRS [20] and other higher-order rewriting systems [30, 23] , in the second case the works on combination of λ-calculus with term rewriting [2, 7, 12, 17 ] to mention only a few.. In some works, the λ-calculus has been extended with pattern abstractions that generalize λ-abstractions by binding structured expressions instead of variables. Such pattern abstractions are commonly used to compile case-expressions in functional programming languages [24] and to provide term calculi for sequent calculi [18] . For example, the pattern abstractions λ0.0 and λsucc (N ) .N are used to compile the predecessor function.. In other works, like those on higher-order rewriting systems, such pattern abstractions are extended to generalized abstractions by binding arbitrary expressions instead of patterns. Apart their expressive power, generalized abstractions correspond to a form of higher-order natural deduction, where (parts of) proof trees are discharged instead of assumptions.. Although such extended abstractions are a firmly grounded artifact both in logic and in programming language design and implementation, they lack established foundations. As a first step towards these foundations, we provide a framework for studying (type systems for) extended abstractions. Concretely, we start from a term calculus with generalized abstractions, which provides a very rich computational model that goes far beyond λ-calculus, and endorse it with a parameterized type system as in Pure Type Systems.. Pure Type Systems (PTS) [4, 15] provide a concise and unifying view of many typed λ-calculi and logics that occur in the literature, and offer a generic framework for the study of typed λ-calculià la Church. Pure Type Systems have a well-understood theory and enjoy good meta-theoretical properties, and hence offer an appealing setting in which to specify the kernel of functional programming languages, see e.g. [1, 6, 25, 28] , and proof assistants based on the CurryHoward isomorphism, see e.g. [4, 5] .. In Pure Pattern Type Systems (P 2 T S), the framework presented here, the usual λ-abstraction of Pure Type Systems λX:A.B of type ΠX:A.C is replaced by a generalized abstraction λA:∆.B of type ΠA:∆.C, where A is an arbitrary term (in jargon a pattern) and ∆ is a context in which are declared the bound variables of λA:∆.B.. Adding patterns to PTSs may seem innocuous. However, defining a conservative extension of PTSs that provides support for patterns and enjoys basic meta-theoretical properties, like confluence and subject reduction, turns out to be a laborious task. Indeed, both properties fail, even in a simply-typed setting, when no restrictions are imposed on the term formation nor on the reduction strategy, see Examples 4 and 5.. For confluence, the problem was already remarked in [29] , where confluence is recovered by imposing a so-called "Rigid Pattern Condition" on patterns. Such a condition is directly applicable to P 2 T Ss, but requires patterns to be linear. Linearity of patterns is an overly strong assumption in an explicitly typed language with polymorphism and dependent types. Indeed, many polymorphic functions, e.g. the function λcons(T X nil(T )):∆.X that returns the only element of a one-element list, involve non-linear patterns. Hence van Oostrom's condition must be relaxed so that non-linear patterns are allowed. This is the first major hurdle with extending PTSs to P 2 T Ss. Another problem is caused by the necessity to allow for free variables in the pattern of an abstraction. For example, λcons(T X nil(T )):∆.X should be of type list(T ) T , and should have T as free variable. In order for reduction to be closed under substitution, and for typing to be closed under substitution and reduction, we must therefore allow for patterns that are not in normal form and allow for reduction in patterns. Furthermore, matching should be modified so that the free variables of a pattern whose types are not defined in the context are considered as free in the corresponding abstractions and handled as constants by the matching algorithm. This is the second major hurdle with extending PTSs to P 2 T Ss. Therefore, the main contributions of this paper are:. • to provide adequate notions of patterns, substitutions and matching that overcome the afore-mentioned hurdles. One technical tool used for this purpose is the notion of delayed matching constraint, see Section 2, and the possibility for patterns in abstractions to evolve (by reduction or substitution) during execution;. • on the basis of these definitions, to propose a wellbehaved extension of PTSs that supports abstraction over patterns, and that enjoys many fundamental properties of PTSs, including confluence, subject reduction, conservativity over PTSs and consistency for normalizing P

O B O O O O O O O O O B I I O O O O O O O O O O B 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 O O O O O O O O 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 O B O O O O O O O O O O B 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 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 B 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 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 B I I B I I 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 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 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 B 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 B O O O O O O O O O O O O O B 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 B 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 B O O O O O O O O O O O B 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 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 B 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 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