当前位置:文档之家› Abstract Interest Management Middleware for Networked Games

Abstract Interest Management Middleware for Networked Games

Abstract Interest Management Middleware for Networked Games
Abstract Interest Management Middleware for Networked Games

Interest Management Middleware for Networked Games

Graham Morgan, Fengyun Lu, Kier Storey

School of Computing Science, University of Newcastle, UK

Abstract

In this paper we present an implementation of an interest management scheme using standard message oriented middleware (MOM) technologies to provide scalable message dissemination for networked games. The aim of all interest management schemes is to identify when objects that inhabit a virtual world should be interacting and to enable such interaction via message passing while preventing objects that should not be interacting from exchanging messages. The time taken by existing interest management schemes to resolve which objects influence each other may be too large to enable the desired interaction to occur. Furthermore, existing interest management implementations tend to be proprietary and are built directly on top of networking protocols. In this paper we present an approach to interest management based on the predicted movement of objects. Our approach determines the frequency of message exchange between objects on the likelihood that such objects will influence each other in the near future. We then demonstrate, via implementation and experimentation, how existing middleware standards provide a suitable platform for the deployment of our interest management scheme.

Keywords: middleware, games, networking

CCS: D.2.12 Interoperability - Distributed objects, I.3.2 Graphics Systems - Distributed/network graphics, C.2.4 Distributed Systems - Distributed applications

1 Introduction

Networked games allow a geographically dispersed set of players to participate in a shared gaming environment. A gaming environment may provide a virtual world that presents some geographic model populated with moving objects with game play achieved by players influencing the state of the virtual world. Typically, a player’s console holds a sub-set of game state with players informing each other of their actions via the exchange of state update messages between consoles (either directly or indirectly via some intermediary server). The ability to allow players to maintain a mutually consistent view of the virtual world and still allow players to influence the virtual world in a timely manner are requirements that need to be satisfied to ensure players receive an appropriate gaming experience [Singhal and Zydra 1999]. A game may be played out in real-time, requiring player directed changes of the virtual world to be propagated to other players in real-time. In early versions of such games [Sweany 1999], the number of players that could participate in a virtual world was limited to relatively low numbers (e.g., less than 16) with the geographic placement of players restricted to the same LAN to guarantee the most satisfying gaming experience. Recently, higher bandwidth, lower latency networks to the home have allowed one or two hundred geographically distributed players to participate in games of this genre (e.g., [Sony 2004]). However, this is still viewed as limiting as the desire of players to participate in large, complex, virtual spaces with thousands of other players have provided a substantial demand for large scale networked games.

The scalability issues presented by a networked game relate, primarily, to the number of players and the complexity of the game (e.g., number of objects populating the virtual world). An increase in the number of players may lead to an increase in network traffic as a player’s console attempts to propagate local game state updates to other players. If an attempt is not made to identify appropriate message recipients and so inhibit the sending and processing of unnecessary messages, then providing participation for many hundreds or thousands of players will not be possible. The process of identifying appropriate message recipients, referred to as interest management, introduces further computation and must be successfully completed in a timely manner to ensure the real-time and consistency requirements of a networked game are satisfied.

At present, networked games are built on standard protocols provided by existing network infrastructures (e.g., TCP/IP for the Internet) to ensure they are widely available for public use and so commercially viable. This approach results in enabling technologies that are proprietary and tend not to be suited to heterogeneous environments (i.e., deployment across varying platforms). Furthermore, programming distributed applications in this manner is a time consuming, non-trivial exercise. Therefore, middleware standards have been proposed (e.g., [OMG 2003]) that provide standard interfaces to services (e.g., location and discovery, security, inter-process communication) that ease the development of distributed applications. However, even the most recent networked games tend to be built directly above network layer protocols and do not benefit from the interoperability provided by existing middleware technologies.

This paper describes our approach to satisfying the following requirements:

?Provide a scalable interest management scheme suitable for networked games.

?Provide an implementation of our interest management scheme using standard middleware technology.

In the next section we describe existing approaches to interest management and the suitability of existing middleware

technologies for networked game development. In section 3 we describe our approach to interest management and in section 4 we describe our interest management implementation. Performance figures of our system are presented in section 5 with conclusions drawn from our work presented in section 6.

2 Background and Related Work

In this section we describe existing approaches to interest management and the common message dissemination approaches found in existing middleware.

2.1 Interest Management

Interest management is the term commonly used to describe restricted message dissemination between objects using virtual space division. Interest management schemes may be classified into two broad categories:

?Regions: In the region based approach [Miller and Thorpe 1995] the virtual world is divided into well

defined regions that are static in nature (i.e., defined at

virtual world creation time). The recipient of a message

is limited to only interested participants (i.e., reside

within the same, or neighbouring, region as the sender).

An important consideration in a region based approach

is the size of the regions. A region must be of sufficient

size as to ensure objects have the ability to purposely

disseminate messages in one region before entering

another region. When an object traverses a region

boundary region membership must be updated (identify

a region an object belongs to). Determining a region

size that is suitable for all objects in a virtual world may

not be possible. For example, if region size is decided

when considering the top speed of a fighter aircraft then

the presence of soldiers traveling on foot may give rise

to unnecessary message exchange between foot soldier

objects that are separated by a distance too great for

such objects to influence each other. If region size is

more suited to foot soldier objects then a fighter aircraft

may traverse region boundaries with such frequency

that region membership may not be resolved in a timely

fashion (object may traverse a region in less time than it

takes to realize regional membership changes resulting

in an inability for such an object to disseminate

messages effectively).

?Auras: In the aura based approach each object is associated with an aura that defines an area of the

virtual world over which an object may exert influence.

An aura may be simply modeled as a sphere that shares

its centre with the positional vector of the object it is

associated with. An object may potentially

communicate their actions only to objects that fall

within their aura. This approach is illustrated by the

Model, Architecture and System for Spatial Interaction

in Virtual Environments projects (MASSIVE)

[Greenhalgh and Benford 1995]. In the aura approach

there is no need to regionalize a virtual world. However,

there is a requirement for all objects to exchange

positional update information in order to identify when

aura collisions occur (we assume objects may influence

each other when their auras overlap). The frequency of

these message exchanges must be sufficient to ensure

that aura collision may be determined in a timely

fashion to allow objects to purposely disseminate

messages as and when aura collision occurs. There is

the possibility that aura collision may occur but objects

are unaware of this as such a collision may not last for a

sufficient amount of time to enable appropriate message

recipients to be identified before objects move away

from each other (aura collision no longer exists).

We describe the problem of resolving interest management in a timely manner to enable meaningful message dissemination between objects as the missed interaction problem.

2.2 Middleware

Middleware eases the development of distributed applications by providing a supporting software infrastructure. Popular open standards associated with such technologies are CORBA [OMG 2003] and Java RMI [Sun 1999]. However, the client/server model they provide is not well suited to networked games where the communication is asynchronous and message oriented in nature.

An approach to communications known as message oriented middleware (MOM) has been developed that may be more appropriate than the client/server model of communications for satisfying the messaging requirements of networked games. MOM decouples communications between sender and receiver (supplier and consumer), allowing one or more suppliers to issue messages for one or more consumers. MOM has been identified as suitable for providing the basis for message exchange for building distributed multimedia applications [Gore et al. 2001]. Furthermore, the approach appears well suited to providing a platform on which to build networked games. Mercury [Bharambe et al. 2002] is a message dissemination system based on MOM which, although proprietary, provides a positive assessment regarding the practicalities for supporting networked games via MOM. The Java Messaging Service (JMS) [Sun 2002] and the CORBA Notification Service (CORBA NS) [OMG 2000] are two popular MOM standards:

?JMS – Provides a standard API that allows Java developers to integrate MOM into their applications.

The JMS specification does not indicate how the

underlying system implementation is achieved (e.g.,

architecture) resulting in a number of varying solutions

available from different vendors. JMS supports point-to-

point and publish/subscribe models of interaction.

Point-to-point is based on the notion of queues, with a

queue identified as an asynchronous mechanism for

passing messages from suppliers to consumers. A client

may get all its messages delivered to a queue, allowing

a queue to contain a variety of different message types.

Publish/subscribe is based on topics, with clients

publishing and subscribing to well defined topics. The

topic acts as a mechanism for gathering and distributing

related messages (as perceived by an application) to

clients (publishers and subscribers).

?CORBA NS – Provides a standard API that extends the CORBA Event Service to include message filtering and

a quality of service framework. The central element of

the CORBA NS is a notification channel that assumes

the role of propagating events from suppliers to

consumers. The basic function is to propagate all events

to all consumers. However, the notification channel has

the ability to filter events to provide more customizable

message delivery for consumers. In addition to filtering,

a number of quality of service parameters can be

manipulated to tailor the behavior of a notification

channel. CORBA NS is ideally suited to deployment in

heterogeneous environments as the specification is

based on the CORBA architecture (allowing

applications to be written in a variety of languages and

deployed on different platforms to interoperate).

