Abstract

Introduction
Although constant advances have been made during the past two decades in both hardware and software technologies used in the field of laboratory automation, many automated and robotic systems installed in laboratories are operating below their real capabilities. The enthusiasm generated by the development of an automated system is often quickly replaced by the frustration of realizing that the performance, flexibility and reliability of the installation simply do not meet expectations.
Under certain constraints, an automated system is usually designed to execute activities automatically on a number of resources. In order to coordinate the execution of these activities as efficiently as possible and to allocate the required resources on time, a piece of software called a scheduling engine is needed. The scheduling engine decides when an activity must be executed and on which resource in order to minimize the amount of time needed (or the cost) for completion of all activities. The scheduling engine of an automated system is not just another piece of software: it is the vital core technology which makes it possible for the system to execute all operations without violating any constraint. Existing schedulers have shown their limitations when handling the complex situations which are usually found in laboratory automation applications. Most of them offer a good user-interface as well as effective communication with instruments, but the scheduling engine itself is often quite limited in its ability to handle the situations that require real-time reactions and re-computing of existing schedules (viz., “rescheduling”).
Realizing the True Potential of Automated Systems
At Odysis SA in Switzerland, a new and innovative technology is currently under development that promises to give the automation industry what schedulers currently on the market cannot: effective rescheduling of automated tasks in real time. The name of this technology is Timension. With Timension embedded in their planning and scheduling applications, equipment manufacturers, software developers and system integrators will be able to build more productive, flexible and reliable automated systems.

A Rescheduling Engine designed to Empower Scheduling and Planning Applications.
Timension will be an open, universal and standard object-oriented package (Figure 1) which can be easily integrated by a software engineer with mastery of an object-oriented programming language such as C++ or Ada 95. It is designed to be embedded in automated systems dedicated to specific markets, applications and users.
Timension can be used to optimize the performance of automated systems subjected to unpredictable events such as alarms, breakdowns, exceptions, process or environment changes, process interruptions and delays, conditional processing, the unanticipated arrival of new items to handle, and a variety of other constraints. Not only will an automated system run better with this technology, but it will also perform at a level to meet, if not surpass, the user's expectations. Timension can be used in automated systems designed for R&D, quality control, production, supply-chain management, and a variety of other applications.
Highlights of the Technology
Just imagine the advantage of having a software that allows your automated and robotic system to accept, at any time, new samples for processing; to manage the refilling of reagent bottles automatically; to synchronize the production of unstable reagents; to select a scenario to execute on-the-fly according to a decision made at run time; to repair schedules when unexpected events such as breakdowns or delays occur; or to recover a complete process after a system crash. All this will be possible with Timension, whose numerous features include (Figure 2):
Object-oriented package
Interface to C++, Ada 95, and Visual Basic
Real-time rescheduling
Priorities management
Conditional processing
Consumable resources
Resources with limited-life duration
Resources with calendar
Multi-job, multi-batch, multi-process management
Assembling-disassembling constraints
Operations with fixed, variable and estimated duration's with timeouts
Must dates
Multi-level exceptions handling
Crash recovery
Pre-computed schedule loading
Physical real-time control and simulations

Rescheduling for the Real World
The Timension Model: The Power of Objects
Timension provides a series of predefined data structures with primitive operations (“classes”) that can be inherited by application programs for the purpose of creating and manipulating objects representing resources, activities, constraints or processes. The application program is responsible for defining its own communication protocols, user-interface and data management systems according to the needs of both the end-user and the company's markets. We will now turn to a brief discussion of Timension's four main classes:

A Robotic system at work
Resources
Activities
Links
Processes
Resources
A “resource” is a person or a thing that can perform certain operations oris needed for those operations to occur. A resource can be an employee, machinery, materials and supplies, an item to process, a vehicle, a storage unit, a facility, a software program or an abstract object. Resources can also include consumables (which need to be renewed or refilled when used up) and products with limited life-duration, such as unstable reagents.
Activities
An “activity” is a task or job to be scheduled and executed by Timension. An activity might be:
An operation with a fixed, variable, or estimated duration
A control for the scheduling of operations to allocate/deallocate resources, to produce/consume consumable units, deposit/retrieve resources in/from a container, select a branch in a scenario according to a decision made at run time or during scheduling
A scenario for grouping a logical set of operations and controls, to fill/empty a consumable, to start a timer (of a resource with limited life-duration), or to define an exceptions-handler.
Picture an automated analytical method in which, after a series of operations, a microplate must be incubated for two hours. Immediately after incubation, a robot is programmed to pick up the plate and bring it to a reader. Depending on the result of the reading, the microplate must either go back to the incubator for an extra hour or continue the process on a reagent dispenser.
Timension: A Universal Rescheduling Engine to Build more Productive, Flexible and Reliable Automated Systems, continued
This is a typical situation in which a decision can be made only at run time. How can the required resources be allocated/de-allocated so as to ensure that there will be no collisions or conflicts during the execution of operations? Timension offers the solution: it will compute a schedule, and then re-compute it once the decision is made.
Links
A “link” is a time constraint governing the coordination of two activities.
Processes
A “process” is a set of activities to be scheduled and executed by Timension on a set of resources. Several simulation processes can be executed in parallel for the sake of comparing different options in real time. Imagine that you are processing a batch of samples on your automated System. You want to see how the processing of that batch could be disturbed if you add a new batch. You can start a simulation process, add your new batch, and see how the schedule is affected. Armed with this prognostic information, you can then decide whether to start the new batch.
Real-Time Rescheduling
Timension reschedules the activities of a process whenever one of the following events occurs:
New activities are added to a process
An estimated duration becomes shorter or longer
The value of a conditional statement is known at run time
Execution of a scenario as an exceptions-handler
Modification of resource, activity or link attributes such as must-dates, priority, duration, etc.
Resource breakdowns
Activities and links are discarded
Resume after a crash
Exceptions-Handling
Exceptional situations can be handled by starting a scenario which can be associated with an activity (usually the activity which caused the exception).
A scenario which is launched in this way is called an “exceptions-handler.” The associated activity is suspended until the exceptions-handler completes its task.
At the end of the execution of the exceptions-handler, the activity, that is, the launching activity, given to the exceptions-handler resumes at the point in the process where it left off before the exceptional situation arose.
This mechanism even makes multi-level exceptions-handling possible (exceptions-handlers which are launched from other exceptions-handlers).
The Advantages of Timension
The innovative features of Timension's rescheduling technology certainly set it apart from other scheduling engines, but, more importantly, they promise to deliver to the automation industry the efficiency and flexibility that users have a right to expect in an automated system.
With Timension working behind the automated scenes, equipment manufacturers, software developers and system integrators will reap important rewards, all of which add up to improved performance and better margins:
Fastest time-to-market for more productive, flexible and reliable solutions
No further need to spend valuable time developing complex scheduling technologies in-house
Resources will stay focused on market and customer applications
Because they can finally take advantage of the real capabilities of their automated and robotic systems, users will be satisfied
