当前位置:文档之家› An editing-based characterization of the design space of collaborative applications

An editing-based characterization of the design space of collaborative applications

An editing-based characterization of the design space of collaborative applications
An editing-based characterization of the design space of collaborative applications

An Editing-Based Characterization of the

Design Space of Collaborative Applications

Prasun Dewan

University of North Carolina

Rajiv Choudhary

Intel Corporation

Honghai Shen

IBM Corporation

The design space of collaborative applications is characterized using the notion of generalized multiuser editing.Gen-eralized multiuser editing allows users to view interactive applications as editors of data structures.It offers several collaboration functions,which allow users to collaboratively edit application data structures.These functions include coupling,concurrency control,access control,and multiuser undo.Coupling allows the users to share editing changes,access control and concurrency control prevent them from making unauthorized and inconsistent changes, respectively,and multiuser undo allows them to collaboratively undo/redo changes.These functions must be per-formed?exibly to accommodate different applications,users,phases of collaboration,and bandwidths of the commun-ication links.In this paper,we de?ne and motivate the notion of generalized multiuser editing and describe some of the issues,approaches,tradeoffs,principles,and requirements related to the design of the functions offered by it.

1.Introduction

A large number of applications have recently been developed that allow users,interacting possibly from geo-graphically dispersed sites,to collaborate with each other1-3.These applications,called collaborative,multiuser,or groupware applications,have the potential for automating the large amount of group work carried out in current organizations4.In particular,they have the potential for supporting group decision making5,team software develop-ment6,a national‘‘collaboratory’’7,distributed concurrent engineering8,and distributed classrooms3.

First author’s address:Department of Computer Science,University of North Carolina,Chapel Hill,N.C.27599;dewan@https://www.doczj.com/doc/6e12752915.html,.Second author’s address:Mail Stop HF3-02Intel Corporation,5200N.E.Elam Young Parkway,Hillsboro,Oregon97124; rajiv_choudhary@https://www.doczj.com/doc/6e12752915.html,.Third Author’s address:IBM/Advantis,HCP3C130,1311Mamaroneck Ave.,White Plains,NY10605; hhs@https://www.doczj.com/doc/6e12752915.html,.This research was supported in part by National Science Foundation grants IRI-9015442and IRI-9208319and in part by a grant from the Software Engineering Research Center at Purdue University,a National Science Foundation Industry/University Cooperative Research Center(NSF Grant No.ECD-8913133).

Some important questions raised by the design of these applications are:

d What ar

e the dimensions o

f the design space of collaborative applications?

d What ar

e the design choices along each o

f these dimensions?

d What ar

e the advantages and disadvantages o

f makin

g eac

h of these choices?

d What ar

e the design principles and requirements o

f collaborative applications?

We refer to a set of answers to these questions as a‘‘characterization of the design space of collaborative applica-tions’’.Such a characterization would improve the understanding,design,and automation of collaborative applica-tions:

d Understanding:It would allow thos

e studying this area to understand the nature and scope o

f collaborative

applications and what distinguishes these applications from single-user applications.

d Design:It would tell designers of thes

e applications the design decisions they need to make,the tradeoffs in

choosing among these decisions,and the design principles and requirements they must support.

d Automation:Implementation of collaborativ

e applications from scratch is dif?cult and typically takes several

person years9.Therefore,system support for automating their implementation is an attractive idea.It is not possible to provide such support without knowing the design space of collaborative applications.

In this paper,we do a preliminary,high-level characterization of the design space of collaborative applications based on the notion of generalized multiuser editing.Generalized multiuser editing is an extension of generalized single-user editing10,which allows a user to view an interactive application as an editor of the data structures of the application.It offers several functions to allow users to collaboratively edit these data structures.These functions include coupling,concurrency control,access control,and multiuser undo.Coupling allows the users to share editing changes,access control and concurrency control prevent them from making unauthorized and inconsistent changes, respectively,and multiuser undo allows them to collaboratively undo/redo changes.We characterize the design space of collaborative applications by characterizing the design space of each of these functions.

Our characterization is not complete,for two main reasons.First,not all issues,design choices,tradeoffs,prin-ciples and requirements are currently known for all functions.Our characterization re?ects the state-of-the art in this area.Second,we focus mainly on high-level concepts in the characterization—lower-level,more speci?c,concepts required to support some these ideas are given elsewhere11-13.See2,14-16for alternative characterizations of colla-borative applications,which are not based on the notion of generalized multiuser editing.Our approach represents a method for dimensionalizing the design space of collaborative applications that addresses collaboration at the‘‘com-mon object perception’’level in Malone and Crowston’s collaboration hierarchy of coordination,group decision mak-ing,communication,and common object perception16.The particular technical dimensions we have chosen at this level are consistent with the ones identi?ed by other researchers2,14-16.

The rest of the paper is organized as follows:Section2identi?es and motivates two important properties of an effective design space characterization—generality and detail.Section3explains the ideas of single-user and mul-tiuser generalized editing and introduces the collaboration functions.Section4characterizes the design space of each

of the collaboration functions.Finally,Section 5provides conclusions and directions for future work.

2.De?ning a Collaborative Application

In this section,we propose and evaluate two simple but extreme de?nitions of collaborative applications to motivate a more complex,editing-based de?nition of these applications.

A general definition :A collaborative application is a software application that (a)interacts with multiple users,that is,receives input from multiple users and displays output to multiple users,and (b)couples these users,that is,allows one user’s input to in?uence the output displayed to another user (Figure 1).

This de?nition covers all possible collaborative applications since it leaves the nature of coupling supported by a collaborative application unde?ned.It contributes somewhat to the understanding,design,and automation of colla-borative applications.It tells those (a)understanding collaborative applications that multiuser interaction and coupling are the essential differences between collaborative and single-user applications,(b)designing these applications that,in addition to single-user issues,they must address issues in multi-user input/output and coupling,and (c)automating collaborative applications that they must provide facilities that allow an application to interact with multiple,possibly distributed,users.

On the other hand,because it leaves the nature of coupling and associated functions unspeci?ed,it does not convey any information about the issues,choices,tradeoffs,principles and requirements related to the design of colla-borative applications.As a result,it is not possible to use this de?nition to gain a detailed understanding of the design space of collaborative applications or to provide high-level support for implementing these applications.The next de?nition meets these requirements.

A detailed definition :A collaborative application is a software application that interacts with multiple users and creates one or more shared windows,which are replicated on the screens of all users of the application.Coupling between the users ensures WYSIWIS (What You See Is What I See)17interaction,that is,keeps the contents of the windows identical (Figure 2).

Coupling

Application

Software

User 2

User 1Figure 1:A General De?nition of a Collaborative Application

This de?nition allows collaborative applications to be understood in terms of the speci?c notion of WYSIWIS. It also precisely states how coupling between users should be designed.Finally,this de?nition can be used to build a system such as a shared window system18that completely automates multiuser interaction and coupling without mak-ing the applications collaboration-aware.

The second de?nition leads to these bene?ts because it quali?es the nature of collaboration in a collaborative application.However,a serious drawback is that it overquali?es the nature of collaboration since several applications such as traditional mail programs and recent collaborative applications such as the GROVE group editor2do not sup-port WYSIWIS.Thus,while the de?nition is detailed,it is not general.

In the rest of the paper,we develop a de?nition that is both general in that it does not preclude useful colla-borative applications and detailed.Like the second de?nition above,our de?nition has a?xed part that de?nes the invariants of collaboration and like the?rst de?nition above,it has a set of variables which de?ne the collaboration design space.

3.An Editing-based De?nition

Before we can model the interaction between multiple users and an interactive application,we should be able to model the interaction between a single user and an interactive application.Generalized single-user editing10(Fig-ure3)allows us to model the simpler case of single-user interaction.According to this model,an interactive applica-tion can be considered an editor of a display of the data structures of the application.A user interacts with the appli-cation by editing the display using text/graphics editing commands.Thus,interaction with an interactive application is similar to interaction with a text or graphics editor.The difference is that the display is‘‘active’’,that is,changes to it can trigger computations in the application,which can update the display and send messages to other applica-tions.

Generalized single-user editing is a simple but general model of single-user interaction.It models a variety of popular contemporary interactive application:A text or graphics editor can be considered an editor of a text or

Software

Application

WYSIWIS

Window 1Window 2

Window Commands

User 2

User 1

Figure2:A Detailed De?nition of a Collaborative Application

graphics?le;a language-oriented editor can be considered an editor of a program syntax tree;a spreadsheet can be considered an editor of a matrix that responds to an editing of an entry in the matrix by updating related entries;and a debugger can be considered an editor of a debugging history that responds to the insertion of a new command in the history by computing the command and appending the output to the history.At some level of abstraction,any single-user interactive application can be considered a single-user generalized editor.