JMS and CORBA NS both provide appropriate messaging services on which to deploy an interest management scheme. Only the identity of a topic (JMS) or notification channel (CORBA NS) is required by clients (suppliers and consumers) to enact message passing (the identity of consumers need not be known to suppliers). This provides benefits for large scale applications (such as networked games) as reconfiguration of existing suppliers/consumers is not required to introduce new suppliers/consumers. Furthermore, a JMS or CORBA NS implementation may be enhanced with scalable message dissemination that may be suitable for one-to-many message passing (e.g., [Deering 1989]) without alteration to their standard specifications.

When implementing our interest management scheme we chose CORBA NS over JMS. The main reason for this was the ability of CORBA NS to support applications other than those written in Java. Networked games (and most commercial games) are written in C or C++, often using proprietary game engine technologies. Even though our interest management scheme is implemented in Java (see section 4), we may support applications written in other languages that the OMG have defined language mappings to CORBA (including C++).

3 Predictive Interest Management

In this section we describe an interest management scheme based on the aura approach that attempts to overcome the missed interaction problem by using a three step approach to message exchange: (i) low frequency message exchange used for object discovery; (ii) variable message exchange, with frequency of messages between objects related to the probability of interaction of such objects in the future; (iii) high frequency message exchange between interacting objects. We present here only a brief overview of the technique to enable a reader to gain the basic underlying theory of the work.

3.1 Identifying Scope of Interest

The aura of an object describes an area of the virtual world enclosed by a sphere (Figure 1). The radius of an aura is specified on a per object basis and is fixed at object creation time. Objects have the ability to influence each other when their auras collide via the exchange of messages.

between t clt

Figure 1: Defining Predicted Area of Influence (PAI).

A predicted area of influence (PAI) identifies the extent of an object’s aura over a period of time given the distance an object may travel in a straight line in any direction (figure 1). The period of time used to identify a PAI is bounded by the current time, say t clt, and some future time (t clt+ft, where ft is a positive number and is defined system wide). By this method the distance an object, say obj1, travels in a straight line identifies the radius of a sphere that encloses all the areas of a virtual space reachable by obj1 between t clt and t clt+ft with the position vector of obj1 at time t clt defining the centre of this sphere. Extending this radius by the radius of obj1’s aura defines a sphere that describes the PAI for obj1. When determining a PAI we assume an object is traveling at its highest speed (defined on a per object basis) in a straight line at time t clt and continues at this speed and direction until t clt+ft. This presents a PAI that is guaranteed to contain all possible auras of an object between t clt and t clt+ft irrelevant of an object’s velocity. Assuming the highest speed remains constant for an object throughout its lifetime allows a PAI to be calculated and fixed at object creation time.

When the PAI s of two objects collide, but not their auras, there is a possibility that such objects may influence each other and subsequently exchange messages at some point in the near future.

A period of time (window of collision) may be defined within which the auras of such objects may collide. Using collision detection techniques based on the intersection of spheres we may identify the separating distance between two objects as sd. If a collision window exists between two objects then sd may be used to determine an approximate upper bound value (AUBV) indicating the time taken for the auras of these objects to collide assuming they are traveling towards each other at their respective full speeds. AUBV provides a basis for determining frequency of message exchange between two objects within the same collision window.

3.2 Message Exchange

An object is responsible for sending a positional update message (PUM), identifying its position vector. PUMs are sent frequently and form the basic mechanism for message exchange between objects that are influencing each other. To determine if PAI s overlap objects must send an admin PUM(APUM) containing aura radius, PAI radius and vector position information. APUM s are sent less frequently than PUM s and form the basic mechanism for identifying when objects should exchange PUM s.

We assume the existence of a communications sub-system capable of providing reliable FIFO channels that may facilitate

inter-object communications via the sending and receiving of PUM s and APUM s:

?Admin: Used to disseminate APUM s to all objects.

?Local: Created on a per object basis to provide mechanism for passing APUM s and PUM s between

objects without the need to send messages to all objects. Three local timers, associated on a per object basis, are responsible for regulating the frequency of publishing APUM s on the admin channel (ta), APUM s on a local channel (tal) and PUM s on a local channel (tp) respectively. The value of ta should be set to a value that ensures APUM s may be received and processed by all objects in time to determine potential aura overlaps. The time interval tal used to define the frequency an object publishes APUM s on the local event channel is determined by AUBV. The time interval tp is defined on a per object basis at a developer’s discretion (message exchange associated with interacting objects).

The modeling of variable frequency message exchange via admin and local channels is achieved as follows:

?Low frequency – all objects periodically send APUM s to all other objects via the admin channel at a frequency

determined by ta.

?Variable frequency – an object, say O i, sends APUM s to another object, say O j, using O i’s local channel at a

frequency determined by tal if O j determines that

interaction between O i and O j may occur in the near

future.

?High frequency – an object, say O i, sends PUM s to another object, say O j, using O i’s local channel at a

frequency determined by tp if O j determines that

interaction between O i and O j is occurring now.

An object decides on subscription and APUM frequency based only on local information (derived from PUM s and APUM s). Therefore, it may be possible for an object, say O i, to subscribe to another object’s, say O j’s, local channel without O j subscribing to O i’s local channel. However, if such objects are moving closer to each other then we may assume that O j will receive the appropriate APUM on the admin channel and subscribe to O i’s local channel before PUM message exchange is required. If objects are moving apart then it may be that O i will remove its subscription from O j’s local channel with O j never subscribing to O i’s local channel. This is acceptable behaviour and an overhead which is a result of attempting to prevent missed interactions.

4 A Distributed Implementation

We now describe an implementation using Java, the OpenFusion CORBA NS [Prism 2004] and JacORB [Brose and Noffke 2002] that realizes the conceptual model described in the previous section.

4.1 System Architecture

A network of messaging servers is responsible for implementing our interest management scheme on behalf of one or more local clients with a client associated with a single messaging server. Clients do not have to make calculations based on APUM s as this

is the responsibility of the messaging server network. The scalability of our approach is reflected in the selective nature in which APUM s and PUM s are propagated between messaging servers, with local messaging servers acting as filters when determining which clients should be the recipients of PUM s. Scalability is further promoted as clients are unaware, at the network level, of other clients. Clients may communicate with a messaging server via a number of communication primitives (CORBA RPC, TCP and UDP). The use of CORBA allows clients to take advantage of CORBA services (e.g., security, transactions, location and discovery). We include TCP and UDP as they are commonly used, via socket programming, in current network game development. For brevity, we consider only clients using CORBA RPC in the remainder of this paper. Inter-messaging server communication is achieved via the CORBA NS. PUM s and APUM s published by a messaging server may be required by multiple recipients (messaging servers). A multicast mechanism may be employed below the CORBA NS for optimum message dissemination. However, discussion on the appropriateness of such a mechanism is beyond the scope of this paper as we assume this optimisation is associated with the CORBA NS implementation. In the OpenFusion CORBA NS implementation, suppliers and consumers are connected directly (without intermediary servers) over best effort (TCP) connections. The two different message types associated with a local event channel (PUM & APUM) are accommodated for by a messaging server using two different interfaces to connect to the same event channel. This provides the subscription semantics as described in 3.2. To accommodate message passing between messaging servers, rather than have local channels created on a per object basis, local channels are created on a per server basis. Periodically, individual APUM s are combined into single messages and distributed on a per-server basis using local channels. Similarly, APUM s from a server destined for the admin channel are combined into a single message. For clarity, we continue describing local and admin channels as mentioned in section 3 and refrain from discussing message aggregation policies.

4.2 High Frequency Message Exchange

Figure 2 describes the flow of PUM s within a messaging server and associated event channels. A client may only issue PUM s associated with objects that are already registered with the local messaging server. Registration is by a method call invoked on the local messaging server by a client via the sending of a CORBA sequence with each element of the sequence identifying individual object properties (as a client may register more than one object at

a time). The return value of such a method call is a CORBA sequence of identifiers that enables each object to be uniquely identified within the virtual world. Clients must use such an identifier when informing the local messaging server of changes to an object’s state (e.g., position update, deletion from virtual world). An object’s identifier is constructed from a client’s IOR (interoperable object identifier – unique identifier used by CORBA) coupled with a timestamp that is derived from a logical clock that is incremented by a messaging server each time an object is registered (irrelevant of client). This logical clock has a maximum value that relates to the value an administrator deems appropriate for the maximum number of objects a server may manage. This approach provides a clear distinction between the application level object identification from that used by interest

management. Considering that the client application may be heterogeneous in nature (e.g., different naming conventions for objects), the naming conventions for objects may not be interoperable at the application level and so this distinction between application and interest management identification is necessary.

Once registration has occurred a client may issue PUM s to their local server. This is achieved via a method invoked by a client on the local messaging server consisting of a parameter containing a CORBA sequence with each element of the sequence associated with a single PUM. This allows a client to send multiple PUM s at the same time (as a client may be hosting multiple objects). The frequency of sending a PUM is decided by a client and relates to the high frequency message exchange expected between clients. A thread pool in the messaging server is responsible for accepting PUM s from clients and depositing PUM s into the appropriate inward message buffers held in the server.

