In syside-solver 0.10.3, the example for package Pump has some odd syntax for scope resolution. In the example given at Checking that requirements hold — Syside
package Pump {
private import ScalarValues::Integer;
part pump [1] {
attribute flowRate : Integer = 40;
attribute pressure;
}
assert constraint flowOk { Pump::pump::flowRate <= 50 }
assert constraint pressureOk { Pump::pump::pressure <= 10 }
}
has the package scope and part namespace operator used (::). It should only have the dot notation used, as OMG Pilot flags this as an error, as shown:
From the Syside perspective, both the dot notation and namespace notation pass the syside solver
>syside solver check -i package_Pump.sysml
{
"result": {
"subject": "Pump",
"expression": "assertions[2]",
"determination": "determined",
"outcome": {
"shape": "assertions",
"assertions": [
{ "name": "Pump::flowOk", "status": "satisfied", "counterexample": null },
{
"name": "Pump::pressureOk",
"status": "violated",
"counterexample": {
"values": [
["Pump::pump::pressure", "11"]
]
}
}
]
},
"causes": []
},
"warnings": [],
"exit_code": 1
}
I suggest correcting the editor for scoping-notation conformance and updating the example to reflect this OMG conformance.
V/r,