The challenge,then,is to introduce multiuser interaction into this model.Figure4shows how this can be done.As before,a user interacts with an application by editing an active display of the data structures of the applica-tion.Different users,however,edit different versions of the active display.Coupling between the displays allows them to share editing changes;multiuser undo allows them to collaboratively undo/redo changes;and access and con-currency control prevent unauthorized and inconsistent changes,respectively.Moreover,in the multiuser case,the application is persistent.In the single-user case,it is possible to tie a single-user session with an application so that when the user quits the session the application terminates.In the multiuser case,it is not possible to do so since a user may start and terminate a session at any time.Thus the application must persist beyond any particular user ses-sion to allow users to dynamically enter and leave collaborative sessions.

Together,coupling,undo,concurrency control,and access control de?ne a new multiuser transaction model designed for interactive multiuser applications.The model is an alternative to the query-based transaction model sup-ported by traditional databases,which has been designed mainly for batch applications.The arrows withing the cir-cles of Figure4represent user-/application-controlled dials and indicate that the collaboration functions must be per-formed?exibly.We characterize below the design space of each of these functions.

4.Collaboration Functions

Some of the general principles for designing collaboration functions are independent of the function:

Application

Active Display

Editing

Cmds

User

Figure3:Generalized Single-User Editing

Active Display Version 1

Active Display

Version 2 Application

Editing

Cmds

Editing Cmds

Persistent

Undo Redo Concurrency

Control Access

Control

Cplng

User 1User 2

Figure4:Generalized Multiuser Editing

d Specification:Th

e model should make it easy for users to specify how a collaboration function should be per-

formed.

d Grouping:A corollary of th

e speci?cation principle is that the model should allow users to specify a collabora-

tion parameter once for a group of objects that share its de?nition instead of once for each member of the group.

d Performance:Th

e model must not make the response time o

f programs unacceptable.

d Automation:Th

e model should make it easy for programmers to implement a collaboration function.

We shall see below(functions-speci?c)principles that require the collaboration functions to be performed ?exibly.The principles above require that?exibility not be introduced at the expense of easy speci?cation,perfor-mance,and automation—otherwise,users and programmers would be unwilling to use the model.

4.1.Coupling

Coupling determines how coupled interaction occurs among the users of a collaborative application.In partic-ular,it determines which users share a change made by a user and when the change is communicated to them.Two main alternatives for coupling are WYSIWIS coupling,mentioned earlier,and WYSINWIS(What You See Is Not What I See)coupling.

WYSIWIS ensures that any change made by a user is communicated immediately to all other users.In partic-ular,it ensures all users share the same sizes,positions,cursors,and contents of their edit windows.There are several advantages of supporting WYSIWIS coupling:First,it is the ideal coupling in meetings that require very close colla-boration.For instance,in a group demonstration of a program,the demonstrees might want WYSIWIS coupling so that they can see every action made by the demonstrator.Second,WYSIWIS is easy to understand in that each user knows what the other user is seeing.Finally,WYSIWIS can be de?ned in an application-independent fashion,and thus can be automatically supported by a general system such as a shared window system18,which collects input from all users and broadcasts output to them.Clients of such a system do not have to be aware that they are interacting

with multiple coupled users.

However,WYSIWIS coupling has two main disadvantages.Researchers have found that it can lead to‘‘win-dow wars’’and‘‘scroll wars’’as users position windows and scrollbars at different positions17.Similarly,it can lead to‘‘view wars’’and‘‘format wars’’as they try to create different views and formats for the editable data structures. In general,it can lead to wars whenever users are forced to share changes they do not want to share.Second, WYSIWIS requires the overhead of communicating all user changes to all of the other users,which is inef?cient,spe-cially when the users do not wish to share some of these changes.

WYSINWIS does not have these disadvantages but does not have any of the advantages of WYSIWIS either. What is necessary,then,is a coupling model that allows the coupling between users to be tailored to the level of the collaboration among the users.Speci?cally,the design of a coupling model should be based on the following princi-ples:

d Need to tell:Local editing changes sent to remot

e users should contain no more than the information that the

local users wants to tell the remote users.Otherwise,the coupling is not secure and remote users may take actions based on information that was not meant for them.This principle is in the spirit of the‘‘need to know’’or‘‘least privilege’’principle in access control mentioned later.

d Need to learn:Local editing changes sent to remot

e users should contain no more than the information that the

remote users want to learn about.Otherwise,they get information overload.Moreover,the information received sometimes destroys some of receiver’s information,and therefore getting unwanted information can cause undesired information destruction.

d Need to collaborate:Local editing changes sent to remot

e users should contain no less than the intersection of

the information the local and remote users want to tell and know,respectively.Otherwise,some collaboration that the participants are interested in may not be facilitated.

We can summarize these three principles by the following sharing principle:

Sharing principle:Local editing changes sent to remote users should contain the intersection of the information the local and remote users want to tell and know,respectively.

The principles above address which changes made by a user should be communicated to other users.The fol-lowing analogous principles address when these changes should be communicated:

d Tim

e to tell:Local changes should not be seen by remote users sooner than the time the local users wants them

seen.Otherwise,the coupling is not secure and the remote user may take actions earlier than wanted.

d Tim

e to learn:Local changes should not be seen by remote users sooner than the time the remote users wants

to see them.Otherwise,they get information overload and premature destruction of local editing state.

d Tim

e to collaborate:Local changes should not be seen by remote users later than the later o

f the times when

the remote and local users wants to tell/know about the contained information.Otherwise,some possible col-laboration will be unnecessarily delayed.

These three principles are summarized by the following principle:

d Timing principle:Local changes should b

e seen by remote users at the later o

f the times the remote and local

users wants to tell/know about the contained information.

As designers of coupling models,we do not know what particular users would like communicated and when they would like the communication to occur.So one approach to meet these principles is to require them to manually de?ne the desired coupling,but this approach violates the speci?cation principle.Another extreme approach is to de?ne a single rigid coupling,which is easy to specify but in several situations may be not be?exible enough.What we need is a set of concrete requirements that,based on collaboration scenarios,describe the kind of?exibility users would want.We give below an initial set of?exibility requirements:

d Data independence:It should b

e possible for users to couple different data structures differently.Data

independence allows users to collaborate differently on different data structures.In particular,it allows them to create both private and public data structures.For instance,it allows a group of users to create a shared list of procedures but private comments on these procedures.

d Property independence:Users should b

e able to determine which properties o

f an editable data structure are

shared among them.In particular,they should have the choice of determining if the viewing and formatting properties of the data structure are shared.For instance,users of a multiuser debugger may wish to display the same image of a single shared state on all workstations so that each of them can see the cause-effect relation-ships,while users of a multiuser program editor may wish to see different views of the program.

d Asymmetric coupling:It should b

e possible for a user to share certain kinds o

f changes with another user

without requiring the latter to share the same kinds of changes with the former.This requirement would allow for instance,managers to observe the work of employees but not vice versa.

d Sender and receiver control:Both th

e local and remote user should be able to determine the content and timing

of the information communicated from the former to the latter—a direct consequence of the need to tell and need to know principles.

d User independence:It should b

e possible for a user to be coupled differently with different users since different

users may wish to collaborate at different levels.For instance,a programming-language tutor interacting with

a multiuser program editor may wish to see raw values input by beginning students;syntactically correct

values input by intermediate students,who may not need help with the syntax of the programming language;

and semantically correct values input by advanced students,who may not need help with the semantics of the language.

d Dynamic coupling:It should b

e possible for the coupling among users to be changed dynamically.Dynamic

coupling is useful since users may want to couple at different levels during different phases of the collabora-tion.For instance,during the‘‘outline phase’’of a requirements document,users interacting with a multiuser document editor may wish to see a change as soon as it is made since they would be collaborating closely on de?ning the outline of the document;during the‘‘writing phase’’,they may wish to see a change only after it has been committed since they would be working on separate tasks;and?nally,during the‘‘integration

phase’’,they may wish to again see a change as soon as it is made.It also allows the coupling level to be adapted to support minimum performance levels.The response time of multiuser programs depends on the kind of coupling among its users—decreasing the level of coupling decreases the number of noti?cation events generated and thus also decreases the response time of the program.This phenomenon can be used to dynamically‘‘tune’’the coupling of a multiuser program based on the maximum response time acceptable to its users.For instance,parts of the design of a software module created by a user of a multiuser program edi-tor can be shared with other users as soon as they are created or after the design is completed,depending on the maximum response time acceptable to the users of the editor.

d Recognizing dependencies:Th

e requirements above indicate the kind o

f independences a generic coupling