An inward message buffer is present on a per-client basis with each element of an inward message buffer representing the last known position of an object. When a PUM is received the appropriate inward message buffer elements are updated with new object positional information. Periodically the Predictive Interest Management Service (PIMS) retrieves information from all message buffer elements that have been updated with new object positional information. The PIMS implements predictive interest management. There may be a possibility that the PIMS may not retrieve object information as quickly as PUM s refresh the inward message buffers. Therefore, an object’s positional update information may be lost. However, this loss is acceptable as it is assumed that an application places primary importance on the most recent position of an object. The ability to overwrite inward message buffer information in this manner minimizes the need to introduce flow control at the client side.

On receiving PUM s from inward message buffers, the PIMS places PUM s on the appropriate local event channel. The action of publishing PUM s on local event channels allows subscribers (other messaging servers) to consume PUM s and so enables servers to forward PUM s to their own clients.

Messages consumed by the PIMS from local event channels belonging to other messaging servers are placed in the appropriate outward message buffers. These outward message buffers act in a similar way to the inward message buffers with regard to client association. A thread pool is responsible for periodically consuming object information from the elements of the outward message buffers and uses the reply parameters in a client call to return PUM s to clients. A messaging server may send PUM s to clients that have not sent PUM s for a substantial length of time

(i.e., due to object inactivity – timeout determined by client).

4.3 Variable Frequency Message Exchange

Figure 3 describes the components of our system that are responsible for managing APUM message exchange between servers. On registration of an object by a client the object registration and deregistration service (ORDS) registers an object’s details in a database. Once registered, these details are used by the PIMS when determining local event channel subscriptions. This indicates that aura and PAI radii are static throughout an object’s lifetime. If this is not the case then a client may reflect changes in aura and/or PAI radii by deregistering an object and registering the object again with different aura and/or PAI radii. The ORDS is also responsible for amending the structure of inward message buffers to ensure any recently introduced objects have an element associated with them for recording incoming PUM s. The object database may be implemented using existing database technologies and be persistent. For our purposes we used mySQL [Widenius and Amark 2002].

At a frequency determined by an administrator (denoted by timer ta in section 3.2), the PIMS will construct an APUM for publication on the admin event channel using information retrieved from the inward message buffers and associated object details from the database. Due to the variable frequency on which APUM s are published on the local event channels, the PIMS reuses information gained when constructing the last PUM together with information gained from the database when publishing APUM s on the local event channel.

On receiving APUM s (irrelevant if they arrive on local or admin event channels) the PIMS carries out the calculations described in 3.2 and determines appropriate frequency of APUM publication for each local event channel and ensures such a frequency is realized via the setting of the appropriate timeouts. The receiving of an APUM also requires the PIMS to instruct the messaging server to maintain the appropriate local event channel subscriptions.

5 Experiments and Results

This section describes the experiments carried out to assess the benefit of our approach to interest management. The primary reason for our experiments is to deduce if our approach is scalable. Ideally, we would like the addition of messaging servers to allow an increased number of clients to be serviced successfully.

There are two performance measures that are of interest: (i) throughput; (ii) successful message delivery. When considering throughput, we record the number of messages sent and the number of messages received by clients during a single run of the system. That is, when measuring throughput we only consider the PUM message exchange that occurs between clients and their local messaging servers, we do not count message exchange between messaging servers (event channel traffic). In this manner we derive performance of our overall system as perceived by clients. In order to identify the success rate of message delivery we record the number of messages lost due to buffer overwrites in the messaging servers during a single run of the system. Due to the quality of sevice provided by the OpenFusion CORBA NS, we assume no messages are lost in transit across admin and local event channels (which is what happened during our experiments). In all our experiments we use messaging servers located on nodes in different LAN segments. Clients are co-located on different nodes with their local messaging server (same LAN segment), with 10 nodes used for creating synthetic client traffic. Each client hosts ten objects. Client numbers are increased using increments of 500 from 500 to 6000, with measurements taken at each increment. Clients are distributed as evenly as possible between servers. Each experiment is repeated for 1 server through to 10 servers (inclusive). The frequency at which PUM s are sent by all clients is set at approximately 3 per second. As the network environment is shared with regular traffic, the experiments were repeated a number of times throughout a day and the appropriate mean values for the measurements recorded. Experiments were conducted on Pentium 3GHz PCs with 512MB RAM running Red Hat Linux 7.2 connected via 100 Mbits fast Ethernet.

An attempt is made to provide realistic movement of objects within the virtual world. A number of targets (T) are positioned within the virtual world that objects (O) travel towards. Each target has the ability to relocate during the execution of an experiment. Relocation of targets is determined after the elapse of some random time (between T min and T max) from the time the previous relocation event occurred. Furthermore, objects may change their targets in the same manner (random time between O t min and O t max). Given that the number of targets is less than the number of objects and T min, T max, O t min and O t max are set appropriately, objects will cluster and disperse throughout the experiment. This provides a realistic movement of objects in a virtual world.

Objects are uniform in size and their sizes do not change throughout the experiment. Objects may move freely in any direction. The auras of objects are varied and are chosen at random (between 10 and 100 meters) and their maximum speeds are also chosen at random (between 5 and 100 meters per second) at initialization time. The value for determining PAI is standard for all objects and is determined by how far an object may travel at full speed in 20 seconds. The experiments were carried out with a 5% level of coverage of object auras. That is, assuming no object auras overlap then 5% of the virtual world will be covered by object auras.

Before we discuss the figures we must state that the requirement that a client sends 3 messages a second could not be satisfied in some instances. Such instances occur when client numbers are high and server numbers are fewer in number (messaging server becomes overloaded). This is because synchronous calls are made by a client to the messaging servers. A client may not issue the next call until a previous call returns. Therefore, in some instances clients could only submit at most 1 call a second. Another item to note is that we are measuring PUM exchange, not message exchange (as a single message may contain multiple PUM s).

Figure 4: Throughput.

Figure 4 shows the graph that identifies the throughput of our system with rising client numbers for 1 through 10 server configurations. The first observation to be made is that the addition of servers allows greater throughput to be achieved. This is more noticeable when client numbers are high, indicating that the addition of servers provides more scalability in terms of client numbers. For each server increment there is a noticeable maximum throughput. That is, after a certain number of clients have been reached there is a drop in throughput. This “client threshold” is greater given more servers. For example, when 3 servers are present the client threshold appears to be around 1500 clients whereas when 7 servers are present this threshold has risen to around 4500 clients. For higher server numbers, the drop off rate after client threshold is noticeably less than that experienced by lower server numbers. From our observations we may assume our system is scalable in the context of our experiments as the addition of servers result in: (i) higher peak throughput; (ii) less

pronounced drop off rate for throughput.

Figure 5: Messages dropped.

Figure 5 shows the graph that identifies the percentage of messages dropped by our system given rising client numbers for 1 through 10 server configurations. The graph clearly shows that

increasing server numbers results in fewer dropped messages for the same number of clients. Furthermore, the rate of increase of dropped messages when client numbers are increasing is less given additional servers.

From our observations we may assume our system is scalable in the context of our experiments as the addition of servers result in: (i) percentage of messages dropped decreases; (ii) decline in the rate of messages dropped when client numbers increase.

6 Conclusion and Future Work

We have presented an approach to interest management suitable for networked games that, we believe, will alleviate the problem of missed interaction common in existing interest management schemes. Only standard middleware technologies have been used in our interest management scheme implementation, promoting code reuse and benefiting from the interoperability provided by existing middleware standards making our system suitable for deployment in heterogeneous environments.

Our initial experiments identify that our approach is scalable as the addition of servers improves the performance of our system when satisfying increasing client numbers. We have successfully demonstrated that standard middleware, in particular MOM, may be incorporated into a scalable messaging dissemination scheme for networked games and still achieve performance that is acceptable for many game types.

Future work will enhance our interest management scheme to allow the modeling of object influences that are not only based on an object’s position but also on message and object types. As an object may interact within a virtual world in a number of ways, there may be many different types of influence an object may exert. Furthermore, objects may exhibit varying degrees of susceptibility to different types of influences. For example, with the aid of a radio transmitter a soldier may communicate information to all other soldiers holding a radio receiver within a two kilometer radius of a radio transmission mast. In this instance a soldier transmitting radio signals exerts influence on a radio mast that, in turn, exerts influence on a subset of soldiers (those holding radio receivers). Modeling such interaction requires identification of message recipients not only on their location, but on the message type (radio transmission) and object type (capable of receiving radio transmission).

In addition to enhancements to our interest management scheme, we will investigate applying quality of service parameters on a per-message basis. For example, a type of message must be reliably sent to all recipients whereas other types of messages may be able to suffer a percentage of non-delivery. Furthermore, we aim to apply quality of service guarantees to other key aspects of our system (e.g., collision detection [Storey et al. 2004]). Acknowledgements

This work is funded by the UK EPSRC under grant GR/S04529/01: “Middleware Services for Scalable Networked Virtual Environments”.

References

