Dynamic Scheduling in the Laboratory Problems and Solutions

Size: px
Start display at page:

Download "Dynamic Scheduling in the Laboratory Problems and Solutions"

Transcription

1 Fachhochschule Wiesbaden Computer Science Department Dynamic Scheduling in the Laboratory Problems and Solutions Reinhold Schaefer Wiesbaden, Wiesbaden, Germany

2 Table of contents Scenario Workflows and essential elements Scheduling and re-scheduling Execution of working plans Error handling Summary 2005 Reinhold Schäfer 2

3 What is scheduling? Set of resources (machines, lab devices) Set of objects (samples) to be processed on these resources Find the best timing for the processing Examples: building construction, car production, sample analyses 2005 Reinhold Schäfer 3

4 Scheduling on a lab work bench A Input port B C D Output port In A B C D Out In A B C D Out Conflicts: Different objects at the same time on the same resource To be solved by rearranging of time slots or usage of additional resources 2005 Reinhold Schäfer 4

5 The process Static components: Devices with specific task(s): location, commands, material port(s), data port(s), initialization, configuration, availability, dependencies to other devices, maintenance Dynamic components: Samples/wafers being processed on the devices: sample handling, sample preparation, testing 2005 Reinhold Schäfer 5

6 Resources Resources defined via capabilities: Device attribute or set of device attributes Device group: Devices with some identical capabilities (set of devices from different manufacturers) Device type: Devices with identical capabilities (identical manufacturer, identical type) Specific device Capability List of devices, device types, device groups 2005 Reinhold Schäfer 6

7 Our environment Production of electronic circuits on wafers (synthetic process) Product = wafer = material Laboratory automation (analytical process) Product = results = information material information 2005 Reinhold Schäfer 7

8 Requirements for the process modeling Existence of activities controlling all device attributes In-process control by sensors Conditional branching Availability of loops 24/7 operation automated error management Documentation as part of the process 2005 Reinhold Schäfer 8

9 The activity Use a command to execute an operation on a device with certain capabilities. Examples of activities: Device control Sensor readout Storage operation Documentation step Sample split or merge Program start 2005 Reinhold Schäfer 9

10 Design of the activities 3 1 Post Time constraints to the predecessing activities Time constraints to the next activities A Pre trigger Pre Variables Post trigger 5 Branching to an error workflow 6 Consumables 7 Durables 8 Variables 2005 Reinhold Schäfer 10

11 Functionality of activities Scheduler relevant information Timing (min / max duration) Constraints and delays Execution relevant information Commands Execution parameters Variables 2005 Reinhold Schäfer 11

12 Workflow libraries Problem: functional separation of tasks Chemist chemistry System administrator system control functionality Several activities may be combined to macros Handling steps included in macros Exchange of parameter values Macro Macros reusable 2005 Reinhold Schäfer 12

13 Hidden transport chain Device 1 A1 NOP parallel chain chain Robot approach grasp move release moveaway chain chain parallel parallel Device 2 NOP NOP A2 Legend: Colored = transport macro chain chain 2005 Reinhold Schäfer 13

14 Multi position device Problem: How can several samples utilize different slots on one device in parallel? Solution: Scheduling algorithms has to provide this feature Same paradigm for Shaking devices Automated sampler carousels Material input ports Material output ports Hotels Parking positions on the work bench Micro plates 2005 Reinhold Schäfer 14

15 Manual interactions Problem: Unknown execution time for operations with manual interactions Solution: Set maximum duration for command execution Use timeout mechanism Completion notification via push button Generation of post trigger manop_finished Command to operator Operator notification next operation maxdelay manop finished 2005 Reinhold Schäfer 15

16 Workflows as XML schema Interface to the outside world Structure defined in a schema Possibility of an automated validation 2005 Reinhold Schäfer 16

17 Activities as part of the workflow XML schema Interface to the outside world Structure defined in a schema Possibility of an automated validation 2005 Reinhold Schäfer 17

18 Working plan yes branch 1 2 Working plan 4 No 3 Yes Device 1 Device 2 Device Manual Workflow Time 2005 Reinhold Schäfer 18

19 Working plan no branch 1 2 Working plan 4 No 3 Yes Device 1 Device 2 Device Manual 5-S 5-F Workflow Time 2005 Reinhold Schäfer 19

