Extending a Graphical Toolkit for Two-Handed Interaction Stéphane Chatty
- 格式:pdf
- 大小:221.29 KB
- 文档页数:10
Keys to an open AEC ecosystem3 4 6 7 12121“ M ore than ever, we need to work together across teams, tools, and industries to tackle the challenges of our collective future. This is why Autodesk is committed to an open and interoperable software ecosystem defined by seamless data connection.”– A my Bunszel, EVP AEC Design Solutions, AutodeskScreen dataset courtesy of BNIMAs BIM mandates mark the transformation of the AEC industry, the prospect of eliminating data-sharing bottlenecks and creating more seamless ways of collaborating comes closer to reality.Autodesk has a long history of developing more open ways of working through BIM, chief among them an embrace of open data standards for better software interoperability and project team collaboration.Back in 1994, Autodesk was part of a founding group of companies that prioritized the creation of an industry collective to define and progressively advance open, vendor-neutral datastandards for working collaboratively in BIM. Today, buildingSMART International ® supports the advancement of openBIM ® and the implementation of open standards through a focused set of services and programs, from advocacy and awareness to training and software certification to thought and technical leadership.Now, as a member of the buildingSMART International ® Strategic Advisory Council, Autodesk is active in the technical debates that shape the evolution of openBIM ® from a file-based method for data exchange toward a modern, cloud-based data management infrastructure.LEARN MORE >Committed to open data standardsData in a common languageAs part of our long-standing commitment to cross-platform interoperability, we continue to ensure that our portfolio of products meets the rigorous certification standards defined by the openBIM® process.IFC4 Export CertificationAutodesk Revit has received dual IFC4 Export Certification for architecture and structural exports, making it the first BIM platform to earn both certifications. We are committed to supporting IFC across all disciplines, including the IFC 4.3 schema, now in pilot implementation for infrastructure. The buildingSMART International® StrategicAdvisory CouncilAs a member of the council, we help support openBIM®standards and adoption through technical andstrategic guidance and in conversation with the globalcommunity of openBIM® adopters and advocates.Open Design AllianceOur partnership with Open Design Alliance gives usaccess to ODA’s IFC toolkit, allowing us to integratenew versions as they become ratified.Helping AEC BIM workflows with free Autodesk add-insIn addition to open data standards, Autodesk provides and maintains free add-ins to support better data exchange between architects, engineers, contractors, and owners working in BIM.LEARN MORE >COMMON DATA ENVIRONMENTS Common data for all As the AEC industry becomes increasingly complex and data-driven, managing complexity through effective collaboration within project teams is key to streamlining design and delivery.Common data environments harness the full collaborative potential and productivity of AEC project teams from design to construction.A CDE ensures that project and design data are available, accessible, and interchangeable to project stakeholders and contributors by unifying and standardizing BIM processes within a framework of rules and best practices. And not only can a CDE improve data and communication flows for project teams, but it can also assist owners and facility managers by providing a comprehensive record of the project at handoff and a rich dataset for the building, bridge, or road starting the next chapter in operation.Autodesk Docs provides a cloud-based common data environment that can support standard information management processes such as ISO-19650 across the complete project lifecycle. ISO19650 defines effective information management for working in BIM collaborative processes for multi-disciplinary project teams and owners.LEARN MORE ABOUT CDE IN AUTODESK DOCS >“ F orge’s interoperability means everything to us. It saved us the many months it would have taken to find workarounds for so many data formats and accelerated time to market for our product.”- Zak MacRunnels, CEO, ReconstructLINK TO STORY >APIs extend BIM innovation An ever-growing community of product experts and professional programmers customize Autodesk products by creating add-ins that enhance productivity. Even writing just a few simple utilities to automate common tasks can greatly increase team or individual productivity. Both the APIs for developing add-ins and extensions and the resources for using them are public and available for anyone to use.THE AUTODESK DEVELOPER NETWORKMany professional software developers rely on the Autodesk Developer Network (ADN) to support software development and testing and help market their solutions. The ADN, moderated by Autodesk software engineers, offers blogs, forums, and events to support the growing app developer ecosystem. The Autodesk App Store features content libraries, e-books, training videos, standalone applications, and other CAD and BIM tools built by this professional development community.LEARN MORE >AUTODESK AEC INDUSTRY PARTNERSA key benefit of Autodesk’s support for developers is the emergence of a vibrant community of Autodesk AEC Industry Partners. Autodesk AEC Industry Partners are third-party technology and service providers that work with Autodesk to deliver discipline-specific regional solutions, extending out-of-the-box software capabilitiesto help solve targeted business challenges.LEARN MORE >Dynamo is a visual programming language that democratizes access to powerful development tools. It empowers its users by allowing them to build job-, industry-, and practice-specific computational design tools through a visual programming language that can be less daunting to learn than others. It brings automation to CAD and BIM processes and builds connections between workflows, both within and outside the Autodesk portfolio of solutions. DynamoPlayer, available with Revit and Civil 3D, allows for the sharing of computational design scripts for use by non-coders. Dynamo is powered by the ingenuity and passion of its user community. Their contributions of code and documentation and their embrace of an open-source ethos have expanded the horizon of what is possible in BIM computation.LEARN MORE ABOUT DYNAMO >Open source in actionFor better interoperability, there is no going it alone. Partnerships allow bonds to build, ideas to get tested, prototypes to launch, innovations to accelerate, industries to converge, and people to work collectively to make an impact. Collaboration across platforms and industriesNVIDIA OMNIVERSEWe’ve joined forces with leaders across design, business, and technology to explore and create within NVIDIA’sOmniverse. Built on Pixar’s open-source Universal Scene Description format, it provides real-time simulationsand cross-industry collaboration in design and engineering production pipelines.LEARN MORE >UNITYBy integrating Unity’s 2D, 3D, VR, and AR technologies withAutodesk design tools like Revit, 3ds Max, and Maya, AECprofessionals can quickly create, collaborate, and launchreal-time simulations from desktop, mobile, and hand-held devices.LEARN MORE >ESRIWe’re working with ESRI to integrate BIM and GIS processes,enabling a more efficient exchange of information betweenhorizontal and vertical workflows, minimizing data loss, andenhancing productivity with real-time project insights.LEARN MORE >Autodesk and Bentleysign interoperabilityagreementAutodesk makesRevit’s IFCimport/exporttoolkit availableas open sourceIFC4 is released andintegrated into RevitAnnounces partnershipwith Unity to betterintegrate design andsimulationAutodesk Docs extendssupport for ISO 19650Common Data Environment(CDE) workflowsAutodesk and others pilotimplementation of IFC4.3 forinfrastructure workflowsAutodesk developsDXF, an early openfile formatAcquires Revitand beginsdeveloping thepredecessorto IFCCo-founds buildingSMARTInternational® in partnershipwith other industry leaders*buildingSMARTInternational®establishes openBIM®Adds STL export inRevit and releasesopen-source STLpluginRevit adds COBieExtensionIFC is integrated intoAutodesk Inventor®Joins Open Design AllianceAutodesk and Trimble® signinteroperability agreementReceives IFC4 exportcertification for Revit forArchitecture and StructureAutodesk Navisworks addsCOBie ExtensionAnnounces collaborationwith NVIDIA on OmniverseAnnounces partnershipwith ESRI, integratingGIS and BIM processes*Founded as “Industry Alliance for Interoperability” and renamed “International Alliance for Interoperability” in 1996 before coming buildingSMART International® in 2006.BRIEF HISTORY AND RESOURCES11KEYS TO AN OPEN AEC ECOSYSTEMAutodesk and the Autodesk logo are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders. Autodesk reserves the right to alter product and services offerings, and specifications, and pricing at any time without notice, and is not responsible for typographical or graphical errors that may appear in this document. ©2021 Autodesk, Inc. All rights reserved.。
Analyzing Your System with Kernel TracingYou can select a topic from this diagram:Use the System Profiler to analyze your system via instrumentation.In this chapter...∙Introducing the QNX System Profilero Before you begin∙Configuring a target for system profilingo Launching the Trace Events Configuration wizardo Selecting options in the wizard∙Capturing instrumentation data in event log files∙Viewing and interpreting the captured datao The System Profiler editoro Other views in the System ProfilerIntroducing the QNX System ProfilerThe System Profiler is a tool that works in concert with the Neutrino instrumented kernel (procnto-instr) to provide insight into the operating system's events and activities. Think of the System Profiler as a system-level software logic analyzer. Like the Application Profiler, the System Profiler can help pinpoint areas that need improvement, but at a system-wide level.The instrumented kernel can gather a variety of events, including:∙kernel calls∙process manager activities∙interrupts∙scheduler changes∙context switches∙user-defined trace dataYou might use the System Profiler to solve such problems as:∙IPC bottlenecks (by observing the flow of messages among threads)∙resource contention (by watching threads as they change states)∙cache coherency in an SMP machine (by watching threads as they migrate from one CPU to another).Details on kernel instrumentation (such as types and classes of events) are more fullycovered in the System Analysis Toolkit (SAT) User's Guide.The QNX System Profiler perspective includes several components that are relevant to system profiling:Navigator viewEvents are stored in log files (with the extension .kev) within projects in your workspace.These log files are associated with the System Profiler editor.Target Navigator viewWhen you right-click a target machine in the Target Navigator, you can select KernelEvents Tracing..., which initiates the Trace Logging wizard. You use this wizard tospecify which events to capture, the duration of the capture period, as well as specificdetails about where the generated event log file (.kev file) will be stored.System Profiler editorThis editor provides the graphical representation of the instrumentation events in thecaptured log file. Like all other Eclipse editors, the System Profiler editor shows up in the editor area and can be brought into any perspective. This editor is automatically associated with .kev files, but if you have other file types that contain instrumentation data, you could associate the editor with those files as well.Trace Event Log viewThis view lists instrumentation events, as well as their details (time, owner, etc.),surrounding the selected position in the currently active System Profiler editor.General Statistics viewA tabular statistical representation of events.Statistics can be gathered for the entire log file or for aselected range.Condition Statistics viewA tabular or graphical statistical representation of the conditions used in the search panel. Event Owner Statistics viewA tabular statistical representation of events broken down per owner.Bookmarks viewJust as you can bookmark lines in a text file, here you can bookmark particular locationsand event ranges displayed in the System Profiler editor, then see your bookmarkedevents in the Bookmarks view.The QNX System Profiler perspective may produce incorrect results when more than oneIDE is communicating with the same target system. To use this perspective, make sure only one IDE is connected to the target system.Before you beginAs mentioned earlier, in order to capture instrumentation data for analysis, the instrumented kernel (procnto-instr) must be running. This kernel is a drop-in replacement for the standard kernel (though the instrumented kernel is slightly larger). When you're not gathering instrumentation data, the instrumented kernel is almost exactly as fast as the regular kernel.To know if the instrumented kernel is running, enter this command:ls /proc/bootIf procnto-instr appears in the output, then the OS image is running the instrumented kernel.To substitute the procnto-instr module in the OS image on your board, you can either manually edit your buildfile, then run mkifs to generate a new image, or use the SystemBuilder perspective to configure the image's properties.Replacing the kernel using the System Builder1. In the System Builder Projects view, double-click the project.bld file for the imageyou want to change.2. In the Images pane of the System Builder editor, select the image.3. In the Properties view, click the Procnto field (under System). A dropdown-menu buttonappears in the field:4. Select procnto-instr, press Enter, then save your change.5. Rebuild your project, then transfer your new OS image to your board.Assuming you're running the instrumented kernel on your board, you're ready to use the System Profiler. A profiling session usually involves these three steps:∙Configuring a target for system profiling.∙Capturing instrumentation data in event log files.∙Viewing and interpreting the captured data.Configuring a target for system profilingYou can gather trace events from the instrumented kernel in two different ways. You run a command-line utility (e.g. tracelogger) on your target to generate a log file, and then transfer that log file back to your development environment for analysis. Or, you can capture events directly from the IDE using the Trace Events Configuration wizard.In order to get timing information from the kernel, you need to run tracelogger asthe root user.If you gather system profiling data through qconn in the IDE, you're already accessing the instrumented kernel as root.Using the command-line server currently offers more flexibility as to when the data is captured, but requires that you set up and configure filters yourself using the TraceEvent() API. The Trace Events Configuration wizard lets you set a variety of different static filters and configure the duration of time that the events will be logged for.For more information on the tracelogger utility, see its entry in the Utilities Reference.For TraceEvent(), see the Library Reference.Launching the System Profiler Configuration wizard In the Target Navigator view, right-click a target, then select Kernel Events Tracing... fromthe menu.If you don't have the Target Navigator view open, choose Window-->Show View-->Other..., then QNX Targets-->Target Navigator.If you don't already have a target project, you'll have to create one:In the Target Navigator, right-click and select Add NewTarget.You can use this target project for a number of different tasks (debugging, memory analysis, profiling), so once you create it, you won't have to worry about connecting to your targetagain. Note also that the qconn target agent must be running on your target machine.Selecting options in the wizardThe wizard takes you through the process of selecting:∙the location of the captured log file (both on the target temporarily and on the host in your workspace)∙the duration of the event capture∙the size of the kernel buffers∙the event-capture filters (to control which events will be captured).Here are the main fields in this wizard:Save Project asThe name you want to use for the kernel events log file (.kev) in your workspace. Tracing method, Type (Period of time)The duration of the capture of events as defined by a time. This is the default.Tracing method, Period lengthFloating-point value in seconds representing the length of time to capture kernel events on the target.Tracing method, Type (Iterations)The duration of the capture of events as defined by the number of kernel event buffers. Tracing method, Number of IterationsTotal number of full kernel event buffers to log on the target.Trace file, Mode (Save on target then upload)In this mode, kernel event buffers are first saved in a file on the target, then uploaded toyour workspace. This is the default.Trace file, Filename on targetName of the file used to save the kernel event buffers on the target.Trace file, Mode (Stream)In this mode, no file is saved on the target. Kernel event buffers are directly sentfrom qconn to the IDE.Trace statistics File, Mode (Generate only on the target)The information file will be generated only on the target. This is the default.Trace statistics file, Mode (Do not generate)No file will be generated.If your target is running QNX 6.2.1, you must use this optioninstead of "Generate only on the target" because the tracestatistics file is not supported under QNX 6.2.1.Trace statistics File, Mode (Save on target then upload)The statistical information is first saved in a file on the target, then uploaded to yourworkspace.Trace statistics File, Filename on targetName of the file used to save the statistical information on the target.Buffers, Number of kernel buffersSize of the static ring of buffers allocated in the kernel.Buffers, Number of qconn buffersMaximum size of the dynamic ring of buffers allocated in the qconn target agent. Capturing instrumentation data in event log filesRegardless of how your log file is captured, you have a number of different options for how to regulate the amount of information actually captured:∙On/Off toggling of tracing∙Static per-class Off/Fast/Wide mode filters∙Static per-event Off/Fast/Wide mode filters∙User event-handler filters(For more information, see the SAT User's Guide.)The IDE lets you access the first three of the above filters. You can enable tracing (currently done by activating the tracing wizard), and then select what kind of data is logged for various events in the system.The events in the system are organized into different classes (kernel calls, communication, thread states, interrupts, etc). You can toggle each of these classes in order to indicate whether or not you want to generate such events for logging.The data logged with events comes in the following modes:Fast modeA small-payload data packet that conveys only the most important aspects of the particularevent. Better for performance.Wide modeA larger-payload data packet that contains a more complete event definition, with morecontext. Better for understanding the data.Class SpecificThis mode lets you select Disable (no data is collected), Fast, Wide, or Event Specific foreach of the following event classes:∙Control Events∙Interrupts∙Process and Thread∙Container∙CommunicationChoosing Event Specific lets you select Disable, Fast, or Wide for each event in that class.Depending on the purpose of the trace, you'll want to selectively enable different tracing modes for different types of events so as to minimize the impact on the overall system. For its part in the analysis of these events, the IDE will do its best to work with whatever data is present. (But note that some functionality may not be available for post-capture analysis if it isn't present in the raw event log. ;-))Viewing and interpreting the captured dataOnce an event file is generated and transferred back to the development host for analysis (whether it was done automatically by the IDE or generated by using tracelogger and manually extracted back to the IDE), you can then invoke the System Profiler editor.If you receive a "Could not find target: Read timed out." error while capturing data, it'spossible that a CPU-intensive program running at a priority the same as or higherthan qconn is preventing qconn from transferring data back to the host system.If this happens, restart qconn with the qconn_prio= option to specify a higher priority.You can use hogs or pidin to see which process is keeping the target busy, and discover its priority.The IDE includes a custom perspective for working with the System Profiler. This perspective sets up some of the more relevant views for easy access.The System Profiler editorIn order to start examining an event file, the easiest way is to name it with a .kev (kernel event) extension. Files with this extension are automatically bound to the System Profiler editor.The System Profiler editor is the center of all of the analysis activity. It provides different visualization options for the event data in the log files:CPU Activity presentationDisplays the CPU activity associated with a particular thread of process. For a thread, CPU activity is defined as the amount of runtime for that thread. For a process, CPU activity isthe amount of runtime for all the process's threads combined.CPU Usage presentationDisplays the percent of CPU usage associated with all event owners. CPU usage is theamount of runtime that event owners get. CPU usage can also be displayed as a timeinstead of a percentage.Element Activity presentationDisplays CPU usage for an individual selected process or thread.Timeline presentation (the default)Displays events associated with their particular owners (i.e. processes, threads, andinterrupts) along with the state of those particular owners (where it makes sense to do so).The Timeline presentation is the default. To choose one of the other types, right-click in the editor, then select Display-->Toggle. Then choose one of:∙CPU Activity,∙CPU Usage, or∙Element Activity.For displays other than the Timeline, you can display the data using your choice of graph byright-clicking the graph and choosing Graph Type. Select one of the graph types from the list:∙Line Graph∙Bar Graph∙Histogram∙Pie Chart3D versions of the graphs are also available, with the exception of the Pie Chart which has no 3D version.Each of these visualizations is available as a "pane" in a stack of "panes." Additionally, the visualization panes can be split -- you can look at the different sections of the same log file and do comparative analysis.All panes of the same stack share the same display information. A new pane inherits the display information of the previous pane, but becomes independent after it's created.To split the display, right-click in the editor, then select Display-->Split. Note that you can lock two panes to each other. From the Split sub-menu, choose the graph you want to display in the new pane:∙CPU Activity,∙CPU Usage,∙Element Activity, or∙Timeline.You can have a maximum of four panes.A number of different features are available from within the editor:Event owner selectionClicking on event owners will select them in the IDE. These selected event owners canthen be used by other components of the IDE (such as Filters and Find).If an owner has children (e.g. a parent process with threads), you'll see an plus sign beside the parent's name. To see a parent's children, click the plus sign (or press Shift-E toexpand all owners, and Shift-C to collapse).FiltersEvent owners and specific events can be filtered out using the Event OwnerFilters and Event Filters items in the right-click (context) menu. You can use this filteringfeature to significantly cut down on the unwanted event "noise" in the display. Once filtered, the log file can be saved as a new log file (using Save As) to produce a smaller, moresuccinct log file for further examination.For example, to view only processes that are sending pulses, right-click in the timeline,then select Event Owner Filters-->Show Only-->MsgSend Family.FindPressing Ctrl-F (or selecting Edit-->Find/Replace) will open up a dialog that lets youquickly move from event to event. This is particularly useful when following the flow ofactivity for a particular event owner or when looking for particular events.BookmarksYou can place bookmarks in the timeline editor just as you would to annotate text files.Press the B key to add a bookmark, or right-click in the editor and choose Bookmark from the menu.These bookmarks show up in the Bookmarks view and can represent a range of time or a single particular event instance.Cursor trackingThe information from the System Profiler editor is also made available to othercomponents in the IDE such as the Trace Event Log and the Trace EventStatistics views. These views can synchronize with the cursor, event owner selections,and time ranges, and can adjust their content accordingly.IPC representationThe flow of interprocess communication (e.g. messages, pulses) is represented by avertical arrow between the two elements.You can toggle IPC tracing on/off by pressing I or clicking this button in the toolbar:Display Event LabelsThe Display Event Labels button in the toolbar () toggles kernel event labels. I/Oevents, memory events, etc. are all given labels when this is enabled:Types of selectionWithin the editor, you can select either of the following:∙an element (e.g. a process or thread)∙ a point in time.ElementsTo select a single element, simply click the element's name. To unselect an element, press and hold the Ctrl key, then click each selected element's name.To select multiple elements, press and hold the Ctrl key, then click each element's name.TimeTo select a point in time, click an element on the timeline.To select a range, click the start point on the timeline, then drag and release at the end point.Or, select the start point, then hold down the Shift key and select the end point.ZoomingWhen zooming in, the display will center the selection. If a time-range selection is smaller than the current display, the display will adjust to the range selection (or by a factor of two).When zooming out, the display will center the selection and adjust by a factor of two.When using a preset zoom factor (100% to 0.01%), the display will center the current selection and adjust to the new factor.There are various ways to zoom:∙right-click menu (Display-->Zoom)∙toolbar icons∙hotkeys (zoom in: +; zoom out: -)ScrollingYou use these keys to scroll through time:You use these keys to scroll through elements:HoveringWhen you pause your mouse pointer over an element or an event, you'll see relevant information (e.g. PID, timestamps, etc.).Other views in the System ProfilerThere are a number of additional components outside of the editor that you can use to examine the event data in more detail:Trace Event Log viewThis view can display additional details for the events surrounding the cursor in the editor.The additional detail includes the event number, time, class, type as well as decoding thedata associated with a particular event.Trace Search panelInvoked by Ctrl-H (or via Search-->Search...), this panel lets you execute more complexevent queries than are possible with the Find dialog.You can define conditions, which may include regular expressions for matching particularevent data content (e.g. all MsgSend events whose calling function correspondsto mmap()). You can then evaluate these conditions and place annotations directly intothe System Profiler editor. The results are shown in the Search view.Unlike the other search panels in the IDE, the Trace Search panel can search for eventsonly in the currently active System Profiler editor. You use this search panel to buildconditions and then combine them into an expression. A search will iterate through theevents from the active log file and be applied against the expression; "hits" appear inthe Search Results view and are highlighted in the System Profiler editor.By default, the Trace Search panel will return up to 1000 hits. You can change thismaximum on the QNX-->System Profiler of the Preferences dialog(Window-->Preferences).Condition Statistics, Event Owner Statistics, General Statistics viewsThese views provide a tabular statistical representation of particular events. The statisticscan be gathered for the entire log file or for a selected range.You'll need to click the Refresh button () to populatethese views with data.Here's an example of the General Statistics view:Properties viewShows information about the log file that was captured, such as the date and time as well as the machine the log file was captured on.。
欧阳学文这是由于显卡驱动的安装信息文件inf里面缺少相应的设备ID造成的,也就是安装信息文件inf里没有对应的显卡型号。
以NVIDIAGeForce GT130M显卡驱动为例1.下载显卡驱动去官网下载最新的显卡驱动,下载完后双击安装,就会提示上图信息。
关闭对话框,到C盘找到NVIDIA文件夹,如图打开文件夹,如图,说明:这么多inf文件,每个厂商用的文件都是不同的宏碁是nvac.inf ,华硕是nvam.inf,联想是nvlt.inf,戴尔是nvdm.inf特别说明:nvct.inf是仁宝,夹杂仁宝代工的DELL,联想和Gateway(联想Y450要修改的是nvlt.inf文件)更多厂商对应的inf文件请百度接下来就找到自己对应厂商的inf文件,用记事本打开找到需要修改的inf文件后,我们就需要查找自己显卡的硬件ID了2.查找自己显卡的硬件ID右击我的电脑-管理-设备管理器-显示适配器-右键属性-详细信息-属性-硬件ID找到我们所需要的硬件ID(第二行),就是:PCI\VEN_10DE&DEV_0652&SUBSYS_387A17AA 不同显卡的机器对应的ID是不一样的这串ID我们要特别注意SUBSYS之前的"0652"这四个字符,它代表了你所对应的显卡比如:0652代表GT130M,0A34代表GT240M,0DF4代表GT540M接下来我们就需要修改inf文件了3.将inf文件中的硬件ID修改为自己显卡的硬件ID首先注意一点,打开inf文件后,我们可以看到硬件ID 列表找到[NVIDIA_SetA_Devices.NTx86.6.1]] 那行NT6.0是vista的代号,NT6.1是win7的代号,NT6.2是win8的代号所以对于win7用户,我们要确保修改的ID在[NVIDIA_SetA_Devices.NTx86.6.1]的下面,如图:然后就需要用到前面那串硬件ID,我们在前面找到的ID 是PCI\VEN_10DE&DEV_0652&SUBSYS_387A17AA按ctrl+F,搜索"0652"这四个字符,结果如下图:注:上面说过了,找到的内容要在[NVIDIA_SetA_Devices.NTx86.6.1]的下面我们可以看到,蓝色选中的那行即是GT130M对应的显卡驱动信息文件。
8Administrator's Manual ContentsVersion 7.6 3 One Voice Operations Center Table of Contents1 Introduction (7)1.1About this Guide ..................................................................................................... 7 1.2About the Agent ...................................................................................................... 7 1.3Benefits .................................................................................................................. 7 1.4 Security (8)1.4.1 Managing Devices within the Same Network as OVOC .......................................... 8 1.4.2 Managing Devices behind a NAT ........................................................................... 9 1.4.3 Sending Actions from OVOC to Devices behind a NAT, via Agent (10)2 Setting up Device Manager Agents ................................................................. 13 2.1 Enabling Device Manager to Support Agents . (13)2.2 Installing a Device Agent (13)2.3 Configuring a Device Agent .................................................................................. 14 2.4Configuring a Tenant ............................................................................................ 15 3Monitoring Device Manager Agents (17)IP Phone Manager Pro and ExpressAdministrator's Manual 4Document #: LTRT-91200 List of FiguresFigure 1-1: Managing Devices within the Same Network as OVOC ..................................................... 8 Figure 1-2: Managing Devices behind a NAT ...................................................................................... 9 Figure 1-3: Sending Actions from OVOC to Devices behind a NAT, Using Manager Agent ................ 10 Figure 1-4: Device Manager Key ....................................................................................................... 10 Figure 2-1: Enabling Manager Device to Support Agents ................................................................... 13 Figure 2-2: Agent’s Web Interface ..................................................................................................... 14 Figure 2-3: Tenant Configuration ....................................................................................................... 15 Figure 3-1: Monitoring Device Manager Agents (17)Administrator's Manual NoticesVersion 7.6 5 One Voice Operations Center NoticeInformation contained in this document is believed to be accurate and reliable at the time of printing. However, due to ongoing product improvements and revisions, AudioCodes cannot guarantee accuracy of printed material after the Date Published nor can it accept responsibility for errors or omissions. Updates to this document can be downloaded from https:///library/technical-documents .This document is subject to change without notice.Date Published: March-24-2019WEEE EU DirectivePursuant to the WEEE EU Directive, electronic and electrical waste must not be disposed of with unsorted waste. Please contact your local recycling authority for disposal of this product. Customer SupportCustomer technical support and services are provided by AudioCodes or by an authorized AudioCodes Service Partner. For more information on how to buy technical support for AudioCodes products and for contact information, please visit our website at https:///services-support/maintenance-and-support .Stay in the Loop with AudioCodesDocumentation FeedbackAudioCodes continually strives to produce high quality documentation. If you have any comments (suggestions or errors) regarding this document, please fill out the Documentation Feedback form on our Web site at /documentation-feedback .IP Phone Manager Pro and ExpressAdministrator's Manual 6Document #: LTRT-91200 Abbreviations and TerminologyEach abbreviation, unless widely used, is spelled out in full when first used.Related DocumentationDocument Revision RecordAdministrator's Manual 1. Introduction Version 7.6 7 One Voice Operations Center1Introduction 1.1 About this GuideThis guide shows how to install and configure the Device Manager Agent software application in order to manage devices located behind a NAT | Firewall from the OVOC.1.2 About the AgentThe Device Manager Agent is software that can run on a Windows machine, downloadable from AudioCodes website. The Agent is installed on a specific host by the network administrator using an msi file. The host machine must use one of the following operating systems:⏹Windows 10 ⏹Windows server 2012 ⏹ Windows server 2016The Agent is configured with the OVOC’s FQDN or IP address. The Agent is also configured with the OVOC tenants related to it. The Agent is configured with a key, used to authenticate the Agent in the OVOC. After the Agent is configured and running, it sends a message to the OVOC at < 60 second intervals to check if there are actions for the devices under it. If there are, the Agent fetches an action list from the OVOC and performs the actions one by one on each device. The action list is:⏹Check status ⏹Update firmware ⏹Reset phone ⏹Update configuration ⏹ Send messageThe Agent is stateless, i.e., it does not know if the action was successful or not.1.3 BenefitsThe Device Manager Agent enables network administrators using the OVOC to manage devices located behind a NAT | Firewall in a local enterprise network, from a global cloud network.The Agent application allows the OVOC to send actions directly to devices.Deployed on an enterprise’s premises, the Agent opens a communications channel with the OVOC located in the global cloud network. The OVOC is then able to send commands to devices in the local network.The OVOC consequently allows⏹Internet Telephony Service Providers (ITSPs) to remotely manage devices in enterprise customer networks, through cloud services ⏹Software as a Service (SaaS) by a centralized hosting business ⏹ Enterprise network administrators to manage devices located within their own networkIP Phone Manager Pro and ExpressAdministrator's Manual 8Document #: LTRT-91200 1.4 SecurityThe connection between the OVOC and the Agent is secured using HTTPS over port 443. The Agent can operate with the devices using HTTPS as well.1.4.1 Managing Devices within the Same Network as OVOCThe OVOC allows enterprise network administrators to manage devices located within their own network, viz., the on-premises solution.⏹Devices send a keep-alive message to the OVOC once every hour ⏹The keep-alive timeout can be reduced per the number of the devices in the network ⏹ Actions are sent interactively from the OVOC to the devicesFigure 1-1: Managing Devices within the Same Network as OVOCAdministrator's Manual 1. Introduction1.4.2 Managing Devices behind a NAT⏹Devices send a keep-alive message to the OVOC once every hour⏹The keep-alive timeout can be reduced per the number of the devices in the network⏹The OVOC can’t send actions to devices; devices send a configuration file (which caninclude actions) downloaded from the OVOC once a day (configurable).Figure 1-2: Managing Devices behind a NATVersion 7.6 9 One Voice Operations CenterIP Phone Manager Pro and ExpressAdministrator's Manual 10Document #: LTRT-91200 1.4.3 Sending Actions from OVOC to Devices behind a NAT, via Agent⏹Devices send a keep-alive message to the OVOC once every hour ⏹The keep-alive timeout can be reduced per the number of the devices in the network ⏹ Actions are sent interactively from the OVOC to the devices, communicating via aNAT pinhole created by the Agent. The Agent checks for new actions for devices related to it, in the OVOC. If actions are present, the Agent performs them on the devices.Figure 1-3: Sending Actions from OVOC to Devices behind a NAT, Using Manager AgentThe OVOC determines per tenant if devices are behind a NAT and if an Agent is installed. The Device Manager has its own unique key to ensure that only authenticated Agents can access the application. The key is displayed in the ‘Devices Agents Configuration’ page of the Device Manager.Figure 1-4: Device Manager KeyAdministrator's Manual 1. IntroductionVersion 7.6 11 One Voice Operations CenterThe network administrator must configure this key on the Agent, using the Agent’s Web Interface (see under Section 2.3 for detailed information). This must be done for Agent authentication purposes.Each tenant operating with an Agent aggregates the actions of all devices under it. An Agent can handle more than one tenant.When a network administrator performs an action in the OVOC on a specific device or list of devices, a message pops up indicating that the action was sent to the device and the status of the device will be updated in a few minutes.Actions are stateless; after the Agent receives the list of actions, it’s deleted from the OVOC. Actions are not reliable; the network administrator can only determine if an action was performed by viewing the device status and device alarms.IP Phone Manager Pro and ExpressAdministrator's Manual 12Document #: LTRT-91200This page is intentionally left blank.Administrator's Manual 2. Setting up Device Manager AgentsVersion 7.613One Voice Operations Center2Setting up Device Manager AgentsBefore installing and configuring the Device Manager Agent, the Device Manager must be enabled to support Agents as shown in the next section.2.1Enabling Device Manager to Support AgentsThe network administrator can enable support for the Agent in the Device Manager.To enable support for the Agent:1. In the Device Manager, open the Devices Agents Configuration page (Setup > System> Device Agents ). 2. Drag the Enable Manager Device Agents slider to the ‘on’ position.Figure 2-1: Enabling Manager Device to Support Agents3. Click Save ; the Device Manager now supports Agents.4. Make sure that the iconis displayed in the uppermost right corner of the DeviceManager GUI.5. If it isn’t displayed, log out and log in again.2.2 Installing a Device AgentBefore installing the Device Manager Agent software application, make sure you have a clean Windows server ⏹ with at least two cores for every 300 devices ⏹ inside the NAT network (mandatory) ⏹ able to reach all devices (mandatory)To download the installation:1. Click2. Go to your Windows server and install it.IP Phone Manager Pro and ExpressAdministrator's Manual 14Document #: LTRT-912002.3 Configuring a Device AgentAfter installing the Device Manager Agent software application on the desktop, view the following icon displayed:To configure a Device Agent:1. Click the icon shown above which is displayed after installing the Device Manager Agentsoftware application on the desktop; the Agent’s Web Interface page opens.Figure 2-2: Agent’s Web Interface2. Enter the OVOC’s IP Address/FQDN.3. In the ‘Manager Service Key’ field, enter the key. Obtain it from its field displayed in the‘Devices Agents Configuration’ page in the Device Manager (Setup > System > Device Agents ) (see Figure 1-4). 4. Enter a tenant name (you can set more than one tenant using the + icon) 5. Click Save Parameters .Administrator's Manual 2. Setting up Device Manager AgentsVersion 7.6 15 One Voice Operations Center2.4 Configuring a TenantDevices can send all their traffic directly to the OVOC or through an Agent. For devices to send their traffic through an Agent (recommended), you need to perform configuration at the tenant level. The tenants are the same tenants you configure in the Agent. To configure a tenant:⏹In the Device Manager, open the Tenant Configuration page (Setup > Devices Configuration > Tenant Configuration ).Figure 2-3: Tenant ConfigurationTo configure keep-alive traffic to be sent via the Agent:ems_server/provisioning/url http://AGENT_IPTo configure configuration files traffic to be sent via the Agent:provisioning/configuration/url http://AGENT_IP/configfilesTo configure firmware files traffic to be sent via the Agent:provisioning/firmware/url http://AGENT_IP/firmwarefiles/%ITCS_FirmwareFile%IP Phone Manager Pro and ExpressAdministrator's Manual 16Document #: LTRT-91200This page is intentionally left blank.Administrator's Manual 3. Monitoring Device Manager AgentsVersion 7.6 17 One Voice Operations Center3 Monitoring Device Manager AgentsThe Device Manager allows network administrators to view a list of Device Manager Agents registered to the deployment as well as view the last action each Agent performed for its devices.To monitor Agents:1. In the Device Agents Configuration page, click thebutton orthe icondisplayed in the uppermost right corner. Figure 3-1: Monitoring Device Manager Agents2. View in the Devices Agents Status page that opens (shown in the preceding figure):• the names of the Agents registered in the deployment• the names of the Tenants under which Agents are registered • the date and time each Agent was registered • the last action each Agent performed for its devicesInternational Headquarters AudioCodes Inc.1 Hayarden Street, 200 Cottontail Lane,Airport City Suite A101E, Somerset, NJ 08873Lod 7019900, Israel Tel: +1-732-469-0880Tel: +972-3-976-4000 Fax: +1-732-469-2298Fax: +972-3-976-4040Contact us: https:///corporate/offices-worldwideWebsite: © 2019 AudioCodes Ltd. All rights reserved. AudioCodes, AC, HD VoIP, HD VoIP Sounds Better, IPmedia, Mediant, MediaPack, What’s Inside Matters, OSN, SmartTAP, User Management Pack, VMAS, VoIPerfect, VoIPerfectHD, Your Gateway To VoIP, 3GX, VocaNom, AudioCodes One Voice and CloudBond are trademarks or registered trademarks of AudioCodes Limited. All other products or trademarks are property of their respective owners. Product specifications are subject to change without notice.Document #: LTRT-91200。
RDA5802ES INGLE -C HIP B ROADCAST FM R ADIO T UNER Rev.1.7–Jun.20091 General DescriptionThe RDA5802Esingle-chip broadcast decoder. The tuner support The RDA5802E can frequency band.1.1Featuresl l Ø power supplyl Ø 65 -108 MHz l Digital low-IF tunerØ Image-reject down-converter Ø High performance A/D converter Ø IF selectivity performed internally l Fully integrated digital frequency synthesizerØ Fully integrated on-chip RF and IF VCO Ø Fully integrated on-chip loop filter l Autonomous search tuning l Support 32.768KHz crystal oscillator l Digital auto gain control (AGC) l Digital adaptive noise cancellationØ Mono/stereo switch Ø Soft mutel Line-level analog output voltagel 32.768 KHz 12M,24M,13M,26M,19.2M,38.4MHzReference clockl 2-wire and 3-wire serial control bus interface l Directly support 32Ω resistance loading l Integrated LDO regulatorØ 1.8 to 5.5 V operation voltage l 4X4mm 24 pin QFN package 1.2Applicationsl Cellular handsets l MP3, MP4 playersl Portable radios ,PDAs, NotebookFigure 1-1. RDA5802E Top View2 Table of Contents1General Description (1)1.1 Features (1)1.2Applications (1)2Table of Contents (2)3Functional Description (3)3.1 FM Receiver (3)3.2 Synthesizer (3)3.3 Power Supply (3)3.4 RESET and Control Interface select (4)3.5 Control Interface (4)3.6 I2S Audio Data Interface (4)3.7 GPIO Outputs (4)4Electrical Characteristics (5)5Receiver Characteristics (6)6Serial Interface (7)6.1 Three-wire Interface Timing (7)6.2 I2C Interface Timing (8)7Register Definition (9)8 Pins Description (13)9Application Diagram (15)9.1 Audio Loading Resistance Larger than 32Ω & TCXO Application: (15)9.1.1 Bill of Materials: (15)9.2 Audio Loading Resistance Lower than 32Ω & DCXO Application: (16)9.2.1 Bill of Materials: (16)10Package Physical Dimension (17)11PCB Land Pattern (18)12Change List (21)13Notes: (21)14RDA5802E与RDA5802对比 (22)15Contact Information (23)3Functional Descriptionconverters (ADCs), an audio DSP and a high- fidelity digital-to-analog converters (DACs). The LNA has differential input ports (LNAP and LNAN) and supports any input port by set according registers bits (LNA_PORT_SEL[1:0]). It default input common mode voltage is GND. The limiter prevents overloading and limits the amount of intermodulation products created by strong adjacent channels.The quadrature mixer down converts the LNA output differential RF signal to low-IF, it also has image-reject function.The PGA amplifies the mixer output IF signal and then digitized with ADCs.3.2SynthesizerThe frequency synthesizer generates the local oscillator signal which divide to quadrature, then be used to downconvert the RF input to a constant low intermediate frequency (IF). The synthesizer reference clock is 32.768 KHz. The synthesizer frequency is defined by bits CHAN[9:0] with the range from 65MHz to 108MHz. 3.3Power SupplyThe RDA5802E integrated one LDO which supplies power to the chip. The external supplyvoltage range is 1.8-5.5 V. 3.4RESET and Control Interface selectThe RDA5802E is RESET itself When VIO is Power up. And also support soft reset by trigger 02H BIT1 from 0 to 1. The control interface is select by MODE Pin. The MODE Pin is low ,I2C Interface is select. The MODE Pin is set to VIO, SPI Interface is select. 3.5Control InterfaceThe RDA5802E supports three- wire and I 2C control interface. User could select either of them to program the chip.The three-wireinterface. It includes 4-bit high register at posedge of SCLK. (MSB is the first bit) around cycle between and data from The I 2C interface SDIO. A I 2a 7-bit chip address The ACK (or NACK) is always sent out by receiver. When in write transfer, data bytes is written out from MCU, and when in read transfer, data bytes is read out from RDA5802E. There is no visible register address in I 2C interface transfers. The I 2C interface has a fixed start register address (0x02h for write transfer and 0x0Ah for read transfer), and an internal incremental address counter. If register address meets the end of register file, 0x3Ah, register address will wrap back to 0x00h. For writetransfer, MCU programs registers from register 0x02h high byte, then register 0x02h low byte, then register 0x03h high byte, till the last register. RDA5802E always gives out ACK after every byte, and MCU gives out STOP condition when register programming is finished. For read transfer, after command byte from MCU, RDA5802E sends out register 0x0Ah high byte, then register 0x0Ah low byte, then register 0x0Bh high byte, till receives NACK from MCU. MCU gives out ACK for data bytes besides last data byte. MCU gives out NACK for last data byte, and then RDA5802E will return the bus to MCU, and MCU will give out STOP condition.Details refer to RDA5802E Programming Guide . 2is fully compliant as I 2S master and rate is 48Kbps ,also support as . with bits GPIO1[1:0], pins could be and stereo indicator with bits GPIO1[1:0], GPIO2[1:0], GPIO3[1:0]. GPIO2 could be programmed to output a low interrupt (interrupt will be generated only with interrupt enable bit STCIEN is set to high) when seek/tune process completes. GPIO3 could be programmed to output stereo indicator bit ST. Constant low, high or high-Z functionality is available regardless of the state of VA and VD supplies or the ENABLE bit.Figure 3-2. I2S Digital Audio Format4 Electrical CharacteristicsTable 4-1DC Electrical Specification (Recommended Operation Conditions):1. For Pin: SCLK, SDIO, SEN, MODETable 4-3 Power Consumption Specification(VDD = 1.8 to 5.5 V, T A = -25 to 85 ℃, unless otherwise specified)SYMBOLDESCRIPTIONCONDITIONTYP UNIT I A Analog Supply Current ENABLE=1 18 mA I D Digital Supply Current ENABLE=13mA I VIO Interface Supply Current SCLK and RCLK inactive 90 µA I APD Analog Powerdown Current ENABLE=0 2 µA I DPD Digital Powerdown Current ENABLE=0 2 µA I VIOInterface Powerdown CurrentENABLE=010µASCK5 Receiver CharacteristicsTable 5-1 Receiver Characteristics(VDD = 2.7 to 5.5 V, T A = -25 to 85 °C, unless otherwise specified)Notes:1. F in=65 to 108MHz; F mod=1KHz; de-emphasis=75µs; MONO=1; L=R unless noted otherwise;2. ∆f=22.5KHz;3. B AF = 300Hz to 15KHz, RBW <=10Hz;4. |f2-f1|>1MHz, f0=2xf1-f2, AGC disable, F in=76 to 108MHz;5. P RF=60dB U V;6. ∆f=75KHz.7. Measured at V EMF = 1 m V, f RF = 65 to 108MHz8. At LOUT and ROUT pins6 Serial Interface6.1 Three-wire Interface TimingTable 6-1 Three-wire Interface Timing Characteristics(VDD = 2.7 to 5.5 V, T A = -25 to 85 °C, unless otherwise specified)Figure 6-2. Three-wire Interface Read Timing Diagram6.2 I2C Interface TimingTable 6-2 I2C Interface Timing Characteristics(VDD = 2.7 to 5.5 V, T A = -25 to 85 °C, unless otherwise specified)Figure 6-3. I2C Interface Write Timing DiagramFigure 6-4. I2C Interface Read Timing Diagram7 Register Definition8 Pins DescriptionN DCCP I O 1P I O 2P I O 3Table 8-2 Internal Pin Configuration9 Application Diagram9.1 Audio Loading Resistance Larger than 32Ω & TCXO Application:Ω Resistance1—I2C,VIO—SPI);7COMPONENT VALUE DESCRIPTION SUPPLIERU1 RDA5802E Broadcast FM Radio Tuner RDAJ1 Common 32Ω Resistance HeadphoneC2 100pF Couple CAP MurataL3/C3 100nH/24pF LC Chock for LNA Input MurataC4,C5 125µF Audio AC Couple Capacitors MurataC6 24nF Power Supply Bypass Capacitor MurataF1/F2 1.5K@100MHz FM Band Ferrite Murata9.2 Audio Loading Resistance Lower than 32Ω & DCXO Application:1310 Package Physical DimensionFigure 10-1illustrates the package details for the RDA5802E. The package is lead-free and RoHS-compliant.Figure 10-2. 24-Pin 4x4 Quad Flat No-Lead (QFN)11 PCB Land PatternTable-I Classification Reflow ProfilesPackage Thickness Volume mm3<350Volume mm3≥350<2.5mm 240 + 0/-5 o C 225 + 0/-5 o C≥2.5mm225 + 0/-5 o C225 + 0/-5 o CTable – II SnPb Eutectic Process – Package Peak Reflow Temperaturesthickness and volume. The use of convection reflow processes reduces the thermal gradients between packages. However, thermal gradients due to differences in thermal mass of SMD package may sill exist.Note 5: Components intended for use in a “lead-free” assembly process shall be evaluated using the “lead free”classification temperatures and profiles defined in Table-I II III whether or not lead free.RoHS CompliantThe product does not contain lead, mercury, cadmium, hexavalent chromium, polybrominated biphenyls (PBB) or polybrominated diphenyl ethers (PBDE), and are therefore considered RoHS compliant.ESD SensitivityIntegrated circuits are ESD sensitive and can be damaged by static electricity. Proper ESD techniques should be used when handling these devices.12 Change ListREV DATE AUTHER CHANGE DESCRIPTION V1.0 2009-03-03 ChunZhao Original Draft.13 Notes:1: 通过硬件电路设置芯片工作总线控制模式,详细电路如下图:14 RDA5802E与RDA5802对比1、5802E的0x0Ch=5803、0x0Dh=5804,可以通过读这两个寄存器的缺省值来区别5800、5802和5802E;2、FM天线尽量用第4脚(LNAP),不要用第2脚(LNAN)。
有限元仿真的英语Finite Element SimulationThe field of engineering has seen a remarkable evolution in recent decades, with the advent of advanced computational tools and techniques that have revolutionized the way we approach design, analysis, and problem-solving. One such powerful tool is the finite element method (FEM), a numerical technique that has become an indispensable part of the modern engineer's toolkit.The finite element method is a powerful computational tool that allows for the simulation and analysis of complex physical systems, ranging from structural mechanics and fluid dynamics to heat transfer and electromagnetic phenomena. At its core, the finite element method involves discretizing a continuous domain into a finite number of smaller, interconnected elements, each with its own set of properties and governing equations. By solving these equations numerically, the finite element method can provide detailed insights into the behavior of the system, enabling engineers to make informed decisions and optimize their designs.One of the key advantages of the finite element method is its abilityto handle complex geometries and boundary conditions. Traditional analytical methods often struggle with intricate shapes and boundary conditions, but the finite element method can easily accommodate these complexities by breaking down the domain into smaller, manageable elements. This flexibility allows engineers to model real-world systems with a high degree of accuracy, leading to more reliable and efficient designs.Another important aspect of the finite element method is its versatility. The technique can be applied to a wide range of engineering disciplines, from structural analysis and fluid dynamics to heat transfer and electromagnetic field simulations. This versatility has made the finite element method an indispensable tool in the arsenal of modern engineers, allowing them to tackle a diverse array of problems with a single computational framework.The power of the finite element method lies in its ability to provide detailed, quantitative insights into the behavior of complex systems. By discretizing the domain and solving the governing equations numerically, the finite element method can generate comprehensive data on stresses, strains, temperatures, fluid flow patterns, and other critical parameters. This information is invaluable for engineers, as it allows them to identify potential failure points, optimize designs, and make informed decisions that lead to more reliable and efficient products.The implementation of the finite element method, however, is not without its challenges. The process of discretizing the domain, selecting appropriate element types, and defining boundary conditions can be complex and time-consuming. Additionally, the accuracy of the finite element analysis is heavily dependent on the quality of the input data, the selection of appropriate material models, and the proper interpretation of the results.To address these challenges, researchers and software developers have invested significant effort in improving the finite element method and developing user-friendly software tools. Modern finite element analysis (FEA) software packages, such as ANSYS, ABAQUS, and COMSOL, provide intuitive graphical user interfaces, advanced meshing algorithms, and powerful post-processing capabilities, making the finite element method more accessible to engineers of all levels of expertise.Furthermore, the ongoing advancements in computational power and parallel processing have enabled the finite element method to tackle increasingly complex problems, pushing the boundaries of what was previously possible. High-performance computing (HPC) clusters and cloud-based computing resources have made it possible to perform large-scale, multi-physics simulations, allowing engineers to gain deeper insights into the behavior of their designs.As the engineering field continues to evolve, the finite element method is poised to play an even more pivotal role in the design, analysis, and optimization of complex systems. With its ability to handle a wide range of physical phenomena, the finite element method has become an indispensable tool in the modern engineer's toolkit, enabling them to push the boundaries of innovation and create products that are more reliable, efficient, and sustainable.In conclusion, the finite element method is a powerful computational tool that has transformed the field of engineering. By discretizing complex domains and solving the governing equations numerically, the finite element method provides engineers with detailed insights into the behavior of their designs, allowing them to make informed decisions and optimize their products. As the field of engineering continues to evolve, the finite element method will undoubtedly remain a crucial component of the modern engineer's arsenal, driving innovation and shaping the future of technological advancement.。
Febrl–An Open Source Data Cleaning,Deduplication and Record Linkage System with a Graphical User InterfacePeter ChristenDepartment of Computer ScienceThe Australian National UniversityCanberra ACT0200,Australiapeter.christen@.auABSTRACTMatching records that refer to the same entity across data-bases is becoming an increasingly important part of many data mining projects,as often data from multiple sources needs to be matched in order to enrich data or improve its quality.Significant advances in record linkage techniques have been made in recent years.However,many new tech-niques are either implemented in research proof-of-concept systems only,or they are hidden within expensive‘black box’commercial software.This makes it difficult for both researchers and practitioners to experiment with new record linkage techniques,and to compare existing techniques with new ones.The Febrl(Freely Extensible Biomedical Record Linkage)system aims tofill this gap.It contains many re-cently developed techniques for data cleaning,deduplication and record linkage,and encapsulates them into a graphi-cal user interface(GUI).Febrl thus allows even inexperi-enced users to learn and experiment with both traditional and new record linkage techniques.Because Febrl is written in Python and its source code is available,it is fairly easy to integrate new record linkage techniques into it.Therefore, Febrl can be seen as a tool that allows researchers to com-pare various existing record linkage techniques with their own ones,enabling the record linkage research community to conduct their work more efficiently.Additionally,Febrl is suitable as a training tool for new record linkage users,and it can also be used for practical linkage projects with data sets that contain up to several hundred thousand records. Categories and Subject Descriptors:H.2.8[Database applications]:Data miningGeneral Terms:Algorithms,Experimentation Keywords:Data matching,data linkage,deduplication, data cleaning,open source software,Python1.PROJECT BACKGROUNDFebrl has been developed since2002as part of a collab-orative research project conduced between the Australian National University in Canberra and the New South Wales Department of Health in Sydney,Australia.The objective of this project is to develop new techniques for improved data cleaning and standardisation,deduplication and record linkage within the domain of health databases.Copyright is held by the author/owner(s).KDD’08,August24–27,2008,Las Vegas,Nevada,USA.ACM978-1-60558-193-4/08/08.The Febrl system is written in the programming language Python1,which is an ideal platform for rapid prototype de-velopment,as it provides data structures such as sets,lists and dictionaries(associative arrays)that allow efficient han-dling of very large data sets.It also includes many modules offering a large variety of functionalities.It has excellent built-in string handling capabilities,and the large number of extension modules facilitate,for example,database ac-cess and GUI development.The Febrl GUI is based on the PyGTK2library and the Glade3toolkit.Febrl is published under an open source software licence. Due to the availability of its source code,Febrl is suitable for the rapid development,implementation,and testing of novel record linkage algorithms and techniques,as well as for both new and experienced users to learn about,and experiment with,various record linkage techniques.Since2002Febrl has been hosted on the repository at: https:///projects/febrl/The total number of downloads of Febrlfiles on14th June 2008has reached9,840.To the best of the author’s knowl-edge,Febrl is the only open source record linkage system with a GUI that allows data cleaning and standardisation, deduplication and record linkage.The current Febrl-0.4ver-sion includes the source code,several example data sets(as available from the SecondString toolkit4),and a data set generator.The documentation contains several papers that describe the techniques implemented in Febrl,and a manual that includes several step-by-step tutorials.Compared to earlier versions,Febrl-0.4not only contains a GUI,but also a variety of new techniques,as described below.Some of the screenshots following show an example linkage of the‘Census’data set from SecondString.2.STRUCTURE AND FUNCTIONALITY The Febrl GUI has been developed with the objective to make Febrl more accessible to non-technical record linkage users[8].The structure of the Febrl GUI follows the Rattle open source data mining tool[17].The basic idea is to have a window that contains one tab(similar to tabs in modern Web browsers)per major step of the record linkage process. The start-up Febrl GUI is shown in Figure1.First,only two tabs are visibly,additional tabs will appear once the input data has been initialised.Figure1:Initial Febrl user interface after start-up. On each tab,the user can select methods and their pa-rameters,and then confirm these settings by clicking the ‘Execute’button.Corresponding Febrl Python code will be generated and shown in the‘Log’tab.Once all necessary steps are set up,the generated Python code can be saved and run outside of the GUI,or a project can be started and its results can be evaluated from within the Febrl GUI.All major tabs will be described in more detail and illustrated with corresponding screenshots in the following sections.2.1Input Data InitialisationA userfirst has to select the type of project to be con-ducted:(a)cleaning and standardisation of a data set,(b) deduplication of a data set,or(c)linkage of two data sets. The‘Data’tab of the Febrl GUI will change accordingly and either show one or two input data set selection areas. Currently,several text basedfile formats are supported,in-cluding the commonly used CSV(comma separated values) format.Once afile has been selected,itsfirst few lines will be shown,as illustrated in Figure2.This enables the user to verify the chosen settings,or adjust them if required.When satisfied,a click on the‘Execute’button will confirm the settings,and the tabs for data exploration and,depending upon the project type selected,standardisation,or indexing, comparison and classification will become visible.2.2Data ExplorationThe‘Explore’tab enables the user to analyse the input data set(s)to get a better understanding of its/their content and quality.After a click on the‘Execute’button,the data set(s)will be read and allfields(or attributes,columns)will be analysed.A report will be displayed that for eachfield provides information about the number of different values in it,the alphabetically smallest and largest values,the most and least frequent values,the quantiles distribution of the values,the number of records with missing values,as well as a guess of the type of thefield(if it contains only digits, only letters,or is of mixed type).A summary table of this analysis is then displayed,as shown in Figure3.2.3Data Cleaning and StandardisationData cleaning and standardisation using the Febrl GUI is currently done separately from a linkage or deduplica-tion.A data set can be cleaned and standardised,andis Figure2:Febrl user interface for a linkage project af-ter the‘Census’input data sets have beeninitialised. Figure3:Data exploration tab showing summaryanalysis of recordfields(or attributes,columns). then written into a new data set,which in turn can then be deduplicated or used for a linkage.Currently,Febrl con-tains standardisers for names,addresses,dates,and tele-phone numbers.The name standardiser uses a rule-based approach for simple names(such as those made of one given-and one surname only)in combination with a probabilistic hidden Markov model(HMM)approach for more complex names[11],while address standardisation is fully based on a HMM approach[9].These HMMs currently have to be trained outside of the Febrl GUI,using separate Febrl mod-ules.Dates are standardised using a list of format stringsFigure 4:Example date and telephone number stan-dardisers (for a synthetic Febrl dataset).Figure 5:Example indexing definition using the ‘BlockingIndex’method and two index definitions.that provide the expected date formats likely to be found in the input data set.Telephone numbers are also standardised using a rule-based approach.Once initialised and confirmed with a click on ‘Execute’,on the ‘Output/Run’tab (see be-low)the file name of the standardised output file can be chosen,and a standardisation project can then be started by clicking ‘Execute’on the ‘Output/Run’tab.2.4Indexing (Blocking)DefinitionBlocking or indexing is used to reduce the number of de-tailed record pair comparisons to be done [2].On the ‘Index’tab,a user can select one of seven possible indexing meth-ods.Besides the ‘FullIndex’(which will compare all record pairs and thus has a quadratic complexity)and the stan-dard ‘BlockingIndex’approach [2]as implemented in many record linkage systems,Febrl contains five recently devel-oped indexing methods [4]:‘SortingIndex’,which is based on the sorted neighbourhood approach [15];‘QGramIndex’,which uses sub-strings of length q to allow fuzzy blocking [2];‘CanopyIndex’,which employs overlapping canopycluster-Figure 6:An example of three field comparison func-tion definitions.ing using TF-IDF or Jaccard similarity [12];‘StringMapIn-dex’,which maps the index key values into a multi-dim-ensional space and performs canopy clustering on these multi-dimensional objects [16];and ‘SuffixArrayIndex’,which gen-erates all suffixes of the index key values and inserts them into a sorted array to enable efficient access to the index key values and generation of the corresponding blocks [1].Once an index method has been chosen,the actual in-dex keys have to be selected and their various parameters have to be set.Index keys are made of one field value,or a concatenation of several field values,that are often phoneti-cally encoded to group similar sounding values into the same block.Febrl contains nine encoding methods [3],including Soundex,NYSIIS,Phonix,Phonex,and Double-Metaphone.2.5Field Comparison FunctionsThe similarity functions used to compare the field (at-tribute)values of record pairs can be selected on the ‘Com-parison’tab,as shown in Figure 6.Febrl contains 26simi-larity functions,including 20approximate string comparison functions [3],as well as functions specialised for dates,times,ages,or numerical values.All these similarity functions re-turn a numerical value between 0(total dissimilarity)and 1(exact match).It is possible to adjust these values by set-ting agreement and disagreement weights,as well as a special value that will be returned if one or both of the compared values is/are empty.The similarity weights calculated for each compared record pair will be stored in a weight vector,to be used for classifying record pairs in the next step.2.6Weight Vector ClassificationFebrl contains several record pair classifiers,both super-vised and unsupervised techniques.The traditional ‘Fel-legiSunter’classifier requires manual setting of two thresh-olds [13],while with the supervised ‘OptimalThreshold’clas-sifier it is assumed that the true match status for all com-pared record pairs is known,and thus an optimal thresh-old can be calculated based on the corresponding summed weight vectors.Another supervised classifier is ‘SuppVec-Machine’,which implements a support vector machine.Figure7:Example‘Two-Step’unsupervised weight vector classifier.Both the‘KMeans’and‘FarthestFirst’[14]classifiers are unsupervised clustering approaches,and group the weight vectors into a match and a non-match cluster.Various cen-troid initialisation and distance measures are implemented in Febrl.Finally,the‘TwoStep’classifier,shown in Figure7, is an unsupervised approach which in afirst step selects weight vectors from the compared record pairs that with high likelihood correspond to true matches and true non-matches,and in a second step uses these vectors as training examples for a binary classifier[5,7,6].2.7Output Files and Running a ProjectOn this tab(not shown due to space limitation)the user can select various settings of how the match status and the matched record pairs will be saved intofiles.With a click on ‘Execute’,the Febrl GUI will ask the user if the generated project should be saved as a Pythonfile,and if the project should be started and run within the GUI.Once started,a window will pop up showing a progress bar.2.8Evaluation and Clerical ReviewOn the‘Evaluation’tab,shown in Figure8,the results of a deduplication or linkage project are visualised as a his-togram of the summed matching weights of all compared record pairs.If the true match and non-match status of record pairs is available,the quality of the conducted link-age will be shown using the measurements of accuracy,pre-cision,recall and F-measure.Also shown are measures that allow the evaluation of the complexity of a deduplication or linkage project(i.e.the number of record pairs generated by the indexing step and their quality),these measures are the reduction ratio,pairs completeness and pairs quality[10].2.9Log TabOn this tab the Febrl Python code generated throughout a project is shown,allowing experienced users to verify the correctness of the generated code.It also enables copying of this code into a user’s own Febrl Python modules.3.ACKNOWLEDGEMENTSThis work is supported by an Australian Research Council (ARC)Linkage Grant LP0453463and partially funded by the New South Wales Department of Health,Sydney.Figure8:Evaluation tab showing the matching weight histogram and quality and complexity mea-sures for a linkage.4.REFERENCES[1] A.Aizawa and K.Oyama.A fast linkage detection scheme formulti-source information integration.In WIRI’05,pages30–39, Tokyo,2005.[2]R.Baxter,P.Christen,and T.Churches.A comparison of fastblocking methods for record linkage.In ACM SIGKDDworkshop on Data Cleaning,Record Linkage and ObjectConsolidation,pages25–27,Washington DC,2003.[3]P.Christen.A comparison of personal name matching:Techniques and practical issues.In MCD’06,held at IEEEICDM’06,Hong Kong,2006.[4]P.Christen.Towards parameter-free blocking for scalablerecord linkage.Technical Report TR-CS-07-03,The Australian National University,Canberra,2007.[5]P.Christen.A two-step classification approach to unsupervisedrecord linkage.In AusDM’07,pages111–119,Gold Coast,Australia,2007.[6]P.Christen.Automatic record linkage using seeded nearestneighbour and support vector machine classification.In ACMSIGKDD’08,Las Vegas,2008.[7]P.Christen.Automatic training example selection for scalableunsupervised record linkage.In PAKDD’08,Springer LNAI5012,pages511–518,Osaka,Japan,2008.[8]P.Christen.Febrl-A freely available record linkage systemwith a graphical user interface.In HDKM’08,CRPIT vol.80, pages17–25,Wollongong,Australia,2008.[9]P.Christen and D.Belacic.Automated probabilistic addressstandardisation and verification.In AusDM’05,Sydney,2005.[10]P.Christen and K.Goiser.Quality and complexity measures fordata linkage and deduplication.In F.Guillet and H.Hamilton, editors,Quality Measures in Data Mining,volume43ofStudies in Computational Intelligence.Springer,2007.[11]T.Churches,P.Christen,K.Lim,and J.X.Zhu.Preparationof name and address data for record linkage using hiddenMarkov models.BioMed Central Medical Informatics andDecision Making,2(9),2002.[12]W.W.Cohen and J.Richman.Learning to match and clusterlarge high-dimensional data sets for data integration.In ACM SIGKDD’02,Edmonton,2002.[13]I.P.Fellegi and A.B.Sunter.A theory for record linkage.Journal of the American Statistical Society,64(328):1183–1210,1969.[14]K.Goiser and P.Christen.Towards automated record linkage.In AusDM’06,pages23–31,Sydney,2006.[15]M.A.Hernandez and S.J.Stolfo.The merge/purge problemfor large databases.In ACM SIGMOD’95,pages127–138,San Jose,1995.[16]L.Jin,C.Li,and S.Mehrotra.Efficient record linkage in largedata sets.In DASF AA’03,Tokyo,2003.[17]G.J.Williams.Data mining with Rattle and R.Togaware,Canberra,2008.Software available at:/survivor/.。
高通平台的常用的调试tool: QPST, QRCT, QXDM, Trace32(use JTAG 2013年09月07日⁄综合⁄共 4410字⁄字号小中大⁄评论关闭OverView:QPST 综合工具, 传输文件, 查看device 的EFS 文件系统, 代码烧录QRCT 测试RFQXDM 看logJTAG trace32调试QPST,QXDM 的使用说明,具体的可以看我上传到csdn 的资源文件,我都是看它,看了那个user guide 就完全会了,很简单的QPST 是一个针对高通芯片开发的传输软件。
简单的说就是用高通处理芯片的手机理论上都可以用QPST 传输文件,可以修改C 网机器内部参数的软件。
一次可以track 多台电脑QPST 还可进行代码烧入包括:5个 client applicationsØ QPST Configurationmonitor the status of:Active phonesAvailable serial portsActive clientsTo start QPST Configuration, from t he Start menu, select Programs → QPST → QPST Configuration.Ø Service Programmingprovide service programming for CDMA phones that contain Qualcomm ASICs.With it, you can save SP data to a file, then download the data in that file to multiple phones.The SP application accesses settings regardless of the phone’s internal memory implementation. It is feature-aware and displays settings pages appropriate to the phone being programmed. To start SP, from the Start menu, select Programs → QPST → Service Progr amming.Ø Software DownloadØ RF NV Item ManagerØ EFS ExplorerThe EFS Explorer application lets you navigate the embedded file system (EFS of phones that support EFS. It is similar in function to the Windows Explorer program on a PC.To start EFS Explore r, from the Start menu, select Programs → QPST → EFS Explorer.When EFS Explorer launches, it displays a Phone Selection dialog that lists the phones currently being monitored by the QPST server, as shown in FigureCreating a new directory• When you create a directory in the phone’s EFS, the directory is created on the phone and the file structure list is refreshed. To create a directory:1. Navigate to the location where you want to create a new directory.2. From the File menu, select New → Directory. T he Create Directory dialog, as shown in Figure below3. Type a name for the file in the field.4. Click OK.Two standalone utilities,--QCNView--Roaming List Editor,complete the QPST tool set.QRCT• QRCT is a Windows toolkit designed to control a QUALCO MM phone such as a Form Factor Accurate (FFA for testing RF in three system modes –CDMA 2000, GSM, and WCDMA.• This application requires Advanced Mode Subscriber Software (AMSS software with FTM built into it. The FTM mode must be enabled before using the CDMA 2000, GSM, and WCDMA RF controls.• FTM is a mode of operation that allows a user to perform diagnostic or design verification functionality by exposing functions not discretely available to the user inAMSS mode. FTM does not provide the ability to make phone calls and is not driven by the AMSS Call Processing State Machine.• QRCT uses the Qualcomm Manufacturing Support Library (QMSL for all communication with the phone. It is possible to determine the exact function calls by monitoring the QMSL Text Log. The user can then replicate any QRCT sequence by calling QMSL in their own program.QXDM 是监视手机状态的,还有一些简单的控制功能• The QUALCOMM® Extensible Diagnostic Monitor (QXDM provides a diagnostic client for Dual-Mode Subscriber Station (DMSS and newer User Equipment (UE software, Advanced Mobile Subscriber Software (AMSS.• QXDM was developed to provide a rapid prototyping platform for new diagnostic clients and diagnostic protocol packets. It provides a Graphical User Interface (GUI that displays data transmitted to and from the DMSS.Options menu on QXDM:QXDM communications menu:• Lists all the available ports on the system and their properties• Ports listed in this are those that have been added in the QPST Configuration tool for monitoringTraces on the QXDM:JTAG• Joint Test Action Group (JTAG is the common name for what was later standardized as the IEEE 1149.1 Standard Test Access Port and Boundary-Scan Architecture. It was initially devised for testing printed circuit boards using boundary scan and is still widely used for this application.• Today JTAG is also widely used for IC debug ports. In the embedded processor market, essentially all modern processors support JTAG when they have enough pins. Embedded systems development relies on debuggers talking to chips with JTAG to perform operations like single stepping and break pointing. Digital electronics products such as cell phones or a wireless access point generally have no other debug or test interfaces• Used for debugging & storing firmware.。
3. Front Panel Style3.前面板风格The LabVIEW front panel is named to emphasize its capability to emulate the panels of traditional self-contained instruments. Indeed, when LabVIEW was first released in 1986, its primary purpose was to control laboratory instruments via GPIB and serial interface. Oh, how times have changed! Today LabVIEW is applied to many different types of applications, industries, and instrumentation. The complexity of applications has dramatically increased. The evolution of front panels is no exception. 3D controls, tab controls, tree controls, containers, Property Nodes, VI Server, Event structures, and subpanels are modern innovations that facilitate powerful LabVIEW applications.LabVIEW前面板命名着重于仿效传统的自成一体的仪器的前面板,其实,当LabVIEW在1986年首次发布时,它主要目的是通过GPIB和串行接口控制实验室仪器,随着时间的推移,今天LabVIEW适用于许多不同类型的应用领域,包括工业和测量仪器。
OverviewOne of the world’s leading financial market institutions relies on speed, reliability and stateof-the-art technology to help its cli-ents build wealth. With Micro Focus Unified Functional T esting Pro (LeanFT), the company has established an efficient application test -ing platform capable of integrating testing from application development through production to speed quality and time-to-market.ChallengeOne of the world’s leading financial market institutions offers a full suite of capital market services. With a highly-skilled team of people, the company works with a broad range of B2B and B2C customers. Operating in a highlyregu-lated environment, the company helps clientsbuild wealth and manage investment and op-erating risk. The company’s network and data center are connected to leading financial hubs. Speed, reliability and state-of-the-art technol-ogy are fundamental to its success.Running a combination of 200+ in-house, ac-quired and modified applications, the com-pany is focused on delivering quality software to meet the needs of its users. A few years ago, it began to embrace agile methodolo-gies to improve quality and speed-to-mar-ket. Having outgrown its use of Micro Focus Unified Functional T esting (UFT), the company decided to look for a testing solution that pro-vided automation across Application Program Interface (API) and Graphical User Interface (GUI) components.“We wanted to align test automation to de-velopment practices to feed into continuous integration,” says a spokesperson for the com-pany. “But, we didn’t want to add complexity to our testing ecosystem by having another tool-set—we wanted a single application that would satisfy our requirements.SolutionAfter investigating potential testing applica-tions, the company selected UFT Pro (LeanFT), a powerful functional testing solution builtFinancial Market ExchangeLeading financial market institution maximizes developmentspeed with Micro Focus UFT Pro.At a Glance■Industry Financial Services ■Location Sydney, Australia ■ChallengeAutomate testing, provide cross-platform and cross-browser support for API and GUI components, and integrate with standard IDEs. ■Products and Services UFT Pro (LeanFT) ■Success Highlights+Enables rapid software development and deployment to enhance agility.+Reduces risks through efficient testing practices and scripts implementations.+Standardizes functional testing on one platform. +Facilitates greater collaboration between testing and development teamsCase StudyApplication Delivery Management“We chose UFT Pro (LeanFT) due to its functionality, particularly with respect to cross-platform, cross-browser and desktop applications support, as well as its integration capabilities with API and GUI components.”SPOKESPERSONLeading Financial Market Institution AustraliaCase StudyFinancial Market Exchangespecifically for continuous testing and continu-ous integration.The spokesperson says, “We chose UFT Pro (LeanFT) due to its functionality, particularly with respect to cross-platform, cross-browser and desktop applications support, as well as its integration capabilities with API and GUI com-ponents. Its support for the most common Applications Under T est (AUT) technologies was important to us as we needed a solution that could handle both desktop and web ap-plications. Having a solution that works inside standard Integrated Development Environment (IDE) using modern scripting languages was also a deciding factor. The solution’s Object Identification Center (OIC) meant that we could model AUT s and objects with ease as we cre-ate robust scripts.”T o test the suitability of UFT Pro (LeanFT), the company ran a pilot on a live project.“We took the opportunity to investigate the functionality of UFT Pro (LeanFT) by testing one of our web browser based applications,” explains the spokesperson.“After a few months of using the solution, we realized it was the right tool for us. We gained a good understanding of how to use applica-tion models, share code resources, integrate with Continuous Integration (CI) / Continuous Development (CD) tools, and support com-mon AUT technologies including Java, .NET and AngularJS.“Using UFT Pro (LeanFT) on this project gave us a roadmap for how we could leverage the solution’s functionality more broadly. It showed us what it would take to create a company-wide foundation for integration from develop-ment through to production with end-to-end traceability.”Following the success of this pilot, the com-pany rolled out UFT Pro (LeanFT) across itstesting environment. It is now being used totest seven core applications.ResultsHaving the ability in UFT Pro (LeanFT) to cre-ate Application Models that serve as a sharedobjects repository, and to easily identify ob-jects via the OIC feature, so that the objectswill not break from one build to the other, aretwo key benefits the company is realizing fromthe solution.The spokesperson explains, “We can nowcreate abstractions of our AUTs, and in turnprovide our tests with an interface to the ap-plications and their objects. This allows us tomaintain our test objects in a single location foruse across our testing suite, which in turn helpsour developers to write code more quickly,without the need to write manual programmaticdescriptions for each object.“In addition, we now have access to multiplevisual relational identifiers to discover fields inour AUT s based on neighboring objects. Thisfeature alone has helped us many times whenobjects were changing depending on optionsset in the application.”The UFT Pro (LeanFT) integration capabilitiesfacilitate greater collaboration between test-ing and development teams, the spokesper-son continues, “This allows for robust softwaretesting that easily accommodates changesto applications.“Our investment in UFT Pro (LeanFT) is for thelong-term. We want to reduce our automationtoolkit to a common AUT like Java and handle amyriad of third-party plug-ins. In due time, we’llbe able to hook into all the tools our develop-ment teams use, and write test scripts in thesame language. This will significantly reducethe time between development and testing,and enhance the quality of our applications,not to mention speed-to-market. “We’re cur-rently leveraging the interoperability of UFT Pro(LeanFT) to create closer alignment with the CI/CD process.”While the company is still in the infancy stagesof using UFT Pro (LeanFT), it has recognizedthe potential for improving the efficiency ofits testing.The spokesperson says, “UFT Pro (LeanFT) is apowerful solution that provides openness andallows us to use our object-oriented program-ming knowledge and advanced coding tech-niques, such as polymorphism and inheritance.This has opened up so many options for us tomake our test scripts more efficient.“Once we mature our testing processes and getmore familiar with UFT Pro (LeanFT), we will be-come more productive. Certainly, as we migratemore and more of our 700+ UFT test scripts—automate them, store them in a central reposi-tory, and re-use them—we will see dramaticimprovements in speed and efficiency.“In the long-run, having a single tool for testautomation will make it easier for us to moveour resources to different projects as required.”Looking ahead, the company is focused ongetting up to speed with UFT Pro (LeanFT)and evolving its approach to functional test-ing as part of a broader commitment to qualityassurance.“To maximize the return on our investment,we’re working towards getting the most outof the functionality of UFT Pro (LeanFT),” saysthe spokesperson. “Our progress is a little slowbecause this is a brand new way of handlingtesting for us, particularly as we have amassed more than 10 years of experience with UFT, but we are becoming quicker and more confident every day.”The company has a lot of systems, includ-ing legacy applications, that use different technologies.The priority is to automate test cases for both API and GUI across multiple programming lan-guages, and leverage modern industry stan-dards. Centralization and standardization of test scripts will also help drive further efficiency and productivity gains.“We want to get the basics right first in terms of test creation and automation,” concludes the spokesperson.“Once we’ve achieved that, we’ll look at lever-aging other functionality such as analytics.“We’re playing the long game with UFT Pro (LeanFT) and have chosen to implement the solution as we recognize the potential to achieve closer alignment between testing and development. We know this will ultimately help us release applications rapidly and confidently.”“The UFT Pro (LeanFT) integration capabilities facilitate greater collaboration between our testing and development teams. It allows for robust software testing that easily accommodates changes to the application.”SPOKESPERSONLeading Financial Market InstitutionAustralia。
© Copyright 2017-2019 Hewlett Packard Enterprise Development LP通知本文档中包含的信息如有更改,恕不另行通知。
随 Hewlett Packard Enterprise 产品和服务提供的明确保修声明中阐明了此类产品和服务的全部保修服务。
此处的任何内容都不应视作额外的担保信息。
对于本文档中包含的技术或编辑方面的错误或疏漏,Hewlett Packard Enterprise 不承担任何责任。
保密的计算机软件。
必须具有 Hewlett Packard Enterprise 颁发的有效许可证,方可拥有、使用或复制本软件。
按照 FAR 12.211 和 12.212 的规定,可以根据供应商的标准商业许可证授权美国政府使用商用计算机软件、计算机软件文档以及商业编号的技术数据。
单击指向第三方网站的链接将会离开 Hewlett Packard Enterprise 网站。
Hewlett Packard Enterprise 无法控制 Hewlett Packard Enterprise 网站之外的信息,也不对这些信息承担任何责任。
商标声明Microsoft®、Windows®和 Windows Server®是 Microsoft Corporation 在美国和(或)其他国家(或地区)的注册商标或商标。
Linux®是 Linus Torvalds 在美国和其他国家(地区)的注册商标。
Red Hat®是 Red Hat, Inc. 在美国及其他国家(地区)的注册商标。
SD 和 microSD 是 SD-3C 在美国和/或其他国家(地区)的商标或注册商标。
VMware®是 VMware, Inc. 在美国和/或其他司法辖区的注册商标或商标。
目录使用本指南 (10)入门 (10)支持的服务器 (10)其它故障排除资源 (11)故障排除的准备工作 (12)服务器故障排除的前提条件 (12)重要安全信息 (12)设备上的符号 (13)警告和小心 (13)静电释放 (14)防止静电释放 (14)防止静电释放的接地方法 (15)收集症状信息 (15)诊断服务器前的准备工作 (15)处理器故障排除准则 (16)将服务器降级到最低硬件配置 (17)常见问题的解决方法 (18)解决连接松动问题 (18)搜索服务通知 (18)固件更新 (18)在启用了 HPE 可信平台模块和 BitLocker 的情况下更新服务器 (19)DIMM 处理准则 (19)DIMM 和 NVDIMM 安装信息 (19)在 HPE ProLiant Gen10 服务器上支持的 Intel Xeon 可扩展处理器 (20)DIMM-处理器兼容性 (20)NVDIMM-处理器兼容性 (20)组件 LED 指示灯定义 (20)存储 (20)SAS、SATA 和 SSD 驱动器准则 (20)热插拔驱动器 LED 定义 (21)半高 LFF 驱动器 LED 指示灯定义 (22)NVMe SSD LED 指示灯定义 (22)SFF 闪存适配器组件和 LED 指示灯定义 (24)系统电源 LED 指示灯定义 (24)运行状态条形 LED 指示灯定义(仅限 c 系列服务器刀片) (25)前面板 LED 指示灯和按钮 (25)前面板 LED 指示灯注释 (26)使用服务器运行状况摘要 (26)前面板 LED 指示灯电源故障代码 (28)控制器和能源包电缆 (29)远程故障排除 (30)远程故障排除工具 (30)远程访问 Virtual Connect Manager (31)3使用 iLO 远程排除服务器和服务器刀片的故障 (31)使用 Onboard Administrator 对服务器刀片进行远程故障排除 (32)使用 OA CLI (32)诊断流程图 (34)诊断步骤 (34)在开始之前收集重要信息 (34)故障排除流程图 (34)使用诊断流程图 (34)初始诊断 (34)远程诊断流程图 (35)开机故障流程图 (36)ML 和 DL 系列服务器的服务器开机故障流程图 (36)XL 系列服务器的服务器开机故障流程图 (38)BL 系列服务器刀片的服务器刀片开机故障流程图 (40)POST 故障流程图 (43)POST 问题 - 服务器在 POST 期间挂起或重新引导流程图 (44)POST 问题 - 无法引导,没有视频流程图 (46)POST 问题 - 可以引导,没有视频流程图 (47)操作系统引导故障流程图 (48)Intelligent Provisioning 故障流程图 (49)控制器故障流程图 (51)HPE Smart Array 控制器的能源包问题 (53)物理驱动器故障流程图 (56)逻辑驱动器故障流程图 (58)故障指示流程图 (59)非刀片服务器的服务器故障指示流程图 (60)BL c 系列服务器刀片的服务器刀片故障指示流程图 (62)网卡故障流程图 (64)常规诊断流程图 (67)硬件问题 (70)用于所有 ProLiant 服务器的步骤 (70)电源问题 (70)服务器无法开机 (70)供电来源问题 (70)电源问题 (71)没有足够的电源配置 (72)UPS 问题 (73)UPS 无法正常供电 (73)显示电池电量不足警告 (74)UPS 上的一个或多个 LED 指示灯呈红色 (74)常规硬件问题 (74)新硬件问题 (74)未知问题 (76)第三方设备问题 (76)测试设备 (77)驱动器问题(硬盘驱动器和固态驱动器) (78)驱动器发生故障 (78)无法识别驱动器 (78)无法访问数据 (79)服务器响应时间比平时长 (80)HPE SmartDrive 图标或 LED 指示灯指示驱动器错误,或者在 POST、HPE SSA 或HPE SSADUCLI 中显示错误消息 (81)4SSD Smart Wear 错误 (81)诊断阵列问题 (81)HPE Smart Array SR 和 MR Gen10 控制器的诊断工具 (81)存储控制器问题 (82)常规控制器问题 (82)控制器不再是冗余的 (83)在 RAID 模式下访问的驱动器上的数据与在非 RAID 模式下访问的数据不兼容 (84)在将驱动器移到新的服务器或 JBOD 后,Smart Array 控制器不显示这些驱动器 (84)驱动器漫游 (84)具有 10 SFF 驱动器背板或 12 LFF 驱动器背板的服务器上的数据故障或磁盘错误 (84)禁用 RAID 模式后找不到 HPE Smart Array S100i SR Gen10 驱动器 (85)无法识别 HPE Smart Array S100i SR Gen10 驱动器 (85)风扇和散热问题 (86)常规风扇问题 (86)风扇的运行速度比预期速度高 (87)风扇噪音太大(高速) (87)风扇噪音太大(低速) (88)热插拔风扇问题 (88)HPE BladeSystem c 系列机箱风扇高速运行 (89)内存问题 (89)常规内存问题 (89)隔离并最小化内存配置 (90)服务器内存不足 (90)DIMM 配置错误 (90)服务器无法识别现有的内存 (91)服务器无法识别新的内存 (92)无法修复的内存错误 (93)超过可纠正的内存错误阈值 (94)NVDIMM 问题 (94)NVDIMM 安装错误 (94)已禁用 NVDIMM (95)在操作系统中不显示持久性内存驱动器 (96)持久性内存驱动器是只读的 (96)持久性内存驱动器不再具有持久性 (97)HPE 可扩展持久性内存问题 (98)在操作系统中不显示持久性内存驱动器 (98)持久性内存驱动器是只读的 (100)持久性内存驱动器不再具有持久性 (101)HPE 可扩展持久性内存备份和恢复失败 (102)无法配置可扩展持久性内存 (103)处理器问题 (104)排除处理器故障 (104)无法纠正的计算机检查异常 (105)可信平台模块问题 (105)TPM 发生故障或检测不到它 (105)系统电池电量不足或耗尽 (106)主板和电源背板问题 (106)microSD 卡问题 (107)系统无法从 microSD 卡引导 (107)U 盘问题 (107)系统无法从 U 盘引导 (107)图形和视频适配器问题 (108)排除常规图形和视频适配器故障 (108)视频问题 (108)打开服务器电源后屏幕黑屏超过 60 秒 (108)如果使用节能功能,显示器无法正常工作 (109)显示颜色不对 (110)5显示慢慢移动的水平线 (110)鼠标和键盘问题 (110)扩展卡问题 (111)系统在更换扩展卡期间要求使用恢复方法 (111)网络控制器或 FlexibleLOM 问题 (111)安装了网络控制器或 FlexibleLOM,但无法正常工作 (111)网络控制器或 FlexibleLOM 已停止工作 (112)在添加扩展卡后,网络控制器或 FlexibleLOM 停止工作 (112)网络互连模块刀片问题 (113)具有 AMD 处理器的 HPE ProLiant Gen10 服务器的网络性能或虚拟机性能问题 (113)能源包问题 (114)Gen10 服务器中的能源包支持 (114)能源包在长期搁置后可能会耗尽电量 (114)能源包配置错误 (115)能源包故障 (115)电缆问题 (116)在使用较旧的小型 SAS 电缆时,发生驱动器错误、重试、超时和无根据的驱动器故障 (116)无法识别 USB 设备,显示错误消息,或者设备在连接到 SUV 电缆时无法开机 (116)软件问题 (117)操作系统问题和解决方法 (117)操作系统问题 (117)操作系统锁定 (117)错误日志中显示错误 (117)在安装 Service Pack 后出现问题 (117)更新操作系统 (118)更新操作系统的前提条件 (118)更新操作系统 (118)重新配置或重新加载软件 (118)重新配置或重新加载软件的前提条件 (118)还原备份版本 (119)Linux 资源 (119)应用程序软件问题 (119)软件锁定 (119)更改软件设置后出错 (119)更改系统软件后出错 (120)安装了应用程序后出错 (120)ROM 问题 (120)远程 ROM 刷新问题 (120)命令行语法错误 (120)目标计算机上拒绝访问 (121)无效或不正确的命令行参数 (121)网络连接在进行远程通信时失败 (121)ROM 刷新期间发生故障 (121)不支持目标系统 (122)系统在固件更新期间要求使用恢复方法 (122)引导问题 (123)服务器无法引导 (123)UEFI 服务器的 PXE 引导准则 (125)软件和配置实用程序 (126)服务器模式 (126)产品规格说明简介 (126)6Active Health System Viewer (126)Active Health System (127)Active Health System 数据收集 (127)Active Health System 日志 (127)HPE iLO 5 iLO (127)iLO 联合 (128)iLO服务端口 (128)iLO RESTful API (129)RESTful Interface Tool (129)iLO Amplifier Pack (129)Integrated Management Log (129)Intelligent Provisioning (129)Intelligent Provisioning 操作 (130)管理安全性 (131)适用于 Windows 和 Linux 的 Scripting Toolkit (131)UEFI System Utilities (131)选择引导模式 (131)安全引导 (132)启动嵌入式 UEFI Shell (133)HPE Smart Storage Administrator (133)HPE MR Storage Administrator (134)StorCLI (134)USB 支持 (134)外置 USB 功能 (134)支持冗余 ROM (134)安全性和安全优势 (135)使系统保持最新状态 (135)更新固件或系统 ROM (135)Service Pack for ProLiant (135)更新 System Utilities 中的固件 (136)从 UEFI 嵌入式 Shell 中更新固件 (137)联机刷新组件 (137)驱动程序 (137)软件和固件 (137)支持的操作系统版本 (138)HPE Pointnext 产品 (138)主动通知 (138)报告和日志 (139)报告和日志概述 (139)Active Health System 日志 (139)Active Health System 日志下载方法 (139)下载某个日期范围的 Active Health System 日志 (139)下载整个 Active Health System 日志 (140)使用 cURL 下载 Active Health System 日志 (141)清除 Active Health System 日志 (143)通过 IP 下载 AHS 日志 (143)下载 Active Health System 日志 (iLOREST) (144)使用 AHSV 排除故障或打开支持案例 (145)Intelligent Provisioning 诊断工具 (145)Integrated Management Log (145)查看 IML (145)使用 HPE SSA 执行诊断任务 (146)HPE Smart Storage Administrator Diagnostics Utility CLI (146)安装实用程序 (146)7在 CLI 模式下启动该实用程序 (146)诊断报告过程 (147)查看诊断报告 (147)识别和查看诊断报告文件 (147)SmartSSD Wear Gauge 报告过程 (148)查看 SmartSSD Wear Gauge 报告 (148)识别和查看 SmartSSD Wear Gauge 报告文件 (148)HPS 报告 (148)Linux 报告 (148)故障排除资源 (149)在线资源 (149)Hewlett Packard Enterprise 支持中心网站 (149)Hewlett Packard Enterprise 信息库 (149)以前的 HPE ProLiant 服务器型号的故障排除资源 (149)服务器刀片机箱故障排除资源 (149)故障排除资源 (149)服务器文档 (150)服务器用户指南 (150)服务器维护和维修指南 (150)设置和安装指南 (151)HPE iLO 软件文档 (151)UEFI System Utilities 文档 (151)Intelligent Provisioning 软件文档 (151)产品规格说明简介 (151)白皮书 (151)服务通知、咨询和通告 (151)订阅服务 (152)HPE Pointnext 产品 (152)产品信息资源 (152)其他产品信息 (152)HPE SmartMemory 速度信息 (152)注册服务器 (152)服务器功能概述和安装说明 (152)主要功能和选件部件号 (152)服务器和选件的规格、符号、安装警告和通告 (153)HPE Smart Array 控制器文档 (153)备件号 (153)拆卸步骤、部件号和规格 (153)拆卸和更换步骤视频 (153)技术主题 (153)产品安装资源 (153)外部布线信息 (153)电源容量 (154)开关设置、LED 指示灯功能、驱动器、内存、扩展卡和处理器安装说明以及板卡布局.154产品配置资源 (154)Data Center Infrastructure Advisor (154)设备驱动程序信息 (154)DDR4 内存配置 (154)操作系统安装和配置信息(对于出厂时安装的操作系统) (154)服务器配置信息 (154)服务器设置软件的安装和配置信息 (154)服务器的软件安装和配置 (154)HPE iLO 信息 (155)服务器管理 (155)8服务器管理系统的安装和配置信息 (155)容错、安全保护、保养和维护、配置和设置 (155)网站 (156)支持信息和其他资源 (157)获取 Hewlett Packard Enterprise 支持 (157)获取更新 (157)客户自行维修 (158)远程支持 (158)保修信息 (158)法规信息 (158)文档反馈 (159)症状信息检查清单 (160)9使用本指南入门注意:对于常见的故障排除步骤,“服务器”一词用于表示服务器和服务器刀片。
MODIS数据(1B、产品、常用处理软件)免费下载1、MODIS 1B数据下载L1B数据下载地址:/data/search.html打开网页,选中需要的数据源类型注意:其中,MOD03数据是用于对1KM,QKM,HKM数据进行几何纠正所用。
别忘记下载。
其中,日期类型为:月/日/年时:分:秒其中,网页中显示的时间为UTC时间,换算为北京时间为:UTC时间=北京时间-8小时。
因此,要获得1月16日的数据则范围为:01/15/2003/ 16:00:00~01/16/2003/ 16:00:00在‘spatial selection’选项中选择“latitude/longtitude”,按经纬度形式选择影像范围。
点击’search’查到需要的数据:据。
(如果要搜索多天数据,可以选‘add files to shopping cart’继续搜索其他日期的数据。
所订购数据的存放位置信息:点击‘Data->Track Orders ’可以查看所有已订购的数据的状态。
如果’state’显示‘avalable’即可开始下载。
ftp:username: anonymouspassword: rainaleaf@(自己申请数据的邮箱)一般使用FTP下载工具下载。
首先新建站点:的框中,开始下载数据。
OK!2、MODIS产品下载地址https:///api//u515127/u515368/u515406/u515421/u515529/u516066/u516091/u516110/u516150/u516307/u517021/u517029(要装IE7支持)或已知所下载文件名的modis09~17数据可以从FTP上下载:ftp:/tarra的数据放在MOLT里。
Aqua 数据放在MOLA。
上述的搜索网站(https://)(如果遇到能查到数据但是下载不了的情况,也可以在FTP中通过查找与该数据相同日期同轨道号来下载。
gCLUTO 使用说明书Matt Rasmussen, Mark Newman明尼苏达大学. 版权2003最后修改:CST 2003年 1月20日星期一12:33:38/~mrasmus/gcluto目录1 说明 (3)1.1 gCLUTO简介 (3)1.2 gCLUTO特征 (3)1.3 版本说明 (3)2 gCLUTO安装 (3)3 gCLUTO使用 (4)3.1 概述 (4)3.2 创建新项目 (5)3.3 导入数据 (5)3.4 数据聚类 (6)3.5 可视化方案 (8)3.5.1可视化矩阵 (8)3.5.1可视化矩阵——缩放比例 (9)3.5.1可视化矩阵——树状图的使用 (8)3.5.2可视化山丘 (10)1 说明1.1 gCLUTO简介gCLUTO (Graphical Clustering Toolkit,图形聚类工具包)是CLUTO数据聚类文库的图形前端。
它的目的是使CLUTO以用户友好的图形方式进行聚类。
另外,gCLUTO还提供了交互式聚类结果可视化的几种方法。
在/~mrasmus/gcluto可下载gCLUTO。
关于gCLUTO的更多信息请访问/~karypis/cluto。
1.2 gCLUTO特征gCLUTO具有以下特征:•管理数据文件,聚类方案和可视化方案的项目树视图;•选择聚类选项的详细对话框;•浏览数据的扩展表界面;•浏览聚类方案的HTML 界面;•可视化矩阵——一个彩色的交互式矩阵;•可视化山丘——多维标度法生成的三维山丘聚类图形。
1.3 版本说明gCLUTO目前正处于初始期。
发行的目的是开发出可以最好地应用于聚类分析的特征和用户界面。
2 . gCLUTO安装目前, gCLUTO 适用于Linux 和Microsoft Windows 平台.•在/~mrasmus/gcluto找到gCLUTO的最新版本。
•下载并在你电脑的任意位置解压文档。
•阅读README.txt文件以将正确版本的gCLUTO载入你的操作系统。
Extending a Graphical Toolkit for Two-Handed InteractionSte´phane ChattyCentre d’E´tudes de la Navigation Ae´rienne Laboratoire de Recherche en Informatique 7avenue Edouard Belin CNRS&Universite´de Paris Sud31055TOULOUSE CEDEX91405ORSAY CEDEXFRANCE FRANCEchatty@dgac.fr chatty@lri.frABSTRACTMultimodal interaction combines input from multiple sen-sors such as pointing devices or speech recognition systems, in order to achieve morefluid and natural interaction.Two-handed interaction has been used recently to enrich graphical interaction.Building applications that use such combined in-teraction requires new software techniques and frameworks. Using additional devices means that user interface toolkits must be moreflexible with regard to input devices and event types.The possibility of parallel interactions must also be taken into account,with consequences on the structure of toolkits.Finally,frameworks must be provided for the com-bination of events and status of several devices.This paper reports on the extensions we made to the direct manipulation interface toolkit Whizz in order to experiment two-handed interaction.These extensions range from structural adap-tations of the toolkit to new techniques for specifying the time-dependent fusion of events.Keywords:interaction styles,multimodal interaction,two-handed interaction,graphical toolkit,direct manipulation. INTRODUCTIONThough many aspects of their construction are still a matter of research,graphical interfaces are now well known.Most of them make use of a pointing device that users manipulate with their dominant hand.This has led to the introduction of a number of interaction styles centered around that pointing device:buttons,menus,point-and-click,drag-and-drop,and so on.Such interaction styles enable interface designers to build systems that are fairly efficient and easy to use. However,the efficiency of such interfaces can probably be improved.In the real world,we perform many tasks with both hands,because it is more efficient.Because of these natural skills,drawing pictures with a MacDraw-like tool is sometimes frustrating:a significant part of the time is spent in moving the mouse around to select tools,locking objects so that they do not move when working on them,and so on.This is very similar to handcrafting with one’s hand behind one’s back:tools make it possible,but at the cost of a considerable waste of time.When considering graphical software,it is interesting to note that keyboard short-cuts are a way for us to use our non-dominant hand when drawing,and to avoid unnecessary movements with the dominant one.A recent study shows that carefully designed two-handed graphical interaction can improve the efficiency of interfaces[13].Apart from drawing tools,a number of application domains could benefit from such interfaces.Among these are the domains where users are well-trained professionals,whose attention is focused on the task they are performing.We believe that air-traffic control is a good example of such a domain.The interfaces provided to air-traffic controllers es-sentially consist of a presentation of the situation in air-space: it is the so-called“radar image”,which is composed of maps and a number of symbols representing way-points,aircraft, and other useful information.Many countries are currently working on new interfaces that allow controllers to manipu-late these representations with modern interaction techniques. At CENA,we are exploring the hypothesis that controllers might be able to plan their work by manipulating future trajec-tories of aircraft.This is why we are investigating efficient techniques for interaction with curves and objects moving along them.Among other techniques,we are developing two-handed interfaces in order to test their efficiency with experiments and measurements.Graphical interaction provides designers with many degrees of freedom,but also with many possibilities to build bad systems.This is even more true for two-handed interaction, which can even be made less efficient than single-handed equivalents.In order to explore possible interaction styles and determine the most efficient ones for a given task,studies on two-handed interaction must be supported by sufficiently versatile software tools.Some of the currently available graphical toolkits provide enough support for building highly interactive interfaces.However,they do not support,or they even impede,the construction of two-handed interfaces.This paper reports on the extensions that were made to the Whizz graphical toolkit so as to handle two-handed interaction.We first review a number of two-handed interaction styles and identify three classes of technical issues raised by their con-struction.These classes are closely related to a more general classification of multimodal interfaces.We then give a brief description of Whizz and how it supports the construction of single-handed graphical interfaces.The last three sections are devoted to the three classes of technical issues raised bytwo-handed interfaces,and to the solutions to these issues that were implemented in Whizz.RELATED WORKGraphical interaction and the related software issues have been widely explored for more than ten years.A number of graphical toolkits have been proposed to ease the construc-tion of graphical presentations and the description of mouse and keyboard-based dialogues.The X Toolkit and Inter-Views [15]are such toolkits.Systems such as Garnet [16]andX [1,2]pay great attention to the description of direct manipulation interfaces.However,until now these systems have been dedicated to interfaces based on a single pointing device and a keyboard.The notion of multimodal interaction was identi fied by Bolt [6].Different opinions still exist about the exact de finition of the term multimodal.However,most authors who recently wrote on that subject considered it as de fining systems that feature multiple input devices (multi-sensor interaction)or multiple interpretations of input issued through a single device.A number of studies have dealt with the combination of voice recognition and graphical interaction [20,10].Other au-thors studied the combination of direct manipulation and 2D gesture recognition [19,14].Some graphic toolkits such as Sassafras [11]and Grandma [19]support the construction of multi-threaded interfaces.At the French IHM’91work-shop [12],a classi fication of multimodal systems,later re fined by Nigay and Coutaz [17],was devised.This classi fication is organized along two axes:the sequential or concurrent use of modalities,and their independent or combined inter-pretation.Systems which feature two or more modalities in parallel,with combined interpretation of input tokens,are called synergistic.The “Put That There”style of interaction is an example of synergistic multimodal input.Other pos-sibilities are exclusive,concurrent and alternate modalities.Nigay and Coutaz also stress the distinction between com-bining low-level input tokens,such as phonemes and mouse events,and high-level ones.An example of high-level fusion is the “Put That There”style,where the meaning of words and the identity of the designated objects are necessary to the fusion of input data.Two-handed interaction was suggested a long time ago [7],and has gained more popularity since recent work by Xe-rox PARC and the University of Toronto [4].Two-handed interaction is a special case of multi-sensor interaction,and therefore of multimodal interaction.As other multimodal in-terfaces,two-handed interfaces may use exclusive,alternate,concurrent or synergistic modalities.Similarly,such inter-faces feature high-level fusion:for instance,one could imag-ine a two handed iconic interface where one hand would se-lect objects and the other would choose operations in menus.They may also feature low-level fusion,as in the well known shift-clicks of your favorite desktop interface.We will see later in this paper that other forms of low-level fusion in two-handed interaction deeply involve time.Finally,two-handed interaction also shares concerns with multi-user interaction.Some multi-user systems,such as MMM [3],allow several users to edit the same object in parallel.This raises the same need for low level fusion as two handed interaction.TWO-HANDED INTERACTIONLet us now review some styles of graphical interaction in-volving both hands.Single-handed input offers a number of degrees of freedom to designers,and two-handed input increases that freedom.First,the debate on the choice of input devices will reappear:is it better to use two mice,or a mouse and a trackball,for instance?We will not open that debate here,but acknowledge the diversity of choices.For example,virtual reality designers will want to use two digital gloves.In their 1986paper,Buxton and Myers ex-plored the use of a graphics tablet and a slider box (a sort of 1-D mouse).Today’s keyboards can de finitely be consid-ered as two-handed input devices for text input,even if their management is straightforward.In the domain of graphics manipulation,a quick survey re-veals potential applications to several combinations of de-vices.We all are used to shift-clicks,which combine actions on the mouse with one hand to actions on the keyboard with the other hand.One-dimensional input devices may also be combined with the mouse:a slider or a rotary knob controls the zoom factor of the display,while the mouse is used to ing these devices in parallel would save time when drawing precise figures,as one often switches from high scale (to draw details)to normal scale (to see the overall result).Fi-nally,two pointing devices may be used,as in Xerox PARC’s Toolglass.With the exception of digital gloves,the use of two pointing devices has the greatest power of expression,and is the most demanding in terms of software complexity.For that reason,the majority of our examples will use two pointers,considering that other two-handed interaction will be handled in a similar way.Guidelines for two-handed interactionThere is probably no task for which two-handed input should be the only way to perform operations:there will always be situations in which one hand is used for another task,such as holding a sheet of paper or a glass of water.This means that all systems based on two-handed input should be usable with one hand only.Obvious design rules suggest that one-handed and two-handed actions for the same operation should be similar,and that one should be easily inferred from the other.We suggest that this requirement is most easily met when using paradigms from the real world.In our opinion,interfaces based on such paradigms just need to be extended for two-handed input according to their paradigm.For instance,we all have a good idea of what happens if we pick an object with one hand and drag it;similarly,something predictable should happen if we pick an object with both hands and stretch it.We claim that two-handed interaction styles should generally follow that rule.This being stated,there still are many possibilities for two-handed interaction.The classi fication of multimodal inter-faces provides a good framework for exploring these possi-bilities,because it de fines a kind of hierarchy among them.The simplest usage of several modalities is their exclusive usage,and it is the basis of other usages.If a system allows parallel or combined modalities,it is obviously able to pro-vide independent interactions with these modalities,except if that possibility has explicitly been disabled.The next step incomplexity is the use of parallel interactions:the two hands work at the same time.Finally,the most complex interfaces are those which combine the input from both ing that classification,we will see how single-handed graphical interaction can be extended.Independent interactionA simple way to smoothly extend one-handed interfaces con-sists of adding a second pointing device that can be used in the same way as thefirst.This enables users to save a consider-able amount of time when pressing buttons or selecting tools: for instance,the non-dominant hand can select tools while the dominant one rests on the object which is being manipulated. Such interfaces can still be used with one hand:they are just more efficient with both hands.Xerox PARC’s Toolglass is a sophisticated version of that:having the tools located on a transparent palette that can be moved around allows users to keep their focus on the object of interest.Similar interactions may be used to control global parameters of the display,such as the zoom factor,without moving the dominant hand. Finally,the second pointing device could be used for drawing pictures or moving icons.However,people are slower in per-forming precision tasks with their non-dominant hand.The designers of Toolglass solved this issue by assigning the task of moving a palette to that hand,whose designation is easy. The size of the target compensates for the relative imprecision of the hand.Another possibility may be suggested:using the non-dominant hand for the designation of small objects with large cursors.Such large cursors would have to be every-where“hot”,as opposed to traditional cursors that only have a hot spot.However,even if the system may be designed to nicely take care of imprecision,there is no real benefit in using the non-dominant hand where the dominant one can be used,except if actions can be performed in parallel. Parallel interactionParallel interaction is the natural next step as soon as two-handed interaction is possible.Even though most people are not trained to perform real independent tasks in parallel,we all unconsciously use our non-dominant hand for secondary tasks,such as bringing a tool to the dominant one.The utility of Toolglass,for instance,would be limited if interactions had to be strictly serialized:our hands are not used to waiting for each other before performing operations,and imposing it would be frustrating.Therefore,parallelism is inherent to two-handed interaction,because of our natural habits.Con-sequently,all the examples of interaction styles we mention in this paper use parallel interaction,in a more or less obvious way.Some applications can also be found to real parallel inter-action,where the two hands perform independent tasks of the same importance.We should of course mention games. Simulation games will make use of parallel actions when the tasks they simulate make use of them:driving a car,or pilot-ing a plane,for example.Other games may be designed to challenge human capabilities:juggling games or two-handed action games can be imagined.When exploring the technical issues associated to parallel interaction,we will also mention the use of parallelism for manipulating cards in a game of Patience.Nevertheless,we believe that parallelism is more a necessity than a goal in itself,and that it will mainly be useful when combining actions of the two hands.Combined interactionThe most elaborate way to use two pointing devices is to combine their actions.In the real world,we often use our non-dominant hand to hold objects while performing precise operations on them.We also use it in coordination with the dominant hand to provide additional strength,or to manipu-late objects that are more precisely moved when held from two distant points.Traditional interfaces have replaced the second hand by a form of magic:in a drawing tool,when we move one end of a segment,the other end is held by an invisible hand.What we suggest here is to disable that magic when two hands are at work.The non-dominant hand can hold the end of the segment,with no need for magic.This leads to an interaction style based on a physical metaphor:if one hand picks the end of a segment and drags it,the whole segment moves;if the second hand holds the other end dur-ing that operation,the segment is deformed,like a metal stick would be.This is what we call“hold-and-pull”.Another example of combined interaction is the simultaneous designation of two objects.This type of interaction is used in the real world as a security for critical operations[18]:an operation will be performed only if two buttons are pressed simultaneously,for instance.This can be immediately transposed to graphical interfaces.For instance,the designer of a drawing editor could decide that,by clicking on two graphical buttons simultaneously,a user may quit the editor without saving the editedfiles.The role of time in such interactions is important:as in double-clicking,a reasonable tolerance must be specified.Therefore,time has to be taken into account when performing the fusion of input data.We now have identified several two-handed interaction styles, which illustrate the different aspects of multi-sensor interac-tion:independent,parallel and combined interaction.In the rest of this article,we will see how support for such interac-tion styles was added to Whizz.AN OVERVIEW OF WHIZZWhizz is a toolkit aimed at describing the behaviour of highly interactive or animated user interfaces.It was designed with three main goals inmind:homogeneity:we consider that direct manipulation by users,animation,and data visualization are different aspects of the dynamic behaviour of an interface.The design of an interactive object and its graphical behaviour should be reusable in different contexts:for instance,a scrollbar al-ways has the same behaviour,whether driven by a user’s actions on the mouse,or by a clock(when one of the arrows at the ends of the scrollbar is“depressed”),or by the vari-ations of some piece of data(when the size of a document changes,for instance).This is illustrated byfigure1. straightforward visual representation:Whizz was designed to allow the development of visual user interface construction tools,with the goal of applying such tools to the design of highly interactive user interfaces.This led us to identifying a number of basic building blocks that are to the behaviour of an interface what graphical objects are to its visual appearance.moving withthe user's actionsmovingautomaticallymoving accordingto a variableFigure1:A scrollbar has the same graphical be-haviour,whether driven by time,the user’s action,ordata variationsGraphical interfaces areobtained by assembling a number ofthese building blocks.extensibility:Whizz implements a number of graphicalbehaviours and handles mouse and keyboard input,but wealso wanted its paradigm to be usable for other media suchas sound,and to other input devices such as rotating knobs or3D devices.In order to achieve these goals,Whizz has an object ori-ented structure,and uses a data-flow model,as many signalprocessing and music synthesis systems[9].All the objectsmanipulated in Whizz are modules that can be connected to-gether with links that carry pieces of information.Amongthese modules,Whizz makes a distinction between graphi-cal objects and graphical behaviours;the latter are furtherdecomposed into movement shape and movement source.Movement shapes are implemented by objects that managetrajectories:straight lines,circles,paths,etc.Similar objectsmanage other visual variations,such as color changes.Move-ment sources are clocks,active values or representation of theuser’s actions.A simple movement can thus be achieved byconnecting a source,a trajectory and a graphical object.The programming interface of Whizz uses a musical metaphorin order to make its structure easy to learn:movement sourcesare tempos,trajectories are instruments,and graphical objectsare dancers;the small pieces of information circulating fromtempos to instruments,then from instruments to dancers,arenotes.Depending on their type,dancers have a number of in-put slots which control their position,shape and appearance:for instance,a segment has slots that control its two ends.Anote reaching one of these slots will change the position ofthe corresponding end.Similarly,instruments have an inputslot that control the step-by-step emission of notes on theiroutput slots;they also have other input slots to allow randomaccess.Figure2illustrates how a simple animation scene canbe built with Whizz.Figure3shows another simple Whizzconstruction that describes(with a minor simplification)theaction of dragging an icon.This construction may be builtwhen a“button down”event occurs on an icon,by connect-ing the two modules.It may be destroyed,by removing theconnection,when a“button up”event is detected.TempoFigure2:Animating a segment:one of the ends of thesegment is connected to the output of a circular tra-jectory.The trajectory emits positions when it receivespulses from the tempo.Complex graphical interfaces can be achieved by establishinglinks between a number of dancers,instruments and tempos,thus utilizing the underlying data-flow structure of Whizz.Other modules than the ones we described may be added tobuild more complex behaviours:filters that perform numericor geometric operations,logic gates,and so on.For instance,the construction offigure3does not exactly describe thedragging of an icon as it is usually performed:it does nottake into account the relative position of the cursor on theicon when the mouse was clicked.In practice,two moremodules should be used:one for storing the offset,andtheother for combining it with the position of the mouse.Figure3:Dragging an icon:the module representingthe user’s action with the mouse is connected to theposition of the icon.Flow graphs built this way give account of the continuousevolutions of the display.Isolated evolutions such as thosetraditionally associated to input events can also be handledby Whizz.Events such as button clicks can either be con-verted to notes,or they can be associated to reconfigurationsof theflow graph,in order to change the behaviour of theinterface or create new graphical objects,for instance.This is what happens in the example of figure 3,where connec-tions and disconnections are associated to “button down”and “button up”events.Such connections and disconnections are currently performed by programming,but techniques for graphically describing them are being studied.An experimental visual construction tool based on Whizz was developed,and is still under development.This tool,called Whizz’Ed,uses the graphical notation that we used in figures 2and 3for describing data flows.Techniques for representing and specifying reactions to events and recon fig-urations of the flow graph are currently being devised.These representations,even though they were not yet implemented in Whizz’Ed,are used in the the rest of this article.More de-tails and other features of Whizz can be found in [8].Whizz was implemented in C++on top ofX ,a graphical toolkit designed at the University of Paris Sud to serve as the ba-sis for experiments on interaction styles and user interface software [1].Whizz has already been used by programmers in several user interface development projects involving di-rect manipulation,such as an aeronautical map editor or a radar image featuring gesture recognition.We will now see how Whizz can be extended to support the development of two-handed interfaces.INDEPENDENT INTERACTIONBefore thinking of using two devices in parallel and combin-ing their actions,the first step towards building two-handed interfaces consists in being able to handle two devices.This will only allow independent,exclusive interaction,but other interaction styles depend on this one being properly sup-ported.We will not consider here the low-level details of connecting and managing devices other than the traditional mouse and keyboard.Such issues can be solved by using op-erating system facilities or extensions to a window server.We will rather focus on issues related to interaction management,which affect the structure of graphical toolkits.These issues are the dynamic management of event types,the event han-dling scheme,and the support for handling the imprecision of the non-dominant hand.New event typesA great effort has been put in graphical toolkits to provide a homogeneous framework for manipulating input from the keyboard and the mouse.This homogeneity is the key to the construction of maintainable interactive software,and must not be lost when adding new devices.For that reason,our first requirement for a multi-sensor interaction toolkit is the smooth integration of the signals from new devices with those from traditional ones.Event-based systems provide an elegant solution to this requirement:one just needs to insert events in the event queue.However,this supposes that new event types can be created.Such new event types include those associated to the new devices or modalities (an event type for each gesture type,for instance).They may also include synthetic event types resulting from the combination of primitive event types.For two-handed interaction,no new primitive type is needed,but synthetic ones will be necessary to describe simultaneous clicks with both pointing devices,for instance.That ability to manage new event types is rarely found in user interface toolkits;it is a serious problem when using a statically typed language such as C++:if all event types cannot be statically de fined,the typing scheme of the lan-guage cannot be used.In order to solve this problem,Whizz provides a mechanism for dynamically de fining new event types.In Whizz,an event type is a full blown object,that can be instantiated when necessary.Every event type contains a description of the fields found in events of that type.When creating an event,one only needs to provide a reference to the desired event type,and Whizz allocates the necessary space.This mechanism is compatible with the existence of default event types (which are globally de fined objects),and with the creation of new event types.Event selection and handlingOnce events are created and integrated in the event queue,they have to be dispatched to graphical objects and handled.This means that the event selection and distribution mecha-nism provided by the toolkit has to be extensible to dynam-ically de fined event types.For example,a programmer may wish to bind “circling”gestures on a graphical object to a call-back function,and “underlining”gestures to another callback function.Two-handed interaction also introduces a need for flexibility in event selection.If a two-handed interface is to offer an equal treatment to both hands,we can expect the graphical toolkit to handle events from both pointing devices in the same way.For instance,let us consider the graphical button and the callback function of figure 4.The toolkit must allow programmers to bind “button down”events on the but-ton to the callback function,without mentioning a speci fic device.The expected behaviour is illustrated in figure 5:clicking with either pointer results in the callback function being called.void OK (WhzEvent* ev) {printf ("ok\n");}Figure 4:A graphical button and the associated call-back function.However,we also want to avoid interferences:depressing a button with the left hand,then releasing another button with the right one,must not be interpreted as a button click,as shown in figure 6.As soon as an action is started,the sym-metry is broken,and the toolkit must allow programmers to specify how.The event selection mechanism ofX ,which is used in Whizz,permits such precise de finitions.First,X has an explicit notion of devices:there are classes of devices such as mice or keyboards,that are instantiated to representleftrighttimeFigure 5:Clicking on the button with either pointing device produces the same resultthe physical devices used in a program.Then,a programmer can bind a number of reactions to a graphical object.When doing so,one must specify the set of event types and the set of devices or device types whose events will be managed by the reaction.Reactions can be dynamically created and destroyed,bound and unbound,so that objects can be made temporarily sensitive to speci fic events.This makes it easy to specify the behaviour of the graphical button of figure 4,as illustrated in figure 7:a reaction is permanently bound to “button down”events from any device on the button;when this reaction is triggered,it binds a new reaction to the button;this second reaction,associated to “button up”events from the device that emitted a “button down”,activates the button,then destroys itself.In single-handed interfaces,this second reaction could be permanent like the first one:mechanical constraints impose that a “button up”event necessarily fol-lows a “button down”event,and there is only one pointing device to select events from.But here,there is no such mechanical constraint.Programmers have to specify which device they are interested in,and they only have that infor-mation when a button has been depressed.This is why the second reaction has to be bound,or evencreatedtemporarily.leftrighttimeFigure 6:Interferences between pointing devices must be avoided./*a button */Button but (100,50,200,100,"OK");/*a reaction bound to any button-down event */XtvReaction down (&down_callback);down.Bind (but,MouseButtonDn,XtvMice);void down_callback (XtvReaction*r,XtvEvent*ev){/*provide visual feedback */Button*b =(Button*)ev->GetTarget ();b->Select ();/*a reaction to button-up from the same device */XtvReaction*up =new XtvReaction (&up_callback);up->Bind (*but,MouseButtonUp,ev->GetDevice ());}void up_callback (XtvReaction*r,XtvEvent*ev){/*trigger action associated to the button */Button*b =(Button*)ev->GetTarget ();b->Fire ();/*no more reaction bound to button-upevents*/delete r;}Figure 7:Using X to make a button sensitive to all “button down”events,but only to “button up”events emitted from the corresponding device.Handling imprecisionFinally,irrespective of the amount of symmetry being desired between the two hands,the imprecision of the non-dominant hand has to be accounted for.We proposed to use bigger cur-sors and ensure that all of their points are active:for example,clicking while the tip of an arrow is over an object or when its tail is on it should have the same consequences.This chal-lenges another assumption heavily used by graphical toolkits:the fact that designations occur with a precision of one pixel.All mouse events,and more signi ficantly their dispatching,are built around this assumption:the cursor has a “hot spot”,and events contain the position of that hot spot.The dispatch-ing mechanism usually considers every graphical object in a view where an event occurred,and asks that graphical object whether it contains the pixel where the hot spot is located.In order to support less precise cursors,toolkits would have to replace this test of a point against a shape with the test of a shape against another shape.This would of course require more complex and more costly geometric computations.In the current version of Whizz,we only implemented circular cursors,or circular zones around arbitrary cursors.Neverthe-less,we believe that the present speed of computers allows the implementation of a more general mechanism.The use of cursors that are “everywhere hot”also raises the issue of choosing the selection when the cursor is over two non-overlapping objects.The usual technique that consists in selecting the first graphical object under the cursor cannot be applied here:it relies on the fact that other objects under the cursor are necessarily under the first object.Here,two objects with no obvious order can be under the cursor at the same time.This issue can be addressed with techniques such as selecting the object that is closest to the center of the cursor,and giving a visual feedback of that selection.Other,more complex solutions that we have not explored yet,involve the selection of several objects at the same time.This technique could allow more realistic interaction,but its usability and feasibility still have to be assessed.。