B HARAMBE,A.,R AO,S.,S ESHAN,S. 2002. Mercury: A Scalable Publish-Subscribe System for Internet Games, In Proceedings of the 1st workshop on Network and system support for games, ACM Press, 3 - 9

B ROSE,G.,N OFFKE,N., 2002. JacORB 1.4 Programming Guide, https://www.doczj.com/doc/fe5508982.html,/docs/ProgrammingGuide_1_4_1.pdf, as viewed October 2004

D EERING,S. 1989. Host Extensions for IP Multicasting. RFC 1112, IETF Network Working Group

G ORE,P.,C YTRON,R.,S CHMIDT,D.,O’R YAN,C. 2001. Designing and Optimizing a Scalable CORBA Notification Service. In Proceedings of the ACM SIGPLAN workshop on languages compilers and tools for embedded systems, ACM, 196 – 204

G REENHALGH,C.,B ENFORD,S. 1995. MASSIVE: A Distributed Virtual Reality System Incorporating Spatial Trading. In proceedings 15th International Conference on distributed computing systems(DCS 95), IEEE Computer Society, 27 - 35

M ILLER D.,T HORPE J. A. 1995. SIMNET: The advent of simulator networking, In Proceedings of the IEEE 83(8), IEEE, 1114 - 1123

OMG 2000, Notification Service Specification, OMG (Object Management Group) TC Document telecom/99/07/01

OMG 2003. The Common Object Request Broker: Architecture and Specification, 2.4 ed.

S INGHAL S,. AND Z YDRA M. 1999. Networked Virtual Environments, Design and Implementation, Addison Wesley

S ONY E NTERTAINMENT 2004. Planet Side web Site, https://www.doczj.com/doc/fe5508982.html,, as viewed March 2004

S TOREY,K.,L U,F.,M ORGAN,G. 2004. Determining Collisions Between Moving Spheres for Distributed Virtual Environments. In Proceedings of Computer Graphics International, IEEE Computer Society, 140-147

S UN (S UN M ICROSYSTEMS) 2002. Java Message Service Specification – Version 1.1. https://www.doczj.com/doc/fe5508982.html,/products/jms/docs.html, as viewed October 2004

S UN (S UN M ICROSYSTEMS C ORPORATION) 1999. Java RMI Specification, ftp://https://www.doczj.com/doc/fe5508982.html,, as viewed October 2004

S WEENEY T. 1997, Unreal Networking Architecture. https://www.doczj.com/doc/fe5508982.html,/Network.htm, as viewed October 2004

P RISM T ECHNOLOGIES. 2004. OpenFusion CORBA Notification Service. https://www.doczj.com/doc/fe5508982.html,, as viewed October 2004.

W IDENIUS,M.,A XMARK,D., 2002. MySQL Reference Manual, O'Reilly & Associates

公文写作规范格式

商务公文写作目录 一、商务公文的基本知识 二、应把握的事项与原则 三、常用商务公文写作要点 四、常见错误与问题

一、商务公文的基本知识 1、商务公文的概念与意义 商务公文是商业事务中的公务文书,是企业在生产经营管理活动中产生的,按照严格的、既定的生效程序和规范的格式而制定的具有传递信息和记录作用的载体。规范严谨的商务文书,不仅是贯彻企业执行力的重要保障,而且已经成为现代企业管理的基础中不可或缺的内容。商务公文的水平也是反映企业形象的一个窗口,商务公文的写作能力常成为评价员工职业素质的重要尺度之一。 2、商务公文分类:(1)根据形成和作用的商务活动领域,可分为通用公文和专用公文两类(2)根据内容涉及秘密的程度,可分为对外公开、限国内公开、内部使用、秘密、机密、绝密六类(3)根据行文方向,可分为上行文、下行文、平行文三类(4)根据内容的性质,可分为规范性、指导性、公布性、陈述呈请性、商洽性、证明性公文(5)根据处理时限的要求,可分为平件、急件、特急件三类(6)根据来源,在一个部门内部可分为收文、发文两类。 3、常用商务公文: (1)公务信息:包括通知、通报、通告、会议纪要、会议记录等 (2)上下沟通:包括请示、报告、公函、批复、意见等 (3)建规立矩:包括企业各类管理规章制度、决定、命令、任命等; (4)包容大事小情:包括简报、调查报告、计划、总结、述职报告等; (5)对外宣传:礼仪类应用文、领导演讲稿、邀请函等; (6)财经类:经济合同、委托授权书等; (7)其他:电子邮件、便条、单据类(借条、欠条、领条、收条)等。 考虑到在座的主要岗位,本次讲座涉及请示、报告、函、计划、总结、规章制度的写作,重点谈述职报告的写作。 4、商务公文的特点: (1)制作者是商务组织。(2)具有特定效力,用于处理商务。 (3)具有规范的结构和格式,而不像私人文件靠“约定俗成”的格式。商务公文区别于其它文章的主要特点是具有法定效力与规范格式的文件。 5、商务公文的四个构成要素: (1)意图:主观上要达到的目标 (2)结构:有效划分层次和段落,巧设过渡和照应 (3)材料:组织材料要注意多、细、精、严 (4) 正确使用专业术语、熟语、流行语等词语,适当运用模糊语言、模态词语与古词语。 6、基本文体与结构 商务文体区别于其他文体的特殊属性主要有直接应用性、全面真实性、结构格式的规范性。其特征表现为:被强制性规定采用白话文形式,兼用议论、说明、叙述三种基本表达方法。商务公文的基本组成部分有:标题、正文、作者、日期、印章或签署、主题词。其它组成部分有文头、发文字号、签发人、保密等级、紧急程度、主送机关、附件及其标记、抄送机关、注释、印发说明等。印章或签署均为证实公文作者合法性、真实性及公文效力的标志。 7、稿本 (1)草稿。常有“讨论稿”“征求意见稿”“送审稿”“草稿”“初稿”“二稿”“三稿”等标记。(2)定稿。是制作公文正本的标准依据。有法定的生效标志(签发等)。(3)正本。格式正规并有印章或签署等表明真实性、权威性、有效性。(4)试行本。在试验期间具有正式公文的法定效力。(5)暂行本。在规定

关于会议纪要的规范格式和写作要求

关于会议纪要的规范格式和写作要求 一、会议纪要的概念 会议纪要是一种记载和传达会议基本情况或主要精神、议定事项等内容的规定性公文。是在会议记录的基础上,对会议的主要内容及议定的事项,经过摘要整理的、需要贯彻执行或公布于报刊的具有纪实性和指导性的文件。 会议纪要根据适用范围、内容和作用,分为三种类型: 1、办公会议纪要(也指日常行政工作类会议纪要),主要用于单位开会讨论研究问题,商定决议事项,安排布置工作,为开展工作提供指导和依据。如,xx学校工作会议纪要、部长办公会议纪要、市委常委会议纪要。 2、专项会议纪要(也指协商交流性会议纪要),主要用于各类交流会、研讨会、座谈会等会议纪要,目的是听取情况、传递信息、研讨问题、启发工作等。如,xx县脱贫致富工作座谈会议纪要。 3、代表会议纪要(也指程序类会议纪要)。它侧重于记录会议议程和通过的决议,以及今后工作的建议。如《××省第一次盲人聋哑人代表会议纪要》、《xx市第x次代表大会会议纪要》。 另外,还有工作汇报、交流会,部门之间的联席会等方面的纪要,但基本上都系日常工作类的会议纪要。 二、会议纪要的格式 会议纪要通常由标题、正文、结尾三部分构成。

1、标题有三种方式:一是会议名称加纪要,如《全国农村工作会议纪要》;二是召开会议的机关加内容加纪要,也可简化为机关加纪要,如《省经贸委关于企业扭亏会议纪要》、《xx组织部部长办公会议纪要》;三是正副标题相结合,如《维护财政制度加强经济管理——在xx部门xx座谈会上的发言纪要》。 会议纪要应在标题的下方标注成文日期,位置居中,并用括号括起。作为文件下发的会议纪要应在版头部分标注文号,行文单位和成文日期在文末落款(加盖印章)。 2、会议纪要正文一般由两部分组成。 (1)开头,主要指会议概况,包括会议时间、地点、名称、主持人,与会人员,基本议程。 (2)主体,主要指会议的精神和议定事项。常务会、办公会、日常工作例会的纪要,一般包括会议内容、议定事项,有的还可概述议定事项的意义。工作会议、专业会议和座谈会的纪要,往往还要写出经验、做法、今后工作的意见、措施和要求。 (3)结尾,主要是对会议的总结、发言评价和主持人的要求或发出的号召、提出的要求等。一般会议纪要不需要写结束语,主体部分写完就结束。 三、会议纪要的写法 根据会议性质、规模、议题等不同,正文部分大致可以有以下几种写法: 1、集中概述法(综合式)。这种写法是把会议的基本情况,讨

titlesec宏包使用手册

