|
| 1 | +// name: TwoTanksExample.VerificationModels |
| 2 | +// keywords: requirements, bindings, inference |
| 3 | +// status: correct |
| 4 | +// |
| 5 | +// Testing requirements verification scenarios generation |
| 6 | +// |
| 7 | + |
| 8 | +// script to test updating of bindings for a specific scenario |
| 9 | + |
| 10 | +loadFile("TwoTanksExample/package.mo"); |
| 11 | +getErrorString(); |
| 12 | +generateVerificationScenarios(TwoTanksExample.VerificationModels); |
| 13 | +getErrorString(); |
| 14 | +list(TwoTanksExample.VerificationModels); |
| 15 | +getErrorString(); |
| 16 | + |
| 17 | +// Result: |
| 18 | +// true |
| 19 | +// "" |
| 20 | +// *** Found a VVDRlib.Verification.Design |
| 21 | +// *** Found a VVDRlib.Verification.Requirement |
| 22 | +// *** Found a VVDRlib.Verification.Requirement |
| 23 | +// *** Found a VVDRlib.Verification.Scenario |
| 24 | +// *** Found a VVDRlib.Verification.Scenario |
| 25 | +// *** Autogenerated class: verif_model_autogen_0 |
| 26 | +// ... found client : TwoTanksExample.Design.Components.Source |
| 27 | +// ... found client : TwoTanksExample.Requirements.LiquidLevel |
| 28 | +// ... found client : TwoTanksExample.Requirements.Volume_of_a_tank |
| 29 | +// ... infer binding TwoTanksExample.Requirements.Volume_of_a_tank TwoTanksExample.Requirements.Volume_of_a_tank |
| 30 | +// ... found provider TwoTanksExample.Design.Components.Tank |
| 31 | +// ... found provider TwoTanksExample.Design.Components.Tank |
| 32 | +// ... found instance provider TwoTanksExample.Requirements.Volume_of_a_tank |
| 33 | +// **** Applying modifier _agen_Volume_of_a_tank3_autogen_bind_0 |
| 34 | +// **** Applying modifier _agen_Volume_of_a_tank3_autogen_bind_1 |
| 35 | +// ... infer binding TwoTanksExample.Requirements.LiquidLevel TwoTanksExample.Requirements.LiquidLevel |
| 36 | +// ... found provider TwoTanksExample.Design.Components.Tank |
| 37 | +// ... found provider TwoTanksExample.Design.Components.Tank |
| 38 | +// ... found instance provider TwoTanksExample.Requirements.LiquidLevel |
| 39 | +// **** Applying modifier _agen_LiquidLevel2_autogen_bind_0 |
| 40 | +// **** Applying modifier _agen_LiquidLevel2_autogen_bind_1 |
| 41 | +// ... infer binding TwoTanksExample.Design.Components.Source TwoTanksExample.Design.TwoTanksDesign |
| 42 | +// ... found provider TwoTanksExample.Scenarios.Normal_operation |
| 43 | +// ... found instance provider TwoTanksExample.Design.TwoTanksDesign |
| 44 | +// **** Applying modifier _agen_TwoTanksDesign1 |
| 45 | +// *** Autogenerated class: verif_model_autogen_1 |
| 46 | +// ... found client : TwoTanksExample.Design.Components.Source |
| 47 | +// ... found client : TwoTanksExample.Requirements.LiquidLevel |
| 48 | +// ... found client : TwoTanksExample.Requirements.Volume_of_a_tank |
| 49 | +// ... infer binding TwoTanksExample.Requirements.Volume_of_a_tank TwoTanksExample.Requirements.Volume_of_a_tank |
| 50 | +// ... found provider TwoTanksExample.Design.Components.Tank |
| 51 | +// ... found provider TwoTanksExample.Design.Components.Tank |
| 52 | +// ... found instance provider TwoTanksExample.Requirements.Volume_of_a_tank |
| 53 | +// **** Applying modifier _agen_Volume_of_a_tank3_autogen_bind_0 |
| 54 | +// **** Applying modifier _agen_Volume_of_a_tank3_autogen_bind_1 |
| 55 | +// ... infer binding TwoTanksExample.Requirements.LiquidLevel TwoTanksExample.Requirements.LiquidLevel |
| 56 | +// ... found provider TwoTanksExample.Design.Components.Tank |
| 57 | +// ... found provider TwoTanksExample.Design.Components.Tank |
| 58 | +// ... found instance provider TwoTanksExample.Requirements.LiquidLevel |
| 59 | +// **** Applying modifier _agen_LiquidLevel2_autogen_bind_0 |
| 60 | +// **** Applying modifier _agen_LiquidLevel2_autogen_bind_1 |
| 61 | +// ... infer binding TwoTanksExample.Design.Components.Source TwoTanksExample.Design.TwoTanksDesign |
| 62 | +// ... found provider TwoTanksExample.Scenarios.Overflow |
| 63 | +// ... found instance provider TwoTanksExample.Design.TwoTanksDesign |
| 64 | +// **** Applying modifier _agen_TwoTanksDesign1 |
| 65 | +// ******** Autogenerated classes: |
| 66 | +// package VerificationModels |
| 67 | +// model verif_model_autogen_1 "Autogenerated verification model" |
| 68 | +// TwoTanksExample.Requirements.Volume_of_a_tank _agen_Volume_of_a_tank3_autogen_bind_0(tankVolume = _agen_TwoTanksDesign1.tank1.volume); |
| 69 | +// TwoTanksExample.Requirements.Volume_of_a_tank _agen_Volume_of_a_tank3_autogen_bind_1(tankVolume = _agen_TwoTanksDesign1.tank2.volume); |
| 70 | +// TwoTanksExample.Requirements.LiquidLevel _agen_LiquidLevel2_autogen_bind_0(waterLevel = _agen_TwoTanksDesign1.tank1.levelOfLiquid); |
| 71 | +// TwoTanksExample.Requirements.LiquidLevel _agen_LiquidLevel2_autogen_bind_1(waterLevel = _agen_TwoTanksDesign1.tank2.levelOfLiquid); |
| 72 | +// TwoTanksExample.Design.TwoTanksDesign _agen_TwoTanksDesign1(source.flowLevel = _agen_Overflow0.flowLevel); |
| 73 | +// TwoTanksExample.Scenarios.Overflow _agen_Overflow0; |
| 74 | +// end verif_model_autogen_1; |
| 75 | +// |
| 76 | +// model verif_model_autogen_0 "Autogenerated verification model" |
| 77 | +// TwoTanksExample.Requirements.Volume_of_a_tank _agen_Volume_of_a_tank3_autogen_bind_0(tankVolume = _agen_TwoTanksDesign1.tank1.volume); |
| 78 | +// TwoTanksExample.Requirements.Volume_of_a_tank _agen_Volume_of_a_tank3_autogen_bind_1(tankVolume = _agen_TwoTanksDesign1.tank2.volume); |
| 79 | +// TwoTanksExample.Requirements.LiquidLevel _agen_LiquidLevel2_autogen_bind_0(waterLevel = _agen_TwoTanksDesign1.tank1.levelOfLiquid); |
| 80 | +// TwoTanksExample.Requirements.LiquidLevel _agen_LiquidLevel2_autogen_bind_1(waterLevel = _agen_TwoTanksDesign1.tank2.levelOfLiquid); |
| 81 | +// TwoTanksExample.Design.TwoTanksDesign _agen_TwoTanksDesign1(source.flowLevel = _agen_Normal_operation0.flowLevel); |
| 82 | +// TwoTanksExample.Scenarios.Normal_operation _agen_Normal_operation0; |
| 83 | +// end verif_model_autogen_0; |
| 84 | +// end VerificationModels |
| 85 | +// true |
| 86 | +// "" |
| 87 | +// "package VerificationModels |
| 88 | +// model verif_model_autogen_1 \"Autogenerated verification model\" |
| 89 | +// TwoTanksExample.Requirements.Volume_of_a_tank _agen_Volume_of_a_tank3_autogen_bind_0(tankVolume = _agen_TwoTanksDesign1.tank1.volume); |
| 90 | +// TwoTanksExample.Requirements.Volume_of_a_tank _agen_Volume_of_a_tank3_autogen_bind_1(tankVolume = _agen_TwoTanksDesign1.tank2.volume); |
| 91 | +// TwoTanksExample.Requirements.LiquidLevel _agen_LiquidLevel2_autogen_bind_0(waterLevel = _agen_TwoTanksDesign1.tank1.levelOfLiquid); |
| 92 | +// TwoTanksExample.Requirements.LiquidLevel _agen_LiquidLevel2_autogen_bind_1(waterLevel = _agen_TwoTanksDesign1.tank2.levelOfLiquid); |
| 93 | +// TwoTanksExample.Design.TwoTanksDesign _agen_TwoTanksDesign1(source.flowLevel = _agen_Overflow0.flowLevel); |
| 94 | +// TwoTanksExample.Scenarios.Overflow _agen_Overflow0; |
| 95 | +// end verif_model_autogen_1; |
| 96 | +// |
| 97 | +// model verif_model_autogen_0 \"Autogenerated verification model\" |
| 98 | +// TwoTanksExample.Requirements.Volume_of_a_tank _agen_Volume_of_a_tank3_autogen_bind_0(tankVolume = _agen_TwoTanksDesign1.tank1.volume); |
| 99 | +// TwoTanksExample.Requirements.Volume_of_a_tank _agen_Volume_of_a_tank3_autogen_bind_1(tankVolume = _agen_TwoTanksDesign1.tank2.volume); |
| 100 | +// TwoTanksExample.Requirements.LiquidLevel _agen_LiquidLevel2_autogen_bind_0(waterLevel = _agen_TwoTanksDesign1.tank1.levelOfLiquid); |
| 101 | +// TwoTanksExample.Requirements.LiquidLevel _agen_LiquidLevel2_autogen_bind_1(waterLevel = _agen_TwoTanksDesign1.tank2.levelOfLiquid); |
| 102 | +// TwoTanksExample.Design.TwoTanksDesign _agen_TwoTanksDesign1(source.flowLevel = _agen_Normal_operation0.flowLevel); |
| 103 | +// TwoTanksExample.Scenarios.Normal_operation _agen_Normal_operation0; |
| 104 | +// end verif_model_autogen_0; |
| 105 | +// end VerificationModels;" |
| 106 | +// "" |
| 107 | +// endResult |
0 commit comments