model should support.However,in speci?c situations,not all of these independences are relevant.For instance,in some situations,listeners may be willing to receive any information sent by senders of the infor-mation.When such dependencies exist,the coupling model should not force the users to enter,duplicate, redundant information—a direct consequence of the speci?cation principle.For instance,in some situations, listeners may be willing to receive any information sent by senders of the information whenever the informa-tion is made available to them.In these situations,the model should not require the listeners to enumerate the the information they are willing to receive and when they are willing to receive it.This information should be automatically derived from the speci?cations made by the senders.Similarly,the model should allow speci?cations to be made for groups of data,properties,and users.

Thus,a generic collaboration model must give users great?exibility in choosing the nature of the coupling while also meeting the generic principles of easy speci?cation,performance,and automation.

4.2.Concurrency Control

Concurrency control prevents concurrent,possibly distributed,inconsistent changes to the editable data struc-tures of a collaborative application.It is similar to access control in that it may control access to data structures.The difference is that access control prevents unauthorized changes while concurrency control prevents inconsistent (authorized)changes.

There are two main principles a concurrency model must follow in addition to the function-independent princi-ples of speci?cation,grouping,automation,and performance:

d Consistency:It must disallow inconsistent concurrent interaction.Otherwise,users ar

e forced to manually

detect and resolve inconsistencies.

d Concurrency:It must allow consistent concurrent interaction.Otherwise,users ar

e forced to wait unneces-

sarily.

Different systems put different emphasis on these principles.For instance,classical database systems emphasize the consistency principle by supporting serializable transactions19.The serializable model ensures that systems support only those concurrent transaction schedules that are equivalent to serial execution of the transactions.However,in several emerging applications,it is too conservative in that it precludes concurrent schedules that satisfy application-

speci?c consistency requirements20.Groupware systems,on the other hand,emphasize the concurrency and perfor-mance principles.They often take the approach of not supporting any concurrency control17.In traditional database applications,it is dif?cult to imagine a scenario that does not require concurrency control,but in collaborative applica-tions,there are situations in which no control is acceptable.If the number of collaborators is small and each user can instantly see changes made by other users to shared objects,each collaborator can be completely aware of the poten-tially con?icting actions of other users,and thus social protocol can prevent inconsistent changes.Experience of researchers has shown that under these two conditions few collisions occur2,17.In these circumstances,it is more desirable to use the computing resources to provide real-time communication of users’changes than to check for inconsistent concurrent changes.Thus,this approach supports the concurrency and performance principles by com-pletely sacri?cing the consistency principle.

If either the number of collaborators is large or the coupling is not WYSIWIS,it is useful to provide system support for ensuring consistent interaction.As with coupling,the concurrency control model must allow tailoring of the concurrency control scheme.We have identi?ed the following set of?exibility requirements that de?ne the kind of tailoring that should be provided:

d Isolation:Transactions should b

e allowed to make a set o

f changes in isolation before allowin

g others to view

them21.While the classical database systems support this requirement,few groupware systems do so.

d Sharing of partial results:Transactions should b

e able to share‘‘partial results’’with selected sets o

f transac-

tions,called their domains,before they share‘‘?nal results’’with the set of all transactions22.This require-ment is not supported by classical database systems and has been identi?ed in the context of software engineer-ing to allow,for example,a team of programmers to share intermediate versions of a module before they com-mit the?nal version to the testing team.

d Hierarchy of partial results:A hierarchy of partial results,each with its domain,should b

e supported to cap-

ture the notion that some partial results are‘‘more?nal’’than others.For instance,it should be possible for the team of programmers to share their changes with the testers before they share them with the customers.

d Flexibl

e inconsistency detection time:An important issue in concurrency control is inconsistency detection

time.Should the optimistic approach be used to detect inconsistencies at commit time or the pessimistic, locking-based approach be used to detect them at access time?Optimistic concurrency control has two main advantages:First,it does not lock out users from doing their work.This is important when the transactions made by users are long,since when such transactions lock data,they may cause other concurrent transactions to wait for an unacceptable time.In several collaborative situations such as group software development and writing,transactions typically span several days.Second,optimistic concurrency control does not require incremental consistency checking,thereby improving the interactive response.Its main disadvantage is that it may require users to(i)abort inconsistent changes detected at commit time,thereby losing possibly several days of work,or(ii)merge their changes,which in general is labour-intensive,even though it can be automated in some cases23.In summary,pessimistic concurrency control is desirable when inconsistent, dif?cult to merge changes are frequently made and optimistic concurrency control is desirable in other

situations.Therefore,a concurrency control model should allow users to choose when inconsistencies are detected.

d Flexibl

e lock granularity:In the design o

f a pessimistic concurrency control mechanism,the granularity of

locking must be determined.One simple,popular approach is to support the coarse-grained,?oor control, which allows only one user of a collaborative application to hold the?oor at any time,locking out all other users.This form of concurrency control is suitable for lecture-style collaborations in which a single user is active at any one time.In particular,it is suitable for interaction with traditional applications supporting single-threaded dialogues,that is,dialogues that allow only one user action to be performed at any one time.

For instance,it is suitable for interacting with a traditional command interpreter,which allows only one com-mand to be input at any one time.Floor control is also application-independent and thus automatable:it is possible to build a general system such as a shared window system that manages the?oor for a collaborative application,ensuring that only one user of the application can enter input at any one time.Finally,in com-parison to schemes that choose?ner locking granularity,it is space ef?cient in that it stores only one lock per application,and time inef?cient in that it requires only one lock to be checked on each access.

However,it is not always suitable for modern direct-manipulation user interfaces24.These interfaces provide multi-threaded dialogues,that is,allow multiple user actions to be performed simultaneously.An example of such an interface is the spreadsheet interface,which allows multiple cells to be changed simultaneously.Pro-viding?oor control for interacting with these applications is too restrictive when users can concurrently and independently edit different cells.In this situation,it is more desirable to support?ne-grained locking,which locks the edited data structures at the leaf level.Fine-grained locking,however,has two main disadvantages: First,it is not possible to provide a system that automates it unless the system can deduce the granularity of the edited data structures.Few existing applications export their structure to external agents-some of the exceptions are those developed using User Interface Management Systems(UIMS)such as Suite,which export

a hierarchical representation of their data25.Thus,it is not possible to automate?ne-grained locking for most

of the existing applications.Second,?ne-grained locking is space inef?cient in that it requires a lock for each leaf-level data item,which may be a problem if the number of displayed items is large.

Sometimes,it is useful to support a compromise between?ne-grained locking and?oor control by supporting variable-grained locking,which allows the locking granularity for a collaborative application to change dynam-ically.For instance,users of a collaborative document editor may wish to start their session using?oor control as each user proposes the outline of the document,then change to?ne-grained control to concurrently edit different sections of the document,and?nally switch back to?oor control when they collectively resolve their changes.However,variable-grained control would be confusing unless the users explicitly understand the phases of their collaboration and the locking granularity supported by each phase.Variable-grained locking can also be time inef?cient since locks at multiple levels may need be checked on an access.

In summary,?oor control,?ne-grained locking,and variable-grained locking all offer important advantages and the concurrency control model should support all three of them.

d Flexibl

e lock transfer:There are several alternatives for transferring locks among users.One approach is non-

preemptive transfer,wherein users keep locks until they explicitly release them.The converse approach is preemptive transfer,wherein users can unlock data locked by others.Preemptive locking reduces the wait time for locked out transactions.In particular,it avoids deadlocks and ensures that high-priority,short transactions do not have to wait for long transactions to unlock data.A disadvantage of preemptive locking is that it can lead to starvation of a user whose locks are continuously snatched by others or‘‘lock wars’’among users who grab locks from each other.Moreover,the data associated with a lock released by another user may have been left in an inconsistent state by the user who locked the data.A compromise is to support tickle locks26.These locks can be released by another user if the user who has the lock has been idle for more than a certain time.

They prevent starvation and‘‘lock wars’’but do not prevent inconsistencies in the data.Thus users should be able to choose pure preemptive,pure non-preemptive,and tickle locks.

d Explicit and implicit transactions:Users should not b

e required to explicitly execute commands to group a set

of commands in a transaction.The model should provide a rich set of schemes for starting and terminating transactions implicitly as side effects of editing actions,thereby reducing user overhead when these schemes are appropriate.Moreover,users should be able to override these schemes with explicit commands for group-ing commands into transactions.

d Dynamic change:As with coupling parameters,it should b

e possible for concurrency control parameters to be

changed dynamically to allow,for instance,users of a collaborative document editor to start their session using preemptive locks as they brainstorm about the different requirements of the document and then change to non-preemptive or tickle locks as they independently write the different parts of the document.

