2009 Automatic Domotic Device Interoperation
- 格式:pdf
- 大小:992.79 KB
- 文档页数:8
March 2009High Quality DXT Compression using OpenCL for CUDAIgnacio Castaño*******************Document Change HistoryVersion Date Responsible Reason for Change0.1 02/01/2007 Ignacio Castaño First draft0.2 19/03/2009 Timo Stich OpenCL versionAbstractDXT is a fixed ratio compression format designed for real-time hardware decompression of textures. While it’s also possible to encode DXT textures in real-time, the quality of the resulting images is far from the optimal. In this white paper we will overview a more expensivecompression algorithm that produces high quality results and we will see how to implement it using CUDA to obtain much higher performance than the equivalent CPU implementation.MotivationWith the increasing number of assets and texture size in recent games, the time required to process those assets is growing dramatically. DXT texture compression takes a large portion of this time. High quality DXT compression algorithms are very expensive and while there are faster alternatives [1][9], the resulting quality of those simplified methods is not very high. The brute force nature of these compression algorithms makes them suitable to be parallelized and adapted to the GPU. Cheaper compression algorithms have already been implemented [2] on the GPU using traditional GPGPU approaches. However, with the traditional GPGPU programming model it’s not possible to implement more complex algorithms where threads need to share data and synchronize.How Does It Work?In this paper we will see how to use CUDA to implement a high quality DXT1 texturecompression algorithm in parallel. The algorithm that we have chosen is the cluster fit algorithm as described by Simon Brown [3]. We will first provide a brief overview of the algorithm and then we will describe how did we parallelize and implement it in CUDA.DXT1 FormatDXT1 is a fixed ratio compression scheme that partitions the image into 4x4 blocks. Each block is encoded with two 16 bit colors in RGB 5-6-5 format and a 4x4 bitmap with 2 bits per pixel. Figure 1 shows the layout of the block.Figure 1. DXT1 block layoutThe block colors are reconstructed by interpolating one or two additional colors between the given ones and indexing these and the original colors with the bitmap bits. The number of interpolated colors is chosen depending on whether the value of ‘Color 0’ is lower or greater than ‘Color 1’.BitmapColorsThe total size of the block is 64 bits. That means that this scheme achieves a 6:1 compression ratio. For more details on the DXT1 format see the specification of the OpenGL S3TCextension [4].Cluster FitIn general, finding the best two points that minimize the error of a DXT encoded block is a highly discontinuous optimization problem. However, if we assume that the indices of the block are known the problem becomes a linear optimization problem instead: minimize the distance from each color of the block to the corresponding color of the palette.Unfortunately, the indices are not known in advance. We would have to test them all to find the best solution. Simon Brown [3] suggested pruning the search space by considering only the indices that preserve the order of the points along the least squares line.Doing that allows us to reduce the number of indices for which we have to optimize theendpoints. Simon Brown provided a library [5] that implements this algorithm. We use thislibrary as a reference to compare the correctness and performance of our CUDAimplementation.The next section goes over the implementation details.OpenCL ImplementationPartitioning the ProblemWe have chosen to use a single work group to compress each 4x4 color block. Work items that process a single block need to cooperate with each other, but DXT blocks are independent and do not need synchronization or communication. For this reason the number of workgroups is equal to the number of blocks in the image.We also parameterize the problem so that we can change the number of work items per block to determine what configuration provides better performance. For now, we will just say that the number of work items is N and later we will discuss what the best configuration is.During the first part of the algorithm, only 16 work items out of N are active. These work items start reading the input colors and loading them to local memory.Finding the best fit lineTo find a line that best approximates a set of points is a well known regression problem. The colors of the block form a cloud of points in 3D space. This can be solved by computing the largest eigenvector of the covariance matrix. This vector gives us the direction of the line.Each element of the covariance matrix is just the sum of the products of different colorcomponents. We implement these sums using parallel reductions.Once we have the covariance matrix we just need to compute its first eigenvector. We haven’t found an efficient way of doing this step in parallel. Instead, we use a very cheap sequential method that doesn’t add much to the overall execution time of the group.Since we only need the dominant eigenvector, we can compute it directly using the Power Method [6]. This method is an iterative method that returns the largest eigenvector and only requires a single matrix vector product per iteration. Our tests indicate that in most cases 8iterations are more than enough to obtain an accurate result.Once we have the direction of the best fit line we project the colors onto it and sort them along the line using brute force parallel sort. This is achieved by comparing all the elements against each other as follows:cmp[tid] = (values[0] < values[tid]);cmp[tid] += (values[1] < values[tid]);cmp[tid] += (values[2] < values[tid]);cmp[tid] += (values[3] < values[tid]);cmp[tid] += (values[4] < values[tid]);cmp[tid] += (values[5] < values[tid]);cmp[tid] += (values[6] < values[tid]);cmp[tid] += (values[7] < values[tid]);cmp[tid] += (values[8] < values[tid]);cmp[tid] += (values[9] < values[tid]);cmp[tid] += (values[10] < values[tid]);cmp[tid] += (values[11] < values[tid]);cmp[tid] += (values[12] < values[tid]);cmp[tid] += (values[13] < values[tid]);cmp[tid] += (values[14] < values[tid]);cmp[tid] += (values[15] < values[tid]);The result of this search is an index array that references the sorted values. However, this algorithm has a flaw, if two colors are equal or are projected to the same location of the line, the indices of these two colors will end up with the same value. We solve this problem comparing all the indices against each other and incrementing one of them if they are equal:if (tid > 0 && cmp[tid] == cmp[0]) ++cmp[tid];if (tid > 1 && cmp[tid] == cmp[1]) ++cmp[tid];if (tid > 2 && cmp[tid] == cmp[2]) ++cmp[tid];if (tid > 3 && cmp[tid] == cmp[3]) ++cmp[tid];if (tid > 4 && cmp[tid] == cmp[4]) ++cmp[tid];if (tid > 5 && cmp[tid] == cmp[5]) ++cmp[tid];if (tid > 6 && cmp[tid] == cmp[6]) ++cmp[tid];if (tid > 7 && cmp[tid] == cmp[7]) ++cmp[tid];if (tid > 8 && cmp[tid] == cmp[8]) ++cmp[tid];if (tid > 9 && cmp[tid] == cmp[9]) ++cmp[tid];if (tid > 10 && cmp[tid] == cmp[10]) ++cmp[tid];if (tid > 11 && cmp[tid] == cmp[11]) ++cmp[tid];if (tid > 12 && cmp[tid] == cmp[12]) ++cmp[tid];if (tid > 13 && cmp[tid] == cmp[13]) ++cmp[tid];if (tid > 14 && cmp[tid] == cmp[14]) ++cmp[tid];During all these steps only 16 work items are being used. For this reason, it’s not necessary to synchronize them. All computations are done in parallel and at the same time step, because 16 is less than the warp size on NVIDIA GPUs.Index evaluationAll the possible ways in which colors can be clustered while preserving the order on the line are known in advance and for each clustering there’s a corresponding index. For 4 clusters there are 975 indices that need to be tested, while for 3 clusters there are only 151. We pre-compute these indices and store them in global memory.We have to test all these indices and determine which one produces the lowest error. In general there are indices than work items. So, we partition the total number of indices by the number of work items and each work item loops over the set of indices assigned to it. It’s tempting to store the indices in constant memory, but since indices are used only once for each work group, and since each work item accesses a different element, coalesced global memory loads perform better than constant loads.Solving the Least Squares ProblemFor each index we have to solve an optimization problem. We have to find the two end points that produce the lowest error. For each input color we know what index it’s assigned to it, so we have 16 equations like this:i i i x b a =+βαWhere {}i i βα, are {}0,1, {}32,31, {}21,21, {}31,32 or {}1,0 depending on the index and the interpolation mode. We look for the colors a and b that minimize the least square error of these equations. The solution of that least squares problem is the following:∑∑⋅∑∑∑∑= −i i i i i ii i i i x x b a βαββαβαα122 Note: The matrix inverse is constant for each index set, but it’s cheaper to compute it everytime on the kernel than to load it from global memory. That’s not the case of the CPU implementation.Computing the ErrorOnce we have a potential solution we have to compute its error. However, colors aren’t stored with full precision in the DXT block, so we have to quantize them to 5-6-5 to estimate the error accurately. In addition to that, we also have to take in mind that the hardware expands thequantized color components to 8 bits replicating the highest bits on the lower part of the byte as follows:R = (R << 3) | (R >> 2); G = (G << 2) | (G >> 4); B = (B << 3) | (B >> 2);Converting the floating point colors to integers, clamping, bit expanding and converting them back to float can be time consuming. Instead of that, we clamp the color components, round the floats to integers and approximate the bit expansion using a multiplication. We found the factors that produce the lowest error using an offline optimization that minimized the average error.r = round(clamp(r,0.0f,1.0f) * 31.0f); g = round(clamp(g,0.0f,1.0f) * 63.0f); b = round(clamp(b,0.0f,1.0f) * 31.0f); r *= 0.03227752766457f; g *= 0.01583151765563f; b *= 0.03227752766457f;Our experiment show that in most cases the approximation produces the same solution as the accurate solution.Selecting the Best SolutionFinally, each work item has evaluated the error of a few indices and has a candidate solution.To determine which work item has the solution that produces the lowest error, we store the errors in local memory and use a parallel reduction to find the minimum. The winning work item writes the endpoints and indices of the DXT block back to global memory.Implementation DetailsThe source code is divided into the following files:•DXTCompression.cl: This file contains OpenCL implementation of the algorithm described here.•permutations.h: This file contains the code used to precompute the indices.dds.h: This file contains the DDS file header definition. PerformanceWe have measured the performance of the algorithm on different GPUs and CPUscompressing the standard Lena. The design of the algorithm makes it insensitive to the actual content of the image. So, the performance depends only on the size of the image.Figure 2. Standard picture used for our tests.As shown in Table 1, the GPU compressor is at least 10x faster than our best CPUimplementation. The version of the compressor that runs on the CPU uses a SSE2 optimized implementation of the cluster fit algorithm. This implementation pre-computes the factors that are necessary to solve the least squares problem, while the GPU implementation computes them on the fly. Without this CPU optimization the difference between the CPU and GPU version is even larger.Table 1. Performance ResultsImage TeslaC1060 Geforce8800 GTXIntel Core 2X6800AMD Athlon64 DualCore 4400Lena512x51283.35 ms 208.69 ms 563.0 ms 1,251.0 msWe also experimented with different number of work-items, and as indicated in Table 2 we found out that it performed better with the minimum number.Table 2. Number of Work Items64 128 25654.66 ms 86.39 ms 96.13 msThe reason why the algorithm runs faster with a low number of work items is because during the first and last sections of the code only a small subset of work items is active.A future improvement would be to reorganize the code to eliminate or minimize these stagesof the algorithm. This could be achieved by loading multiple color blocks and processing them in parallel inside of the same work group.ConclusionWe have shown how it is possible to use OpenCL to implement an existing CPU algorithm in parallel to run on the GPU, and obtain an order of magnitude performance improvement. We hope this will encourage developers to attempt to accelerate other computationally-intensive offline processing using the GPU.High Quality DXT Compression using CUDAMarch 2009 9References[1] “Real-Time DXT Compression”, J.M.P. van Waveren. /cd/ids/developer/asmo-na/eng/324337.htm[2] “Compressing Dynamically Generated Textures on the GPU”, Oskar Alexandersson, Christoffer Gurell, Tomas Akenine-Möller. http://graphics.cs.lth.se/research/papers/gputc2006/[3] “DXT Compression Techniques”, Simon Brown. /?article=dxt[4] “OpenGL S3TC extension spec”, Pat Brown. /registry/specs/EXT/texture_compression_s3tc.txt[5] “Squish – DXT Compression Library”, Simon Brown. /?code=squish[6] “Eigenvalues and Eigenvectors”, Dr. E. Garcia. /information-retrieval-tutorial/matrix-tutorial-3-eigenvalues-eigenvectors.html[7] “An Experimental Analysis of Parallel Sorting Algorithms”, Guy E. Blelloch, C. Greg Plaxton, Charles E. Leiserson, Stephen J. Smith /blelloch98experimental.html[8] “NVIDIA CUDA Compute Unified Device Architecture Programming Guide”.[9] NVIDIA OpenGL SDK 10 “Compress DXT” sample /SDK/10/opengl/samples.html#compress_DXTNVIDIA Corporation2701 San Tomas ExpresswaySanta Clara, CA 95050 NoticeALL NVIDIA DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS, DIAGNOSTICS, LISTS, AND OTHER DOCUMENTS (TOGETHER AND SEPARATELY, “MATERIALS”) ARE BEING PROVIDED “AS IS.” NVIDIA MAKES NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.Information furnished is believed to be accurate and reliable. However, NVIDIA Corporation assumes no responsibility for the consequences of use of such information or for any infringement of patents or otherrights of third parties that may result from its use. No license is granted by implication or otherwise under any patent or patent rights of NVIDIA Corporation. Specifications mentioned in this publication are subject to change without notice. This publication supersedes and replaces all information previously supplied. NVIDIA Corporation products are not authorized for use as critical components in life support devices or systems without express written approval of NVIDIA Corporation.TrademarksNVIDIA, the NVIDIA logo, GeForce, and NVIDIA Quadro are trademarks or registeredtrademarks of NVIDIA Corporation in the United States and other countries. Other company and product names may be trademarks of the respective companies with which they are associated. Copyright© 2009 NVIDIA Corporation. All rights reserved.。
Introduction _______________________________________________________________ 2 About Autodesk® Stitcher™ Unlimited 2009 _________________________________________ 2 Goal of this tutorial ___________________________________________________________ 2 1.Loading Images _________________________________________________________ 3The Autodesk Stitcher Unlimited 2009 interface ____________________________________ 3 Loading your shots ____________________________________________________________ 4 2.Stitching _______________________________________________________________ 6Auto-Stitching ________________________________________________________________ 6 Manual-Stitching _____________________________________________________________ 73.Alignment ____________________________________________________________ 124.Equalization ___________________________________________________________ 145.Render _______________________________________________________________ 15Render area and rendering options ______________________________________________ 15Load a Spherical panorama and convert to QTVR® _________________________________ 20IntroductionAbout Autodesk® Stitcher™ Unlimited 2009Autodesk Stitcher Unlimited 2009 is the way to build high-quality panoramas for the Web, film, print, and 3D.With advanced features, Autodesk Stitcher Unlimited 2009 gives photographers and artists the power to deliver the most impressive panoramas in the formats they need. Autodesk Stitcher creates wide-angle, high-resolution 360° × 180° panoramic images in seconds from horizontally and vertically overlapping photos. You can create new image sets from the panorama using a virtual camera with zoom, pan, and roll motion. Results can be rendered as a cube, plane, cylinder, sphere projection, and as a QuickTime® movie (Cylindrical QTVR and Cubic QTVR), and in VRML format for creating high-impact Web pages, definition mattes, environment maps, and 3D models.Goal of this tutorialThis 5-step tutorial will guide you through the creation of a full spherical panorama image in 360° and a QTVR interactive file. This complete project will take you step by step through the main workflow and features of Autodesk Stitcher Unlimited 2009.This tutorial was prepared and illustrated using Autodesk Stitcher Unlimited 2009.1. Loading ImagesThe Autodesk Stitcher Unlimited 2009 interfaceLoading your shotsThe first step in the creation of a Stitcher project is to load the image files that you will use to create the panorama.To load the pictures:1.Select File > Load Images from the main menu or click the Load Images icon in the toolbar.The Load Images browser opens.2.Select all the files you will use for your panorama.3.Click Open.When the images are loaded, Stitcher tries to read the EXIF data and proposes theappropriate camera lens type. The following dialog lets you choose between keeping thesettings and adjusting them manually.The current example use images with EXIF data so Stitcher correctly detects all theparameters. Click Yes to keep the settings Stitcher has read.NOTE If for any reason you need to change the parameters you can right-click anywhereinside the Stitcher interface and open the Properties dialog.Your images will be loaded into the Thumbnail View, as demonstrated in the screen shot below.Open the loaded.rzs file to see the image files already loaded for this project.2.StitchingAuto-StitchingAutodesk Stitcher Unlimited 2009 has a fully automated stitching engine. Run the Stitch Shots function by either:•clicking the icon in the toolbar, or•press ENTER (make sure no images are selected),or•Stitch > Stitch ShotsThe Stitching Window is a 3D environment in which you can navigate around using the navigation controls (see “Navigating in Stitcher” in the Stitcher User Guide for more information on navigation). NOTE The display can appears smoother in the Stitching window if your graphic card allows real timelinear blending; the GPU options can be set from the preferences. The icon is a status indicator to specify that the GPU blending is activated.Manual-StitchingIn this example almost all the pictures are automatically stitched, but one is missing. For situations like this, you can use the Manual Stitch tool to complete the panorama.To manually stitch the missing image, you need to find a stitched image which overlaps it. You will use the overlapping features in the shots to match the images one to each other.1.Select the unstitched image2.Add to the selection by holding down the Shift key and clicking an already stitched imagewhich has features that overlap the unstitched image (in our example use the venitian08.jpg)3.Do one of the following:•Click Manual Stitch in the Toolbar, or•Select Stitch > Manual Stitch, or•Right-click and choose Manual Stitch from the contextual menuWhen stitching images manually, you need to find at least two common points in both images. The points should not be on the same line, but be distributed in the image for greater precision.The manual stitch workflow is:1.Click and place a marker on a particular detail in the first image2.Click to add the same marker inside the second image, then repeat step 1 and 2 to create 3points inside each image as shown in the screen shots.positioned correctly inside the panorama.NOTE Manually stitched images have a yellow highlight to distinguish them from auto-stitched images.Load the Stitcher project file, stitched.rzs, to see this step completed.3.AlignmentBefore rendering the panorama, you can change the viewpoint to determine what you see in the final panorama. Stitcher automatically aligns the panorama.You can align the panorama by clicking the Auto-Align icon or by selecting Tool > Automatically Align Panorama, or pressing “A”.NOTE the status indicator is displayed when the panorama is aligned.4.EqualizationWhen you click the Equalization icon, the Equalization tool launches in all of the images. This step is significant and makes it possible to correct certain differences in exposures, especially in the levels of blue in the sky.NOTE The Equalization process can be reverted at any time by selecting Render > Unequalize. The equalization factor can be defined in the rendering preferences.5.RenderRender area and rendering optionsIf you need to render only a part of the panorama, do the following steps:1.Select Render > Render Area > Set Render Area tool.2.Right-click in the panorama, and choose Spherical View from the contextual menuNOTE the contextual menu in the fully-stitched panorama lets you choose the projection you want to use for rendering.3.Now draw a rectangular area in order to define and adjust the borders of the final image.4.To quit the Render Area tool, press the Space key or Render > Render Area > Set RenderArea.5.Click Render Panorama to set the render parameters.6.The last step before launching the rendering process is to define the parameters for theimage.Stitcher gives you the option of the following rendering types:•Cubical or cylindrical QuickTime® VR (QuickTime Player installation is required)•Images with a spherical, a cylindrical, or a cubical projection•Snapshot image•3D formats such as VRML or Pure Player® projectionWhen rendering a panorama as an image, you can choose between the following file formats:•Jpg•TIF•PSD Photoshop®•…Each file format has specific options which can be adjusted in the related tab.Before rendering, you must define:•The path and filename where you want to save the image file•The size in pixels (for this tutorial you will set the width to 2048, the height value will update automatically).NOTE The size of the panorama will have an impact on the rendering time. The optimal size is calculated as a function of the original image size that you have loaded in Stitcher, in order to maximize quality.•The image format.Now verify that the Type is set to Spherical and that the Use Defined Viewport option ischecked. The Use Defined Viewport option is active when a render area is set.7.Click Render.Spherical panorama 360° with render area.Load the Stitcher project file, render_area.rzs, to see this step completed.You can also see the result with the file Venitian_area.jpg.Load a Spherical panorama and convert to QTVR®This part of the tutorial guides you through loading a full 360° panorama in Stitcher, using the authoring control tool to set the viewing parameters of your movie and then converting the panorama to a QTVR® file.1.Select File > Load PanoramaThe browser dialog opens.2.Select the image file you want to load and click Open.In our example load Venitian_Spherical.jpg.NOTE If you are working with a cubical panorama, select one of the 6 face files.e Tools > Authoring Controls to activate the interactive controller.The General Information expands to display the Authoring Controls options.e the navigation control inside the stitching window to author (in real time) the view youwant your QTVR file to have. Adjust the zoom out and lock it by clicking Max FOV. Do the same with the min FOV. You can real-time preview the zoom control constraint and adjust them at any time.NOTE The zoom out constraint is a good way to define the maximum zoom view and thereby stop viewers from setting a huge field of view (sometimes an inelegant display for your movie). The zoom in constraint prevents viewers from magnifying the view past the point where you feel the image quality of your movie is compromised (too pixilated, and also an inelegant display for your movie).Use the Tilt constraint and the Pan constraint the same way.In our example, the bottom part of the panorama is a black area, so we want to prevent viewers from tilting to that position. We have therefore locked the Min TILT value.5.To quit the Authoring Controls tool, close the edit dialog, then select Tools > AuthoringControls, or click the white cross at the top right corner of the General Information.NOTE Do not change the point of view after setting the Authoring Control otherwise your Authoring Control values will not make sense anymore without the initial points of reference.6.Open the Render Parameters dialog by clicking , or select Render > Render.7.Set the render parameters path, filename, size and QTVR options as you see them in thenext screen shot.unch the Convert process.Congratulations! You have successfully completed the full Stitcher workflow from stitching a panorama, and to creating a QTVR movie.View the result with the file Venitian.mov.。
Maya 2009 中英文对照File 文件New Scene 建立新场景Enable default scene 使用默认的场景Default scene 默认场景Default Working Units 默认的工作单位Linear 长度单位millimeter 毫米centimeter 厘米meter 米inch 英寸foot 英尺yard 光年Angular 角度单位degrees 角度radians 弧度Time 时间Default Timeline Settings 默认的时间线设置Playback start/end 回放起始结束帧Animation start/end 动画起始结束帧Open Scene 打开场景File type 文件类型Execute script nodes 执行脚本节点Load Settings 调用设置Load default references 调用默认参照Load all references 调用所以参照Load top-level top-level only 仅调顶级参照Load no references 不调用参照Selective preload 选择性调用Save Scene 保存场景Incremental save 递增保存Limit incremental save 限制保存次数Number of incremental 递增次数Save Scene As 另存场景Default file extensions 默认文件扩展名Copy texture maps 纹理Always 总是Unless referenced 除非参照Disk Cache Options 磁盘缓冲File Type Specific Options 文件类型细节Use full names for attributes on nodes 在节点上使用属性全名Save Preferences 保存参数Optimize Scene Size 优化场景尺寸Remove invalid 移除无效的Remove empty 移除空的Remove unused 移除无用的Remove duplicate 移除重复的Import 导入Group 组Remove duplicate 移除重复Preserve references 保留参照Use namespaces 使用名字空间Export All 导出所有Export Selection 导出选定对象Keep only a reference 仅保留一个参考Prefix with 添加前缀Include these inputs 包含下列这些输入Include texture info 包含纹理信息View Image 查看图片View Sequence 查看序列帧Create Reference 导入场景文件Deferred 延缓Lock 锁定Locator 定位器Reference Editor 参考编辑器Create Reference 创建参考文件Import Objects from Reference 从参考中输入对象Export Selection 输出选择Save Reference Edits 保存参考List Reference Edits 列出参考编辑List Unknown Edits 列出未知编辑Clean Up Reference 清楚参考Select File Contents 选择文件内容Reference 参照Reload Reference 重加载参照Unload Reference 卸载参照Load Reload Reference 调用相关参照Unload Reload Reference 卸载相关参照Duplicate Reference 复制参照Recently Reference 替换参照Recently Reference Files 最近替换的文件Remove Reference 移除参照Lock Reference 锁定参照Unlock Reference 解除参照Proxy 代理Add Proxy 增加代理Remove Proxy as 重载代理Reload Proxy 移除代理Switch Tag for Active Proxy to 切换激活代理的标记Switch Tag for Proxy 切换代理的标记View Selected References 查看选择的参考View All References 查看所以参考Project 工程Edit Current 编辑当前项目Recent Files 最近文件Recent Increments 增量文件Recent Projects 最近工程Exit 退出Edit 编辑Undo 取消上一次操作Redo 恢复上一次操作Repeat 重复上一次操作Recent Commands List 最后使用的命令Cut 剪切Copy 复制Paste 粘贴Keys 关键帧Cut Keys 剪切关键帧Copy Keys 复制关键帧Paste Keys 粘贴关键帧Delete Keys 删除关键帧Scale Keys 缩放关键帧Snap Keys 吸附关键桢Bake Simulation 模拟复制Delete 删除Delete by Type 根据类型删除History 历史记录Non-Deformer History 没有变形的历史All Non-Deformer History 所以没有变形的历史History before deformers only 仅没有变形前的历史Channels 通道Hierarchy 层级Selected 选择的Below 下层All keyable 所以可设关键桢属性From Channel Box 通道盒属性Driven channels 驱动通道Control point 控制点Shapes 形节器Static Channels 静帧通道Motion Paths 运动路径Expressions 表达式Constraints 约束Rigid Bodies 刚体Delete All by Type 根据类型删除所有History 历史Channels 通道Static Channels 静帧通道Motion Paths 运动路径Non-particle Expressions 非离子表达式Constraints 约束Sounds 声音Rigid Bodies 刚体Select All by Type 根据类型选择所有Clips 片段Lattices 晶格Clusters 箸Sculpt Objects 雕刻物体Nonlinears 非线形变形器Wires 线变形器Shading Group and Materials 阴影组和材质Particles 粒子Rigid Bodies 刚体Rigid Constraints 刚体约束Fluids 物流Fur 毛发nCloths 布料nRigids 刚体Dynamic Constraints 动力学约束Select Tool 选择工具Lasso Select Tool 选择套索工具Paint Selection Tool 绘图选择工具Select All 选择所有Deselect 取消选择Select Hierarchy 选择层级Invert Selection 反选Select All by Type 按类型全部选择Transforms 变形节点Geometry 几何体Polygon Geometry 多边形几何体Subdiv Geometry 细分体Brushes 画笔Strokes 笔画Quick Select Sets 快速选择组Duplicate 复制Duplicate Special 专用复制Geometry type 几何体类型Instance 实例Group under 群组类型Parent 父子World 世界坐标系New group 新的群组Smart transform 智能变换Translate 位移Rotate 旋转Number of copies 复制份数Duplicate input graph 复制输入节点Duplicate input connections 复制输入连接Instance leaf nodes 实例化子节点Assign unique name to child nodes 为子节点指定单独的名称Duplicate with Transform 变换复制Group under 群组类型World 世界坐标系Center 中心Origin 原点Group pivot 群组轴中心点Preserve position 保持位置Ungroup 打散群组Ungroup under 打散群组类型Level with Detail 细节层级Parent method 父化方式Move objects 移动对象Add instance 增加实例Preserve position保存位置Unparent 解除父子Unparent method 解除父化方式Parent to world 作为世界系子物体Remove instance 清除实例Modify 修改Transformation Tools 变形工具Move Tool 移动工具Rotate Tool 旋转工具Scale Tool 缩放工具Universal Manipulator 通用操作器Move Normal Tool 移动法线工具Move/Rotate/Scale Tool 移动旋转缩放工具Show Manipulator Tool 显示操作杆Default Object Manipulator 默认操作器Move 移动Transform 变换操作器Proportional Modi Tool 比例修改工具Soft Modification Tool 柔性修改工具Reset Transformations 重设变换Freeze Transformations 变换归零Joint orient 骨骼方向Normals 法线Only for non-rigid transformations 仅针对非刚体的变换有效Snap Align Objects 捕捉对齐物体Grandparent 祖父物体Snap type 捕捉类型Left 左Middle 中Right 右Align Objects 对齐物体Align mode 对齐模式Align in 对齐轴Align to 对齐到Selection average 选择对象的平均值Last selected object 最后选择的对象Align Tool 对齐工具Snap Together Tool 捕捉聚集工具Enable Nodes 授权动画节点Move and rotate object 移动并选择物体Snap to polygon face 捕捉到多边形边上Evaluate Nodes 解算节点Evaluate All 解算所以节点Ignore All 忽略所有节点IK solvers 逆向运动连接器Global Stitch 全局缝合nucleuses 核子解算器Snapshots 快照Make Live 激活构造物Center Pivot 中心化枢轴点Prefix Hierarchy Names 为层级名前添加前缀Search and Replace Name搜索并替换名称Add Attribute 增加属性Long name 属性名称Make attribute 可关键桢属性Vector 向量Integer 整型变量String 字符串Float 浮点型变量Boolean 布尔变量Enum 列举型Scalar 标量Per particle 每个粒子Add initial state attribute 添加初始状态属性Minimum 最大值Maximum 最小值Default 默认值Particle 粒子Control 控制Edit Attribute 编辑属性Numeric Attribute Properties 属性的参数值Keyable 可关键桢Displayable 不可关键桢Has minimum 存在最小值Has maximum 存在最大值Enum Name 列举名称Delete Attribute 删除属性Convert 转换Subdiv 细分表面Attach multiple output meshes 合并多片面Merge tolerance 合并容差Match render tessellation 配色渲染细分Triangles 三角形Quads 四边形Tessellation method 镶嵌细分方式General 常规Count 数目Standard fit 标准匹配Chord height ratio 弧高比率Fractional tolerance 细分公差Minimal edge length 最小边的长度3D delta 3D增量Maximum base mesh faces 基于网格的最大面数Maximum edges per vertex 每个点转化为边的最大值Subdivision surface mode 细分面模式Standard 标准Proxy object 代理物体Keep original 保留原物体Tessellation method 镶嵌细分方式Uniform 统一Adaptive 适应Polygon count 多边形数目Vertices 顶点Level 层级Divisions per face 每个面的细分次数Maximum number polygons 多边形的最大数值Origin object 原始物体Replace 取代Hide 隐藏Share UVs 共享UVOutput type 输出类型Paint Effects 原始笔画Vertex color mode 顶点着色模式None 无Color 着色Illuminated 照明Quad output 输出四边形Hide strokes 隐藏笔画Poly limit 多边形数目极限Input image 输入的图像Quantize 量化Quantize levels 量化级别Search radius 探索半径Minimum segment size 最小片段大小Color range 颜色范围Maximum color difference 最大颜色差异Max point to add 要添加的点的上限Fit to selection 适配至所选Surface offset 曲面偏移UV set UV集合Generate shaders 产生着色Shader template 着色器模板Displacement 置换Fluid 液体Paint Scripts Tool 脚本编辑工具Paint Attributes Tool 属性绘制工具Create 创建NURBS Primitives NURBS基本几何体Sphere 球体Pivot 枢轴点Object 物体User defined 用户自定义Pivot point 枢轴点坐标Axis 轴向Free 自由Active view 当前视窗Axis definition 轴向定义Start sweep angle 起始扫掠角度End sweep angle 终止扫略角度Radius 半径Surface degree 表面度数Cubic 立方Usetolerance 使用容差Global 全局Number of sections 扇区数Number of spans 段数Cube 立方体Width 宽Length 长Height 高U patches U向面片数V patches V向面片数Cylinder 圆柱体Caps 盖Both 都有Extra transform on caps 盖子附加变换Use tolerance 容差Cone 圆锥体Plane 平面Torus 圆环Circle 圆形Square 正方形Interactive Creation 互交式创建Exit On Completion 完成后退出Polygon Primitives 多边形基本几何体Axis divisions 环绕轴细分Height divisions 沿高度方向细分Texture mapping 贴图坐标Create UVs 创建UVsPinched at Poles 两端顶点收缩Sawtooth at poles 两端顶点锯齿化Width divisions 沿宽度细分Depth divisions 沿深度细分Normalize 归一化Collectively 共同Each face separately 各面分离Preserve aspect ratio 保持比例Cap divisions 沿盖方向细分Round cap 圆形的圆柱体盖Preserve aspect ratio 保持比例Section Radius 截面半径Twist 扭曲Prism 菱体Side length 边长Number of sides in base 边的数量Pyramid 金字塔Pipe 管状物Thickness 厚度Helix 螺旋体Coils 卷曲Coil divisions 沿卷曲细分Direction 方向Clockwise 顺时针Counterclockwise 逆时针Soccer Ball 英式足球Platonic Solids 多面实体Platonic type 实体类型Dodecahedron 十二面体Icosahedron 二十面体Octahedron 八面体Tetrahedron 四面体Subdiv Primitives 细分基本几何体V olume Primitives 体积基本几何体Ambient Light 环境光Intensity 亮度Ambient shade 发散度Cast shadows 投射阴影Shadow color 阴影颜色Shadow rays 阴影光线数Direction Light 方向灯Interactive placement 交互放置Point Light 点光源Spot Light 聚光灯Cone rate 椎体角度Cast shadows 投射阴影Area Light 面积光V olume Light 体积光Camera 摄像机Camera and Aim 带目标点的摄像机Camera,Aim,and Up 带目标点和旋转轴的摄像机CV Curve Tool CV曲线工具Curve degree 曲线度Knot spacing 节间距Chord length 弧长Multiple end knots 多个终结EP Curve Tool EP曲线工具Pencil Curve Tool 铅笔工具Arc Tools 弧线工具Three Point Circular Arc 三点弧线Two Point Circular Arc 两点弧线Measure Tools 测量工具Distance Tool 距离测量工具Parameter Tool 物体参数测量工具Arc Length Tool 线参数测量工具Text 文字Font 字体Curves 曲线Trim 剪切面Poly 多边形Bevel 倒角Adobe(R) Illustrator(R) Object Illustrator物体Create bevel 创建倒角At start 在起点At end 在末端bevel width 倒角宽度bevel depth 倒角深度Extrude distance 挤压高度Create cap 创建封盖Outer bevel style 外倒角类型Inner bevel style 内倒角类型Construction Plane 创建平面Pole axis 平面轴向Size 尺寸Empty Group 空组Sets 集合Add to a partition 添加到分区Only if exclusive 排他性By making exclusive 制造排除Partition 分区Quick Select Set 快速选择分区Display 显示Grid lines every 网格间隔Axes 轴Grid lines & numbers 网格和数字Subdivision lines 细分线Thicker line for axes 轴线加粗Grid lines 网格线Heads Up Display 题头显示Object Details 物体细分Poly Count 多边形参数Subdiv Details 细分体细节Animation Details 动作细节FBIK Details FBIK细节Frame Rate 帧速度Current Frame 当前构成Camera Name 摄像机名称View Axis 视图轴Origin Axis 原始轴Tool Message 工具提示UI Elements 用户界面元素Status Line 状态栏Shelf 工具架Time Slider 时间滑块Range Slider 范围滑块Command Line 命令行Help Line 帮助行Tool Box 工具箱Attribute Edit 属性编辑器Tool Settings工具设置Channel Box/Layer Edit 通道盒层编辑层Hide All UI Elements 隐藏所以元素Show All UI Elements 显示所以元素Restore UI Elements 恢复用户元素Hide Selection 隐藏选择对象Hide selected Object 隐藏未选择对象Hide selected CVs 隐藏未选择CVsAll 所以Hide Geometry 隐藏几何体Polygon Surface 多边形曲面Deforming Geometry 施加变形的几何体Stroke Path Curves 笔画路径曲线Stroke Control Curves 笔画控制曲线Hide Kinematics 隐藏动力学对象Hide Deformers 隐藏变形器Wrap Influences 包裹影响物Smooth Skin Influences 平滑蒙皮的影响物Animation Markers 动画标记Light Manipulators 灯光操作杆Camera Manipulators 摄像机操作杆Show Selection 显示选择对象Show selected Object 显示未选择对象Show Last Hidden 显示上次隐藏的对象Show selected CVs 显示未选择CVs Show Kinematics 显示动力学对象Show Deformers 显示变形器Object Display 对象显示Template 模板Untemplate 取消模板Ignore Hardware Shader 忽悠硬件材质Use Hardware Shader 使用硬件材质Fast Interaction 快速交互Transform Display 变换属性显示Local Rotation Axes 局部旋转坐标Selection Handles 选择手柄Culling Options 剔除选项Keep Wire 保持线框Keep Hard Edges 保留硬边Keep Vertices 保留顶点Vertex Size 顶点尺寸Crease Vertices 创建顶点UVs UV点Unshared UVs 非共享的UV点UV SizeUV 尺寸Component IDs 元素序号Edges 边Faces 面Face Normals 表面法线Vertex Normals 顶点法线Tangents 切线Normals Size 法线尺寸Standard Edges 普通边Soft/Hard Edges 软硬边Hard Edges 硬边Border Edges 边界边Crease Edges 折边Texture Border Edges 纹理边界边Edge Width 边的宽度Face Center 面中心Face Triangles 三角面Non-planar Faces 非平面Reset Display 恢复显示Limit to Selected 限制显示Custom Polygon Display 自定义多边形显示Object affected 影响物体Backculling 剔除背面Highlight 高亮Edges 边Soft/Hard 硬软Only hard 仅软Texture borders 纹理边Edge width边宽Face 面Non-planar 非平面Show item numbers 显示项目数Texture coordinates 纹理坐标UV topology UV拓扑Color in shaded display 在实体显示下着色Color material channel 颜色材质通道Material blend setting 材质混合设置Hulls 外壳Patch Center 片面中心Surface Origin 表面方向Custom 自定义Scope 范围Active object 选择的物体All object 所以的物体New curves 新创建的曲线New surface 新创建的曲面Sel handles 选择手柄Hull 壳Active 激活的Hull simplification U U方向简化Hull simplification V V反向简化Rough 粗糙Medium 中等Fine 完美Custom Smoothness 自定义平滑显示Full 完全Surface div per span U U方向表面细分Surface div per span V V方向表面细分Curve div per span 曲线细分Display render tessellation geometry 显示渲染细分几何体Surface div per span 分段表面细分Hull simplification U U方向细分Hull simplification V V方向细分UV Borders UV边缘Animation 动画Lattice Point 晶格点Lattice Shape 晶格网格Joint Size 骨骼尺寸IK/FK Joint Size IK/FK骨骼尺寸IK Handle Size IK手柄尺寸Joint Labels 骨骼标签Rendering 渲染Camera/Light Manipulator 摄像机灯光操纵器Clipping Planes 剪切平面Cycling Index 循环索引Paint Effects Mesh Display 画笔多边形显示Stroke Display Quality 笔画显示Window 窗口General Editors 综合编辑器Component Editor 元素编辑器Attribute Spread Sheet 属性扩展清单Visor 浏览器Display Layer Editor 显示通道栏Blind Data Editor 不可视数据编辑器Script Editor 脚本编辑器Command Shell 命令编辑器Rendering Editors 渲染编辑器Render View 渲染窗口Render Settings 渲染设置Hypershade 超级着色器Render Layer Editor 分层渲染窗口Rendering Flags 渲染标记Shading Group Attributes 阴影组属性Multilister 材质多重列表Hardware Render Buffer 硬件渲染器Animation Editors 动画编辑器Graph Editor 图表编辑器Trax Edit 非线形编辑器Dope Sheet 关键桢清单Blend Shape 混合形状编辑器Expression Editor 表达式编辑器Device Editor 运动捕捉编辑器Relationship Editors 关系编辑器Deformer Sets 变形器组Character Sets 角色组Display Layers 显示组Render Layers 渲染层Dynamic Relationships 动力学关系Light Linking 灯光连接Light-Centric 以灯光为中心Object-Centric 以物体为中心UV Linking UV连接Texture-Centric 以纹理为中心UV-Centric 以UV为中心Hair/Fur Linking 头发绒毛系统连接Settings/reference 设置/参数references 参数窗口Tool Settings 工具设置Performance Settings 指定执行设置Hotkey Editor 快捷键编辑器Color Settings 颜色设置窗口Marking Menu Editor 标记菜单编辑器Shelf Editor 工具架编辑器Plug-in Manager 插件管理器。
Digital manufacturing:history,perspectives,and outlookG Chryssolouris,D Mavrikios,N Papakostas,D Mourtzis*,G Michalos,and K GeorgouliasDepartment of Mechanical Engineering and Aeronautics,University of Patras,Patras,GreeceThe manuscript was received on23May2008and was accepted after revision for publication on20June2008. DOI:10.1243/09544054JEM1241Abstract:Digital manufacturing has been considered,over the last decade,as a highly promis-ing set of technologies for reducing product development times and cost as well as for addres-sing the need for customization,increased product quality,and faster response to the market.This paper describes the evolution of information technology systems in manufacturing,outlin-ing their characteristics and the challenges to be addressed in the future.Together with the digi-tal manufacturing and factory concepts,the technologies considered in this paper include computer-aided design,engineering,process planning and manufacturing,product data and life-cycle management,simulation and virtual reality,automation,process control,shopfloorscheduling,decision support,decision making,manufacturing resource planning,enterpriseresource planning,logistics,supply chain management,and e-commerce systems.These tech-nologies are discussed in the context of the digital factory and manufacturing concepts.Keywords:information technology,computer-integrated manufacturing,computer-aided design,computer-aided engineering,computer-aided manufacturing1INTRODUCTIONThe need for reduced development time together with the growing demand for more customer-oriented product variants have led to the next generation of information technology(IT)systems in manufactur-ing.Manufacturing organizations strive to integrate their business functions and departments with new systems in an enterprise database,following a unified enterprise view[1].These systems are based on the digital factory/manufacturing concept,according to which production data management systems and simulation technologies are jointly used for optimiz-ing manufacturing before starting the production and supporting the ramp-up phases[2].Digital manu-facturing would allow for,first,the shortening of development time and cost,second,the integration of knowledge coming from different manufacturing processes and departments,third,the decentralized manufacturing of the increasing variety of parts and products in numerous production sites,and,fourth, the focusing of manufacturing organizations on their core competences,working efficiently with other com-panies and suppliers,on the basis of effective IT-based cooperative engineering.The evolution of IT in manufacturing is described in the next section.Recent developments and the digital manufacturing concept are then discussed, followed by the conclusions regarding the pers-pectives and the outlook of digital manufacturing in the future.2IT IN MANUFACTURINGOver the past few decades,the extensive use of IT in manufacturing has allowed these technologies to reach the stage of maturity.The benefits of the new tools have been thoroughly examined and their effi-ciency in many applications has been proven.Their application ranges from simple machining applica-tions,to manufacturing planning and control sup-port.From the early years of the introduction of numerical control and all the way to machining centres,manufacturing cells,and flexible systems, costs and increased power have been the main advantages of IT[3].An example of the introduction of IT,in the manufacturing world,is the concept of*Corresponding author:Department of Mechanical Engineer-ing,and Aeronautics,University of Patras,University Campus,Rio Patras26500,Greece.email:mourtzis@lms.mech.upatras.grSPECIAL ISSUE PAPER451computer-integrated manufacturing(CIM).This con-cept was introduced in the late1980s,favouring the enhancement of performance,efficiency,operational flexibility,product quality,responsive behaviour to market differentiations,and time to market.How-ever,the full strategic advantage of information tech-nologies was poorly understood at that time and could not be exploited to its full extent[3].The inventory control and material requirements planning(MRP)systems were introduced in the 1960s and1970s respectively.Such systems were further enhanced with the integration of tools cap-able of providing capacity and sales planning func-tionalities together with scheduling capabilities and forecasting tools.The result was the introduction of the closed-loop-MRP[4].Nevertheless,the advances in microprocessor technology,the advent of the internet era,the standardization of software inter-faces,the wide acceptance of formal techniques for software design and development,and the maturity of certain software products(relational database management systems and computer-aided design (CAD)systems,for instance)paved the way for facil-itating the integration among diverse software appli-cations[1].The evolution of information systems over the last decade has played a crucial role in the adoption of new information technologies in the environment of manufacturing systems[5].2.1Computer-aided technologiesCAD is considered among the technologies that have boosted productivity,allowing faster time to market for the product and dramatically reducing the time required for product development.Although the first CAD applications were inherently difficult to use owing to the text-based input systems and the extre-mely slow computational equipment,their succes-sors have become more than necessary in today’s manufacturing companies,regardless of their size. Affordable solutions,offering a modern photorea-listic graphical user interface,are nowadays avai-lable in the market.Functionalities of such systems integrate finite element analysis(FEA),kinematics analysis,dynamic analysis and full simulation of geometrical properties including texture and mech-anical properties of materials.The CAD systems have become indispensable to today’s manufacturing firms,because of their strong integration with advanced manufacturing techniques.CAD models are often considered sufficient for the production of the parts,since they can be used for generating the code required to drive the machines for the pro-duction of the part.Rapid prototyping is an example of such a technology.Process planning activities determine the neces-sary manufacturing processes and their sequence in order to produce a given part economically and com-petitively[1].Towards this direction,the computer-aided process planning(CAPP)systems have been used for the generation of consistent process plans and are considered as being essential components of the CIM environments[6].Denkena et al.[7]pro-posed a holistic component manufacturing process planning model,based on an integrated approach combining technological and business considera-tions in order to form the basis for developing improved decision support and knowledge manage-ment capabilities to enhance available CAPP solu-tions.Kim and Duffie[8]introduced a discrete dynamic model design and have analysed the control algorithms for closed-loop process planning control that improve response to disturbances,such as rush orders and periodic fluctuations in capacity.In their work,Azab and ElMaraghy[9]presented a novel semigenerative mathematical model for reconfigur-ing macrolevel process plans.In the same work,it is claimed that reconfigurable process planning is an important enabler of changeability for evolving products and systems.Finally,Ueda et al.[10]intro-duced a new simultaneous process planning and scheduling method of solving dilemmas posed by situations where a process plan and a production schedule conflict,using evolutionary artificial neural networks,based on emergent synthesis.Computer-aided engineering(CAE)systems are used to reduce the level of hardware prototyping during product development and to improve the understanding of the system[11].The CAE systems support a large number of engineering research fields, including fluid mechanics(computational fluid mechanics),dynamics(simulation of machines and mechanisms),mechanics of materials(FEA),thermo-dynamics,and robotics.For instance,Brinksmeier et al.[12]conducted an extensive survey on the advances in the simulation of grinding processes together with a series of models that can be imple-mented in simulation systems.Following the development of the CAD systems,the concept of computer-aided manufacturing(CAM) was born.The great step towards the implementation of CAM systems was the introduction of computer numerical control(CNC).Apart from the fact that this new technology has brought about a revolution in manufacturing systems by enabling mass produc-tion and greater flexibility[13],it has also enabled the direct link between the three-dimensional(3D) CAD model and its production.Newman and Nassehi [14]proposed a universal manufacturing platform for CNC machining,where the applications of various computer-aided systems(CAx)applications can seamlessly exchange information.The proposed plat-form is based on the standard STEP-NC.In addition, standardization of programming languages for these452G Chryssolouris,D Mavrikios,N Papakostas,D Mourtzis,G Michalos,and K Georgouliasmachines(G&M code and APT)leads solution devel-opers to integrate an automatic code generation in their applications.From that point on,CAD and CAM systems have been developed allowing for part design and production simulation.Engineers have the ability to visualize both the part and the produc-tion process,to verify the quality of the product and then physically to perform the manufacturing pro-cess with minimum error probability.Other systems,such as computer-aided quality[15] systems,have also started to emerge and to become part of the engineering workflow.Product data man-agement(PDM)and product life-cycle management (PLM)systems,on the other hand,allow for perform-ing a variety of data management tasks,including vaulting workflow,life-cycle,product structure,and view and change management.PDM systems are claimed to be able to integrate and manage all ap-plications,information,and processes that define a product,from design to manufacture to end-user sup-port.PDM systems are frequently used for controlling information,files,documents,and work processes and are required to design,build,support,distribute, and maintain products.Typical product-related infor-mation includes geometry,engineering drawings, project plans,part files,assembly diagrams,product specifications,numerical control machine-tool pro-grams,analysis results,correspondence,bill of mate-rial,and engineering change orders.PLM is an integrated information-driven approach to all aspects of a product’s life cycle from its design inception,through its manufacture,deployment,and maintenance to,finally,its removal from service and, its final disposal.Some of the benefits reported by the usage of PLM involve the reduced time to market, improved product quality,reduced prototyping costs, savings through the reuse of original data,features for product optimization,and reduced waste and sav-ings through the complete integration of engineering workflows.These systems are theoretically supposed to tie everything together,allowing engineering,man-ufacturing,marketing,and outside suppliers and channel partners to coordinate activities. Technically speaking,today’s PDM and PLM sys-tems mainly focus on the administration of computer files,without,however,having much access to the actual content of these files.Instead,the CAD sys-tems are used for developing product models, since geometry data constitute the major part of the product-defining characteristics[16].On the other hand,PLM systems often include a mature collabora-tive product design domain and aim at encompass-ing design and management of the manufacturing processes and digital manufacturing,the latter repre-senting a strategic and important milestone in the advancement of PLM.Digital manufacturing has arrived as a technology and discipline within PLM that provides a comprehensive approach for the development,implementation,and validation of all elements of the manufacturing process,which is foreseen by researchers and engineers to be one of the primary competitive differentiators for manufacturers.In today’s state of the art,the PDM and PLM solu-tions in one of the most complex industrial domains, the automotive industry,use concepts such as the generative template:a solution aiming to reduce design cycle time in several development processes by employing computer models to incorporate com-ponent and knowledge rules that reflect design prac-tice and past experience.In the templates,various elements included in product design are combined. The templates are then reused either by the same team,project,or company,or through the extended enterprise by way of exchanges between original equipment manufacturers(OEM)and suppliers. This components-based approach accelerates and simplifies the design.During the design of a new product or process,it is essential that all the knowledge and experience avail-able(either on the product or process design)gained through time can be accessed easily and rapidly.This can be achieved with the use of archetypes and tem-plates.A process archetype is a way of classifying standard solutions that do not need any further development so that they can be available whenever necessary,within a very short time.Archetypes can also include information on newly developed innova-tive processes that have been assessed for their effi-ciency in order for any implementation risks to be minimized in case the application of this process is under consideration.2.2Manufacturing controlManufacturers will base their future controller selec-tion on factors such as adherence to open industry standards,multi-control discipline functionality, technical feasibility,cost-effectiveness,ease of inte-gration,and maintainability.More importantly, embedded systems and small-footprint industrial-strength operating systems will gradually change the prevailing architecture,by merging robust hardware with open control.Integration of control systems with CAD and CAM and scheduling systems as well as real-time control,based on the distributed net-working between sensors and control devices[17] currently constitute key research topics.For instance, ElMaraghy et al.[18]developed a methodology of compensating for machining errors aimed at maxi-mizing conformance to tolerance specifications before the final cuts are made.New developments in the use of wireless tech-nologies on the shopfloor,such as radiofrequencyDigital manufacturing:history,perspectives,and outlook453identification(RFID),as a part of automated identifi-cation systems,involve retrieving the identity of objects and monitoring items moving through the manufacturing supply chain,which enable accurate and timely identification information[19].More recently,the installation of wireless technologies on the shopfloor such as RFID,global system for mobile communications(GSM),and802.11has been a new IT application area on the industrial shopfloor[20]. However,the integration of wireless IT technologies at an automotive shopfloor level is often prevented because of the demanding industrial requirements, namely immunity to interference,security,and high degree of availability.On the other hand,in the automotive assembly,IT is applicable to a series of processes such as pro-duction order control,production monitoring, sequence planning,vehicle identification,quality management,maintenance management,and mate-rial control[21].2.3SimulationComputer simulation has become one of the most widely used techniques in manufacturing systems design,enabling decision makers and engineers to investigate the complexity of their systems and the way that changes in the system’s configuration or in the operational policies may affect the performance of the system or organization[22].Simulation models are categorized into static, dynamic,continuous,discrete,deterministic,and stochastic.Since the late1980s,simulation software packages have been providing visualization capabil-ities,including animation and graphical user interac-tion puter simulation offers the great advantage of studying and statistically analysing what–if scenarios,thus reducing overall time and cost required for taking decisions,based on the sys-tem behaviour.Simulation systems are often inte-grated with other IT systems,such as CAx,FEA, production planning,and optimization systems. While factory digital mock-up(DMU)software allows manufacturing engineers to visualize the pro-duction process via a computer,which allows for an overview of the factory operations for a particular manufacturing job,the discrete event simulation (DES)helps engineers to focus closely on each indivi-dual operation.DES may help decision making in the early phases(conceptual design and prestudy)on evaluating and improving several aspects of the assembly process such as location and size of the inventory buffers,the evaluation of a change in pro-duct volume or mix,and throughput analysis[23]. An extension to simulation technology(the virtual reality(VR)technology)has enabled engineers to become immersed in virtual models and to interact with them.Activities supported by VR involve factory layout,planning,operation training,testing,and process control and validation[24,25].Other applications include the verification of human-related factors in assembly processes by employing desktop three-dimensional simulation techniques,replacing the human operator with an anthropometrical articulated representation of a human being,called a‘mannequin’[26].2.4Enterprise resource planning andoptimizationEnterprise resource planning(ERP)systems attempt to integrate all data and processes of an organization into a unified system.A typical ERP system will use multiple components of computer software and hard-ware to achieve the integration.A key ingredient of most ERP systems is the use of a unified database to store data for the various system modules.ERP has been associated with quite a broad spectrum of defi-nitions and applications over the last decades[27]. The manufacturing resources planning(MRP II) systems apart from incorporating the financial accounting and management systems have been further expanded to incorporate all resource plan-ning and business processes of the entire enterprise, including areas such as human resources,project management,product design,materials,and capa-city planning[4].The elimination of incorrect information and data redundancy,the standardization of business unit interfaces,the confrontation of global access and security issues[4],and the exact modelling of busi-ness processes,have all become part of the list of objectives to be fulfilled by an ERP rge implementation costs,high failure risks,tremendous demands on corporate time and resources[4],and complex and often painful business process adjust-ments are the main concerns pertaining to an ERP implementation.Considering the current trend in the manufacturing world for maximizing their com-munication and collaboration,the ERP system func-tionality has also been extended with supply chain management solutions[28].The ERP systems often incorporate optimization capabilities for cost and time savings virtually from every manufacturing process.Indicative examples involve cases from simple optimization problems, shopfloor scheduling,and production planning to today’s complex decision-making problems[29,30]. Monostori et al.[31]have proposed a scheduling sys-tem capable of real-time production control.This system receives feedback from the daily production through the integration of information coming from the process,quality,and production monitoring sub-systems.The system is able to monitor deviations454G Chryssolouris,D Mavrikios,N Papakostas,D Mourtzis,G Michalos,and K Georgouliasand problems of the manufacturing system and to suggest possible alternatives for handling them.A new generation of factory control algorithms has recently appeared in literature,known as‘agent based’.In Sauers’[32]work a software agent technol-ogy is discussed and proposed as the middleware between the different software application compo-nents on a shopfloor.Agents are a promising technol-ogy for industrial application because they are based upon distributed architecture;however,issues such as synchronization,interfacing agents,and data con-sistency among agents impose difficulties on their practical application[23].3RECENT DEVELOPMENTS3.1Academic researchRecent developments in digital manufacturing may be categorized into two major groups.The develop-ments of the first group have followed a bottom-up approach considering digital manufacturing,and extending its concepts,within a wider framework, e.g.the digital factory or enterprise.The devel-opments of the second group have followed a top-down approach considering the technologies in sup-port of individual aspects of digital manufacturing, e.g.e-collaboration and simulation.According to the Verein Deutscher Ingenieure,the digital factory includes models,methods,and tools for the sustainable support of factory planning and factory operations.It includes processes based on linked digital models connected with the product model[33].At a theoretical level,several researchers have contributed to the definition of the digital fac-tory vision and suggested how this vision could be implemented in reality(Fig.1)[34].Data and models integration has been a core research activity to sup-port implementation.The introduction of consistent data structures for improving the integration of digital product design and assembly planning and consequently supporting a continuous data exchange has been investigated in the literature[35].Similar activities have focused on the definition of semantic correlations between the models distributed as well as the associated databases and the introduction of appropriate modelling conventions[33].On top of these developments,a number of methodologies for computer-supported co-operative development engineering,within a digital factory framework, have been published.Some researchers further sug-gested software architectures for relationship man-agement and the secure exchange of data[36].The new concept of digital enterprise technology (DET)has also been recently introduced as the collection of systems and methods for the digital modelling of the global product developmentand Fig.1The vision of the digital factory[34]Digital manufacturing:history,perspectives,and outlook455realization process in the context of life-cycle management [37].As such,it embodies the tech-nological means of applying digital manufacturing to the distributed manufacturing enterprise.DET is implemented by a synthesis of technologies and the systems of five main technical areas,the DET ‘cornerstones’,corresponding to the design of product,process,factory,technologies for ensuring the conformance of the digital environment with the real one,and the design of the enterprise.On the basis of the DET framework,a new methodology has been suggested that focuses on developing novel methods and tools for aggregate modelling,knowl-edge management,and test on validation planning to ‘bridge’the gap that exists between conceptual product design and the organization of the corre-sponding manufacturing and business operations (Fig.2)[38].From a technological point of view,new frame-works for distributed digital manufacturing have appeared on the scene.Recent developments focus on a new generation of decentralized factory control algorithms known as ‘agent based’.A software agent,first,is a self-directed object,second,has its own value systems and a means of communicating with other such objects,and,third,continuously acts on its own initiative [39].A system of such agents,called a multi-agent system,consists of a group of identical or complementary agents that act together.Agent-based systems encompassing real-time and decen-tralized manufacturing decision-making capabilities have been reported [40].In such a system,each agent,as a software application instance,is respon-sible for monitoring a specific set of resources,namely machines,buffers,or labour that belong to aproduction system,and for generating local alterna-tives upon the occurrence of an event,such as a machine breakdown.Web-based multi-agent system frameworks have also been proposed to facilitate collaborative product development and production among geographically distributed functional agents using digitalized information (Fig.3)[41].The pro-posed system covers product design,manufactur-ability evaluation,process planning,scheduling,and real-time production monitoring.The advances in DMU simulation technologies during the 1990s were the key stone for the emergence of VR and human simulation in digital manufacturing.These advances have led to new fra-meworks that integrate product,process,resource,knowledge,and simulation models within the DMU environment [42].The VR technology has recently gained major inter-est and has been applied to several fields related to digital manufacturing research and development.Virtual manufacturing is one of the first fields that attracted researchers’interest.A number of VR-based environments have been demonstrated,providing desktop and/or immersive functionality for process analysis and training in such processes as machining,assembly,and welding [25,43].Virtual assembly simulation systems focusing on digital shipbuilding and marine industries,incorporating advanced simu-lation functionalities (crane operability,block erec-tion simulation in virtual dock,etc.)have also been introduced by Kim et al.[44].Human motion simula-tion for integrating human aspects in simulation environments has been another key field of interest (Fig.4).Several methodologies for modelling the motion of digital mannequins,on the basis of real human data,have been presented.Furthermore,ana-lysing the motion with respect to several ergonomic aspects,such as discomfort,have been reported [28,30,45].Collaborative design in digital environments is another emerging research and development field.The development of shared virtual environments has enabled dispersed actors to share and visualize data,to interact realistically,as well as to make deci-sions in the context of product and process design activities over the web [46].Research activities have been also launched for the definition and imple-mentation of VR-and augmented-reality-based col-laborative manufacturing environments,which are applicable to human-oriented production systems [47,48].3.2Industrial practices and activitiesIn industrial practice,digital manufacturing aims at a consistent and comprehensive use of digitalmethodsFig.2The DET cornerstones [38]456G Chryssolouris,D Mavrikios,N Papakostas,D Mourtzis,G Michalos,and K Georgouliasof planning and validation,from product develop-ment to production and facility planning.The Accessible Information Technology (AIT)Initiative and its offspring projects launched during the 1990s by the automotive and aerospace industry in Europe have been pioneering in driving digital manufacturing advances,aiming at increasing the competitiveness of industry through the use of advanced information technology in design and manufacturing [49].On that basis,the automotive industry still drives today a number of relevant devel-opments in digital manufacturing.In BMW,the three series at Leipzig has been BMW’s best launch ever,as they achieved 50per cent fewer faults per vehicle and have recorded farbetter process capability measures than in the past because of the use of the simulation of production processes at a very early stage of design [50].Similarly,General Motors has utilized a three-dimensional workcell simulation (iGRIP)provided by digital enterprise lean manufacturing interactive application (DELMIA),allowing the engineers to gen-erate three-dimensional simulations and to translate models created in other commercially available packages.During 2002,Opel utilized DELMIA for the simulation of the production process of its Vectra model allowing for a very fast production launch [51].Finally,computer-aided three-dimensional interac-tive application (CATIA)machining simulation tools have given manufacturing experts at Daimler a chance to test virtually the ‘choreography’for the production of parts,ensuring that the finished pro-duct will meet precise design expectations.At Volvo,DES has been used as a tool for continu-ous process verification in industrial system devel-opment [52].BMW and DaimlerChrysler are also among the users of similar applications [53].General Motors has used DES in several case studies and has demonstrated the ability of using simulation for opti-mizing resources and identifying constraints [54].Ford has also been using computer simulation,in some form or other,for designing and operating its engine manufacturing facilities since the mid-1980s.Case studies in advanced manufacturing engineering for a powertrain at DaimlerChrysler,have identified virtual modelling as an emerging technology for automotive process planners [55].Fig.4Human simulation in digital manufacturing envir-onments [29]Fig.3A web-based multi-agent system framework [41]Digital manufacturing:history,perspectives,and outlook 457。
ADS Fundamentals – 2009LAB 2: System Design FundamentalsOverview ‐ This chapter introduces the use of behavioral models to create a system such as a receiver. This lab will be the first step in the design process where the system level behavioral models are simulated to approximate the desired performance. By setting the desired specifications in the system components, you can later replace them with individual circuits and compare the results to the behavioral models. OBJECTIVES•Use the skills developed in the first lab exercise. •Create a system project for an RF receiver using behavioral models (filter, amplifier, mixer) where: RF = 1900 MHz and IF= 100 MHz. •Use an RF source, LO with phase noise, and a Noise Controller. •Test the system: S‐parameters , Spectrum, Noise, etc. © Copyright Agilent Technologies Lab 2: System Design Fundamentals2‐2 © Copyright Agilent Technologies Table of Contents1. Create a New Project (system) and schematic....................................................3 2. Build a behavioral RF receiver system...............................................................3 3. Set up an S-parameter simulation with frequency conversion.............................6 4. Plot the S-21 data...............................................................................................9 5. Increase gain, simulate, and add a sccond trace...............................................9 6. Set up an RF source and LO with Phase Noise.................................................10 7. Set up a HB Noise Controller.............................................................................12 8. Set up a HB simulation.......................................................................................13 9. Simulate and plot the response: pnmx and Vout...............................................14 10. OPTIONAL - SDD (Symbolically Defined Device) simulation.. (15)Lab 2: System Design Fundamentals2‐3 © Copyright Agilent Technologies PROCEDURE 1. Create a New Project (system) and schematic. a. Use the File > New Project command and name the new project: system . b. Open and save a new schematic with the name: rf_sys . rf_sys . 2. Build a behavioral RF receiver system. a. Butterworth filter : Go to the Component Palette list Palette list and scroll down to FiltersBandpass . Bandpass . Insert a Butterworth filter. Set it as shown: Fcenter = 1.9 GHz to represent the carrier carrier frequency. Set BWpass = 200 MHz and and BWstop = 1 GHz. b. Amplifier: Go to the System‐Amps & Mixers palette Amp . Set S21 = dbpolar dbpolar (10,180). Lab 2: System Design Fundamentals2‐4 © Copyright Agilent Technologies c. Term : Insert a termination at the input for port 1. Terms are in the SimulationS_Param palette or type in the name Term in the Component History and press Enter. NOTE on Butterworth filter The behavioral Butterworth response is ideal; therefore there is no ripple in the pass band. Later on, when the filter and amplifier are replaced with circuit models, there will be ripple. For system filter modeling with ripple, use the behavioral Elliptical filter. Lab 2: System Design Fundamentals2‐5 © Copyright Agilent Technologies The next steps will add a behavioral mixer and LO to the RF system. d. From the System‐Amps & Mixers palette, insert a behavioral Mixer at the at the amp output ‐ be careful to insert the Mixer and not Mixer2. Mixer2 Mixer2 is similar and also for nonlinear analysis but does not work with with the small‐signal frequency conversion feature of S‐parameter analysis that you will use in this exercise. e. Set the Mixer ConvGain = dbpolar (3,0). Also, set the Mixer SideBand = LOWER by inserting the cursor in front of the default (BOTH) and using the keyboard UP and DOWN arrow keys to toggle the setting to LOWER. Leave all other settings in the default condition. f. Move component text click the F5 keyboard key and then click on a component to move its text. Do this so that you can clearly see the components. g. Add the LO by inserting a 50 ohm resistor in series with a V_1Tone source from the SourcesFreq Domain palette. Set the Freq to 1.8 GHz . This will provide an IF of 100 MHz at the output. Don’t forget the ground. Local Oscillator: resistor, voltage source, and ground. Lab 2: System Design Fundamentals2‐6 © Copyright Agilent Technologies h. Add a low pass Bessel filter at the mixer output as shown here. The filter is in the FiltersLowpass palette. Set Fpass = 200 MHz . i. Insert a Term for port 2. The final system circuit should look like the one shown here: NOTE: You can set the N parameter (order) on the filters but it is not required. By default, ADS will calculate the order (N) based on the specifications. If N is specified, ADS will overwrite the filter specifications. 3. Set up an Sparameter simulation with frequency conversion. a. Insert the controller and setup the simulation: 1 GHz to 3 GHz in 100 MHz steps as shown here. Deleted:Lab 2: System Design Fundamentals2‐7 © Copyright Agilent Technologies b. Edit the Simulation controller and, in the the Parameters Tab , Enable AC frequency frequency conversion by checking the box the box as shown here. c. Go to the Display tab and check the two two boxes to display the settings shown shown here: FreqConversion and FreqConversionPort . The default (port 1) (port 1) is used because it is the port where where frequencies will be converted using using the mixer settings also. NOTE: this NOTE: this conversion only works with with this ADS mixer. The S‐parameter simulation controller should now look like the one shown here: When the dialog appears, change the default default dataset name to rf_sys_10dB to indicate indicate that this simulation data represents the represents the system with 10dB of amplifier amplifier gain. e. Click Apply and Simulate . Deleted:Lab 2: System Design Fundamentals 2‐8 © Copyright Agilent Technologies Lab 2: System Design Fundamentals2‐9 © Copyright Agilent Technologies 4. Plot the S21 data. a. In the Data Display window, insert a rectangular plot of S(2,1). b.box. The gain includes mixer conversion gain minus some loss to due mismatches. 5. Increase gain, simulate, and add a second trace. a. Go back to the schematic and change the amplifier gain S21 from 10 to 20 dB as shown here. b. In Simulate > Simulation Setup , change the dataset name to rf_sys_20dB . Click Apply and Simulate. c. When the simulation finishes you will be prompted to change the default dataset – answer : No . No . d. Edit the existing plot (double click on it) – this is this is the one with the 10dB trace. When the the dialog appears, click the arrow to see the the available Datasets and Equations (shown here) and select the rf_sys_20dB dataset. e. Select the S(2,1) data and Add it in dB , clicking OK . Notice that the entire dataset pathname appears because it is not the default dataset. f.Lab 2: System Design Fundamentals2‐10 © Copyright Agilent Technologies Display . 6. Set up an RF source and LO with Phase Noise. This next step shows how to simulate phase noise, contributed by a behavioral oscillator, using the Harmonic Balance simulator. At this point in the course, it is not required that you understand all the Harmonic Balance settings (covered later). a. Save the current schematic with a new name. Click : File > Save Design As and type in the name: rf_sys_phnoise . b. In the saved schematic, delete the following components: S_param simulation controller , the V_1Tone LO source, its 50 ohm resistor and ground. c. Replace the port 1 Term with a P_1Tone source (Sources‐Freq Domain palette) and set the power and frequency as shown: Freq = 1.9 GHz and P = polar (dbmtow (40), 0). Also, rename the source as RF_source and change the Num parameter to Num =1. d. Insert a wire label Vout (node) and so the schematic looks like the one shown here: e. Go to SourcesFreq Domain palette, scroll to the bottom, select the OSC icon and insert the OSCwPhNoise ‐ connect it to the mixer. Set Freq = 1.8 GHz and change the PhaseNoise list as shown. The default value of P is the power in dBm and it has 50 ohms Z (Rout). 2‐11 © Copyright Agilent Technologies 2‐12 © Copyright Agilent Technologies 7. Set up a HB Noise Controller. a. Go to the SimulationHB palette and insert a NoiseCon (Noise Controller) on the schematic as shown here. NOTE on NoiseCon: This component is used with the HB simulator. It allows you to conveniently keep all noise measurements separate from the simulation controller. Also, you can setup and use multiple noise cons for different noise measurements while only using only one HB controller. b. Freq tab c. Nodes tab – Click the Pos Node arrow, select the Vout node, and click the Add button. The noise controller, like other ADS componets, can read and identify node names in the schematic. d. PhaseNoise tab – Set the Phase Noise Noise Type: Phase Noise spectrum spectrum and set the carrier Frequency to 100 MHz. This is the IF the IF frequency which has phase noise phase noise due to the LO. e. Display tab – Go to the Display tab and check the boxes for the settings you made (shown here). In the future, you may prefer to display the desired settings first and then edit them on the schematic. 2‐13 © Copyright Agilent Technologies 8. Set up the HB simulation. a. Go to the Simulation‐HB palette and insert a HB simulation controller on controller on the schematic. b. Edit the HB controller (double click). In the Freq Freq tab, change the default freq setting to 1.8 GHz 1.8 GHz using the Apply button. Then add the RF the RF frequency 1.9 GHz and click Apply again. again. c. In the Display tab, check the box to display MaxOrder and click Apply at the bottom NOTE on HB freq settings ‐ You only need to specify the LO freq (1.8 GHz) and the RF freq (1.9 GHz) in the controller. There is no need to specify any other frequencies because the defaults for Order (harmonics) and Maximum order (mixing products) will calculate the other tones in the circuit, including the 100 MHz IF. d. Go to the Noise tab and check the NoiseCons box as shown. Then use the Edit button to select NC1 which is the instance name of the Noise Con. Click Add and Apply . e. Display tab – Go to the HB Display tab and check the boxes for the settings shown here. The noise con settings are near the bottom of the list as you scroll down. 2‐14 © Copyright Agilent Technologies The complete schematic for simulating LO Phase Noise at the IF is shown here. Check your schematic before simulating: 9. Simulate and plot the response: pnmx and Vout. a. Insert a rectangular plot of pnmx . Use Plot Options to set the X ‐axis to Log scale. Notice trace shows the decreasing dB values assigned in the oscillator setting (for example: about 30dB at 1 KHz). Also, insert a rectangular plot of Vout in dBm with a marker on the 100 MHz IF signal. At ‐40 dBm input, plus about 23 dB of amp and conversion gain, the output should be about –17.7 dBm as shown. b. Save all your work. You have now completed the first step in the design process for the RF receiver. In the following labs, you will build the circuits that will replace the system model components. 2‐15 © Copyright Agilent Technologies 10. OPTIONAL SDD (Symbolically Defined Device) simulation SDDs allow you to write an equation to describe the behavior at the nodes of a component, either linear or nonlinear. For this step, you will write a simple linear equation describing sums and differences that appear at the output of a 3 port SDD. a. Use Save Design As to give the current design (rf_sys_phnoise) the name: rf_sys_sdd . b. Delete the behavioral mixer in the circuit. c. Go to the palette Eqn BasedNonlinear and insert the 3 the 3 port SDD in schematic, in place of the mixer. Connect Connect grounds on the negative terminals as shown here. here. d. Edit the I[2,0] value by inserting the cursor directly on the on the text and adding the values shown: _ v1 * _v3. By subtracting the voltage of the mixing terms of the RF (_v1) and LO (_v3), the IF (_v2) voltage remains. The SDD is now a mixer with no conversion gain, and both the sum and the difference frequencies will appear at the output. e. Simulate and plot the spectrum of Vout in dBm . in dBm . As you can see, without conversion gain, conversion gain, the IF signal is much lower. lower. Also, both the difference and the sum sum (RF+LO) appear (marker: SUM). Although Although SDDs can be useful to describe behavior, writing the proper equations can be be complicated (requires advanced course). course). 2‐16 © Copyright Agilent Technologies f. Deactivate the HB and NC controllers. g. Insert a Transient simulation controller and use the setup shown here. Also, use Simulation > Setup to change the dataset name to: rf_sys_sdd_trans. h. Run the Transient simulation. i. Do not change default datasets in the Data Display. j. Insert an equation (shown here as Vout2) that uses the fs () function to transform the data – be sure to include the 7 commas after Vout (these skip arguments). The 10n argument is the start time of 10 nanoseconds and 40n is the stop time of 40 nanoseconds. NOTE: You could also use Trace Options > Trace Expression on Vout and then modify the expression instead of writing an equation and then plotting it. k. Insert a plot of the equation. As you can see, the 100MHz tone compares with the HB data extremely well (< 0.1 dB difference). IMPORTANT NOTE: this step is used only to show how to set up an SDD mixer (especially the multiplier settings). If you use other models in this same setup for a comparison, you may get different results (especially Transient) because such models may have non‐causal responses. Also, delay can be added to some filters to eliminate the non‐causal effect. l. Save the design and data. 2‐17 © Copyright Agilent Technologies EXTRA EXERCISES : 1. Using the rf_sys_phnoise design, run a Transient simulation for the system (not using the SDD) and compare the results with the fs function. 2. Go back and replace the Butterworth filter with an elliptical filter model shown here and simulate. Try setting different ranges for the Ripple value or try using the tuner to adjust the ripple parameter. Then display the results and look at the ripple in the passband. To do this, you will have to use the zoom commands on the data display. 3. Try tuning various parameters in the design. 4. Enter values of LO and RF rejection to the behavioral mixer and look at the simulation results. 。
ESD ADV1.0-2009Revision of ESD ADV1.0-2004for Electrostatic DischargeTerminologyGlossaryElectrostatic Discharge Association7900 Turin Road, Bldg. 3Rome, NY 13440ESD ADV1.0-2009for Electrostatic DischargeTerminologyGlossary Updated July 28, 2010ESD AssociationESD ADV1.0-2009iElectrostatic Discharge Association (ESDA) standards and publications are designed to serve the public interest by eliminating misunderstandings between manufacturers and purchasers, facilitating the interchangeability and improvement of products and assisting the purchaser in selecting and obtaining the proper product for his particular needs. The existence of such standards and publications shall not in any respect preclude any member or non-member of the Association from manufacturing or selling products not conforming to such standards and publications. Nor shall the fact that a standard or publication is published by the Association preclude its voluntary use by non-members of the Association whether the document is to be used either domestically or internationally. Recommended standards and publications are adopted by the ESDA in accordance with the ANSI Patent policy.Interpretation of ESDA Standards: The interpretation of standards in-so-far as it may relate to a specific product or manufacturer is a proper matter for the individual company concerned and cannot be undertaken by any person acting for the ESDA. The ESDA Standards Chairman may make comments limited to an explanation or clarification of the technical language or provisions in a standard, but not related to its application to specific products and manufacterers. No other person is authorized to comment on behalf of the ESDA on any ESDA Standard.THE CONTENTS OF ESDA’S STANDARDS AND PUBLICATIONS ARE PROVIDED “AS-IS,” AND ESDA MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, OF ANY KIND WITH RESPECT TO SUCH CONTENTS. ESDA DISCLAIMS ALL REPRESENTATIONS AND WARRANTIES, INCLUDING WITHOUT LIMITATION, WARRANTIES OF MERCHANTABILITY, FITNESS FOR PARTICULAR PURPOSE OR USE, TITLE AND NON-INFRINGEMENT.ESDA STANDARDS AND PUBLICATIONS ARE CONSIDERED TECHNICALLY SOUND AT THE TIME THEY ARE APPROVED FOR PUBLICATION. THEY ARE NOT A SUBSTITUTE FOR A PRODUCT SELLER’S OR USER’S OWN JUDGEMENT WITH RESPECT TO ANY PARTICULAR PRODUCT DISCUSSED, AND ESDA DOES NOT UNDERTAKE TO GUARANTY THE PERFORMANCE OF ANY INDIVIDUAL MANUFACTURERS’ PRODUCTS BY VIRTUE OF SUCH STANDARDS OR PUBLICATIONS. THUS, ESDA EXPRESSLY DISLAIMS ANY RESPONSIBILITY FOR DAMAGES ARISING FROM THE USE, APPLICATION, OR RELIANCE BY OTHERS ON THE INFORMATION CONTAINED IN THESE STANDARDS OR PUBLICATIONS.NEITHER ESDA, NOR ITS MEMBERS, OFFICERS, EMPLOYEES OR OTHER REPRESENTATIVES WILL BE LIABLE FOR DAMAGES ARISING OUT OF OR IN CONNECTION WITH THE USE OR MISUSE OF ESDA STANDARDS OR PUBLICATIONS, EVEN IF ADVISED OF THE POSSIBILITY THEROF. THIS IS A COMPREHENSIVE LIMITATION OF LIABILITY THAT APPLIES TO ALL DAMAGES OF ANY KIND, INCLUDING WITHOUT LIMITATION, LOSS OF DATA, INCOME OR PROFIT, LOSS OF OR DAMAGE TO PROPERTY AND CLAIMS OF THIRD PARTIES.Published by:Electrostatic Discharge Association 7900 Turin Road, Bldg. 3 Rome, NY 13440Copyright © 2009 by ESD Association All rights reservedNo part of this publication may be reproduced in any form, in an electronic retrieval system or otherwise, without the prior written permission of the publisher.Printed in the United States of AmericaDISCLAIMER OF WARRANTIESDISCLAIMER OF GUARANTYLIMITATION ON ESDA’s LIABILITYCAUTION NOTICEESD Association Advisory ESD ADV1.0-2009 ESD Association Advisory for Electrostatic Discharge Terminology – Glossary1.0 PURPOSEThe purpose of this Glossary is to promote technically correct terminology in the electrical overstress/electrostatic discharge (EOS/ESD) community.2.0 SCOPEThis document contains unified definitions and explanations of terminology used in the standards, TR20.20 Handbook, and other documents of the ESD Association. The Glossary compares EOS/ESD industry terminology with the more familiar usages of electrical and electronic terms. Although the Glossary is not intended to be an encyclopedia, it includes historical information (including explanations of obsolete terminology) and clarifies terminology in other EOS/ESD-related documents.The Glossary is revised as needed so that it evolves continually along with the evolving knowledge of EOS/ESD phenomena and protective methods.New revisions of the Glossary cover all issued standards, standard practices, standard test methods in effect at the time the revision, but not necessarily draft documents. At the time of each edition’s publication, the Glossary includes the most recent updates of the definitions from all issued ESD Association standards.3.0 DEFINITIONSAC equipment grounda) The ground point at which the equipment grounding conductor is bonded to any piece ofequipment, at the equipment end of the conductor in a single-phase 120VAC electricalservice.b) The 3rd wire (green/green with yellow stripe) terminal of a receptacle.NOTE: Wiring colors may vary by National Electrical Code.c) The entire low impedance path (electrically equivalent to the equipment grounding conductor)from a piece of electrical equipment to the neutral bus at the main service equipment). acceptance equipmentAn instrument or collection of instruments that meet the criteria of a standard or standard test method and provides a measurement that is repeatable. It may or may not be as accurate as laboratory evaluation equipment. This equipment is typically used to verify materials, devices or procedures under in-use conditions.acceptance testingIncoming tests to confirm proper marking and electrical functionality. Data are the form of visual inspection records, and values or pass/fail notation.active componentsSemiconductor devices and elements such as transistors and diodes, amplifiers, and rectifiers that can change their basic characteristics in a powered electrical circuit.air conductivityThe ability of air to conduct (pass) an electric current under the influence of an electric field.air ionsMolecular clusters of about 10 molecules (water, impurities, etc.) bound by polarization forces to a singly charged oxygen or nitrogen molecule.1ESD ADV1.0-2009air ionizerA source of charged air molecules (ions).amplitudeThe value chosen to be specific to the waveform, typically the difference between the baseline and the first peak.ankle strapSee ground strap.antistat, agentA substance that is part of or topically applied to a material to render the material surface static dissipative or less susceptible to triboelectric charging.antistatic Usually refers to the property of a material that inhibits triboelectric charging. Note: A material's antistatic characteristic is not necessarily co-relatable with its resistively or resistance.attenuatorA resistive network with coaxial connectors to reduce the amplitude of a signal by a specified amount.automated handling equipment (AHE)Any form of self-sequencing machinery that manipulates or transports product in any form; e.g. wafers, packaged devices, paper, textiles, etc.auxiliary groundA separate supplemental grounding conductor for use other than general equipment grounding. bandwidthThe high frequency limit where the amplitude of a component of system has decreased to 0.707 (-3 dB) of the constant amplitude low frequency response.barrier stripA device or apparatus that consists of a metal strip and connectors or screws that allow termination and connection of wires or conductors from various components of an electrostatic discharge protected workstation.bipolar ionizerA device that generates both positively and negatively charged ions.body contacting mechanism (BCM)The part of the foot grounder that makes electrical contact with the body.bond or bondingThe permanent joining of metallic parts to form an electrically conductive path that will assure electrical continuity and the capacity to safely conduct any current likely to be imposed.bonding conductorThe wire, strap, flange or other electrically conductive mechanical device used to interconnect two otherwise isolated conductive or dissipative items.breakaway forceThe force required to disconnect the ground cord from the cuff.2ESD ADV1.0-2009 bus barA metal strip or bar to which several conductors may be bonded.bypass capacitorA capacitor placed between power and ground to provide a more stable power supply voltage by shunting high frequency signals (such as device switching noise) and/or to provide local power storage (to reduce supply voltage variations when device current usage changes).cable discharge currentA current produced by causing a stored charge to flow in or out of a cable conductor.cable discharge eventOccurrence of an Electrostatic Discharge Event (CDE) when the cable is connected to an electrical system or equipment. Examples of sources include Ethernet cables, T1 lines and other communications or data lines.charge decayThe decrease and/or neutralization of a net electrostatic charge.charge inductionThe displacement of charge in an isolated conductor when placed in an electric field (for example, from a charged body). Note: Momentary grounding of such a conductor would result in its gaining a net charge.charged device model (CDM) electrostatic discharge (ESD)An ESD stress model that approximates the discharge event that occurs when a charged component is quickly discharged to another object at a lower electrostatic potential through a signal pin or terminal.charged device model (CDM) electrostatic discharge (ESD) testerEquipment that simulates the component level CDM ESD event using the non-socketed test method.charged plate monitor (CPM)An instrument used to measure the charge neutralization properties of ionization equipment. coaxial resistive probeA resistor (for example, a 1.0 ohm disk resistor) used to measure the CDM discharge current. coaxial transmission lineA coaxial cable with controlled impedance used for transferring a signal with minimum loss from one point of the system to another.cold healingThe spontaneous recovery, at room temperature, of an item from a parametric change caused by electrostatic discharge.cold workstationA work area that has items, assemblies, black boxes, or systems which no power is applied. common connection pointA device or location (less than 1 ohm within itself) where the conductors of two or more ESD technical elements are connected in order to bring the ungrounded ESD technical elements to the same electrical potential through equipotential bonding.3ESD ADV1.0-2009common point groundA grounded device or location where the conductors of one or more technical elements are bonded.compliance (periodic) verificationTesting done to indicate that the performance has not changed from initial baseline values to exceed selected limits.compliance verification (periodic testing) equipmentAn instrument or collection of instruments that provide an indication or measurement. It may or may not be repeatable or accurate. This equipment is typically used for indications of pass or fail. componentAn active or passive item such as a resistor, diode, transistor, integrated circuit or hybrid circuit. component failureA condition in which a tested component does not meet one or more specified static or dynamic data sheet parameters.component under test (CUT)A passive or active element, device, integrated circuit, module or subsystem being tested. The CUT is intended to become part of a completed system but is not the entire system.compressed gas ionizerIonization devices that can be used to neutralize charged surfaces and / or remove surface particles with pressurized gas. This type of ionizer may be used to ionize the gas within production equipment.conductive flooring materialA floor material that has a resistance to ground of less than 1.0 x 106 ohms.conductive material, resistanceA material that has a surface resistance of less than 1 x 104 ohms or a volume resistance of less than 1 x 104 ohms.conductive material, resistivityA material that has a surface resistivity less than 1 x 105 ohms/square or a volume resistivity less than 1 x 104 ohm-cm.conductivitya. The ratio of the current per unit area (current density) to the electric field in a material.Conductivity is expressed in units of siemens/meter.b. In non-technical usage, the ability to conduct current.constant area and force electrode (CAFÉ)An electrode designed to be held by a person’s finger, gloved or ungloved, to reproducibly measure resistance from the finger to a counter electrode such as a ground strap worn on the wrist of the same hand. This electrode is suitable for measuring the resistance of a finger wearing a finger cot.contact-mode dischargeAn ESD event initiated within a relay. The relay is connected to the component pin via a probe, and the component is not in a socket.contact-mode, non-socketed dischargeSee constant-mode discharge.4ESD ADV1.0-2009 coronaThe production of positive and negative ions by a very localized high electric field. The field is normally established by applying a high voltage to a conductor in the shape of a sharp point or wire.correlation sampleA representative device used for correlating measured voltages with known applied voltages. critical path componentsAny portion of the AHE within a certain distance of the device path. That distance should be agreed upon between the manufacturer and end user.cuffThe portion of the wrist strap worn on the wrist. The cuff maintains electrical contact with a person’s skin.current limiting resistanceA resistance value incorporated in series with the wrist strap or foot grounder’s electrical path to ground. This resistance limits electrical current that could pass through the grounding mechanism in the event of inadvertent user contact with electrical potential.current sense resistorA resistor, R CS, of less than five ohms which produces a measurable voltage proportional to current through it with an intrinsic rise-time response three times faster than the fastest rise-time to be measured. ∆v=∆i x R CS.current sensorA device used to measure the current in a circuit or system. This device could be non-invasive (by sensing the change in magnetic flux lines) or be very low impedance inserted in series (such as the ESD target).current source methodA TLP methodology (sometimes referred to as constant current method) that utilizes a 500 ohm resistor in series with the DUT and measures the voltage and current at the DUT.data sheet parametersStatic and dynamic component performance data supplied by the component manufacturer or user.DC resistanceThe ratio of the DC voltage applied to a conductor to the CD current through it.decay rateThe decrease of charge or voltage per unit time.decay timeThe time required for an electrostatic potential to be reduced to a given percentage (usually 10%) of its initial value. (See Static Decay Test.)delay lineA transmission line used to introduce signal delay between two components of a system. destructive damageDamage where the operating electrical characteristics or parameters are altered and do not recover to the initial conditions prior to stress.5ESD ADV1.0-2009deviceProduct being processed by AHE (e.g., an integrated circuit [IC] or a printed circuit [PC] board). device pathThe route traveled by a device in an AHE.device under test (DUT)The device to which the Transient Stimulus will be applied.di/dtCurrent derivative: the slope of the tangent at a particular point in time of the current signal. dielectricAn insulating material that can sustain an electric field with little current flow.dielectric breakdown voltageThe electric potential across an insulating material that causes a sudden increase in current through the material of the insulator.dielectric strengthThe maximum electric field that a dielectric can sustain.discharge currentA current produced by causing a stored charge to flow out of a component into a conductor from an ESD simulator.discharge timeThe time necessary for a voltage (due to an electrostatic charge) to decay from an initial value to some arbitrarily chosen final value.discrete componentAn elementary electronic device constructed as a single unit such as a transistor, resistor, capacitor, inductor, diode, etc.dissipative floor materialFloor material that has a resistance to ground between 1.0 x 106 and 1.0 x 109 ohms.dissipative MaterialsA material that has a surface resistance greater than or equal to 1 x 10E4 ohms but less than 1 x 10E11 ohms or a volume resistance greater than or equal to 1 x 10E4 ohms but less than 1 x10E11 ohms.dynamic parametersDynamic parameters are those measured with the component in a functioning (operating) condition. These parameters may include, but are not limited to: full functionality, output rise and fall times under a specified load condition, and dynamic current draw.dynamic stateAny operational state where the device is functioning according to its design. Typically, inputs, I/O, and output pins are changing as a required to operate the device. In the dynamic state, the supply current should be changing throughout the range of I DDNOM.earth grounding electrodeThe metal rod, metal plate, metal pipe, metal mesh, metal underground water pipe, or grounded metal building frame that are bonded to the neutral bus at the main service entrance.6electric chargeAn absence or excess of electrons.electric field shielding materialsA material that has a surface resistance or a volume resistance of less than 1 x 103.electrical ionizerA device that creates ions in gases by use of high voltage electrodes.electrical overstress (EOS)The exposure of an item to a current or voltage beyond its maximum ratings. This exposure may or may not result in a catastrophic failure.electrification periodThe average of five (5) electrification times, plus five (5) seconds.electrification timeThe time for the resistance measuring instrument to stabilize at the value of the upper resistance range verification fixture.electrostatic chargeElectric charge at rest.electrostatic damageChange to an item caused by an electrostatic discharge that makes it fail to meet one or more specified parameters.electrostatic discharge (ESD)The rapid, spontaneous transfer of electrostatic charge induced by a high electrostatic field. Note: Usually, the charge flows through a spark between two bodies at different electrostatic potentials as they approach one another. Details of such processes, such as the rate of the charge transfer, are described in specific electrostatic discharge models.electrostatic discharge (ESD) controlSee static control.electrostatic discharge (ESD) groundThe point, electrodes, bus bar, metal strips, or other system of conductors that form a path from a statically charged person or object to ground.electrostatic discharge (ESD) protectiveA property of materials capable of one or more of the following: reducing the generation of static electricity, dissipating electrostatic charges over its surface or volume, or providing shielding from ESD or electrostatic fields.electrostatic discharge (ESD) protective symbolThe graphics used to identify items that are specifically designed to provide electrostatic discharge protection.electrostatic discharge (ESD) protective workstationAn area that is constructed and equipped with the necessary protective materials and equipment to limit damage to electrostatic discharge susceptible items handled therein.electrostatic discharge (ESD) protective worksurfaceA worksurface that dissipates electrostatic charge from materials placed on the surface or from the surface itself.7electrostatic discharge sensitivity (ESDS)The ESD level that causes component failure. (Note: See also electrostatic discharge susceptibility.)electrostatic discharge (ESD) shieldA barrier or enclosure that limits the passage of current and attenuates an electromagnetic field resulting from an electrostatic discharge.electrostatic discharge (ESD) spark testingTesting performed with operating equipment or parts to determine their susceptibility to the transient electromagnetic fields produced by an air discharge event.electrostatic discharge susceptibility (ESDS)The propensity to be damaged by electrostatic discharge. (See also electrostatic discharge sensitivity).electrostatic discharge susceptibility (ESDS) classificationThe classification of items according to electrostatic discharge susceptibility voltage ranges. Note: There are various classification methods.electrostatic discharge susceptibility (ESDS) symbolThe graphics placed on hardware, assemblies, and documentation for identification of electrostatic discharge susceptible items.electrostatic discharge susceptible (ESDS) itemElectrical or electronic piece part, device, component, assembly, or equipment item that has some level of electrostatic discharge susceptibility.electrostatic discharge (ESD) withstand voltageThe maximum electrostatic discharge (ESD) level that does not cause component failure. electrostatic fieldAn attractive or repulsive force in space due to the presence of electric charge.electrostatic potentialThe voltage difference between a point and an agreed upon reference.electrostatic shieldA barrier or enclosure that limits the penetration of an electrostatic field.electrostaticsThe study of electrostatic charge and its effects.emitterA conducting sharp object, usually a needle or wire, which will cause a corona discharge when kept at a high potential.energizedThe state of a piece of equipment such that it carries electrical, fluid, thermal, mechanical or other form of energy in a state which could pose a hazard to personnel.EOSSee electrical overstress.equipment grounding conductorThe conductor used to connect the non-current carrying metal parts of equipment, raceways and other enclosures to the main service equipment ground bus.equipotentialHaving the same electrical potential; of uniform electrical potential throughout.ESDSee electrostatic discharge.ESD eventOccurrence of a single electrostatic discharge from any source. Examples of source include humans, ESD simulators and other charged objects.ESD grounding / bonding reference pointThe ESD grounding system selected for use in a facility or situation that best suits the application: a) AC equipment ground; b) auxiliary ground; c) equipotential bondingESD protected area (EPA)A defined location with the necessary materials, tools and equipment capable of controlling static electricity to a level that minimizes damage to ESD susceptible items.ESD targetA current transducer used to measure ESD discharges.ESD target adapterAn adapter used to connect reference generators to the ESD target.ESD technical elementsAll of the items, materials, devices, tools and equipment used within an EPA for the control of static electricity.ESDSSee Electrostatic Discharge Susceptibleevaluation testingStringent testing of a wrist strap to determine its electrical and mechanical performance abilities. Data are in the form of values from laboratory testing.failure threshold currentThe supply current value that when exceeded, is considered to have failed the device. To avoid false failures due to changes of state it should be greater than the nominal supply current (I DDNOM).faraday cageA conductive enclosure that attenuates a stationary electrostatic field.field induced chargingA charging method using electrostatic induction.field plate (FP)A conductive plate used to elevate the potential of the device under test (DUT) by capacitive coupling.9final test voltageThe voltage on the test plate of the periodic verification instrument at which the discharge time test ends.floor contacting surface (FCS)That part of the foot grounder that makes electrical contact to the grounding surface.flooring / foot grounder system resistanceThe total resistance of the foot grounders when worn by the person standing on a static floor or stainless steel plate.foot grounderPersonnel grounding device worn on the shoe. The device makes electrical contact with the surface on which the wearer is standing. The device also makes contact with the wearer through either direct skin contact or by contacting moisture inside the shoe. This definition includes heel / toe grounders and booties or similar devices (excluding static control shoes).foot grounder systemA foot grounder properly worn by a person where the electrical path includes the person and the foot grounder.functional stateThe functional state of the device defines the mode in which it is operating.functional testingEnd-use testing to confirm electrical functionality. Data is in the form of pass/fail notation or values.FWHMFull Width at Half Maximumgarment systemAny electrically interconnected components of static control apparel.grounda. A conducting connection, whether intentional or accidental between an electrical circuit orequipment and the earth, or to some conducting body that serves in place of earth.b. The position or portion of an electrical current at zero potential with respect to the earth.c. A conducting body, such as the earth of the hull of a steel ship used as a return path forelectric currents and as an arbitrary zero reference point.ground cordThe portion of the wrist strap that provides flexibility of movement while completing the electrical circuit between the cuff and ground.ground currentThe current flowing out of the ground pin.ground fault circuit interrupterA device intended for the protection of personnel that functions to de-energize a circuit or portion thereof within an established period of time. It is activated when a current difference between the neutral and hot conductors exceeds some predetermined value that is less than that required to operate the overcurrent protective device of the supply circuit. The current difference is usually caused by a current to ground.ground leadThe portion of the wrist strap, which provides flexibility of movement while completing the electrical circuit between the cuff at one end and a ground system at the other.ground pinThe pin or set of pins that return current to the supply voltage source.ground plane (GP)A conductive plate used to complete the circuitry for grounding / discharging the DUT.ground reference pointThe prong of the equipment’s ground wire from hand soldering equipment to a workstation ground point. Examples are: (a) The ground U-prong (or round prong) of an AC power cord; (b) the banana plug of a grounding patch cord; (c) the ring or spade lug of a ground jumper wire. ground strapa. A conductor intended to provide an electrical path to ground.b. An item used by personnel with a specified resistance, intended to provide a path to ground. groundable pointA designated connection location or assembly used on an electrostatic discharge protective material or device that is intended to accommodate electrical connection from the device to an appropriate electrical ground.groundable point, floor materialA point on the floor material that accommodate an electrical connection from the floor material to an appropriate ground.groundable point, seatingConductive caster or drag chain used to provide an electrical path from seating to a static control floor or mat.groundable static control garmentA garment that exhibits an electrical resistance less than 1 x 109 ohms from point-to-point and from any point or panel on the garment to the groundable point on the garment.groundable static control garment systemGarments that are used to establish the primary ground path for a person shall provide a resistance of less than 35 megohms from the person to the groundable point of the garment. The garment must also meet all the requirements included in the definition for groundable static control garments.groundedConnected to earth or some other conducting body that serves in place of the earth.grounded conductorA system or circuit conductor that is intentionally grounded.grounding conductorA conductor used to connect equipment or the ground circuit of a wiring system to a ground electrode or electrodes.grounding electrode conductorA conductor used to connect the ground electrode(s) to the equipment grounding conductor, to the grounded conductor, or to both at the main service, at each building or structure where supplied from a common service, or at the source of a separately derived system.11。
Power tools for mechanical design. AutoCAD®Mechanical 20092To compete and win in today’s design marketplace,engineers need to create and revise mechanical drawings faster than ever before. AutoCAD ®Mechanical software offers significant productivity gains over basic AutoCAD ®software by simplifying complex mechanical design work.The AutoCAD Mechanical AdvantageWith comprehensive libraries of standards-based parts and tools for automating common design tasks, AutoCAD Mechanical accelerates themechanical design process. Innovative design and drafting tools are wholly focused on ease of use forthe AutoCAD user.6810Keeping the AutoCAD user experience intact allows designers to maintain their existing workflows while adopting the enhanced functionality of AutoCAD Mechanical at their own pace. Designers gain a competitive edge by saving countless hours of design time and rework, so they can spend time innovating rather than managing workflow issues.3Creating mechanical drawings with generic software can inadvertently introduce design errors and inconsistencies, wasting both time and money. AutoCAD Mechanical helps designers catch errors before they cause costly delays.Error Checking and PreventionScalingSave hours of rework by maintaining only one copy of a drawing, instead of multiple copies at different scales. AutoCAD Mechanical offers several options for scaling drawings to fit on larger or smaller paper sizes. Update the scale factor and the drawingcorrectly resizes. All annotations (text, dimensions, blocks, hatches, and linetypes) remain appropriately displayed.Construction LinesReduce the time required to create geometry and align drawings with a comprehensive construction line toolset. Construction lines are automatically placed in their own color and layer group, clearly distinguishing them from design geometry. Con-struction lines do not show up when printing.Fit ListsInstantly create fit lists that are linked to the actual information in a design, helping to reduce errors and improve productivity. As special fit informa-tion is added to a design, the fit list table updates automatically.Paper Space Annotation ViewsReduce errors and drafting time by easily creating multiple paper drawings from one master model. Add specific parts and assemblies directly to apaper drawing. Apply visibility, scale, color, and view overrides directly to each drawing without the use of layers. The seamlessly integrated parts list keeps accurate count of how many parts have been addedto each drawing for the parts lists totals.4Standards-Based Drafting and Part LibrariesStandard Parts, Features, and HolesProduce accurate designs faster with standards-based parts from the libraries in AutoCADMechanical, saving hours of design time. AutoCAD Mechanical contains more than 700,000 parts such as screws, nuts, washers, pins, rivets, and bushings. It also includes 100,000 predrawn features such as undercuts, keyways, and thread ends. AutoCAD Mechanical also contains more than 8,000 predrawn holes, including through, blind, and oblong holes. When users incorporate these features into a design, AutoCAD Mechanical automatically cleans up the insertion area, reducing the need for manual edits.Realize consistent results on the shop floor by producing accurate designs using a comprehensive set of more than 700,000 standard parts.Standard Part FavoritesCustomize AutoCAD Mechanical to fit your work-flow. Users can now save frequently used parts as favorites, where they can be accessed quickly for easy reuse.Standards-Based DesignMultiply productivity with tools that help users de-liver consistent, standards-based design documenta-tion. AutoCAD Mechanical supports ANSI, BSI, CSN, DIN, GB, ISO, and JIS drafting environments. Using standards-based drafting environments helps groupsof users maintain a common form of communication.2D Structural Steel ShapesCreate designs more quickly and accurately using predrawn geometry. AutoCAD Mechanical contains more than 11,000 predrawn standard structural steel shapes that users can incorporate quickly into any design. These include common structural shapes such as U-shape, I-shape, T-shape, L-shape, Z-shape, rectangular tube, round tube, rectangular full beam, and rectangular round beam.Title and Revision BlocksQuickly generate drawings with uniform, precre-ated title and revision blocks. AutoCAD Mechanical includes a full set of configurable title and revision blocks in both English and metric units. Users can easily customize these blocks with company-specific information.Annotation Symbols and NotesSave time and increase accuracy by usingstandards-based mechanical symbols and notes. AutoCAD Mechanical includes drafting tools to create standards-based surface texture symbols, geometric dimensioning and tolerances, datum identifiers and targets, notes, taper and slope symbols, and weld symbols.Screw ConnectionsAutomate the creation and management of screw connections with this easy-to-use graphical inter-face that supplies thousands of connection options, while helping users choose the best parts for their design. Create, copy, and edit entire fastener assem-blies at one time. Pick the desired type of screw, cor-responding washers, and type of nut. Appropriate sizes for nuts, washers, and holes are presented depending on the screw selected and material thick-ness. The hole is added to the part where specified, and the entire fastener assembly is inserted into the hole. All inserted parts are instantly captured by thebill of materials (BOM).6Machinery Generators and CalculatorsSpring GeneratorSelect, calculate, and insert compression springs, extension springs, torsion springs, and Belleville spring washers into a design using the spring gen-erator, a fast, valuable, and easy-to-use tool. Control the representation type of the spring, and create a specification form to incorporate in the drawing. The spring calculator helps users select the right spring on the first try.Shaft GeneratorAccelerate shaft drawings and analysis with minimal input and effort. The extensive library of common features and parts makes it easy to finish the draw-ing. The shaft generator creates drawing views of solid and hollow shafts. Add standard features such as center holes, chamfers, cones, fillets, grooves, profiles, threads, undercuts, and wrench fittings. In addition, standard parts commonly found in shafts, such as bearings, gears, retaining rings, and seals, are supported and conveniently grouped together. Automatically create associated side views and vali-date the capability of completed shafts with built-in calculated graphs and tables.Cam GeneratorQuickly design and analyze cams while increas-ing access to crucial information about the cam’s functionality. The cam generator creates linear, circular, and cylindrical cams based on the input border connections set by the user. Calculate and display acceleration and jerk, as well as the cam curve path. Couple driven elements to the cam, and create computer numerical control (CNC) data viathe curve path.Accelerate the design process and improve design accuracy with a comprehensive collection of automated machinery generators and calculators.7Belt and Chain GeneratorQuickly and easily create chain and belt assemblies that are based on engineering calculations for opti-mum performance. Automatically calculate optimal lengths for chains and belts based on user input, and insert these assemblies into a design. Simply select belts and chains from the standard libraries to get started.Moment of Inertia, Deflection, and Load CalculationsSave time and reduce the tedium of manual calcula-tions by using built-in engineering calculators.Instantly generate many different sets of calculated graphs and tables for screws, bearings, cams, and shafts with minimal additional input. Quickly perform engineering calculations, such as a moment of inertia of a cross section or deflection of a profile with given forces and supports.2D Finite Element Analysis (FEA)Quickly identify potential areas of failure and ana-lyze a design’s integrity under various loads, thereby avoiding costly product testing or field mainte-nance. The 2D FEA feature is an easy-to-use tool for determining the resistance capability of an object under static load. Add movable and fixed supports to the part to be analyzed, as well as stress points,lines, and areas.8Design and Drafting Productivity ToolsMechanical Drawing ToolbarCreate drawings more accurately with purpose-built tools. AutoCAD Mechanical provides options beyond those in basic AutoCAD software for draw-ing creation, including more than 30 options for creating rectangles, arcs, and lines; specialty lines for breakout views and section lines; and mechani-cal centerlines and hatching additions. 2D HideReduce drafting effort with automatically generated hidden lines that update to reflect drawing revi-sions. Perform 2D hidden-line calculations based on user-defined foreground and background selections that update automatically. These selections auto-matically redraw geometry, reducing the tedious manual task of trimming and changing properties of lines in AutoCAD. The 2D hide feature also warns users of potential geometrical errors and provides a graphical workflow that is easy to learn and use.WorkspacesQuickly customize toolbars and settings with the Workspaces toolbar, which offers a pull-down menu where designers can easily store and access differ-ent user-interface setups. Several prebuilt work-spaces ship with the product, including the classic AutoCAD workspace as well as workspaces that make it easier to learn AutoCAD Mechanical.Power DimensionsQuickly change, edit, or delete dimensions, saving significant time and effort. AutoCAD Mechanical makes AutoCAD dimensions easier to use with ab-breviated dialog boxes that conveniently control and expand only the variables relevant for manufactur-ing. With automatic dimensioning, users can create multiple dimensions with minimal input, resulting in instant groups of ordinate, parallel, or sym-metric items that are appropriately spaced. Smart dimensioning tools force overlapping dimensions to automatically space themselves appropriately while integrating tolerance and fit list information into the drawing. Inspection dimensions enable users tospecify testing criteria.Built to save users time, AutoCAD Mechanical has a specific tool for almost every aspect of the mechanical design process.Associative Detailing ToolsUpdate drawings quickly with powerful tools that enable users to edit previous operations, saving valuable design time. Easily re-edit features without having to remove and re-create the original feature. For example, resize a chamfer using the original dialog parameters by simply double-clicking the chamfer.Design NavigationUse the design navigation feature to better under-stand how designs fit together. As the user moves the cursor across a design, a small window displays part names. Expand this window to show parent/child relationships inside assemblies. The entire part geometry is highlighted, with a single grip placed at the base point and an arrow showing defaultorientation.Software Developer Kit (SDK)Customize and combine features in AutoCAD Mechanical to achieve higher levels of productiv-ity. The SDK for the API (application programming interface) provides information to customize and automate individual features or combinations of fea-tures in AutoCAD Mechanical. It includes updated API documentation and sample scripts.Power SnapsEase the repetitive task of geometry selection by using task-based power snap settings. AutoCAD Mechanical includes five settings for object snaps, as well as many more options for selecting specific geometry than basic AutoCAD software offers. Quickly choose the snap setting that works best for the task at hand.Dimension StretchEasily update designs to specific sizes and shapes simply by changing the dimension values. The ge-ometry of a design resizes accordingly. For complex designs, use multiple selection windows to choose exactly which geometry should be changed by thedimension value.10Data Management and Reporting ToolsBalloons and Bills of MaterialsUse standards-based balloons and parts lists and automatically update the BOM to seamlessly track any changes—helping to keep teams on schedule by reducing costly breaks in production due to incorrect part counts, identification, and ordering. AutoCAD Mechanical includes support for multiple parts lists per drawing, collapsible assemblies, automatic recognition of standard parts, and customizable options so features can be revised to match current company practices. The new BOM configuration manager simplifies setup and customization.Hole ChartsQuickly create accurate hole charts that automati-cally update based on design changes, reducing errors associated with creating charts manually. When users place standard holes in the design, the software automatically generates hole charts that display detailed design information. Dynamic highlighting helps ensure that all holes needed for the chart are accurately represented. After the user places a chart, it remains linked to the design, dynamically updating to reflect changes and addi-tions. Filtering capabilities enable users to separate different hole sizes into different hole charts for streamlined manufacturing processes.Language TranslationAccelerate language translation and simplify international communications with built-in tools. AutoCAD Mechanical offers a basic library of prewritten language strings that can automati-cally translate drawing text from one language to another. The library is an open format that can be expanded and modified.Integrated Data ManagementSecurely store and manage work-in-progress design data and related documents with data management tools for workgroups. Team members can accelerate development cycles and increase their company’s return on investment in design data by driving design reuse.Autodesk ProductstreamOrganize, manage, and automate key design and release management processes. With Autodesk ® Productstream ® software your company’s designs are complete, accurate, approved, and released tomanufacturing in a timely and effective manner.AutoCAD Mechanical helps workgroups organize and manage valuable design data and provide accurate reports to downstream users.11Interoperability and CollaborationDWF TechnologyPublish DWF™ files directly from Autodesk manufac-turing design applications, and securely collaborate on 2D and 3D designs with customers, suppliers, planners, and others outside your engineering work-group. Using the free* Autodesk ® Design Review software, team members can digitally review, mea-sure, mark up, and comment on 2D and 3D designs while protecting intellectual property. Tight integra-tion with Autodesk manufacturing products allows for accurate communication of design information, including assembly instructions, bills of materials, and FEA results, without requiring CAD expertise. Autodesk Design Review automatically tracks com-ments and their status, and the DWF-based markups can be round-tripped, helping accelerate the revision process and minimize information loss.Autodesk DWG Product RecognitionEasily identify which Autodesk product created a DWG file, and open the file with the optimalprogram for maintaining file intelligence. When the user moves the cursor over the DWG™ icon, a small window appears with information about which prod-uct was used to create the DWG file.STEP/IGES TranslatorsSimplify accurate collaboration with suppliers and customers by enabling sharing and reuse of design data with other CAD/CAM systems. Read and write design and drawing data using industry-standard formats.Autodesk Inventor AssociativityEasily detail and document native Autodesk ® Inventor™ part and assembly models. Browsethrough Inventor files, and begin creating new, linked AutoCAD Mechanical drawings that are based on the most current 3D designs. Incorporate design revi-sions quickly and easily through the associative link, which alerts users to changes and regenerates the 2D drawing. Visualize design intent by shading and rotating solid models, and review other attributes as-sociated with the Inventor design. Information stored in Inventor models is automatically available to the BOM database in AutoCAD Mechanical, so users canquickly add balloons, parts lists, and annotations.The intelligent file formats in AutoCAD Mechanical and tight integration with Autodesk ®manufacturing products facilitate collaboration by enabling workgroups to share accurate design information reliably and securely.。
Contributed PaperManuscript received April 6, 2009 0098 3063/09/$20.00 © 2009 IEEEAutomatic Domotic Device InteroperationDario Bonino, Emiliano Castellina, Fulvio CornoAbstract — Current domotic systems manufacturers de-velop their systems nearly in isolation, responding to different marketing policies and to different technological choices. While there are many available approaches to enable interop-eration with domotic systems as a whole, few solutions tackle interoperation between single domotic devices belonging to different technology networks. This paper introduces an auto-matic device-to-device interoperation solution exploiting on-tology-based semantic device modeling. By explicitly model-ing interoperation through ontology concepts and relations, the devised solution allows to automatically generate device-level interoperation rules. These rules, executed by a suitable rule-execution layer integrated in an intelligent domotic gate-way (DOG), allow interconnecting arbitrary devices in a gen-eral and scalable manner. A case study is shown, where the automatic-generation of interoperation rules is applied to two real-world demo cases, with either KNX or BTicino devices.1Index Terms — Interoperation, domotic plants, ontology, rule-based inference.I. I NTRODUCTION Current Home Automation systems have been developed nearly in isolation. They are based on different technologies, from bifilar busses to wireless connections, on different net-work protocols, e.g., ZigBee, MyOpen, Konnex, X10 and in most cases they are incompatible both at the electrical and the communication protocol levels. These interoperation barriers have traditionally been disregarded and treated as not critical by component manufacturers. However the recently increasing adoption of home automation highlighted several interopera-tion problems, mainly from the point of view of system inte-grators and end users. Plants are no longer single-vendor and built in one stage, but they are built incrementally, with differ-ent automation technologies, depending on varying budget allocations, intelligence requirements, etc. In addition, to en-able advanced user-home interaction, energy saving, and pro-active comfort and safety, simple automation and programma-ble scenarios are not sufficient and more advanced intelli-gence mechanisms are required.In this context, several research efforts focus on designing interfaces between home automation systems and data net-works, exposing the home services in a machine exploitable manner. On the converse, the apparently simpler problem of supporting intercommunication between different domotic plants has been quite disregarded, resulting in a sensible lack1Dario Bonino, Emiliano Castellina and Fulvio Corno are with the Diaprtimento di Automatica ed Informatica of the Politecnico di Torino, Corso Duca degli Abruzzi 24, 10129, Torino, Italy (e-mail: {dario.bonino, emiliano.castellina, fulvio.corno}@polito.it).of interoperation technologies. Currently available solutions are often limited to 1-to-1 network bridges, not flexible enough to support the dynamic evolution of modern homes and buildings. Moreover, network bridges frequently adopt a rather clear master-slave interoperation pattern where a main domotic plant controls a subsidiary network, preventing a real 2-way interoperation between connected plants and devices therein.The authors already presented a solution for device-level in-teroperation based on manually defined rules executed by a suitable inference layer [1] integrated inside the DOG domotic OSGi gateway [2]. Manual generation of rules requires a deep knowledge of the DOG platform and of the underlying DogOnt model [3], which prevents its immediate adoption in real-world scenarios, where the home is usually configured by non-expert people, e.g., electricians or final users as well. This paper aims at solving (at least partially) the rule-generation problem by modeling device interoperation with human-understandable, formal connections between control-ling and controlled device models. Interoperation is thereforetackled with a two-folded approach: first, device-to-deviceinteractions are modeled in a technology independent frame-work, based on a proposed extension of the DogOnt [3] ontol-ogy. Second, an automatic rule-generation mechanism is de-signed and integrated in the DOG gateway, able to automati-cally generate the kind of complex rules that may be executed thanks to the approach presented in [1]. Ontology-based mod-eling is the key for achieving scalability over multiple, differ-ent domotic networks, whereas integration in DOG allows immediate exploitation of the designed approach, in existing domotic environments. Experimentation is carried on two real-world domotic plants, implemented as portable democases, based on the BTicino MyOpen 2domotic technologyand on the standard KNX 3home automation system. Results show that the proposed approach is feasible and that it can easily scale to high-level definition of complex, inter-network, automation scenarios.The remainder of the paper is organized as follows: Section 2 provides a brief overview of DOG and DogOnt. Section3 describes ontology-based modeling of device interoperation whereas Section4 deals with automatic generation of interoperation rules. Section5 describes the implementation and experimental results, and Section6 discusses relevant related works. Eventually, Section7 draws conclusions and outlines future works.2 http://www.myhome-bticino.it/ft/ 3II. D OG AND D OG O NT IN A N UTSHELLA. DOG DOG (Domotic OSGi Gateway) [2] is a Home Gateway [4][5] designed to transform new, or existing, domotic installations into intelligent domotic environments. The main features of DOG include: versatility, advanced intelligence support and accessibility, in terms of supported applications and affordable costs. Versatility is achieved by means of a strongly modular architecture exploiting the OSGi framework, the de-facto ref-erence framework for Residential Gateways [6]. Advanced intelligence support is gained by formally modeling the home environment through the DogOnt ontology [3] and by defin-ing suitable reasoning mechanisms on top of it. Accessibility is provided through an application-level API exposed either directly, to external OSGi bundles, or wrapped into an XML-RPC [7] service access point. Costs are kept low by ensuringthe ability to run the DOG gateway on cheap hardware plat-forms, e.g., netbooks 4.The DOG logic architecture is deployed along 4 layers(“rings”, in the DOG terminology, see Figure 1) ranging fromlow-level interconnection (Rings 0 and 1) to high-level model-ing and interfacing (Rings 2 and 3). Each ring hosts severalOSGi bundles implementing the platform modules.Figure 1. The DOG logic architecture.Specifically, Ring 0 includes the DOG common library and the bundles required for managing the interactions between the OSGi platform and the other DOG bundles.Ring 1 encompasses the DOG bundles that provide interconnection services for domotic technologies.5 Each network technology is managed by a dedicated driver, which abstracts the network protocol into a common, high-level message protocol (DogMessage) based on the DogOnt ontology model.Ring 2 provides the routing infrastructure for messages traveling across network driver bundles and directed to (or4In this paper the benchmark platform is an ASUS eeePC 701 netbook, with 4GByte of SSD and 512 Mbytes of RAM, currently sold at less than 250 euros. 5Currently DOG supports KNX and MyOpen domotic networks, and Zig-Bee is under development.originated from) DOG bundles. It hosts the DOG core intelli-gence, based on the DogOnt ontology and implemented by theHouse Model bundle, and the DOG runtime rules core: Dog Rules. Finally, Ring 3 hosts the DOG bundles offering access to external applications, either by means of the API bundle, for OSGi applications, or by exploiting an XML-RPC service access point for applications based on other technologies. Rule-based interoperability inside DOG is supported by theDogRules bundle (described in [1] and shown in bold in Figure 1), located on Ring 2. Its internal architecture includes three main components (Figure 2): • The Status Listener inspects DOG internal messages for detecting rule-triggering events. For each message, the Status Listener builds a representation of detected state changes and inserts this new information in the Rule Engine working memory, triggering a rule evaluation cycle. • The Rule Engine provides the execution environment for user-defined interoperation rules. The current implementation adopts a stateless approach, where the only fact available to the engine working memory is the content of last received DOG message. If the message content matches some rule antecedent, the corresponding rule(s) are fired.• The Command Generator offers simple methods for creating and posting new DOG messages, thus convertingrule firings into actions on domotic devices.Figure 2. The DogRules internal architecture.The Rule Engine module is based on the JBoss Rules rule engine, and can accept rules formalized in several languages. In DogRules, the selected rule dialect is MVEL 6, which allows to mix-up abstract matching constructs, based on DogOnt concepts and properties, and function calls in a specific programming language, in this case Java. The ability of mixing abstract notations and concrete function calls in the same rule allows on one side to deal with network-independent representations provided by DogOnt and on the other side to ground rule consequents on real-world commands that are forwarded to the DOG platform by means of the Command Generator module.6/B. DogOntThe core intelligence of the DOG gateway relies on an ontol-ogy model of domotic environments called DogOnt. Accord-ing to the Gruber’s [8] definition, ontology is an: “explicit specification of a conceptualization,” which is, in turn, “the objects, concepts, and other entities that are presumed to exist in some area of interest and the relationships that hold among them”. Today’s W3C Semantic Web standard suggests a spe-cific formalism for encoding ontologies (OWL), in several variants that vary in expressive power [9].DogOnt is an ontology model for Intelligent Domotic Envi-ronments representing the home architectural elements (rooms, walls, etc.), the devices placed inside the home, and their states and functionalities. DogOnt is organized along 5 main hierar-chies of concepts (Figure 3) and allows explicitly representing: • The home environment composition (rooms, doors, etc.): BuildingEnvironment ;• The type and location of domotic devices: BuildingThing of type Controllable ;• The set of capabilities of domotic devices: Functionality ; • The possible configurations that devices can assume: State ;• The technology-specific information needed for interfac-ing devices: NetworkComponent ;• The kind of architectural elements and furniture placed inside the home: BuildingThing , of type UnControllable.Figure 3. An excerpt of the DogOnt (v1.0.2) ontology.Describing the rationale and full capabilities of DogOnt is out of the scope of this paper (see [3] for a more detailed description) however some specific detail on device modeling is provided, to ground the interoperation model introduced in this paper and to clarify how automatic generation of rules is achieved in DOG. DogOnt models devices in terms of functionalities (modeling device capabilities) and in terms of states (modeling the stable configurations that a device can assume). Functionalities are modeled by the concept hierarchy rooted at the Functionality concept. Three kinds of functionalities are considered: Control-Functionalities , modeling the ability of a device to be controlled by means of some message or command; QueryFunctionalities mod-eling the ability of a device to be queried about its internal state; NotificationFunctionalities modeling the ability of a device to issue notifications about state changes. Each Functionality sub-class has a single instance that is associated to every device characterized by the modeled capability. In addition, each device possesses a unique State instance, which models the current stable configuration. States are organized in a concept hierarchy stemming from the State concept that encompasses ContinuousState s, modeling con-tinuously changing properties of devices (e.g., the temperature sensed by a thermal sensor), and DiscreteState s, modeling proper-ties that can only abruptly change, e.g. switching a Lamp on or off. Figure 4 shows how a dimmer lamp is modeled in DogOnt.Figure 4. A Dimmer Lamp model in DogOnt (rectangles represent con-crete instances).III. D OMOTIC D EVICE I NTEROPERATIONInteroperation of domotic devices through rules has already proved to be feasible [1], but in that approach the rules had to be hand-written and required deep knowledge of the DOG gateway and of its underlying model and assumptions. In this paper, we solve this problem by modeling interoperation as a high-level relation be-tween controller and controlled devices, and by designing an auto-matic rule-generation process that translates high-level descriptions into low-level rules executable by the DogRules bundle. Modeling interoperation between domotic devices in DOG and DogOnt re-quires three main steps: (a) extending the DogOnt model to explic-itly represent notifications sent by controller devices, and com-mands accepted by controlled devices; (b) defining a formal con-nection allowing to describe device interoperation and to support automatic generation of device-level interoperation rules; (c) ex-tending the DOG architecture for supporting the automatic genera-tion of rules and their runtime execution (see Section 4).A. Notifications, Commands and StateValuesIn order to support interoperation modeling in DogOnt, in this paper the original ontology has been extended by comple-menting the Functionality and State concepts with 3 new on-tology sub-trees respectively rooted at Notification, Command and StateValue (shown in bold in Figure 5).Figure 5. The new DogOnt ontology (v1.0.3) supporting interoperation. Functionality modeling has been improved by associatingnew Command and Notification instances to the already existing ControlFunctionalities and NotificationFunction-alities, respectively. In particular, every ControlFunctional-ity is connected to a set of Command instances by means ofa new hasCommand relationship (shown in bold in Figure6).Commands are modeled according to two orthogonal do-mains (summarized in Table 1):•the number of involved parameters (either 0 or greaterthan 0), and•the expected return values (either none or one).The first orthogonal domain classifies commands as either Parametric or NonParametric. The second, instead, dis-cerns VoidCommands from NonVoidCommands.Table 1. Command Types.# Involved Parameters# ReturnValues 0 >0 NonParametric∩ VoidParametric∩ Void1 NonParametric∩ NonVoidParametric∩ NonVoidFor each Parametric command a suitable set of restric-tions is defined to specify properties such as the number of accepted parameters (nParams) and their names (pa-ramNames).Differently from control functionalities, the concepts stemming from NotificationFunctionality model the abil-ity of devices to send Notification s for signaling state changes.Figure 6. Control Functionality modeling. Notification functionalities are connected to the corre-sponding set of notifications by means of the hasNotification relation (shown in bold in Figure 7). In symmetry with Command s, Notification s are divided in Parametric and NonParametric. The first class encompasses all notifications having parameters that better specify the provided informa-tion (e.g., the temperature sensed in a given room) while the second set groups simple notifications with no parameters, e.g., the OnNotification and OffNotification associated to a simple button.Figure 7. Notification Functionality modeling. Eventually, StateValue s can either be Discrete, modeling properties that can only assume well-defined, discrete values, e.g. on or off, or they can be Continuous modeling continu-ously changing features, e.g., the temperature measured by a thermal sensor. DogOnt State s are associated to the corre-sponding StateValues by means of the hasStateValue semantic relation (shown in bold in Figure 8). Example 1 describes the complete model of a dimmer lamp.Figure 8. State modeling.Example 1 – part 1We consider a sample dimmer lamp modeled by means of the DogOnt ontology. A dimmer lamp is a lamp whose luminance can be varied in a well defined range, between 0% and 100%. The sample dimmer lamp is modeled by means of an instance of the DimmerLamp class. Such an instance is connected to a LightIntensityState instance modeling the current lamp lumi-nance, and has a set of functionalities specified by means of the hasFunctionality relationship. Functionality instances of the sample dimmer lamp are connected to the corresponding set of possile Command instances through the hasCommand relationship (see Figure 9, where rectangles represent con-crete instances of DogOnt classes).Figure 9. Sample Dimmer Lamp model in DogOnt.B.Interoperation modelingInteroperation between domotic devices (i.e., devices de-scending from HousePlant s), either connected to the same domotic network (scenarios) or to different ones (interopera-tion), is represented by associating specific Notification s with specific Command s. This association is formalized at two dif-ferent levels: the Device and the Functionality level.At the device level, interoperation is modeled as the ability of an abstract device to “control”, in some way, another ab-stract device. This ability is formalized by means of the con-trolledObject relation. A specific sub-class of the DogOnt Controllable concept, called Control, groups all domotic de-vices that can “control” other devices. The controlledObject relation only allows to specify which device controls a given device, without detailing how the interaction works, i.e., with-out specifying associations between actions on the controller device and expected reactions of the controlled device. There-fore, a further specification, at the functionality level, is needed, to associate control notifications with commands is-sued to controlled devices. This association is formalized by the generatesCommand relation. Every device descending from the Control class must provide at least one Notification-Functionality in addition to the mandatory StateChangeNotifi-cationFunctionality (modeling the ability to notify internal state changes). This additional functionality is related to one or more Notification instances, depending on the functionality type. If a device “controls” another device, i.e., if a controlle-dObject relation holds between them, the generatesComand relationship allows to associate the controller device notifica-tions to specific commands defined by the functionalities of the controlled device.Example 1 - part 2.In order to be operated, the sample DimmerLamp shall be connected to a suitable control device, allowing to switch the lamp on, off and to regulate the illumination intensity. This control device, for example a simple OnOffSwitch, has a given set of functionalities, and must include at least one Notifica-tionFunctionality different from the mandatory StateChan-geNotificationFunctionality. The OnOffSwitch, in particular, is associated to a OnOffNotificationFunctionality instance. Such an instance is, by definition, connected to 2 notifica-tions: an OnNotification instance and an OffNotification in-stance. Both notifications can be associated to commands issued to the sample dimmer lamp by means of the generat-esCommand relation. So, if by pressing the button the lamp shall be switched off, it is sufficient to associate the button OnNotification with the lamp OffCommand; the same holds for the OffNotification. Figure 10 shows the corresponding model where relations supporting interoperability between the OnOffSwitch and the DimmerLamp are reported in bold.Figure 10. Interoperation between a OnOffSwitch and a Dimmer Lamp.IV. A UTOMATIC G ENERATION OF I NTEROPERATION R ULES To exploit the abstract model of interoperation provided by DogOnt (v1.0.3) the authors designed an automatic rule-generation mechanism that searches the controlledObject and the generatesCommand relationships inside a DogOnt house model and converts them into MVEL 7 rules directly executa-ble by DOG, through the DogRules bundle. In particular, rules are generated by an extended version of the House Model bundle, which is responsible for managing DogOnt house models in DOG. The automatic generation process is deployed as in Figure 11, and involves already exiting DOG bundles.Figure 11. Automatic generation of interoperation rules.During the DOG startup procedure (and whenever a con-figuration change occurs), the DogRules bundle queries the HouseModel bundle, which manages the DogOnt model of theenvironment, asking for available interoperation rules. In re-sponse to this request, the HouseModel queries its internal DogOnt model for device-to-device associations (Figure 12 re-ports the corresponding SPARQL 8 query).For each association, found by matching the existence of a controlledObject relation between devices, the set of Notifica-tion and associated Command instances is extracted (?n and 7MVEL is the standard notation adopted by the JBoss Rules engine (https:///products/rules/)8SPARQL is the standard query language for ontologies, since the 15th ofJanuary, 2008 it is a standard W3C recommendation.?c variables in Figure 12), and their values (?v and ?cv ) are stored. These values are then used to generate interoperation rules written in the MVEL syntax supported by DogRules. For each notification-command couple a new interoperation rule is defined: the notification value (?v ) becomes part of the rule antecedent and the command value (?cv ) is exploited in the rule consequent (Figure 13).Generated rules are provided back to the DogRules bun-dle, which asserts them inside its rule execution environ-ment. From the assertion until the retraction, which may happen at the DOG shutdown or in response to some user modification, rules are matched against DogMessages and, whenever they apply, the corresponding interoperation ac-tions are triggered. Example 2 We consider the OnOffSwitch – DimmerLamp association described in Example 1. By applying the SPARQL query de-fined in Figure 12, the translation process detects the follow-ing association: the OnNotification instance of the OnOff-Switch, with value “On” is connected with the OffCommand instance of the DimmerLamp, having “Off” as a value. This association is converted to a proper MVEL rule respecting thetemplate in Figure 13, where the variables ?v and ?cv are replaced by the “On” and “Off” values, respectively. When-ever the DogRules bundle receives a DogMessage sent by the OnOffSwitch, with a notification value “On” it generates a DogMessage directed to the DimmerLamp, carrying an “Off” command, thus implementing interoperation between the two devices, independently from the domotic network to which they belong. Figure 12. SPARQL query for gathering device-to-device interoperation in DogOnt models.Figure 13. Automatically generated interoperation rule, in MVEL syntax.V. I MPLEMENTATION AND R ESULTSThe proposed solution for automatic generation of device-to-device interoperation rules has been integrated in the DOG gateway as a new service implemented by the HouseModel bundle and consumed by the DogRules bundle. Interoperation has been tested on a real world benchmark involving two demo cases respectively equipped with a MyOpen and a KNX domotic system (Figure 14).Figure 14. The demo cases used in the experimentation.Starting from physical devices available in the two cases, associations have been defined between all the control (but-tons) and controllable (lamps) devices, always involving dif-ferent networks (i.e., MyOpen buttons have been associated to KNX lamps and viceversa). The total amount of automatically generated rules is 58 and corresponds to the notifica-tions/commands of available domotic devices: 27 different devices with either 2 or 3 possible states. DogOnt associations have always been successfully mapped into MVEL rules, and generated rules provided expected interoperation results.The time occurring between the rule-generation request, sent by the DogRules bundle, and the final assertion of rules in the runtime execution environment is always in the range of few milliseconds, thus confirming the feasibility of the ap-proach. More extensive experimentation is needed to confirm the approach scalability. However, the adopted SPARQL que-rying mechanism derives from the Semantic Web research domain, and has proven capable of dealing with models often involving billions of RDF triples, whereas big DogOnt models are likely to involve no more than few thousands triples.VI. R ELATED W ORKSDifferent approaches have been developed, in the literature, to solve the issues related to the interoperation problem, how-ever they are mainly devoted at supporting home/building-wide integration of domotic plants, smart appliances and wire-less sensor networks. Few works tackle simple device-to-device inter-plant communication and they are mainly imple-mented as 1-to-1 protocol bridges. Among the related ap-proaches available in the literature, Moon et al. [10] worked on the Universal Middleware Bridge (UMB) for allowing in-teroperability between domotic networks. UMB adopts a cen-tralized architecture similar to the DOG approach, where each device/network is wrapped by a proper UMB Adaptor. The Adaptor converts device-specific communication protocols and data (status, functions, etc.) into a global, shared represen-tation which is used for providing network-level interoperabil-ity. Differently from the approach adopted by DOG, devices are described and abstracted by means of a Universal Device Template, without any attached formal semantics. The home server, in UMB, is seen more as a router, correctly delivering messages between different networks, than as an intelligent component able to integrate different devices and domotic plants. On the converse, DOG supports an integrated approach where devices and domotic networks are seen as part of a sin-gle complex system, and interoperation is explicitly supported by means of automatically generated rules.Sumi Helal et al. [11] worked on the Gator Tech Smart House, located in Gainesville, Florida. In their approach, net-work-level interoperation is tackled at the device level, with a very distributed approach. Each device, in the Gator Tech Smart House, is represented by an OSGi bundle, either located on the device, if sufficient computational power is available, or deployed at a “surrogate node”, such as a home PC. Inter-operation is completely delegated to applications that can combine different sensors and actuators, located in the smart home, in a single logic system, e.g., energy management. Sev-eral device groups can coexist at the same time and the same physical device can take part in more than one application. The main advantage of this approach, with respect to auto-matic interoperation based on DogRules, is the distributed nature of the solution, which allows combining devices into many overlapping and interacting systems. However, loose coupling of devices and networks implies high costs, as de-vices shall pervade the whole home environment, and they are often custom built.Tokunaga et al. [12] defined a device-level interoperability solution, which tackles the problem of switching from 1-to-1 protocol bridges to 1-to-many conversions. In their approach, home computing middleware abstract/control physical de-vices, allowing to coordinate several devices and/or appli-ances without a specific notion of used networks and proto-cols. Conversion between protocols is done by means of so-called Protocol Conversion Managers, which translate local information into a newly defined Virtual Service Gateway protocol. The main shortcomings of this approach, with re-spect to automatic interoperation within DOG, are: replication, as any appliance needs a service proxy for interacting with the other appliances, absence of a formal model allowing to de-fine network independent interoperation policies, delegation of device-to-device interoperation to applications.The Amigo interoperability framework [13] defines a de-vice-level solution supporting interoperation between different appliances and devices by exploiting the so-called Amigo core. The Amigo core component models devices as services and offers a transparent interoperability layer that acts both at。