【AWR澳大利亚 Kikkert 培训教程】14-Draft_Ch11_OpAmps
- 格式:pdf
- 大小:310.17 KB
- 文档页数:8
自定义环境 虽然已经在Showcase的环境库中加载了默认的很多光照环境和背景,但有时根据渲染的实际需要,其自带的环境库不能满足操作要求时,可以通过其自定义环境的功能来创建设定符合自身需求的光照环境和背景特性。
在本章中,应掌握如何创建自定义环境的操作步骤,理解HDRI高动态范围图像的特点,在了解光照环境和背景特性中各种选项的意义后,能将全景图片添加到自定义环境库中来创建自定义环境,满足渲染的定制需求。
本章学习的要点如下:创建或获取用于自定义环境的图像添加自定义环境库创建自定义环境15.1 创建或获取用于自定义环境的图像15.1.1 HDRI与HDR计算机在表示图像的时候是用8bit(256)级或16bit(65536)级来区分图像的亮度,但这区区几百或几万bit无法再现真实、自然的光照情况。
HDR文件是一种特殊图形文件格式,它的每一个像素除了普通的RGB信息外,还有该点的实际亮度信息。
在普通的图形文件中,每个像素只有0~255的灰度范围,这实际上是不够的。
想象一下太阳的发光强度和一个纯黑的物体之间的灰度范围或者说亮度范围的差别,远远超过了256个级别,因此,一张普通的白天风景图片,看上去白云和太阳可能都呈现同样的灰度/亮度,都是纯白色,但实际上白云和太阳之间实际的亮度不可能一样,他们之间的亮度差别是巨大的,因此,普通的图形文件格式是很不精确的,远远没有记录到现实世界的实际状况,所以,现在我们就要介绍一下高动态范围图像(简称HDRI)和高动态光照渲染(HDR)的概念。
1. 高动态光照渲染(HDR)“高动态光照渲染”的英文是“High-DynamicRange”,简称HDR,它是电脑图形学中的渲染方法之一,可令立体场景更加逼真,大幅提升游戏的真实感。
现实中,当人由黑暗的地方走到光亮的地方,眼睛会自动眯起来。
人在黑暗的地方,为了看清楚对象,瞳孔会张得很大,以吸收更多光线。
当突然走到光亮地方,瞳孔来不及收缩,所以唯有眯上眼睛,以保护视网膜上的视神经。
Information Sheet for Test FacilitatorEnglish for TourismSpeaking TestLEVEL 1Instruction sheet for Test FacilitatorPart 1 - Topic DiscussionWarm up 2 minutesPreparation 4 minutesTopic Discussion 5 minutes_________Total 11 minutesStart the topic discussion with 2 minutes of warm up conversation. Introduce yourself and then ask the candidate some basic questions such as their name, date of birth, where they are from, their job or what they are studying, and what ambitions they have for the future, etc.The candidate should then be given the topic sheet to study for 4 minutes in preparation for the topic discussion. The questions that follow the topic title are given to the candidate at the preparation stage to assist initial reactions and to provide a framework for the 5 minute topic discussion. However, the candidate may range beyond these ideas and this should be allowed, providing the theme is maintained.After the 4 minute preparation stage, you should initiate the topic discussion. You do not need to ask the candidate all of the questions in the course of one interview, and can ask other questions that are relevant, in the way that would happen in a normal conversation. However, you should ensure that the conversation remains on the topic.Part 2 - Role-PlayPreparation 3 minutesRole- plays 5 minutes________Total 8 minutesExplain the role-play procedure and then give the candidate the cue card to study for 3 minutes. Check that the candidate understands the instructions and then ask the candidate to begin.Total Test Duration 19 minutesNOTE: All speaking test materials must be returned to EDIENGLISH FOR TOURISMSPEAKING TESTPart 1 – Topic discussionTOPIC SHEET (Candidate Copy)Instructions to the candidateYou have 4 minutes to prepare for your examination. The subject matter is given in the topic below. You have to discuss this topic with the Test Facilitator and you will be expected to do most of the talking.To help you in putting your ideas together, the topic is followed by some questions and suggestions for the basis of your conversation. However, you may introduce other ideas providing they are on the topic. You may keep this paper to help you during the examination. Return it to the Test Facilitator at the end of the examination. Do not make any written notes during this preparation time.The Topic:TRAVEL AGENTS1 Discuss the advantages and disadvantages of package holidays.2. What attracts you to a particular destination?What do you think determines the destination a tourist chooses?- Think about climate, activities, cost food, accommodation, culture, etc.3. Discuss the different advantages and disadvantages that tourism brings to an area.4. Discuss the main responsibilities of travel agents’ staff.5. What qualities and qualifications do you think are needed to work in a travel agency?TOPIC SHEET (Test Facilitators Copy)The Topic:TRAVEL AGENTS1. Discuss the advantages and disadvantages of package holidays.2. What attracts you to a particular destination?What do you think determines the destination a tourist chooses?- Think about climate, activities, cost food, accommodation, culture, etc.3. Discuss the different advantages and disadvantages that tourism brings to an area.4. Discuss the main responsibilities of travel agents’ staff.5. What qualities and qualifications do you think are needed to work as a travel agent? Background notes for Test Facilitator1. - Advantages: fixed price, often with facilities included such as swimming pool,entertainment, food, activities for children etc. transfers and hotel booked in advance somore convenient- Disadvantages: spend most of your time in one place and do n’t see as much as if you were travelling independently. There are more restrictions on where you go and what you do.You have to spend your holiday with other people who have booked the same package. 2. Allow students to describe personal choices. Things that determine the destination a touristchooses could be: a) visit friends and family, b) experience attractive surroundings, c) visit places of cultural interest, d) participate in sporting activities, e) to conduct business3. - Advantages: creates jobs, helps people from different countries and cultures understandeach other, brings money into a country, preserves traditional heritage ,construction offacilities for tourists may mean improvement for locales e.g. better roads.- Disadvantages: creates a lot of pollution, destroys the natural habitat of some animals and birds as well as people, disrespect of local customs and beliefs, overuse of water and other natural resources.4. Responsibilities: advise clients on destinations, accommodation, airlines and other travelfacilities. Plan itineraries, make reservations, calculate fares accurately, keep records ofreservations and sales, deal with customer complaints, display brochures5. Qualities and qualifications could include: organized, friendly, polite, good communicationand numeracy skills, language skills, IT skills, degree or diploma in tourism, ability to deal with complaints.Part 2 – Role Play (Candidate Copy)AT THE TRAVEL AGENTSInstructionsTest Facilitator to:▪explain the procedure (the candidate is the person working at the travel agents and the test facilitator is the customer)▪give the candidate the Cue Card to study for 3 minutes (the candidate may keep hold of the cue card for the duration of the test)▪check that the candidate understands the key vocabulary and instructions▪initiate and guide the dialogue using the cue card and guided dialogue for reference Candidate to:▪study the Cue Card for 3 minutes▪respond to the Test Facilitator as indicated on the Cue CardPart 2 – Role Play (Test Facilitators Copy)AT THE TRAVEL AGENTSInstructionsTest Facilitator to:▪explain the procedure (the candidate is the person working at the travel agents and the test facilitator is the customer)▪give the candidate the Cue Card to study for 3 minutes (the candidate may keep hold of the cue card for the duration of the test)▪check that the candidate understands the key vocabulary and instructions▪initiate and guide the dialogue using the cue card and guided dialogue for reference Candidate to:▪study the Cue Card for 3 minutes▪respond to the Test Facilitator as indicated on the Cue CardGuided Dialogue (for test facilitators reference)C: Good Morning. Can I help you?TF: Good morning. I have a few days off in November and want to take a short break somewhere in Europe, with my partner. Could you suggest anywhere at a reasonable price?C: Certainly. What dates would you like to travel?TF: November 10th for 3 days.C: How many people will be travelling?TF: Two.C: L et me see, I can offer you a trip to Paris by air for 3 nights, staying at a 3 star hotel in the centre of Paris for £450 p.p.TF: Oh no! That’s a bit expensive. Do you have anything cheaper?C: I can offer you the same hotel in Paris, for just £280 travelling by Euro tunnel.TF: Do you have any other offers, apart from Paris?C: L et me see. Bruges is very interesting and near at hand.TF: How much would that cost?C: There’s a very nice hotel in the centre of old Bruges and that would cost £200 p.p. travelling by EurostarTF: That sounds great. How long does it take?C: I t’s just 3 hours from Waterloo.TF: Can you tell me about the departure and arrival times?C: Certainly, you leave Waterloo at 8am on November 10 and arrive in Bruges at 11.00. On the return journey, you leave Bruges at 6pm and arrive back in London at 9pm.TF: Do I need to pay a deposit now?C: W ell actually I’m afraid you’ll have to pay the full amount.TF: Okay, that’s fine. Can I pay by credit card?C: Yes of course.TF: Thank you very much.。
Agile SDK Developer Guide Release 9.2.1Part No. E11138-01Make sure you check for updates to this manual at theOracle Technology Network (OTN) Web siteAgile PLM 9.2.2.1Copyrights and TrademarksCopyright © 1995, 2007, Oracle. All rights reserved.The Programs (which include both the software and documentation) contain proprietary information; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited.The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. This document is not warranted to be error-free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose.If the Programs are delivered to the United States Government or anyone licensing or using the Programs on behalf of the United States Government, the following notice is applicable:U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the Programs, including documentation and technical data, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement, and, to the extent applicable, the additional rights set forth in FAR 52.227-19, Commercial Computer Software--Restricted Rights (June 1987). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently dangerous applications. It shall be the licensee's responsibility to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of such applications if the Programs are used for such purposes, and we disclaim liability for any damages caused by such use of the Programs.Oracle and Agile are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.The Programs may provide links to Web sites and access to content, products, and services from third parties. Oracle is not responsible for the availability of, or any content provided on, third-party Web sites. You bear all risks associated with the use of such content. If you choose to purchase any products or services from a third party, the relationship is directly between you and the third party. Oracle is not responsible for: (a) the quality of third-party products or services; or (b) fulfilling any of the terms of the agreement with the third party, including delivery of products or services and warranty obligations related to purchased products or services. Oracle is not responsible for any loss or damage of any sort that you may incur from dealing with any third party.September 12, 2007ii Agile SDK Developer GuideR EVISIONSA9/12/07All Initial release of the manual for 9.2.1iiiAgile PLM 9.2.2.1iv Agile SDK Developer GuideC ONTENTSPrefaceAgile PLM Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Readme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Agile Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Developer Documentation and Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Chapter 1IntroductionWhat is the Agile SDK? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 Client-Side Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 Server-Side Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Agile XML (also known as aXML) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 What’s New for this Release. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 System Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Java Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Agile SDK Installation Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Checking Your Agile PLM System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Agile PLM Business Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Licensing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 Part I, Using the Agile APIChapter 2Getting Started with the Agile APIAgile API Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 Types of Agile API Classes and Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 Network Class Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Single-Threaded versus Multithreaded Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Packaging Your Agile API Programs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Agile API Files You Are Allowed to Distribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3Agile API Files You Are Not Allowed to Distribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Sample Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Starting an Agile API Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 Setting the Class Path for the Agile API Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 Importing Agile API Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 Creating a Session and Logging In . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 Creating a Session by Accessing a Password-Protected URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 Creating a Session from an Agile Web Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 Loading and Creating Agile PLM Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 Loading Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 Specifying Object Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7Specifying Object Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7Loading Different Types of Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 Creating Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 Working with Agile PLM Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11Creating Objects of User-Defined Subclasses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12Using AutoNumbers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12vAgile PLM 9.2.1Handling Required Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14Creating Different Types of Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15 Propagating Values to Related Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18 Saving an Object to a New Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18 Sharing an Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19 Deleting and Undeleting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19 Closing a Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21 Chapter 3Creating and Loading QueriesAbout Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 Creating a Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 Saving a Query to a Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 Creating a Parameterized Query. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 Specifying Query Attributes when Creating a Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 Specifying Search Criteria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 Search Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 Query Language Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 Specifying Search Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 Retrieving Searchable Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 Using Relational Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 Using Unicode Escape Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7Using Between, Not Between, In, and Not In Operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7Using Any, All, None Of, and Not All Relational Operator Modifiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7Using Nested Criteria to Search for Values in Object Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8Searching for Words or Phrases Contained in Attachments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 Formatting Dates in Query Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 Using Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 Using Wildcard Characters with the Like Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 Using SQL Syntax for Search Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 Using SQL Wildcards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12 Sorting Query Results Using SQL Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12 Setting Result Attributes for a Query. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12 Duplicate Results for Site-Related Objects and AMLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 Working with Query Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 Sorting Query Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 Datatype of Query Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 Managing Large Query Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18 Query Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18 Creating a Where-Used Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18 Loading a Query. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19 Deleting a Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20 Simple Query Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20 Chapter 4Working with TablesAbout Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 Retrieving a Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 Working with Read-only Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 Retrieving the Metadata of a Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 Adding Table Rows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 Adding an Item to the BOM Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12 Adding an Attachment to the Attachments Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12 Adding a Manufacturer Part to the Manufacturers Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12 vi Agile SDK Developer GuideContents Adding an Item to the Affected Items Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13 Adding a Task to the Schedule Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13 Adding and Updating Multiple Table Rows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13 Adding Multiple Items to the BOM Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 Updating Multiple BOM Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 Iterating Over Table Rows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 Sorting Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16 Removing Table Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17 Retrieving the Referenced Object for a Row . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18 Checking Status Flags of a Row. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21 Working with Page One, Page Two, and Page Three. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22 Redlining. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22 Removing Redlines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24Chapter 5Working with Data CellsAbout Data Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 Checking Discovery Privilege . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 Checking Whether a Cell is Read-Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 Getting Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3 Setting Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4 Catching Exceptions for Locked Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 Getting and Setting List Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 Getting and Setting Values for SingleList Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 Getting and Setting Values for MultiList Cells. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 Getting and Setting Values for Cascading Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 Using Reference Designator Cells. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Chapter 6Working with FoldersAbout Folders. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 Loading a Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 Creating a Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Setting the Folder Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Adding and Removing Folder Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Getting Folder Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 Deleting a Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6 Chapter 7Working with Items, BOMs, and AMLsAbout Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 Getting and Setting the Revision of an Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 Changing the Incorporated Status of a Revision. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 Working with BOMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4 Adding an Item to a BOM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4 Expanding a BOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5 Copying one BOM into another BOM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5 Redlining a BOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 Getting a Released Assembly Item. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6Creating a Change Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6Adding an Item to the Affected Items tab of a Change Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7Modifying the Redline BOM Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7 Working with AMLs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8viiAgile PLM 9.2.1Adding an Approved Manufacturer to the Manufacturers Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8 Redlining an AML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9 Chapter 8Working with ListsAbout Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1 List Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1 SingleList Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 MultiList Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 Cascading Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 Methods that Use IAgileList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 Selecting a List Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 Working with Dynamic Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 Working with Lifecycle Phase Cells. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7 Selecting a List from the List Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7 Creating Custom Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9 Creating a Simple List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9 Creating a New List Automatically by Modifying an Existing List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10 Creating a Cascading List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-11 Checking the Data Type of a List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 Modifying a List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13 Adding a Value to a List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13 Making List Values Obsolete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14 Setting the List Name and Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14 Setting Level Names for a Cascading List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14 Enabling or Disabling a List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15 Deleting a List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15 Printing the Contents of an IAgileList Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15 Chapter 9Managing Manufacturing SitesAbout Manufacturing Sites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1 Controlling Access to Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1 Creating a Manufacturing Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 Loading a Manufacturing Site. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 Retrieving the Sites Table for an Item. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 Adding a Manufacturing Site to the Sites Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3 Selecting the Current Manufacturing Site for an Item. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3 Disabling a Site. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5 Chapter 10Working with Attachments and File FoldersAbout Attachments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1 Working with File Folders. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2 File Folder Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2 Working with the Files Table of a File Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3 Using the IAttachmentFile Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3 Working with the Attachments Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4 Using the ICheckoutable Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5 Specifying the Revision of the Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6 Checking Whether the Revision is Incorporated. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6 Checking Out a File Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6 Canceling Checkout of a File Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6 viii Agile SDK Developer Guide。
icepak培训教程(增加特殊条款)Icepak培训教程1.引言Icepak是一款强大的电子系统热分析软件,广泛应用于电子产品的热设计、热测试和热优化。
本教程旨在帮助初学者快速掌握Icepak的基本操作,并能够独立完成电子系统的热分析。
2.Icepak安装与启动2.1软件安装在开始使用Icepak之前,请确保您的计算机满足软件的最低系统要求。
从Ansys官方网站Icepak安装包,并按照提示完成安装。
2.2启动软件安装完成后,双击桌面上的Icepak快捷方式,启动软件。
软件启动后,您将看到一个欢迎界面,在此可以选择新建项目或打开现有项目。
3.Icepak基本操作3.1创建项目“新建项目”按钮,在弹出的对话框中输入项目名称和保存路径,“确定”创建项目。
在Icepak中,项目文件以.iproj为扩展名保存。
3.2创建几何模型(1)导入CAD文件:“导入CAD”按钮,选择相应的CAD文件,导入到Icepak中。
(2)手动绘制:“绘制”按钮,选择相应的绘图工具,如矩形、圆形等,手动绘制几何模型。
(3)参数化建模:通过输入关键参数,快速几何模型。
3.3创建网格在Icepak中,网格是进行热分析的基础。
创建网格的步骤如下:(1)选择“网格”菜单下的“创建网格”命令。
(2)设置网格参数,如网格类型、网格大小等。
(3)“网格”按钮,网格。
3.4添加边界条件在Icepak中,边界条件用于模拟实际环境中的温度、热流等。
添加边界条件的步骤如下:(1)选择“边界条件”菜单下的相应命令,如“温度”、“热流”等。
(2)在弹出的对话框中设置边界条件参数。
(3)将边界条件应用到几何模型上。
3.5设置求解器参数在Icepak中,求解器参数用于控制热分析的求解过程。
设置求解器参数的步骤如下:(1)选择“求解器”菜单下的“求解器参数”命令。
(2)在弹出的对话框中设置求解器参数,如求解器类型、迭代次数等。
(3)“确定”按钮,保存设置。
BEA WebLogicServer™WebLogic TuxedoConnector Quick StartGuideVersion 8.1Revised: March 28, 2003CopyrightCopyright © 2003 BEA Systems, Inc. All Rights Reserved.Restricted Rights LegendThis software and documentation is subject to and made available only pursuant to the terms of the BEA Systems License Agreement and may be used or copied only in accordance with the terms of that agreement. It is against the law to copy the software except as specifically allowed in the agreement. This document may not, in whole or in part, be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine readable form without priorconsent, in writing, from BEA Systems, Inc.Use, duplication or disclosure by the U.S. Government is subject to restrictions set forth in the BEA Systems License Agreement and in subparagraph (c)(1) of the Commercial Computer Software-Restricted Rights Clause at FAR52.227-19; subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS252.227-7013, subparagraph (d) of the Commercial Computer Software--Licensing clause at NASA FAR supplement 16-52.227-86; or their equivalent.Information in this document is subject to change without notice and does not represent a commitment on the part of BEA Systems. THE SOFTWARE AND DOCUMENTATION ARE PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. FURTHER, BEA Systems DOES NOT WARRANT, GUARANTEE, OR MAKE ANY REPRESENTATIONS REGARDING THE USE, OR THE RESULTS OF THE USE, OF THE SOFTWARE OR WRITTEN MATERIAL IN TERMS OF CORRECTNESS, ACCURACY, RELIABILITY, OR OTHERWISE. Trademarks or Service MarksBEA, Jolt, Tuxedo, and WebLogic are registered trademarks of BEA Systems, Inc. BEA Builder, BEA CampaignManager for WebLogic, BEA eLink, BEA Liquid Data for WebLogic, BEA Manager, BEA WebLogic Commerce Server, BEA WebLogic Enterprise, BEA WebLogic Enterprise Platform, BEA WebLogic Express, BEA WebLogic Integration, BEA WebLogic Personalization Server, BEA WebLogic Platform, BEA WebLogic Portal, BEA WebLogic Server, BEA WebLogic Workshop and How Business Becomes E-Business are trademarks of BEA Systems, Inc.All other trademarks are the property of their respective companies.ContentsConfiguring the WebLogic Tuxedo Connector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-1 Build the Simpapp Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-2Create a WTC Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3Create a Local Tuxedo Access Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3Create a Remote Tuxedo Access Point. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-4Create Exported Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-4Create Imported Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-5Target mySimpapp to the examplesServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-5Register TDOM1 as a WebLogic Server User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-5 Configuring Tuxedo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-6Run the Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-7 WebLogic Server to Tuxedo Interoperability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-7Tuxedo to WebLogic Server Interoperability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-8WebLogic Tuxedo Connector Quick Start Guide iiiiv WebLogic Tuxedo Connector Quick Start GuideC H A P T E R1 WebLogic Tuxedo Connector Quick Start GuideNote:For more detailed information on how to configure the WebLogic Tuxedo Connector for this WebLogic Server Release, see the WebLogic Tuxedo Connector Programmer’sGuide at /wls/docs81/wtc_admin/index.html.The following sections describe how to use the WebLogic Server console to configure WebLogic Tuxedo Connector to allow WebLogic Server to interoperate with Tuxedo Releases 6.5 and higher:z Configuring the WebLogic Tuxedo Connectorz Configuring Tuxedoz Run the ExampleConfiguring the WebLogic Tuxedo ConnectorNote:This section summarizes how to configure the WebLogic Tuxedo Connector on a Windows platform. UNIX users can adapt the instructions by making appropriatesubstitutions such as replacing the “\” with “/” and “.cmd” with “.sh”.This example extends the Tuxedo simpapp application to run over Tuxedo Domains(TDomains). This allows clients of the TOUPPER service to run on either the Tuxedo server or the WebLogic Server examplesServer. The example provides the following services:z TOUPPER: A Tuxedo service that converts a string to upper case. A WebLogic Server clientinvokes the TOUPPER EJB and connects to the Tuxedo TOUPPER service.WebLogic Tuxedo Connector Quick Start Guide1-1z Tolower: A service implemented by an EJB in WebLogic Server. The client for theTolower service runs on Tuxedo.The following sections describe how to configure WebLogic Tuxedo Connector using theAdministration Console:z Build the Simpapp Examplez Create a WTC Servicez Create a Local Tuxedo Access Pointz Create a Remote Tuxedo Access Pointz Create Exported Servicesz Create Imported Servicesz Target mySimpapp to the examplesServerz Register TDOM1 as a WebLogic Server UserBuild the Simpapp ExampleNote:You may want to enable tracing to monitor WebLogic Tuxedo Connector. See Monitoring the WebLogic Tuxedo Connector located at/wls/docs81/wtc_admin/troubleshooting.html.Use the following steps to build the simpapp example:1.Boot your WebLogic examplesServer.2.Open a new shell window and set environment variables using theSAMPLES_HOME\domains\examples\setExamplesEnv.cmd file.3.Change directories to yourSAMPLES_HOME\server\examples\src\examples\wtc\atmi\simpapp directory.4.Build the wtc_toupper.jar file using ant. This will deploy the EJB on WebLogic Server.Enter the following command: ant5.Change directories to theSAMPLES_HOME\server\examples\src\examples\wtc\atmi\simpserv directory.6.Build the wtc_tolower.jar file. This will deploy the EJB on WebLogic Server. Enter thefollowing command: ant1-2WebLogic Tuxedo Connector Quick Start GuideConfiguring the WebLogic Tuxedo Connector unch the Administration Console in your browser. Use the following URL:http://your_machine:7001/console. Replace your_machine with the IP address for your machine or your machine name.8.In the navigation tree, Click Deployments→ EJB Modules and confirm that thewtc_tolower.jar and wtc_toupper.jar are deployed.Create a WTC ServiceUse the following steps to create and configure a WTC service using the WebLogic Server Console:1.Click Services in the navigation tree.2.Right-click WTC.3.Click Configure a New WTC Service.4.Enter the Name of your WTC service in the Name field. Example: mySimpapp5.Click Create.6.Your new WTC Service appears in the navigation tree.Create a Local Tuxedo Access PointNote:When configuring the Network Address for a local access point, the port number used should be different from any port numbers assigned to other processes. Example: Setting the Network Address to //mymachine:7001 is not valid if the WebLogic Serverlistening port is assigned to //mymachine:7001.Use the following steps to configure a local Tuxedo access point:1.Click mySimpapp in the navigation tree.2.Click the Contents tab.3.Select Local APs and click Configure a new Local Tuxedo Access Point.4.Enter the following values for the following fields on the General tab:Access Point: myLocalApAccessPoint ID: TDOM2Network Address: the network address and port of your local access pointWebLogic Tuxedo Connector Quick Start Guide1-3Example: //123.123.123.123:56785.Click Create.6.If you are connecting to a Tuxedo 6.5 domain, do the following:a.Click the Connections tab.b.Set the Interoperate field to Yes.c.Click Apply.Create a Remote Tuxedo Access PointUse the following steps to configure a remote Tuxedo access point:1.Click mySimpapp in the navigation tree.2.Click the Contents tab.3.Select Remote APs and click Configure a new Remote Tuxedo Access Point.4.Enter the following values for the following fields on the General tab:Access Point: myRemoteAPAccessPoint ID: TDOM1Local Access Point: myLocalApListen Address: the network address and port of your remote access pointExample: //123.123.123.123:12345.Click Create.Create Exported ServicesUse the following steps to configure an exported service:1.Click mySimpapp in the navigation tree.2.Click the Contents tab.3.Select Exported and click Configure a new Exported Service4.Enter the following values for the following fields on the General tab:1-4WebLogic Tuxedo Connector Quick Start GuideConfiguring the WebLogic Tuxedo ConnectorResource Name: TOLOWERLocal Access Point: myLocalApEJB Name: tuxedo.services.TOLOWERHomeRemote Name: TOLOWER5.Click Create.Create Imported ServicesUse the following steps to configure an imported service:1.Click mySimpapp in the navigation tree.2.Click the Contents tab.3.Select Imported and click Configure a new Imported Service4.Enter the following values for the following fields on the General tab:Resource Name: TOUPPERLocal Access Point: myLocalApRemote Access Point List: myRemoteAPRemote Name: TOUPPER5.Click Create.Target mySimpapp to the examplesServer1.Click mySimpapp in the navigation tree.2.Click the Target and Deploy tab.3.Click the checkbox for the examplesServer.4.Click ApplyRegister TDOM1 as a WebLogic Server UserUse the following steps to register TDOM1 as a WebLogic Server user:1.Click Security in the navigation tree.WebLogic Tuxedo Connector Quick Start Guide1-52.Click Realms.3.Click myRealm.4.Click on Users.5.Click the Configure a new User.6.In the General tab, do the following:a.Add TDOM1 in the Name field.b.Enter and validate a password.c.Click apply.Configuring TuxedoUse the following steps to configure your Tuxedo domain:1.Your PATH environment variable needs to include the path of your C compiler. Use set PATHto check the status and add the path if necessary.2.Copy the simpapp example from your Tuxedo installation and create a working Tuxedosimpapp directory.3.Change directories to your working Tuxedo simpapp directory.4.Set environment variables using the setEnv.cmd located at TUXDIR. Update the followingparameters:TUXDIR - base directory of the TUXEDO SoftwareAPPDIR - base directory of the sample program5.Build the clients:buildclient -o simpcl -f simpcl.cbuildserver -o simpserv -f simpserv.c -s TOUPPER6.Copy the ubbdomain and dom1config files from theSAMPLES_HOME\server\examples\src\examples\wtc\atmi\simpapp directory toyour Tuxedo simpapp directory.7.Copy the tolower.c file from theSAMPLES_HOME\server\examples\src\examples\wtc\atmi\simpserv directory toyour Tuxedo simpapp directory.1-6WebLogic Tuxedo Connector Quick Start GuideRun the Example8.Modify the ubbdomain for your Tuxedo environment. This includes setting the pathnamesfor APPDIR, TUXCONFIG, and TUXDIR and setting the machine name. Replace all <braced>items with information for your environment.Example:APPDIR="\home\me\simpapp"TUXCONFIG="\home\me\simpapp\tuxconfig""TUXDIR="\usr\tuxedo"9.Load the ubbdomain file: tmloadcf -y ubbdomain10.Modify the dom1config for your Tuxedo environment. This includes creating log devicesand updating the network addresses.Example:DMTLOGDEV="d:\my_apps\tlog"AUDITLOG="d:\my_apps\aud"TDOM1 NWADDR="//TuxedoMachine:1234"TDOM2 NWADDR="//WTCMachine:5678"11.Load the dom1config file.set BDMCONFIG=d:\mydomain\simpapp\bdmconfigdmloadcf -y dom1config12.Build the tolower clientbuildclient -f tolower.c -o tolower13.Boot the Tuxedo domaintmboot -yRun the ExampleRun each client to demonstrate interoperability between Tuxedo and WebLogic Server.WebLogic Server to Tuxedo InteroperabilityStart a WebLogic Server client from theSAMPLES_HOME\server\examples\src\examples\wtc\atmi\simpapp directory to invoke the TOUPPER EJB and connect to the Tuxedo TOUPPER service. Use the following command: ant runWebLogic Tuxedo Connector Quick Start Guide1-7The Tuxedo service replies to your WebLogic Server application with:Buildfile: build.xmlrun:[java][java] Beginning statefulSession.Client...[java][java] Creating Toupper[java][java] converting allcaps[java] converted to: ALLCAPS[java][java] End statefulSession.Client...[java]BUILD SUCCESSFULTuxedo to WebLogic Server InteroperabilityRun the tolower client from the Tuxedo simpapp directory to invoke the Tolower EJB and return the results to the client. Use the following command:tolower ALLSMALLThe WebLogic Server service replies to your Tuxedo client with:Returned string is: allsmall1-8WebLogic Tuxedo Connector Quick Start Guide。
Power-saving protocols for IEEE802.11-based multi-hopad hoc networksYu-Chee Tseng a,*,Chih-Shun Hsu b,Ten-Yueng Hsieh aa Department of Computer Science and Information Engineering,National Chiao Tung University,Hsin-Chu30050,Taiwanb Department of Computer Science and Information Engineering,National Central University,Chung-Li32054,TaiwanReceived4September2002;received in revised form10January2003;accepted10April2003Responsible Editor:L.LenziniAbstractPower-saving is a critical issue for almost all kinds of portable devices.In this paper,we consider the design of power-saving protocols for mobile ad hoc networks(MANETs)that allow mobile hosts to switch to a low-power sleep mode. The MANETs being considered in this paper are characterized by unpredictable mobility,multi-hop communication, and no clock synchronization mechanism.In particular,the last characteristic would complicate the problem since a host has to predict when another host will wake up to receive packets.We propose three power management protocols, namely dominating-awake-interval,periodically-fully-awake-interval,and quorum-based protocols,which are directly applicable to IEEE802.11-based MANETs.As far as we know,the power management problem for multi-hop MANETs has not been seriously addressed in the literature.Existing standards,such as IEEE802.11,HIPERLAN,and bluetooth,all assume that the network is fully connected or there is a clock synchronization mechanism.Extensive simulation results are presented to verify the effectiveness of the proposed protocols.Ó2003Elsevier B.V.All rights reserved.Keywords:HIPERLAN;IEEE802.11;Mobile ad hoc network(MANET);Power management;Power saving;Wireless communication1.IntroductionComputing and communication anytime,any-where is a global trend in todayÕs development. Ubiquitous computing has been made possible by the advance of wireless communication technology and the availability of many light-weight,compact, portable computing devices.Among the various network architectures,the design of mobile ad hoc network(MANET)has attracted a lot of attention recently.A MANET is one consisting of a set of mobile hosts which can communicate with one another and roam around at their will.No base stations are supported in such an environment,and mobile hosts may have to communicate with each other in a multi-hop fashion.Applications of MA-NETs occur in situations like battlefields,major di-saster areas,and outdoor assemblies.It is also a prospective candidate to solve the‘‘last-mile’’prob-lem for broadband Internet service providers[1].*Corresponding author.E-mail address:yctseng@.tw(Y.-C.Tseng).1389-1286/$-see front matterÓ2003Elsevier B.V.All rights reserved.doi:10.1016/S1389-1286(03)00284-6Computer Networks43(2003)317–337/locate/comnetOne critical issue for almost all kinds of por-table devices supported by battery powers is power saving.Without power,any mobile device will become useless.Battery power is a limited re-source,and it is expected that battery technology is not likely to progress as fast as computing and communication technologies do.Hence,how to lengthen the lifetime of batteries is an important issue,especially for MANET,which is supported by batteries only.Solutions addressing the power-saving issue in MANETs can generally be categorized as follows:•Transmission power control:In wireless commu-nication,transmission power has strong impact on bit error rate,transmission rate,and inter-radio interference.These are typically contradict-ing factors.In[2],power control is adopted to reduce interference and improve throughput on the MAC layer.How to determine transmission power of each mobile host so as to determine the best network topology,or known as topology control,is addressed in[3–5].How to increase network throughput by power adjustment for packet radio networks is addressed in[6].•Power-aware routing:Power-aware routing pro-tocols have been proposed based on various power cost functions[7–11].In[7],when a mo-bile hostÕs battery level is below a certain thresh-old,it will not forward packets for other hosts.In[10],five different metrics based on battery power consumption are proposed.Ref.[11]con-siders both hostsÕlifetime and a distance power metric.A hybrid environment consisting of bat-tery-powered and outlet-plugged hosts is consid-ered in[8].Two distributed heuristic clustering approaches for two multi-casting are proposed in[9]to minimizing the transmission power.•Low-power mode:More and more wireless de-vices can support low-power sleep modes.IEEE 802.11[12]has a power-saving mode in which a radio only needs to be awake periodically.HI-PERLAN allows a mobile host in power-saving mode to define its own active period.An active host may save powers by turning offits equal-izer according to the transmission bit rate.Comparisons are presented in[13]to study the power-saving mechanisms of IEEE802.11andHIPERLAN in ad hoc networks.Bluetooth[14]provides three different low-power modes:sniff,hold,and park.Other references include [15–21].This paper studies the management of power-saving(PS)modes for IEEE802.11-based MA-NETs and thus falls into the last category of the above classification.We consider MANETs which are characterized by multi-hop communication, unpredictable mobility,no plug-in power,and no clock synchronization mechanism.In particular, the last characteristic would complicate the prob-lem since a host has to predict when another host will wake up to receive packets.Thus,the protocol must be asynchronous.As far as we know,the power management problem for multi-hop MA-NETs has not been addressed seriously in the lit-erature.Existing standards,such as IEEE802.11 and HIPERLAN,do support PS modes,but as-sume that the MANET is fully connected.Blue-tooth also has low-power modes,but is based on a master–slave architecture,so time synchronization is trivial.The works[18,19]address the power-saving problem,but assume the existence of access points.A lot of works have focused on multi-hop MANETs on issues such as power-aware routing, topology control,and transmission power control (as classified above),but how to design PS mode is left as an open problem.Two major challenges that one would encounter when designing power-saving protocols are:clock synchronization and the neighbor discovery.Clock synchronization in a multi-hop MANET is diffi-cult since there is no central control and packet delays may vary due to unpredictable mobility and radio interference.PS modes are typically sup-ported by letting low-power hosts wake up only in specific time.Without precise clocks,a host may not be able to know when other PS hosts will wake up to receive packets.Further,a host may not be aware of a PS host at its neighborhood since a PS host will reduce its transmitting and receiving ac-tivities.Such incorrect neighbor information may be detrimental to most current routing protocols because the route discovery procedure may incor-rectly report that there is no route even when routes actually exist with some PS hosts in the318Y.-C.Tseng et al./Computer Networks43(2003)317–337middle.These problems will be discussed in more details in Section2.In this paper,we propose three asynchro-nous power management protocols for multi-hop MANETs,namely dominating-awake-interval,pe-riodically-fully-awake-interval,and quorum-based protocols.We target ourselves at IEEE802.11-based LAN cards.The basic idea is twofold.First, we enforce PS hosts sending more beacon packets than the original IEEE802.11standard does. Second and most importantly,we carefully ar-range the wake-up and sleep patterns of PS hosts such that any two neighboring hosts are guaran-teed to detect each other infinite time even under PS mode.Based on our power-saving protocols,we then show how to perform unicast and broadcast in an environment with PS hosts.Simulation results are presented,which show that our protocols can save lots of powers when the traffic load is not high.The rest of this paper is organized as follows. Preliminaries are given in Section2.In Section3, we present our power-saving protocols.Unicast, broadcast and routing protocols based on our power-saving mechanisms are in Section4.Simu-lation results are presented in Section5.Section6 concludes this paper.2.PreliminariesIn this section,we start with a general review on power-saving works,followed by detailed design of PS mode in IEEE802.11.Then we motivate our work by pointing out some problems connecting to PS mode in multi-hop MANETs.2.1.Reviews of power mode management protocolsSeveral power management protocols have been proposed for MANET in[15,16,20,21].The power-aware multi-access protocol with signalling(PA-MAS)[15]protocol allows a host to power its radio offwhen it has no packet to transmit/receive or any of its neighbors is receiving packets,but a separate signalling channel to query neighboring hostsÕstates is needed.Ref.[16]provides several sleep patterns and allows mobile hosts to select their sleep patterns based on their battery status and quality of service,but a special hardware, called remote activated switch(RAS),is required which can receive wakeup signals even when the mobile host has entered a sleep state.A connected-dominated-set-based power-saving protocol is proposed in[20].Some hosts must serve as coor-dinators,which are chosen according to their remaining battery energies and the numbers of neighbors they can connect to.In the network, only coordinators need to keep awake;other hosts can enter the sleeping mode.Coordinators are re-sponsible of relaying packets for neighboring hosts.With a similar idea,a grid-based energy-saving routing protocol is proposed in[21].With the help of GPS,the area is partitioned in to small subareas called grids,in each of which only one host needs to remain active to relay packets for other hosts in the same grid.A page-and-answer protocol is proposed in[18] for wireless networks with base stations.A base station will keep on sending paging messages whenever there are buffered packets.Each mobile host powers up periodically.However,there is no time synchronization between the base station and mobile hosts.On reception of paging mes-sages,mobile hosts return acknowledgements, which will trigger the base station to stop paging and begin transmitting buffered packets.After receiving the buffered packets,mobile hosts re-turn to power-saving mode,and the process re-peats.When the system is too heavily loaded,the base station may spend most of its time in transmitting buffered packets,instead of paging messages.This may result in long packet delays for power-saving hosts.A theoretical analysis of [18]is in[22].Several software power-control issues for portable computers are discussed in [17].How to combine power management and power control for wireless cards is addressed in[19].2.2.Power-saving modes in IEEE802.11IEEE802.11[12]supports two power modes: active and power-saving(PS)modes.The protocols for infrastructure networks and ad hoc networks are different.Under an infrastructure network,Y.-C.Tseng et al./Computer Networks43(2003)317–337319there is an access point(AP)to monitor the mode of each mobile host.A host in the active mode is fully powered and thus may transmit and receive at any time.On the contrary,a host in the PS mode only wakes up periodically to check for possible incoming packets from the AP.A host always notifies its AP when changing modes.Pe-riodically,the AP transmits beacon frames spaced by afixed beacon interval.A PS host should monitor these frames.In each beacon frame,a traffic indication map(TIM)will be delivered, which contains IDÕs of those PS hosts with buf-fered unicast packets in the AP.A PS host,on hearing its ID,should stay awake for the remain-ing beacon interval.Under the contention period (i.e.,DCF),an awake PS host can issue a PS-POLL to the AP to retrieve the buffered packets. While under the contention-free period(i.e.,PCF), a PS host will wait for the AP to poll it.Spaced by afixed number of beacon intervals,the AP will send delivery TIMs(DTIMs)within beacon frames to indicate that there are buffered broadcast packets.Immediately after DTIMs,the buffered broadcast packets will be sent.Under an ad hoc network,PS hosts also wake up periodically.ATIM frames,instead of TIM frames,are sent.The ATIM frame is a subtype of the management frame,which contains frame control,duration,destination address,source ad-dress,BSSID,sequence control,and FCSfields. However,the frame bodyfield of the ATIM frame is null.The short interval that PS hosts wake up to transmit/receive ATIM frames to/from other hosts is called the ATIM window.It is assumed that hosts are fully connected and all synchronized,so the ATIM windows of all PS hosts will start at about the same time.In the beginning of each ATIM window,each host will contend to send a beacon frame.Any successful beacon serves as the purpose of synchronizing hostsÕclocks.This bea-con also inhibits other hosts from sending their beacons.To avoid collisions among beacons,a host should wait a random number of slots be-tween0and2ÂCW minÀ1before sending out its beacon.After the beacon,a host with buffered unicast packets can send a directed ATIM to each of its intended receivers in PS mode during the ATIM window to inform the receivers that there are buffered packets for them.A directed ATIM should be acknowledged immediately.If no ac-knowledgement is received,the ATIM shall be retransmitted using the DCF access procedure.A station transmitting an ATIM shall remain awake for the entire current beacon interval.If a station has buffered mutlicast frames,it shall transmit an appropriate addressed multi-cast ATIM.Multi-cast ATIM frames shall not be acknowledged. Immediately following the ATIM window,a sta-tion shall begin transmitting buffered multi-cast frames.Following the transmission of multi-cast frames,unicast packets can then be sent based on the DCF access procedure.If a mobile host is unable to transmit its ATIM frame in the current ATIM window or has extra buffered packets,it should retransmit ATIMs in the next ATIM win-dow.To protect PS hosts,only RTS,CTS,ACK, Beacon,and ATIM frames can be transmitted during the ATIM window.Fig.1shows an example,where host A wants to transmit a packet to host B.During the ATIM window,an ATIM frame is sent from A to B.In response,B will reply with an ACK.After the ATIM windowfinishes,A can try to send out its data packet.320Y.-C.Tseng et al./Computer Networks43(2003)317–3372.3.Problem statementThe PS mode of IEEE802.11is designed for a single-hop(or fully connected)ad hoc network. When applied to a multi-hop ad hoc network, three problems may arise.All these will pose a demand of redesigning the PS mode for multi-hop MANET.(A)Clock synchronization:Since IEEE802.11 assumes that mobile hosts are fully connected,the transmission of a beacon frame can be used to synchronize all hostsÕbeacon intervals.So the ATIM windows of all hosts can appear at around the same time without much difficulty.In a multi-hop MANET,clock synchronization is a diffi-cult job because communication delays and mobility are all unpredictable,especially when the network scale is large.Even if perfect clock syn-chronization is available,two temporarily parti-tioned subnetworks may independently enter PS mode and thus have different ATIM timing.With the clock-drifting problem,the ATIM windows of different hosts are not guaranteed to be synchro-nous.Thus,the ATIM window has to be re-designed.(B)Neighbor discovery:In a wireless and mobile environment,a host can only be aware by other hosts if it transmits a signal that is heard by the others.For a host in the PS mode,both its chances to transmit and to hear othersÕsignals are reduced. As reviewed above,a PS host must compete with other hosts to transmit its beacon.A host will cancel its beacon frame once it hears otherÕs bea-con frame.This may run into a dilemma that hosts are likely to have inaccurate neighborhood infor-mation when there are PS hosts.Thus,many ex-isting routing protocols that depend on neighbor information may be impeded.(C)Network partitioning:The above inaccurate neighbor information may lead to long packet delays or even network-partitioning problem.PS hosts with unsynchronized ATIM windows may wake up at different times and may be partitioned into several groups.These conceptually parti-tioned groups are actually connected.Thus,many existing routing protocols may fail to work in their route discovery process unless all hosts are awaken at the time of the searching process.3.Power-saving protocols for MANETIn this section,we present three asynchronous power-saving protocols that allow mobile hosts to enter PS mode in a multi-hop MANET.According to the above discussion,we derive several guide-lines in our design:•More beacons:To prevent the inaccurate-neigh-bor problem,a mobile host in PS mode should insist more on sending beacons.Specifically,a PS host should not inhibit its beacon in the ATIM window even if it has heard othersÕbea-cons.This will allow others to be aware of its existence.For this reason,our protocols will allow multiple beacons in an ATIM window.•Overlapping awake intervals:Our protocols do not count on clock synchronization.To resolve this problem,the wake-up patterns of two PS hosts must overlap with each other no matter how much time their clocks drift away.•Wake-up prediction:When a host hears another PS hostÕs beacon,it should be able to derive that PS hostÕs wake-up pattern based on their time difference.This will allow the former to send buffered packets to the later in the future.Note that such prediction is not equal to clock synchronization since the former does not try to adjust its clock.Based on the above guidelines,we propose three power-saving protocols,each with a different wake-up pattern for PS hosts.PS hostsÕwake-up patterns do not need to be synchronous.For each PS host,it divides its time axis into a number of fixed-length intervals called beacon intervals.In each beacon interval,there are three windows called active window,beacon window,and MTIM window.During the active window,the PS host should turn on its receiver to listen to any packet and take proper actions as usual.The beacon window is for the PS host to send its beacon,while the MTIM window is for other hosts to send their MTIM frames to the PS host.Our MTIM frames serve the similar purpose as ATIM frames in IEEE 802.11;here we use MTIM to emphasize that the network is a multi-hop MANET.Excluding these three windows,a PS host with no packet to send orY.-C.Tseng et al./Computer Networks43(2003)317–337321receive may go to the sleep mode.Fig.2(a)shows an example structure of a beacon interval.The following notations are used throughout this paper:•BI:length of a beacon interval,•AW:length of an active window,•BW:length of a beacon window,•MW:length of an MTIM window,where MW>BW.We should comment at this point that the structure of a beacon interval may vary for dif-ferent protocols(to be elaborated later).The il-lustration in Fig.2(a)is only one of the several possibilities.In the beacon window(resp.,MTIM window),hosts can send beacons(resp.,MTIM frames)following the DCF access procedure.Each transmission must be led by a SIFS followed by a random delay ranging between0and2ÂCW minÀ1slots.This is illustrated in Fig.2(b).3.1.Protocol1:dominating-awake-intervalThe basic idea of this approach is to impose a PS host to stay awake sufficiently long so as to ensure that neighboring hosts can know each otherand,if desire,deliver buffered packets.By ‘‘dominating-awake’’,we mean that a PS host should stay awake for at least about half of BI in each beacon interval.This guarantees any PS hostÕs beacon window to overlap with any neigh-boring PS hostÕs active window,and vice versa.This protocol is formally derived as follows. When a host decides to enter the PS mode,it di-vides its time axis intofixed-length beacon inter-vals,each of length BI.Within each beacon,the lengths of all three windows(i.e.,AW,BW,and MW)are constants.To satisfy the‘‘dominating-awake’’property,we enforce that AW P BI=2þBW.The sequence of beacon intervals is alternatively labeled as odd and even intervals.Odd and even intervals have different structures as de-fined below(see the illustration in Fig.3):•Each odd beacon interval starts with an active window.The active window is led by a beacon window and followed by an MTIM window.•Each even beacon interval also starts with an active window,but the active window is termi-nated by an MTIM window followed by a bea-con window.It is not hard to see that by imposing the active window occupying at least half of each beacon interval,we can guarantee that two hostsÕactive windows always have some overlapping.However, why we have different structures for odd and even beacon intervals remains obscure.Let us consider Fig.4,where beacon windows always appearat322Y.-C.Tseng et al./Computer Networks43(2003)317–337the beginning of beacon intervals.In this case,host A can hear host BÕs beacons,but B always misses AÕs beacons.On the contrary,as Fig.3shows,A can hear BÕs beacons at odd intervals,and B can hear AÕs beacons at even intervals.Earlier we imposed the condition AW P BI=2þBW.The following theorem provides a formal proof on the correctness of this protocol(proof available in Appendix A).Theorem1.The dominating-awake-interval proto-col guarantees that when AW P BI=2þBW,a PS host’s entire beacon window always overlaps with any neighboring PS host’s active window in every other beacon interval,no matter how much time their clocks drift away.The above theory guarantees that a PS host is able to receive all its neighborsÕbeacon frames in every two beacon intervals,if there is no collision in receiving the latterÕs beacons.Since the response time for neighbor discovery is pretty short,this protocol is suitable for highly mobile environ-ments.3.2.Protocol2:periodically-fully-awake-intervalThe previous protocol requires PS hosts keep active more than half of the time,and thus is not energy-efficient.To reduce the active time,in this protocol we design two types of beacon intervals: low-power intervals and fully-awake intervals.In a low-power interval,the length of the active win-dow is reduced to the minimum,while in a fully-awake interval,the length of the active window is extended to the maximum.Since fully-awake in-tervals need a lot of powers,they only appear periodically and are interleaved by low-power in-tervals.So the energy required can be reduced significantly.Formally,when a host decides to enter the PS mode,it divides its time axis intofixed-length beacon intervals of length BI.The beacon intervals are classified as low-power and fully-awake inter-vals.The fully-awake intervals arrive periodically every p intervals,and the rest of the intervals are low-power intervals.The structures of these bea-con intervals are defined as follows:•Each low-power interval starts with an active window,which contains a beacon window fol-lowed by an MTIM window,such that AW¼BW+MW.In the rest of the time,the host can go to the sleep mode.•Each fully-awake interval also starts with a bea-con window followed by an MTIM window.However,the host must remain awake in the rest of the time,i.e.,AW¼BI.Intuitively,the low-power intervals are for a PS host to send out its beacons to inform others about its existence.The fully-awake intervals are for a PS host to discover who are in its neighborhood.It is not hard to see that a fully-awake interval always has overlapping with any hostÕs beacon windows, no matter how much time their clocks drift away. By collecting other hostsÕbeacons,the host can predict when its neighboring hosts will wake up. Fig.5shows an example with p¼4intervals.So hosts AÕs and BÕs beacons always have chances to reach the otherÕs active windows.Proof of the following theorem is in Appendix B.Theorem2.The periodically-fully-awake-interval protocol guarantees that a PS host’s beacon win-dows overlap with any neighbor’s fully-awake in-tervals in every p beacon intervals,no matter how much time their clocks drift away.Compared to the previous dominating-awake-interval protocol,which requires a PS host to stay awake more than half of the time,this protocol can save more power as long as p>2.However, the response time to get aware of a newly ap-pearing host could be as long as p beacon intervals. So this protocol is more appropriate forslowlyY.-C.Tseng et al./Computer Networks43(2003)317–337323mobile environments.One way to reduce the re-sponse time is to decrease the value of p tofit oneÕs need.3.3.Protocol3:quorum-basedIn the previous two protocols,a PS host has to contend to send a beacon in each beacon interval. In this section,we propose a protocol based on the concept of quorum,where a PS host only needs to send beacons in Oð1=nÞof the all beacon intervals. Thus,when transmission takes more powers thanreception,this protocol may be more energy-effi-cient.The concept of quorums has been used widely in distributed system design(e.g.,to guar-antee mutual exclusion[23–26]).A quorum is a set of identities from which one has to obtain per-mission to perform some action[23].Typically, two quorum sets always have non-empty inter-section so as to guarantee the atomicity of a transaction.Here we adopt the concept of quorum to design PS hostsÕwakeup patterns so as to guarantee a PS hostÕs beacons can always be heard by othersÕactive windows.This is why our pro-tocol is named so.The quorum structure of our protocol is as follows.The sequence of beacon intervals is di-vided into sets starting from thefirst interval such that each continuous n2beacon intervals are called a group,where n is a global parameter.In each group,the n2intervals are arranged as a2-dimensional nÂn array in a row-major manner. On the nÂn array,a host can arbitrarily pick one column and one row of entries and these2nÀ1 intervals are called quorum intervals.The remain-ing n2À2nþ1intervals are called non-quorum intervals.Before proceeding,let us make some observa-tion from the quorum structure.Given two PS hosts that are perfectly time-synchronized,it is not hard to see that their quorum intervals always have at least two intersecting beacon intervals(see the illustration in Fig.6(a)).This is due to the fact that a column and a row in a matrix always have an intersection.Thus,two PS host may hear each other on the intersecting intervals.However,the above reasoning is not completely true since we do not assume that hosts are time-synchronized.For example,in Fig.6(b)and(c),host A selects in-tervals on row0and column1as its quorum in-tervals from a4·4matrix,while host B selects intervals on row2and column2as its quorum intervals.When perfectly synchronized,intervals2 and9are the intersections.The structures of quorum and non-quorum in-tervals are formally defined below:•Each quorum interval starts with a beacon win-dow followed by an MTIM window.After that, the host must remain awake for the rest of the interval,i.e.,AW¼BI.•Each non-quorum interval starts with an MTIM window.After that,the host may go to the sleep mode,i.e.,we let AW¼MW.The protocol guarantees the following property (proof in Appendix C).Theorem3.The quorum-based protocol guarantees that a PS host always has at least two entire beacon windows that are fully covered by another PS host’s active windows in every n2beacon intervals.The quorum-based protocol has advantage in that it only transmits in Oð1=nÞof the beacon in-tervals(on the contrary,the earlier two protocols have to transmit a beacon in every interval).In addition,it also keeps awake in Oð1=nÞof the time. As long as n P4,this amount of awaking time is less than50%.So this protocol is more energy-efficient when transmission cost is high.The backside is that a PS host may learn its vicinity at lower speed and that it might be more expensive toimplement.324Y.-C.Tseng et al./Computer Networks43(2003)317–337。