@@ -110,15 +110,21 @@ package ChangingFeatureValuesExecution {
110110 #atom
111111 behavior MyPaint specializes Paint {
112112 feature redefines objectToPaint : MyProduct;
113- step redefines painting : PaintingMyProductFeatureWrite;
114- step redefines painted : PaintedMyProductFeatureWrite;
113+ step redefines painting : PaintingMyProductFeatureWrite {
114+ in onOccurrence;
115+ }
116+ step redefines painted : PaintedMyProductFeatureWrite {
117+ in onOccurrence;
118+ }
115119 succession redefines p_before_p : MyPaintingFW_Before_PaintFW_Link first painting then painted;
116120 }
117121
118122 #atom
119123 behavior MyDry specializes Dry {
120124 feature redefines objectToDry : MyProduct;
121- step redefines dried : MyProductFeatureWrite;
125+ step redefines dried : MyProductFeatureWrite {
126+ in onOccurrence;
127+ }
122128 }
123129 #atom
124130 assoc MyPaint_Before_Dry_Link specializes HappensBefore {
@@ -128,7 +134,9 @@ package ChangingFeatureValuesExecution {
128134 #atom
129135 behavior MyShip specializes Ship {
130136 feature redefines objectToShip : MyProduct;
131- step redefines shipped : MyProductFeatureWrite;
137+ step redefines shipped : MyProductFeatureWrite {
138+ in onOccurrence;
139+ }
132140 }
133141 #atom
134142 assoc MyDry_Before_Ship_Link specializes HappensBefore {
@@ -144,7 +152,9 @@ package ChangingFeatureValuesExecution {
144152 feature obPiS chains objectToFinish.beforePaint.isShipped = false;
145153
146154
147- step redefines paint : MyPaint;
155+ step redefines paint : MyPaint {
156+ feature redefines paint::objectToPaint, MyPaint::objectToPaint;
157+ }
148158 feature subsets objectToFinish.beforePaint.immediateSuccessors,
149159 objectToFinish.whilePainting.startShot.timeCoincidentOccurrences
150160 chains paint.painting.endShot;
@@ -161,7 +171,9 @@ package ChangingFeatureValuesExecution {
161171 feature oaPiS chains objectToFinish.afterPaint.isShipped = false;
162172
163173
164- step redefines dry : MyDry;
174+ step redefines dry : MyDry {
175+ feature redefines dry::objectToDry, MyDry::objectToDry;
176+ }
165177 succession redefines p_before_d : MyPaint_Before_Dry_Link [1] first paint then dry;
166178 feature subsets objectToFinish.afterPaint.immediateSuccessors,
167179 objectToFinish.afterDry.startShot.timeCoincidentOccurrences
@@ -171,7 +183,9 @@ package ChangingFeatureValuesExecution {
171183 feature oaDiS chains objectToFinish.afterDry.isShipped = false;
172184
173185
174- step redefines ship : MyShip;
186+ step redefines ship : MyShip {
187+ feature redefines ship::objectToShip, MyShip::objectToShip;
188+ }
175189 succession redefines d_before_s : MyDry_Before_Ship_Link [1] first dry then ship;
176190 feature subsets objectToFinish.afterDry.immediateSuccessors,
177191 objectToFinish.afterShip.startShot.timeCoincidentOccurrences
0 commit comments