titlesec&titletoc中文文档 张海军编译 makeday1984@https://www.doczj.com/doc/fe5508982.html, 2009年10月 目录 1简介,1 2titlesec基本功能,2 2.1.格式,2.—2.2.间隔, 3.—2.3.工具,3. 3titlesec用法进阶,3 3.1.标题格式,3.—3.2.标题间距, 4.—3.3.与间隔相关的工具, 5.—3.4.标题 填充,5.—3.5.页面类型,6.—3.6.断行,6. 4titletoc部分,6 4.1.titletoc快速上手,6. 1简介 The titlesec and titletoc宏包是用来改变L A T E X中默认标题和目录样式的,可以提供当前L A T E X中没有的功能。Piet van Oostrum写的fancyhdr宏包、Rowland McDonnell的sectsty宏包以及Peter Wilson的tocloft宏包用法更容易些;如果希望用法简单的朋友,可以考虑使用它们。 要想正确使用titlesec宏包,首先要明白L A T E X中标题的构成,一个完整的标题是由标签+间隔+标题内容构成的。比如: 1.这是一个标题,此标题中 1.就是这个标题的标签,这是一个标签是此标题的内容,它们之间的间距就是间隔了。 1

2titlesec基本功能 改变标题样式最容易的方法就是用几向个命令和一系列选项。如果你感觉用这种方法已经能满足你的需求,就不要读除本节之外的其它章节了1。 2.1格式 格式里用三组选项来控制字体的簇、大小以及对齐方法。没有必要设置每一个选项,因为有些选项已经有默认值了。 rm s f t t md b f up i t s l s c 用来控制字体的族和形状2,默认是bf,详情见表1。 项目意义备注(相当于) rm roman字体\textrm{...} sf sans serif字体\textsf{...} tt typewriter字体\texttt{...} md mdseries(中等粗体)\textmd{...} bf bfseries(粗体)\textbf{...} up直立字体\textup{...} it italic字体\textit{...} sl slanted字体\textsl{...} sc小号大写字母\textsc{...} 表1:字体族、形状选项 bf和md属于控制字体形状,其余均是切换字体族的。 b i g medium s m a l l t i n y(大、中、小、很小) 用来标题字体的大小,默认是big。 1这句话是宏包作者说的,不过我感觉大多情况下,是不能满足需要的,特别是中文排版,英文 可能会好些! 2L A T E X中的字体有5种属性:编码、族、形状、系列和尺寸。 2

毕业论文写作要求与格式规范

毕业论文写作要求与格式规范 关于《毕业论文写作要求与格式规范》,是我们特意为大家整理的,希望对大家有所帮助。 (一)文体 毕业论文文体类型一般分为:试验论文、专题论文、调查报告、文献综述、个案评述、计算设计等。学生根据自己的实际情况,可以选择适合的文体写作。 (二)文风 符合科研论文写作的基本要求:科学性、创造性、逻辑性、

实用性、可读性、规范性等。写作态度要严肃认真,论证主题应有一定理论或应用价值;立论应科学正确,论据应充实可靠,结构层次应清晰合理,推理论证应逻辑严密。行文应简练,文笔应通顺,文字应朴实,撰写应规范,要求使用科研论文特有的科学语言。 (三)论文结构与排列顺序 毕业论文,一般由封面、独创性声明及版权授权书、摘要、目录、正文、后记、参考文献、附录等部分组成并按前后顺序排列。 1.封面:毕业论文(设计)封面具体要求如下: (1)论文题目应能概括论文的主要内容,切题、简洁,不超过30字,可分两行排列;

(2)层次:大学本科、大学专科 (3)专业名称:机电一体化技术、计算机应用技术、计算机网络技术、数控技术、模具设计与制造、电子信息、电脑艺术设计、会计电算化、商务英语、市场营销、电子商务、生物技术应用、设施农业技术、园林工程技术、中草药栽培技术和畜牧兽医等专业,应按照标准表述填写; (4)日期:毕业论文(设计)完成时间。 2.独创性声明和关于论文使用授权的说明:需要学生本人签字。 3.摘要:论文摘要的字数一般为300字左右。摘要是对论文的内容不加注释和评论的简短陈述,是文章内容的高度概括。主要内容包括:该项研究工作的内容、目的及其重要性;所使用的实验方法;总结研究成果,突出作者的新见解;研究结论及其意义。摘要中不列举例证,不描述研究过程,不做自我评价。

公文格式规范与常见公文写作

公文格式规范与常见公文写作 一、公文概述与公文格式规范 党政机关公文种类的区分、用途的确定及格式规范等,由中共中央办公厅、国务院办公厅于2012年4月16日印发,2012年7月1日施行的《党政机关公文处理工作条例》规定。之前相关条例、办法停止执行。 (一)公文的含义 公文,即公务文书的简称,属应用文。 广义的公文,指党政机关、社会团体、企事业单位,为处理公务按照一定程序而形成的体式完整的文字材料。 狭义的公文,是指在机关、单位之间,以规范体式运行的文字材料,俗称“红头文件”。 ?(二)公文的行文方向和原则 ?、上行文下级机关向上级机关行文。有“请示”、“报告”、和“意见”。 ?、平行文同级机关或不相隶属机关之间行文。主要有“函”、“议案”和“意见”。 ?、下行文上级机关向下级机关行文。主要有“决议”、“决定”、“命令”、“公报”、“公告”、“通告”、“意见”、“通知”、“通报”、“批复”和“会议纪要”等。 ?其中,“意见”、“会议纪要”可上行文、平行文、下行文。?“通报”可下行文和平行文。 ?原则: ?、根据本机关隶属关系和职权范围确定行文关系 ?、一般不得越级行文 ?、同级机关可以联合行文 ?、受双重领导的机关应分清主送机关和抄送机关 ?、党政机关的部门一般不得向下级党政机关行文 ?(三) 公文的种类及用途 ?、决议。适用于会议讨论通过的重大决策事项。 ?、决定。适用于对重要事项作出决策和部署、奖惩有关单位和人员、变更或撤销下级机关不适当的决定事项。

