SIDMAR Steel Production Plant Crane A Case study of Esprit-LTR - - PDF document

sidmar steel production plant
SMART_READER_LITE
LIVE PREVIEW

SIDMAR Steel Production Plant Crane A Case study of Esprit-LTR - - PDF document

SIDMAR Steel Production Plant Crane A Case study of Esprit-LTR Machine 2 Machine 3 Machine 1 project 26270 VHS A Case-Study: ( V erification of H ybrid Lane 1 Machine 4 Machine 5 S ystems). Physical plant of SIDMAR Guided


slide-1
SLIDE 1

1

Paul Pettersson, Uppsala Universitet. Sverige.

A Case-Study: Guided Synthesis of Control- Programs using UPPAAL

2

Paul Pettersson, Uppsala Universitet. Sverige.

SIDMAR Steel Production Plant

Machine 1 Machine 2 Machine 3 Machine 4 Machine 5 Buffer Continuos Casting Machine Storage Place Crane B Crane A

  • Case study of Esprit-LTR

project 26270 VHS (Verification of Hybrid Systems).

  • Physical plant of SIDMAR

located in Gent, Belgium.

  • Part between blast furnace and

hot rolling mill. Objective: model the plant,

  • btain schedule and control

program for plant.

Lane 1 Lane 2

3

Paul Pettersson, Uppsala Universitet. Sverige.

Steel Production Plant

Machine 1 Machine 2 Machine 3 Machine 4 Machine 5 Buffer Continuos Casting Machine Storage Place Crane B Crane A

Load follows Recipe to become certain quality, e.g: start; T1@10; T2@20; T3@10; T2@10; end within 120. Output: sequence of higher quality steel.

Lane 1 Lane 2

Input: sequence of steel loads (“pigs”).

4

Paul Pettersson, Uppsala Universitet. Sverige.

Steel Production Plant

Machine 1 Machine 2 Machine 3 Machine 4 Machine 5 Buffer Continuos Casting Machine Storage Place Crane B Crane A

Input: sequence of steel loads (“pigs”).

@10 @20 @10 @10 @40

Load follows Recipe to become certain quality, e.g: start; T1@10; T2@20; T3@10; T2@10; end within 120. Output: sequence of higher quality steel.

Lane 1 Lane 2 2 2 2 5 6

∑=107

5

Paul Pettersson, Uppsala Universitet. Sverige.

Steel Production Plant

Machine 1 Machine 2 Machine 3 Machine 4 Machine 5 Buffer Continuos Casting Machine Storage Place Crane B Crane A

Input: sequence of steel loads (“pigs”).

@10 @20 @10 @10 @40

Load follows Recipe to

  • btain certain quality, e.g:

start; T1@10; T2@20; T3@10; T2@10; end within 120. Output: sequence of higher quality steel.

Lane 1 Lane 2 2 2 2

15 16 ∑=127

6

Paul Pettersson, Uppsala Universitet. Sverige.

Difficulties and Problems

  • Timing and Precedence constraints

(e.g. sequence of treatments and completion time defined by recipe).

  • Several instances of the same resources

(e.g. two machines of type 1 and 2).

  • Moving resource

(e.g. the cranes).

  • Resources may “block” other resources

(e.g the loads and the cranes).

  • Resources that cannot idle

(e.g. the casting machine)

Feasible schedule for given output sequence?

slide-2
SLIDE 2

7

Paul Pettersson, Uppsala Universitet. Sverige.

Modus Operandi

Physical Plant Plant Model Trace Program

  • 2. Reformulate

scheduling as reachability and apply UPPAAL tool.

  • 3. Synthesise

program.

  • 1. Model plant as

networks of timed automata.

  • 4. Execute

program.

8

Paul Pettersson, Uppsala Universitet. Sverige.

Overview of Plant Model

Machine 1 & 4 Machine 2 & 5 Machine 3 Crane A Crane B Casting Machine Load Positions Recipe Production Order TEST BATCHES PLANT

Check for E<>( test.final )

UPPAAL generates diagnostic trace if property holds.

9

Paul Pettersson, Uppsala Universitet. Sverige.

Load Automaton

  • Models all possible movements of load in plant.
  • Clock tRB1 used to model time consumption.
  • Bit vectors posI and posII models mutex in plant.

10

Paul Pettersson, Uppsala Universitet. Sverige.

Crane A

  • Models possible movements
  • f crane A.
  • Mutex modeled using bit

vector cpos.

  • Clock tCA used to model

