New Real-Time Rescheduling Technology


Odysis is developing a revolutionary real-time rescheduling technology that is the right answer to companies seeking to deliver more productive, flexible and reliable automated systems which are submitted to unpredictable events, time-critical operations, finite resource capacities, and a variety of constraints.


Application Range

  • Laboratory Automation

  • Supply Chain Management

  • Production Scheduling

  • Transportation

  • Embedded Systems

A Foundation for Building Scheduling Applications

Our technology will be delivered as a software component which can be used to empower your scheduling applications. Software developers and system integrators will be free to develop the user-interface, data management and communication tools which are specific to their applications, customers and markets.

Highlights of the Real-Time Rescheduling Technology

Although constant advances have been made during the past two decades in both hardware and software technologies used in the field of automation, many automated and robotic systems installed in companies 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 resource- and time-critical automated applications. Most of them offer a good user-interface as well as effective communication with equipment, but the scheduling engine itself is often quite limited in its ability to handle the situations that require real-time reactions and recomputing of existing schedules (viz., "rescheduling"). At Odysis, 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.

With our new technology 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. It  will be an open, universal and standard object-oriented package which can be easily integrated by a software engineer with mastery of an object-oriented programming language such as C#, C++ or Ada. It is designed to be embedded in automated systems dedicated to specific markets, applications and users.

 

Our technology can 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. It can be used in automated systems designed for quality control, production, supply-chain management, transportation, embedded systems, and a variety of other applications.

Just imagine the advantage of having a software product that allows your automated and robotic system to accept--at any time--new jobs for processing; to manage the ordering and refilling of stock material automatically; to synchronize production lines; to select a scenario to execute on-the-fly according to a decision made at runtime; 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 our technology, whose numerous features are described in the Software Product Description.

The Object Model

Our software 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 the software's four main classes: Resources, Activities, Links and Processes.

Object Description

Resource

A person or a thing that can perform certain operations or is 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 material or equipment using a battery.

Activity

A task or job to be scheduled and executed. 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 stock units, deposit/retrieve resources in/from a container, select a branch in a scenario according to a decision made at runtime or during scheduling - a scenario for grouping a logical set of operations and controls, to fill/empty a stock, to start a timer (of a resource with limited life-duration), or to define an exceptions-handler. Picture an automated process in which, after a series of operations, an item must be stored for 24 hours. Immediately after the storage period, a robot is programmed to pick up the item and bring it to a measurement device. Depending on the result of the measure, the item must either go on production line A, B, or C. This is a typical situation in which a decision can be made only at runtime. How can the required resources be allocated/deallocated so as to ensure that there will be no collisions or conflicts during the execution of operations? Our technology offers the solution: it will compute a schedule, and then recompute it once the decision is made.

Link

A time constraint governing the coordination of two activities.

Process

A set of activities to be scheduled and executed 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 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

Our software 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 runtime - 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 our Technology

The innovative features of our 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 our software 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

To receive more information on this technology, please send an e-mail to info@odysis.com.


(c) Copyright Odysis SA, 1997-2008. All Rights Reserved. myLIMS is a registered trademark of Odysis SA.
Some images are licensed to Odysis by iStock International Inc., Can Stock Photo Inc., Corel Corporation
or Hemera Technologies Inc.