逆向工程测量系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
逆向工程
引言
在工程技术人员的一般概念中,产品设计过程是一个从无到有的过程: 设计人员首先构思产品的外形、性能和大致的技术参数等,然后利用CAD技 术建立产品的三维数字化模型,最终将这个模型转入制造流程,完成产品的 整个设计制造周期。这样的产品设计过程我们可以称之为“正向设计”。 逆向工程则是一个“从有到无”的过程。简单地说,逆向工程就是根 据已经存在的产品模型,反向推出产品的设计数据(包括设计图纸或数字模 型)的过程.随着计算机技术在制造领域的广泛应用,特别是数字化测量技 术的迅猛发展,基于测量数据的产品造型技术成为逆向工程技术关注的主要 对象。通过数字化测量设备(如坐标测量机、激光测量设备等)获取的物体 表面的空间数据,需要经过逆向工程技术的处理才能获得产品的数字模型, 进而输送到CAM系统完成产品的制造。
逆向工程研究方法
现有的逆向工程分析方法主要有以下4种。 (1)词法分析和语法分析 该方法主要是对程序源码进行分析,已经发展得比较成熟。通过词法分析可 以得到程序信息的多种有用表示,其中最常用的是交叉引用列表。通过语法 分析可以得到两类表示:分析树(parse tree)、抽象语法树AST(abstract syntaxtree),其中AST是更复杂的程序分析工具基础,包含了和程序的实际 内容相关的细节。 (2)图形化方法 图形化方法包括控制流分析、数据流分析以及程序依赖图。控制流分析是在 确定程序语法结构之后进行。控制流分析有两种形式:过程内 (intraprocedural)分析、过程间(in-terprocedural)分析。过程内分析能确定子 程序内语句的执行顺序,通过构建控制流图 CFG(control flow graph)进行。 过程间分析确定程序单元之间的调用关系,用调用图(cangraph)表示。数据 流分析关注于解决程序中从定义到使用的过程的相关问题,比控制流分析要 复杂得多。程序依赖图是数据流分析的进一步改进,比数据流分析更复杂。 在程序依赖图中,控制流和数据流依赖被放在一起处理。如果同时需要控制 流图和数据流图,使用程序依赖图就很方便。程序依赖图还具有这样的结构 特性:一个程序依赖图描述了一个控制依赖的区域。
(4)曲面处理过程:决定所要创建的曲面类型,可以选择创建的曲面以精 确为主或以光滑为主,或两者居中;由点云或曲线创建曲面;检查/修改 曲面,检查曲丽与点或其它曲面或特征的精确度、平滑度与连续的相关性。
(5)误差分析:应该考虑被测物对机构引起的综合轨迹误差、逆向工程设 计所依据的数据值存在的测量误差、设计中的被测物存在的加工误差、设 计中的曲线拟合存在的拟合误差等方面。
(3)程序切片 切片技术来源于数据流分析方法,己经成为很多程序理解工具的基础。 一个程序切片是由程序中的一些语句和判定表达式组成的集合。这些语 句和判定表达式可能会影响在程序的某个位置(常用行号标识)上所定义 或使用的变量的值。利用切片技术可以将关注点确定在一个较小范围而 不是关注整个程序。 (4)动态分析 静态分析是对程序源码进行分析。动态分析则是在程序运行时进行分析, 基本方法是对程序进行植入。程序植入是一种在全局范围内更改源代码 以添加额外操作的过程。这种方法的主要原理是:利用代码的结构信息, 依据固定的规则,将软件触发器添加到代码中。所谓软件触发器,是指 在源程序的相应位置添加的一些代码,运行时由这些代码按特定协议将 指定的动态信息传递到指定位置或传递给动态信息收集机制。对于使用 动态绑定和多态的面向对象系统,动态分析是必需的。
正向工程:从高层抽象和独立于实现的逻辑设计到一个系统的物理实现的传 统开发过程。 逆向工程:分析目标系统,认定系统的构件及其交互关系,并且通过高层抽 象或其它形式来展现目标系统的过程。
c)再文档:主要是在同一抽象层次做语义等价描述,实际上是逆向工程的 一种简单形式; d)设计再现:利用领域知识和外部信息在较高抽象层次产生系统的等价描 述,这样要使用除了源代码外的很多信息; e)重构:在同一抽象层次把系统从一种表示方式转换到另一种表示方式, 一个重要方面是新系统和原始系统的语义行为应该一样,而且功能也不 能变; f)再工程:目的是研究系统,产生较高抽象层次描述,增加新功能到这个描 述,使用正向工程技术在原始系统的基础上开发一个新系统。
逆向工程分类
从广义讲,逆向工程可分以下三类。
(1)实物逆向:顾名思义,它是在已有实物条件下,通过试验、测绘和分 折。提出再创造的关键;其中包括功能逆向、性能逆向、方案、结构、材质、 精度、使用规范等多方面的逆向。实物逆向对象可以是整机、部件、组件和 零件。 (2)软件逆向:产品样本、技术文件、设计书、使用说明书、图纸、有关 规范和标准、管理规范和质量保证手册等均称为技术软件。软件逆向中有三 类情况:1)既有实物,又有全套技术软件;2)有实物而无技术软件;3)无实 物,仅有全套或部分技术软件。 (3)影像逆向:无实物,无技术软件,仅有产品相片、图片、广告介绍、 参观印象和影视画面等,要从其中去构思、想象来逆向,称为影像逆向,这 是逆向对象中难度最大的。影像逆向本身就是创新过程。目前还未形成成熟 的技术。一般要利用透视变换和透视投影.形成不同透视图,从外形、尺寸、 比例和专业知识,去琢磨其功能和性能,进而分析其内部可能的结构。
g)体系结构再现:用于从源码、性能分析信息、设计文档及专家知识等现 有信息中抽象出一个更高层次表示的技术和过程。
它们之间的关系如图所示:
逆向工程流程图
逆 向 工 程 应 用 流 程 图
逆向工程技术流程
(1)逆向工程是以一个物理零件或模型作为开始,进而决定下游工程。 (2)点处理过程:主要包括多视点云的拼合、点云过滤、数据精简和点云 分块等。 (3)曲线处理过程:决定所要创建的曲线类型。曲线可以设计得与点的片 段相同,或让曲线更光滑些;由已存在的点创建出曲面;检查/修改曲线, 检查曲线与点或其它曲线的精确度、平滑度与连续的相关性。
逆向工程,有的人也叫反求工程、反向工程(Reverse Engineering,RE), 是20Hale Waihona Puke Baidu纪80年代末期发展起来的一项先进制造技术,是以产品及设备的实 物、软件(图样、程序及技术文件等)或影像(图片、照片等)为研究对 象,反求出初始的设计意图。简单地说,就是指用一定的测量手段对实物 或模型进行测量,根据测量数据通过三维几何建模方法重构实物的CAD模型 的过程,是一个从样品生成产品数字化信息模型,并在此基础上进行产品设计 开发及生产的全过程。 在软件工程领域,迄今为止没有统一的逆向工程定义。较为通用的是Elliot Chikafsky和Cross在文献中定义的逆向工程的相关术语。
相关文档
最新文档