主要内容

保护模型隐藏内容

当你想要与第三方分享一个模型没有揭示知识产权,保护模型。保护一个模型隐藏实现细节的原始模型编译成一个参考模型。受保护的模型包括导出文件来支持您指定的可选功能。

当你保护一个模型,你可以允许用户受保护的模型:

  • 模拟模型,包括保护模型在正常,加速器,或者快速加速模式。

  • 打开一个只读的web视图模型,包括模型内容和块参数。创建一个只读的web视图模型的需要动态仿真模块®报告生成器™

  • 生成代码模型,包括保护模型。

  • 生成HDL代码模型,包括保护模型。

  • 生成代码的保护模型通过独立的接口,如果你有嵌入式编码器®并指定一个ERT-based系统模型的目标文件。

您可以选择密码保护每个选项。如果你choose-password保护这些选项之一,软件保护使用aes - 256加密的支持文件。

当您创建一个受保护的模型:

  • 模型创建和存储模型的一个受保护的版本的文件名称相同的源模型,用一个.slxp扩展。

  • 最初的模型文件,.slx扩展,不会改变。如果你通过保护模型模型块,模型块不会改变。

  • 可选地,模型创建一个项目档案(.mlproj)包含受保护的模型,利用模型的保护模型,和其他支持文件。

这个例子展示了如何创建一个保护从引用的只读模式查看模型,模拟或代码生成。

父母准备模型

配置模型在父块模型参考引用的原始模型。这一步阻止了模型块成为保护引用当您创建保护模型。

  1. 打开父母模型,引用你想保护的模式。对于这个示例,打开模型sldemo_mdlref_basic

  2. 运行工作流模型的创建一个本地副本sldemo_mdlref_counter你想保护。然后,您可以创建一个本地副本的父母模型sldemo_mdlref_basic。你必须保存父模型作为参考模型在相同的文件夹。

  3. 打开sldemo_mdlref_basic模型保存在本地。确保模型CounterA,CounterB,CounterC引用sldemo_mdlref_counter模型保存在本地。

  4. 为每一个模型块,打开块参数对话框中,指定扩展名.slx模型名称字段。当模型和保护模型存在于相同的文件夹,.slxp优先于.slx。如果你不指定一个扩展,那么原始模型块模式指的是保护模型代替原模型。点击好吧

保护引用模型

  1. sldemo_mdlref_basic模型中,单击任何三个模型块。在仿真软件上将来发布模型块选项卡上,单击保护

    对话框创建保护模型

  2. 在创建保护模型对话框中,选择模拟使用生成的代码复选框。这些选项允许用户受保护的模型来模拟和生成代码模型引用保护模型。如果你想密码保护的功能保护模型,输入一个密码至少8个字符。每个选项都可以有一个独特的密码。

  3. 如果你有嵌入式编码器和指定一个ERT-based系统目标文件(例如,ert.tlc)为模型,代码接口字段是可见的。

    在这个例子中,sldemo_mdlref_basic不指定一个ERT-based目标文件系统,因此,代码接口选项不可用在对话框中创建保护模型。

    代码接口下拉列表中,选择其中一个选项:

    • 模型参考通过模型——指定代码访问参考代码接口,它允许使用受保护的层次结构模型在模型参考。保护模式的用户可以从母公司模型生成代码,其中包含受保护的模式。用户可以运行模型块硅/公益诉讼与保护模型模拟。

    • 顶级模特——指定代码访问通过独立的接口。用户可以运行的保护模型模型块硅/公益诉讼与保护模型模拟。

  4. 内容类型列表中,选择混淆的源代码隐藏源代码保护的目的和逻辑模型。模型保护选项的更多信息,请参阅内容类型

  5. 扩大可调参数的仿真部分保护模型,并选择你想要的参数,用户能够在模拟优化。

    对于代码生成、参数与非自动存储类是可调的。有关更多信息,请参见存储类用于模型的参数和信号块

  6. 目标文件夹框,指定保护的文件夹路径模型。默认值为当前的工作目录。

  7. 自动收集、创建和打包与保护模式,支持文件集内容保护模型(.slxp)项目和依赖关系

    请注意

    在共享项目之前,检查项目是否包含必要的支持文件。如果支持文件丢失,模拟或利用相关模型生成代码可以帮助识别它们。失踪的依赖项添加到项目,并根据需要更新利用模型。

  8. 设置内容保护模型(.slxp)项目和依赖关系选择为保护创建利用模型模型复选框。利用模型包含在项目和提供了一个孤立的环境模型块引用保护模型。

    利用模型与模型块引用sldemo_mdlref_counter.slxp保护模型。

  9. 进一步定制您的保护模式,您可以:

  10. 点击创建

    一个项目存档(.mlproj)包含受保护的模型,利用模型,支持文件出现在指定的目标文件夹。测试保护模型,提取项目档案的内容通过双击它在当前浏览器并指定目标文件夹的文件夹。另外,右键单击项目归档文件并单击这里提取。项目打开时,和提取的文件在一个新文件夹命名项目归档。

  11. 当您创建仿真软件的保护模型编辑器,一个受保护的模型生成报告,包括保护模型的一部分。对于这个示例,查看报告的保护模型,双击保护模型或右键单击protected-model徽章图标块在利用模型和选择报告显示

    为sldemo_mdlref_counter保护模型报告。

    报告包含:

    • 一个总结,包括如下表:

      • 环境,提供了仿真软件平台版本和其他产品版本和用于创建保护模型。

      • 支持的功能、报告,,或用密码保护对于每一个可能的功能模型支持保护。如果你为多个目标配置保护模型,此表包括一个支持的目标列表。

    • 一个接口报告,包括模型接口等信息输入和输出规范,信息导出功能,接口参数和数据存储。

    报告不包含其他部分,出现在一个不受保护的代码生成报告模型,如代码度量和可跟踪性报告,因为这些报告包括更多信息模型的设计。

  12. 您可以测试保护模型比较原始模型。有关更多信息,请参见测试保护模型

  13. 使用受保护的模型在模型层次结构,通过引用它模型块如一个包含在利用模型。的模拟模式模型块将引用一个保护模型加速器。你不能改变模式。有关更多信息,请参见参考模型来自第三方的保护