?、命令(令)。适用于公布行政法规和规章、宣布施行重大强制性措施、批准授予和晋升衔级、嘉奖有关单位和人员。 ?、公报。适用于公布重要决定或者重大事项。 ?、公告。适用于向国内外宣布重要事项或者法定事项。 ?、通告。适用于在一定范围内公布应当遵守或者周知的事项。?、意见。适用于对重要问题提出见解和处理办法。 ?、通知。适用于发布、传达要求下级机关执行和有关单位周知或者执行的事项,批转、转发公文。 ?、通报。适用于表彰先进、批评错误、传达重要精神和告知重要情况。 ?、报告。适用于向上级机关汇报工作、反映情况,回复上级机关的询问。 ?、请示。适用于向上级机关请求指示、批准。 ?、批复。适用于答复下级机关请示事项。 ?、议案。适用于各级人民政府按照法律程序向同级人民代表大会或者人民代表大会常务委员会提请审议事项。 ?、函。适用于不相隶属机关之间商洽工作、询问和答复问题、请求批准和答复审批事项。 ?、纪要。适用于记载会议主要情况和议定事项。?(四)、公文的格式规范 ?、眉首的规范 ?()、份号 ?也称编号,置于公文首页左上角第行,顶格标注。“秘密”以上等级的党政机关公文,应当标注份号。 ?()、密级和保密期限 ?分“绝密”、“机密”、“秘密”三个等级。标注在份号下方。?()、紧急程度 ?分为“特急”和“加急”。由公文签发人根据实际需要确定使用与否。标注在密级下方。 ?()、发文机关标志(或称版头) ?由发文机关全称或规范化简称加“文件”二字组成。套红醒目,位于公文首页正中居上位置(按《党政机关公文格式》标准排

ctex 宏包说明 ctex

ctex宏包说明 https://www.doczj.com/doc/fe5508982.html,? 版本号:v1.02c修改日期:2011/03/11 摘要 ctex宏包提供了一个统一的中文L A T E X文档框架,底层支持CCT、CJK和xeCJK 三种中文L A T E X系统。ctex宏包提供了编写中文L A T E X文档常用的一些宏定义和命令。 ctex宏包需要CCT系统或者CJK宏包或者xeCJK宏包的支持。主要文件包括ctexart.cls、ctexrep.cls、ctexbook.cls和ctex.sty、ctexcap.sty。 ctex宏包由https://www.doczj.com/doc/fe5508982.html,制作并负责维护。 目录 1简介2 2使用帮助3 2.1使用CJK或xeCJK (3) 2.2使用CCT (3) 2.3选项 (4) 2.3.1只能用于文档类的选项 (4) 2.3.2只能用于文档类和ctexcap.sty的选项 (4) 2.3.3中文编码选项 (4) 2.3.4中文字库选项 (5) 2.3.5CCT引擎选项 (5) 2.3.6排版风格选项 (5) 2.3.7宏包兼容选项 (6) 2.3.8缺省选项 (6) 2.4基本命令 (6) 2.4.1字体设置 (6) 2.4.2字号、字距、字宽和缩进 (7) ?https://www.doczj.com/doc/fe5508982.html, 1

1简介2 2.4.3中文数字转换 (7) 2.5高级设置 (8) 2.5.1章节标题设置 (9) 2.5.2部分修改标题格式 (12) 2.5.3附录标题设置 (12) 2.5.4其他标题设置 (13) 2.5.5其他设置 (13) 2.6配置文件 (14) 3版本更新15 4开发人员17 1简介 这个宏包的部分原始代码来自于由王磊编写cjkbook.cls文档类,还有一小部分原始代码来自于吴凌云编写的GB.cap文件。原来的这些工作都是零零碎碎编写的,没有认真、系统的设计,也没有用户文档,非常不利于维护和改进。2003年,吴凌云用doc和docstrip工具重新编写了整个文档,并增加了许多新的功能。2007年,oseen和王越在ctex宏包基础上增加了对UTF-8编码的支持,开发出了ctexutf8宏包。2009年5月,我们在Google Code建立了ctex-kit项目1,对ctex宏包及相关宏包和脚本进行了整合,并加入了对XeT E X的支持。该项目由https://www.doczj.com/doc/fe5508982.html,社区的开发者共同维护,新版本号为v0.9。在开发新版本时,考虑到合作开发和调试的方便,我们不再使用doc和docstrip工具,改为直接编写宏包文件。 最初Knuth设计开发T E X的时候没有考虑到支持多国语言,特别是多字节的中日韩语言。这使得T E X以至后来的L A T E X对中文的支持一直不是很好。即使在CJK解决了中文字符处理的问题以后,中文用户使用L A T E X仍然要面对许多困难。最常见的就是中文化的标题。由于中文习惯和西方语言的不同,使得很难直接使用原有的标题结构来表示中文标题。因此需要对标准L A T E X宏包做较大的修改。此外,还有诸如中文字号的对应关系等等。ctex宏包正是尝试着解决这些问题。中间很多地方用到了在https://www.doczj.com/doc/fe5508982.html,论坛上的讨论结果,在此对参与讨论的朋友们表示感谢。 ctex宏包由五个主要文件构成:ctexart.cls、ctexrep.cls、ctexbook.cls和ctex.sty、ctexcap.sty。ctex.sty主要是提供整合的中文环境,可以配合大多数文档类使用。而ctexcap.sty则是在ctex.sty的基础上对L A T E X的三个标准文档类的格式进行修改以符合中文习惯,该宏包只能配合这三个标准文档类使用。ctexart.cls、ctexrep.cls、ctexbook.cls则是ctex.sty、ctexcap.sty分别和三个标准文档类结合产生的新文档类,除了包含ctex.sty、ctexcap.sty的所有功能,还加入了一些修改文档类缺省设置的内容(如使用五号字体为缺省字体)。 1https://www.doczj.com/doc/fe5508982.html,/p/ctex-kit/

文档书写格式规范要求

学生会文档书写格式规范要求 目前各部门在日常文书编撰中大多按照个人习惯进行排版,文档中字体、文字大小、行间距、段落编号、页边距、落款等参数设置不规范,严重影响到文书的标准性和美观性,以下是文书标准格式要求及日常文档书写注意事项,请各部门在今后工作中严格实行: 一、文件要求 1.文字类采用Word格式排版 2.统计表、一览表等表格统一用Excel格式排版 3.打印材料用纸一般采用国际标准A4型(210mm×297mm),左侧装订。版面方向以纵向为主,横向为辅,可根据实际需要确定 4.各部门的职责、制度、申请、请示等应一事一报,禁止一份行文内同时表述两件工作。 5.各类材料标题应规范书写,明确文件主要内容。 二、文件格式 (一)标题 1.文件标题:标题应由发文机关、发文事由、公文种类三部分组成,黑体小二号字,不加粗,居中,段后空1行。 (二)正文格式 1. 正文字体:四号宋体,在文档中插入表格,单元格内字体用宋体,字号可根据内容自行设定。 2.页边距:上下边距为2.54厘米;左右边距为 3.18厘米。

3.页眉、页脚:页眉为1.5厘米;页脚为1.75厘米; 4.行间距:1.5倍行距。 5.每段前的空格请不要使用空格,应该设置首先缩进2字符 6.年月日表示:全部采用阿拉伯数字表示。 7.文字从左至右横写。 (三)层次序号 (1)一级标题:一、二、三、 (2)二级标题:(一)(二)(三) (3)三级标题:1. 2. 3. (4)四级标题:(1)(2)(3) 注:三个级别的标题所用分隔符号不同,一级标题用顿号“、”例如:一、二、等。二级标题用括号不加顿号,例如:(三)(四)等。三级标题用字符圆点“.”例如:5. 6.等。 (四)、关于落款: 1.对外行文必须落款“湖南环境生物专业技术学院学生会”“校学生会”各部门不得随意使用。 2.各部门文件落款需注明组织名称及部门“湖南环境生物专业技术学院学生会XX部”“校学生会XX部” 3.所有行文落款不得出现“环境生物学院”“湘环学院”“学生会”等表述不全的简称。 4.落款填写至文档末尾右对齐,与前一段间隔2行 5.时间落款:文档中落款时间应以“2016年5月12日”阿拉伯数字

政府公文写作格式规范

政府公文写作格式 一、眉首部分 (一)发文机关标识 平行文和下行文的文件头,发文机关标识上边缘至上页边为62mm,发文机关下边缘至红色反线为28mm。 上行文中,发文机关标识上边缘至版心上边缘为80mm,即与上页边距离为117mm,发文机关下边缘至红色反线为30mm。 发文机关标识使用字体为方正小标宋_GBK,字号不大于22mm×15mm。 (二)份数序号 用阿拉伯数字顶格标识在版心左上角第一行,不能少于2位数。标识为“编号000001” (三)秘密等级和保密期限 用3号黑体字顶格标识在版心右上角第一行,两字中间空一字。如需要加保密期限的,密级与期限间用“★”隔开,密级中则不空字。 (四)紧急程度 用3号黑体字顶格标识在版心右上角第一行,两字中间空一字。如同时标识密级,则标识在右上角第二行。 (五)发文字号 标识在发文机关标识下两行,用3号方正仿宋_GBK字体剧

中排布。年份、序号用阿拉伯数字标识,年份用全称,用六角括号“〔〕”括入。序号不用虚位,不用“第”。发文字号距离红色反线4mm。 (六)签发人 上行文需要标识签发人,平行排列于发文字号右侧,发文字号居左空一字,签发人居右空一字。“签发人”用3号方正仿宋_GBK,后标全角冒号,冒号后用3号方正楷体_GBK标识签发人姓名。多个签发人的,主办单位签发人置于第一行,其他从第二行起排在主办单位签发人下,下移红色反线,最后一个签发人与发文字号在同一行。 二、主体部分 (一)标题 由“发文机关+事由+文种”组成,标识在红色反线下空两行,用2号方正小标宋_GBK,可一行或多行居中排布。 (二)主送机关 在标题下空一行,用3号方正仿宋_GBK字体顶格标识。回行是顶格,最后一个主送机关后面用全角冒号。 (三)正文 主送机关后一行开始,每段段首空两字,回行顶格。公文中的数字、年份用阿拉伯数字,不能回行,阿拉伯数字:用3号Times New Roman。正文用3号方正仿宋_GBK,小标题按照如下排版要求进行排版:

tabularx宏包中改变弹性列的宽度

tabularx宏包中改变弹性列的宽度\hsize 分类:latex 2012-03-07 21:54 12人阅读评论(0) 收藏编辑删除 \documentclass{article} \usepackage{amsmath} \usepackage{amssymb} \usepackage{latexsym} \usepackage{CJK} \usepackage{tabularx} \usepackage{array} \newcommand{\PreserveBackslash}[1]{\let \temp =\\#1 \let \\ = \temp} \newcolumntype{C}[1]{>{\PreserveBackslash\centering}p{#1}} \newcolumntype{R}[1]{>{\PreserveBackslash\raggedleft}p{#1}} \newcolumntype{L}[1]{>{\PreserveBackslash\raggedright}p{#1}} \begin{document} \begin{CJK*}{GBK}{song} \CJKtilde \begin{tabularx}{10.5cm}{|p{3cm} |>{\setlength{\hsize}{.5\hsize}\centering}X |>{\setlength{\hsize}{1.5\hsize}}X|} %\hsize是自动计算的列宽度,上面{.5\hsize}与{1.5\hsize}中的\hsize前的数字加起来必须等于表格的弹性列数量。对于本例,弹性列有2列,所以“.5+1.5=2”正确。 %共3列,总列宽为10.5cm。第1列列宽为3cm,第3列的列宽是第2列列宽的3倍,其宽度自动计算。第2列文字左右居中对齐。注意:\multicolum命令不能跨越X列。 \hline 聪明的鱼儿在咬钩前常常排祠再三& 这是因为它们要荆断食物是否安全&知果它们认为有危险\\ \hline 它们枕不会吃& 如果它们判定没有危险& 它们就食吞钩\\ \hline 一眼识破诱饵的危险,却又不由自主地去吞钩的& 那才正是人的心理而不是鱼的心理& 是人的愚合而不是鱼的恳奋\\

2-1论文写作要求与格式规范(2009年修订)

广州中医药大学研究生学位论文基本要求与写作规范 为了进一步提高学位工作水平和学位论文质量,保证我校学位论文在结构和格式上的规范与统一,特做如下规定: 一、学位论文基本要求 (一)科学学位硕士论文要求 1.论文的基本科学论点、结论,应在中医药学术上和中医药科学技术上具有一定的理论意义和实践价值。 2.论文所涉及的内容,应反映出作者具有坚实的基础理论和系统的专门知识。 3.实验设计和方法比较先进,并能掌握本研究课题的研究方法和技能。 4.对所研究的课题有新的见解。 5.在导师指导下研究生独立完成。 6.论文字数一般不少于3万字,中、英文摘要1000字左右。 (二)临床专业学位硕士论文要求 临床医学硕士专业学位申请者在临床科研能力训练中学会文献检索、收集资料、数据处理等科学研究的基本方法,培养临床思维能力与分析能力,完成学位论文。 1.学位论文包括病例分析报告及文献综述。 2.学位论文应紧密结合中医临床或中西结合临床实际,以总结临床实践经验为主。 3.学位论文应表明申请人已经掌握临床科学研究的基本方法。 4.论文字数一般不少于15000字,中、英文摘要1000字左右。 (三)科学学位博士论文要求 1.研究的课题应在中医药学术上具有较大的理论意义和实践价值。 2.论文所涉及的内容应反映作者具有坚实宽广的理论基础和系统深入的专门知识,并表明作者具有独立从事科学研究工作的能力。 3.实验设计和方法在国内同类研究中属先进水平,并能独立掌握本研究课题的研究方法和技能。

4.对本研究课题有创造性见解,并取得显著的科研成果。 5.学位论文必须是作者本人独立完成,与他人合作的只能提出本人完成的部分。 6.论文字数不少于5万字,中、英摘要3000字;详细中文摘要(单行本)1万字左右。 (四)临床专业学位博士论文要求 1.要求论文课题紧密结合中医临床或中西结合临床实际,研究结果对临床工作具有一定的应用价值。 2.论文表明研究生具有运用所学知识解决临床实际问题和从事临床科学研究的能力。 3.论文字数一般不少于3万字,中、英文摘要2000字;详细中文摘要(单行本)5000字左右。 二、学位论文的格式要求 (一)学位论文的组成 博士、硕士学位论文一般应由以下几部分组成,依次为:1.论文封面;2. 原创性声明及关于学位论文使用授权的声明;3.中文摘要;4.英文摘要;5.目录; 6.引言; 7.论文正文; 8.结语; 9.参考文献;10.附录;11.致谢。 1.论文封面:采用研究生处统一设计的封面。论文题目应以恰当、简明、引人注目的词语概括论文中最主要的内容。避免使用不常见的缩略词、缩写字,题名一般不超过30个汉字。论文封面“指导教师”栏只写入学当年招生简章注明、经正式遴选的指导教师1人,协助导师名字不得出现在论文封面。 2.原创性声明及关于学位论文使用授权的声明(后附)。 3.中文摘要:要说明研究工作目的、方法、成果和结论。并写出论文关键词3~5个。 4.英文摘要:应有题目、专业名称、研究生姓名和指导教师姓名,内容与中文提要一致,语句要通顺,语法正确。并列出与中文对应的论文关键词3~5个。 5.目录:将论文各组成部分(1~3级)标题依次列出,标题应简明扼要,逐项标明页码,目录各级标题对齐排。 6.引言:在论文正文之前,简要说明研究工作的目的、范围、相关领域前人所做的工作和研究空白,本研究理论基础、研究方法、预期结果和意义。应言简

公文写作毕业论文写作要求和格式规范

(公文写作)毕业论文写作要求和格式规范

中国农业大学继续教育学院 毕业论文写作要求和格式规范 壹、写作要求 (壹)文体 毕业论文文体类型壹般分为:试验论文、专题论文、调查方案、文献综述、个案评述、计算设计等。学生根据自己的实际情况,能够选择适合的文体写作。 (二)文风 符合科研论文写作的基本要求:科学性、创造性、逻辑性、实用性、可读性、规范性等。写作态度要严肃认真,论证主题应有壹定理论或应用价值;立论应科学正确,论据应充实可靠,结构层次应清晰合理,推理论证应逻辑严密。行文应简练,文笔应通顺,文字应朴实,撰写应规范,要求使用科研论文特有的科学语言。 (三)论文结构和排列顺序 毕业论文,壹般由封面、独创性声明及版权授权书、摘要、目录、正文、后记、参考文献、附录等部分组成且按前后顺序排列。 1.封面:毕业论文(设计)封面(见文件5)具体要求如下: (1)论文题目应能概括论文的主要内容,切题、简洁,不超过30字,可分俩行排列; (2)层次:高起本,专升本,高起专; (3)专业名称:现开设园林、农林经济管理、会计学、工商管理等专业,应按照标准表述填写; (4)密级:涉密论文注明相应保密年限; (5)日期:毕业论文完成时间。 2.独创性声明和关于论文使用授权的说明:(略)。

3.摘要:论文摘要的字数壹般为300字左右。摘要是对论文的内容不加注释和评论的简短陈述,是文章内容的高度概括。主要内容包括:该项研究工作的内容、目的及其重要性;所使用的实验方法;总结研究成果,突出作者的新见解;研究结论及其意义。摘要中不列举例证,不描述研究过程,不做自我评价。 论文摘要后另起壹行注明本文的关键词,关键词是供检索用的主题词条,应采用能够覆盖论文内容的通用专业术语,符合学科分类,壹般为3~5个,按照词条的外延层次从大到小排列。 4.目录(目录示例见附件3):独立成页,包括论文中的壹级、二级标题、后记、参考文献、和附录以及各项所于的页码。 5.正文:包括前言、论文主体和结论 前言:为正文第壹部分内容,简单介绍本项研究的背景和国内外研究成果、研究现状,明确研究目的、意义以及要解决的问题。 论文主体:是全文的核心部分,于正文中应将调查、研究中所得的材料和数据加工整理和分析研究,提出论点,突出创新。内容可根据学科特点和研究内容的性质而不同。壹般包括:理论分析、计算方法、实验装置和测试方法、对实验结果或调研结果的分析和讨论,本研究方法和已有研究方法的比较等方面。内容要求论点正确,推理严谨,数据可靠,文字精炼,条理分明,重点突出。 结论:为正文最后壹部分,是对主要成果的归纳和总结,要突出创新点,且以简练的文字对所做的主要工作进行评价。 6.后记:对整个毕业论文工作进行简单的回顾总结,对给予毕业论文工作提供帮助的组织或个人表示感谢。内容应尽量简单明了,壹般为200字左右。 7.参考文献:是论文不可或缺的组成部分。它既可反映毕业论文工作中取材广博程度,又可反映文稿的科学依据和作者尊重他人研究成果的严肃态度,仍能够向读者提供有关

配合前面的ntheorem宏包产生各种定理结构

%=== 配合前面的ntheorem宏包产生各种定理结构,重定义一些正文相关标题===% \theoremstyle{plain} \theoremheaderfont{\normalfont\rmfamily\CJKfamily{hei}} \theorembodyfont{\normalfont\rm\CJKfamily{song}} \theoremindent0em \theoremseparator{\hspace{1em}} \theoremnumbering{arabic} %\theoremsymbol{} %定理结束时自动添加的标志 \newtheorem{definition}{\hspace{2em}定义}[chapter] %\newtheorem{definition}{\hei 定义}[section] %!!!注意当section为中国数字时,[sction]不可用! \newtheorem{proposition}{\hspace{2em}命题}[chapter] \newtheorem{property}{\hspace{2em}性质}[chapter] \newtheorem{lemma}{\hspace{2em}引理}[chapter] %\newtheorem{lemma}[definition]{引理} \newtheorem{theorem}{\hspace{2em}定理}[chapter] \newtheorem{axiom}{\hspace{2em}公理}[chapter] \newtheorem{corollary}{\hspace{2em}推论}[chapter] \newtheorem{exercise}{\hspace{2em}习题}[chapter] \theoremsymbol{$\blacksquare$} \newtheorem{example}{\hspace{2em}例}[chapter] \theoremstyle{nonumberplain} \theoremheaderfont{\CJKfamily{hei}\rmfamily} \theorembodyfont{\normalfont \rm \CJKfamily{song}} \theoremindent0em \theoremseparator{\hspace{1em}} \theoremsymbol{$\blacksquare$} \newtheorem{proof}{\hspace{2em}证明} \usepackage{amsmath}%数学 \usepackage[amsmath,thmmarks,hyperref]{ntheorem} \theoremstyle{break} \newtheorem{example}{Example}[section]

论文写作格式规范与要求(完整资料).doc

【最新整理,下载后即可编辑】 广东工业大学成人高等教育 本科生毕业论文格式规范(摘录整理) 一、毕业论文完成后应提交的资料 最终提交的毕业论文资料应由以下部分构成: (一)毕业论文任务书(一式两份,与论文正稿装订在一起)(二)毕业论文考核评议表(一式三份,学生填写表头后发电子版给老师) (三)毕业论文答辩记录(一份, 学生填写表头后打印出来,答辩时使用) (四)毕业论文正稿(一式两份,与论文任务书装订在一起),包括以下内容: 1、封面 2、论文任务书 3、中、英文摘要(先中文摘要,后英文摘要,分开两页排版) 4、目录 5、正文(包括:绪论、正文主体、结论) 6、参考文献 7、致谢 8、附录(如果有的话) (五)论文任务书和论文正稿的光盘

二、毕业论文资料的填写与装订 毕业论文须用计算机打印,一律使用A4打印纸,单面打印。 毕业论文任务书、毕业论文考核评议表、毕业论文正稿、答辩纪录纸须用计算机打印,一律使用A4打印纸。答辩提问记录一律用黑色或蓝黑色墨水手写,要求字体工整,卷面整洁;任务书由指导教师填写并签字,经主管院领导签字后发出。 毕业论文使用统一的封面,资料装订顺序为:毕业论文封面、论文任务书、考核评议表、答辩记录、中文摘要、英文摘要、目录、正文、参考文献、致谢、附录(如果有的话)。论文封面要求用A3纸包边。 三、毕业论文撰写的内容与要求 一份完整的毕业论文正稿应包括以下几个方面: (一)封面(见封面模版) (二)论文题目(填写在封面上,题目使用2号隶书,写作格式见封面模版) 题目应简短、明确,主标题不宜超过20字;可以设副标题。(三)论文摘要(写作格式要求见《摘要、绪论、结论、参考文献写作式样》P1~P2) 1、中文“摘要”字体居中,独占一页

Groff 应用

使用Groff 生成独立于设备的文档开始之前 了解本教程中包含的内容和如何最好地利用本教程,以及在使用本教程的过程中您需要完成的工作。 关于本教程 本教程提供了使用Groff(GNU Troff)文档准备系统的简介。其中介绍了这个系统的工作原理、如何使用Groff命令语言为其编写输入、以及如何从该输入生成各种格式的独立于设备的排版文档。 本教程所涉及的主题包括: 文档准备过程 输入文件格式 语言语法 基本的格式化操作 生成输出 目标 本教程的主要目标是介绍Groff,一种用于文档准备的开放源码系统。如果您需要在应用程序中构建文档或帮助文件、或为客户和内部使用生成任何类型的打印或屏幕文档(如订单列表、故障单、收据或报表),那么本教程将向您介绍如何开始使用Groff以实现这些任务。 在学习了本教程之后,您应该完全了解Groff的基本知识,包括如何编写和处理基本的Groff输入文件、以及如何从这些文件生成各种输出。

先决条件 本教程的目标读者是入门级到中级水平的UNIX?开发人员和管理员。您应 该对使用UNIX命令行Shell和文本编辑器有基本的了解。 系统要求 要运行本教程中的示例,您需要访问运行UNIX操作系统并安装了下面这些软件的计算机(请参见本教程的参考资料部分以获取相关链接): Groff。Groff分发版中包括groff前端工具、troff后端排版引擎和本教 程中使用的各种附属工具。 自由软件基金会将Groff作为其GNU Project中的一部分进行了发布,所 发布的源代码符合GNU通用公共许可证(GPL)并得到了广泛的移植,几乎对于所有的UNIX操作系统、以及非UNIX操作系统(如Microsoft?Windows?)都有相应 的可用版本。 在撰写本教程时,最新的Groff发布版是Version 1.19.2,对于学习本教 程而言,您至少需要Groff Version 1.17。 gxditview。从Version 1.19.2开始,Groff中包含了这个工具,而在以 前的版本中,对其进行了单独的发布。 PostScript Previewer,如ghostview、gv或showpage。 如果您是从源代码安装Groff,那么请参考Groff源代码分发版中的自述 文件,其中列举了所需的任何额外的软件,而在编译和安装Groff时可能需要 使用这些软件。 介绍Groff 用户通常在字处理软件、桌面发布套件和文本布局应用程序等应用程序环 境中创建文档,而在这些环境中,最终将对文档进行打印或导出为另一种格式。整个文档准备过程,从创建到最后的输出,都发生在单个应用程序中。文档通

TeX 使用指南(常见问题)

TeX 使用指南 常见问题(一) 1.\makeatletter 和\makeatother 的用法? 答:如果需要借助于内部有\@字符的命令,如\@addtoreset,就需要借助于另两个命令 \makeatletter, \makeatother。 下面给出使用范例,用它可以实现公式编号与节号的关联。 \begin{verbatim} \documentclass{article} ... \makeatletter % '@' is now a normal "letter" for TeX \renewcommand\theequation{\thesection.\arabic{equation}} \@addtoreset{equation}{section} \makeatother % '@' is restored as a "non-letter" character for TeX \begin{document} ... \end{verbatim} 2.比较一下CCT与CJK的优缺点? 答:根据王磊的经验,CJK 比CCT 的优越之处有以下几点: 1)字体定义采用LaTeX NFSS 标准,生成的DVI 文件不必像CCT 那样需要用patchdvi 处理后才能预览和打印。而且一般GB 编码的文件也不必进行预处理就可直接用latex 编译。2)可使用多种TrueType 字体和Type1 字体,生成的PDF 文件更清楚、漂亮。 3)能同时在文章中使用多种编码的文字,如中文简体、繁体、日文、韩文等。 当然,CCT 在一些细节上,如字体可用中文字号,字距、段首缩进等。毕竟CJK 是老外作的吗。 谈到MikTeX 和fpTeX, 应该说谈不上谁好谁坏,主要看个人的喜好了。MikTeX 比较小,不如fpTeX 里提供的TeX 工具,宏包全,但一般的情况也足够了。而且Yap 比windvi 要好用。fpTeX 是teTeX 的Windows 实现,可以说各种TeX 的有关软件基本上都包括在内。 3.中文套装中如何加入新的.cls文件? 答:放在tex文件的同一目录下,或者miktex/localtexmf/tex/latex/下的某个子目录下,可以自己建一个。 4.怎样象第几章一样,将参考文献也加到目录? 答:在参考文献部分加入 \addcontentsline{toc}{chapter}{参考文献}

