Ticket #6163: TestConstrainedBy.mo

File TestConstrainedBy.mo, 830 bytes (added by Francesco Casella, 6 years ago)
Line 
1package TestConstrainedBy
2 partial package BaseMedium
3 partial function f
4 input Real x;
5 output Real y;
6 end f;
7 end BaseMedium;
8
9 package RegularMedium
10 extends BaseMedium;
11 redeclare function extends f
12 algorithm
13 y :=3*x^3;
14 end f;
15 end RegularMedium;
16
17 package AdvancedMedium
18 extends BaseMedium;
19 function fa
20 input Real x;
21 output Real y;
22 algorithm
23 y := 3*x^2;
24 end fa;
25 end AdvancedMedium;
26
27 model Component
28 replaceable package Medium = AdvancedMedium constrainedby BaseMedium;
29 Real x = Medium.fa(time);
30 end Component;
31
32 model SystemOK
33 Component c;
34 end SystemOK;
35
36 model SystemBroken
37 Component c(redeclare package Medium = RegularMedium);
38 end SystemBroken;
39end TestConstrainedBy;