time consuming horizontal and vertical movements.

  • Crane B is similar.

11

Paul Pettersson, Uppsala Universitet. Sverige.

Steel Recipe

  • Clock tot to constrain upper total time bound.
  • Clock t to measure duration of machine treatment.
  • Channel quality1! signaled when steel converted.

12

Paul Pettersson, Uppsala Universitet. Sverige.

Production Order

  • Specifies the steel qualities to be produced.
  • Allows for scheduling to be reformulated as

reachability.

  • Reachable only with feasible schedule.
  • E<>( final )
slide-3
SLIDE 3

13

Paul Pettersson, Uppsala Universitet. Sverige.

Overview Plant Model

  • System with 5 steel loads:

Parallel composition of:

– 15 timed automata (6 - 60 locations), – 18 real-valued clocks, – 28 bounded integer variables, – 140 action channels.

  • Feasible schedule: approx. 320 transitions.

14

Paul Pettersson, Uppsala Universitet. Sverige.

Modus Operandi

Physical Plant Plant Model Trace Program

  • 3. Synthesise

program.

  • 1. Model plant as

networks of timed automata.

  • 2. Reformulate

scheduling as reachability and apply UPPAAL . Verification Result: Generating schedule for three batches impossible.

  • 4. Execute

program.

15

Paul Pettersson, Uppsala Universitet. Sverige.

Modus Operandi

Physical Plant Plant Model Trace Program

  • 3. Synthesise

program.

  • 1. Model plant as

networks of timed automata. Guided Plant Model

  • 2. Add guides to

plant model to restrict behaviour.

  • 3. Reformulate

scheduling as reachability and apply UPPAAL .

  • 4. Execute

program.

16

Paul Pettersson, Uppsala Universitet. Sverige.

Guiding the Model

Idea: Guide model according to chosen strategies: – enforce desired behaviors, – restrict undesired behaviors. Implementation: Annotate model with: – clock and integer variables, – assignments (to added clock or variable), and – guards (to any clock or variable). Fact: Trace of guided model is guaranteed to be trace of unguided model.

17

Paul Pettersson, Uppsala Universitet. Sverige.

General Strategies

  • Enforce desired behaviours:

– greedy strategy, whenever possible, move closer to goal.

  • Restrict undesired behaviours:

– reduce point-less moving.

  • Reduce the number of non-deterministic choices:

– define local goal and chose one particular way to reach this goal.

18

Paul Pettersson, Uppsala Universitet. Sverige.

Guided Plant Model

  • Recipes:

– enter new loads in plant based on production order, – define local goals for load, – back-propagated time bounds.

  • Cranes, if:

– busy: following load strategy, – idle: if there is a load to pick up, OR if blocking other crane.

Recipe:

slide-4
SLIDE 4

19

Paul Pettersson, Uppsala Universitet. Sverige.

Guided Load Model

  • Greedy w.r.t. local goal (defined by recipe).
  • Less point-less moving and non-determinism.

20

Paul Pettersson, Uppsala Universitet. Sverige.

“Verification” Results

  • Parallel system with: 15 automata, 18 clocks, 33 integers,

140 action channels.

  • Guided plant model (with different recipes):

– 3 batches consumes 1 sec, 2MB, – 5 batches consumes 42 sec, 4.5 MB.

  • Plant model without guides:

– 3 batches impossible!

  • Scheduling problem reformulated as reachability and

analysed with UPPAAL

  • n Pentium 150 MHz equipped with 32 MB RAM (+ 64 MB Swap).

21

Paul Pettersson, Uppsala Universitet. Sverige.

Experiment

  • BFS = breadth-first search, DFS = depth-first search, BSH = bit-state hashing,
  • “-” = requires >2h (on 450MHz Pentium III), >256 MB, or suitable hash-table size was not found.
  • System size: 2n+5 automata and 3n+3 clocks, if n=35: 75 automata and 108 clocks.
  • Schedule generated for n=60 on Sun Ultra with 2x300MHz with 1024MB in 2257s .

A l l G u i d e s S o m e G u i d e s N o G u i d e s n B F S D F S B S H B F S D F S B S H B F S D F S B S H s M B s M B s M B s M B s M B s M B s M B s M B s M B

1 0,1 0,9 0,1 0,9 0,1 0,9 0,1 0,9 0,1 0,9 0,1 0,9 3,2 6,1 0,8 2,2 3.9 3.3 2 18,4 36,4 0,1 1 0,1 1,1

  • 4,4