Thus,a variety of concurrency control schemes are useful in a collaboration and the scheme to be used depends on the application,the set of collaborators,and the phase of collaboration.In this section,we have identi?ed some of the important issues in concurrency control for collaborative applications and motivated the need for resolv-ing them?exibly.

4.3.Access Control

Access control determines which subjects(users or programs)are authorized to do what type of operations on which objects.It is a mechanism to both protect data objects against unauthorized access and prevent mistakes by users.Research in operating systems has developed the notion of an access matrix—an abstract data structure that indicates the set of operations a subject can invoke on a protected object.Different systems provide different concrete realizations of the abstract access matrix model—some of these are low-level and emphasize?exibility while others are high-level and specify ease of use.

An example of a low-level and?exible access control technique is the Hydra capability-based system27,which stores with each subject a list of capabilities.A capability is a‘‘ticket’’associated with a protected entity that indi-cates the set of operations the subject can execute on the entity.Hydra allows arbitrary capabilities to be dynamically added to a capability list,thereby supporting all possible values of the access matrix.However,a problem with the ?exible approach supported by Hydra is that a capability must be explicitly de?ned for each object a subject has

access to.This makes the speci?cation of access rights cumbersome and storage of them expensive since in a typical system a subject has access to a large number of objects.As a result,capability-based systems are seldom used directly—higher-level models are built on top of capability-based systems that make the speci?cation of access rights easier and storage of them more ef?cient.

A popular higher-level method is supported by the UNIX operating system,which makes three important simpli?cations to address this problem.First,it divides the set of protected objects into?les and directories—smaller objects cannot be individually protected.Second,it divides the set of operations into three groups,read,write,and execute.Finally,for each protected object,it divides the set of subjects into three groups,owner,group,and others. With each protected object it associates an access list which describes the operations that can be executed by the three groups of subjects.These three simpli?cations allows UNIX to support the storage and speci?cation of relatively few access right de?nitions.On the other hand,these simpli?cations make the model in?exible.For instance,they do not allow the system to support object-speci?c rights such as the right to annotate a document.

Thus each of the two models ignores an important access control principle.What is needed is an explicit identi?cation of principles that access control systems must meet.Saltzer28has identi?ed such a set based on the research done on access control in non-collaborative domains:

d Permission rather than exclusion:Th

e default situation should be lack o

f access,and the protection scheme

should identify conditions under which access is permitted.In comparison to the converse approach of giving permission by default,this approach is more conservative and thus safe.

d Total mediation:Every access to every object should b

e checked for correct authority.

d No secret design:Th

e mechanism should not depend on the ignorance o

f potential attackers but instead should

depend on possession of speci?c,more easily protected,passwords or protection keys.

d Least privilege:Every program or user should operat

e using the least amount o

f permissions required to com-

plete the job.This principle is also called the‘‘need to know’’principle.

d Eas

e o

f use:The human interface should be easy to use,otherwise users will not routinely use the protection

mechanisms.

Access control has also recently been studied in the context of collaboration2,12,29.Based on the results of this work,several access control requirements can be formulated,some of which are lower-level,collaboration-speci?c requirements that can be derived from Saltzer’s general,collaboration-independent access principles.These requirements include:

d Collaboration rights:Besides th

e traditional read and write operations,other operations such as coupling

operations whose results can affect multiple users must be protected by a set of collaboration rights.This requirement is a corollary of Saltzer’s total mediation requirement.

d Multipl

e user roles:A role is a subject that is associated with a set o

f privileges and responsibilities.Ellis et

al2and Patterson29point out that role-based access speci?cation should be supported in collaborative tools so that users’access privileges can be inferred from the roles they take.In addition,our scenarios show that users

should be allowed to take multiple roles simultaneously.For instance,a teaching assistant should be able to simultaneously take the roles of‘‘student’’and‘‘lecturer’’.This requirement can be derived from Saltzer’s ease of use principle since the concept of a role has a meaning in our daily life.

d Object,subject,and right independence:Th

e access control mechanism should support?ne-grained

speci?cation of subjects,objects,and access rights,that is,it should allow independent speci?cation of each access right of each subject on each object.For instance,it should allow independent speci?cation of the access rights to each annotation in a multiuser code inspection.This requirement is a corollary of Saltzer’s least privilege requirement.

d Object,subject,and right grouping:In several situations,thes

e access speci?cations made for different objects,

subjects,and rights are dependent.Therefore,the model should allow access speci?cations to be shared by groups of objects,subjects,and rights—a corollary of the general grouping principle.

d Inferencing:Th

e system should do automatic inferencing to support both consistent and easy speci?cation of

rights.In particular,the right to do an operation should imply the right to do weaker operations.For instance, the right to send partial results to a user should also imply the right to send committed results to the receiver, since the former is a stronger operation.Moreover,the rights of a subject should be inferred from the rights of less trusted subjects.For instance,rights speci?ed for employees should be automatically given to their managers if the application semantics require the latter to have all rights of the former.

d Flexibl

e ownership:The model should be able to support both single-user and group ownership and allow

users to specify the semantics of ownership.Traditional systems such as UNIX have shown the usefulness of single-user ownership of objects.A collaboration model should also allow multiple users to own an object together since more than one collaborator can contribute to the creation of an object and one user can create an object on behalf of a whole group.

In a collaborative environment,the exact semantics of ownership may vary depending on the application.For instance,in a classroom exam scenario,the teacher should be the owner in that he should have the right to give read/write rights to the various exams.However,the ownership right should not imply write rights to the exams.On the other hand,in a code reviewing application,the owner of a comment should have all rights to the comment including both the write right and the authorizer rights.

d Dynamic change:It should b

e possible to dynamically change collaboration rights,roles,owners,and owner-

ship semantics.This requirement allows,for instance,a user of code inspection tool to graduate from an ‘‘observer’’to an‘‘annotator’’.It can be derived from Saltzer’s least privilege requirement since it allows subjects’rights to change as their tasks change.

Thus,like coupling and concurrency control,access control must be performed?exibly in the ways described above while meeting the principles of easy speci?cation,performance,and automation.

4.4.Multiuser Undo

So far we have addressed elements of a multiuser‘‘do’’model—the operations users can perform to modify data structures,couple with other users,and specify concurrency and access control.It is crucial to also support a multiuser‘‘undo’’model to allow users to cancel/repeat previous actions.Undo is considered an important feature in single-user systems since it allows users to easily recover from mistakes and explore alternatives by executing com-peting command sequences and observing and comparing differences in the resulting system state.In a collaborative system,it is even more important to support undo.In such a system,the potential cost of an individual user’s mistake is multiplied several times because it can adversely affect the work of a large number of collaborating users.More-over,the number of alternatives to be considered increases due to the presence of multiple users.Furthermore,a col-laborative system offers new kinds of commands such as coupling-speci?cation commands and thus provides new avenues for making errors and exploring alternatives.

The notion of multiuser undo in collaborative systems is related to recovery in database systems—in both cases actions are undone in a multiuser domain.In particular,it is related to recovery of conversational transactions30 because in both cases there is a need to undo the effect of user-interface(e.g.graphical and audio)operations.As a result,recovery mechanisms such as logging and inverse operations can be used in the implementation of multiuser undo.There is also an important difference between database recovery and multiuser undo.Database recovery deals with reversing all executed steps of incomplete,ongoing transactions(which are logically independent of each other) while multiuser undo addresses reversing selected steps of both ongoing and completed transactions.In multiuser undo,the number of undoable operations is potentially unbounded so,unlike database recovery,undo must provide a user interface for navigating through the list and selecting the operation to be undone.Moreover,in a multiuser environment,it must allow undoing of operations whose results have been observed by others.Undoing an incom-plete transaction whose results have been observed by other ongoing transactions is considered undesirable in database systems because it can lead to the problem of cascaded rollbacks.However,multiuser undo/redo does not have to fol-low this rule since operations are allowed to see the results of previously completed operations and users are free to reverse(if possible)the effects of previously completed operations.It is presumed that a user reversing an operation has considered the results of succeeding operations before issuing the undo or do commands to achieve the reversal. Dependency checking algorithms31can be used to help users in this situation but it is their responsibility to maintain any consistency constraints that cannot be checked by the system.

It is only recently that researchers have paid attention to multiuser undo13,31-33.From these works several requirements for a collaborative undo model can be formulated.Some of these requirements are also relevant in the single-user case but are more important in the multiuser case:

d Match‘‘do’’model characteristics:Undo should b

e able to perform all command reversals that are possible

with forward execution of‘‘do’’commands.Moreover,it should always take substantially less effort to reverse actions using the undo commands than do commands that have the same effect.If this requirement is not met,then users would be forced to use forward execution to reverse actions.

d Unrestricted command type:It should b