论文的写作格式及规范

论文的写作格式及规范

附件9: 科学技术论文的写作格式及规范 用非公知公用的缩写词、字符、代号,尽量不出现数学式和化学式。 2作者署名和工作单位标引和检索,根据国家有关标准、数据规范为了提高技师、高级技师论文的学术质量,实现论文写的科学化、程序化和规范化,以利于科技信息的传递和科技情报的作评定工作,特制定本技术论文的写作格式及规范。望各位学员在注重科学研究的同时,做好科技论文撰写规范化工作。 1 题名 题名应以简明、确切的词语反映文章中最重要的特定内容,要符合编制题录、索引和检索的有关原则,并有助于选定关键词。 中文题名一般不宜超过20 个字,必要时可加副题名。英文题名应与中文题名含义一致。 题名应避免使作者署名是文责自负和拥有著作权的标志。作者姓名署于题名下方,团体作者的执笔人也可标注于篇首页地脚或文末,简讯等短文的作者可标注于文末。 英文摘要中的中国人名和地名应采用《中国人名汉语拼音字母拼写法》的有关规定;人名姓前名后分写,姓、名的首字母大写,名字中间不加连字符;地名中的专名和通名分写,每分写部分的首字母大写。 作者应标明其工作单位全称、省及城市名、邮编( 如“齐齐哈尔电业局黑龙江省齐齐哈尔市(161000) ”),同时,在篇首页地脚标注第一作者的作者简介,内容包括姓名,姓别,出生年月,学位,职称,研究成果及方向。

