Specification and Implementation of Secure Distributed Collaboration Systems
FPGA论文相关的英文文献
FPGA Implementation of RS232 to Universalserial bus converter1 V.Vijaya, (PhD) M.Tech2 Rama Valupadasu (Ph D), M.Tech, 3.B.RamaRao Chunduri, PhD, M.TechAssoc. Professor. VCEW Asst.Professor, NIT, Warangal Professor, NIT, Warangalvsrtej@yahoo.co.in agnivesh91@yahoo.co.in cbrr@nitw.ac.in4. Ch.Kranthi Rekha, M.Tech,5. B.Sreedevi, M.Tech,Asst.Professor Assoc. Professor. VCEWLUC, Mantin, Malaysia vaagvijs_15@yahoo.co.inmadakranthirekha@yahoo.co.inAbstract— Universal Serial Bus (USB) is a new personal computer interconnection protocol, developed to make the connection of peripheral devices to a computer easier and more efficient. It reduces the cost for the end user, improves communication speed and supports simultaneous attachment of multiple devices (up to127)RS232, in another hand, was designed to single device connection, but is one of the most used communication protocols. An embedded converter from RS232 to USB is very interesting, since it would allow serial-based devices to experience USB advantages without major changes. This work describes the specification and development of such converter and it is also a useful guide for implementing other USB devices. The main blocks in the implementation are USB device, UART (RS232 protocol engine) and interface FIFO logic. The USB device block has to know how to detect and respond to events at a USB port and it has to provide a way for the device to store data to be sent and retrieve data that have been received UART consists of different blocks which handle the serial communication through RS232 protocol. There are a set of control registers to control the data transfer. The interface FIFO logic has FIFO to bridge the data rate differences between USB and RS232 protocols. Index Terms— First-In-First-Out, RS-232, Universal Asynchronous Receive Transmit, Universal Serial Bus.I.INTRODUCTIONThis paper describes the specification and implementation of a converter from RS232 to USB (Universal Serial Bus). Thisconverter is responsible for receiving data from a peripheraldevice’s serial interface and sending it to a computer’s USBinterface. In the same way, it must be able to send data from the PC’s USB interface to the device. The problems faced with the old standards stimulated the development of a newcommunication protocol, which should be easier to use,faster, and more efficient. RS232 is a definition for serial communication on a 1:1 base. RS232defines the interface layer, but not the application layer. To use RS232 in a specific situation, application specific software must be written on devices on both ends of the connecting RS232 cable. RS232 ports can be either accessed directly by an application, or via a device driver in the operating system. USB is a new personal computer interconnection standard developed by industry and telecommunication leaders, which implements the Plug and Play technology. It allows multiple devices connection (up to 127) ranges. The use of a the devices attachment to PCs. USB is a low cost, easing solution and supports transfer rates up to 12Mbs, comprehending the low-speed and mid-speed data converter from a serial interface to USB would free a serial communication port to other applications, allowing a device that uses a serial interface to communicate using an USB interface. USB on the other hand is a bus system which allows more than one peripheral to be connected to a host computer via one USB port. Hubs can be used in the USB chain to extend the cable length and allow for even more devices to connect to the same USB port. The standard not only describes the physical properties of the interface, but also the protocols to be used. Because of the complex USB protocol requirements, communication with USB ports on a computer is always performed via a device driver. This way, we are not limited to the availability of a serial port and we can experience the USB advantages. Using a converter allows us to have the device unchanged, making the converter responsible for treating the differences between the protocols. This work was based on protocol engine which can be managed by exchanging data with a PC across a serial interface. Most of the times, this communication is not done constantly, since it is necessary to have a serial port available just for it. This paper presents the converter implementation, focusing on the development process, which comprehends the device itself and the PC-side software that will communicate with it. This methodology can be extended to other devices. We first present some important USB standard concepts. Then, we define the system specification, divided on host and device requirements. After, we describe the hardware (UART) features and software design and implementation. Finally, we discuss about achieved results and future workII.PROBLEM DESCRIPTIONThe USB specification describes bus attributes, protocol definition, programming interface and other features required to design and build systems and peripherals compliant with the USB standard. We briefly explain features used in our project.2011 IEEE Symposium on Computers & InformaticsThe USB interface does not give this flexibility. When however an RS232 port is used via an USB to RS232 converter, this flexibility should be present in some way. Therefore to use an RS232 port via an USB port, a second device driver is necessary which emulates a RS232 UART, but communicates via USB. USB works as a Master/Slave bus, where the USB Host is the Master and the devices are the Slaves. The only system resources required by a USB system are the memory locations used by USB system software and the memory and/or I/O address space and IRQ line used by the USB host controller. USB devices can be functional (displays, mice, etc) or hubs, used to connect other devices in the bus. They can be implemented as low or high-speed devices. Low-speed devices are limited to a maximum 1.5 Mb/s rate. Each device has a number of individual registers - known as Endpoints which are indirectly accessed by the device drivers for data exchange. Each endpoint supports particular transfer characteristic has a unique address and direction. A special case is Endpoint 0, which is used for control operations and can do bi-directional transfers. It must be present in all devices. According to the device’s characteristics, other types of endpoints can be defined. USB Host verifies the attachment and detachment of new devices, initiating the enumeration process and managing all the following transactions. It is responsible to install device driver (based on information provided by device descriptors), to automatically reconfigure the system (hot attachment) and to collect statistics and status of each device. USB on the other hand is a bus system which allows more than one peripheral to be connected to a host computer via one USB port. Hubs can be used in the USB chain to extend the cable length and allow for even more devices to connect to the same USB port. The standard not only describes the physical properties of the interface, but also the protocols to be used. Because of the complex USB protocol requirements, communication with USB ports on a computer is always performed via a device driver. Device’s descriptors specify USB devices attributes and characteristics and describe device communication requirements (Endpoint Descriptors). The USB host uses this information to configure the device, to find its driver, and to access it. Devices with similar functions are grouped into classes [1, 2] in order to share common features and even use the same device drivers. Each class can define their own descriptors (class-specific descriptors), as for example, HID (Human Interface Device) Class Descriptors and Report Descriptors. The HID class consists of devices used by people to control computer systems. It defines a structure that describes a HID device, with specific communication requirements. According to the converter characteristics, it can be implemented as a HID device, using already developed HID drivers. A HID device’s descriptors must support an Interrupt IN endpoint and the firmware must also contain a report descriptor that defines the format for transmitted and received device data.A. RequestsThe USB protocol is based on requests sent by the host and processed by the USB devices. These requests can be directed to a device or a specific endpoint in it. Standard requests must be implemented by all devices and are used for configuring a device and controlling the state of its USB interface, among other features. Two HID-specific requests must be supported by the converter: Set Report and Get Report. These requests enable the device to receive and send generic device information to the host. Set Report request is the only way the host can send data to a HID device, once it does not have an Interrupt OUT endpointB. Communication FlowUSB is a shared bus and many devices might use it at the same time. The devices share the bandwidth using a protocol based on tokens and commanded by the host. USB communication is based on transferring data at regular intervals called frames. A frame is composed by one or more transactions that must be executed in a 1 ms time. USB data transfers are typically originated by a USB Device Driver when it needs to communicate with its device. It supplies a memory buffer used to store the data in transfers to or from the USB device. The USB Driver provides the interface between USB Device Driver and USB Host Controller, translating transfer requests into USB transactions, consistent with the bandwidth requirements and protocol structure. Some of these transfers consist of a large block of data, which need to be splitted into several transactions. The Host Controller generates the transaction based on the Transfer Descriptor, which describes the frame sharing among the several devices requests. When a transaction is sent to the bus, all devices see it. Each transaction begins with a packet that determines its type and the endpoint address. The USB driver controls this addressing scheme. Inside the device, the USB Device Layer comprehends the actual USB communication mechanism and transfer characteristics. USB Logical Device implements a collection of endpoints that comprise a given functional interface, which can be manipulated by its respective USB client.C. Transfer TypesThe USB specification defines four transfer types: Control, Interrupt, Isochronous and Bulk. Control transfers send requests and data relating to the device’s abilities and configuration. They can also be used to transfer blocks of information for any other purpose. Control transfers consist of a Setup stage, followed by a Data stage, which is composed of one or more Data transactions, and a Status stage. All data transactions in a Data Stage must be in the same direction (In or out). Interrupt transfers are typically used for devices that need to transfer data at regular period of time, and consequently must be polled periodically. The polling interval is defined in the Endpoint Descriptor. The data payloadfor this kind of transfer for low-speed devices is 8 bytes. Error correction is done in this kind of transfer. Two other transfer types are Isochronous and Bulk , which are used for devices thatneed a guaranteed transfer rate or for large blocks of data transfers. They are not used in this work.III. PROCEDURE/ALGORITHM A. System SpecificationTo develop a USB peripheral we need all the following: A host that supports USB. Driver software on the host to communicate with the peripheral. An application executing in the host that communicates with the peripheral device. A UART with a USB interface. Code implementation on the USB controller to carry Out the USB communication. Code implementation on the USB controller to carry out the peripheral functions. Hardware specific problem arises from handshaking to prevent buffer overflows at the receiver's side. RS232 applications can use two types of handshaking, either with control commands in the data stream, called software flow control, or with physical lines, called hardware flow control. Not all USB to RS232 converters provide these hardware flow control lines. It is not always easily identified if an application needs them. Some applications do not use hardware flow control at all, and those cheap USB to RS232 converters will work without problems. Other applications use hardware flow control, but infrequently. Only with large data bursts, or in situations where the CPU is busy performing other tasks, hardware flow control might kick in to prevent data loss. In those situations, communications may seem error free, but with sometimes bytes lost, or unspecified errors in the communications. In a UART& FIFO used to store sent and received data in the USB communication process. Two endpoints were defined for the converter, where the first one is Endpoint 0, used for control operations and the second one is an Interrupt IN Endpoint, defined for sending data to the host. This way, a converter from a serial interface to USB can be implemented as a HID device with the features mentioned above.Fig 2.RS232 to USB ConverterB. HOST REQUIREMENTSThe choice of the Operating System used by the host wasdone in 1999, based on the USB support it provides. Itshould provide the entire drivers infrastructure and supportthe protocol characteristics, as for example, Plug and Play. The host must be able to receive USB data using its device drivers and make them available to the applications that have done the request. It is essential that we have a driver in the host to process USB transfers, recognizing the device, receiving and sending data to a USB device.A. Device requirementsSome communication requirements, such as transmission speed, frequency and amount of data to be transferred, were essential in communication the process of defining the UART be used. Considering the speeds available for USB devices, it was clear that the converter could be implemented as a low speed device, where the communication speed varies from 10 to 100Kb/s. Considering the amount of data transferred and the transmission frequency, the converter was defined to use Interrupt transfers, a transfer type where considerable amounts of data must be transferred in pre defined amounts of time. The host is responsible for verifying if the device needs to transmit data from time to time. Interrupt transfers can be done in both directions, but needs to transmit data from time to time. Interrupt transfers can be done in both directions, but not at the same time. For the converter, they could be used to send and receive data from the PC. The Operating System provides HID drivers that allow us to use this transfer type. The maximum packet size for one transaction is 8 bytes for low speed devices. If we are sending larger amounts of data, they need to be splitted into many transactions, once USB is a shared bus. Another feature defined for the converter was the number of endpoints needed. As explained before, endpoints are buffersFig 1.RS232 to USB Interface DiagramIII HARDWARE DESCRIPTIONIt is a low-cost solution for low-speed applications with high I/O requirements. RS232 ports which are physically mounted in a computer are often powered by three power sources: +5 Volts for the UART logic, and -12 Volts and +12 Volts for the outputdrivers. USB however only provides a +5 Volt power source.Some USB to RS232converters use integrated DC /DC converters to create the appropriate voltage levels for the RS232 signals, implementations, the +5 Volt voltages is directly used to drive the output The UART has serial interface to the RS232 driver. The operation of UART is controlled by an external host processor. There is an 8-bit data interface to host along with read and write control signals. Clock is fed from external crystal. Thefamily is USB specification [1] compliant and supports one address and three data endpoints [5]. The choice of a UART with three endpoint was done in order to allow us to have, beyond the Interrupt IN, an Interrupt OUT endpoint for receiving data from the host (OUT). Its definition requires we have an odd endpoint number besides Endpoint 0. This configurationcould not be implemented at the time the project was being developed once the Operating System did not offer support for Interrupt OUT endpoints, which were defined in a later version of the specification. The instruction set has been optimized specifically for USB operations, USB controller provides one USB device address with three endpoints. The USB device address is assigned to the device and saved in the USB Device Address Register (7 bits) during the USB enumeration process. The USB controller communicates with the host using dedicated FIFO, one per endpoint. Each endpoint FIFO is implemented as 8 bytes of dedicated SRAM and the status and control of each of them can be done using its Mode Register and Count Register.IV. SOFTWARE DESIGN AND IMPLEMENTATIONThe development of the converter was divided in phases: Descriptors definition. Device detection and enumeration module (request treatment), Serial data exchange module, USB/serial modules interface be overlapped. USB data exchange module (request treatment). The phases definition does not imply that they cannot be overlapped.A .Descriptors definitionThe main structure to be data implemented consists of device descriptors, as defined by the USB specification [1] These descriptors store information about the device and the USB communication process, used by the host to identify the device and its characteristics. The Device Descriptor is the first descriptor the host reads on device attachment. It includes the basic information the host needs in order to retrieve further characteristics from the device. Its fields' values were defined according to the converter characteristics [7]. To implement a new device, some of these values must be re evaluated and changed if necessary. The converter was defined to use just one interface and two endpoints (Control and Interrupt IN). Interrupt OUT endpoints were defined just in a later version of HID specification. To solve this problem, data packets are sent to the UPS across Endpoint 0, using the SET REPORT request, and received through Endpoint 1, using Interrupt transfers. The data reception is done through Output Reports, which were defined as 16 8-bit fields, according to the largest command sent to the UPS. Sending data to the host is done through Input Reports, which were defined as 8, 8- bit fields. Report Descriptors define the size and uses for the data that implements the device’s functionality.B. Device Detection and EnumerationThe second phase consists of the implementation of the code that enables the host to detect and enumerate the device. The implementation of these routines was based on some example codes [8, 9, 10]. Inside the we must have the code to access the descriptors, to recognize and to respond to the request codes that the host sends when it enumerates the device.C. The process of sending and receiving dataThe process of sending data to the UPS is done through ControlTransfers using SET REPORT on Endpoint 0. The host sends a request to the USB device, indicating it wants to send data. Aninterrupt informs the device when new data have arrived onEndpoint 0 and the corresponding Interrupt Service Routinecopies it into a data buffer, which is used in the serial communication process.. The maximum packet size that isreceived from the host was defined according to the largestcommand that must be sent to the function must be changed toallow receiving an arbitrary number of bytes. These routines are called after the Host or the controller sends a packet to the bus.Endpoint 0 ISR receives. Using hardware flow control impliesthat more lines must be present between the sender and thereceiver, leading to a thicker and more expensive cable. Therefore, software flow control is a good alternative if it is notneeded to gain maximum performance in communications.Software flow control makes use of the data channel between thetwo devices which reduces the bandwidth. The reduce of bandwidth is in most cases however not so astonishing that it is areason to not use it. First, the computer sets its RTS line to signalthe device that some information is present. The device checks ifthere is room to receive the information and if so, it sets the CTS line to start the transfer. When using a null modem connection,this is somewhat different. There are two ways to handle thistype of handshaking in that situation. One is, where the RTS ofeach side is connected with the CTS side of the other. In that way, the communication protocol differs somewhat from theoriginal one. The RTS output of computer A signals computer B that A is capable of receiving information, rather than a requestfor sending information as in the original configuration. Thistype of communication can be performed with a null modemcable for full handshaking. Although using this cable is not completely compatible with the original way hardware flow control was designed, if software is properly designed for it it can achieve the highest possible speed because no overhead ispresent for requesting on the RTS line and answering on the CTSline. In the second situation of null modem communication withhardware flow control, the software side looks quite similar to the original use of the handshaking lines. The CTS and RTS linesof one device are connected directly to each other. This means,that the request to send query answers itself. As soon as the RTSoutput is set, the CTS input will detect a high logical value indicating that sending of information is allowed. This impliesthat information will always be sent as soon as sending isrequested by a device if no further checking is present. Toprevent this from happening, two other pins on the connector are used, the data set ready DSR and the data terminal ready DTR. These two lines indicate if the device attached is working properly and willing to accept data. When these lines are cross-connected (as in most null modem cables) flow control can be performed using these lines. A DTR output is set, if that computer accepts incoming characters.V.R ESULT A NALYSIS:Fig.4.Shows the Waveforms of RS232USBconverterFIG. 5. RTLSCHEMATICSFIG. 6.The Routed designVI. CONCLUSIONSAn embedded converter from RS232 to USB is designed in this project. VHDL will be used for implementing all these blocks. ModelSim Simulator tool will be used for functional simulation of the design. Reduces the cost for the end user, improves communication speed and supports simultaneous attachment of multiple devices (up to 127). USB protocol operates at 480 Mbps FPGA implementation of the design is done on Spartan 3E FPGA (XC3S500E). The design used 6% of the FPGA area and a maximum frequency of 130MHz is obtained.ACKNOWLEDGMENTWe are grateful to management Vaagdevi college of Engineering, Warangal, NIT Warangal, Linton University College, and Mantin for the facilities to provide to complete the project in time.REFERENCES1.Ana Luiza de Almeida Pereira Zuquim, Claudionor JosCNunes Coelho Jr, Antanio Ot6vio Fernández, Marcos PCgode Oliveira, AndrCa Iabrudi Tavares, “An EmbeddedConverter from RS232 to Universal Serial Bus”, IEEE2.Jan axelson, “USB Complete, Everything you need todevelop custom USB peripherals”, Penram Intl.Publishing(India), 19993.Universal Serial Bus Specification Revision 2.04.5.Charles H.Roth, Jr, “Digital Systems Design using VHDL”,PWS publishing company, 1996.6.ZainalabediNavabi,“VHDL Analysis and Modelling ofDigital Systems”, McGraw – Hill, Second Edition.7.8.9.Douglas L. Perry ,”VHDL”, Second Edition, McGraw-Hill,Inc, 199310..au/catalog/targus-usb-to-parallel-adapter-p-1160.html11. USB Complete: The Developer's Guide, 4th Edition12. USB Mass Storage: Designing and ProgrammingDevices and Embedded Hosts14. FPGAPrototyping by VHDL Examples: Xilinx Spartan-3Version. Pong P.ChuBibliographical notesV.Vijaya obtained her B.Tech Degree in Electronics & Communication Engg., from (JNTU) Jawaharlal Nehru Technological University College of Engg., Ananthapur, and M.Tech. Degree in Instrumentation and Control Systems, from JNTUK college of Engg Kakinada and Pursuing PhD from JNTUH, Hyderabad. V.Vijaya worked at APEL Radio Communication Systems, Hyderabad and presently, she is working as Associate Professor in the ECE Dept of Vaagdevi College of Engineering at Warangal. She has 10 years of Teaching Experience and 2 years of Industrial Experience. Attended 15 workshops/refresher courses/short term courses at various places. Member of Project Review Committee (UG/PG); CRC for (UG/PG).She is the project coordinator for UG/PG. Her area of interest are Image processing, Signal processing, VLSI, Mobile Communications, Wireless Communications. She is life member of ISTE, IETE.She is the member of IEEE. She has published no. of papers in national conferences and international conferences.V.Rama obtained her B.Tech in Electronics &Communication Engg., from JNTU, Kakinada, and M.Tech. from NIT, Warangal. Pursuing PhD from NIT, Warangal She is working as Asst Professor in the ECE Dept., at NIT, Warangal. Staff adviser of ECE Dept., Incharge for basic Electronics Lab. She involved inextracurricular activites at institute. She has 12 years of Teaching Experience. She organized no. of UGC workshops in NITW. Her area of research is Bio Medical Signal Processing. Her areas of interest are Image processing, Signal processing, Tele medicine. She is the member of IEEE. She has published no. of papers in national and international conferences.CH.Kranthi Rekha had received her B.E in Electronics and Communication Engineering from Madurai Kamaraj University in 2000 and Completed M.Tech from JNTUH, Hyderabad. Presently she is working as Lecturer in Linton university college, Mantin, Malaysia, She has more than 10 years of teaching experience. She is the Author of two Books (Digital communications and Digital Image processing). Organized student level technical symposium technocraft-’09. Attended 10 workshops/refresher courses/short term courses at various places. As a resource person to talk on Image processing. Member of Project Review Committee (UG/PG); CRC for (UG/PG). Her area of interest are Neural networks, Image processing, Signal processing, VLSI, Communications. She is life member of ISTE, IETE.She has published no. of papers in national conferences and international conferences.B.Sreedevi obtained her AMIE Degree in Electronics & Communication Engg., from Institution of Engineers, Calcutta, and M.Tech. Degree in Digital System Computer Electronics, from JNTUA college of Engg Ananthapur. She is working as Associate Professor in the ECE Dept of Vaagdevi College of Engineering at Warangal. She has 10 years of Teaching Experience. Attended 12 workshops/refresher courses/short term courses at various places. Member of Project Review Committee (UG/PG); CRC for (UG/PG). Her area of interest are Image processing, Signal processing, VLSI, Communications. She is life member of ISTE, IETE. She has published no. of papers in national conferences and international conferences.C.B.RamaRao obtained his B.Tech in Electronics & Communication Engg., from JNTU Kakinada, and M.Tech. from JNTU Kakinada, Ph.D from IIT, kharagpur. He is working as Professor in the ECE Dept., at NIT, Warangal. At present he is the Head of ECE Dept.,. He involved in various activities at institute. He acted as associate dean of academic affairs at NITW. He has 28 years of Teaching Experience. He organized no. of workshops at NITW. His area of research is in advanced digital signal processing. His areas of interest are Bio Medical Signal Processing, Image processing, Signal processing. He is the member of IEEE. He has published no. of papers in national and international conferences.。
Integrated-Management-Systems
Standards in Action
/standardsinaction
Integrated Management Systems
External factors Internal factors
Flowchart of a generic management system
Audit
Initial and periodic status review Policy
Organising
Planning and implementin g Measuring performanc e Information link CONTROL LINK
Standards in Action
Key: Value adding activity information flow
Product realisation
Output
Product
Standards in Action
– Source IQA.2007
Standards in Action
/standardsinaction
Integrated Management Systems
Why should management systems be integrated?
Be consistent within the organization. Improve internal and external communication. Avoid duplication and gain cost savings. Reduce risks. Expose conflicting objectives. Identify and rationalise conflicting responsibilities and relationships. Gain a structured balance of authority/power. Focus organization onto business goals. Create a formalisation of informal systems. Harmonise and optimise practices. Identify and facilitate staff training and development.
Modbus Over Serial Line Specification & Implementation Guide
The MODBUS standard defines an application layer messaging protocol, positioned at level 7 of the OSI model that provides "client/server" communications between devices connected on different types of buses or networks. It standardizes also a specific protocol on serial line to exchange MODBUS request between a master and one or several slaves. The objective of this document is to present the MODBUS protocol over serial line, in order to be used by all system designers when they want to implement MODBUS protocol on their serial line products. Thus, this document will facilitate interoperability between devices using the MODBUS protocol. This document comes in complement to the document called "MODBUS Application Protocol Specification". In chapter 5 different implementation classes are defined for "MODBUS Serial Line". requirements that a device must respect in order to belong to that class. Specification of a class is the sum of
技术规格书英文缩写
技术规格书英文缩写Technical Specification Document (TSD) – A reference document that provides a detailed description of the technical requirements, design, and implementation details for a specific project or product. It serves as a guide for engineers, developers, and stakeholders involved in the development process. The TSD outlines the specifications, constraints, and features necessary for the successful completion of the project.The TSD generally includes the following sections:1. Introduction: This section provides an overview of the project, including its purpose and objectives. It also defines the scope of the document and outlines any key terms or definitions.2. Requirements: This section lists the functional and non-functional requirements for the project. Functional requirements describe what the system or product should do, while non-functional requirements specify system properties such as performance, reliability, and security.3. Architecture: This section describes the overall system architecture, including hardware and software components. It outlines the system's organization, interactions between components, and any protocols or interfaces used.4. Design: This section presents the detailed design of the system. It includes diagrams, flowcharts, or other visual representations to illustrate the system's structure and behavior. It also covers design decisions, algorithms, and data structures used.5. Implementation: This section explains how the design is implemented in practice. It may include code snippets, configuration files, or other technical details related to the actual development process.6. Testing: This section outlines the testing approach and strategies used to validate the system. It defines test cases, procedures, and expected results, as well as any tools or frameworks used for testing.7. Performance: This section discusses the system's performance requirements and the methods used to measure and optimize performance. It may include benchmarks, load testing results, and performance tuning techniques.8. Security: This section addresses the security considerations and measures taken to protect the system from unauthorized access, data breaches, and other security threats. It may include encryption algorithms, access control mechanisms, and security testing results.9. Maintenance and Support: This section provides guidelines for ongoing maintenance and support of the system. It includes information on software updates, bug fixes, and customer support.10. Documentation: This section specifies the documentation requirements for the project. It includes user manuals, installation guides, and other technical documentation necessary for the system's deployment and operation.In conclusion, the Technical Specification Document (TSD) is a comprehensive guide that documents the technical aspects of a project or product. It provides a clear understanding of the project requirements, design, implementation, testing, and maintenance. The TSD ensures effective communication between developers, stakeholders, and end-users, and serves as a reference throughout the development lifecycle.。
3GPP协议_25463-670AISG2.0
3GPP协议_25463-670AISG2.03GPP TS 25.463 V6.7.0 (2007-06)Technical Specification3rd Generation Partnership Project;Technical Specification Group Radio Access Network;UTRAN Iuant Interface: Remote Electrical Tilting (RET)antennas Application Part (RETAP) signalling(Release 6)The present document has been developed within the 3rd Generation Partnership Project (3GPP TM) and may be further elaborated for the purposes of 3GPP. The present document has not been subject to any approval process by the 3GPP Organizational Partners and shall not be implemented.This Specification is provided for future development work within 3GPP only. The Organizational Partners accept no liability for any use of this Specification. Specifications and reports for implementation of the 3GPP TM system should be obtained via the 3GPP Organizational Partners' Publications Offices.KeywordsUMTS, radio, antenna3GPPPostal address3GPP support office address650 Route des Lucioles - Sophia AntipolisValbonne - FRANCETel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16Internet/doc/c0e08d664693daef5ef73dda.htmlCopyright NotificationNo part may be reproduced except as authorized by written permission. The copyright and the foregoing restriction extend to reproduction in all media.2007, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC).All rights reserved.ContentsForeword (5)1Scope (6)2References (6)3Definitions and abbreviations (6)3.1Definitions (6)3.2Abbreviations (8)4General (8)4.1Procedure specification principles (8)4.2Forwards and backwards compatibility (8) 4.3Multi-antenna units (8)4.4Integer representation (8)5Services expected from signalling transport (9) 5.1Elementary procedure format (9)5.1.1Initiating message (9)5.1.2Response message (9)6Control elementary procedures (10)6.1State model (10)6.2General procedure handling (10)6.2.1Alarms (10)6.2.2Procedure message interpretation (11) 6.2.3Parallel procedure handling (11)6.3Overview of elementary procedures (12) 6.4Description of elementary procedures (14) 6.5Common elementary procedures (15)6.5.1Reset Software (15)6.5.2Get Alarm Status (16)6.5.3Get Information (16)6.5.4Clear Active Alarms (17)6.5.5Alarm Subscribe (18)6.5.6Self Test (18)6.5.7Void (19)6.5.8Void (19)6.5.9Read User Data (19)6.5.10Write User Data (20)6.5.11Download Start (21)6.5.12Download Application (21)6.5.13Download End (22)6.5.14Vendor specific procedure (23)6.6Single-antenna elementary procedures (23)6.6.1Calibrate (23)6.6.2Send Configuration Data (24)6.6.3Set Tilt (25)6.6.4Get Tilt (25)6.6.5Alarm Indication (26)6.6.6Set Device Data (27)6.6.7Get Device Data (27)6.7Multi-antenna elementary procedures (28)6.7.1Antenna Calibrate (28)6.7.2Antenna Set Tilt (29)6.7.3Antenna Get Tilt (30)6.7.4Antenna Set Device Data (30)6.7.5Antenna Get Device Data (31)6.7.6Antenna Alarm Indication (32)6.7.7Antenna Clear Active Alarms (32)6.7.8Antenna Get Alarm Status (33)6.7.9Antenna Get Number Of Antennas (34)6.7.10Antenna Send Configuration Data (34)7Unknown elementary procedures (35)Annex A (normative): Return codes for secondary devices (36)Annex B (normative): Assigned fields for additional data (37)Annex C (normative): Procedure sequence for download of software to a secondary device (38)Annex D (informative): Overview of elementary procedures (39)Annex E (informative): Change history (40)ForewordThis Technical Specification has been produced by the 3rd Generation Partnership Project (3GPP).The contents of the present document are subject to continuing work within the TSG and may change following formal TSG approval. Should the TSG modify the contents of the present document, it will be re-released by the TSG with an identifying change of release date and an increase in version number as follows:Version x.y.zwhere:x the first digit:1 presented to TSG for information;2 presented to TSG for approval;3 or greater indicates TSG approved document under change control.y the second digit is incremented for all changes of substance, i.e. technical enhancements, corrections, updates, etc.z the third digit is incremented when editorial only changes have been incorporated in the document.1 ScopeThe present document specifies the Remote Electrical Tilting Application Part (RETAP) between the implementation specific O&M transport function and the RET Antenna Control unit function of the Node B. It defines the Iuant interface and its associated signaling procedures.2 ReferencesThe following documents contain provisions which, through reference in this text, constitute provisions of the present document.References are either specific (identified by date of publication, edition number, version number, etc.) or non-specific.For a specific reference, subsequent revisions do not apply.For a non-specific reference, the latest version applies. In the case of a reference to a 3GPP document (includinga GSM document), a non-specific reference implicitly refers to the latest version of that document in the sameRelease as the present document.[1] 3GPP TS 25.460: "UTRAN Iuant Interface: General Aspects and Principles".[2] ISO/IEC 13239 (2nd Edition, March 2000): "Information Technology – Telecommunications andinformation exchange between systems – High-level data link control (HDLC) procedures".[3] 3GPP TS 25.462: "UTRAN Iuant Interface: Signalling Transport".[4] 3GPP TS 25.461: ”UTRAN Iuant Interface: Layer 1”.3 Definitions and abbreviations3.1 DefinitionsFor the purposes of the present document, the following terms and definitions apply.Active alarm: An alarm which has an alarm state that has been raised, but not clearedAlarm: Persistent indication of a faultAlarm code: A code that identifies a specific alarm. The alarm code set is a subset of the return code set. The alarm codes are listed in annex A of this TSAlarm state: A condition or state in the existence of an alarm. Alarm states are raised and clearedASCII character: A character forming part of the International Reference Version of the 7-bit character set defined in ISO/IEC 646:1991Calibrate: Exercise the antenna drive unit over its entire range of travel to ensure fault-free operation and synchronise the measured and actual beam tilt of the antennaConfiguration data: A stored table or function defining the relationship between the physical position of the drive and electrical beam tiltData type: A definition determining the value range and interpretation of a series of octets. The following specified data types are used in this TS:Elementary procedure: The RETAP protocol consists of elementary procedures (EPs). An elementary procedure is a unit of interaction between the primary device (Node B) and the secondary devices (RET devices) An EP consists of an initiating message and possibly a response message.Two kinds of EPs are used:- Class 1: Elementary procedures with response (success or failure).- Class 2: Elementary procedures without response.For Class 1 EPs, the types of responses can be as follows:Successful- A signalling message explicitly indicates that the elementary procedure has been successfully completed with the receipt of the response.Unsuccessful- A signalling message explicitly indicates that the EP failed.Class 2 EPs are considered always successful.Error: Deviation of a system from normal operationFault: Lasting error conditionLittle endian: The order of transmission in which the least-significant octets of a multi-octet representation of a number are transmitted first. Little endian only applies to binary integer representationsMaxDataReceiveLength: SecondaryPayloadReceiveLength minus 3 octets (see subclause 4.8.1 in [3]) MaxDataTransmitLength: SecondaryPayloadTransmitLength minus 3 octets (see subclause 4.8.1 in [3])Procedure code: A code identifying an elementary procedureReset: A process by which the device is put in the state it reaches after a completed power-upReturn code: A code which defines information about the outcome of an elementary procedure executionTilt (also downtilt, tilt angle, beamtilt): The elevation angle between the direction orthogonal to the antenna element axis and the maximum of its main beam in the elevation plane. A positive electrical tilt angle means that the antenna beam is directed below the direction orthogonal to the antenna axis. An antenna has separate values for electrical and mechanical tilt. The mechanical tilt is fixed by the geometry of the installation. In this TS the tilt referred to is always the electrical tilt unless otherwise statedTilt value: A signed integer used in elementary procedures to define the electrical tilt setting of the antenna. The tilt value is 10 times the antenna electrical tilt angle in degrees.3.2 AbbreviationsFor the purposes of the present document, the following abbreviations apply:EP Elementary ProcedureHDLC High-Level Data Link ControlRET Remote Electrical TiltingRETAP Remote Electrical Tilting Application PartTCP Time-Consuming Procedure4 General4.1 Procedure specification principlesThe principle for specifying the procedure logic is to specify the functional behaviour of the RET antenna control unit exactly and completely. The Node B functional behaviour is left unspecified.The following specification principles have been applied for the procedure text in clause 6:- The procedure text discriminates between:1) Functionality which "shall" be executedThe procedure text indicates that the receiving node "shall" perform a certain function Y under a certaincondition. If the receiving node supports procedure X but cannot perform functionality Y requested in theREQUEST message of a Class 1 EP, the receiving node shall respond with the message used to reportunsuccessful outcome for this procedure, containing an appropriate cause value.2) Functionality which "shall, if supported" be executedThe procedure text indicates that the receiving node "shall, if supported," perform a certain function Y undera certain condition. If the receiving node supports procedure X, but does not support functionality Y, thereceiving node shall proceed with the execution of the EP, possibly informing the requesting node about thenot supported functionality.4.2 Forwards and backwards compatibilityThe forwards and backwards compatibility of all versions of the protocol shall be assured by a mechanism in which all current and further messages will not be changed in the future. These parts can always be decoded regardless of the standard version.New functionalities are added into the specification by introducing new procedures and thus the existing messages are not changed in the future.4.3 Multi-antenna unitsThe RETAP elementary procedures are split into a single-antenna oriented part, a multi-antenna oriented part and a common part for both device types in order to support RET units controlling single- or multi-antenna devices. The RET unit responds, upon request, the number of antennas it controls. All multi-antenna oriented elementary procedures include a parameter stating which antenna the elementary procedure addresses. Antennas are numbered 1 and upwards.4.4 Integer representationMulti-octet integer values are transmitted in little endian order. Signed integers are represented as 2-complement values.5 Services expected from signalling transportRETAP requires an assured in-sequence delivery service from the signalling transport and notification if the assured in-sequence delivery service is no longer available.5.1 Elementary procedure formatLayer 2 provides a full-duplex link for the transmission of RETAP messages.There are two types of RETAP elementary procedures:Class 1: Initiating messages are sent either from the primary to a secondary device, or from a secondary to the primary device, in order to initiate some action within the receiving device. The other device sends a response message completing the procedure.Class 2: Initiating messages are sent either from the primary to a secondary device, or from a secondary to the primarydevice. No response message is expected.All RETAP messages use the same basic format:Table 5.1.1: Basic format for all RETAP messagesNOTE: Response messages have the same basic format as initiating messages. The elementary procedure code shall be the same in the response message as in the associated initiating message.5.1.1 Initiating messageThe data part of an initiating message may contain parameters as specified in clause 6 of this TS.5.1.2 Response messageElementary procedures shall, unless otherwise specified, provide a response message within 1 second. The response time is measured from the time the message frame was received by the transport layer to the time the response message is ready for transfer by the transport layer.If the class1 elementary procedure requested by the initiating message was successfully executed, the response message data part from a single-antenna device shall contain return code . Additional information may follow in the data part. The response message data part from a multi-antenna device starts with the antenna number followed by return code and optional additional information.If the elementary procedure requested by the initiating message was not successfully executed, the response message data part from a single-antenna device shall contain return code .The following octet shall contain a second return code which describes why the execution of the requested procedure failed. The response message data part from a multi-antenna device starts with the antenna number followed by return code and a second return code which describes why the execution of the requested procedure failed.In some situations an initiating message can cause a change of operating conditions, for instance a SetTilt procedure might cause a RET device to discover that an adjuster is jammed or that a previously jammed adjuster works normally again. In these cases an alarm procedure reporting the change of operating conditions shall be used in addition to the regular or return codes in response message.A complete annotated table of all return codes with their corresponding hexadecimal numbers is provided in annex A of this TS.Return codes marked with an X in the Alarm column of annex A in this TS are used to report operating conditions in alarm procedures (see subclauses 6.6.5 and 6.7.6 for details).6Control elementary procedures6.1State modelThe state model describing the RET device is shown in figure 6.1 with procedures written in italic. The relation to the connection state model for layer 2 can be found in [3].Link Establishment from stateAddressAssigned, see ref. [3]DownloadEndFigure 6.1: State model for the RET deviceIf an application software is not missing the RET device enters the state OperatingMode.If an application software is missing, the RET device enters the state DownloadMode. In this state only software download functionality is supported in order to restore the application software.The primary device will be notified that the RET device has entered the state DownloadMode when a procedure which only is supported in the state OperatingMode fails with the return code WorkingSoftwareMissing.If no software download functionality is supported, then only the state OperatingMode for the RET device is supported.6.2General procedure handling6.2.1AlarmsWhen a fault is detected, the corresponding alarm state shall be changed to state raised by the secondary device. When the fault no longer exists, the corresponding alarm state shall be changed to state cleared by the secondary device.Alarm changes are reported through the AlarmIndication or AntennaAlarmIndication elementary procedures. Whenever an AlarmIndication or AntennaAlarmIndication elementary procedure message is transmitted, it shall contain all the alarm states changed that have not yet been reported as described in subclauses 6.6.5 and 6.7.6. All alarm states shall be cleared by any type of reset.6.2.2 Procedure message interpretationThe following message interpretation rules shall apply to a secondary device in the order mentioned:- Any message shorter than 3 octets shall be disregarded. In case of Multi-Antenna-Procedures any messages shorter than 4 octets shall be disregarded.;- If a message has a length inconsistent with its “Number of data octets” field value it shall be responded with a failure message stating “FormatError” as the ca use of failure. The response message shall be to the initiating message identified by the procedure code;- If a secondary device in the OperatingMode state is receiving a procedure message which is undefined for this device type, it shall respond with "Unknown Procedure";- If a secondary device in the OperatingMode state is receiving a procedure message of an optional procedure not supported, it shall respond with a failure message stating “UnsupportedProcedure” as the cause of failure;- If a secondary device receives a procedure message, part of the software download procedure sequence described in Annex C, without having received the previous procedure messages in that sequence it shall respond with a failure message stating “InvalidProcedureSequence” a s the cause of failure;- If a secondary device in the DownloadMode state is receiving a procedure message not supported in that state it shall respond with a failure message stating “WorkingSoftwareMissing” as the cause of failure;- If a message has a length inconsistent with the defined message length in the procedure definition it shall be responded with a failure message stating “FormatError” as the cause of failure. The response message shall be to the initiating message identified by the procedure code;- If a secondary device in the OperatingMode state is receiving a procedure message which addressed device subunit does not exist “FormatError” shall be returned.6.2.3 Parallel procedure handlingThe secondary device shall support parallel execution of in maximum one additional EP only in parallel to one of the Time-Consuming Procedures defined in table 6.2.3.1:Table 6.2.3.1: Definition of TCPs and the execution of procedures in parallel to a TCP“yes” in the "TCP" column indicates that the procedure is a TCP, “no“ in the "TCP" column indicates that the procedure is not a TCP. “mandatory” in the "Execution in parallel to a TCP" column indicates that the pro cedure shall be executed in parallel to an ongoing TCP. “optional” in this column indicates, that the support of the execution of the procedure in parallel to an ongoing TCP is optional and “disallowed” indicates that the procedure shall not be executed in parallel to a TCP.If a secondary device receives an initiating message for an EP which cannot be executed due to the ongoing execution of other EPs, the secondary device shall respond with a failure message stating “Busy” as the cause of failure.Paralle l execution of one TCP marked “optional” in the "Execution in parallel to a TCP" column in table 6.2.3.1 may be supported for each antenna by the secondary device. The EPs AntennaSetTilt and AntennaCalibrate shall be executed in parallel only for different antenna numbers. If more than one TCP is executed, ResetSoftware shall be executed anyway and never be responded with “Busy”.If the EPs Get Tilt and Antenna GetTilt are executed in parallel with a TCP, their response message shall deliver a tilt value sampled during their execution.6.3 Overview of elementary proceduresThe set of elementary procedures for RET antenna control provides procedure-oriented instructions. An overview of the procedures is given in annex D. Table 6.3.1 lists all common elementary procedures described in subclause 6.5. Table 6.3.2 lists all elementary procedures specific for single-antenna device types described in subclause 6.6. Table 6.3.3 listsall elementary procedures specific for multi-antenna device types described in subclause 6.7. subclause 6.4 describes how to interpret the elementary procedure definitions in subclauses 6.5 to 6.7.Some elementary procedures shall be performed in sequence as described in Annex C for the software download.Table 6.3.1: Common elementary procedure set for all device typesTable 6.3.2: Elementary procedure set for single-antenna device typeTable 6.3.3: Elementary procedure set for multi-antenna device type6.4 Description of elementary proceduresTable 6.4.1: Description of elementary proceduresTable 6.4.2: Initiating and response message parameters and formatTable 6.4.3: Response message parameters and format for common class 1elementary procedures upon errorTable 6.4.4: Response message parameters and format for single-antenna class 1 elementaryprocedures upon errorTable 6.4.5: Response message parameters and format for multi-antenna class 1 elementaryprocedures upon errorNOTE: The response message in the elementary procedure AntennaGetAntennaNumber, has the format given in table 6.4.4, although it is defined as a multi-antenna class 1 elementary procedure.Description:Describes the purpose of the elementary procedure.Table 6.4.6: Return codes6.5 Common elementary procedures6.5.1 Reset SoftwareTable 6.5.1.1: Elementary procedure Reset SoftwareTable 6.5.1.2: Initiating message parameters and format for Reset SoftwareTable 6.5.1.3: Response message parameters and format for Reset SoftwareDescription:On the receipt of the initiating message the secondary device shall reset the application. All alarm states shall be cleared. If the initiating message is received in the OperatingMode state, the transport layer shall remain unaffected.If the initiating message is received in the DownloadMode state, the ResetSoftware procedure shall reset the entire device without activating any new application software downloaded since entering the DownloadMode state.The device shall not execute the reset procedure before transport layer acknowledgement through sequence number update is received for the response.Table 6.5.1.4: Return codes for Reset Software6.5.2 Get Alarm StatusTable 6.5.2.1: Elementary procedure Get Alarm StatusTable 6.5.2.2: Initiating message parameters and format for Get Alarm StatusTable 6.5.2.3: Response message parameters and format for Get Alarm StatusDescription:On receipt of the initiating message the secondary device reports the alarm codes of the active alarms.Table 6.5.2.4: Return codes for Get Alarm Status6.5.3 Get InformationTable 6.5.3.1: Elementary procedure Get InformationTable 6.5.3.2: Initiating message parameters and format for Get InformationTable 6.5.3.3: Response message parameters and format for Get InformationDescription:On receipt of the initiating message the secondary device shall return the product number ProdNr and the serial number SerNr of the secondary device. If known, also the hardware version and the software version may be returned. The software version should indicate the version number of the currently executed software.The parameters HWVersion and SWVersion in the response message refer to the version designators of the hardware and installed software of the secondary device. If the application is missing or no HW or SW version number is found, then anempty string shall be returned as the HW or SW version number. The empty string is represented as a length field equals 0 and no octets in the TextString field.The response message length shall be less than or equal to the minimum SecondaryPayloadTransmitLength as given in subclause 4.8.1 in [3].Table 6.5.3.4: Return codes for Get Information6.5.4 Clear Active AlarmsTable 6.5.4.1: Elementary procedure Clear Active AlarmsTable 6.5.4.2: Initiating message parameters and format for Clear Active AlarmsTable 6.5.4.3: Response message parameters and format for Clear Active AlarmsDescription:On receipt of the initiating message the secondary device shall first clear all stored alarm information and then return a procedure response message.Table 6.5.4.4: Return codes for Clear Active Alarms6.5.5 Alarm SubscribeTable 6.5.5.1: Elementary procedure Alarm SubscribeTable 6.5.5.2: Initiating message parameters and format for Alarm SubscribeTable 6.5.5.3: Response message parameters and format for Alarm SubscribeDescription:On receipt of the initiating message the secondary device shall start reporting alarms to the primary device.Table 6.5.5.4: Return codes for Alarm Subscribe6.5.6 Self TestTable 6.5.6.1: Elementary procedure Self TestTable 6.5.6.2: Initiating message parameters and format for Self TestTable 6.5.6.3: Response message parameters and format for Self TestDescription:On receipt of the initiating message the secondary device shall execute a test procedure which may include a check of physical and processor functions. The specific tests to be performed are implementation specific, and may include the movement of the adjuster, which shall not exceed +-5% of total available tilting range starting from the current adjuster position.The response message of the secondary device on the procedure provides information on detected faults or, if no fault is detected, with confidence that the operation of the device is normal in all respects.During the test the operational parameters of the device shall not change beyond operationally acceptable limits and on completion all parameters shall be returned to their initial values.In the normal response message, after the self test was executed successfully, the return codes are set to report possible detected faults during the self test. If no faults are detected, this shall be signalled by no return codes following the return code .In the case of a failure response message, the self test could not be executed successfully and the reported return code relates to the inability of the device to perform the requested self-test operation.Table 6.5.6.4: Return codes for Self Test6.5.7 Void6.5.8 Void6.5.9 Read User DataTable 6.5.9.1: Elementary procedure Read User DataTable 6.5.9.2: Initiating message parameters and format for Read User DataNOTE:Number of octets to read shall be less than, or equal toMaxDataTransmit Length minus 1.Table 6.5.9.3: Response message parameters and format for Read User DataDescription:On receipt of the initiating message the secondary device shall send back user specific data stored in a user data area to the primary device.The user data area is intended for storage of user defined data, e.g. inventory information.Table 6.5.9.4: Return codes for Read User Data。
CANSpecificationV2.0版本协议规范
BOSCHCAN SpecificationVersion 2.01991, Robert Bosch GmbH, Postfach 30 02 40, D-70442 StuttgartBOSCHROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 Stuttgart Sep. 1991 page 1RecitalThe acceptance and introduction of serial communication to more and more applications has led to requirements that the assignment of message identifiers to communication functions be standardized for certain applications. These applications can be realized with CAN more comfortably, if the address range that originally has been defined by 11 identifier bits is enlargedTherefore a second message format (’extended format’) is introduced that provides a larger address range defined by 29 bits. This will relieve the system designer from compromises with respect to defining well-structured naming schemes. Users of CAN who do not need the identifier range offered by the extended format, can rely on the conventional 11 bit identifier range (’standard format’) further on. In this case they can make use of the CAN implementations that are already available on the market, or of new controllers that implement both formats.In order to distinguish standard and extended format the first reserved bit of the CAN message format, as it is defined in CAN Specification 1.2, is used. This is done in such a way that the message format in CAN Specification 1.2 is equivalent to the standard format and therefore is still valid. Furthermore, the extended format has been defined so that messages in standard format and extended format can coexist within the same network.This CAN Specification consists of two parts, with•Part A describing the CAN message format as it is defined in CAN Specification 1.2;•Part B describing both standard and extended message formats.In order to be compatible with this CAN Specification 2.0 it is required that a CAN implementation be compatible with either Part A or Part B.NoteCAN implementations that are designed according to part A of this or according to previous CAN Specifications, and CAN implementations that are designed according to part B of this specification can communicate with each other as long as it is not made use of the extended format.CAN Specification 2.0PART A2 BASIC CONCEPTSCAN has the following properties•prioritization of messages•guarantee of latency times•configuration flexibility•multicast reception with time synchronization•system wide data consistency•multimaster•error detection and signalling•automatic retransmission of corrupted messages as soon as the bus is idle again •distinction between temporary errors and permanent failures of nodes and autonomous switching off of defect nodesLayered Structure of a CAN NodeApplication LayerObject Layer- Message Filtering- Message and Status HandlingTransfer Layer- Fault Confinement- Error Detection and Signalling- Message Validation- Acknowledgment- Arbitration- Message Framing- Transfer Rate and TimingPhysical Layer- Signal Level and Bit Representation- Transmission MediumROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 Stuttgart•The Physical Layer defines how signals are actually transmitted. Within this specification the physical layer is not defined so as to allow transmission medium and signal level implementations to be optimized for their application.•The Transfer Layer represents the kernel of the CAN protocol. It presents messages received to the object layer and accepts messages to be transmitted from the object layer. The transfer layer is responsible for bit timing andsynchronization, message framing, arbitration, acknowledgment, error detection and signalling, and fault confinement.•The Object Layer is concerned with message filtering as well as status and message handling.The scope of this specification is to define the transfer layer and the consequences of the CAN protocol on the surrounding layers.MessagesInformation on the bus is sent in fixed format messages of different but limited length (see section 3: Message Transfer). When the bus is free any connected unit may start to transmit a new message.Information RoutingIn CAN systems a CAN node does not make use of any information about the system configuration (e.g. station addresses). This has several important consequences.System Flexibility: Nodes can be added to the CAN network without requiring any change in the software or hardware of any node and application layer.Message Routing: The content of a message is named by an IDENTIFIER. The IDENTIFIER does not indicate the destination of the message, but describes the meaning of the data, so that all nodes in the network are able to decide by MESSAGE FILTERING whether the data is to be acted upon by them or not.Multicast: As a consequence of the concept of MESSAGE FILTERING any number of nodes can receive and simultaneously act upon the same message.Data Consistency: Within a CAN network it is guaranteed that a message is simultaneously accepted either by all nodes or by no node. Thus data consistency of a system is achieved by the concepts of multicast and by error handling.ROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 StuttgartBit rateThe speed of CAN may be different in different systems. However, in a given system the bitrate is uniform and fixed.PrioritiesThe IDENTIFIER defines a static message priority during bus access.Remote Data RequestBy sending a REMOTE FRAME a node requiring data may request another node to send the corresponding DATA FRAME. The DATA FRAME and the corresponding REMOTE FRAME are named by the same IDENTIFIER.MultimasterWhen the bus is free any unit may start to transmit a message. The unit with the message of higher priority to be transmitted gains bus access.ArbitrationWhenever the bus is free, any unit may start to transmit a message. If 2 or more units start transmitting messages at the same time, the bus access conflict is resolved by bitwise arbitration using the IDENTIFIER. The mechanism of arbitration guarantees that neither information nor time is lost. If a DATA FRAME and a REMOTE FRAME with the same IDENTIFIER are initiated at the same time, the DATA FRAME prevails over the REMOTE FRAME. During arbitration every transmitter compares the level of the bit transmitted with the level that is monitored on the bus. If these levels are equal the unit may continue to send. When a ’recessive’ level is sent and a ’dominant’ level is monitored (see Bus Values), the unit has lost arbitration and must withdraw without sending one more bit.SafetyIn order to achieve the utmost safety of data transfer, powerful measures for error detection, signalling and self-checking are implemented in every CAN node.Error DetectionFor detecting errors the following measures have been taken:- Monitoring (transmitters compare the bit levels to be transmitted with the bit levels detected on the bus)- Cyclic Redundancy Check- Bit Stuffing- Message Frame CheckROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 StuttgartPerformance of Error DetectionThe error detection mechanisms have the following properties:- all global errors are detected.- all local errors at transmitters are detected.- up to 5 randomly distributed errors in a message are detected.- burst errors of length less than 15 in a message are detected.- errors of any odd number in a message are detected.Total residual error probability for undetected corrupted messages: less thanmessage error rate * 4.7 * 10-11.Error Signalling and Recovery TimeCorrupted messages are flagged by any node detecting an error. Such messages are aborted and will be retransmitted automatically. The recovery time from detecting an error until the start of the next message is at most 29 bit times, if there is no further error.Fault ConfinementCAN nodes are able to distinguish short disturbances from permanent failures. Defective nodes are switched off.ConnectionsThe CAN serial communication link is a bus to which a number of units may be connected. This number has no theoretical limit. Practically the total number of units will be limited by delay times and/or electrical loads on the bus line.Single ChannelThe bus consists of a single channel that carries bits. From this data resynchronization information can be derived. The way in which this channel is implemented is not fixed in this specification. E.g. single wire (plus ground), two differential wires, optical fibres, etc.Bus valuesThe bus can have one of two complementary logical values: ’dominant’ or ’recessive’. During simultaneous transmission of ’dominant’ and ’recessive’ bits, the resulting bus value will be ’dominant’. For example, in case of a wired-AND implementation of the bus, the ’dominant’ level would be represented by a logical ’0’ and the ’recessive’ level by a logical ’1’. Physical states (e.g. electrical voltage, light) that represent the logical levels are not given in this specification.ROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 StuttgartAcknowledgmentAll receivers check the consistency of the message being received and will acknowledge a consistent message and flag an inconsistent message.Sleep Mode / Wake-upTo reduce the system’s power consumption, a CAN-device may be set into sleep mode without any internal activity and with disconnected bus drivers. The sleep mode is finished with a wake-up by any bus activity or by internal conditions of the system. On wake-up, the internal activity is restarted, although the transfer layer will be waiting for the system’s oscillator to stabilize and it will then wait until it has synchronized itself to the bus activity (by checking for eleven consecutive ’recessive’ bits), before the bus drivers are set to "on-bus" again.In order to wake up other nodes of the system, which are in sleep-mode, a special wake-up message with the dedicated, lowest possible IDENTIFIER (rrr rrrd rrrr; r =’recessive’ d = ’dominant’) may be used.ROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 Stuttgart3 MESSAGE TRANSFER3.1 Frame TypesMessage transfer is manifested and controlled by four different frame types:A DATA FRAME carries data from a transmitter to the receivers.A REMOTE FRAME is transmitted by a bus unit to request the transmission of the DATA FRAME with the same IDENTIFIER.An ERROR FRAME is transmitted by any unit on detecting a bus error.An OVERLOAD FRAME is used to provide for an extra delay between the preceding and the succeeding DATA or REMOTE FRAMEs.DATA FRAMEs and REMOTE FRAMEs are separated from preceding frames by an INTERFRAME SPACE.3.1.1 DATA FRAMEA DATA FRAME is composed of seven different bit fields:START OF FRAME, ARBITRATION FIELD, CONTROL FIELD, DATA FIELD, CRC FIELD, ACK FIELD, END OF FRAME. The DATA FIELD can be of length zero.Interframe Space InterframeSpaceStart of FrameArbitration FieldControl FieldData FieldCRC FieldACK FieldEnd of Frameor Overload FrameDATA FRAMEROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 StuttgartROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 StuttgartSTART OF FRAMEmarks the beginning of DATA FRAMES and REMOTE FRAMEs. It consists of a single ’dominant’ bit.A station is only allowed to start transmission when the bus is idle (see BUS IDLE). All stations have to synchronize to the leading edge caused by START OF FRAME (see ’HARD SYNCHRONIZATION’) of the station starting transmission first.ARBITRATION FIELDThe ARBITRATION FIELD consists of the IDENTIFIER and the RTR-BIT.IDENTIFIERThe IDENTIFIER’s length is 11 bits. These bits are transmitted in the order from ID-10to ID-0. The least significant bit is ID-0. The 7 most significant bits (ID-10 - ID-4) must not be all ’recessive’.RTR BITRemote Transmission Request BITIn DATA FRAMEs the RTR BIT has to be ’dominant’. Within a REMOTE FRAME the RTR BIT has to be ’recessive’.CONTROL FIELDThe CONTROL FIELD consists of six bits. It includes the DATA LENGTH CODE and two bits reserved for future expansion. The reserved bits have to be sent ’dominant’.Receivers accept ’dominant’ and ’recessive’ bits in all combinations.DATA LENGTH CODEThe number of bytes in the DATA FIELD is indicated by the DATA LENGTH CODE.This DATA LENGTH CODE is 4 bits wide and is transmitted within the CONTROL FIELD.Interframe Space Start of FrameIdentifierRTR BitControl FieldARBITRATION FIELDROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 StuttgartCoding of the number of data bytes by the DATA LENGTH CODE abbreviations:d ’dominant’r ’recessive’DATA FRAME: admissible numbers of data bytes: {0,1,....,7,8}.Other values may not be used.r1r0DLC3DLC2DLC1DLC0or CRC FieldArbitration FieldData Field CONTROL FIELDData Length Codereserved bits012345678d d d d d d d d rd d d d r r r r dd d r r d d r r dd r d r d r d r dDLC3DLC2DLC1DLC0Number of DataBytesData Length CodeROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 StuttgartDATA FIELDThe DATA FIELD consists of the data to be transferred within a DATA FRAME. It can contain from 0 to 8 bytes, which each contain 8 bits which are transferred MSB first.CRC FIELDcontains the CRC SEQUENCE followed by a CRC DELIMITER.CRC SEQUENCEThe frame check sequence is derived from a cyclic redundancy code best suited for frames with bit counts less than 127 bits (BCH Code).In order to carry out the CRC calculation the polynomial to be divided is defined as the polynomial, the coefficients of which are given by the destuffed bit stream consisting of START OF FRAME, ARBITRATION FIELD, CONTROL FIELD, DATA FIELD (if present) and, for the 15 lowest coefficients, by 0. This polynomial is divided (the coefficients are calculated modulo-2) by the generator-polynomial:X 15 + X 14 + X 10 + X 8 + X 7 + X 4 + X 3 + 1.The remainder of this polynomial division is the CRC SEQUENCE transmitted over the bus. In order to implement this function, a 15 bit shift register CRC_RG(14:0) can be used. If NXTBIT denotes the next bit of the bit stream, given by the destuffed bit sequence from START OF FRAME until the end of the DATA FIELD, the CRC SEQUENCE is calculated as follows:CRC_RG = 0;// initialize shift register REPEATCRCNXT = NXTBIT EXOR CRC_RG(14);CRC_RG(14:1) = CRC_RG(13:0);// shift left by CRC_RG(0) = 0;// 1 positionData or Control FieldCRC SequenceCRC DelimiterAck FieldCRC FIELDROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 StuttgartIF CRCNXT THENCRC_RG(14:0) = CRC_RG(14:0) EXOR (4599hex);ENDIFUNTIL (CRC SEQUENCE starts or there is an ERROR condition)After the transmission / reception of the last bit of the DATA FIELD, CRC_RG contains the CRC sequence.CRC DELIMITERThe CRC SEQUENCE is followed by the CRC DELIMITER which consists of a single ’recessive’ bit.ACK FIELDThe ACK FIELD is two bits long and contains the ACK SLOT and the ACK DELIMITER.In the ACK FIELD the transmitting station sends two ’recessive’ bits.A RECEIVER which has received a valid message correctly, reports this to the TRANSMITTER by sending a ’dominant’ bit during the ACK SLOT (it sends ’ACK’).ACK SLOTAll stations having received the matching CRC SEQUENCE report this within the ACK SLOT by superscribing the ’recessive’ bit of the TRANSMITTER by a ’dominant’ bit.ACK DELIMITERThe ACK DELIMITER is the second bit of the ACK FIELD and has to be a ’recessive’bit. As a consequence, the ACK SLOT is surrounded by two ’recessive’ bits (CRC DELIMITER, ACK DELIMITER).END OF FRAMEEach DATA FRAME and REMOTE FRAME is delimited by a flag sequence consisting of seven ’recessive’ bits.CRC FieldACK SlotACK DelimiterEnd of FrameACK FIELDROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 Stuttgart3.1.2 REMOTE FRAMEA station acting as a RECEIVER for certain data can initiate the transmission of the respective data by its source node by sending a REMOTE FRAME.A REMOTE FRAME is composed of six different bit fields:START OF FRAME, ARBITRATION FIELD, CONTROL FIELD, CRC FIELD, ACK FIELD, END OF FRAME.Contrary to DATA FRAMEs, the RTR bit of REMOTE FRAMEs is ’recessive’. There is no DATA FIELD, independent of the values of the DATA LENGTH CODE which may be signed any value within the admissible range 0...8. The value is the DATA LENGTH CODE of the corresponding DATA FRAME.The polarity of the RTR bit indicates whether a transmitted frame is a DATA FRAME (RTR bit ’dominant’) or a REMOTE FRAME (RTR bit ’recessive’).Inter SpaceInter Space Start of FrameArbitration FieldControl FieldCRC FieldACK FieldEnd of Frameor Overload FrameREMOTE FRAMEFrame FrameROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 Stuttgart3.1.3 ERROR FRAMEThe ERROR FRAME consists of two different fields. The first field is given by the superposition of ERROR FLAGs contributed from different stations. The following second field is the ERROR DELIMITER.In order to terminate an ERROR FRAME correctly, an ’error passive’ node may need the bus to be ’bus idle’ for at least 3 bit times (if there is a local error at an ’error passive’ receiver). Therefore the bus should not be loaded to 100%.ERROR FLAGThere are 2 forms of an ERROR FLAG: an ACTIVE ERROR FLAG and a PASSIVE ERROR FLAG.1.The ACTIVE ERROR FLAG consists of six consecutive ’dominant’ bits.2.The PASSIVE ERROR FLAG consists of six consecutive ’recessive’ bits unless it is overwritten by ’dominant’ bits from other nodes.An ’error active’ station detecting an error condition signals this by transmission of an ACTIVE ERROR FLAG. The ERROR FLAG’s form violates the law of bit stuffing (see CODING) applied to all fields from START OF FRAME to CRC DELIMITER or destroys the fixed form ACK FIELD or END OF FRAME field. As a consequence, all other stations detect an error condition and on their part start transmission of an ERROR FLAG. So the sequence of ’dominant’ bits which actually can be monitored on the bus results from a superposition of different ERROR FLAGs transmitted by individual stations. The total length of this sequence varies between a minimum of six and a maximum of twelve bits.An ’error passive’ station detecting an error condition tries to signal this by transmission of a PASSIVE ERROR FLAG. The ’error passive’ station waits for six consecutive bitsData FrameError FlagError DelimiterInterframe Space or ERROR FRAMEOverload Framesuperposition of Error FlagsROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 Stuttgartof equal polarity, beginning at the start of the PASSIVE ERROR FLAG. The PASSIVE ERROR FLAG is complete when these 6 equal bits have been detected.ERROR DELIMITERThe ERROR DELIMITER consists of eight ’recessive’ bits.After transmission of an ERROR FLAG each station sends ’recessive’ bits and monitors the bus until it detects a ’recessive’ bit. Afterwards it starts transmitting seven more ’recessive’ bits.3.1.4 OVERLOAD FRAMEThe OVERLOAD FRAME contains the two bit fields OVERLOAD FLAG and OVERLOAD DELIMITER.There are two kinds of OVERLOAD conditions, which both lead to the transmission of an OVERLOAD FLAG:1.The internal conditions of a receiver, which requires a delay of the next DATA FRAME or REMOTE FRAME.2.Detection of a ’dominant’ bit during INTERMISSION.The start of an OVERLOAD FRAME due to OVERLOAD condition 1 is only allowed to be started at the first bit time of an expected INTERMISSION, whereas OVERLOAD FRAMEs due to OVERLOAD condition 2 start one bit after detecting the ’dominant’ bit.At most two OVERLOAD FRAMEs may be generated to delay the next DATA or REMOTE FRAME.End of Frame or Overload Overload DelimiterInter Space or OVERLOAD FRAMEOverload Framesuperposition of Overload FlagsFlagFrame Error Delimiter or Overload DelimiterOVERLOAD FLAGconsists of six ’dominant’ bits. The overall form corresponds to that of the ACTIVE ERROR FLAG.The OVERLOAD FLAG’s form destroys the fixed form of the INTERMISSION field. As a consequence, all other stations also detect an OVERLOAD condition and on their part start transmission of an OVERLOAD FLAG. (In case that there is a ’dominant’ bit detected during the 3rd bit of INTERMISSION locally at some node, the other nodes will not interpret the OVERLOAD FLAG correctly, but interpret the first of these six ’dominant’ bits as START OF FRAME. The sixth ’dominant’ bit violates the rule of bit stuffing causing an error condition).OVERLOAD DELIMITERconsists of eight ’recessive’ bits.The OVERLOAD DELIMITER is of the same form as the ERROR DELIMITER. After transmission of an OVERLOAD FLAG the station monitors the bus until it detects a transition from a ’dominant’ to a ’recessive’ bit. At this point of time every bus station has finished sending its OVERLOAD FLAG and all stations start transmission of seven more ’recessive’ bits in coincidence.3.1.5 INTERFRAME SPACINGDATA FRAMEs and REMOTE FRAMEs are separated from preceding frames whatever type they are (DATA FRAME, REMOTE FRAME, ERROR FRAME, OVERLOAD FRAME) by a bit field called INTERFRAME SPACE. In contrast, OVERLOAD FRAMEs and ERROR FRAMEs are not preceded by an INTERFRAME SPACE and multiple OVERLOAD FRAMEs are not separated by an INTERFRAME SPACE.INTERFRAME SPACEcontains the bit fields INTERMISSION and BUS IDLE and, for ’error passive’ stations, which have been TRANSMITTER of the previous message, SUSPEND TRANSMISSION.ROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 StuttgartBOSCHROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 StuttgartSep. 1991Part A - page 19For stations which are not ’error passive’ or have been RECEIVER of the previous message:For ’error passive’ stations which have been TRANSMITTER of the previous message:INTERMISSIONconsists of three ’recessive’ bits.During INTERMISSION no station is allowed to start transmission of a DATA FRAME or REMOTE FRAME. The only action to be taken is signalling an OVERLOAD condition.BUS IDLEThe period of BUS IDLE may be of arbitrary length. The bus is recognized to be free and any station having something to transmit can access the bus. A message, which is pending for transmission during the transmission of another message, is started in the first bit following INTERMISSION.The detection of a ’dominant’ bit on the bus is interpreted as a START OF FRAME.SUSPEND TRANSMISSIONAfter an ’error passive’ station has transmitted a message, it sends eight ’recessive’bits following INTERMISSION, before starting to transmit a further message or recognizing the bus to be idle. If meanwhile a transmission (caused by another station)starts, the station will become receiver of this message.FrameBus IdleINTERFRAME SPACEIntermission FrameFrameBus IdleINTERFRAME SPACEIntermissionFrameSuspend TransmissionInterframe SpaceBOSCHROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 Stuttgart Sep. 1991Part A - page 20 3.2 Definition of TRANSMITTER / RECEIVERTRANSMITTERA unit originating a message is called “TRANSMITTER” of that message. The unit stays TRANSMITTER until the bus is idle or the unit loses ARBITRATION.RECEIVERA unit is called “RECEIVER” of a message, if it is not TRANSMITTER of that message and the bus is not idle.Transmitter / ReceiverBOSCHROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 Stuttgart Sep. 1991Part A - page 21 4 MESSAGE VALIDATIONThe point of time at which a message is taken to be valid, is different for the transmitter and the receivers of the message.Transmitter:The message is valid for the transmitter, if there is no error until the end of END OF FRAME. If a message is corrupted, retransmission will follow automatically and according to prioritization. In order to be able to compete for bus access with other messages, retransmission has to start as soon as the bus is idle.Receivers:The message is valid for the receivers, if there is no error until the last but one bit of END OF FRAME.Message Validation5 CODINGBIT STREAM CODINGThe frame segments START OF FRAME, ARBITRATION FIELD, CONTROL FIELD, DATA FIELD and CRC SEQUENCE are coded by the method of bit stuffing. Whenever a transmitter detects five consecutive bits of identical value in the bit stream to be transmitted it automatically inserts a complementary bit in the actual transmitted bit stream.The remaining bit fields of the DATA FRAME or REMOTE FRAME (CRC DELIMITER, ACK FIELD, and END OF FRAME) are of fixed form and not stuffed. The ERROR FRAME and the OVERLOAD FRAME are of fixed form as well and not coded by the method of bit stuffing.The bit stream in a message is coded according to the Non-Return-to-Zero (NRZ) method. This means that during the total bit time the generated bit level is either ’dominant’ or ’recessive’.ROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 Stuttgart6 ERROR HANDLING6.1 Error DetectionThere are 5 different error types (which are not mutually exclusive):•BIT ERRORA unit that is sending a bit on the bus also monitors the bus. A BIT ERROR has tobe detected at that bit time, when the bit value that is monitored is different from the bit value that is sent. An exception is the sending of a ’recessive’ bit during thestuffed bit stream of the ARBITRATION FIELD or during the ACK SLOT. Then no BIT ERROR occurs when a ’dominant’ bit is monitored. A TRANSMITTER sendinga PASSIVE ERROR FLAG and detecting a ’dominant’ bit does not interpret this asa BIT ERROR.•STUFF ERRORA STUFF ERROR has to be detected at the bit time of the 6th consecutive equal bitlevel in a message field that should be coded by the method of bit stuffing.•CRC ERRORThe CRC sequence consists of the result of the CRC calculation by the transmitter.The receivers calculate the CRC in the same way as the transmitter. A CRCERROR has to be detected, if the calculated result is not the same as that received in the CRC sequence.•FORM ERRORA FORM ERROR has to be detected when a fixed-form bit field contains one ormore illegal bits.•ACKNOWLEDGMENT ERRORAn ACKNOWLEDGMENT ERROR has to be detected by a transmitter whenever it does not monitor a ’dominant’ bit during the ACK SLOT.6.2 Error SignallingA station detecting an error condition signals this by transmitting an ERROR FLAG. For an ’error active’ node it is an ACTIVE ERROR FLAG, for an ’error passive’ node it is a PASSIVE ERROR FLAG. Whenever a BIT ERROR, a STUFF ERROR, a FORM ERROR or an ACKNOWLEDGMENT ERROR is detected by any station, transmission of an ERROR FLAG is started at the respective station at the next bit.Whenever a CRC ERROR is detected, transmission of an ERROR FLAG starts at the bit following the ACK DELIMITER, unless an ERROR FLAG for another condition has already been started.ROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 Stuttgart7 FAULT CONFINEMENTWith respect to fault confinement a unit may be in one of three states:•’error active’•’error passive’•’bus off’An ’error active’ unit can normally take part in bus communication and sends an ACTIVE ERROR FLAG when an error has been detected.An ’error passive’ unit must not send an ACTIVE ERROR FLAG. It takes part in bus communication but when an error has been detected only a PASSIVE ERROR FLAG is sent. Also after a transmission, an ’error passive’ unit will wait before initiating a further transmission. (See SUSPEND TRANSMISSION)A ’bus off’ unit is not allowed to have any influence on the bus. (E.g. output drivers switched off.)For fault confinement two counts are implemented in every bus unit:1) TRANSMIT ERROR COUNT2) RECEIVE ERROR COUNTThese counts are modified according to the following rules:(note that more than one rule may apply during a given message transfer)1.When a RECEIVER detects an error, the RECEIVE ERROR COUNT will beincreased by 1, except when the detected error was a BIT ERROR during the sending of an ACTIVE ERROR FLAG or an OVERLOAD FLAG.2.When a RECEIVER detects a ’dominant’ bit as the first bit after sending an ERRORFLAG the RECEIVE ERROR COUNT will be increased by 8.3.When a TRANSMITTER sends an ERROR FLAG the TRANSMIT ERROR COUNTis increased by 8.Exception 1:If the TRANSMITTER is ’error passive’ and detects an ACKNOWLEDGMENTROBERT BOSCH GmbH, Postfach 30 02 40, D-70442 Stuttgart。
协议解析方案英文
Protocol Parsing SolutionIntroductionThe Protocol Parsing Solution is a software development approach that enables the interpretation and analysis of various protocols used in computer networks. This document aims to provide a comprehensive overview of this solution, discussing its key components, benefits, and implementation considerations.Key Components1.Protocol Specification: The first step in the protocol parsing solutionis to define the protocol specifications. This includes identifying the structure and format of the protocol messages, as well as the expected behavior andcommunication flow. The protocol specification is typically defined using aformal language, such as the Extended Backus-Naur Form (EBNF), which allows for clear and unambiguous definition of the protocol grammar.2.Parsing Engine: The parsing engine is responsible for interpretingthe protocol messages according to the defined protocol specification. Itprocesses the incoming network data, extracts relevant information from the protocol messages, and updates the internal state of the system accordingly.The parsing engine typically uses a variety of techniques, such as finite state machines, regular expressions, and context-free grammars, to analyze andparse the protocol messages.3.Message Validation: Message validation is an essential part of theprotocol parsing solution. It ensures that the received messages adhere to the defined protocol specification and are free from any errors or anomalies. The validation process involves checking the syntactic correctness, semanticintegrity, and conformance to the protocol rules. Any invalid or malformedmessages are rejected to maintain the reliability and integrity of the system.4.Data Extraction: The protocol parsing solution also includes theability to extract relevant data from the parsed protocol messages. This caninclude retrieving specific fields or parameters, calculating statistics or metrics, or performing more complex operations on the extracted data. The extracted data can be used for various purposes, such as monitoring networkperformance, generating reports, or triggering specific actions based onpredefined conditions.5.Logging and Monitoring: To facilitate troubleshooting and analysis,the protocol parsing solution should include logging and monitoringcapabilities. This allows the system to record the processed messages, anyvalidation errors or warnings, and other relevant information. Additionally, themonitoring component enables real-time monitoring of the protocol traffic,providing insights into the network behavior and performance.Benefits•Standardization: The protocol parsing solution brings standardization to the interpretation and analysis of various protocols. Bydefining the protocol specifications in a formal language, the solution ensures consistent and accurate interpretation of the protocol messages acrossdifferent systems and applications.•Efficiency: With an efficient parsing engine and optimized algorithms, the protocol parsing solution can handle high volumes of network trafficwithout compromising performance. This enables the real-time processing and analysis of the protocol messages, providing timely insights and actions.•Flexibility: The protocol parsing solution can be easily adapted to support different protocols by creating and integrating new protocolspecifications into the parsing engine. This flexibility allows for the seamless addition of new protocols or the modification of existing ones withoutsignificant changes to the overall solution architecture.•Reliability: By validating the received messages against the protocol specifications, the solution ensures that only valid and conforming messages are processed. This helps to prevent potential vulnerabilities, errors, ormalicious attacks that may result from the handling of invalid or malformedmessages.•Extensibility: The protocol parsing solution provides a foundation for implementing additional features and functionalities. For example, it can beextended to support protocol-specific optimizations, encryption or securitymechanisms, or integration with other systems or frameworks.Implementation ConsiderationsWhen implementing the protocol parsing solution, the following considerations should be taken into account:•Protocol Complexity: Different protocols may vary in complexity, with some protocols requiring more advanced parsing techniques orspecialized processing algorithms. The implementation should consider thecomplexity of the protocols that need to be supported and ensure that theparsing engine can handle them effectively.•Performance Optimization: To achieve optimal performance, the implementation should focus on using efficient data structures, algorithms, and processing techniques. This includes minimizing memory usage, reducingparsing overhead, and optimizing the handling of large or fragmented protocol messages.•Error Handling and Resilience: The protocol parsing solution should have robust error handling mechanisms to handle unexpected orerroneous situations. This includes proper handling of validation errors,graceful recovery from parsing failures, and appropriate logging and reporting of errors.•Security Considerations: As the protocol parsing solution deals with network traffic, security considerations are paramount. The implementation should include measures to mitigate potential security risks, such as inputvalidation, sanitization of parsed data, and protection against malicious attacks or exploits.•Testing and Validation: Comprehensive testing and validation are crucial to ensuring the correctness and reliability of the protocol parsingsolution. This includes both unit testing of individual parsing components and integration testing with real-world protocol traffic.ConclusionThe Protocol Parsing Solution provides a reliable and efficient approach to interpret and analyze various protocols used in computer networks. With its key components, such as the protocol specification, parsing engine, message validation, data extraction, and logging capabilities, the solution enables accurate protocol parsing, validation, and analysis. By considering implementation considerations, such as protocol complexity, performance optimization, error handling, security, and testing, a robust and scalable protocol parsing solution can be developed to meet specific requirements and provide valuable insights into network behavior.。
iec 20000 信息技术服务管理体系 标准条款
iec 20000 信息技术服务管理体系标准条款IEC 20000是一种国际标准,它规定了信息技术服务管理体系(ITSM)的要求和最佳实践。
该标准的目标是帮助组织确保其IT服务能够满足客户的需求,并持续提供持续改进。
以下是IEC 20000中一些重要的标准条款的相关参考内容。
1. 范围和应用(Scope and Application):组织应制定和实施一个符合IEC 20000标准要求的信息技术服务管理体系。
该体系应适用于所有提供IT服务的活动,包括服务策略、设计、过渡、运营和持续改进。
2. 规定和实施(Specification and Implementation):组织应明确定义和制定其IT服务管理体系的范围、政策和目标。
同时,组织还应根据客户需求和期望,制定适当的服务级别协议(SLA)和其他相关文件。
3. 规划和实施服务管理过程(Planning and Implementing Service Management Processes):组织应制定和实施一系列服务管理过程,包括服务请求管理、问题管理、变更管理、事件管理、配置管理、发布管理、供应商管理等。
这些过程应具备明确的目标、策略、要求和指标。
4. 服务交付(Service Delivery):组织应确保其提供的IT服务符合SLA和其他相关协议和要求。
服务交付过程涵盖了服务运营、服务过渡和服务策略。
组织应确保服务的提供和交付的持续性、可靠性、高效性和增值性。
5. 关系与协作(Relationship and Collaboration):组织应与客户、供应商和其他利益相关方保持积极、建设性的合作关系。
组织应建立有效的沟通渠道,确保客户需求得到及时回应,并能够与供应商合作确保服务提供的可靠性和质量。
6. 流程监控与改进(Process Monitoring and Improvement):组织应建立和实施监控和评估IT服务管理体系的持续改进机制。
NFCForum-TS-Type-4-Tag_2.0
Type 4 Tag Operation Technical SpecificationNFC Forum TMT4TOP 2.0 NFCForum-TS-Type-4-Tag_2.02010-11-18RESTRICTIONS ON USEThis specification is copyright © 2005-2010 by the NFC Forum, and was made available pursuant to a license agreement entered into between the recipient (Licensee) and NFC Forum, Inc. (Licensor) and may be used only by Licensee, and in compliance with the terms of that license agreement (License). If you are not the Licensee, you may read this Specification, but are not authorized to implement or make any other use of this specification. However, you may obtain a copy of this Specification and implementation rights at the following page of Licensor's website: /specs/spec_license after entering into and agreeing to such license terms as Licensor is then requiring. On the date that this specification was downloaded by Licensee, the non-implementation terms of that license were as follows:1.LICENSE GRANT.Licensor hereby grants Licensee the right, without charge, to copy (for internal purposes only) and share this Specification with Licensee's members, employees and (to the extent related to Licensees use of this Specification) consultants. This license grant does not include the right to sublicense, modify or create derivative works based upon the Specification.2.NO WARRANTIES.THE SPECIFICATION IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, ACCURACY, COMPLETENESS AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL LICENSOR, ITS MEMBERS OR ITS CONTRIBUTORS BE LIABLE FOR ANY CLAIM, OR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE SPECIFICATION.3.THIRD PARTY RIGHTS.Without limiting the generality of Section 2 above, LICENSOR ASSUMES NO RESPONSIBILITY TO COMPILE, CONFIRM, UPDATE OR MAKE PUBLIC ANY THIRD PARTY ASSERTIONS OF PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS THAT MIGHT NOW OR IN THE FUTURE BE INFRINGED BY AN IMPLEMENTATION OF THE SPECIFICATION IN ITS CURRENT, OR IN ANY FUTURE FORM. IF ANY SUCH RIGHTS ARE DESCRIBED ON THE SPECIFICATION, LICENSOR TAKES NO POSITION AS TO THE VALIDITY OR INVALIDITY OF SUCH ASSERTIONS, OR THAT ALL SUCH ASSERTIONS THAT HAVE OR MAY BE MADE ARE SO LISTED.4.TERMINATION OF LICENSE.In the event of a breach of this Agreement by Licensee or any of its employees or members, Licensor shall give Licensee written notice and an opportunity to cure. If the breach is not cured within thirty (30) days after written notice, or if the breach is of a nature that cannot be cured, then Licensor may immediately or thereafter terminate the licenses granted in this Agreement.5.MISCELLANEOUS.All notices required under this Agreement shall be in writing, and shall be deemed effective five days from deposit in the mails. Notices and correspondence to the NFC Forum address as it appears below. This Agreement shall be construed and interpreted under the internal laws of the United States and the Commonwealth of Massachusetts, without giving effect to its principles of conflict of law.NFC Forum, Inc.401 Edgewater Place, Suite 600Wakefield, MA, USA 01880ContentsContents1Introduction (1)1.1Objectives (1)1.2Purpose (1)1.3Applicable Documents or References (1)1.4Administration (2)1.5Name and Logo Usage (2)1.6Intellectual Property (2)1.7Special Word Usage (2)1.8Notational Conventions (3)1.8.1Representation of Numbers (3)1.9Acronyms and Definitions (3)1.10Glossary (4)2Management of the Memory Structure (5)3Framing / Transmission Handling (6)4Command Set (7)4.1Activation of the ISO-DEP Protocol (7)4.2High Level Command Set (7)4.2.1Format of C-APDU (7)4.2.2Format of R-APDU (8)5NDEF Detection and Access (9)5.1NDEF Management (9)5.1.1Version Treatment (10)5.1.2TLV blocks (11)5.2NDEF Storage (14)5.3Life Cycle (14)5.3.1INITIALIZED State (15)5.3.2READ/WRITE State (15)5.3.3READ-ONLY State (15)5.4Command Sequence Description (15)5.4.1NDEF Detection Procedure (16)5.4.2NDEF Tag Application Select Procedure (16)5.4.3Capability Container Select Procedure (17)5.4.4Capability Container Read Procedure (18)5.4.5NDEF Select Procedure (19)5.4.6NDEF Read Procedure (20)5.4.7NDEF Update Procedure (21)5.4.8State Changes (22)5.5Coexistence of Type 4 Tag Operation Version 1.0 and Version 2.0 (23)A.Empty NDEF Message (24)B.Example of NDEF Tag Application (25)C.Example Command Flow (27)C.1Detection of NDEF Message (27)C.2Read Data from the NDEF File (30)C.3Write Data in the NDEF file (30)FiguresD.Example of Mapping Version 1.0 Detection (32)E.Revision History (34)FiguresFigure 1: Length Field Formats (11)Figure 2: Life Cycle with State Changes (22)Figure 3: NDEF Tag Application for Mapping Version 2.0 Example (25)TablesTable 1: Command Set Overview (7)Table 2: Format of C-APDU (8)Table 3: Format of R-APDU (8)Table 4: Data Structure of the Capability Container File (9)Table 5: Handling of the Mapping Document Version Numbers (10)Table 6: Defined TLV Blocks (11)Table 7: Data Structure of the Proprietary File (13)Table 8: Data Structure of the NDEF File (14)Table 9: NDEF Tag Application Select – C-APDU (17)Table 10: NDEF Tag Application Select – Detailed C-APDU Field Description (17)Table 11: NDEF Tag Application Select – Detailed R-APDU Field Description (17)Table 12: Capability Container Select Command – C-APDU (17)Table 13: Capability Container Select Command – Detailed C-APDU Field Description (18)Table 14: Capability Container Select Command – Detailed R-APDU Field Description (18)Table 15: ReadBinary Command – C-APDU (18)Table 16: ReadBinary Command – Detailed C-APDU Field Description (19)Table 17: ReadBinary Command – Detailed R-APDU Field Description (19)Table 18: NDEF Select Command – C-APDU (19)Table 19: NDEF Select Command – Detailed C-APDU Field Description (20)Table 20: NDEF Select Command – Detailed R-APDU Field Description (20)Table 21: NDEF Update – C-APDU (21)Table 22: NDEF Update – Detailed C-APDU Field Description (21)Table 23: NDEF Update – Data Structure – R-APDU (21)Table 24: CC File Example (26)Table 25: NDEF File Example (26)Table 26: Revision History (34)1 IntroductionThis specification is part of the NFC Forum documentation about tag types that an NFC Forum Device needs to support in Reader/Writer mode.This specification documents how an NFC Forum Device SHALL operate an NFC Forum Type 4 Tag Platform. This is not a specification of the NFC Forum Type 4 Tag Platform itself.1.1 ObjectivesThe purpose of this specification is to document the requirements and to specify, with a set of rules and guidelines, the NFC Forum Device operation and management of the Type 4 Tag Platform.This specification assumes that the Collision Detection and Device Activation activities have been performed as documented in [DIGITAL] and [ACTIVITY].This specification also defines data mapping and how the NFC Forum Device detects, reads, and writes NDEF data into the Type 4 Tag Platform in order to achieve and maintain interchangeability and interoperability.1.2 PurposeThe purpose of this specification is to document the requirements and to specify, with a set of rules and guidelines, the NFC Forum Device operation and management of a Type 4 Tag Platform.This specification also defines the data mapping and how the NFC Forum Device detects, reads, and writes NDEF data into the Type 4 Tag Platform in order to achieve and maintain interchangeability and interoperability.1.3 Applicable Documents or References[ACTIVITY] NFC Activity Specification,Latest versionNFC Forum[DIGITAL] NFC Digital Protocol Technical Specification,Version 1.0,NFC Forum[ISO/IEC_7816-4] ISO/IEC 7816-4:2005 Identification cards - Integrated circuit cards -Organization, security and commands for interchange, Second edition,January 15, 2005[NDEF] NFC Data Exchange Format (NDEF),Version 1.0NFC Forum[RFC2119] Key words for use in RFCs to Indicate Requirement Levels, RFC 2119S. Bradner,March 1997Harvard University[T4TOP_V1.0] Type 4 Tag Operation Technical Specification,Version 1.0,NFC Forum1.4 AdministrationThe NFC Forum Data Exchange Format Specification is an open specification supported by the Near Field Communication Forum, Inc., located at:401 Edgewater Place, Suite 600Wakefield, MA, 01880Tel.: +1 781-876-8955Fax: +1 781-610-9864/The Devices technical working group maintains this specification.1.5 Name and Logo UsageThe Near Field Communication Forum’s policy regarding the use of the trademarks NFC Forum and the NFC Forum logo is as follows:•Any company MAY claim compatibility with NFC Forum specifications, whether a member of the NFC Forum or not.•Permission to use the NFC Forum logos is automatically granted to designated members only as stipulated on the most recent Membership Privileges document, during the period of time for which their membership dues are paid.•Member’s distributors and sales representatives MAY use the NFC Forum logo in promoting member’s products sold under the name of the member.•The logo SHALL be printed in black or in color as illustrated on the Logo Page that is available from the NFC Forum at the address above. The aspect ratio of the logo SHALL be maintained, but the size MAY be varied. Nothing MAY be added to or deleted from thelogos.•Since the NFC Forum name is a trademark of the Near Field Communication Forum, the following statement SHALL be included in all published literature and advertising material in which the name or logo appears:NFC Forum and the NFC Forum logo are trademarks of the Near Field Communication Forum.1.6 Intellectual PropertyThe Type 4 Tag Operation Specification conforms to the Intellectual Property guidelines specified in the NFC Forum's Intellectual Property Rights Policy, as outlined in the NFC Forum Rules of Procedure.1.7 Special Word UsageThe key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in [RFC2119].1.8 Notational Conventions1.8.1 Representation of NumbersThe following conventions and notations apply in this document unless otherwise stated. •Binary numbers are represented by strings of digits 0 and 1 shown with the most significant bit (msb) on the left, the least significant bit (lsb) on the right, and a “b” added at the end.Example: 11110101b•Hexadecimal numbers are represented by using the numbers 0 to 9 and the characters A – F, and adding an “h” at the end. The Most Significant Byte (MSB) is shown on the left and the Least Significant Byte (LSB) on the right.Example: F5h•Decimal numbers are represented as is (without any trailing character).Example: 2451.9 Acronyms and Definitions1.10 GlossaryISO-DEP ProtocolThe half-duplex block transmission protocol as defined in [DIGITAL].NFC Forum DeviceA device that supports the following modus operandi: Initiator, Target, andReader/Writer. It may also support Card Emulator. In this document, the NFC ForumDevice is always using the Reader/Writer modus operandi (for more information, see[DIGITAL]).NFCDevVNoMapping version number implemented in the NFC Forum Device.T4VNoMapping version numbers implemented in the Type 4 Tag Platform.Type 4 Tag PlatformA legacy platform supporting a subset of a Technology (also called Technology Subset),which uses a particular subset of NFC – Type A technology or NFC- Type B technology, including anticollision (for more information, see [DIGITAL]).Management of the Memory Structure2 Management of the Memory StructureThe Type 4 Tag Platform contains at least the NDEF Tag Application. The NDEF Tag Application contains the NDEF messages on a Type 4 Tag Platform that provides a file system composed of at least two EF files (see [ISO/IEC_7816-4]): the Capability Container file (CC file, see Section 5.1), and the NDEF file (NDEF file, see Section 5.2).Concerning the EF files, the byte with offset value equal to zero is the Most Significant Byte (MSB) and the byte with the highest offset value is the Lost Significant Byte (LSB).As defined by this document, if not otherwise specified, the bit and byte ordering when defining packets and messages follows the big-endian byte order.Framing / Transmission Handling3 Framing / Transmission HandlingThis section describes the framing (also called packet structures) and the transmission handling of the NFC Forum Device.[RQ_T4T_FTH_001] The NFC Forum Device SHALL comply with the sequence format, the bit level coding, the frame format, the data and payload format, and the command set as defined in [DIGITAL], including the activation sequence of the ISO-DEP Protocol as defined in [ACTIVITY].[RQ_T4T_FTH_002] The NFC Forum Device SHALL comply with the ISO-DEP Protocol for exchanging the commands and responses defined in Section 4.4 Command SetThis section describes the command set of the NFC Forum Device.4.1 Activation of the ISO-DEP Protocol[RQ_T4T_CSE_001] To send any command belonging to the high-level command set (see Section 4.2), the NFC Forum Device activates the ISO-DEP Protocol as described in [ACTIVITY].4.2 High Level Command Set[RQ_T4T_CSE_002] The commands that SHALL be supported by the NFC Forum Device are listed in Table 1 and are described in [ISO/IEC_7816-4].The format of the commands and the relative responses of the command set are described in Section 4.2.1 and Section 4.2.2. To detect and access the NFC Forum data, the specific settings of the command and response fields are described in Section 5.[RQ_T4T_CSE_003] The commands of the NFC Forum Device SHALL support short length fields.The command APDUs (C-APDU) are the commands sent from the NFC Forum Device, and the response APDUs (R-APDU) are the responses to a specific command received by the NFC Forum Device.NOTE[ISO/IEC_7816-4] defines a whole range of commands, where only a few are relevant for a Type 4 Tag Platform implementation.Table 1: Command Set OverviewCommand/Response DescriptionSelect Selection of applications, or filesReadBinary Read data from fileUpdateBinary Update (erase and write) data to fileNOTE This specification provides means of reading and writing the NDEF file. It does not cover the personalization of the Type 4 Tag Platform and modifications of accessrights. It is assumed that the Type 4 Tag Platform has already been personalized asexpected.4.2.1 Format of C-APDUThis section describes the format of the C-APDU that is used in this specification.[RQ_T4T_CSE_004] The length fields Lc and Le, as well as the data field, are optional. Short length fields (one byte long) SHALL be supported.Table 2 describes the format of the C-APDU. In Section 5, the structure of Table 2 is used to describe the different C-APDUs.Table 2: Format of C-APDUData bytes (Lc bytes)field[RQ_T4T_CSE_005]Class Byte: SHALL be set to 00h (i.e., no secure messaging). Instruction Byte: Indicates the command to process.[RQ_T4T_CSE_006]Parameter Byte 1: SHALL be set to 00h if no value is specified for instruction use.[RQ_T4T_CSE_007]Parameter Byte 2: SHALL be set to 00h if no value is specified for instruction use.[RQ_T4T_CSE_008, RQ_T4T_CSE_009] Data Field Length Lc: Optional. If it is present, it SHALL contain the number of bytes in the data field of the command and it SHALL NOT be zero.Data Field: Optional.Expected Response Length Le: Optional. If present, the response R-APDU (see Section 4.2.2) contains the number of expected bytes.4.2.2 Format of R-APDUThis section describes the format of the R-APDU that is used in this specification.Table 3 describes the format of the R-APDU. In Section 5, the structure of Table 3 is used to describe the different R-APDUs.Table 3: Format of R-APDUResponse Body: Optional. It carries the data of the R-APDU.[RQ_T4T_CSE_010] Response Status Bytes: Bytes SW1 and SW2 are mandatory.5 NDEF Detection and AccessThis section describes how the NFC-Forum-defined data are stored and accessed by the NFC Forum Device.5.1 NDEF Management[RQ_T4T_NDA_001] To detect and access NFC-Forum-defined data, the NFC Forum Device retrieves and uses the Capability Container (CC) file contained inside the NDEF Tag Application. The CC file contains management data and it is stored inside a read-only EF file (see[ISO/IEC_7816-4]). The NFC Forum Device SHALL accept NDEF Tag Applications having a CC file with a file identifier equal to E103h.[RQ_T4T_NDA_002] The data structure of the CC file is described in Table 4. The CC file SHALL contain the following fields from offset 0000h to 0006h: CCLEN, Mapping Version, MLe, and MLc. One NDEF File Control TLV SHALL be present at offset 0007h. Zero, one, or more TLV blocks MAY be present from offset 000Fh.Unless specified otherwise, the term NDEF file in the following sections refers to the NDEF file indicated by the NDEF File Control TLV stored at offset 0007h in the CC file.Table 4: Data Structure of the Capability Container FileOffset (bytes) Size(bytes)Field Remarks0000h 2 CCLEN(bytes) Indicates the size of this capability container (including this field).[RQ_T4T_NDA_003] Valid CCLEN values are between 000Fh and FFFEh. The values between FFFFh and 0000h-000Eh are RFU.0002h 1 MappingVersion Indicates the mapping specification version it is compliant to (see Section 5.1.1). The most significant nibble (the 4 most significant bits) SHALL indicate the major version number, and the least significant nibble (the 4 least significant bits) SHALL indicate the minor version number.0003h 2 MLe (bytes);Maximum R-APDU datasize Defines the maximum data size that can be read from the Type 4 Tag using a single ReadBinary command. [RQ_T4T_NDA_004] The valid values are MLe = 000Fh-FFFFh.The values between 0000h-0000Eh are RFU.0005h 2 MLc (bytes);Maximum C-APDU datasize Defines the maximum data size that can be sent to the Type 4 Tag using a single UpdateBinary command. [RQ_T4T_NDA_005] The valid range is MLc = 0001h-FFFFh bytes.The value 0000h is RFU.Offset (bytes) Size(bytes)Field Remarks0007h 8 NDEF FileControl TLV [RQ_T4T_NDA_006] TLV block that contains information to control and manage the NDEF file (see Section 5.1.2.1)000Fh - TLV Blocks Zero, one, or more TLV blocks MAY start from offsetFh.5.1.1 Version TreatmentThe Mapping Version field in the CC contains the version of the applied mapping document to the NFC Forum Type 4 Tag Platform. The mapping document version SHALL be indicated with two numbers: major number version (most significant nibble) and minor version number (least significant nibble).This document specifies the: major version number equal to 2h and the minor version number equal to 0h (i.e., Mapping Version 2.0).If the NFC Forum Device implements Mapping Version 1.0 (see [T4TOP_V1.0]) in addition to this version of the specification, the NFC Forum Device SHALL be compliant with Section 5.5. [RQ_T4T_NDA_007] The handling rules of the different mapping document version numbers applied to the Type 4 Tag Platform (called T4VNo) and the one implemented in the NFC Forum Device (called NFCDevVNo) is explained in the 4 cases of Table 5.Table 5: Handling of the Mapping Document Version NumbersNo. Version Number Case Handling Rules1 If major NFCDevVNo is equal tomajor T4VNo, andminor NFCDevVNo is bigger thanor equal to minor T4VNo The NFC Forum Device SHALL access the Type 4 Tag and SHALL use all features of the applied mapping document to this Type 4 Tag Platform.2 If major NFCDevVNo is equal tomajor T4VNo, andminor NFCDevVNo is smaller thanminor T4VNo Possibly not all features of the Type 4 Tag Platform can be accessed. The NFC Forum Device SHALL use all its features and SHALL access this Type 4 Tag Platform.3 If major NFCDevVNo is smallerthan major T4VNo Incompatible data format. The NFC Forum Device cannot understand the Type 4 Tag Platform data. The NFC Forum Device SHALL reject this Type 4 Tag Platform.4 If major NFCDevVNo is biggerthan major T4VNo The NFC Forum Device MAY implement the support for previous versions of this specification in addition to its main version. If the NFC Forum Device implements this version and the previous version, it SHALL access the Type 4 Tag Platform. Otherwise, if the NFC Forum Device does not support the previous version, it SHALL reject the Type 4 Tag Platform.5.1.2 TLV blocksA TLV block consists of one to three fields:[RQ_T4T_NDA_008] T The tag field identifies the type of the TLV block and consists of a single byte encoding a number from 00h to FEh. The tag field values from 00h to 03h and from 06h to FFh are RFU by the NFC Forum.[RQ_T4T_NDA_009, RQ_T4T_NDA_010] L The length field provides the size in bytes of the value field. It has two different formats composed of one or three bytes. The NFC Forum Device SHALL implement both length field formats as shown in Figure 1. However, depending on the tag field value, the length field may not be present.• One-byte format: The NFC Forum Device SHALL use the one-byte format to code the lengthof the value field between 00h and FEh bytes. The NFC Forum Device SHALL interpret this byte as a cardinal if the value is between 00h and FEh. If it contains FFh, the NFC Forum Device SHALL interpret the value as a flag that specifies that the length field is composed of more than one byte.• Three consecutive bytes format: The NFC Forum Device SHALL use this format to code thelength of the value field between 00FFh and FFFEh bytes. The first byte is assumed to be a flag equal to FFh, which indicates that two more bytes are present. The NFC Forum Device SHALL interpret those two bytes as a word. The NFC Forum Device SHALL interpret thisword as a cardinal if the value is between 00FFh and FFFEh. The value FFFFh is RFU.1 byte format3 bytes formatFigure 1: Length Field Formats• [RQ_T4T_NDA_011, RQ_T4T_NDA_012] V If the length field is equal to 00h or there is nolength field, the value field is not present (i.e. the TLV block is empty). If there is a length field and it indicates a length of the value field N bigger than zero (N>0), the value field consists of N consecutive bytes.Table 6 lists the TLV blocks specified by this document that are described in the following sections.Table 6: Defined TLV BlocksTLV block name Tag FieldValue Short DescriptionNDEF File Control TLV04h Contains control information concerning the EF file containing the NDEF message Proprietary File ControlTLV05h Contains control information concerning a “Proprietary file”, which is an EF file containing proprietary data[RQ_T4T_NDA_013] NFC Forum Devices SHALL ignore and jump over those TLV blocks that make use of reserved tag field values. To jump over a TLV block with reserved tag field values, the NFC Forum Device SHALL read the length field to understand the length of the value field.NOTE Future definitions of TLV blocks composed of only the tag field are not backward compatible with this NFC Forum specification.5.1.2.1 NDEF File Control TLV[RQ_T4T_NDA_014] The NDEF File Control TLV is always present inside the CC file and it provides control information about the EF file containing the NDEF message (see Section 5.2). The NFC Forum Device SHALL be able to read and process the NDEF File Control TLV. The NFC Forum Device SHALL check that the CC file contains an NDEF File Control TLV at offset 0007h.[RQ_T4T_NDA_015] The encoding of the 3 fields of NDEF File Control TLV are:•T is equal to 04h (see Table 6).•L is equal to 06h.•V is composed of 6 bytes that specify size, read access conditions, write access conditions, and the EF identifier of the EF file containing the NDEF message. The 6 bytes are encoded as follows:•[RQ_T4T_NDA_016] File Identifier, 2 bytes. Indicates a valid NDEF file. The valid ranges are 0001h to E101h, E104h to 3EFFh, 3F01h to 3FFEh and 4000h to FFFEh. The values 0000h, E102h, E103h, 3F00h and 3FFFh are reserved (see [ISO/IEC_7816-4]) and FFFFh is RFU.•[RQ_T4T_NDA_017] Maximum NDEF file size, 2 bytes. Maximum size in bytes of the NDEF file. This size does not reflect the size of the contained NDEF message as such but rather the size of the file containing the NDEF message. The valid range is 0005h toFFFEh. The values 0000h-0004h and FFFFh are RFU.•[RQ_T4T_NDA_018] NDEF file read access condition, 1 byte:•00h indicates read access granted without any security•01h to 7Fh and FFh are RFU•80h to FEh are proprietary•[RQ_T4T_NDA_019] NDEF file write access condition, 1 byte:•00h indicates write access granted without any security•FFh indicates no write access granted at all (read-only)•01h to 7Fh are RFU•80h to FEh are proprietaryNOTE The maximum size of the NDEF file is limited by the Offset and Length Le fields of ReadBinary and NDEF Update C-APDUs (see Table 15, Table 16, Table 21, andTable 22). The maximum size of the NDEF file is reduced to 7FFFh + FFh = 80FEhbytes.5.1.2.2 Proprietary File Control TLVThe Proprietary File Control TLV contains control information about the Proprietary file, which is an EF file that contains proprietary information (see below). The CC file contains zero, one, or more Proprietary File Control TLV blocks. The NFC Forum Device SHALL be able toread/process the TLV blocks. The NFC Forum Device MAY ignore the data contained in the Proprietary File Control TLV. The encoding of the 3 fields of Proprietary TLV are:•T is equal to 05h (see Table 6).•L is equal to 06.•V is composed of 6 bytes that specifies size, read access conditions and write access conditions, and EF identifier of the EF file containing the proprietary data. The 6 bytes are encoded as follows:•File Identifier, 2 bytes. Indicates a valid Proprietary file. The valid ranges are 0001h to E101h, E104h to 3EFFh, 3F01h to 3FFEh, and 4000h to FFFEh. The values 0000h,E102h, E103h, 3F00h, and 3FFFh are reserved (see [ISO/IEC_7816-4]) and FFFFh isRFU.•Maximum Proprietary file size, 2 bytes. Maximum size in bytes of the Proprietary file.The valid range is 0003h-FFFEh. The value FFFFh is RFU.•Proprietary file read access condition, 1 byte:•00h indicates read access granted without any security•01h to 7Fh and FFh are RFU•80h to FEh are proprietary•Proprietary file write access condition, 1 byte:•00h indicates write access granted without any security•FFh indicates no write access granted at all (read-only)•01h to 7Fh are RFU•80h to FEh are proprietaryThe proprietary data is stored inside an EF file (see [ISO/IEC_7816-4]) called “Proprietary file” using the data structure described in Table 7. An NDEF Tag Application can have zero, one, or more Proprietary files.Table 7: Data Structure of the Proprietary FileOffset (bytes) Size(bytes)Field Remarks0000h 2 PLEN [bytes] The Proprietary Length field (PLEN) indicates the sizeof the proprietary data stored in the Proprietary file.Valid PLEN values are between 0000h and FFFEh.FFFFh is RFU.0002h x proprietary data proprietary dataNOTE x indicates the size of the proprietary data.。
美国知识产权短语按章节整理
Chapter1amorphous character无形性abstract concept of property抽象的财产概念real property不动产tort law侵权法the metaphysics of the law法律玄学statutory法定的the statute成文法patented item专利产品process方法combination组合justification正当理由antitrust government regulation反垄断法及政府法规the foundations of patent protection专利保护的基础the Statute of Monopolies《垄断法》,又称《专卖条约》guild行会,互助会exclusive rights独占权,专有权royal privilege皇家特权importation patent引进型专利patentee专利权人royal prerogative王权、君主特权an incentive theory of patents专利的激励理论inventive and importation patents发明专利和引进型专利meritorious有价值的Revolution独立战争Articles of Confederation《联邦条例》(美国1781年至1789年的第一部宪法)Constitutional Convention制宪会议a Constitutional patent power保障专利的宪法性权力more rigid Constitutional constraints更加刚性的宪法性约束the trademark statute商标法pre-empt优先于pre-emption优先适用权has no effect at all无任何效力revisions修订validity of patents专利的合法性the Patent Office has been vested with专利局被授予a patent application satisfies专利申请符合codified成文法典United State Code《美国法典》Design and plant patents外观设计专利及植物专利Application申请Grants授予Use使用Challenge异议a new,useful,and nonobvious process or product一种具有新颖性、实用性以及非显而易见性的方法或产品the patent application专利申请specification说明书claims 权利要求书asserted 主张的prior state of the art现有技术patentable可授予专利的disclosure公开,披露accrue产生issued授予trade secrets商业秘密unfair competition不正当竞争search检索ascertain确定examiner审查员be in agreement达成一致(合意)similar or identical类似的或者相同的interference proceeding抵触审查程序priority优先权the Patent Office Board of Interference Proceedings专利局抵触审查委员会amend修正patent term专利权期限exempted使免除(责任)infringement侵权renew续展expiration期满public domain公有领域make,use,or sell生产、使用、销售exploit利用,实施working实施compulsory licensing强制许可be sold outright卖断non-exclusively非排他性许可on a geographic basis以地域为界implications暗指violation违反authorization授权charge of infringement侵权诉讼unwarranted不当,无正当理由novelty新颖性utility实用性nonobviousness非显而易见性litigated诉争的re-examine复审invalid无效的declaratory judgement确权判决controversy争论pro赞成anti反对the “bargain”or contract theory“交易”或契约论the “natural rights”theory自然权利论bargain theory交易理论premise前提enumerates逐条陈述all title to全部产权obligation义务utility实益a taking剥夺the standard of patentablility专利性标准optimum最好的、最适宜的、最有利的chapter2the subject matter of patents专利的客体ideas v. applications发明构思与专利申请products or processes产品或方法plant patents植物专利design patents外观设计专利patentable可取得专利的,可授予专利的laypersons世(俗)人、外行人the application of an idea构思的应用law of nature自然法则the statutory scheme法律的保护机制manufactures制品a composition of matter物质的组合intangible无形的new and useful improvement新颖、实用的改进naturally-occurring-substance自然产生的物质printed-matter印刷品bars限制business methods商业方法mere chemical formulas 纯粹的化学公式systems of bookkeeping记账系统fundamental truths,original causes,motives,methods of calculation基本事实,起因,动机,计算方法mental step思维步骤the application of an abstract principle抽象原理的应用apportions these interests利益分配products of nature自然产品concentrated or purified products ofnature人工浓缩或提纯的自然产品an ingenious way独创方法chemical process化学方法derivative衍生物mathematical method数学方法abstract principle抽象的原理new life forms新的生命形式new technology新技术eligible符合条件的compositions of matter物质的组合patent申请专利manufacture制品structure,rather than its content,that is inventive是结构具有创造性,而不是其内容inventive characteristics创造性machine机器capture采用mathematical manifestation数学证明mathematical formulas(or “algorithms”)数学公式(或算法)mathematical algorithm数学算法test for patentablility of a process方法的专利性检验标准physical phenomenon物理现象jeopardize危及the program计算机程序Semiconductor Chip Protection Act半导体芯片保护法Orphan drug act罕见病药物法FDA美国食品及药物管理局a working requirement实施发明的要求utility patents实用专利plant patents植物专利design patents外观设计专利utility 实用性distinctiveness独特性nonobviousness非显而易见性asexually reproducing plant无性繁殖植物novelty,ornamentality,and nonobviousness新颖性、装饰性和非显而易见性the “ordinary observer”test“普通观察者”检验方法ordinary designer普通设计人员the ordinary intelligent man具有普通智力的人an exclusively functional designe具有唯一功能的外观设计chapter3statutory bars法定限制anticipation 在先公开a grace period of 12 months 12个月的宽限期application priority申请优先权printed publication,public use,sale印刷出版、公开使用、销售the principle of substantial identity实质等同原则public use公开使用a senior inventor先发明人junior inventor后发明人the availability of a documentary description by prior patent or publication在现有专利或出版物中可查阅到对该专利的文字性描述at issue争议中的publicly disseminated or accessible公开传播或广为知悉interference proceedings抵触审查程序conflicting claims相互抵触的权利要求concealment隐藏diligence勤勉foreign anticipation国外在先公开oral publication口头公开published已公布those knowledgeable in the particular art具备特定行业专业知识人员prior use在先使用a prior invention在先发明judicial construction司法解释active or continuous积极或持续的publicly available公开获得atomic energy information原子能信息references to prior publications现有出版物中的参考文献an“enabling disclosure”可实施的公开性文件enable a person having ordinary skill in the appropriate art to duplicate the invention使所属领域的普通技术人员能够重现发明a specification说明书the total combination of prior art and references现有技术和参考文献的完整结合describe描述,阐明substantial and realized anticipation实质性的和有意识的在先公开substantially identical实质相同rough similarity大致相似that which infringes,if later,anticipates,if earlier在后为侵权在先为在先公开substantiality test of infringement侵权的实质性检验标准unconscious or accidental无意识的或者偶然的a count 事项,特征be so intentional or noticed可意识到的或者被注意到statutory bar法定限制disabling使(在法律上)无资格的,这里指丧失专利性the double patenting bar重复授予专利限制the patent policy favoring speedy disclosure鼓励尽快公布发明的专利政策without divulging the secrets of the invention未透露发明的秘密the policies of statutory bar法定限制的立法目的pirate剽窃file申请专利the patent monopoly专利垄断权application priority申请优先权publicity and limited disclosures公开性和有限公布the effective life of a patent专利的有效期public use公开使用patent prosecution process专利申请程序limited or restricted限于一定范围内或秘密使用be pledged to confidentiality保证保守秘密experimental试验性使用a balancing process衡平方法the experimentation exception实验性例外the principle of substantial identity实质等同原则jeopardy危险Priority depends upon three factors:the time of conception,the time of reduction to practice,and the use of due diligence in pursuing both patent protection and perfection of the discovery。
7.5.3.2.2 工程规范-IATF16949条款解读
7 支持7.5 形成文件的信息7.5.3.2.2 工程规范组织应有形成文件的过程,描述基于顾客要求的进度进行的所有顾客工程标准/规范及相关修订的评审、分发和实施。
当工程标准/规范更改导致产品设计更改时,请参见ISO 9001第8.3.6条的要求。
当工程标准/规范更改导致产品实现过程更改时,请参见ISO 9001第8.5.6.1条的要求。
组织应保留每项更改在生产中实施日期的记录。
实施应包括更新过的文件。
应当在收到工程标准/规范更改通知后10个工作日内完成评审。
注:当设计记录引用了这些规范,或这些规范影响了生产件批准过程的文件,例如:控制计划、风险分析(如FMEA)等时,这些标准/规范的更改需要对顾客的生产件批准记录进行更新。
7 Support7.5 Documented information7.5.3.2.2 Engineering specificationsThe organization shall have a documented process describing the review,distribution,and implementation of all customer engineering standards/specifications and related revisions based on customer schedules,as required.When an engineering standard/specification change results in a product design change,refer to the requirements in ISO 9001,Section 8.3.6. When an engineeringstandard/specification change results in a product realization process change,refer to the requirements in Section 8.5.6.1. The organization shall retain a record of the date on which each change is implemented in production. Implementation shall include updated documents.Review should be completed within 10 working days of receipt of notification of engineering standards/specifications changes.Note: A change in these standards/specifications may require an updated record of customer production part approval when these specifications are referenced on the design record or ifthey affect documents of the production part approval process,such as control plan,risk analysis(such as FMEAs),etc.工程规范(工程图、检验标准、工程规范、工程变更等)要求应当在收到工程标准/规范更改通知后10个工作日内完成评审,什么时候落实执行由评审结果和客户沟通执行。
specification
• Environmental considerations and requirements • Quality control requirements, acceptance sampling, inspections(安全检查), acceptance criteria (验收标准) • Person, office, or agency responsible for enforcement of the specification. • Completion and delivery. • Provisions for rejection, rehearing (复查), corrective measures
Sometimes the term specification is used in connection with a data sheet (or spec sheet). A data sheet describes the technical characteristics of an item or product. It can be published by a manufacturer to help people choose products or to help use the products. A data sheet is not a technical specification as described in this article.
Guidance and content
• Descriptive title, number, identifier, etc. of the specification • Date of last effective revision and revision designation • A logo or trademark to indicate the document copyright, ownership and origin • Table of Contents (TOC), if the document is long • Person, office, or agency responsible for questions on the specification, updates, and deviations. • The significance, scope or importance of the specification and its intended use.
SpecificationRelease
10 Operation and maintenance aspects....................................................................................................... 12
11 Functions and information flow ........................................................................................................ 1312
8.4
Stored in the SIM .........................................................................................................................................1211
5 General architecture............................................................................................................................. 109
8 Information storage................................................................................................................................ 10
8.1
执行标准 英文
执行标准英文As a Baidu Wenku document creator, it is important to understand the concept and significance of "executive standards" in various industries. Executive standards, also known as implementation standards, are a set of criteria and guidelines that define the required specifications, procedures, and quality requirements for products, services, or processes. These standards play a crucial role in ensuring consistency, safety, and quality in the production and delivery of goods and services.In today's globalized and highly competitive business environment, the need for standardized processes and products is more important than ever. Executive standards provide a common framework for organizations to adhere to, regardless of their size or industry. By following these standards, companies can ensure that their products and services meet the expectations of customers, regulators, and other stakeholders.One of the key benefits of executive standards is the promotion of interoperability and compatibility. When different products or systems adhere to the same set of standards, they can work together seamlessly, leading to improved efficiency and reduced costs. For example, in the technology industry, adherence to standards such as USB, Bluetooth, or Wi-Fi ensures that devices from different manufacturers can communicate and work together effectively.In addition to promoting interoperability, executive standards also contribute to risk management and regulatory compliance. By following established standards, organizations can mitigate the risk of product failures, safety hazards, and legal issues. For example, in the manufacturing industry, adherence to quality management standards such as ISO 9001 can help companies identify and address potential risks in their processes, leading to improved product quality and customer satisfaction.Furthermore, executive standards play a critical role in promoting innovation and continuous improvement. By providing a baseline for quality and performance, standards encourage organizations to strive for excellence and seek new ways to enhance their products and services. For instance, in the automotive industry, adherence to standardssuch as ISO 26262 for functional safety drives the development of advanced safety technologies in vehicles, ultimately benefiting consumers and society as a whole.It is important to note that executive standards are not static and are regularly updated to reflect changes in technology, industry best practices, and regulatory requirements. As a result, organizations must stay informed about the latest developments in standards relevant to their operations and be prepared to adapt their processes and products accordingly.In conclusion, executive standards are essential for ensuring consistency, quality, and safety across various industries. By adhering to these standards, organizations can promote interoperability, manage risks, comply with regulations, drive innovation, and ultimately deliver value to their customers. As a Baidu Wenku document creator, it is important to educate and inform readers about the significance of executive standards and encourage their adoption in the pursuit of excellence and competitiveness.。
产品执行标准 英文
产品执行标准英文Product Execution Standard。
The product execution standard is a set of guidelines and procedures that ensure the smooth and efficient implementation of a product from concept to market. It encompasses various aspects such as product design, development, testing, production, marketing, and sales. Adhering to a standard helps to maintain quality, consistency, and customer satisfaction. In this document, we will outline the key components of a product execution standard and its importance in the overall product development process.1. Product Design。
The first step in the product execution standard is the product design phase. This involves conceptualizing the product, creating detailed specifications, and conducting feasibility studies. The design phase also includes market research, identifying customer needs, and defining the product's unique selling points. It is crucial to ensure that the product design aligns with the company's brand image and meets the target market's expectations.2. Development and Testing。
技术规程发布后的流程
技术规程发布后的流程英文回答:The process of issuing technical specifications involves the following steps:1. Development: The technical specification is developed by a group of experts in the relevant field. The experts work together to define the requirements of the specification.2. Review: The technical specification is reviewed by a panel of experts. The panel ensures that the specification is complete, accurate, and consistent with other relevant standards.3. Approval: The technical specification is approved bya regulatory body. The regulatory body ensures that the specification meets the requirements of the relevant laws and regulations.4. Publication: The technical specification ispublished in a journal or other public forum. Thepublication ensures that the specification is available to all interested parties.5. Implementation: The technical specification is implemented by manufacturers and other users. The implementation ensures that products and services meet the requirements of the specification.6. Maintenance: The technical specification is maintained by the relevant regulatory body. The maintenance ensures that the specification remains current and relevant.中文回答:技术规程发布后的流程通常如下:1. 制定: 由相关领域的专家小组制定技术规程,明确技术规程的要求。
tsg 21-2016
TSG 21-2016IntroductionTSG 21-2016 is a technical specification developed by the Technical Specifications Group (TSG) in the year 2016. This document aims to provide a detailed description and guidelines for a particular technical aspect. Let’s explore the key points covered in this specification.ScopeThe scope of TSG 21-2016 is to define the requirements and guidelines for a specific technical process or product. It outlines the objectives, functional requirements, and performance criteria to be met. This technical specification ensures consistent implementation and compatibility among different systems or products.ObjectivesThe primary objective of TSG 21-2016 is to establish a standardized approach for a specific technical aspect. This standardization ensures interoperability and compatibility across different platforms and applications. By defining the requirements and guidelines, TSG 21-2016 aims to facilitate seamless integration and reliable operation of systems or products.Functional RequirementsTSG 21-2016 outlines the functional requirements that must be met by the systems or products conforming to this specification. These requirements specify the desired behavior, features, and capabilities of the system or product. By adhering to these functional requirements, manufacturers can ensure that their products provide the expected functionality to the end-users.Performance CriteriaTSG 21-2016 also establishes performance criteria for the systems or products conforming to this specification. These criteria define the expected performance levels, including speed, accuracy, capacity, and reliability. By meeting these performance criteria, manufacturers can guarantee that their products provide the necessary performance to meet the user’s requirements.Implementation GuidelinesTo facilitate the implementation of TSG 21-2016, this specification provides detailed guidelines. These guidelines outline the recommended approaches,methodologies, and best practices for implementing the requirements specified in this document. Following these guidelines ensures that the systems or products conform to the standard and operate cohesively with other compatible systems.Testing and ComplianceTSG 21-2016 includes provisions for testing the systems or products against the requirements specified in this specification. Manufacturers need to perform rigorous testing to ensure that their products meet the functional requirements and performance criteria defined in this document. Compliance with this specification demonstrates the adherence to the standard and ensures the interoperability of the products within the specified domain.ConclusionTSG 21-2016 is a technical specification that defines the requirements, guidelines, and performance criteria for a specific technical aspect. By adhering to this specification, manufacturers can ensure the interoperability and compatibility of their systems or products. The implementation guidelines and testing provisions facilitate standardized implementation and reliable operation of the products. Compliance with TSG 21-2016 guarantees that the systems or products meet the functional requirements and performance criteria as defined by the technical specification.。
执行标准英文
执行标准英文As a Baidu Wenku document creator, it is important to understand the significance of executing standards in various industries. The term "executing standards" refersto the specific criteria and guidelines that need to be followed in order to ensure the quality, safety, and efficiency of a particular process, product, or service. In this document, we will explore the concept of executing standards in the context of different industries anddiscuss the importance of adhering to these standards.In the manufacturing industry, executing standards play a crucial role in ensuring the quality and safety of products. These standards encompass a wide range of factors, including materials, production processes, and product specifications. By adhering to these standards, manufacturers can guarantee that their products meet the necessary quality and safety requirements, thereby building trust with consumers and maintaining a positive reputationin the market.Similarly, in the healthcare industry, executing standards are essential for maintaining the highest levelof patient care and safety. Healthcare professionals are required to adhere to a variety of standards and guidelines, ranging from clinical protocols and treatment procedures to medical record-keeping and patient confidentiality. By following these standards, healthcare providers can ensure that patients receive the best possible care and that their rights and privacy are protected.In the field of construction and engineering, executing standards are critical for ensuring the structuralintegrity and safety of buildings, infrastructure, andother projects. These standards cover aspects such as building codes, design specifications, construction techniques, and materials quality. By adhering to these standards, construction companies and engineering firms can minimize the risk of structural failures and ensure thelong-term safety and functionality of their projects.Moreover, in the realm of information technology,executing standards are vital for ensuring the security and interoperability of software, hardware, and networking systems. Standards such as ISO/IEC 27001 for information security management and IEEE 802.11 for wireless networking are essential for organizations to safeguard their data and systems, as well as to ensure seamless communication and compatibility between different IT components.Overall, executing standards are indispensable in various industries, as they serve as a benchmark for quality, safety, and efficiency. By adhering to these standards, organizations and professionals can demonstrate their commitment to excellence, build trust with stakeholders, and contribute to the overall advancement and reliability of their respective industries.In conclusion, executing standards are an integral part of ensuring quality, safety, and efficiency in diverse industries. Whether in manufacturing, healthcare, construction, or information technology, adhering to these standards is crucial for upholding the highest standards of professionalism and integrity. By recognizing theimportance of executing standards and striving to meet and exceed them, organizations and professionals can contribute to the advancement and success of their industries.。
方案明细英文
Title: Detailed Program SpecificationIntroduction:This document outlines the detailed program specification for a project. The purpose of this document is to provide a comprehensive overview of the project, including its objectives, scope, deliverables, and timelines. It also describes the technical specifications, resources required, and potential risks associated with the project.1. Objectives:The primary objective of this project is to develop a software solution that enhances the efficiency and effectiveness of a specific business process. The software should streamline workflow, improve communication, and centralize data management. Additionally, it should be user-friendly and scalable to accommodate future growth.2. Scope:The scope of this project includes the analysis, design, development, and implementation of the software solution. It involves creating a user-friendly interface, integrating with existing systems, and ensuring data security. The project also includes testing, training, and post-implementation support.3. Deliverables:The key deliverables of this project are as follows:- Detailed functional and technical requirements- System design documentation- User interface mock-ups- Source code and documentation - Test plans and test cases- User training materials- Implementation and deployment plan4. Timeline:The project timeline is divided into several phases:- Requirements gathering and analysis: 2 weeks- System design: 2 weeks- Development and coding: 6 weeks- Testing and quality assurance: 2 weeks- User training: 1 week- Implementation and deployment: 1 week5. Technical Specifications:The software solution will be developed using the following technologies and tools:- Programming languages: [Specify languages, e.g., Java, Python]- Development framework: [Specify framework, e.g., , Django] - Database management system: [Specify system, e.g., MySQL, Oracle]- User interface: [Specify tools, e.g., HTML, CSS, JavaScript]- Integration requirements: [Specify integration protocols, e.g., API, web services]6. Resources Required:The successful implementation of this project requires the following resources: - Project manager- Business analysts- Software developers- UI/UX designers- Database administrators- Quality assurance testers7. Risks and Mitigation:Potential risks associated with this project include:- Change in business requirements - Technical issues or system compatibility- Delays in deliverablesTo mitigate these risks, regular communication and collaboration among the project team and stakeholders are essential. Project milestones should be well-defined, and contingency plans should be in place to address unexpected challenges.Conclusion:This document has provided a detailed program specification for the project, outlining the objectives, scope,deliverables, timeline, technical specifications, resources required, and risk mitigation strategies. It serves as a roadmap for successful project execution and ensures that all stakeholders are aligned with the project goals. By following this specification, the project team will be able to develop a high-quality software solution that meets the business requirements efficiently.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Specification and Implementation of Secure DistributedCollaboration SystemsAuthor NameAuthor AffiliationStreet NameCityABSTRACTWe present the design and development of a policy-based framework for the construction of distributed runtime envi-ronments for secure collaboration systems from their speci-fications.We identify the important requirements of security and coordination in role-based collaboration systems,and then develop a specification model to support expression of these requirements.The specifications for a collaboration system are interfaced with a policy-driven middleware to build the distributed runtime environment for it.We present here the core set of facilities of this middleware to support secure management of activities,roles,and objects in a system. INTRODUCTIONThe focus of this paper is on the design and development of a policy-based framework for building secure CSCW systems from their high level specifications.Our main focus is on two important requirements in CSCW systems:coordination and security.The nature of coordination among the participants can range from tightly coupled real-time interactions,as in online conferencing and shared whiteboard environments,to loosely coupled interactions,which are largely characterized by workflow environments.Coordination policies enforce synchronization and precedence constraints on user activi-ties.Security policies on the other hand address requirements related to secrecy and integrity of the shared data,confiden-tiality,auditability and non-repudiation of users’actions,and the integrity of operations to ensure that only authorized par-ticipants perform certain sensitive tasks.Such requirements are specified as which users are allowed to join certain col-laborative activities,what privileges are assigned to them, which tasks can be executed by a user,and which user nodes within a distributed collaboration environment can be trusted. In our approach,from the specification of a collaboration system we derive policies for coordination and security,us-ing which a middleware constructs a distributed execution environment.This kind of policy-based approach decouples the coordination and security aspects of a collaboration from the implementation of its functionalities.This makes it easy for different policies to be plugged in,allowingflexibility in designing a collaboration environment.Several factors mo-tivate this approach.Collaboration environments often span multiple administrative domains.The requirements of a col-laboration system may evolve with changes in administrative policies and user experience.With advances in technology, new devices,tools or artifacts may need to be integrated into a collaboration environment.This can warrant a reconfigura-tion of the system with changes in the governing policies. The primary focus of this paper is on developing techniques for constructing secure distributed collaboration environments from their high level specifications capturing coordination and security requirements.The objective of this work is to support rapid construction of a secure collaboration environ-ment from its specification.We present a role-based model for specifying a collaboration environment and describe the security architecture of a middleware to construct the target environment from these specifications.Only few systems, such as COCA[12]and DCWPL[3],have taken this kind of approach of building a collaboration environment by cou-pling its high level specifications with a middleware.In con-trast to our work,these systems do not have a security model for supporting meta-policies for role management,discre-tionary access control for an object,and active security poli-cies like dynamic“separation of duty”constraints.Another limitation of these systems is that all user nodes are trusted. Our approach sharply contrasts with the commonly used ap-proaches for building computer based collaboration systems. In the past,a large number of collaboration systems have been built by extending a single-user application to multiuser shared execution model[10].Another commonly used ap-proach is to build an environment by composition of objects (such as JavaBeans)or library modules[1].Usually,such constructions are not driven by any formal model for secu-rity and coordination requirements.There is also WfMC (Workflow Management Coalition)effort to develop speci-fication languages for enterprise-wide workflow systems,but presently these efforts are far from any practical realization.The important contributions of this paper are as follows: Identification of the important security requirements in role-based collaboration systems and development of a speci-fication model that supports expression of these require-ments for CSCW applications.Trust relationships among various entities in the application can be expressed to de-termine which users can be trusted to manage an activity. This specification model also supports definition of nested activities that can be created dynamically.Design of a policy-driven middleware and its runtime struc-tures for securely managing activities,roles,and objects in a CSCW application.This requires derivation of policy modules from the specifications and their secure distribu-tion by the the runtime system.Protocols for secure interactions among users,role man-agers,and object managers.These protocols support dif-ferent paradigms of interactions between a user and shared objects.The following section presents our model of role-based col-laboration systems,which is followed by the section identi-fying the important security and coordination requirements in this model.Next,we present our specification model.The section titled“Middleware Execution Environment and Ser-vices”presents the details of how policy based components are created and orchestrated by the middleware to manage activities in a collaboration.Finally,we present the related work and conclusions.COLLABORATION MODELIn our collaboration model,an activity is an abstraction of a shared task.An activity defines how a group of users coop-erate towards some common objectives by performing their individual tasks on a set of shared objects.It represents a pro-tection domain and a scope for the roles,objects,and privi-leges in a collaboration.In an activity,users are represented by their roles,and roles within an activity are assigned priv-ileges to perform certain tasks.We term these role specific tasks as operations.An operation can be method invocations on shared objects,synchronization actions,or activity man-agement actions.Besides the application-defined roles in an activity,there are several administrative roles or meta-roles, like Creator and Owner of an activity.An activity can be structured hierarchically,consisting of multiple nested con-current activities.An activity template specifies a generic collaboration pattern among a set of roles using some shared objects.Activities are instantiated from templates.Any number of instances of a template can be dynamically and concurrently created.In a collaboration environment,users may be distributed over a network,and they may be associated with different admin-istrative domains.In a typical situation,a user participates in a collaboration by joining a role in an activity.A role op-eration can result in a sequence of interactions between the invoker and a set of shared objects.This represents a session in the context of that role operation.Our model assumes that there can be different interaction mechanisms like RMI or cached objects.REQUIREMENTS FOR SECURE COLLABORATIONA collaboration system is required to provide services to sup-port coordination and communication among users,manage-ment of shared objects,and enforcement of security policies. The traditional concerns of confidentiality and integrity of shared data are naturally present in collaboration systems. However,access rights,privileges,and ownership of objects may change in collaborative environments as activities progress. Privacy can also become an issue when one may need to hide the identity of one participant from another.In such cases, the presence of a participant may only be visible through his/her role or a pseudonym in a role but not by name.We identify here several important security requirements for col-laboration systems,which need to be supported by our role based specification model and the runtime environment. Separation of DutiesTo eliminate conflict-of-interest,the principle of“separation of duties”requires that an individual should not be allowed to perform all critical functions in a business transaction.We require that the specification model supports the following kinds of constraints as identified in[15,13].The notion of static separation of duty requires that two given roles should never be assigned to the same person or,in some cases,to persons related to each other.Another example in this cat-egory is user-user conflict,which disallows two particular users to be assigned to the same role.Similarly,user-role conflict specifies that certain users should never be assigned to a given role.The concept of dynamic separation of duty re-quires that two given roles cannot be concurrently activated by the same person.In object based separation of duty,a user may not access the same object through two different roles.The operational separation of duty disallows a single participant in a role from performing all operations related toa business transaction.Role Admission and Activation ConstraintsThe security policies determine who should be admitted ina role,when a role should be activated or deactivated,how many members should be present in a role,or which roles a user is allowed to join or activate concurrently.Role admis-sion and activation constraints are motivated by three impor-tant requirements of a dynamic collaboration environment: user authorization,role participants’coordination,and sepa-ration of duties.Role admission constraints are required to specify the condi-tions that need to be satisfied before a user can join a role. These constraints can be based on:a list of users allowed to join a role,a list of those who should never be admitted, previous qualifications,role membership cardinality,or oc-currence of certain events.Role activation constraints are conditions that have to be sat-isfied when a participant performs a role operation.When a user is simultaneously admitted to multiple roles,there are various models for the set of privileges to be given to that user.The obvious option is that the user acquires the union of all the privileges.However,in some cases the roles may conflict,and the user’s privileges may need to be reduced for “separation of duties”.Conversely,in some cases a user may be required to be present in multiple roles to be able to in-voke some role operation–this we call“role coupling”.One way to express these requirements is through activation con-straints.Multiple User Participation in a RoleCoordination between participants in different roles within an activity is referred to as inter-role coordination,which is mostly supported in role based coordination systems[12,3]. However,intra-role coordination is required when multiple users in a role need to coordinate among themselves.Intra-role coordination can be based on independent or coop-erative models of role operation execution by a participant. In independent participation,a role specific task responsibil-ity is assumed individually by a participant,irrespective of the presence of the other participants.For example,every participant in the conference reviewer role has to indepen-dently write a review.In this model,a participant can have an independent workspace of private objects,and these ob-jects may be made public at later coordination points.On the other hand,when the participants in a role are assum-ing task responsibilities cooperatively,they need to coordi-nate among themselves.For example,in a hospital patient ward,several nurses may be present in the role of nurse-on-duty.However,some medical procedure on a patient may be needed to be performed only once by any of the mem-bers.Another type of cooperation may require a task to be performed jointly in a coordinated manner by all of the par-ticipants of a role,like jointly opening a bank vault.More-over,in some collaboration environments there may be no coordination among user activities,e.g.in an unrestricted whiteboard sharing.Dynamic Access Control PoliciesAccess control policies may depend on the runtime context of a collaboration environment.For example,only during a specified period of time,certain operations may be per-formed.History based access control policies,like various “separation of duties”constraints,fall into this category.The privileges assigned to a user in a role may change with time due to the actions executed by other participants.Sometimes permissions may change due to the user’s own actions,such as making afinal agreement on a document,after which the creator of the document may not have the right to modify it. In such cases,dynamic security policies are required,which depend on execution states of a collaboration.Dynamic ac-cess control requirements are addressed by Dewan and Shen [4]with a primary focus on shared GUI based co-editing ap-plications.Moreover,in a collaboration environment,objects may move from one object server to another or from one activity to an-other,possibly across administrative domains.In such cases, security requirements may change based on the object’s lo-cation,and access control policies may need to be updated at runtime.Meta-level Security PoliciesAn activity requires many administrative security policies: who can define new activities or instantiate an activity;dur-ing the lifetime of an activity,who can change various poli-cies and enforce additional constraints on shared objects.These meta level administrative policies need to be specified based on meta roles,such as Creator and Owner for various entities like activities,roles,and objects.Policies need to be speci-fied on who can join or leave these meta roles.Management responsibilities of these meta roles may need to be delegated to different entities for runtime administration.System level Security RequirementsDistributed Trust Management:In collaboration systems, activities and participants are inherently distributed.An ac-tivity may have participants from different administrative do-mains.In such a case,a single domain may not be trusted to manage all the activities.In a distributed collaboration,all users’nodes may not be equally trusted to maintain shared objects or enforce coordination and security policies.The runtime system needs to enforce a trust model among these distributed nodes.Managing the activities at a globally trusted server has the pitfalls of single point of failure and single point of attack,and may not scale well for large collabora-tion environments.System Integrity:All interactions between the users,roles and shared objects must be authenticated to ensure integrity. For authentication,a secure name service needs to uniquely identify all the entities of the runtime middleware.If pseudo-nyms are used to conceal a user’s identity,the name service needs to securely map pseudonyms to the user.Secure Distribution of Policies:Management services are needed for enforcing various policies like role admission and activation,activity creation and distribution,object access control and storage,and user-object interaction.These poli-cies must be enforced at trusted sites,and need to be securely distributed to these sites.Secure Event Service To enforce coordination and dynamic security policies,user actions may need to be communicated to participating entities.All events generated by these ac-tions need to be distributed securely and only to authorized entities.The event service needs to ensure integrity and con-fidentiality of events for secure collaboration.Object Storage and Access Control:Shared objects must be located at trusted and reliable sites.As new activities are created access control policies for objects may need to be updated by authorized entities.If access control depends on coordination constraints,the object server may need to verify object method preconditions.SPECIFICATION MODELWe have devised an XML schema,which facilitates collabo-ration specifications.Here,rather than using XML,we use a notation that is simple to read and conceptually easy to fol-low.We use an example to illustrate our specification model.Figure 1shows an example of a course activity,named chem-istry ,an instance of the Course template.This course activ-ity contains three roles:Instructor ,Assistant ,and Student .It also has a nested midterm examination activity,an instance of the Examination activity template.Members of the In-structor and the Assistant roles are admitted to the Grader role in the midterm activity.A grader can perform opera-tions on the GradeSheet object in the chemistry course as well as the objects in the midterm examination.Members of the Student role of the chemistry course join the Exami-nee role in the midterm examination.Each examinee creates an instance of the ExamSession activity template to take the exam.An exam-session activity contains the roles Candidate and Checker .Only the examinee creating this activity can be admitted to the Candidate role.References to two objects –ExamPaper and AnswerBook –are passed as parameters to an exam session activity.A single ExamPaper object is shared by all the sessions.On the other hand,a new AnswerBook object is created for each exam session.Static Role AssignmentLegend: Dynamic Role Assignment Parameter ObjectsFigure 1:Hierarchical Structuring of Collaborative Ac-tivitiesAn activity template is specified in terms of roles,opera-tions,and object types.A skeleton of the Course activity template is shown in Figure 2.The entities encapsulated in the scope of an activity template can be referenced by a fully qualified name.In the Course template used in the example of Figure 1,the Assistant role has the fully qualified name Course.Assistant .When an instance chemistry of the Coursetemplate is created,it is named Course.chemistry ,and the As-sistant role in that instance is named Course.chemistry.Assistant .In the specification model,within an activity,one can refer to its current instance using the pseudo variable thisActivity ,and its creator using parentActivity .Similarly,pseudo vari-ables thisRole and thisUser are defined.ACTIVITY_TEMPLATE Course (ASSIGNED_ROLES Assistant,Instructor,Student){.................ACTIVITY_TEMPLATE Examination (OWNER Instructor,ASSIGNED_ROLES Examiner){OBJECT_TYPE ExamPaper ........OBJECT_TYPE AnswerBook .........ROLE Examiner {....}ROLE Examinee (ASSIGN parentActivity.Student){....}ROLE Grader (ASSIGN parentActivity.Assistant,parentActivity.Instructor){....}ACTIVITY_TEMPLATEExamSession ............}}Figure 2:Skeleton Specification of Course Activity T emplateMeta Policy SpecificationWhen an activity is instantiated,the user initiating that activ-ity becomes a member of the Creator role for that instance.The creator may not always be trusted for the management of the activity.The Owner role,therefore,specifies which users can manage the activity instance and its nested entities.The membership rules for the Owner role are as follows:The template specification may indicate which user or role can be the owner of an instance of that template.For ex-ample,in Figure 2,the Instructor role is specified as the owner of an Examination activity.The Creator role can be specified as the owner.If not explicitly specified,the owner of the parent activity becomes the owner of the new child activity.An activity template may specify a termination condition.When this condition is satisfied for an instance of the tem-plate,nested entities within it’s scope can be garbage collected.Event SpecificationEvents and event counters are used in our model for specify-ing coordination and dynamic security policies based on the model presented in [14].Events correspond to instantiation of activities,execution of role operations,admission of users in roles etc.Related to each role operation are two types of events:start,and finish .For example,role-name.op.start or role-name.op.finish .For a role,we have event types defined for join ,leave ,admit ,and remove operations.For each activ-ity definition,we have start and finish events.In the specification model,multiple occurrences of a given event type —such as multiple executions of an operation —are represented by a list.The expression (eventName)returns the list including all the instances of this type of event.This list can be indexed using the notation (eventName)[i]to referto the i’th event in the list.We provide a count operator#on lists.One can also specify a derived event type byfiltering an event list based on its attributes.For example,for a role operation execution,we can define afilter based on invoker id,such as opName.start(invoker=John).Object SpecificationShared objects are represented in our specification model only in terms of their types and method signatures.The specifica-tions of ExamPaper and AnswerBook object types are shown below.A specification for an object includes a type name to facilitate parameter bindings of operations in roles,a code-base to load the class of the object,and method signatures. OBJECT_TYPE ExamPaper(CODEBASE=http://codeserver){ METHOD setQuestions{PARAM PaperType}METHOD readPaper{RETURN PaperType}}OBJECT_TYPE AnswerBook(CODEBASE=http://codeserver){ METHOD writeAnswer{PARAM AnswerType}METHOD setGrade{PARAM GradeType}}The object level access control specification is derived from the role’s privileges on objects.After an object is created the owner can specify additional object level access control.Role SpecificationA role is defined in the scope of an activity and can manipu-late the objects in that activity.A role specification includes role name,assigned roles if any,role admission and activa-tion constraints,and role operations with their preconditions. In the specification,a boolean function member(role,user) checks if a participant is present in a role,and members(role) returns the role participant list.The count of the participants in a role is#(members(role)).Role Admission Constraints:Role admission constraints must be true when a user is admitted to a role.The Assistant role in Figure1has several admission constraints.The maximum member count for this role is two;only a staff can be an as-sistant;a student cannot be an assistant;only after a user is assigned to the Instructor role,users can be admitted to the Assistant role;and lastly,users B and C both cannot be as-signed to this role.The specification of admission constraints of the Assistant role is shown below.#members(thisRole)2&member(thisUser,parentActivity.Staff)&!member(thisUser,Student)&#(Instructor.admit)0&!(member(B,thisRole)member(C,thisRole))Role Activation Constraints:Activation constraints of a role are enforced for each role operation invocation.A dynamic “separation of duty”constraint,like a user should not activate two roles at the same time can be specified as part of role acti-vation constraints.In the following example,we present sev-eral activation constraints for an admission committee mem-ber role of a Computer Engineering department.Such a role may specify a minimum and a maximum number of partici-pants to be present.Moreover,a constraint can be that at least one member from both Computer Science and the Electrical Engineering must be present during role activities.#members(thisRole)2&#members(thisRole)5&(#(members(thisRole)members(EE.Professor))0)&(#(members(thisRole)members(CS.Professor))0)Operation Specification:An operation specification may in-clude a precondition and an action which invokes predefined methods of some objects in the shared workspace.The pre-condition must be true when the operation is invoked.A key-word new is reserved for specifying creation of an object or an activity.Follows an example of an operation specification of the Examiner role in the Examination activity.The opera-tion SetPaper can be performed only once as specified by the precondition.This operation results in creation of an object exam of type ExamPaper and an invocation of the setQues-tions method of this object.ROLE ExaminerOPERATION SetPaperPRECONDITION#(SetPaper.start)=0ACTION exam=new OBJECT(ExamPaper)exam.setQuestions(data)Preconditions enable us to specifyfine grain“separation of duty”policies,like the object based separation of duty and the operational separation of duty.For example,in an office system,a manager may prepare an invoice and approve an in-voice,but should not be able to approve his/her own invoice. This specification is shown below.OPERATION ApproveInvoicePRECONDITION#(PrepareInvoice.finish(invoker=thisUser))=0Role Admission on Activity Creation:A participant of a role cannot perform operations of a nested child activity if not admitted to a role in the nested activity and vice versa.Our specification model supports two mechanisms to admit par-ticipants in a parent activity role to a child activity role.One mechanism is static role assignment,in which,using the AS-SIGN construct,all the members of specified roles in the par-ent activity become members of a role in the child activity.In Figure2,using this mechanism,all members of the Student role in the parent activity are admitted to the Examinee role, subject to the Examinee role’s admission constraints.Re-moval of a participant from the assigned role(i.e.the role in the parent activity),also implies removal from the role in the child activity.A participant in the assigned roles can execute role operations in the nested child activity.The second mechanism is dynamic role assignment,in which role admission is specified at the time of activity instantia-tion.The template definition uses the ASSIGNED ROLEStag to specify which roles must by dynamically assigned at instantiation,as specified for the Candidate role in Figure3. Given below is the specification of the StartExam operation of the Examinee role in the Examination activity template. ROLE Examinee(ASSIGN parentActivity.Student)OPERATION StartExamPRECONDITION#(Examiner.SetPaper.finish)=1&#(StartExam.start(invoker=thisUser))=0 ACTION ans=new OBJECT(AnswerBook);act=new ACTIVITY ExamSession((exam,ans),Candidate=thisUser)When an examinee invokes this operation,an instance of the ExamSession template is created and the participant creating the instance is dynamically assigned to the Candidate role. An ExamPaper and an AnswerBook object are passed to this instance of the ExamSession activity.Activity SpecificationFigure3shows an example of an activity template specifi-cation.The examinee creating an instance of the ExamSes-sion template is admitted to the Creator role for that exam-session.The Grader role is specified as the owner of an Ex-amSession activity.ACTIVITY_TEMPLATE ExamSession(OWNER Grader,OBJECTS(Course.ExamPaper exam,Course.Examination.AnswerBook ans),ASSIGNED_ROLES Candidate){ TERMINATION_CONDITION:#(Checker.Grade.finish)>0ROLE Candidate{ADMISSION_CONSTRAINTSmember(thisUser,parentActivity.Examinee)&#members(thisActivity.Creator)=1&member(thisActivity.Creator,thisUser)&#members(thisRole)<1ACTIVATION_CONSTRAINTSdate>DATE(Mar,20,2002,12:00)&date<DATE(Mar,20,2002,15:00)OPERATION Read{ACTION exam.readPaper()}OPERATION Write{ACTION ans.writeAnswer(data)}OPERATION Submit{PRECONDITION#(Write.finish)>0}}ROLE Checker{ADMISSION_CONSTRAINTS#members(thisRole)<1&member(thisUser,parentActivity.Grader) OPERATION Grade{PRECONDITION#(Candidate.Submit.finish)=1ACTION ans.setGrade(data)}}}Figure3:Specification of Collaborative ExamSessionActivity T emplateIn the template,a role coupling constraint is specified,requir-ing that a participant admitted to the Candidate role must be in the Creator role of that activity instance.This is achieved using admission constraints for the Candidate role.It ensures that other examinees cannot interfere with a particular candi-date’s exam session.Additionally,activation constraints for the Candidate role ensure that students can take the exam only during a specified period of time.The precondition for the Checker role’s Grade operation ensures that a checker can grade an answer book only after it has been submitted by the candidate.The termination condition specifies that an instance of the ExamSession activity is terminated once the Checker completes the Grade operation.MIDDLEWARE EXECUTION ENVIRONMENT AND SERVICES To construct the runtime environment for a CSCW system from its specifications,the middleware is required to support distributed management of activities.This requires definition of a distributed execution model for activities and runtime structures and protocols for:Incorporation of a trust model in selecting nodes for man-aging roles and objects of an activity.Policy-driven generic managers for roles,objects,and ac-tivities.Derivation of policies and their secure binding at runtime with generic managers.Secure distribution of events for coordination.Secure interactions among users,role managers,and object managers.Basic services for naming,key certificates,and authentica-tion.Our middleware is implemented using a Java-based mobile object programming framework,which provides us basic ser-vices for naming,public key distribution,and authentication. The authentication protocol is based on challenge-response using digital signatures.Moreover,it provides an additional capability of supporting user-object interactions using mo-bile objects in addition to Java RMI.Object ServersIn our system,shared objects are stored by object servers, which provide secure access protocols.For each object,a policy-driven manager object is created.An object is ac-cessed through its manager.For this,a manager implements the same interface as that of the object,but with some addi-tional mechanisms to support authentication.Based on the security and coordination requirements of a collaboration, our system derives appropriate policy modules,which are used by the object managers for access control.The object managers in our system support both role-based as well as discretionary access control.When existing objects of an ac-tivity are passed to a nested child activity,the access control policies of these objects need to be updated at runtime.This binding of new policies is discussed later in the sub-section on policy distribution.Interaction ModelsTo perform a collaboration task,a user invokes a role oper-ation.The action associated with the operation may invoke methods of some shared objects.When a user invokes a role operation,the role manager authenticates the user,verifies user’s membership in the role,checks that the preconditions for the operation are satisfied,and then executes the action.。