e possible to undo all undoable commands-a corollary o

f the match-

ing requirement.In particular,it should be possible to undo not only commands that edit local dispays but also those that trigger computations in the application,explicitly transmit information to other users,lock and unlock data,and change coupling,concurrency control,and access control speci?https://www.doczj.com/doc/6e12752915.html,mands that can-not be undone should be clearly indicated and users should be asked to con?rm execution of irreversible com-mands.Few single-user undo mechanisms meet this requirement since it is assumed that users would not want to undo‘‘uninteresting’’commands such as cursor movement commands,which do not change single-user state.However,in a multiuser system,fewer commands are‘‘uninteresting’’since commands such as cursor movement commands that do not change the local state may trigger state changes in remote displays.Thus the importance of this requirement increases in a multiuser system.

d Undo of undo:Undo of undo is required to redo changes and is a dif?cult to design featur

e which accounts for

most of the differences among current single-user undo models.

d Unrestricted scope:Allowing undo of only th

e last command(s)is not enough.Often an error is not apparent

until several commands have been executed.Furthermore,in a multiuser application,other users may execute commands after a user’s command,thus making it irreversible if only the last command is undoable.It is not always desirable to have a completely unrestricted scope because of the problem of undoing a command on which other commands(executed possibly by other users)depend.Schemes for detecting con?icts31,34should be used and and users should be asked to con?rm undoing of a command that has dependent commands.

These schemes could be used to warn a user of,for instance,undo of a coupling speci?cation if coupling enabled by the speci?cation occurred after the speci?cation was made.

d Completeness:It should b

e possible to use undo to remove all state changes made by the command,otherwise

the state of the system is not consistent.

Other requirements are relevant only in the multiuser case,some of which are corollaries of the previous requirements:

d Flexibl

e control:Like the do model,the undo model must provide support for?exible concurrency control.In

particular,it should support both no concurrency control and turn taking mechanisms.

d Compatibility:A multiuser undo model should behav

e like an existing single-user undo model when only one

user is interacting with the application,thereby relieving users from learning new single-user features and allowing them to incrementally learn multiuser features.

d Individual undo:Multiuser undo should not requir

e intervention o

f all users in a collaborative session to exe-

cute an undo,since do commands do not require such intervention.This requirement allows users to partici-pate in a collaboration without being required to synchronize their recovery commands with other users.In particular,it allows passive observers to remain synchronized with others without executing any commands themselves.

d Remot

e undo:Users should be allowed to undo local commands that affect remote displays—a corollary o

f the

matching requirement.

d Global undo:Users should b

e able to undo remote commands that affect local displays—again a corollary of

the matching requirement.

d Subgroup undo:It should b

e possible to undo a command for a subset o

f the users who saw the effect of the

command,thereby restricting the exploratory phase of undo to the minimum set of users and then involving the rest only when undo is deemed to be useful.In particular,it should be possible to undo only changes to the local state.This requirement con?icts with the completeness requirement,which implies that at least two kinds of undo should be supported by the system.

d Undo filters:It should b

e possible to undo commands relative to?lters o

f the command history that contain

selected commands from the history.In particular,it should be possible to undo commands relative to?lters containing commands that(a)are executed by a particular user,(b)operate on a particular data structure,and

(c)are of a particular type.This feature would allow a user to,for instance,create a?lter that contains only

the commands executed by him and then use a single undo command to undo a sequence of commands exe-cuted by him.

d Undo independence:It is easier to design an undo mechanism if w

e make assumptions about how the other

collaboration tasks are performed.In particular,the design is easy if we assume?oor control and WYSIWIS (What You See Is What I See)coupling,since we can then assume that the users share a single command his-tory and there are no race conditions for executing undo13.This requirement says that the mechanism should make no such assumptions and thus be usable with arbitrary schemes for concurrency control,coupling,and other collaboration functions.

Thus,in comparison to single-user undo,collaborative undo must satisfy a large and complex set of require-ments.

5.Conclusions and Future Work

This paper makes three main contributions:

d It shows that generalized multiuser editing provides th

e basis for a characterization o

f collaborative applica-

tions that is both general and detailed.

d It identi?es four important dimensions of collaboration,coupling,concurrency control,access control,and

undo;and

d It overviews th

e issues,approaches,principles,and requirements for designing the collaboration functions.

Further work is needed to identify other issues,approaches,principles,and requirements related to these colla-boration functions based on more experience with designing and using collaborative applications.Moreover,our work does not identify all possible collaboration functions.For instance,it does not address‘‘user awareness’’—facilities for making a user aware of the meta information regarding the collaboration such as which users are involved in the collaboration and what parts of the display they are viewing or changing35.Therefore,it would be useful to explicitly include user awareness and other collaboration functions in the model.Finally,our characteriza-tion of the design space is high-level in that it addresses‘‘what’’must be supported in generic editing-based

collaboration model rather than‘‘how’’the principles and requirements must be supported.It is possible to design a variety of useful collaboration systems that satisfy the properties identi?ed here.We have developed one such approach that satis?es some of the editing25,coupling11,concurrency control,access control12,and undo13properties summarized here.It would be useful to explore other approaches that satisfy these properties.Finally,it would be useful to evaluate existing collaboration systems according to how well they support the principles and requirements outlined here.This paper provides the basis for these future directions of research.

6.Acknowledgments

Many thanks to Prof.Andy Whinston for inviting a paper on this topic for the Fourth Conference on Organiza-tional Computing.This research was supported in part by National Science Foundation grants IRI-9015442and IRI-9208319and in part by grants from the Software Engineering Research Center at Purdue University,a National Sci-ence Foundation Industry/University Cooperative Research Center(NSF Grant No.ECD-8913133).

REFERENCES

1.Ron Baecker,Readings in Groupware and Computer-Supported Cooperative Work,Morgan Kaufmann,CA

(1993).

2.Clarence A.Ellis,Simon J.Gibbs,and Gail L.Rein,Groupware:Some Issues and Experiences,CACM

34(1) pp.38-58(January1991).

3.Prasun Dewan,A Survey of Applications of CSCW Including Some in Educational Settings,Proceedings of

ED-MEDIA’93, pp.147-152(June1993).

4.T.DeMarco and T.Lister,Peopleware:Productive Projects and Teams,Dorset House Publishing Co.,New

York(1987).

5.Kennith L.Kraemer and John Leslie King,Computer-Based Systems for Cooperative Work and Group Deci-

sion Making,ACM Computing Surveys20(2)(June1988).

6.Prasun Dewan and John Riedl,Toward Computer-Supported Concurrent Software Engineering,IEEE Com-

puter26(1) pp.17-27(January1993).

7.L.C.Rosenberg,Update on National Science Funding of the‘‘Collaboratory’’,CACM34(12)(December

1991).

8.Y.V.Ramana Reddy,Kanakanahalli Srinivas,V.Jagannathan,and Raghu Karinthi,Computer Support for

Concurrent Engineering,IEEE Computer26(1)(January1993).

9.Prasun Dewan,Tools for Implementing Multiuser User Interfaces,Trends in Software:Issue on User Interface

Software1 pp.149-172Wiley,(1993).

10.Prasun Dewan and Marvin Solomon,An Approach to Support Automatic Generation of User Interfaces,ACM

Transactions on Programming Languages and Systems12(4) pp.566-609(October1990).

11.Prasun Dewan and Rajiv Choudhary,Flexible User Interface Coupling in Collaborative Systems,Proceedings

of the ACM CHI’91Conference, pp.41-49(April1991).

12.Honghai Shen and Prasun Dewan,Access Control for Collaborative Environments,Proceedings of the ACM

Conference on Computer Supported Cooperative Work, pp.51-58(November1992).

13.Rajiv Choudhary and Prasun Dewan,Multi-User Undo/Redo,Technical Report SERC-TR-125-P,Software

Engineering Research Center,Purdue University(August1992).

14.Sunil Sarin and Irene Greif,Computer-Based Real-Time Conferencing Systems,IEEE Computer18(10) pp.

33-49(October1985).

15.Gary M.Olson,Lola J.McGuf?n,Eiji Kuwana,and Judith S.Olson,Designing Software for a Group’s Needs:

A Functional Analysis of Synchronous Groupware,Trends in Software:Special Issue on User Interface

Software, pp.129-148Wiley,(1993).

Dewan, Choudhary, and Shen Characterizing Collaborative Applications d 19 16.Thomas W.Malone and Kevin Crowston,Towards an Interdisciplinary Theory of Coordination,Tech.Report

CCS TR#120,MIT Center for Coordination Science(April1991).

17.Mark Ste?k,Gregg Foster,Daniel G.Bobrow,Kenneth Kahn,Stan Lanning,and Lucy Suchman,Beyond the

