Skip to content

Commit

Permalink
Merge pull request #83 from audrey-jardin/main
Browse files Browse the repository at this point in the history
Fix/update of unit tests for all ETL operators to natively embed clocks + update of CRML.mo (graphical annotation supported by OMEdit + new clock-based ETL operators)
  • Loading branch information
lenaRB committed May 8, 2024
2 parents 0fb648b + 6f742b1 commit 890bfe1
Show file tree
Hide file tree
Showing 168 changed files with 7,011 additions and 4,226 deletions.
8,287 changes: 5,244 additions & 3,043 deletions resources/modelica_libraries/CRML.mo

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,17 @@ within CRML_test.ETL.BecomesFalse;
partial model BecomesFalse
Utilities.Boolean4Connector b1
annotation (Placement(transformation(extent={{-120,10},{-100,-10}})));
Utilities.ClockConnector c_b1_becomes_false
CRML.ETL.Connectors.ClockOutput
c_b1_becomes_false
annotation (Placement(transformation(extent={{100,10},{120,-10}})));
CRML.Blocks.Events.ClockEvent clockEvent
annotation (Placement(transformation(extent={{-6,-6},{6,6}})));
CRML.Blocks.Events.Event4ToEvent event4ToEvent
annotation (Placement(transformation(extent={{-54,-4},{-46,4}})));
CRML.Blocks.Logical4.Not4 not4_1
annotation (Placement(transformation(extent={{-88,-10},{-68,10}})));
CRML.Blocks.Events.ShowEvent showEvent_c_b1_becomes_false
annotation (Placement(transformation(extent={{60,-56},{68,-48}})));
equation
connect(clockEvent.y, c_b1_becomes_false) annotation (Line(
points={{6.6,0},{110,0}},
Expand All @@ -22,7 +25,43 @@ equation
annotation (Line(points={{-54.4,0},{-67,0}}, color={162,29,33}));
connect(b1, not4_1.u)
annotation (Line(points={{-110,0},{-89,0}}, color={0,0,0}));
annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(
connect(showEvent_c_b1_becomes_false.u, event4ToEvent.y) annotation (Line(
points={{59.6,-52},{-36,-52},{-36,0},{-45.6,0}}, color={217,67,180}));
annotation (Icon(coordinateSystem(preserveAspectRatio=false), graphics={
Rectangle(
extent={{-100,102},{100,-98}},
lineColor={0,0,0},
fillColor={255,255,255},
fillPattern=FillPattern.Solid),
Text(
extent={{-250,170},{250,110}},
textString="%name",
lineColor={0,0,255}), Line(points={{-80,34},
{-50,34},{-4,34},{-50,34},{-50,34},{52,34}},
color={0,140,72},
pattern=LinePattern.Dot),
Line(points={{-86,-52},{-50,-52},{-50,-8},{-8,-8},{-8,-54},{-8,-54}},
color={0,0,0}),
Line(
points={{54,78},{54,34}},
color={0,140,72},
pattern=LinePattern.Dot),
Line(points={{-8,-54},{28,-54},{28,-8},{52,-8},{52,-54},{76,-54}},
color={0,0,0}),
Line(
points={{-8,78},{-8,34}},
color={0,140,72},
pattern=LinePattern.Dot),
Ellipse(
extent={{44,88},{64,68}},
lineColor={0,140,72},
fillColor={255,255,255},
fillPattern=FillPattern.Solid),
Ellipse(
extent={{-18,88},{2,68}},
lineColor={0,140,72},
fillColor={255,255,255},
fillPattern=FillPattern.Solid)}), Diagram(
coordinateSystem(preserveAspectRatio=false)),
Documentation(info="<html>
</html>"));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
within CRML_test.ETL.BecomesFalse;
model BecomesFalse_externals
CRML.Blocks.Events.EventPeriodic eventPeriodic_1(period=3, startTime=2)
CRML.Blocks.Logical.BooleanTable booleanTable(
y0=false,
option_width=false,
instant={2.5,5,7.5,9})
annotation (Placement(transformation(extent={{-60,-10},{-40,10}})));
CRML.ETL.Connectors.Boolean4Output b1
annotation (Placement(transformation(extent={{100,-10},{120,10}})));
Expand All @@ -9,12 +12,12 @@ model BecomesFalse_externals
CRML.Blocks.Events.ShowEvent showEvent_eventPeriodic_b1
annotation (Placement(transformation(extent={{-20,-44},{-12,-36}})));
equation
connect(eventPeriodic_1.y, booleanToBoolean4_1.u)
connect(booleanTable.y, booleanToBoolean4_1.u)
annotation (Line(points={{-39,0},{-4.4,0}}, color={217,67,180}));
connect(booleanToBoolean4_1.y, b1)
annotation (Line(points={{4.4,0},{110,0}}, color={162,29,33}));
connect(eventPeriodic_1.y, showEvent_eventPeriodic_b1.u) annotation (Line(
points={{-39,0},{-28,0},{-28,-40},{-20.4,-40}}, color={217,67,180}));
connect(booleanTable.y, showEvent_eventPeriodic_b1.u) annotation (Line(points=
{{-39,0},{-28,0},{-28,-40},{-20.4,-40}}, color={217,67,180}));
annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(
coordinateSystem(preserveAspectRatio=false)));
end BecomesFalse_externals;
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,9 @@ model BecomesFalse_verif
extends BecomesFalse(event4ToEvent(x(start=true)));
BecomesFalse_externals externals
annotation (Placement(transformation(extent={{-200,0},{-140,60}})));
CRML.Blocks.Events.ShowEvent showEvent_c_b1_becomes_false
annotation (Placement(transformation(extent={{60,-74},{68,-66}})));
equation
// Bindings
b1 = externals.b1;
connect(showEvent_c_b1_becomes_false.u, event4ToEvent.y) annotation (Line(
points={{59.6,-70},{-20,-70},{-20,0},{-45.6,0}}, color={217,67,180}));
annotation (Placement(transformation(extent={{0,-20},{60,40}})),
Icon(coordinateSystem(preserveAspectRatio=false,
extent={{-200,-100},{100,100}},
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
BecomesFalse
BecomesFalse_externals
BecomesFalse_verif
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
within CRML_test.ETL.BecomesFalseInside;
partial model BecomesFalseInside
Utilities.Boolean4Connector b1
annotation (Placement(transformation(extent={{-120,60},{-100,40}})));
CRML.ETL.Connectors.ClockOutput c_b1_becomes_false_inside_p1
annotation (Placement(transformation(extent={{100,10},{120,-10}})));
Utilities.TimeLocatorConnector P1
annotation (Placement(transformation(extent={{-120,-60},{-100,-40}})));
CRML.ETL.Blocks.Events.BecomesFalse becomesFalse
annotation (Placement(transformation(extent={{-60,-10},{-40,10}})));
CRML.ETL.Blocks.Clocks.Inside inside
annotation (Placement(transformation(extent={{0,-10},{20,10}})));
equation
connect(b1, becomesFalse.b1) annotation (Line(points={{-110,50},{-80,50},{-80,
0},{-61,0}}, color={0,0,0}));
connect(P1, inside.tl) annotation (Line(points={{-110,-50},{-80,-50},{-80,-40},
{-20,-40},{-20,-3},{-1,-3}}, color={0,0,0}));
connect(inside.y, c_b1_becomes_false_inside_p1) annotation (Line(
points={{21,0},{110,0}},
color={175,175,175},
pattern=LinePattern.Dot,
thickness=0.5));
connect(becomesFalse.y, inside.u) annotation (Line(
points={{-39,0},{-6,0},{-6,3},{-1,3}},
color={175,175,175},
pattern=LinePattern.Dot,
thickness=0.5));
annotation (Icon(coordinateSystem(preserveAspectRatio=false), graphics={
Rectangle(
extent={{-100,100},{100,-100}},
lineColor={0,0,0},
fillColor={255,255,255},
fillPattern=FillPattern.Solid),
Line(
points={{28,78},{28,34}},
color={0,140,72},
pattern=LinePattern.Dot),
Text(
extent={{-250,170},{250,110}},
textString="%name",
lineColor={0,0,255}), Line(points={{-80,34},
{-50,34},{-50,78},{-50,78},{-50,34},{52,34}},
color={0,140,72},
pattern=LinePattern.Dot),
Line(points={{-86,34},{-50,34},{-50,78},{-8,78},{-8,32},{-8,34}},
color={162,29,33}),
Ellipse(
extent={{-18,88},{2,68}},
lineColor={0,140,72},
fillColor={0,140,72},
fillPattern=FillPattern.Solid),
Line(points={{-8,34},{28,34},{28,78},{52,78},{52,34},{76,34}},
color={162,29,33}),
Ellipse(
extent={{42,88},{62,68}},
lineColor={0,140,72},
fillColor={0,140,72},
fillPattern=FillPattern.Solid),
Line(points={{-90,-50},{-64,-50},{-64,-6},{16,-6},{16,-52},{84,-52}},
color={28,108,200}),
Ellipse(
extent={{-18,4},{2,-16}},
lineColor={0,140,72},
fillPattern=FillPattern.Solid,
fillColor={255,255,255})}), Diagram(
coordinateSystem(preserveAspectRatio=false)));
end BecomesFalseInside;
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
within CRML_test.ETL.BecomesFalseInside;
model BecomesFalseInside_externals
CRML.ETL.Connectors.Boolean4Output b1
annotation (Placement(transformation(extent={{100,30},{120,50}})));
CRML.Blocks.Logical4.BooleanToBoolean4 booleanToBoolean4_1
annotation (Placement(transformation(extent={{-4,36},{4,44}})));
public
CRML.Blocks.Logical.BooleanTable booleanTable2(
y0=false,
option_width=false,
instant={3.5,4.5})
annotation (Placement(transformation(extent={{-60,30},{-40,50}})));
CRML.ETL.Connectors.TimeLocatorOutput
P1
annotation (Placement(transformation(extent={{100,-50},{120,-30}})));
CRML.Blocks.Logical.BooleanTable booleanTable(option_width=false, instant={
2.5,5,7.5,9})
annotation (Placement(transformation(extent={{-60,-30},{-40,-10}})));
CRML.Blocks.Events.ShowEvent showEvent_b1
annotation (Placement(transformation(extent={{16,-14},{24,-6}})));
CRML.TimeLocators.Continuous.During during
annotation (Placement(transformation(extent={{40,-40},{60,-20}})));
CRML.Blocks.Logical4.BooleanToBoolean4 booleanToBoolean4_3
annotation (Placement(transformation(extent={{-4,-34},{4,-26}})));
equation
connect(booleanToBoolean4_1.y, b1)
annotation (Line(points={{4.4,40},{110,40}},
color={162,29,33}));
connect(booleanTable2.y, booleanToBoolean4_1.u)
annotation (Line(points={{-39,40},{-4.4,40}}, color={217,67,180}));
connect(booleanTable.y, showEvent_b1.u) annotation (Line(points={{-39,-20},{
-12,-20},{-12,-10},{15.6,-10}}, color={217,67,180}));
connect(booleanTable.y, booleanToBoolean4_3.u) annotation (Line(points={{-39,
-20},{-12,-20},{-12,-30},{-4.4,-30}}, color={217,67,180}));
connect(booleanToBoolean4_3.y,during. u)
annotation (Line(points={{4.4,-30},{39,-30}}, color={162,29,33}));
connect(P1, during.y[1])
annotation (Line(points={{110,-40},{50,-40}}, color={0,0,255}));
annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(
coordinateSystem(preserveAspectRatio=false)));
end BecomesFalseInside_externals;
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
within CRML_test.FORML.EnsureAtEnd;
model EnsureAtEnd_verif_ref
extends EnsureAtEnd.EnsureAtEnd_ref;
EnsureAtEnd.EnsureAtEnd_externals externals
within CRML_test.ETL.BecomesFalseInside;
model BecomesFalseInside_verif
extends BecomesFalseInside;
BecomesFalseInside_externals externals
annotation (Placement(transformation(extent={{-200,0},{-140,60}})));
equation
// Bindings
e1 = externals.event1;
e2 = externals.event2;
u = externals.u;
b1 = externals.b1;
P1 = externals.P1;
annotation (Placement(transformation(extent={{0,-20},{60,40}})),
Icon(coordinateSystem(preserveAspectRatio=false,
extent={{-200,-100},{100,100}},
Expand All @@ -25,4 +24,4 @@ equation
extent={{-200,-100},{100,100}},
initialScale=0.1)),
experiment(StopTime=14));
end EnsureAtEnd_verif_ref;
end BecomesFalseInside_verif;
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
within CRML_test.ETL;
package BecomesFalseInside
end BecomesFalseInside;
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
BecomesFalseInside
BecomesFalseInside_externals
BecomesFalseInside_verif
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
within CRML_test.ETL.BecomesFalseInside_no_ext;
model BecomesFalseInside_no_ext
CRML.Blocks.Logical.BooleanTable b2(
y0=false,
instant={3.5,4.5},
option_width=false)
annotation (Placement(transformation(extent={{-80,0},{-60,20}})));
CRML.Blocks.Logical4.BooleanToBoolean4 booleanToBoolean4_1
annotation (Placement(transformation(extent={{-24,6},{-16,14}})));
CRML.Blocks.Logical.BooleanConstant b3
annotation (Placement(transformation(extent={{-80,-40},{-60,-20}})));
CRML.Blocks.Logical4.BooleanToBoolean4 booleanToBoolean4_2
annotation (Placement(transformation(extent={{-24,-34},{-16,-26}})));
CRML.Blocks.Logical.BooleanConstant b4(K=false)
annotation (Placement(transformation(extent={{-80,-80},{-60,-60}})));
CRML.Blocks.Logical4.BooleanToBoolean4 booleanToBoolean4_3
annotation (Placement(transformation(extent={{-24,-74},{-16,-66}})));
CRML.ETL.Connectors.ClockOutput c_b2_becomes_true_inside_p1
annotation (Placement(transformation(extent={{100,20},{120,40}})));
CRML.ETL.Connectors.ClockOutput c_b3_becomes_true_inside_p1
annotation (Placement(transformation(extent={{100,-20},{120,0}})));
CRML.ETL.Connectors.ClockOutput c_b4_becomes_true_inside_p1
annotation (Placement(transformation(extent={{100,-60},{120,-40}})));
CRML.Blocks.Logical.BooleanTable b1(
y0=false,
option_width=false,
instant={2.5,5,7.5,9})
annotation (Placement(transformation(extent={{-180,50},{-160,70}})));
CRML.TimeLocators.Continuous.During during
annotation (Placement(transformation(extent={{-80,50},{-60,70}})));
CRML.Blocks.Logical4.BooleanToBoolean4 booleanToBoolean4_4
annotation (Placement(transformation(extent={{-124,56},{-116,64}})));
CRML.ETL.Blocks.Events.BecomesFalseInside becomesFalseInside
annotation (Placement(transformation(extent={{0,20},{20,40}})));
CRML.ETL.Blocks.Events.BecomesFalseInside becomesFalseInside2
annotation (Placement(transformation(extent={{0,-20},{20,0}})));
CRML.ETL.Blocks.Events.BecomesFalseInside becomesFalseInside1
annotation (Placement(transformation(extent={{0,-60},{20,-40}})));
equation
connect(b2.y, booleanToBoolean4_1.u)
annotation (Line(points={{-59,10},{-24.4,10}}, color={217,67,180}));
connect(b3.y, booleanToBoolean4_2.u) annotation (Line(points={{-59,-30},{
-24.4,-30}}, color={217,67,180}));
connect(b4.y, booleanToBoolean4_3.u)
annotation (Line(points={{-59,-70},{-24.4,-70}}, color={217,67,180}));
connect(b1.y, booleanToBoolean4_4.u)
annotation (Line(points={{-159,60},{-124.4,60}}, color={217,67,180}));
connect(booleanToBoolean4_4.y,during. u)
annotation (Line(points={{-115.6,60},{-81,60}},
color={162,29,33}));
connect(becomesFalseInside.y, c_b2_becomes_true_inside_p1) annotation (Line(
points={{21,30},{110,30}},
color={175,175,175},
pattern=LinePattern.Dot,
thickness=0.5));
connect(becomesFalseInside2.y, c_b3_becomes_true_inside_p1) annotation (Line(
points={{21,-10},{110,-10}},
color={175,175,175},
pattern=LinePattern.Dot,
thickness=0.5));
connect(becomesFalseInside1.y, c_b4_becomes_true_inside_p1) annotation (Line(
points={{21,-50},{110,-50}},
color={175,175,175},
pattern=LinePattern.Dot,
thickness=0.5));
connect(during.y[1], becomesFalseInside.P1)
annotation (Line(points={{-70,50},{-70,25},{-1,25}}, color={0,0,255}));
connect(becomesFalseInside2.P1, becomesFalseInside.P1) annotation (Line(
points={{-1,-15},{-40,-15},{-40,25},{-1,25}}, color={0,0,255}));
connect(becomesFalseInside1.P1, becomesFalseInside.P1) annotation (Line(
points={{-1,-55},{-40,-55},{-40,25},{-1,25}}, color={0,0,255}));
connect(becomesFalseInside.b1, booleanToBoolean4_1.y) annotation (Line(points=
{{-1,35},{-8,35},{-8,10},{-15.6,10}}, color={162,29,33}));
connect(booleanToBoolean4_2.y, becomesFalseInside2.b1) annotation (Line(
points={{-15.6,-30},{-8,-30},{-8,-5},{-1,-5}}, color={162,29,33}));
connect(booleanToBoolean4_3.y, becomesFalseInside1.b1) annotation (Line(
points={{-15.6,-70},{-8,-70},{-8,-45},{-1,-45}}, color={162,29,33}));
annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-250,
-100},{250,100}})), Diagram(
coordinateSystem(preserveAspectRatio=false, extent={{-250,-100},{250,
100}})));
end BecomesFalseInside_no_ext;
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
within CRML_test.ETL;
package BecomesFalseInside_no_ext
end BecomesFalseInside_no_ext;
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
BecomesFalseInside_no_ext
Loading

0 comments on commit 890bfe1

Please sign in to comment.