CN107016150A - 具有定量修剪和排序的设计空间探索的系统和方法 - Google Patents
具有定量修剪和排序的设计空间探索的系统和方法 Download PDFInfo
- Publication number
- CN107016150A CN107016150A CN201611043598.8A CN201611043598A CN107016150A CN 107016150 A CN107016150 A CN 107016150A CN 201611043598 A CN201611043598 A CN 201611043598A CN 107016150 A CN107016150 A CN 107016150A
- Authority
- CN
- China
- Prior art keywords
- component
- model solution
- component model
- functional mode
- behavior
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013461 design Methods 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000009966 trimming Methods 0.000 title abstract description 26
- 230000006399 behavior Effects 0.000 claims description 119
- 230000006870 function Effects 0.000 claims description 82
- 230000000007 visual effect Effects 0.000 claims description 17
- 238000013500 data storage Methods 0.000 claims description 15
- 230000000712 assembly Effects 0.000 claims description 7
- 238000000429 assembly Methods 0.000 claims description 7
- 239000004744 fabric Substances 0.000 claims 1
- 239000003973 paint Substances 0.000 claims 1
- 230000001737 promoting effect Effects 0.000 abstract description 5
- 230000009471 action Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 21
- 238000010276 construction Methods 0.000 description 20
- 230000003542 behavioural effect Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 17
- 238000003860 storage Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 238000012800 visualization Methods 0.000 description 11
- 238000004088 simulation Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 239000000126 substance Substances 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000005611 electricity Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000005662 electromechanics Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 206010052428 Wound Diseases 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000000454 anti-cipatory effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 210000003739 neck Anatomy 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
Abstract
提供一种促进具有定量修剪和排序的设计空间探索的系统和方法。所述系统可以针对要被产生的系统而确定与具有功能模型端口的功能模型相对应的组件模型解决方案的集合。所述组件模型解决方案包括至少部分基于仿真组件的组件端口与功能模型的功能模型端口之间的对应性而从组件库中选择的仿真组件。所述系统可以从所述集合中选择组件模型解决方案的子集,所述组件模型解决方案具有与针对功能模型确定的行为一致的针对每个组件模型解决方案确定的行为。所述系统可以基于针对每个组件模型解决方案的行为与彼此和/或针对功能模型确定的行为的比较来确定所述子集的组件模型解决方案相对于彼此的排序。
Description
技术领域
本公开总体上针对用于用来产生、使用和管理针对产品和其他项目的数据的多领域(multi-domain)系统(例如液压、气动、热学、电气和/或机械系统)、计算机辅助设计(CAD)、计算机辅助工程(CAE)、可视化、和制造系统、产品数据管理(PDM)系统、产品生命周期管理(PLM)系统、应用生命周期管理系统(ALM)和类似系统(在本文中被总体称为产品系统)的建模和分析的仿真软件。
背景技术
产品系统可以包括促进仿真多领域系统的特征。这样的产品系统可以受益于改进。
发明内容
各种公开的实施例包括处理系统和方法,所述处理系统和方法可被用来促进经由具有定量(quantitative)修剪和排序的设计空间探索来生成表示多领域系统的功能操作的组件模型解决方案。
在一个示例中,一种处理系统可以包括至少一个处理器。所述至少一个处理器可以被配置成针对要被产生的系统而确定与具有功能模型端口的功能模型相对应的组件模型解决方案的集合。所述组件模型解决方案可以包括至少部分基于仿真组件的组件端口与功能模型的功能模型端口之间的对应性通过所述至少一个处理器的操作从至少一个组件库中选择的仿真组件。此外,所述至少一个处理器可以被配置成从所述集合中选择组件模型解决方案的子集,所述组件模型解决方案具有与针对功能模型确定的行为一致的针对每个组件模型解决方案确定的行为。而且,所述至少一个处理器可以被配置成基于针对每个组件模型解决方案的行为与彼此和/或针对功能模型确定的行为的比较来确定所述子集的组件模型解决方案相对于彼此的多个排序。此外,所述至少一个处理器可以被配置成促使显示设备输出来自所述多个排序中的最高排序的组件模型解决方案的视觉表示,其中所述视觉表示在视觉上描绘形成组件模型解决方案的仿真组件。
在另一示例中,一种方法可以包括通过至少一个处理器的操作实施的各种动作。这样的方法可以包括针对要被产生的系统而形成与具有功能模型端口的功能模型相对应的组件模型解决方案的集合。所述组件模型解决方案可以包括至少部分基于仿真组件的组件端口与功能模型的功能模型端口之间的对应性通过所述至少一个处理器的操作从至少一个组件库中选择的仿真组件。该方法还可以包括从所述集合中选择组件模型解决方案的子集,所述组件模型解决方案具有与针对功能模型确定的行为一致的针对每个组件模型解决方案确定的行为。此外,该方法可以包括基于每个组件模型解决方案的行为与彼此和/或针对功能模型确定的行为的比较来确定所述子集的组件模型解决方案相对于彼此的多个排序。此外,该方法可以包括促使显示设备输出具有来自所述多个排序中的最高排序的组件模型解决方案的视觉表示,其中所述视觉表示在视觉上描绘形成组件模型解决方案的仿真组件。
另外的示例可以包括编码有可执行指令(诸如存储设备上的软件组件)的非瞬时计算机可读介质,所述可执行指令当被执行时促使至少一个处理器实施该描述的方法。
前述内容已经相当广泛地概述了本公开的技术特征,以使得本领域技术人员可以更好地理解接下来的详细描述。将在下文中描述形成权利要求主题的本公开的附加特征和优点。本领域技术人员将会认识到他们可以容易地使用所公开的概念和具体实施例作为用于修改或设计用于实施本公开的相同目的的其他结构的基础。本领域技术人员还将认识到这样的等效构造不脱离本公开的其最广泛形式的精神和范围。
在进行下面的详细描述之前,阐述可遍及该专利文档使用的某些词或短语的定义可能是有利的。例如,术语“包括”和“包含”以及其派生词意指包括而非限制。单数形式“一”、“一个”、和“该”旨在也包括复数形式,除非上下文以其他方式明确指出。此外,如本文中使用的术语“和/或”指代并包括相关联的所列出的项目中的一个或多个的任何和所有可能组合。术语“或”是包括性的,意指和/或,除非上下文以其他方式明确指出。短语“与…相关联”和“与之相关联的”以及其派生词可以意指包括、被包括在内、与…互连、包含、被包含在内、连接到…或与…连接、耦合到…或与…耦合、可与…通信、与…协作、交错、并置、接近于、绑定到…或与…绑定、具有、具有…属性等等。
而且,尽管术语“第一”、“第二”、“第三”等等在本文中可被用来描述各种元件、功能或动作,但是这些元件、功能或动作不应该被这些术语限制。相反,这些数字形容词被用来与彼此区分不同的元件、功能或动作。例如,在不背离本公开的范围的情况下,第一元件、功能或动作可以被称为第二元件、功能或动作,并且类似地,第二元件、功能或动作可以被称为第一元件、功能或动作。
此外,诸如“处理器被配置成”实施一个或多个功能或过程之类的短语可以意指处理器被操作地配置成或被可操作地配置成经由软件、固件和/或有线电路实施功能或过程。例如,被配置成实施功能/过程的处理器可以与执行被编程为促使处理器实施该功能/过程的软件/固件的处理器相对应,以及/或者可以与具有可用于由处理器执行以实施该功能/过程的存储器或存储设备中的软件/固件的处理器相对应。还应该注意,“被配置成”实施一个或多个功能或过程的处理器还可以与被特别制造或“连线”以实施该功能或过程的处理器电路(例如ASIC或FPGA设计)相对应。此外,在被配置成实施多于一个功能的元件(例如处理器)之前的短语“至少一个”可以与每个都实施功能的一个或多个元件(例如处理器)相对应,并且还可以与分别实施一个或多个不同功能中的不同功能的元件(例如处理器)中的两个或更多个相对应。
术语“邻近”可以意指:元件相对较近但是不与另外的元件接触;或者该元件与另外的部分接触,除非上下文中以其他方式明确指出。
遍及该专利文档提供针对某些词和短语的定义,并且本领域普通技术人员将会理解这些定义应用于这样定义的词和短语的先前以及将来使用的许多(如果不是大多数的话)实例。尽管某些术语可以包括各种各样的实施例,但是所附权利要求可以明确地将这些术语限制到具体实施例。
附图说明
图1图示促进生成表示多领域系统的功能操作的排序的组件模型解决方案的示例系统的功能框图。
图2图示在视觉上以树结构表示的设计空间扩展的示例。
图3图示具有修剪的节点/分支的设计空间扩展树结构的示例。
图4图示在利用排序的组件模型解决方案进行修剪之后的设计空间扩展树结构的示例。
图5图示具有折叠/展开的太阳能板的卫星结构的示例。
图6图示功能模型的示例。
图7图示仿真组件库的示例。
图8图示在视觉上被表示为树结构的组件模型解决方案的集合。
图9图示用于组件模型解决方案的仿真组件和相关联连接的示例。
图10图示在修剪之后的组件模型解决方案的集合。
图11图示排序的组件模型解决方案的集合。
图12图示促进生成表示多领域系统的功能操作的排序的组件模型解决方案的示例方法的流程图。
图13图示其中实施例可以被实现的数据处理系统的框图。
具体实施方式
现在将参考附图来描述关于用于生成组件模型的系统和方法的各种技术,其中相同附图标记遍及全文表示相同元件。下面讨论的附图以及被用来在本专利文档中描述本公开的原理的各种实施例仅以说明的方式并且不应该以任何方式解释成限制本公开的范围。本领域技术人员将会理解,可以以任何适当布置的装置来实现本公开的原理。要理解,被描述为由某些系统元件实施的功能可以由多个元件来执行。类似地,例如,元件可以被配置成执行被描述为由多个元件实施的功能。将参考示例性非限制实施例来描述本申请的许多创新教导。
参考图1,图示促进生成组件模型解决方案的示例处理系统100。该处理系统100可以包括至少一个处理器102,其被配置成执行来自被处理器访问的存储器的至少一个应用软件组件104。该应用软件组件可以被配置(即编程)为促使该处理器实施本文所述的各种动作和功能。例如,所述应用软件组件104可以包括仿真和分析工具(诸如西门子 LMS想象实验室Amesim和/或System Synthesis(系统合成))或促进表示多领域系统的操作的仿真模型的设计的任何其他工具的模块和/或与该模块相对应。
所述应用软件组件104可以包括一个或多个软件组件(在本文中也被称为模块),其促进生成指定用于实施功能模型设计的不同组件集(例如电气、机械组件)的若干候选仿真。用于特定功能模型设计的这样的候选仿真在本文中被称为组件模型解决方案。
例如,所述应用软件组件104可以包括设计树扩展模块122、设计树修剪模块124和设计树排序模块126,其促进这样的组件模块解决方案的生成、修剪和排序。然而,应该认识到,由分离的软件组件/模块实施的本文描述的特征可以由较少的软件组件/模块和/或单个软件组件/模块来实施。而且,由单个所述软件组件/模块实施的特征可以由彼此通信的两个或更多软件组件/模块来实施。
在示例实施例中,设计树扩展模块122可以被配置成促使处理器102从数据存储区110访问仿真组件106的一个或多个库。这样的数据存储区110可以与存储器、文件系统、数据库、存储设备、服务器、应用或可操作用来存储和提供对仿真组件和功能模型的访问的任何其他组件中的一个或多个相对应。
所访问的仿真组件106可以与仿真关联于流体、热力学、电学、机电、机械、信号处理和计算机的单独的物理组件的可重新使用的软件程序以及用于冷却系统、空气调节、内燃机、航空航天和其他物理系统的应用库相对应。仿真组件的示例包括仿真电动机、电阻器、变压器、电池、活塞、内燃机、热交换器、泵、阀、齿轮、凸轮和/或具有可以经由软件建模的行为的其他物理组件的操作的软件程序。这样的仿真组件还可以包括仿真软件组件和应用的操作的可重新使用软件程序。此外,在一些示例中,本文描述的仿真组件可以与它们本身可用于构建期望的系统的一个或多个部分的可重新使用的软件组件相对应。
西门子 LMS想象实验室Amesim软件/工具例如包括可由设计树扩展模块122访问的数千个专用仿真组件的库。然而,应该理解,可以从一个或多个其他仿真软件/工具(诸如MathWorks Simulink) 或提供对物理组件的操作进行建模的仿真组件库的任何其他工具访问仿真组件。
而且,应该认识到,设计树扩展模块122的示例实施例可操作用来询问已知和/或先前未知的仿真组件库以确定:可用的各种类型的仿真组件;可将这样的仿真组件连接到一起的方式;每个仿真组件的相关联行为;和/或仿真/软件工具之间的协同仿真能力。
在一个示例实施例中,设计树扩展模块122所访问的仿真组件可以符合强类型端口系统。这样的端口系统可以与组件的具体输入/输出接口(被称为端口)112相对应,其接收输入并提供代表与组件的功能操作相关联的信号或功率的转移的数据的输出。提供这样的强类型仿真组件的仿真软件/工具(诸如西门子 LMS想象实验室Amesim)可以使得设计者能够将一个组件的输入端口连接到另一组件的输出端口以形成系统的仿真多组件模型。当被仿真软件/工具执行时,系统的这样的组件模型能够提供与这样的系统的真实世界实现方式一致的操作数据(即行为)。
例如,用于马达的仿真组件可以包括输入端口,其表示接收代表电能(EE)的流动的数据的组件的接口。这样的仿真马达组件还可以包括输出端口,其表示提供代表由仿真马达的轴提供的所得到的旋转机械能(RME)的数据的接口。此外,仿真马达组件可以包括编程,其基于代表电功率的流动的输入数据计算代表轴的动态旋转的数据。
为了手动设计描绘具有这样的仿真马达的系统的示例组件模型,仿真软件/工具可以被设计者用来手动指定仿真马达和其他仿真组件之间的连接。所得到的组件模型指定仿真组件集以及它们彼此间的相应连接。然后组件模型可以被存储在数据存储区中并由仿真工具执行以便分析所设计的系统的行为。
例如,可以设计组件模型,其指定:仿真电池的电能输出端口被连接到仿真马达的电能输入端口;以及仿真马达的旋转输出端口被连接到仿真泵的旋转输入端口。而且,应该注意,仿真软件/工具可以被配置成不允许仿真电池的电能输出端口被连接到仿真泵的转子输入端口,因为端口类型不是相同类型。
如本文所使用的,强类型端口系统与仿真组件库相对应,其中它们相应的输入和输出端口接收并输出跨多个组件一致的预定格式的数据。因此,诸如仿真马达之类的电子设备可以包括用于接收代表电能的数据的输入端口,而仿真电池包括用于输出代表电能的数据的输出端口,所有这些数据具有描述组件的电能的有关电气特性(例如电压、电流)的相同预定格式。强类型端口格式的示例包括:线性端口、旋转端口、绳索(rope)端口、信号端口、流端口、电气端口、热端口、磁端口、meca2d端口(用于运送2d位移、速度、加速度、力矩、力)、和地球数据通讯端口(geocom)(用于传送蒸发器和冷凝器的几何数据)或定义针对发射功率或信号的输入/输出的数据的任何其他类型的端口。
在示例实施例中,设计树扩展模块122还可以被配置成促使处理器102从数据存储区110访问一个或多个功能模型108。这样的功能模型与基于模型的系统工程定义相对应,该基于模型的系统工程定义对应于期望系统的功能框图。该功能模型可以表示描述期望或可容许行为族的动词-名词函数曲线图的行为对应物。
在示例实施例中,功能模型108可以在不指定组件的情况下描绘定义系统将实施的各种功能的块(例如经由框)。功能模型还可以包括功能模型的块之间的链接(例如经由线),其示出块的输入/输出端口114之间的连接。这样的输入/输出端口可以指定在构成功能模型的功能块之间的功率和信号的传输。
例如,功能模型108可以由设计者使用通用流程图工具(诸如Microsoft Visio)或能够生成块(与功能相对应)和框之间的链接(与符合前述严格端口类型系统的端口的连接相对应)来生成。此外,可以由建模软件/工具(诸如西门子 LMS想象实验室系统合成)或使得用户能够以符合严格端口类型系统的方式图形地绘制用于期望系统的功能需求的其他工具来生成功能模型108。
在示例实施例中,设计树扩展模块122可操作成访问先前存储在数据存储区(例如Microsoft Visio文件)中的功能模块并且根据该模块确定定义期望系统的各种功能和该功能的端口之间的连接。此外,所述应用软件组件104可操作成访问存储在功能模型中的附加数据,诸如定义针对功能模型的约束和/或期望行为的数据。
设计树扩展模块122的示例实施例可以被配置成利用功能模型108中的功能的端口类型与(库128中可用的)仿真组件106的端口类型之间的对应性,以便确定可以能够实施在功能模型中定义的功能的(从库访问的)仿真组件。此外,设计树扩展模块122可操作成确定与来自组件库128的仿真组件106相关联的行为元数据(例如文本功能描述130)和/或组件本身,其可用来选择能够履行功能模型108所指定的功能的组件。
利用这些仿真组件(经由端口类型和可选文本描述数据选择的)以及功能之间的连接和由功能模型指定的其他数据,设计树扩展模块122可操作成实施设计空间扩展以便确定不同组件模型解决方案116的集合146。这样的组件模型解决方案均包括仿真组件集,所述仿真组件集被配置成(即经由其端口有线连接在一起)实施由功能模型108针对要被生成的系统指定的功能。
应该注意,用于仿真组件106的库的端口系统的软件实现方式可能与在功能模型108中使用的端口系统不同,这取决于在示例实施例中使用的功能建模软件和组件库。然而,只要端口系统至少部分地彼此同构,设计树扩展模块122的示例实施例就可以将每个端口系统与彼此比较和/或(例如基于关键词)确定组件库和功能模型之间的对应端口类型之间的相互关系,以便从库中选择与功能模型一致的仿真组件。
下面的算法(“算法1”)描述由设计树扩展模块122实施的基于端口结构和可选文本功能描述的设计空间的扩展:
算法1:设计空间扩展
输入 具有来自端口类型集的端口的期望系统的功能模型
抽象组件库,其中所有组件遵守端口类型集,并且可选地包含功能信息
输出 组件模型解决方案的集合,所述组件模型解决方案符合由功能模型施加的端口结构并符合功能模型本身
。
算法1返回组件模型解决方案116的集合146,所述组件模型解决方案与功能模型108的内部和外部端口结构一致以及与所确定的功能信息一致(在库组件提供诸如文本功能描述130之类的元数据的情况下)。应该认识到,该结构和定量设计空间扩展可操作用来标识潜在架构;然而,在该阶段尚未发生关于是否每个候选组件模型解决方案实际上履行期望系统的功能和非功能性需求的验证。
图2图示将算法1的结果描绘为树结构202的设计树扩展200的示意性示例。在该示例中,树结构的节点204对应于组件,并且分支206对应于组件模型解决方案116。
参考回图1,如先前所讨论的,应用软件组件104还可以包括设计空间修剪模块124。这样的设计空间修剪模块124可以被配置成选择(由设计空间扩展模块122确定的)组件模型解决方案116的子集(即修剪的)集合132,其具有与针对功能模型108确定的行为一致(例如兼容)的针对每个组件模型解决方案确定的行为。换言之,设计空间修剪模块124可以被配置成修剪掉(prune out)不适当的组件模型解决方案116。下面的算法(“算法2”)描述可由设计空间修剪模块124实施的对不适当的生成的解决方案的基于行为的修剪:
算法2:行为设计空间修剪
输入 组件模型解决方案的集合,所述组件模型解决方案符合由功能模型施加的端口结构并符合功能模型本身(算法1的输出)
行为功能模型,其描述可容许行为族
输出 组件模型解决方案的集合 ,其与行为功能模型在行为上兼容:
。
算法2可以被配置成确定集合146中的每个组件模型解决方案116的行为136,并且修剪掉具有与关联于功能模型108的行为134不一致的行为的解决方案。算法2的输出是组件模型解决方案的经修剪的集合132。
例如,算法2可以被配置成确定在每个组件模型解决方案中的仿真组件的类型和描述所固有的(集合146中的)每个组件模型116解决方案的各种行为数据136。例如,如下面将更详细描述的,所选的仿真组件的类型可能仅允许运动的某个数量的自由度。因此,如果功能模型108指定需要运动的最小数目的自由度的行为数据134,则所描述的设计空间修剪模块124可以修剪掉不满足该所需的阈值的组件模型解决方案以形成经修剪的集合132。
而且,例如,算法2可以执行(集合146中的)每个组件模型解决方案以便定量每个解决方案的行为并修剪掉具有与功能模式所指定的任何行为约束不一致的行为的解决方案。例如,功能模型可以指定关于效率、功率、速度和或基于功能模型的系统可期望的任何其他操作特性的最小或最大阈值的期望操作行为数据134。所述设计空间修剪模块124可以修剪掉具有不满足这些所需操作阈值的(经由执行和分析组件模型解决方案而确定的)对应操作行为数据136的组件模型解决方案。在该示例中,所述设计空间修剪模块124可以被配置成与仿真软件/工具(例如Amesim、Modelica、或Simulink)对接并且使工具执行每个组件模型解决方案并且提供关于组件模型解决方案的操作的这样的可定量操作行为数据136。
此外,某些形式的功能模型可以包括定义对于基于功能模型的系统的期望行为的相关联数学算法。在示例实施例中,算法2可以使用这样的数学算法来确定与功能模型一致的组件模型解决方案。例如,该功能模型可以包括表示(遵守强类型端口系统的)期望功能的所连接的块以及代表功能模型的一个或多个功能的期望动态(关于时间)操作行为的(经由诸如Mathworks Simulink之类的设计工具指定的)算法行为集二者。所述设计空间修剪模块124可以被配置成执行(或者促使诸如Mathworks Simulink之类的其他工具执行)功能模型的这样的算法行为,以便确定对于功能模型所期望的可定量行为数据134。
还在(如先前所讨论的)该示例中,所述设计空间修剪模块124可以被配置成与仿真软件/工具(例如Amesim、Modelica、或Simulink)对接以促使工具执行每个组件模型解决方案并提供关于组件模型解决方案的操作的可定量操作行为数据136。然后可以将每个组件模型解决方案的可定量行为数据与功能模型的期望的所确定的可定量行为数据相比较以便修剪掉不一致的组件模型解决方案。
在示例实施例中,示例功能“verifyBehavioralInclusion”(在算法2中)可以被配置成将每个组件模型解决方案116的行为数据136与功能模型108的行为数据134相比较并且递送可用于修剪掉不适当的模型解决方案的数据。这样的数据例如可以与二进制结果相对应并且可以由取决于表达行为和的若干候选形式体系(formalism)来实现。在示例实施例中,可以被用来确定/比较组件模型解决方案与功能模型之间的行为的候选形式体系包括:不确定线性动力学;线性或非线性常微分方程系统(ODE)和微分代数方程系统(DAE);语言和自动机(automata);佩特里网(petri nets);和/或命题和时序逻辑。功能“verifyBehavioralInclusion”还可以基于严格的方法,诸如模型检查。
图3图示描绘其中已经基于来自算法2的结果修剪掉若干节点302的从算法1得到的树结构202的设计空间修剪300的示意性示例。
参考回图1,如先前所讨论的,应用软件组件104还可以包括设计空间排序模块126。这样的设计空间排序模块126可以被配置成基于针对相应组件模型解决方案确定的行为136与针对功能模型确定的行为134之间的兼容性的相应等级来确定针对经修剪的子集132(即经修剪的集合)的组件模型解决方案中的至少一些相对于彼此的多个排序138。
下面的算法(“算法3”)描述可以由设计空间排序模块126实施的基于行为的排序:
算法3:行为设计空间排序
输入 组件模型解决方案的集合,其与行为功能模型在行为上兼容:.
输出 组件模型解决方案的有序列表,其在行为上更接近于预期理想行为
。
在示例实施例中,基于行为的修剪(算法3)的副产物可以包括行为数据134,所述行为数据134可以被用来将经修剪的组件模型解决方案彼此进行比较。基于这些比较,算法3提供标识的可行解决方案的排序138。这样的排序可以与组件模型解决方案的有序列表L相对应,该有序列表L是按照每个组件模型解决方案与功能模型的期望行为相对应得多好来定序的。组件的这样的排序列表可以被用来标识用于为新系统的设计作基础的最佳候选解决方案。在其他实施例中,这样的排序可以对应于与每一个组件模型解决方案相关联地存储的得分。
在示例实施例中,针对每个组件模型解决方案的行为数据136与针对功能模型的期望行为数据134之间的比较可以经由例如L2增益和/或均方根误差(RMSE)而计算为定量行为得分。因此,在算法3中,示例功能“CalculateBehavioralScore”可以被配置成返回针对(经修剪的集合132中的)每一个组件模型解决方案的实值排序138,该实值排序138描述与理想预期行为的接近度。例如,该实值排序138可以以某个尺度,其中1.0的得分表示与功能模型的理想行为的完美匹配,而0.0的得分表示理想行为的上界或下界,或绝对最小/最大可接受行为。然后按其各自的实值排序来对组件模型解决方案分类。
在另一示例实施例中,排序138可以基于相应组件模型解决方案使由功能模型指定的特定可定量行为(例如,诸如功率输出、热量、速度、效率)最大化或最小化得多么好。因此,在算法3中,示例功能“CalculateBehavioralScore”可以被配置成确定排序得分集,其中组件模型基于要被最小化或最大化的可定量行为的幅度而被排序为有序集。
例如,如果功能模型的期望行为是使引擎的功率输出最大化,则五个经修剪的组件模型解决方案的假设集合可以基于来自其仿真执行的其所得到的功率输出而用1到5的得分来排序(其中1对应于最高功率输出)。还应该认识到,可以基于若干不同类型的期望行为(例如最大化功率和最小化燃料消耗)来对组件排序。因此,组件模型解决方案的最终有序排序可以基于针对每个行为的单独排序的复合得分。
图4图示描绘在从算法2修剪之后的树结构202的设计空间排序400的示意性示例,其中已经经由所描绘的排序得分402将分支(即组件模型解决方案)相对于彼此进行了排序。在该示例中,较低排序(诸如为1的排序得分)对应于比具有较高数值得分的其他组件模型解决方案更紧密近似功能模型的行为的组件模型解决方案。然而,在替代实施例中,用于排序的其他类型的得分和次序可以被用于说明用于组件模型解决方案的排序。
示例算法组合基于结构的设计空间扩展与基于行为的分支修剪和节点排序。设计空间扩展模块122实施算法1以便建立预先未知的设计空间。所得到的组件模型解决方案116的集合可以具有它们遵循相同接口的性质,这使得能够在相同上下文中按照语法来使用它们。然而,为了在该集合中选取最好或更好的解决方案,设计空间修剪模块124实施算法2以便考虑组件模型解决方案与功能模型相比的行为,以使得选取有助于整个系统的预期行为的适当仿真组件集。然后,设计空间排序模块126实施算法3以便向设计空间扩展树节点分配排序(例如数值得分),以便比较各组件模型解决方案的整体行为并对其排序,这可基于不同时域和建模范式。
为了使得用户能够操作所述应用软件组件104,所述处理系统100可以包括至少一个显示设备118(诸如显示屏)和至少一个输入设备120。例如,处理器可以被包括作为PC、笔记本计算机、工作站、服务器、平板电脑、移动电话或任何其他类型的计算系统的部分。显示设备例如可以包括LCD显示器、监视器和/或投影仪。输入设备例如可以包括鼠标、指针、触摸屏、触摸板、绘图板、轨迹球、按钮、键区、键盘、游戏控制器、摄像机、捕获运动姿势的运动感测设备、或能够提供本文描述的输入的任何其他类型的输入设备。而且对于诸如平板电脑之类的设备而言,处理器102可以被集成到包括触摸屏的外壳中,该触摸屏用作输入和显示设备二者。此外,应该认识到,一些输入设备(诸如游戏控制器)可以包括多个不同类型的输入设备(模拟棒、d垫和按钮)。
而且,应该注意,本文描述的处理器可以位于远离本文描述的显示器和输入设备的服务器中。在这样的示例中,所述显示设备和输入设备可以被包括在客户端设备中,所述客户端设备通过有线或无线网络(其可以包括互联网)与服务器(和/或在服务器上执行的虚拟机)通信。在一些实施例中,这样的客户端设备例如可以执行远程桌面应用或者可以对应于实施与服务器的远程桌面协议的门户设备,以便将输入从输入设备发送到服务器并且从服务器接收视觉信息来通过显示设备进行显示。这样的远程桌面协议的示例包括Teradici的 PCoIP、Microsoft的RDP和RFB协议。在这样的示例中,本文描述的处理器可以对应于在服务器的物理处理器中执行的虚拟机的虚拟处理器。
应该认识到,所述应用软件组件104的示例实施例可操作成促使显示设备118输出图形用户接口(GUI)140,其显示由算法1-3提供的数据的视觉表示。例如,应用软件组件104可以包括可视化模块142,其生成GUI和/或提供用于更新GUI的信息以便提供组件模型解决方案132的经修剪的集合以及其所得到的排序138的可视化144。此外,可视化模块142可以通过GUI提供关于解决方案和/或功能模型的所确定的行为的定量信息。此外,可视化模块可以通过GUI提供具有最高排序的组件模型解决方案的视觉表示,其在视觉上描绘包括该组件模型解决方案的仿真组件。而且,可视化模块可以通过GUI提供针对组件模型解决方案的所确定的排序的视觉表示。此外,可视化模块可以对来自输入设备的输入作出响应以便配置和执行所述设计空间扩展模块122、设计空间修剪模块124和设计空间排序模块126。
如本文所使用的,最高排序可以对应于表示与最高排序相关联的组件模型解决方案具有更接近于功能模型的期望行为或者最大化或最小化功能模型的指定行为的定量行为的排序(例如得分)。在示例实施例中,工程师可以将较高或最高排序的组件模型解决方案用作设计结构对象模型(例如经由CAD软件的3D CAD模型)的框架,其描绘具有与组件模型解决方案相对应的物理组件的布置的结构。该结构对象模型可以在数据存储区110或另一数据存储区中(诸如在CAD文件和/或PLM数据库中)被存储为CAD数据和/或产品数据(指定部分数据)。
所述应用软件组件和/或其他软件应用可以基于存储在CAD数据和/或产品数据中的结构来实施各种功能。这样的功能可以包括(基于CAD数据和/或产品数据)生成指定可用于构建结构的特定组件(以及其数量)的工程制图和/或材料清单(BOM)。这样工程制图和/或BOM可以经由打印机打印在纸上,以电子表格(诸如Microsoft Excel文件或Acrobat PDF文件)生成,经由显示设备显示,以电子邮件传达,存储在数据存储区中或以其他方式以能够被个人和/或机器用来构建与所设计的结构相对应的产品的形式生成。此外,应该认识到,诸如3D打印机之类的机器可以使用代表对象模型(在鉴于仿真结果而被CAD软件修改之前或之后)的数据以根据对象数据产生物理结构(例如部分)。
可用于基于组件模型解决方案来设计3D模型的CAD软件的示例可以包括:可从西门子产品生命周期管理软件有限公司得到(得克萨斯州的普莱诺)的NX应用套件和/或可用于生成CAD模型的任何其他软件。在示例实施例中,所述应用软件组件104的所有或部分可以被包括在这样的应用套件中或者与这样的应用套件包括在一起。
为了进一步描述所述实施例的特征,图5图示可经由本文描述的系统和方法仿真的机电结构500的示例。在该示例中,结构500对应于具有太阳能板504的卫星502。在该示例中,这样的结构具有太阳能板504在打开位置506和关闭位置508之间展开/折叠的行为需求。卫星设计问题由其中需要展开四对太阳能板(总共八个太阳能板)来捕获太阳能的机电和控制问题构成。应该认识到,这样的太阳能板是通过接头连接的机械体;该接头由电动机来驱动;并且利用来自源的电能对该电动机供电。
为了发起这样的设计,设计者/工程师可能首先开发与针对卫星502的操作的该方面(和其他方面)的设计需求相对应的功能模型。图6图示用于示例卫星502的这样的功能模型600的示例。例如可以利用诸如Microsoft Visio之类的设计工具或能够生成功能模型的其他工具来开发这样的功能模型。
在该示例中,功能模型使用动词-名词非正式功能描述来在视觉上表示该模型。该示例中的功能模型还指定诸如自由度之类的设计约束。而且,在该示例中,功能模型可以指定与每个功能相关联的可容许行为的数学公式。
如图6中所示,这样的功能模型600可以包括指定期望要被实施的功能的若干个块602。例如,块604指定将化学能转换成电能的功能。对于这样的功能,块604包括输入端口606,其具有访问化学能的端口类型。此外,块604包括输出端口608,其具有提供电能的端口类型。在该示例中,输出端口608(其提供电能)被示为连接到另外的块612的输入端口610,其指定用于传送电能的功能。而且在该示例中,输入端口606(其访问化学能)被示为连接到另外的块616的输入端口614,其指定用于存储化学能的功能。该功能模型的其他块同样经由其各自的输入和输出端口连接在一起。
如可以认识的,可以通过在一个或多个不同领域(例如电气、机械、液压领域)中的各种不同类型的组件的多个不同组合来实施这样的设计需求。图7中图示可被本文描述的系统和示例用来生成用于功能模型600的组件模型解决方案的仿真组件的示例库700。该示例中的库700示出在西门子LMS想象实验室Amesim工具中可得到的仿真组件的分类的示例。然而,如先前所讨论的,示例应用软件组件104可以能够访问来自由其他仿真软件提供的库的仿真组件或来自若干不同库和/或工具的仿真组件。
如先前所讨论的,设计空间扩展模块122可操作成生成与行为功能模型在行为上一致(例如兼容)的组件模型解决方案的集合。为了完成这一点,所述设计空间扩展模块122可以被配置成遍及库700搜索具有与功能模型600所指定的输入和输出端口一致的输入和/或输出端口的仿真组件。
此外,示例设计空间扩展模块122可以可选地使用与库中的仿真组件相关联的文本描述(或其他元数据)来确定帮助使仿真组件与功能设计中指定的功能相关的组件的行为。例如,块618指定用于将电能转换成旋转机械能(RME)的功能,所述设计空间扩展模块122可以不仅基于块618的输入和输出端口的类型而且还基于具有文本描述的仿真组件来搜索和/或选择能够履行该功能的仿真组件,所述文本描述具有设计空间扩展模块122已知为与旋转功能匹配和/或与该旋转功能有关的词。例如,库中的仿真组件的文本描述“转动接头”中的词“转动”可以由设计空间扩展模块122基于模块可访问的相关的功能上有关的词的查找表而确定为与词“旋转”有关。基于该确定的相关性(以及输入/输出端口对应性),设计空间扩展模块122可以针对至少一个组件模型解决方案的部分选择转动接头的仿真组件,其履行该功能以将电能转换成旋转机械能。
图8图示被组织为树结构802(诸如图2中示出的通用树结构)的组件模型解决方案804的部分集合800的示例,该树结构802可以由示例设计空间扩展模块122基于图中示出的功能模型600的部分和包括在图7中示出的库700中的仿真组件中的至少一些来确定。这样的组件模型解决方案804可以与行为功能模块600在行为上一致。
为了帮助理解组件模型解决方案的广度,图1中示出的先前描述的可视化模块142可操作成促使GUI 140显示这样的树结构802。应该认识到,候选组件模型解决方案可以共享相同组件中的一些。因此,所生成的树结构的形式可以由可视化模块基于将用于两个或更多解决方案的冗余组件放置在共同较高等级分支中的算法来生成,该共同较高等级分支分叉成描绘在各组件模型解决方案之间不同的组件的两个或更多较低分支。
图9图示与图8中示出的树结构的分支之一相对应的组件模型解决方案900的示例。该组件模型解决方案900的一个或多个视觉表示可以由可视化模块142来生成并经由GUI 140来显示。例如,组件模型解决方案900可以在视觉上被描绘为列表视图902和/或作为连接视图904。在这里,列表视图以树节点906的形式列出分类(例如接头驱动器、接地端、主体),该树节点906包含仿真组件908的一个或多个实例。组件模型解决方案的连接视图904指定仿真组件经由其各自的输入/输出端口彼此连接的方式。
在示例实施例中,与所生成的组件模型解决方案和功能模型相对应的数据被馈送到设计空间修剪模块124(实施算法2)。使用仿真组件,算法2验证候选解决方案对预期或期望功能行为的行为包含(behavioral inclusion)并且修剪该树的不满足这些需求的分支。图10图示在先前描述的设计空间修剪模块124已评估组件模型解决方案且已标识要被修剪掉的解决方案之后的树结构802(其可以被可视化模块142在视觉上输出)的示例1000。
在这里,设计空间修剪模块124已经基于与约束不一致的解决方案的特性和与功能模型相关联的其他参数修剪掉候选组件模型解决方案。例如,设计空间修剪模块124可以被配置成确定每个候选组件模型解决方案所具有的自由度的数目,并且修剪掉树结构802中的具有较少的确定的自由度数目的分支。在这点上,图10示出从候选列表去除万向接头分支1002、滑动接头分支1004和2D主体分支1006。卫星的功能行为需要三个维度并且解决方案的2D主体族仅提供两个维度;因此去除整个2D主体分支1006。类似地,太阳能板的展开功能需要六个自由度被约束(见图6中的约束620),并且解决方案的万向接头1002和滑动接头1004族仅提供四个受约束的自由度;因此这两个分支也被修剪。
在修剪之后,设计空间排序模块126可以关于每个解决方案的行为多么紧密地近似功能模型的行为来对剩余的组件模型解决方案排序。图11图示(修剪之后的)五个组件模型解决方案1102、1104、1106、1108、1110以及其相应的排序1112、1114、1116、1118、1110的示例1100。
在该示例中,基于展开的次数和电能消耗的行为来对组件模型解决方案排序。用于对解决方案进行排序的这些具体行为可以由功能模型来指定和/或由用户通过使用应用软件组件104的GUI 140经由对输入设备120的输入来提供。
在这里,与针对其他四个解决方案的这些确定的行为相比,第五解决方案1102具有关于展开次数和电能消耗的行为的最高排序。在这些示例中,各种解决方案具有不同类型和/或数量的组件。例如,最高排序的解决方案1102仅具有两个电池组件,而最低排序的解决方案1110具有八个电池。
在该示例中,由功能模型和/或经由来自用户的输入来指定要最小化的特定行为(即展开次数和电能消耗)。因此,用于每一个组件模型解决方案的每一个底层数学模型可以被执行,并且结果被分析以确定对解决方案排序所需的相应展开次数和电能消耗。
然而,应该认识到,其他功能模型可以被设计有与定义功能模型的理想或期望行为的一个或多个功能相关联的具体理想数学公式。因此,在其他示例中,设计空间排序模块(实施算法3)可以可替代地或另外将所执行的组件模型解决方案的行为与由功能模型的底层数学公式定义的功能模型的行为相比较,以便为排序作基础。
现在参考图12,图示并描述各种示例方法。尽管该方法被描述为按顺序执行的一系列动作,但是要理解该方法不会被顺序次序所限制。例如,某些动作可以以与本文所述的不同的次序来发生。此外,一个动作可以与另一动作同时发生。而且,在一些实例中,并非所有动作都被要求以实施本文所述的方法。
重要的是要注意,尽管本公开包括在全功能系统和/或一系列动作的上下文中的描述,但是本领域技术人员将会认识到本公开的机制和/或所述动作的至少部分能够以包含在处于各种各样形式中的任一种的非瞬时机器可用、计算机可用或计算机可读介质内的计算机可执行指令的形式来分发,并且本公开等同地适用,不管被用来实际上实施该分发的指令或数据承载介质或存储介质的特定类型如何。非瞬时机器可用/可读或计算机可用/可读介质的示例包括:ROM、EPROM、磁带、软盘、硬盘驱动器、SSD、闪速存储器、CD、DVD和蓝光盘。计算机可执行指令可以包括例程、子例程、程序、应用、模块、库、执行线程等等。更进一步地,方法的动作的结果可以被存储在计算机可读介质中、显示在显示设备上等等。
现在参考图12,图示促进生成表示多领域系统的功能操作的排序的组件模型解决方案的方法1200。该方法可以在1202处开始,并且该方法可以包括通过至少一个处理器的操作而实施的若干动作。
这些动作可以包括动作1204,其针对要被产生的系统而形成与具有功能模型端口的功能模型相对应的组件模型解决方案的集合。在这里,该组件模型解决方案可以包括通过至少一个处理器的操作至少部分基于仿真组件的组件端口与功能模型的功能模型端口之间的对应性而从至少一个组件库中选择的仿真组件。
而且,该方法可以包括从该集合中选择组件模型解决方案的子集的动作1206,所述组件模型解决方案具有与针对功能模型确定的行为一致的针对每个组件模型解决方案确定的行为。此外,该方法可以包括动作1208,其基于每个组件模型解决方案的行为与彼此和/或针对功能模型确定的行为的比较来确定针对该子集的组件模型解决方案相对于彼此的多个排序。
此外,该示例方法可以包括动作1210,其促使显示设备输出具有来自多个排序中的最高排序的组件模型解决方案的视觉表示,其中该视觉表示在视觉上描绘形成组件模型解决方案的仿真组件。在1212处该方法可以结束。
应该认识到,该方法1200可以包括先前关于处理系统100讨论的其他动作和特征。例如,该方法可以包括通过实施具有集合中每个组件模型解决方案的仿真来确定针对每个组件模型解决方案的定量行为。在一些示例中,可以通过至少一个处理器的操作至少部分基于各组件模型解决方案的所确定的定量行为与彼此的比较来实施确定多个排序的动作1208。
而且,在一些示例实施例中,该方法可以包括确定针对功能模型的定量行为,并且可以通过至少一个处理器的操作至少部分基于功能模型的定量行为与组件模型解决方案的定量行为之间的比较来实施确定多个排序的动作1210。
此外,该方法的示例实施例可以包括基于线性或非线性微分方程系统(ODE)和/或微分代数方程系统(DAE)来确定针对每个组件模型解决方案和/或功能模型的定量行为。而且,确定多个排序的动作1210可以包括基于针对每个组件模型解决方案确定的定量行为相对于针对功能模型确定的定量行为的L2增益和/或RMSE来确定与针对子集的组件模型解决方案的多个排序相对应的数值得分。
该方法的示例实施例还可以包括确定与来自仿真组件的至少一个库的仿真组件相关联的文本功能描述和/或仿真组件本身的动作。可以进一步基于所确定的文本描述和由功能模型指定的功能之间的对应性来从至少一个组件库中针对组件模型解决方案进一步选择仿真组件。
此外,该方法的示例实施例可以包括执行CAD应用软件组件以及利用该CAD应用软件组件来响应于通过至少一个输入设备的操作接收到的输入而生成系统的CAD模型。这样的CAD模型可以描绘与具有最高排序的组件模型解决方案的仿真组件相对应的物理部分的布置。然后可以将与CAD模型相对应的CAD数据存储在数据存储区中。
如先前所讨论的,针对基于所生成的组件模型解决方案的结构的对象模型可以作为CAD数据和/或产品数据被存留到CAD文件和/或PLM数据存储区。然后可以基于CAD数据或产品数据来实施与生成工程制图和/或BOM相关联的动作。此外,该方法可以包括个体基于工程制图和/或BOM来手动构建结构。此外,这样的动作可以包括机器(诸如3D打印机)基于CAD数据来构建结构(或结构的一部分)。
如先前所讨论的,可以由一个或多个处理器来实施与这些方法相关联的动作(除了诸如手动构建结构的动作之类的任何所述手动动作之外的)。(一个或多个)这样的处理器可以被包括在一个或多个数据处理系统中,例如,其执行可操作用来促使这些动作被所述一个或多个处理器实施的软件组件。在示例实施例中,这样的软件组件可以包括与例程、子例程、程序、应用、模块、库、执行线程等等相对应的计算机可执行指令。此外,应该认识到,可以在软件环境/语言/框架中编写软件组件和/或通过软件环境/语言/框架来产生软件组件,该软件环境/语言/框架诸如Java、JavaScript、Python、C、C#、C++或能够产生被配置成实施本文描述的动作和特征的组件和图形用户接口的任何其他软件工具。
图13图示其中实施例可以被实施为例如PLM的多领域仿真和模型设计工具的一部分的数据处理系统1300(也被称为计算机系统)和/或通过软件或以其他方式可操作配置成执行如本文描述的过程的其他系统的框图。所描绘的数据处理系统包括可连接到一个或多个桥/控制器/总线1304(例如北桥、南桥)的至少一个处理器1302(例如CPU)。总线1304中的一个例如可以包括一个或多个I/O总线,诸如快速PCI总线。在所描绘的示例中还被连接到各种总线的可以包括主存储器1306(RAM)和图形控制器1308。该图形控制器1308可以被连接到一个或多个显示设备1310。还应该注意,在一些实施例中一个或多个控制器(例如图形、南桥)可以与CPU一起集成(在相同芯片或管芯上)。CPU架构的示例包括IA-32、x86-64和ARM处理器架构。
连接到一个或多个总线的其他外设可以包括通信控制器1312(以太网控制器、WiFi控制器、蜂窝控制器),其可操作成连接到局域网(LAN)、广域网(WAN)、蜂窝网络和/或其他有线或无线网络1314或通信设备。
连接到各种总线的另外的组件可以包括一个或多个I/O控制器1316,诸如USB控制器、蓝牙控制器和/或专用音频控制器(连接到扬声器和/或麦克风)。还应该认识到,各种外设可以被连接到USB控制器(经由各种USB端口),所述各种外设包括输入设备1318(例如键盘、鼠标、触摸屏、轨迹球、游戏手柄、摄像机、麦克风、扫描仪、运动感测设备)、输出设备1320(例如打印机、扬声器)或可操作成提供输入或从数据处理系统接收输出的任何其他类型的设备。此外,应该认识到被称为输入设备或输出设备的许多设备不仅提供与数据处理系统的通信的输入而且还接收与数据处理系统的通信的输出。此外,应该认识到连接到I/O控制器1316的其他外设硬件1322可以包括被配置成与数据处理系统进行通信的任何类型的设备、机器或组件。
连接到各种总线的附加组件可以包括一个或多个存储控制器1324(例如SATA)。存储控制器可以被连接到存储设备1326,诸如一个或多个存储驱动器和/或任何相关联的可移除介质,其可以是任何适当的非瞬时机器可用或机器可读存储介质。示例包括非易失性设备、易失性设备、只读设备、可写入设备、ROM、EPROM、磁带储存器、软盘驱动器、硬盘驱动器、固态驱动器(SSD)、闪速存储器、光盘驱动器(CD、DVD、蓝光)以及其他已知的光学、电学或磁性存储设备驱动器和/或计算机介质。而且在一些示例中,诸如SSD之类的存储设备可以被直接连接到I/O总线1304,诸如快速PCI总线。
根据本公开的实施例的数据处理系统可以包括操作系统1328、软件/固件1330和数据存储区1332(其可以被存储在存储设备1326和/或存储器1306上)。这样的操作系统可以采用命令行接口(CLI)壳(shell)和/或图形用户接口(GUI)壳。GUI壳容许多个显示窗口被同时呈现在图形用户接口中,其中每个显示窗口提供到不同应用或到相同应用的不同实例的接口。图形用户接口中的光标或指针可以由用户通过定点设备(诸如鼠标或触摸屏)来操纵。光标/指针的位置可以被改变和/或诸如点击鼠标按钮或触摸触摸屏之类的事件可以被生成以致动期望的响应。可以在数据处理系统中使用的操作系统的示例可以包括Microsoft Windows、Linux、UNIX、iOS和Android操作系统。而且,数据存储区的示例包括数据文件、数据表、关系数据库(例如Oracle、Microsoft SQL服务器)、数据库服务器、或者能够存储可被处理器检索的数据的任何其他结构和/或设备。
通信控制器1312可以被连接到网络1314(不是数据处理系统1300的一部分),如本领域技术人员所已知的其可以是任何公用或私用数据处理系统网络或网络的组合(包括因特网)。数据处理系统1300通过网络1314与诸如服务器1334(也不是数据处理系统1300的一部分)之类的一个或多个其他数据处理系统进行通信。然而,替代数据处理系统可以与实现为分布式系统的部分的多个数据处理系统相对应,其中与若干数据处理系统相关联的处理器可以通过一个或多个网络连接的方式进行通信并且可以共同执行描述为由单个数据处理系统执行的任务。因此,要理解,当提到数据处理系统时,可以跨分布式系统中组织的经由网络彼此通信的若干个数据处理系统实现这样的系统。
此外,术语“控制器”意指控制至少一个操作的任何设备、系统或其部分,无论这样的设备是以硬件、固件、软件还是它们中的至少两个的某个组合来实现的。应该注意,与任何特定控制器相关联的功能可以是集中式的或分布式的,无论是本地的还是远程的。
此外,应该认识到,数据处理系统可以被实现为虚拟机架构中的虚拟机或云环境。例如,处理器1302以及相关联的组件可以对应于在一个或多个服务器的虚拟机环境中执行的虚拟机。虚拟机架构的示例包括VMware ESCi、Microsoft Hyper-V、Xen和KVM。
本领域普通技术人员将会认识到,专用于数据处理系统的硬件可能因为特定实施方式而变化。例如,在该示例中的数据处理系统1300可以对应于计算机、工作站和/或服务器。然而,应该认识到,数据处理系统的替代实施例可以被配置有对应或替代的组件,诸如以移动电话、平板电脑、控制器板或任何其他系统的形式,所述任何其他系统可操作成处理数据且实施本文描述的与数据处理系统、计算机、处理器和/或本文讨论的控制器的操作相关联的功能和特征。所描绘的示例仅为了解释的目的而提供并且不意味着暗示关于本公开的架构限制。
如本文所使用的,术语“组件”和“系统”意图涵盖硬件、软件、或硬件和软件的组合。因此,例如,系统或组件可以是过程、在处理器上执行的过程、或处理器。此外,组件或系统可以被定位在单个设备上或分布在若干个设备上。
而且,如本文所使用的,处理器对应于经由硬件电路、软件和/或固件配置成处理数据的任何电子设备。例如,本文所述的处理器可以对应于能够在数据处理系统中处理数据的微处理器、CPU、FPGA、ASIC或任何其他集成电路(IC)或其他类型的电路(其可以具有控制器板、计算机、服务器、移动电话和/或任何其他类型的电子设备的形式)中的一个或多个(或组合)。
为了简单和清晰,本领域技术人员将会认识到,本文没有描绘或描述适合于供本公开使用的所有数据处理系统的完全结构和操作。作为替代,仅描绘和描述了对本公开来说唯一的或理解本公开所必要的那样多的数据处理系统。数据处理系统1300的构造和操作的剩余部分可以符合本领域中已知的各种当前实现方式和实践中的任一个。
尽管已经详细描述了本公开的示例性实施例,但是本领域技术人员将会理解,在不脱离本公开的其最宽广形式的精神和范围的情况下,可以作出对本文公开的各种修改、替代、变化和改进。
本申请中的描述都不应该被视为意味着任何特定元素、步骤、动作或功能是必须被包括在权利要求范围中的必要元素:专利主题的范围仅由授权的权利要求来限定。此外,这些权利要求都不旨在调用35 USC §112(f),除非确切词“用于…的装置”之后是分词。
Claims (20)
1.一种用于具有定量修剪和排序的设计空间探索的系统(100),其包括:
至少一个处理器(102),其被配置成针对要被产生的系统而确定与具有功能模型端口(114)的功能模型(108)相对应的组件模型解决方案(116)的集合,所述组件模型解决方案包括至少部分基于仿真组件的组件端口(112)与功能模型的功能模型端口之间的对应性通过所述至少一个处理器的操作从至少一个组件库(128)中选择的仿真组件,
其中所述至少一个处理器被配置成从所述集合中选择组件模型解决方案的子集(132),所述组件模型解决方案具有与针对功能模型确定的行为(134)一致的针对每个组件模型解决方案确定的行为(136),
其中所述至少一个处理器被配置成基于针对每个组件模型解决方案的行为与彼此和/或针对功能模型确定的行为的比较来确定所述子集的组件模型解决方案相对于彼此的多个排序(138),以及
其中所述至少一个处理器被配置成促使显示设备(118)输出具有来自所述多个排序中的最高排序(1112)的组件模型解决方案的视觉表示(1102),其中所述视觉表示在视觉上描绘形成组件模型解决方案的仿真组件。
2.根据权利要求1所述的系统,其中所述至少一个处理器被配置成实施具有所述集合中的每个组件模型解决方案的仿真以便确定针对每个组件模型解决方案的定量行为。
3.根据权利要求2所述的系统,其中所述至少一个处理器被配置成实施以下各项中的至少一个:
至少部分基于组件模型解决方案的所确定的定量行为与彼此的比较来确定所述多个排序;
确定针对功能模型的定量行为以及至少部分基于功能模型的定量行为与组件模型解决方案的定量行为之间的比较来确定所述多个排序;
或其任何组合。
4.根据权利要求3所述的系统,其中所述至少一个处理器被配置成基于线性或非线性微分方程系统(ODE)和/或微分代数方程系统(DAE)来确定针对每个组件模型解决方案和/或功能模型的定量行为。
5.根据权利要求4所述的系统,其中所述至少一个处理器被配置成基于针对每个组件模型解决方案确定的定量行为相对于针对功能模型确定的定量行为的L2增益和/或RMSE来确定与所述子集的组件模型解决方案的多个排序相对应的数值排序得分(402)。
6.根据权利要求2所述的系统,其中所述至少一个处理器被配置成确定与来自仿真组件的至少一个库的仿真组件相关联的文本功能描述(130)和/或仿真组件本身,其中进一步基于所确定的文本描述与由功能模型指定的功能之间的对应性来从所述至少一个组件库中针对组件模型解决方案进一步选择仿真组件。
7.根据权利要求2所述的系统,还包括数据存储区(110)和计算机系统(1300),其包括存储器(1306)、应用软件组件(106、1330)、所述至少一个处理器以及显示设备,其中所述应用软件组件包括指令,所述指令当被包括在存储器中并由所述至少一个处理器执行时,促使所述至少一个处理器确定组件模型解决方案的集合、组件模型解决方案的子集以及多个排序,并且促使具有最高排序的组件模型解决方案通过所述显示设备来显示,其中所述应用软件组件包括CAD应用软件组件,经由所述CAD应用软件组件能够生成描绘与具有最高排序的组件模型解决方案的仿真组件相对应的物理部分的布置的与系统的CAD模型相对应的CAD数据,其中所述CAD数据被存储在数据存储区中。
8.一种用于具有定量修剪和排序的设计空间探索的方法(1200),其包括通过至少一个处理器(102)的操作来:
针对要被产生的系统而形成(1204)与具有功能模型端口(114)的功能模型(108)相对应的组件模型解决方案(116)的集合,所述组件模型解决方案包括至少部分基于仿真组件的组件端口(112)与功能模型的功能模型端口之间的对应性而从至少一个组件库(128)中选择的仿真组件;
从所述集合中选择(1206)组件模型解决方案的子集(132),所述组件模型解决方案具有与针对功能模型确定的行为(134)一致的针对每个组件模型解决方案确定的行为(136);
基于每个组件模型解决方案的行为与彼此和/或针对功能模型确定的行为的比较来确定(1208)针对所述子集的组件模型解决方案相对于彼此的多个排序(138);以及
促使(1210)显示设备(118)输出具有来自所述多个排序中的最高排序(1112)的组件模型解决方案的视觉表示(1102),其中所述视觉表示在视觉上描绘形成组件模型解决方案的仿真组件。
9.根据权利要求8所述的方法,还包括通过至少一个处理器的操作,通过实施具有所述集合中的每个组件模型解决方案的仿真来确定针对每个组件模型解决方案的定量行为。
10.根据权利要求9所述的方法,还包括通过至少一个处理器的操作的以下各项中的至少一个:
至少部分基于组件模型解决方案的所确定的定量行为与彼此的比较来确定所述多个排序;
确定针对功能模型的定量行为以及至少部分基于功能模型的定量行为与组件模型解决方案的定量行为之间的比较来确定所述多个排序;
或其任何组合。
11.根据权利要求10所述的方法,还包括通过至少一个处理器的操作,基于线性或非线性微分方程系统(ODE)和/或微分代数方程系统(DAE)来确定针对每个组件模型解决方案和/或功能模型的定量行为。
12.根据权利要求11所述的方法,其中确定所述多个排序包括基于针对每个组件模型解决方案确定的定量行为相对于针对功能模型确定的定量行为的L2增益和/或RMSE来确定与针对所述子集的组件模型解决方案的所述多个排序相对应的数值排序得分(402)。
13.根据权利要求9所述的方法,还包括通过至少一个处理器的操作来确定与来自仿真组件的至少一个库的仿真组件相关联的文本功能描述(130)和/或仿真组件本身,其中进一步基于所确定的文本描述与由功能模型指定的功能之间的对应性来从所述至少一个组件库中针对组件模型解决方案进一步选择仿真组件。
14.根据权利要求9所述的方法,还包括:
通过至少一个处理器的操作来执行CAD应用软件组件(106)以及利用所述CAD应用软件组件响应于通过至少一个输入设备的操作接收的输入而所述生成系统的CAD模型,其中所述CAD模型描绘与具有最高排序的组件模型解决方案的仿真组件相对应的物理部分的布置;
通过至少一个处理器的操作来在数据存储区中存储与所述CAD模型相对应的CAD数据;以及
基于所述CAD数据来生成物理系统,所述物理系统包括与具有最高排序的组件模型解决方案的仿真组件相对应的物理组件。
15.一种用于具有定量修剪和排序的设计空间探索的设备,其包括用于以下的至少一个装置:
针对要被产生的系统而形成(1204)与具有功能模型端口(114)的功能模型(108)相对应的组件模型解决方案(116)的集合,所述组件模型解决方案包括至少部分基于仿真组件的组件端口(112)与功能模型的功能模型端口之间的对应性而从至少一个组件库(128)中选择的仿真组件;
从所述集合中选择(1206)组件模型解决方案的子集(132),所述组件模型解决方案具有与针对功能模型确定的行为(134)一致的针对每个组件模型解决方案确定的行为(136);
基于每个组件模型解决方案的行为与彼此和/或针对功能模型确定的行为的比较来确定(1208)所述子集的组件模型解决方案相对于彼此的多个排序(138);以及
促使(1210)显示设备(118)输出具有来自所述多个排序中的最高排序(1112)的组件模型解决方案的视觉表示(1102),其中所述视觉表示在视觉上描绘形成组件模型解决方案的仿真组件。
16.根据权利要求15所述的设备,所述至少一个装置包括用于以下的至少一个装置:
通过实施具有所述集合中的每个组件模型解决方案的仿真来确定针对每个组件模型解决方案的定量行为。
17.根据权利要求16所述的设备,所述至少一个装置包括用于以下的至少一个装置:
至少部分基于组件模型解决方案的所确定的定量行为与彼此的比较来确定所述多个排序;
确定针对功能模型的定量行为以及至少部分基于功能模型的定量行为与组件模型解决方案的定量行为之间的比较来确定所述多个排序;
或其任何组合。
18.根据权利要求17所述的设备,所述至少一个装置包括用于以下的至少一个装置:
基于线性或非线性微分方程系统(ODE)和/或微分代数方程系统(DAE)确定针对每个组件模型解决方案和/或功能模型的定量行为。
19.根据权利要求18所述的设备,其中确定所述多个排序包括基于针对每个组件模型解决方案确定的定量行为相对于针对功能模型确定的定量行为的L2增益和/或RMSE来确定与针对所述子集的组件模型解决方案的多个排序相对应的数值排序得分(402)。
20.根据权利要求16所述的设备,所述至少一个装置包括用于以下的至少一个装置:
确定与来自仿真组件的至少一个库的仿真组件相关联的文本功能描述(130)和/或所述仿真组件本身,其中进一步基于所确定的文本描述与由功能模型指定的功能之间的对应性来从所述至少一个组件库中针对组件模型解决方案进一步选择仿真组件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/952,279 US10255386B2 (en) | 2015-11-25 | 2015-11-25 | Space exploration with quantitative pruning and ranking system and method |
US14/952279 | 2015-11-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107016150A true CN107016150A (zh) | 2017-08-04 |
Family
ID=57389351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611043598.8A Pending CN107016150A (zh) | 2015-11-25 | 2016-11-24 | 具有定量修剪和排序的设计空间探索的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10255386B2 (zh) |
EP (1) | EP3173955A1 (zh) |
CN (1) | CN107016150A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113168544A (zh) * | 2018-12-19 | 2021-07-23 | 西门子股份公司 | 为复杂工业系统提供服务的方法和系统 |
US11556679B1 (en) * | 2021-08-05 | 2023-01-17 | Evolve Mep, Llc | Modifying elements in a computer-aided design application using enhanced selection filtering |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10222776B2 (en) * | 2016-09-12 | 2019-03-05 | Linestream Technologies | Wizard for configuring a motor |
US10579751B2 (en) * | 2016-10-14 | 2020-03-03 | International Business Machines Corporation | System and method for conducting computing experiments |
US10176285B1 (en) * | 2017-02-17 | 2019-01-08 | Cadence Design Systems, Inc. | System, method, and computer program product for property violation comprehension |
US11669220B2 (en) * | 2017-03-20 | 2023-06-06 | Autodesk, Inc. | Example-based ranking techniques for exploring design spaces |
US20180314408A1 (en) * | 2017-04-28 | 2018-11-01 | General Electric Company | Systems and methods for managing views of computer-aided design models |
US20220398365A1 (en) * | 2021-06-11 | 2022-12-15 | Accenture Global Solutions Limited | Systems and methods for machine learning based product design automation and optimization |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6202043B1 (en) * | 1996-11-12 | 2001-03-13 | Invention Machine Corporation | Computer based system for imaging and analyzing a process system and indicating values of specific design changes |
US20130019216A1 (en) * | 2011-07-11 | 2013-01-17 | The Board Of Trustees Of The University Of Illinos | Integration of data mining and static analysis for hardware design verification |
WO2014078848A1 (en) * | 2012-11-19 | 2014-05-22 | Siemens Corporation | Functional top-down cyber-physical systems co-design |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182146B1 (en) * | 1997-06-27 | 2001-01-30 | Compuware Corporation | Automatic identification of application protocols through dynamic mapping of application-port associations |
US7167817B2 (en) | 2003-09-17 | 2007-01-23 | The Mathworks, Inc. | Automated approach to resolving artificial algebraic loops |
US7159196B2 (en) * | 2004-02-04 | 2007-01-02 | Hewlett-Packard Development Company, L.P. | System and method for providing interface compatibility between two hierarchical collections of IC design objects |
US7490032B1 (en) * | 2004-09-20 | 2009-02-10 | The Mathworks, Inc. | Framework for hardware co-simulation by on-demand invocations from a block model diagram design environment |
US8091064B2 (en) * | 2006-04-14 | 2012-01-03 | Panasonic Corporation | Supporting system, design supporting method, and computer-readable recording medium recorded with design supporting program |
US8816627B2 (en) * | 2011-11-10 | 2014-08-26 | Mitsubishi Electric Research Laboratories, Inc. | Energy efficient motion control system |
US9690881B2 (en) | 2013-07-16 | 2017-06-27 | Siemens Product Lifecycle Management Software Inc. | Synchronization and automatic code generation of 3D and 1D models using functional modeling |
WO2016146169A1 (de) | 2015-03-17 | 2016-09-22 | Siemens Aktiengesellschaft | Ermitteln von verhaltensähnlichen komponenten für ein system |
-
2015
- 2015-11-25 US US14/952,279 patent/US10255386B2/en active Active
-
2016
- 2016-11-22 EP EP16200116.8A patent/EP3173955A1/en active Pending
- 2016-11-24 CN CN201611043598.8A patent/CN107016150A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6202043B1 (en) * | 1996-11-12 | 2001-03-13 | Invention Machine Corporation | Computer based system for imaging and analyzing a process system and indicating values of specific design changes |
US20130019216A1 (en) * | 2011-07-11 | 2013-01-17 | The Board Of Trustees Of The University Of Illinos | Integration of data mining and static analysis for hardware design verification |
WO2014078848A1 (en) * | 2012-11-19 | 2014-05-22 | Siemens Corporation | Functional top-down cyber-physical systems co-design |
Non-Patent Citations (2)
Title |
---|
LU LI;USMAN DASTGEER;CHRISTOPH KESSLER: "Pruning Strategies in Adaptive Off-Line Tuning for Optimized Composition of Components on Heterogeneous Systems", 《2014 43RD INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING WORKSHOPS》 * |
于菲 等: "基于系统功能模型的元件裁剪优先权研究", 《计算机集成制造系统》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113168544A (zh) * | 2018-12-19 | 2021-07-23 | 西门子股份公司 | 为复杂工业系统提供服务的方法和系统 |
US11556679B1 (en) * | 2021-08-05 | 2023-01-17 | Evolve Mep, Llc | Modifying elements in a computer-aided design application using enhanced selection filtering |
US20230041213A1 (en) * | 2021-08-05 | 2023-02-09 | Applied Software Technology, Inc. | Modifying elements in a computer-aided design application using enhanced selection filtering |
Also Published As
Publication number | Publication date |
---|---|
US10255386B2 (en) | 2019-04-09 |
US20170147719A1 (en) | 2017-05-25 |
EP3173955A1 (en) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107016150A (zh) | 具有定量修剪和排序的设计空间探索的系统和方法 | |
US20140019112A1 (en) | Synthesis of simulation models from systems engineering data | |
Deshmukh et al. | Content-based assembly search: A step towards assembly reuse | |
US20170242409A1 (en) | Method for configuring a test device set up for testing an electronic control unit | |
EP2596446A1 (en) | A non-programmer method for creating simulation-enabled 3d robotic models for immediate robotic simulation, without programming intervention | |
Amaitik* et al. | STEP-based feature modeller for computer-aided process planning | |
US8560290B1 (en) | Execution of a target system that includes a component model | |
Di Maio et al. | Closed-loop systems engineering (close): Integrating experimentable digital twins with the model-driven engineering process | |
CN107851134A (zh) | 协同虚拟机械布管开发系统和方法 | |
WO2020162884A1 (en) | Parameter suggestion system | |
Hatledal et al. | JIOP: A Java Intelligent Optimisation And Machine Learning Framework. | |
Gönnheimer et al. | Concept for the configuration of Turnkey production systems | |
Lachmayer et al. | Product evolution and optimization based on gentelligent components and product life cycle data | |
Barnard | Software development principles applied to graphical model development | |
Beghi et al. | A virtual laboratory for the prototyping of cyber-physical systems | |
US20110307224A1 (en) | System and Method for Machine Engine Modeling | |
Sangiovanni-Vincentelli | Is a unified methodology for system-level design possible? | |
Binder et al. | Towards a model-centric approach for developing functional architectures in industry 4.0 systems | |
Cabrera et al. | Architecture-centric design approach for multidisciplinary product development | |
Kabir et al. | Virtual Prototyping for Modern Internet-of-Things Applications: A Survey | |
US20140317037A1 (en) | Distributed collaborative environment definition system and method | |
Beghi et al. | Enhancing the simulation-centric design of cyber-physical and multi-physics systems through co-simulation | |
Bapty et al. | Integrated modeling and simulation for cyberphysical systems extending multi-domain M&S to the design community. | |
Srivastava et al. | Systematic development of an interface for automatic generation of STEP-NC (AP238) code for milled features | |
Chakraborty et al. | A model based system engineering approach to design Avionics systems: Present and Future prospect |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: American Texas Applicant after: SIEMENS INDUSTRY SOFTWARE N.V. Address before: American Texas Applicant before: SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE Inc. |
|
CB02 | Change of applicant information |