Chalkboard:Computer Support for Collaboration and Problem Solving in Meetings,CACM30(1) pp.32-47 (January1987).

https://www.doczj.com/doc/6e12752915.html,uwers and https://www.doczj.com/doc/6e12752915.html,ntz,Collaboration Awareness in Support of Collaboration Transparency:Require-

ments for the Next Generation of Shared Window Systems,Proceedings of ACM CHI’90, pp.303-312(April 1990).

19.K.P.Eswaran,J.N.Gray,R.A.Lorie,and I.L.Traiger,The Notions of Consistency and Predicate Locks in a

Database System,CACM19(11) pp.624-633(Nov1976).

20.N.S.Barghouti and G.E.Kaiser,Concurrency Control in Advanced Database Applications,ACM Computing

Surveys23(3) pp.269-318(1991).

21.Theo Haerder and Andreas Reuter,Principles of Transaction-Oriented Database Recovery,ACM Computing

Surveys15(4) pp.287-317(December1983).

22.Gail E.Kaiser,A Flexible Transaction Model for Software Engineering,Proceedings of the Sixth International

Conference of Data Engineering, pp.560-567(February1990).

23.S.Horowitz,J.Prins,and T.Reps,Integrating Non-Interfering Versions of Programs,ACM Transactions on

Programming Languages and Systems11(3) pp.345-387(July1989).

24.Ben Shneiderman,Direct Manipulation:A Step Beyond Programming Languages,IEEE Computer16(8) pp.

57-69(Aug1983).

25.Prasun Dewan and Rajiv Choudhary,A High-Level and Flexible Framework for Implementing Multiuser User

Interfaces,ACM Transactions on Information Systems10(4) pp.345-380(October1992).

26.Irene Greif,Robert Seliger,and William Weihl,Atomic Data Abstractions in a Distributed Collaborative Edit-

ing System,Conference record of POPL,(January1986).

27.W.Wulf,E.Cohen,W.Corwin,A.Jones,R.Levin,C.Pierson,and F.Pollack,Hydra:The Kernel of a Mul-

tiprocessor Operating System,CACM17(6)(June1974).

28.J.H.Saltzer,Protection and the control of information sharing in multics,Communications of the ACM

17(7) pp.388-402(July1974).

29.John F.Patterson,Ralph D.Hill,Steven L.Rohall,and W.Scott Meeks,Rendezvous:An Architecture for

Synchronous Multi-User Applications,Proceedings of the Conference on Computer-Supported Cooperative Work, pp.317-328(October1990).

30.R.Pausch,Adding Input and Output to the Transactional Model,Ph.D.Thesis and Technical Report Number

CMU-CS-88-171,Carnegie Mellon University,Department of Computer Science(August1988).

31.Atul Prakash and Michael J.Knister,Undoing Actions in Collaborative Work,Proceedings of the ACM

Conference on Computer Supported Cooperative Work, pp.273-280(November1992).

32.James Rhyne and Catherine Wolf,Tools for Supporting the Collaborative Process,Proceedings of Conference

on User Interface Systems and Technology, pp.161-170(1992).

33.Thomas Berlage and Andreas Genau,A Framework for Shared Applications with Replicated Architecture,

Proceedings of Conference on User Interface Systems and Technology,(to appear in November1993).

34.W.D.Elliot,W.A.Potas,and A.van Dam,Computer assisted tracing of text evolution.,Proc.of AFIPS Fall

Joint Computer Conf, pp.533-540(1971).

35.Michel Beaudoin-Lafon and Alain Karsenty,Transparency and Awareness in a Real-Time Groupware System,

Proceedings of UIST’92,(1992).

福建省福州格致中学2014-2015学年高一上学期期中考试英语试题 Word版无答案

福州格致中学2014-2015学年第一学段 高一英语《必修一》模块考试 第二部分:英语知识运用 单项填空 从每题所给的A、B、C、D四个选项中,选出可以填入空白处的最佳答案,并在答题卡上将该选项涂黑。 21.In _______ distance is a tall tree which is said to have ______ history of over 500 years. A. the; a B. /; / C. a; a D. the; / 22.--- Look! The telephone is broken. Someone damaged it _______ purpose. --- That may be right. But perhaps it was broken ________ accident. A. on; on B. on; by C. by; by D. by; on 23.It might be very difficult to find _______ of the information. A. cause B. resource C. source D. course 24. Shall we go there by bus or by taxi? The ______ seems to be quicker. A. late B. latter C. later D. lately 25. After living in the United States for fifty years, he returned to the small town where he ______. A. brought up B. grew up C. gave up D. turned up 26. The engine of the ship was out of order and the bad weather ________ the helplessness of the crew(船员) at sea. A. added to B. added up to C. added up D. was added to 27. --- Daddy, I don’t want to go to Jimmy’s birthday. --- You had better go. ______ you make a promise, you have to keep it. A. Even B. Once C. Unless D. In case 28. --- Won’t you stay for lunch? --- No, thanks, I _______ my uncle at the airport at 10:30. A. met B. have met C. meet D. am meeting 29. ________ out for food, Some work in the nest as guards or workers. A. All the bees not go B. Both the bees don’t go C. Not all the bees go D. All the bees go 30. The old town has narrow streets and small houses _______ are built close to each other. A. they B. where C. what D. that 31. --- Don’t you know our town at all? --- No, It is the first time I _______ here. A. was B. am coming C. came D. have come 32. Can you make sure _____ the gold ring? A. where Alice had put B. where had Alice put C. where Alice has put D. where has Alice put 33. He decided to help the poor girl _______ were killed in the earthquake. A. which parents B. parents of them C. whose parents D. whom parents 34. The settlement is home to nearly to 1,000 people, many of _______ left their village homes for a better life in the city. A. whom B. which C. them D. who 35. ---We could invite John and Barbara to the Friday night party. --- Yes, _______ ? I’ll give them a call right now. A. why not B. what for C. why D. what 第二节完形填空(共20 小题;每小题一分,满分20分) 阅读下面短文,从短文后各题所给的四个选项(A,B,C,D)中选出可以填入相应空白处的最佳选项,并在答题卡上将该选项涂黑。 This little story I’m going to tell you happened when I was about 11 years old and I’II never forget it. I was at my friend Jenny’s __36__ after school one day, and we were doing (or not doing) homework.. __37__ I was there, Jenny’s mom came over to visit. I don’t remember her name__38__ what her face looked like. I just remember her hands, her voice and the__39__ she taught me. I can still see her hand __40__ for mine in our introduction. __41__ were so

【2019最新】高一英语上学期期末考试试题

【2019最新】高一英语上学期期末考试试题 高一英语试卷 第二部分阅读理解(共两节,满分40分) 第一节(共15小题:每小题2分,满分30分) 阅读下列短文,从每题所给的四个选项(A、B、C和D)中选出最佳选项,并在答题卡上将该项涂黑。 A Americans like to travel on vacations. Today more and more travelers in the United States are spending nights at small houses or inns instead of hotels. They get a room for the night and the breakfast for the next morning. Staying at a bed-and-breakfast inn is much different from staying at a hotel. Usually the cost is much less. Staying at an inn is almost like visiting someone’s hom e. The owners are glad to tell about the area and the interesting places to visit. Many vacationists say they enjoy the chance to meet local families. 21. Where do more and more travelers in the USA like spending nights? ________.

福建省福州格致中学高考英语备考听力训练二十五试题 含答案

25. 第一部分听力(共两节。满分30分) 第一节(共5小题;每小题l.5分,满分7.5分) 听下面5段对话。每段对话后有一个小题,从题中所给的A、B、C三个选项中选出最佳选项,并标在试卷的相应位置。听完每段对话后,你都有l0秒钟的时间来回答有关小题和阅读下一小题。每段对话仅读一遍。 1.What is the probable relationship between the speakers? A. Father and daughter. B. Doctor and patient. C. Teacher and student. 2.Why can’t the machine work according to the woman? A.The power may have been cut off. B.There is something wrong with it. C.Both of the speakers can’t operate it. 3.What does the woman mean? A She is tired of keeping pets. B She wants to have a dog. C She won’t have a dog as a friend. 4.What can we learn from the conversation? A.The man will invite Mary to dinner. B The man will buy his daughter a gift. C.Mary has a lovely girl. 5.Which of the following does the woman like best? A. Fishing.13.Swimming.C.Climbing. 第二节(共15小题;每小题l.5分,满分22.5分) 听下面5段对话或独白。每段对话或独自后有几个小题,从题中所给的A、B、C 三个选项中选出最佳选项,并标在试卷的相应位置。听每段对话或独白前,你将有时间阅读各个小题,每小题5秒钟;听完后,各小题将给出5秒钟的作答时间。每段对话或独自读两遍。 听第6段材料。回答第6,7题。 6.What season is it now? A Spring. B Summer. C Autumn. 7.What will the speakers do? A. Drive to San Diego. B.Have take—away food in the park. C. See an outdoor movie. 听第7段材料。回答第8,9题。 8.What color is the tie the man is looking for? A. Green. B. Blue. C. Brown.