20 Working plan complete 1 2 Working plan 4 No 3 Yes Device 1 Device 2 Device Manual 5-S 5-F Workflow Zeit 2005 Reinhold Schäfer 20

21 Working plan complete 1 2 Yes branch Norm branch No branch No 3 Yes 6 Yes branch Norm branch No branch Yes branch Norm branch No branch 9 Yes branch Norm branch 10 No branch 5-S 5-F Workflow Working plan Time 2005 Reinhold Schäfer 21

22 Resource reservation times No 3 Yes S 5-F Workflow Working plan Time 2005 Reinhold Schäfer 22

23 Scheduling algorithm functionalities Rearrangement of sample oriented workflows to device oriented working plans considering Timing restrictions Activity constraints Non interruptible sequences Multi position devices Multiple identical instruments A really complex task! 2005 Reinhold Schäfer 23

24 Scheduling system s functionality Estimate calculation time Calculate the working plan In case of exceptions: Continue uneffected samples Re-schedule the working plan Synchronize running plan with new plan Activate new plan 2005 Reinhold Schäfer 24

25 Estimation of calculation time Ad hoc samples Introduced into the system Legend: 1 Estimation of restart time 2 Calculation time 3 Safety buffer Reinhold Schäfer 25

26 Terms and definitions Scheduling: Arrangement of activities over time utilizing all constraints. Activities may belong to different samples. Static scheduling: All activities and constraints are defined before calculation starts. Dynamic scheduling: Some activities and their constraints are added during the calculation process Reinhold Schäfer 26

27 Scheduling system: time related view Order Workflow creation Job Expansion High level description of the process with capability needs Utilization of macro library Hiding of transports Scheduling Assignment of specific devices Calculation of working plans Automated usage of multi position instruments time Execution Control of devices Result acquisition Error handling 2005 Reinhold Schäfer 27

28 Scheduling system: information related view Workflows Samples Maintenance WFs Workflow library Scheduler Error WFs Static work bench description Dynamic work bench description Work bench control 2005 Reinhold Schäfer 28

29 Dispatching plans Ad-hoc assignment of devices to activities (first come, first serve mode) Workflows are executed in parallel Next activity is assigned to unused device Need for a conflict resolution in case of multiple request at one time Time now 2005 Reinhold Schäfer 29 Time

30 Optimized scheduling Scheduling run generates a real working plan This is a solution Is it optimal referring the pre-specified criteria? Answer is not known, because no reference exists! Modify calculation parameters + calculate again Compare result referring pre-defined criteria Use best working plan for execution 2005 Reinhold Schäfer 30

31 Result handling (1) Intelligent device adaptor Results bypass scheduling system and go directly to the database (adaptor stores them) Storage location transferred via workflow parameters Error feedback separately Execution No re-scheduling capability initiated by result values Device adaptor Device DB 2005 Reinhold Schäfer 31

32 Result handling (2) Pseudo device for DB access Pseudo device for DB Performs DB operations Checks result plausibilities Seamless integrated error and re-scheduling handling Execution Device adaptor Device adaptor Remark: Pseudo devices may be used also for complex calculations Device DB 2005 Reinhold Schäfer 32

33 Error handling Error handling hidden Different exceptions in various phases (expansion, scheduling, execution) Standard error exits in activities with connected error workflows for standard recovery features clear error message redo command stop processing, ask operator assistance 2005 Reinhold Schäfer 33

34 Error workflow An error workflow is a workflow being initiated automatically in case of a device exception via the re-scheduling mechanism Consists of activities and control operators Error Instrument vendor Reaction class Pre-defined per installation Error workflow Written by system admin. Defined by user during workflow generation 2005 Reinhold Schäfer 34

35 Summary Process modeling via workflows coded in XML Addition of sample relevant information during instantiation of workflows Assignment of time slots on devices to activities Execution of device oriented working plans Definition of pseudo devices for DB, 2005 Reinhold Schäfer 35

36 Acknowledgements Dipl-Inform. (FH) Andreas Besier Dipl-Inform. (FH) Michael Bakoczy Dipl-Inform. Stephan Rudlof cand. inform. Burkhard Schäfer Dipl-Inform. (FH) Thomas Steinel Fraunhofer IPA Accelab GmbH, acp-it AG, Arias GmbH, evotec Technologies GmbH German Ministery of Economy and Labor as well as the companies provided the financial support under the program Innovative Networks (InnoNet) 2005 Reinhold Schäfer 36