系统描述、模型与语义的深入解析
1. 系统描述
1.1 系统与描述
许多系统是基于系统描述构建的。例如,基于某种编程语言的程序,程序是描述,它能在真实硬件上产生一个运行的系统;音乐乐谱是对音乐表演的描述。描述所对应的系统可以是虚构的,如物理公式创造出的虚拟世界。
所有这些例子表明,描述本身不是系统,它不由对象组成,也没有行为。描述与系统之间的联系通常被称为“规定”,描述更像是一种规定。
编程可定义为:编程是为了产生系统而生成描述(规定)的活动。狭义上,编程涉及以计算机程序形式的规定;广义上,编程意味着构建描述以创建系统,如设计食谱、创作音乐或发明物理公式。
在 OMG 架构中,描述位于 M1 层,它暗示了一系列可能的执行,这些执行由根据规定而变化的对象结构组成,而这些对象(即隐含的系统)位于 M0 层。这种方法将世界分为描述和对象,如下表所示:
| 层级 | 特征 |
| ---- | ---- |
| M3 | 以图表、文本或组合形式存在的描述和规定 |
| M2 | - |
| M1 | 无对象、无状态、无状态变化,但有对象、状态和状态变化的规定 |
| M0 | 有对象、对象状态以及由对象行为导致的状态变化 |
1.2 语义与意义
描述语言的语义决定了系统描述所对应的系统。语义并非首先关注形式化,尽管系统工程对具有精确语义的形式化描述语言和编程语言最为感兴趣。
在 OMG 架构中,语义是从 M1 层的描述到 M0 层的对象和执行的垂直关系。描述在抽象机器中执行,现实中可能会有多次转换(水平语义步骤)才会出现垂