7,8 7,8 1,2

  • 19,5

36,1

  • 3
  • 3,2

6,5 3,4 1,4

  • 72,4

92,1 901 3,4

  • 4
  • 4

8,2 4,6 1,8

  • 5
  • 5

10,2 5,5 2,2

  • 10
  • 13,3

25,3 16,1 9,3

  • 15
  • 31,6

51,2 48,1 22,2

  • 20
  • 61,8

89,6 332 46,1

  • 25
  • 104

144 87,2 83,3

  • 30
  • 166

216 124,2 136

  • 35

209 250

  • 22

Paul Pettersson, Uppsala Universitet. Sverige.

Modus Operandi

Physical Plant Plant Model Trace Program

  • 4. Synthesise

program.

  • 1. Model plant as

networks of timed automata. Guided Plant Model

  • 2. Add guides to

plant model to restrict behaviour.

  • 3. Reformulate

scheduling as reachability and apply UPPAAL . Experiment

  • 4. Execute

program.

23

Paul Pettersson, Uppsala Universitet. Sverige.

LEGO Plant Model

  • LEGO RCX

Mindstorms.

  • Local controllers

with control programs.

  • IR protocol for

remote invocation of programs.

  • Central controller.

m1 m2 m3 m4 m5 crane a crane b casting storage buffer central controller

24

Paul Pettersson, Uppsala Universitet. Sverige.

LEGO Plant Model

Mindstorm RCX Brick Belt/Machine Unit.

slide-5
SLIDE 5

25

Paul Pettersson, Uppsala Universitet. Sverige.

Local Control Programs

  • Belts:

–move left/right, –receive from left/right,

  • Machine:

–start, –stop, –move left/right, –receive from left/right,

  • Cranes:

–move up/down, –set down, –pick up,

  • Casting Machine:

–start, –stop,

  • ...

Generate Global Control Program!

26

Paul Pettersson, Uppsala Universitet. Sverige.

Extracting Programs

Trace

... ( loadB1.p1 recipeB1.gotoT1 loadB2... { loadB1.x=5 recipeB1.tot=5 recipeB1… Sync: b1right ( loadB1.pre recipeB1.gotoT1 loadB2… { loadB1.x=5 recipeB1.tot=5 recipeB1… delay( 5 ) ( loadB1.pre recipeB1.gotoT1 loadB2… { loadB1.x=10 recipeB1.tot=10 recipe… Sync: B1M1on ( loadB1.onM1 recipeB1.onT1 loadB2… { loadB1.x=0 recipeB1.tot=10 recipe… delay( 10 ) ( loadB1.onM1 recipeB1.onT1 loadB2… { loadB1.x=10 recipeB1.tot=20 recipe… Sync: B1M1off ( loadB1.pre recipeB1.gotoT2 loadB2… { loadB1.x=0 recipeB1.tot=20 recipe...

Schedule

... loadB1 right delay 5 load B1 on Machine 1 delay 10 load B1 off Machine 1 ...

Program

... // Belt Unit 1 move RIGHT PB.SendPBMessage 2, 20 // Delay 5 PB.Wait 2, 500 // Machine 1 START PB.SendPBMessage 2, 23 // Delay 10 PB.Wait 2, 100 // Machine 2 STOP PB.SendPBMessage 2,24 ...

27

Paul Pettersson, Uppsala Universitet. Sverige.

Modus Operandi

Physical Plant Plant Model Trace Program

  • 4. Synthesise

program.

  • 1. Model plant as

networks of timed automata. Guided Plant Model

  • 2. Add guides to

plant model to restrict behaviour.

  • 3. UPPAAL to generate

“schedule” by reachability analysis.

1971 lines of RCX code (n=5), 24860 - “ - (n=60).

Experiment

  • 4. Execute

program.

Specification Errors.

28

Paul Pettersson, Uppsala Universitet. Sverige.

Validation Results

  • Specification errors:

– Wrong order of starting the cranes. – Casting machine only turned once in one batch system. – Missing delay between lifting and moving crane.

  • Real life errors:

– mechanical failures, – old batteries, – ... 29

Paul Pettersson, Uppsala Universitet. Sverige.

Conclusion

  • Timed automata allows flexible modeling.
  • Model checking useful for solving scheduling problems.
  • Guiding allows for reachability analysis of system with n=35

instead of n=2 in this case study.

  • Model errors found by executing synthesized control-

program in a physical plant.