系统建模与状态机技术解析
1. UML与实时应用
UML 最初并非为实时应用而设计,但 UML 2.0 引入了时序图作为特殊的图类型。这种图与 TDDs 类似,能够引用物理时间。此外,某些 UML “配置文件” 允许额外的注释来引用时间。
2. 微分方程与 Modelica
微分方程可以用数学语言来表达,而设计工具的输入通常需要这种语言的特定变体。这里以 Modelica 为例,它是一种用于建模网络物理系统的语言,具有图形和文本两种形式。
-
图形形式建模 :可以将系统描述为一组相互连接的模块,每个模块由方程描述,模块之间的连接表示数学意义上的公共变量。这些模块信息和连接信息可以转换为一组全局方程,这个过程称为层次扁平化。方程和连接具有双向意义,这与编程语言不同。
-
示例:弹跳球模型
model StickyBall
type Height = Real(unit = "m");
type Velocity = Real(unit = "m/s");
parameter Real s = 0.8 "Restitution";
parameter Height h0 = 1.0 "Initial height";
constant Velocity eps = 1e-3 "small velocity";
Boolean stuck;
Height h;