其他方法保护模型

创建一个受保护的模型从当前模型,使用这些选项之一:

  • 在仿真软件上将来发布模拟选项卡上,单击保存按钮箭头,然后选择保护模式

  • 在仿真软件上将来发布C代码选项卡上,单击分享按钮箭头,然后选择生成保护模型

以编程方式创建一个受保护的模型,使用Simulink.ModelReference.protect函数。

保护模型要求和限制

当您创建一个受保护的模型,考虑下面这些要求:

  • 你必须有一个仿真软件编码器™或高密度脂蛋白编码器™创建一个保护模型的许可证。

  • MATLAB模型必须是可用的®路径。

  • 模型不能有未保存的更改。

  • 模型使用配置期间积极保护。你不能改变配置的保护模式。

  • 如果模型包含变异,保护模型只包含积极的变异在保护。

  • 模型保护过程不保存回调。更多信息关于创建回调使用受保护的模型,看看为保护模型定义回调

  • 不重命名保护模式或改变其后缀。如果你这样做,该模型无法使用,直到你恢复其原始名称和后缀。

  • 使用一个唯一的名称它引用的模型和模型。如果一个受保护的模型参考模型,股票名称不同的保护模式或一个不同的模型层次结构内的另一个保护模型,使用受保护的模型有局限性。如果一个顶级模特引用两种保护模式,这种命名冲突,你无法保护模型,生成代码的高级模式,或模拟模型顶部software-in-the-loop(银),processor-in-the-loop(公益诉讼),或快速加速模式。

  • 如果你的模型包括一个非内联函数,对.MEX文件使用一个唯一的名称。如果有一个名字冲突有不同的MATLAB .MEX文件路径,你不能模拟保护模型。

中列出的模型必须满足要求模型参考需求和限制

代码生成的需求和限制

创建一个保护模式,支持代码生成,被保护的模型必须满足这些要求:

  • 模型必须使用正常,加速器,software-in-the-loop(银),或processor-in-the-loop公益诉讼模式和一个目标。

  • 这个模型必须不包括noninlined S-functions。

  • 该模型必须没有代码生成>验证>测量函数的执行时间配置参数选择。如果这个选项被选中时保护模型,软件关闭参数并显示一个警告。

  • 保护引用模型必须支持代码生成没有密码保护。

  • 模型必须兼容内容类型每个受保护的参考模型。这个表提供兼容性信息。

    代码生成内容类型兼容性

    保护父母模型内容类型 兼容的保护模型内容引用类型
    二进制文件
    • 二进制文件

    • 混淆的源代码

    二进制文件“ObfuscateCode”设置为“假”
    • 二进制文件

    • 二进制文件“ObfuscateCode”设置为“假”

    • 混淆的源代码

    • 可读的源代码

    混淆的源代码
    • 混淆的源代码

    可读的源代码
    • 混淆的源代码

    • 可读的源代码

    内容类型父母的保护模型和保护引用模型不匹配,代码生成应用内容类型提供了更高层次的保护。例如,一个父模式设置为保护二进制文件生成二进制文件为保护模型,设置为引用混淆的源代码。一个受保护的父模型集可读的源代码生成混淆的源代码为保护模型,设置为引用混淆的源代码

为了避免错误在代码生成模型,该模型包括一个保护模式:

  • 受保护的模型名称必须是唯一的从其他层次结构模型名称相同的模型参考。

  • 必须匹配的接口。

  • 参数必须一致。

嵌套模型的需求和限制保护

使接受者保护模型的保护模型,引用它,你的保护模型必须:

  • 支持加速器模式。您必须选择模拟在创建模型对话框或保护组“模式”“加速器”“CodeGeneration”使用Simulink.ModelReference.protect函数。

  • 使用默认的“CodeInterface”设置:“模型参考”

  • 不使用密码保护的仿真。

  • 没有回调。

  • 没有密码保护的操作保护父母的支持模型旨在支持。

  • 使用一个内容类型这是符合预期的内容类型如果受保护的父母的父母保护模型模型旨在支持代码生成。对于一个兼容列表内容类型选项,看到桌子上在前面的部分。

  • 使用相同的编译器保护父母模型旨在使用。

  • 不参考模型,股票名称不同的保护模式或另一个保护的层次结构模型中不同的模型。

如果你想要保护的模型,引用一个受保护的模型,引用的保护模型必须满足以上要求。

当你保护模型,引用一个受保护的模式,您必须指定的可调参数引用的保护模型作为可调模型你保护。

请注意

一个受保护的模型创建的使用生成的HDL代码选项选择允许加密和支持模拟和HDL代码生成模型引用保护模型。你不能混淆HDL的源代码,有回调,或者使用嵌套的保护模型与此选项。更多地了解HDL代码生成的局限性,明白了保护模型限制HDL代码生成(高密度脂蛋白编码器)

相关的话题

Baidu
map