《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——2.8 小结

简介:

本节书摘来自华章出版社《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》一书中的第2章,第2.8节,作者:[美]爱德华·阿什福德·李(Edward Ashford Lee),更多章节内容可以访问云栖社区“华章计算机”公众号查看

2.8 小结

本章介绍了名为Vergil的Ptolemy II可视化界面,它支持通过图形化方式构建模型,与此同时,还介绍了Ptolemy II系统的一些基础功能。后续章节将着重介绍各种可用的指示器的性质。附录部分将着重介绍计算模型的通用架构和跨计算模型的能力。
补充阅读:处理数组的角色
下面是角色可以对数组进行的操作:
3

ArrayAccumulate将输入数组附加于上一数组之后,以扩大输出数组。
ArrayAppend添加多重端口的信道上提供的输入数组。
ArrayAverage求数组元素的平均值。
ArrayContains确定数组是否包含特定的元素。
ArrayElement从一个数组中提取某个元素。
ArrayElementAsMatrix 使用类似矩阵的索引来提取元素。
ArrayExtract提取子数组。
ArrayLength 将输入数组的长度输出。
ArrayLevelCrossing 找出超过阈值的元素。
ArrayMaximum 寻找数组中的最大元素。
ArrayMinimum 寻找数组中的最小元素。
ArrayPeakSearch寻找数组元素的峰值。
ArrayRemoveElement 删除某个特定元素的实例。
ArraySort 对数组进行排序。
ArraySum 对数组元素求和。
ArrayUpdate 输出一个与输入数组类似的新数组,但替换原数组的一个元素。
另外,很多多态(Polymorphic)角色,如AddSubtract ,也可作用于数组。
补充阅读:移动代码
Ptolemy II中的一些角色支持移动模型(mobile model)。也就是说,对于从一个角色传递到另一个角色的数据,与其说它是运行于模型上的数据,不如说它是个待执行的模型。ApplyFunction角色从一个输入端口接收一个用表达式语言(见第13章)描述的函数,并将该函数作用于另一个端口(用户必须创建这个端口)到达的数据。MobileModel 角色从一个端口接收一个Ptolemy II模型的MoML描述,然后执行该模型来处理从另一端口输入的数据流。
3

图2-44 ApplyFunction角色从一个端口接收函数定义,并将函数作用于到达另一个端口的数据
ApplyFunction 角色的使用见图2-44。在该模型中,以交替方式为ApplyFunction角色提供两个函数:一个函数计算x2,另一个函数计算2x的。这两个函数由两个Const角色提供,可以从Sources→GenericSources子库中找到。这些函数由Commutator角色交替输出,Commutator在FlowControl→Aggregators子库中。

相关文章
|
Kubernetes Linux 程序员
k8s自定义controller三部曲之一:创建CRD(Custom Resource Definition)
通过自定义控制器开发深入理解k8s的控制器设计思想及其实现
1158 0
k8s自定义controller三部曲之一:创建CRD(Custom Resource Definition)
|
负载均衡 网络协议 算法
【揭秘】IP负载均衡背后的神秘力量:如何让网站永不宕机?揭秘四大核心技术,解锁高可用性的秘密通道!
【8月更文挑战第19天】负载均衡技术保障互联网服务的高可用性和可扩展性。它像交通指挥官般按策略分配用户请求至服务器集群,提高响应速度与系统稳定性。本文轻松介绍IP负载均衡的工作原理、算法(如轮询、最少连接数)及实现方法,通过示例展示基于四层负载均衡的设置步骤,并讨论健康检查和会话保持的重要性。负载均衡是构建高效系统的关键。
414 2
|
数据处理 数据安全/隐私保护 流计算
Flink 三种时间窗口、窗口处理函数使用及案例
Flink 是处理无界数据流的强大工具,提供了丰富的窗口机制。本文介绍了三种时间窗口(滚动窗口、滑动窗口和会话窗口)及其使用方法,包括时间窗口的概念、窗口处理函数的使用和实际案例。通过这些机制,可以灵活地对数据流进行分析和计算,满足不同的业务需求。
1459 27
|
缓存 安全 Java
Java volatile关键字:你真的懂了吗?
`volatile` 是 Java 中的轻量级同步机制,主要用于保证多线程环境下共享变量的可见性和防止指令重排。它确保一个线程对 `volatile` 变量的修改能立即被其他线程看到,但不能保证原子性。典型应用场景包括状态标记、双重检查锁定和安全发布对象等。`volatile` 适用于布尔型、字节型等简单类型及引用类型,不适用于 `long` 和 `double` 类型。与 `synchronized` 不同,`volatile` 不提供互斥性,因此在需要互斥的场景下不能替代 `synchronized`。
3463 3
|
消息中间件 存储 监控
AMQP 与其他消息协议的对比分析
【8月更文第28天】高级消息队列协议 (AMQP) 是一种开放标准的应用层协议,主要用于消息中间件。本文将对比分析 AMQP 与其他流行的协议如 MQTT 和 RMQ(通常指的是 RabbitMQ),探讨它们的特点以及适合的应用场景。
446 0
|
机器学习/深度学习 分布式计算 PyTorch
大规模数据集管理:DataLoader在分布式环境中的应用
【8月更文第29天】随着大数据时代的到来,如何高效地处理和利用大规模数据集成为了许多领域面临的关键挑战之一。本文将探讨如何在分布式环境中使用`DataLoader`来优化大规模数据集的管理与加载过程,并通过具体的代码示例展示其实现方法。
876 1
|
缓存 NoSQL Redis
Redis经典问题:数据并发竞争
数据并发竞争是大流量系统(如火车票系统、微博平台)中常见的问题,可能导致用户体验下降甚至系统崩溃。本文介绍了两种解决方案:1) 加写回操作加互斥锁,查询失败快速返回默认值;2) 保持多个缓存备份,减少并发竞争概率。通过实践案例展示,成功提高了系统的稳定性和性能。
|
运维 关系型数据库 MySQL
自建数据库迁移到云数据库RDS
本次课程由阿里云数据库团队的凡珂分享,主题为自建数据库迁移至云数据库RDS MySQL版。课程分为四部分:1) 传统数据库部署方案及痛点;2) 选择云数据库RDS MySQL的原因;3) 数据库迁移方案和产品选型;4) 线上活动与权益。通过对比自建数据库的局限性,介绍了RDS MySQL在可靠性、安全性、性价比等方面的优势,并详细讲解了使用DTS(数据传输服务)进行平滑迁移的步骤。此外,还提供了多种优惠活动信息,帮助用户降低成本并享受云数据库带来的便利。
340 6
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
206 5
|
存储 数据挖掘 语音技术
让你的Notebook飞起来!开发体验再上新台阶
魔搭社区ModelScope最近针对大家积极反馈的Notebook功能进行了多方面的体验升级!这次的升级加入了许多令人兴奋的新特性,在很大程度上提升了Notebook的开发效率和体验。一起来看看这些新功能吧!

热门文章

最新文章