3摘要 论文都应有摘要(3000 字以下的文章可以略去)。摘要的:写作应符合GB6447-86的规定。摘要的内容包括研究的目的、方法、结果和结论。一般应写成报道性文摘,也可以写成指示性或报道-指示性文摘。摘要应具有独立性和自明性,应是一篇完整的短文。一般不分段,不用图表和非公知公用的符号或术语,不得引用图、表、公式和参考文献的序号。中文摘要的篇幅:报道性的300字左右,指示性的100 字左右,报道指示性的200字左右。英文摘要一般与中文摘要内容相对应。 4关键词 关键词是为了便于作文献索引和检索而选取的能反映论文主题概念的词或词组,一般每篇文章标注3?8个。关键词应尽量从《汉语主题词表》等词表中选用规范词——叙词。未被词表收录的新学科、新技术中的重要术语和地区、人物、文献、产品及重要数据名称,也可作为关键词标出。中、英文关键词应一一对应。 5引言 引言的内容可包括研究的目的、意义、主要方法、范围和背景等。 应开门见山,言简意赅,不要与摘要雷同或成为摘要的注释,避免公式推导和一般性的方法介绍。引言的序号可以不写,也可以写为“ 0”,不写序号时“引言”二字可以省略。 6论文的正文部分 论文的正文部分系指引言之后,结论之前的部分,是论文的核心, 应按GB7713--87 的规定格式编写。 6.1层次标题

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