SysML v2规范逐段解读(03)语法合规和语义合规

79 阅读1分钟

图片

接下来说到了建模工具的合规。

前面两点和模型合规要求是一致的:抽象语法的合规,具体语法的合规。具体语法又有文本表示法和图形表示法。

图片

此外,工具合规的第3点是语义合规(Semantic Conformance)。

语法合规是形式上的正确,语义合规则是内容要符合逻辑。

以汉语为例:

小明的哥哥是家里的独生子。

这句话的语法是没问题的,但是语义不合规:小明的哥哥,小明的家里的独生子,这两者是冲突的。

以SysML v2为例:

// 电流

attribute def ElectricalCurrent {

        ……

}

// 水流

attribute def WaterFlow {

 ……

}

// 水龙头

part def WaterTap {

    port outlet :>> WaterFlow;

}

// 灯泡

part def LightBulb {

    port powerInput :<< ElectricalCurrent;

}

// 组装系统X

part def SystemX {

    part tap : WaterTap;

    part bulb : LightBulb;

// 将水龙头的"水流"出口连接到灯泡的"电流"入口

     connect tap.outlet to bulb.powerInput;

}

语法上是合规的,但把水龙头的"水流"出口连接到灯泡的"电流"入口,语义上是不合规的。

图片

以下是花絮:

语法合规,Syntax Conformance,语法错误,Syntax Error,Syntax是一个名词,用作定语。类似的还有:Computer Screen、Coffee Shop等。

语义合规,Semantic Conformance,形容词,Semantic Error,语义错误。Semantic是一个形容词。

二者是不一致的,可以用Syntactic取代Syntax使二者一致,但由于沿革下来的习惯用法已经很强大,很少有人会这样改。