【新课标版】高一英语上学期期末考试

2012-2013学年度上学期期末考试 高一英语试题【新课标】 说明:本试题满分150分,所有答案填写在答题卷上。写在其它地方无效。 第一部分:听力(共三节,满分30分) 第一节(共5小题;每小题1.5分,满分7.5分) 听下面一段对话,回答第1小题。 1.How did the girl get to school this morning? A.On foot.B.By bus.C.In a car. 听下面一段对话,回答第2小题。 2.Who has been fooled? A.Sue.B.Bob.C.Nobody. 听下面一段对话,回答第3小题。 3.Are the keys in the backpack? A.No, they aren’t.B.Yes, they are.C.We don’t. 听下面一段对话,回答第4小题。 4.What kind of party will they have? A.A money-raising party.B.A birthday party.C.A costume(服装) party. 听下面一段对话,回答第5小题。 5.Why did the girl cook herself? A.Because she likes cooking. B.Because she came back home late. C.Because she wanted to help her parents. 第二节(共11小题;每小题1.5分,满分16.5分) 听下面一段对话,回答第6和第8三个小题。 6.What’s the woman’s favouite hobby? A.Bowling.B.Collecting coins.C.Boating. 7.What countires has the woman been to? A.Canada and China.B.Mexico and America.C.Japan and Canada. 8.Why doesn’t the man have a hobby? A.Because he is too lazy. B.Because he has to wok outside in the garden. C.Because his work takes up too much of his spare time. 听下面一段对话,回答第9至第11三个小题。 9.What do you think the woman’s job is? A.A truck driver.B.A policeman.C.A journalist(新闻记者). 10.When did the car accident happen? A.Around half to seven. B.While the man was waiting for the green light. C.When the man was passing the crossing.

福建省福州格致中学(鼓山校区)高一英语上学期第五次月考(期末)试题

福州格致中学2015级高一学段第一学期质量评定 高一年级第五次月考英语试卷 时间:100分钟分值120分 ★祝考试顺利★(完型填空启用备用卷题号不同答题卡区域注意区别) 第Ⅰ卷选择题(共两部分,满分70分) 第一部分阅读理解(共两节,满分40分) 第一节、完形填空(共20小题;每小题1.5分,满分30分) 阅读下面短文,从短文后所给各题的四个选项(A、B、C和D)中,选出可以填入空白处的最佳选项。 Most of us are highly aware of various channels through which we can obtain information on food safety. A majority of us have shown much __36___ in experts and authorities and taken a(n) __37___ part in science activities organized by such experts. __38_, we do not always form an accurate picture When there is __39_news about one brand, our trust in all brands or similar products tends to be __40___ . We would doubt not only the brand in __41___ but also similar brands when a safety issue (问题)_42___ in the news. At the same time,our purchase __43___ change as food safety incidents occur. We are becoming _44___ confident in domestic(国内的)food companies ,for they have done too little in publishing and sharing food safety __45__ so far. As a result ,we would turn to __46__ brands more often. Food safety incidents in China have attracted a lot of attention. As a matter of fact ,we only have a very _47__ knowledge base on the issue. In developed countries,there have been relatively _48__ measures and response system toward safety issues. Therefore, the __49___ in those countries are less likely to become over-panicked and form serious _50 about all brands. Food companies should pay more attention to our insights, listen to our voices, _51___ the opinions of experts and authorities ,have effective strategies for response _52____ various media channels, and __53___ information in time and face the public honestly. In addition ,both the government and an independent third - party should have a role to play in providing information about food companies__54___ in raw material selection, production and distribution (流通) However, this might require several years and we still need to learn more about food __55___ 36. A. respect B.enthusiasm C. distrust D. confidence 37. A. slight B. broad C. active D. natural 38. A. However B. Consequently C. Meanwhile D. Furthermore 39. A. negative B. exciting C. detailed D. special 40. A. protected B. affected C. increased D. preserved

高一英语上学期期中试题(新版)新人教版

2019级高一上学期期中考试 英语试题 2018年11月本试卷分第I卷(选择题)和第II卷(非选择题)两部分,共12页。满分150分,考试时间120分钟。考试结束后,将答题卡和答题纸一并交回。答卷前,考生务必将自己的姓名、准考证号、考试科目填涂在答题卡和答题纸规定的地方。 第I卷(选择题,共100分) 第一部分:听力(共两节, 满分30分) 第一节(共5小题,每小题1.5分,满分7.5分) 听下面5段话对话。每段对话后有一个小题,从题中所给的A,B,C 三个选项中选出最佳选项,并标在试卷的相应位置。听完每段对话后,你都有10秒钟的时间来回答有关小题和阅读下一小题。每段对话仅读一遍。 1.What is probably the woman ? A.A doctor B. A taxi driver C. A policewoman 2. What’s the matter with the woman’s husband A. He is having a serious headache. B.There is something wrong with his leg. C.He was knocked down by an ambulance. 3. What does the man think of the newest Readers? A. Just so-so. B.Wonderful. C. Dull. 4. How old is Mary now? A.Twenty. B.Twenty-eight. C.Thirty. 5. Where does the conversation probably take place? A.In the hospital B.In a supermarket C.In a coffee bar. 第二节(共15小题;每小题1.5分,满分22.5分) 听下面5段话或独白。每段对话和独白后有几个小题,从题中所给的A,B,C三个选项中选出最佳选项,并标在试卷的相应位置。听每段对话和独白前,你将有时间阅读各个小题,每小题5秒钟,听完后,各小题将给出5秒时间作答。每段对话或独白读两遍。 听第6段材料,回答第6,7题。 6.How does the girl feel at first? A.Nervous. B.Confident? C.Relaxed. 7. When will the English speech contest start? A.At 2:00pm. B.At 3:00pm. C.At 5:00pm. 听第7段材料,回答第8, 9题。 8. What does the woman think of the man’s plan for the weekend?

2020学年高一英语上学期期末考试试题(新版)新人教版

阜蒙县第二高中2017--2018学年度上学期高一期末考试 英语试卷 时间:100分钟总分:150分 第一部分:阅读理解(共两节,满分40分) 第一节(共15小题;每小题2分,满分30分) A A teenager needs to have a sense of independence in their life to feel secure (安全的). To some teenagers independence means a lot to them, and I think that some parents don’t allow their teenagers enough independence. Independence has something to do with freedom. Some kids are not allowed to go anywhere alone, and the only thing their schedule includes is going to school, coming home, going to sleep, and repeating the process the next day. Parents tend to be afraid that their kids can get hurted if they go outside into the world. But if parents control their kids too much, they may never learn to live on their own. The best way for a teenager to learn lesson is through experience. I think it is beneficial for teenagers to have freedom. Teenagers’ lack of freedom can also stop them from having good friendship at school. Some might say that this is a good thing, because it helps them focus more on their school work. I argue that this can only discourage them not to do their school work. Some parents do not allow their children to be around their friends outside the school, thinking that this will get them into trouble. But I don’t think so. Instead, isn’t this a good reason for parents to get their children a cellphone? Cellphones allow teenagers to stay in touch with their parents, and communicate better with their friends. Privacy is another issue between parents and their teenagers. Teenagers tend to enjoy relaxation by themselves in their own room. This also gives them a sense of independence. It often annoys teenagers when their parents enter their room when they are not home. I know that my mom always goes in m y room when I’m not home, and this has brought me to the point where I have asked many times to get a lock on my door. 1. What is the main idea of the second paragraph? A. Kids know how to live independently. B. Some parents allow their kids no freedom. C. It benefits teenagers to have freedom. D. Kids have a dull routine every day 2. In the opinion of the author, ___________. A. parents should make it easy for kids to communicate with their friends B. good friendships between kids harm their school work C. it is unnecessary for a kid to have a cellphone D. kids should focus on the school work 3. How do teenagers usually feel when their parents enter their rooms in their absence?

高一英语上学期期末测试(含答案)

高一英语期末检测试题 本试卷分第I卷(选择题)和第II卷(非选择题)。第I卷1至8页,第II卷9至10页。满分150分,考试时间120分钟。考试结束后,将第II卷和答题卡一并交回。 第I卷(共105分) 注意事项: 1.答第I卷前,考生务必将自己的姓名、考号、考试科目涂写在答题卡上。 2.每小题选出答案后,用2B铅笔把答题卡上对应题号的答案标号涂黑。如需改动,用橡皮擦干净以后,再选涂其他答案标号。不能答在试题卷上。 第一部分听力(共两节,满分30分) 做题时,先将答案标在试卷上。录音内容结束后,你将有两分钟的时间将试卷上的答案转涂到答题卡上。 第一节(共5小题;每小题1.5分,满分7.5分) 听下面5段对话。每段对话后一个小题,从题中所给的A、B、C三个选项中选出最佳选项,并标在试卷的相应位置。听完每段对话后,你都有10秒钟的时间来回答有关小题和阅读下一小题。每段对话仅读一遍。 听下面5段对话。每段对话仅读一遍。 1. What will the man have for breakfast? A. Eggs. B. Bread. C. Coffee. 2. Why does the man visit the woman? A. To say sorry to the woman. B. To borrow some milk. C. To help cook the meal. 3. What is the man doing? A. Asking the way. B. Helping the woman. C. Working in an office. 4. What is the time now? A. 4:45. B. 5:00. C. 5:30. 5. What does the man offer to do? A. Drive for the woman. B. Find a parking lot. C. Carry the boxes for the woman. 第二节(共15小题;每小题1.5分,满分22.5分) 听下面5段对话。每段对话后有几个小题,从题中所给的A、B、C三个选项中选出最佳选项,并标在试卷的相应位置。听每段对话前,你将有时间阅读各个小题,每小题5秒钟;听完后,各小题给出5秒钟的作答时间。每段对话读两遍。 听第6段材料,回答第6至7题。 6. Which of the following does the man like? A. Fish. B. Tea. C. Coffee. 7. What is the woman’s attitude towards the man? A. Cold. B. Friendly. C. Careful.

2017-2018福州格致中学高一上期中试卷

试卷第1页,总5页 福州格致中学2017-2018学年第一学段 高一物理检测 命题题:林枝钦 审核:王宇 日期:2017.11.7 (完卷时间:70分钟 全卷满分:100分) 一.选择题(每题4分,共40分,其中1-6题为单项选择,7-10题为多项选择;多项选择选全对得4分,选不全得2分,错选不得分) 1.下列各组物理量中全部是矢量的是( ) A .位移、时间、速度、加速度 B .速度、平均速度、位移、加速度 C .质量、路程、速度、平均速度 D .位移、路程、时间、加速度 2.下面几组力中,可能成为平衡力的有( ) A .3N 、4N 、8N B .2N 、5N 、9N C .4N 、6N 、8N 、12N D .7N 、6N 、12N 、26N 3.一物体由某一高度做自由落体运动,第1s 内下降的高度是总高度的1/16,g=10m/s 2,则( ) A .物体下落的高度为5m B .物体下落的高度为25m C .物体下落的高度为45m D .物体下落的高度为80m 4.一个光滑的圆球搁在光滑斜面和光滑的竖直挡板之间,如图.当竖直挡板由竖直逆时针转到由图示虚线位置至水平位置过程中,则圆球受到的弹力( ) A .斜面对圆球的弹力先变小后变大 B .斜面对圆球的弹力逐渐变大 C .挡板对圆球的弹力先变小后变大 D .挡板对圆球的弹力逐渐变小 5.如图所示,两个质量均为m 的物体分别挂在支架上的B 点(如图甲所示)和跨过滑轮的轻绳BC 上(如图乙所示),图甲中轻杆AB 可绕A 点转动,图乙中水平轻杆一端A 插在墙壁内,已知θ=30°,则图甲中轻杆AB 受到绳子的作用力F 1和图乙中滑轮受到绳子的作用力F 2分别为( ) A .F 1=mg 、F 2= mg B .F 1= mg 、F 2=mg C .F 1= mg 、F 2=mg D .F 1= mg 、F 2=mg

高一英语上学期期末考试试题

高一英语上学期期末考试试题 试卷时长:120分钟卷面分值:150 第一部分听力(共两节,满分30分) 第一节(共5小题;每小题1.5分,满分7.5分) 听下面5段对话。每段对话后有一个小题,从题中所给的A、B、C三个选项中选出最佳选项。听完每段对话后,你都有10秒钟的时间来回答有关小题和阅读下一小题。每段对话仅读一遍。 Text 1 1.What's the food like? A.Very bad.B.Not good. C.Pretty good. Text 2 2.What are the two speakers doing? A.They are having a meeting. B.They are talking on the phone. C.They are listening to the radio. Text 3 3.What are the two speakers going to do? A.Find out what the weather will be like tomorrow. B.Play in the park. C.Take a walk around the lake. Text 4 4.What does the woman mean? A.She's too busy to help the man today. B.She'll finish the report by noon. C.She will have time later on the day. Text 5 5.What are the two speakers doing? A.They are climbing stairs. B.They are walking down the hill. C.They are talking about the lift. 第二节(共15小题;每小题1.5分,满分22.5分)

2021-2022年福州格致中学鼓山校区期末模拟高一英语

福州格致中学(鼓山校区)2021—2022学年度上学期期末模拟 高一英语试题 第一部分:英语知识运用 (共三节,满分 60 分) 第 一节:单 项 (共 15 分,每小题 1 分) 1. ---- Do you know what is on recently? ---- Sorry, I don ’t know, but I ’ll go and . A. find out B. take out C. figure out D. watch out 2. Why don ’t you just your own business and leave me alone? A. make B. open C. consider D. mind 3. — I hear you won the prize in the English Contest last week. — That was the second time that I the prize. A. have got B. got C. get D. had got 4. A number of students playing on the playground, but I don ’t know what the exact number . A. is; is B. are; are C.is; are D. are; is 5. The film we saw last night is called The Bridges of Madison County , which is a novel by Robert James. A. based on B. basing on C. based at D. basing at 6. —Ron, I congratulate you on your success. —Thanks, but the honor to all the people here. A. is belonged B. belongs C. is belonging D. belonged 7. I’d like a room window looks out over the sea. A. that B. where C. whose D. which 8. It is the third time that she has won the race, has surprised us all. A. that B. where C. which D. what 9. I don’t know the problem, for it’s beyond my power . A. how to deal with B. what to deal with C. how to deal with it D. what to do with it 10. —Sorry, sir, your computer isn’t ready yet. It at present. ―That’s all right. A. is repaired B. is being repaired C. hasn’t repaired D. has been repaired 11. The villagers went out to the mountain the missing child. A. in a search of B. looking after C. searched for D. in search of 12. The present media have changed our daily communication. The messages most of us rely are briefer than they once were. A. to which B. on which C. from that D. in what

最新高一英语上学期期末测试题(含答案)

11-12学年高一上学期期末考试 英语 本试卷分第Ⅰ卷(选择题) 和第II卷(非选择题) 两部分,共120分。考试时间120分钟。 第I卷(选择题三部分共85分) 第二部分英语知识运用(共两节, 满分35分) 第一节单项填空(共15小题;每小题1分,满分15分) 请认真阅读下面各题,从题中所给的A、B、C、D四个选项中,选出最佳选项,并在答题卡上将该项涂黑。 21. Such ________ medical equipment is in ________ danger of breaking down, if not take n good care of. A. a; the B. a; / C. /; the D. /; / 22. Let’s paint one side of the paper red, and _______ side black. A. the other B. another C. the others D. one another 23. Last week, only two people came to look at the house, _______ wanted to buy it. A. none of them B. both of them C. none of whom D. neither of whom 24. _______ the Internet is of great help, I don’t think it’s a good idea to spend too much time on it. A. If B. Because C. Although D. As 25. The manager of the company told us that very little _______ was made of the waste material in the past. A. cost B. value C. use D. matter 26. If you aren’t interested in the subjects your teachers suggest, you can ______ some of them. A. enjoy B. drop C. leave D. prove 27. His movie won several awards at the film festival, _______ was beyond his wildest dream. A. which B. that C. that D. it 28.—The window is dirty. —I know. It _______ for weeks. A. hasn’t cleaned B. didn’t clean C. wasn’t cleaned D. hasn’t been cleaned 29. You can’t imagine ______ when they received these nice Christmas presents. A. how they were excited B. how excited were they C. how excited they were D. they were how excited 30. The under-water meeting in Maldives has been put off _______ the bad weather. A. in charge of B. in search of C. instead of D. because of 31.—What about going to the cinema this evening? —Oh, I don’t know. I’ve got a bit of a headache. _______, John’s coming to see me, so I ought to stay in. A. However B. In other words C. What’s more D. Though 32.—Cathy, the door bell is ringing! I’m doing the dishes. —Mum, I see who it is. A. would B. will C. am about to D. am going to 33. The hotel wasn’t perfectly good, but I ________ in many worse hotels.

相关主题
文本预览
相关文档 最新文档