WO2006053908A1 - Scheduling system and work order scheduling protocol for such a system - Google Patents

Scheduling system and work order scheduling protocol for such a system Download PDF

Info

Publication number
WO2006053908A1
WO2006053908A1 PCT/EP2005/056113 EP2005056113W WO2006053908A1 WO 2006053908 A1 WO2006053908 A1 WO 2006053908A1 EP 2005056113 W EP2005056113 W EP 2005056113W WO 2006053908 A1 WO2006053908 A1 WO 2006053908A1
Authority
WO
WIPO (PCT)
Prior art keywords
agents
work order
scheduling
agent
protocol
Prior art date
Application number
PCT/EP2005/056113
Other languages
French (fr)
Inventor
Andrea Gozzi
Massimo Paolucci
Original Assignee
Siemens Aktiengesellschaft
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from EP04027528A external-priority patent/EP1659521A1/en
Priority claimed from EP04027527A external-priority patent/EP1659520A1/en
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to US11/666,114 priority Critical patent/US7848836B2/en
Priority to EP05816116A priority patent/EP1815410A1/en
Publication of WO2006053908A1 publication Critical patent/WO2006053908A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06313Resource planning in a project environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis

Definitions

  • the invention relates to a scheduling system and a work order scheduling protocol for such an agent-based scheduling sys- tern.
  • a second desirable feature implies the possibility of easily customizing the scheduling rules, by adapting them to differ- rent, changing constraints and objectives.
  • Known scheduling and anufacturing execution systems consider two decision makers, one for the scheduling activity and one for the manufacturing execution and control activity, that cooperate in a more or less tight way. This allows forecast ⁇ ing of problems in the plant (e.g. machine breakdowns, ma- chine bottlenecks, etc.) and allows the scheduler to react for limiting such problems or to suggest modification of the plant layout/configuration. Such a process requires a number of iterations including scheduling decisions and plant con ⁇ trolling decision with reciprocal feedback before reaching a satisfying solution. However, the quality of solutions that these scheduling architectures can obtain are not satisfying due to the long interaction process they require and the im ⁇ possibility of making a decision that lead straight to the optimal choice for both the plant configuration and the pro ⁇ duction schedule.
  • the object of the invention is to provide a solution that meets the above-mentioned needs in a fully satisfactory man ⁇ ner.
  • the scheduling system according to the invention scheduler decisions and the control decisions are made by the same decision maker, in that the scheduler and control deci ⁇ sions are programmed and executed within a shared environ ⁇ ment.
  • the integration of the scheduling system according to the invention in the manufacturing execution and control sys ⁇ tem makes it possible to obtain information about production processes available in real time. Scheduling decisions are thus made in conjunction with controlling decisions with a direct feeback between scheduling actions and control ac- tions.
  • the scheduling and controlling rules are modeled in a lan ⁇ guage comprising graphical or visual rules, which language is expressive for both scheduling and controlling contexts.
  • the scheduling decisions are made in a distributed and hierarchical way because control decisions are made in the same way in almost all real production plants.
  • the scheduler is arranged in a distributed architecture by applying an agent-based approach and providing hierarchi ⁇ cal decision-making by means of an agent interaction proto ⁇ col.
  • the scheduling system according to the invention is thus based on agents whose behaviors are customizable by means of visually defined rules, which are computed within a manufac ⁇ turing execution and control system.
  • Figure 1 is a functional block diagram representative of a typical manufacturing execution system and its re ⁇ lated scenario of use
  • Figure 2 is another block diagram showing a typical hardware layout supporting a manufacturing execution system
  • Figure 3 shows an example of hierarchical structure of agent entities as used in the arrangement described herein
  • Figure 4 shows an example of a specific implementation of the arrangement described herein
  • Figure 5 shows a work order - product segment relationship in an arrangement as described herein
  • Figure 6 shows example of work order agents in an arrange ⁇ ment as described herein
  • Figure 7 shows work order agents and physical entity inter ⁇ action in an arrangement as described herein
  • Figure 8 shows a flowchart for a first section in a protocol as described herein
  • Figure 9 shows a flowchart for a second section in the pro ⁇ tocol described herein
  • Figure 10 shows an example of hierarchical structure in an arrangement as described herein
  • Figure 11 shows an example useful to clarify the basic struc ⁇ ture of the protocol by means of interactions among agents
  • Figure 12 shows an example of hierarchical system
  • Figure 13 shows an example useful to clarify the basic struc ⁇ ture of the protocol by means of interactions among agents .
  • Figure 1 shows an exemplary functional architecture of a plant planning and control system.
  • the various physical equipment in the plant e.g. an indus ⁇ trial plant such as a chemical plant or a plant for manufac ⁇ turing mechanical, electrical, and/or electronic products
  • the control level CL is supervised by a manufacturing execution system MES that includes a detailed production scheduler DPS.
  • the scheduler DPS receives input from an enterprise resource planning entity ERP via respec ⁇ tive modules for product definition PD, order management OM, personnel management PM and material management MM.
  • FIG 2 shows a possible hardware layout for server and cli ⁇ ent PCs executing all the computing capabilities of the sys ⁇ tem of Figure 1 including the detailed production scheduler DPS.
  • the shown hardware layout includes an ERP server ES, an MES server MS and a DPS server SS.
  • the MES server MS co ⁇ operates with control level hardware represented e.g. by pro ⁇ grammable logic control devices PLCs associated with the various equipment in the plant. Interfacing with a user is assured via a client interface CI comprised of e.g. one or more PCs for data input/output.
  • the exemplary embodiment of the invention described in the following refers, by way of example only, to a context whe ⁇ rein the need was felt of integrating an agent-based schedu ⁇ ler with a SIEMENS MES environment, such as the one commer ⁇ cially available under the name SIMATIC ITTM, and specifi- cally with a visual tool, designated SIMATIC ITTM Production Modeler, used to control plant operations in a fully graphi ⁇ cal environment by means of visual rules.
  • the detailed production scheduler DPS is a fundamental compo- nent of the manufacturing execution system MES and the func ⁇ tion provided by such a component is included in the ISA 95 (Industry Standard Architecture) standard.
  • ISA 95 Industry Standard Architecture
  • This standard model both physical equipments and product descriptions are organized according to a hierarchical structure.
  • Computing a detailed schedule usually must take into account decisions, as resource assignment, relevant to different levels; addi ⁇ tionally, it must satisfy constraints and meet objectives that are specific for each node in the model hierarchy.
  • a flexible scheduling system for use in manufac ⁇ turing must therefore be able to adapt to the distributed structure considered in the foregoing, while respecting the relationships among physical elements in the hierarchy.
  • the sched ⁇ uling decisions must satisfy the local constraints, while reaching as much as possible the local objectives or finding an acceptable compromise among them.
  • a truly satisfactory scheduling system cannot be a comprehen ⁇ sive centralized component; on the contrary, it must be eas ⁇ ily reconfigurable, also in terms of constraints and objec- tives, with the capability of mapping the possible changes in the physical manufacturing system (i.e., in the equipment and products) . This is achieved by an agent-based scheduling sys ⁇ tem.
  • the engine controlling the agent system evolution is separated from the agent behavior, as this latter is defined by a set of rules. These are not set, nor triggered in the engine but in an external graphical environment, specifically in the SIMATIC ITTM Production Mod ⁇ eler.
  • SIMATIC ITTM Production Modeler can be extended to the purpose of inter ⁇ facing the kernel of the agent engine, and this fact allows the customization described above for the end user.
  • SIMATIC ITTM Production Modeler tool is being considered here as a direct reference, any other different visual environment with an appropriate execution system could be used in the place of the Production Modeler tool.
  • an agent-based scheduler with a plant con- trol system e.g. the SIMATIC ITTM MES
  • a visual rule definition environment e.g. the SIMATIC ITTM Production Modeler tool
  • the scheduling rules can in fact share data and methods with the plant control rules, thus making the scheduling agents aware of the actual state of the equipment they are associated with.
  • the exemplary agent-based scheduling system described in the following is a multi-agent system for scheduling essentially comprised of two parts:
  • Agents in such a scheduler can be structured in a hierarchy as shown, for example, in Figure 3 wherein reference number 10 designates an agent site while agent areas are indicated by 20. A set of agent cells 30 are connected with respective agent areas 20. Reference number 35 designates an agent unit.
  • Double arrows represent the decision hierarchy, while the dashed line 11 indicates negotiation or collaboration proc ⁇ esses between the agent entities (e.g. agent areas 20) .
  • agents in such a scheduler are associated with:
  • scheduling decision activities e.g. scheduling progress tracking, manual schedule
  • the scheduling decisions are defined by means of the negotia ⁇ tion protocol 11 which establishes the interaction rules among the agents. This arrangement will be described in greater detail below by reference to Figures 5 to 13.
  • the protocol 11 is coded within the agent behaviors and can be used as a basic scheduling mechanism for any production plant.
  • a mechanism suitable for adapting such a basic scheduling protocol to a specific manufacturing environment involves customizing at least a part of the agent behavior by means of visually defined rules.
  • the visual scheduling rule definition language necessary for that purpose is based on a reduced set of graphical items providing the end user with a means to customize the scheduler activity.
  • the graphically defined scheduling rules can represent scheduling constraints, sched ⁇ uling criteria or interactions between scheduling and produc ⁇ tion control activities. Allowing the definition of schedul ⁇ ing rules renders the agent-based scheduler effectively cus ⁇ tomizable for different production scenarios.
  • the user of the manufacturing execution system can thus model his own sched ⁇ uling rules for the plant using an implementation of the vis ⁇ ual language consisting of an editor and of a rule execution engine.
  • the visual language considered herein is characterized by elements (i.e. blocks or modules) for: - real time acquisition to permit integration with a Manufac ⁇ turing Execution System environment; the purpose of these blocks is to permit the definition of the rules to detect the occurrence of events; - output of data to external destinations;
  • conditional statements e.g.: if-then-else
  • Figure 4 is exemplary of an image that can be dis ⁇ played on a screen of e.g. a computer such as a PC serving as the client interface CI shown in Figure 2.
  • the rule shown in Figure 4 is associated with an agent that models a production cell composed of two equivalent units 41 and 42.
  • the rule is invoked whenever an operation has to be assigned to the related equipment, by way of an on-request event block 43.
  • the rule executes the steps described in the following.
  • the rule accesses the data from the scheduling system and re- trieves the earliest feasible starting time for executing the operation on both the two available units 41 and 42.
  • the chosen unit is as- signed by evolving towards either of the steps 47 or 49.
  • the dashed line 102 is exemplary of the possibility, offered to the user, of e.g. "shortcutting" the step 44, for instance for indicating the unavailability of the related function. Effecting such changes/modifications within the framework of a typical interactive environment is a feature available in visual tools as considered herein.
  • Scheduling rules defined by means of the graphical editor de- fine custom actions in taking decisions for scheduling pur ⁇ pose.
  • An exemplary basic scheduling rule is the following: The scheduler recognizes that two or more machines are available for processing a particular task. The scheduler raises an event in order to ask the custom implementation for deciding which machine has to be selected. The scheduling rule evalu ⁇ ates a set of data (even data provided by the scheduler it ⁇ self) and signals the scheduler with the customized decision.
  • scheduling rules can interact with the control level and influence it in order to perform a better production plan. For example, a scheduling rule can modify a machine working speed in order to guarantee a task deadline is not missed.
  • Another exemplary manner of applying scheduling rules is to monitor the status of a machine/equipment that is considered critical for scheduling purposes and taking, consequently, decisions. For instance, if a breakdown occurs in a machine being monitored, the system, by executing a scheduling rule, can issue an alarm signal and/or possibly rearrange automati ⁇ cally the schedule by excluding that machine/equipment from the scheduling process, while involving in the process all the other equivalent machines available in the plant to per- form the operation.
  • a production schedule is essentially a list of work orders (WO) 40 to be scheduled with details.
  • Each of these orders in turn contains a product 50 defined in the form a set of product/process segments 60 generally arranged in a hierarchy.
  • All these entities are related to logical agents. Not all the agents are always active in the system. For instance, physi ⁇ cal agents (PAs), related to physical entities, are active whilst the associated entity is part of the plant.
  • Work order agents (WOAs), as exemplified by blocks 70 to 74 in Figure 6, are created and activated in response to a new work order ar ⁇ rived in the system.
  • Process and product segments agents (ProdSA, ProcSA) are activated by the work order agents; these work out the list of operations to be performed for serving the work order and create necessary operation agents (OAs) related to operations that are necessary to process the work order.
  • a major portion of a multi-agent system activity is related to assigning operations requested by work orders on the physical entities available in the plant, taking into account scheduling constraints and criteria. This is the fundamental capability of the scheduler and it is performed by applying a work order scheduling protocol.
  • a dedicated interaction protocol is applied by work order agents in order to "browse" the plant structure and select the physical entity to contact for acquiring a given service.
  • Other protocols can be used to rearrange slot allocation of an earlier computed schedule and optimize per ⁇ formance.
  • the work order scheduling protocol thus plays quite a sig ⁇ nificant role in the exemplary scheduling system described herein.
  • the protocol specification and some examples of com ⁇ munications based on that protocol will therefore be given in the following.
  • the scheduler described herein will be assumed to be operat ⁇ ing in real-time, with the multi-agent system always active.
  • the description of the multi-agent system activity can be given following the action steps for scheduling a single work order.
  • This activity contains all the actions performed by the multi-agent system and provides a complete overview of the multi-agent system while applying the work order schedul ⁇ ing protocol.
  • a work order agent (WOA) is created in response to a new work order to be scheduled.
  • the work order agent (WOA) contains all the data describing the work order (prod- uct type, quantity, due-date, lot number, etc.) .
  • the work or ⁇ der agent activates the product segment agents (ProdSA) and hence the process segment agents (ProcSA) related to the work order product.
  • the product segment agents By accessing the necessary information from the process seg ⁇ ment agents, the product segment agents become knowledgeable of the list of operations to be performed for producing the given product .
  • the product segment agents create operation agents (OA) in a number equal to the number of the necessary opera ⁇ tions.
  • Each work order agent (WOA) knows the operation to be performed and the resources necessary for the operation.
  • the work order agent (WOAs) are provided by the product segment agents (ProdSAs) with the product segment constraints and dependencies as priority, parallel execution infeasibility etc.
  • Some process segments may in fact require resources defined at levels higher than the unit level (e.g. cell or area) ; this information is preserved by the product segment agents. These agents are in charge of contacting the right physical entity by applying the negotiation protocol as described in the following.
  • FIG. 7 schematically shows the creation and interaction be ⁇ tween work order agents WOAs and operation agents OAs (solid line) and possible interaction messages between WOAs (or OAs) and resource agents RAs (dashed line) .
  • the protocol described herein defines the fundamental inter ⁇ action among agents for the agent-based detailed scheduler.
  • the work order scheduling protocol is applied by each work order agent for interacting with physical entity agents and assigning a processing resource and time slot for each opera ⁇ tion that is part of the related work order.
  • the exemplary protocol described herein is designed for a flat product segment structure. This means that product seg ⁇ ments are assumed containing a list of atomic operations. Product segments do not contain sub-segments.
  • the exemplary protocol described herein is composed by two main sections plus initialization and finishing sections.
  • the first section can activate new instances of the section itself, providing recursive actions; the second section of the protocol includes a set of steps executed iteratively.
  • protocol description provides details for each protocol section and for the agent behaviours that manage the conversation.
  • the description is split up in the various sec ⁇ tions of the protocol.
  • the work order agents are in charge of acquiring resources for processing their own operations.
  • the work order agents are activated one at a time, in response to a new incoming order to the system.
  • the work order agents are activated in batch if a de ⁇ tailed schedule is computed on the basis of a rough produc- tion schedule or the scheduling process is activated inter ⁇ mittently.
  • each work order agent takes a set of decisions, including computing priori ⁇ ties for the work order, choosing dependency and checking criteria (backward or forward) and possibly selecting the physical entity to contact for sending the first message.
  • the product segment agents select the physical entity to contact for starting the proto ⁇ col according to the rules indicated in the following:
  • the physical entity to contact is the lowest level entity able to perform all the activities listed in the related product segments;
  • the first section described in detail in the following comprises two steps.
  • Section 1 of the work order scheduling pro- tocol is defined by means of a flow diagram; it includes evaluation steps, sub-routine call steps and conditional statements .
  • a work order agent sends a request_wo_service message to the physical entity agent (PEA) .
  • PDA physical entity agent
  • the contacted physical entity agent has been selected by the work order agent according to the rules given above or indicated by a previous protocol section if the actual sec ⁇ tion is nested in a previous section.
  • a step 90 is devoted to verifying if the resource agent RA has signaled a delegation.
  • the list of RAs to contact for nested first section is the RAl- ist.
  • the first sec ⁇ tion is called on the RA 1 .
  • a step 130 the list of RAs to contact for each operation is OAmap.
  • a step 140 for each RA 1 in the OAmap the second section is called.
  • a request_wo_service message declares the request for ser- vice; it contains the information about the required opera ⁇ tions (work order product segment) , the amount of workload and additional data that could be used by the agent behaviors (i.e. time constraints) .
  • the physical entity agent that receives the announce message can act according to the following four cases .
  • Case 1 The work order cannot be processed by the resource or its "child" resources (plant-branches) . This is due to unfea- sibility in matching the necessary operations and resource capabilities. This case can arise in various scenarios: an error has occurred in setting the scheduling rules for estab ⁇ lishing the resource to be contacted; unexpected plant con ⁇ figuration changes have modified the plant-branch production capabilities, etc.
  • Case 2 All the operations requested by the work order can be processed by one or more plant-branches that are children of the contacted resource and the scheduling criterion aims at containing all the operations of the same work order in one branch only, if possible.
  • Case 3 All the operations requested by the work order can be processed by one or more plant-branches that are children of the contacted resource and the scheduling criterion allows spreading the operations of a work order among different branches, even if it is not strictly necessary.
  • a work order can be executed by processing 01 on a unit of celll and 02 on a unit of cell2.
  • Case 4 The operations requested by the work order can be processed by a set of child resources (including the actual resource) , yet there is not any sub-branch able to process the whole work order operations set.
  • the physical entity agent replies to the work order agent with a response message; the contents of the response message differ as a function of the case considered, as shown in the following.
  • Case 1 the physical entity agent informs the work order agent about the unfeasibility of processing one or more op ⁇ erations of the work order.
  • Case 2 the physical entity agent delegates the scheduling conversation to one or more child resources. It communicates to the work order agent the list of physical entity agents to contact.
  • Case 3 or Case 4 the physical entity agent signals the work order agent to activate agents related to its operations and informs it about the physical entity agents that can perform the necessary operations.
  • the message contains the list of work order operation and, for each operation, the list of possible resources that can process the related operation; Ox : [Ra, Rb] , Oy : [Ra, Rc] , etc.
  • the protocol structure may additionally vary according to the four cases.
  • Case 2 The work order agent activates a new first section for each physical entity agent listed in the response mes ⁇ sage. Possibly, the work order agent uses a dedicated behav ⁇ ior for managing each section instance by activating behavior instances in a number equal to the number of the physical en ⁇ tity agents it has to deal with.
  • This architecture allows easy implementation of the nested protocol sections/behaviors and provides tracking of the agent actions for free.
  • the work order agent When the first section is executing Step 2, the work order agent has received a list of possible complete schedules for the related work order.
  • the computed schedules are the result of either i) execution of nested first section conversations or ii) a second section conversation.
  • the first section can be nested more than once; eventually, every first section returns to its caller by executing a case 1 or acti- vating section 2 in case 3 or case 4.
  • the work order agent marks the received whole work order schedules with its own preferences. Then, it sends an evalu- ate_schedule message to the physical entity agent.
  • the evalu- ate_schedule message contains the schedule proposals and the related preference values.
  • the physical entity agent selects a sub-set of possible schedules to save. In fact, this step of the protocol can be repeated if the conversation was delegated more than once, and the physical entity agent can save more than one possible schedule.
  • the final decision i.e. selecting one schedule only, is expected to be taken by the first physical entity agent that was contacted by the work order agent.
  • the scheduling conversation can return more than one possible schedules if the scheduling process is designed to provide user or other software systems with alternative schedules.
  • the physical entity agent replies to the work order agent by providing a list of selected schedules. This behavior is once more customizable by means of Produc ⁇ tion Modeler (PM) scheduling rules.
  • PM Produc ⁇ tion Modeler
  • the work order agent forwards this information to the opera ⁇ tion agents related to its work order operations by sending a confirm_schedule message.
  • Each operation agent informs the physical entity agents that made the slot proposals about the slot to confirm and the slots to be canceled.
  • Each operation agent involved sends a confirm_slot message containing the list of slots to be saved.
  • the physical entity agent acknowledges the slot confirma ⁇ tion/cancellation by a reply message.
  • the operation agent replies to the work order agent by indi ⁇ cating that slot confirmation was concluded.
  • the next step in the protocol is the finishing conversation.
  • Section 2 of the work order scheduling protocol is presented by means of a flow diagram; it includes evalua ⁇ tion steps, sub-routine call steps and conditional state ⁇ ments .
  • the activate_operation message con ⁇ tains the list of physical entity agents that can be con ⁇ tacted by the operation agent for acquiring service.
  • a check is made as to whether operations exist to be scheduled. In the positive, the check operation dependencies are effected in a step 180.
  • a release_operation message is sent to all those operations that can be scheduled and a reply is waited for.
  • a step 210 an er ⁇ ror handling message is sent, thus making a conversation abort possible.
  • the process returns to the step 170.
  • the work order agent has to activate its related operation agents and cause them to negotiate for acquiring the neces ⁇ sary resources.
  • the work order agent has two options for activating the other agents; the former option implements backward scheduling, the latter is a forward scheduling approach.
  • Backward activation is suitable for strict due-date target criteria.
  • the work order agent activates the sub-tasks start- ing from the last operation (i.e. the one that has to be com ⁇ pleted on the due-date) and proceeding according to the op ⁇ eration reverse order (i.e. in backward order) .
  • This arrange ⁇ ment permits gaps to be inserted for reliability of the schedule and for recovering from ready time infeasibility.
  • Forward activation is more suitable for scheduling in highly congested time periods . When applying forward activation, the due-date target is not strongly considered; however there is no time wasted as the jobs are scheduled as soon as possible.
  • Agent activation is performed by the work order agent accord ⁇ ing to the operations original order (forward) .
  • Forward acti ⁇ vation can be further improved by optimizing the selection of time slots and trying to recover from tardy process comple ⁇ tion.
  • Each work order agent can implement its own strategies for activating the operations in order to best suit its ob ⁇ jective.
  • a work order agent can apply a scheduling protocol more than once; this happens when a scheduling attempt fails because of unfeasibility in assigning one or more operations to re ⁇ sources. For example, an attempt to satisfy a min-max waiting time for an operation can result in receiving no proposals from the physical entity agents (this case is further de- tailed in the following) .
  • the scheduling protocol aborts and the work or ⁇ der agent will attempt again to acquire a schedule for its work order, possibly modifying preferred starting time (or ending time, if backward activation is applied) for the first (last) operations.
  • the work order agent can track the at ⁇ tempts of scheduling and detect any critical scheduling path; if these capabilities are implemented, the work order agent can apply any sequence in releasing operation agents without breaching the protocol.
  • Each operation agent announces itself to all the physical en ⁇ tity agents that were listed in activate_operation message and hence can be contacted for acquiring service. Operation Agents thus send announce messages and physical entity agents reply to the operation agents with acknowledge messages. Then operation agents reply to the work order agents with acknowl ⁇ edge messages.
  • Work order agents check dependencies and constraints of op- erations. Specifically, each work order agent detects the op ⁇ erations that can be scheduled and sends a release_operation message to the related operation agent.
  • the release_operation message contains information about release time, due date and deadline for the operation schedule.
  • Each operation agent that receives the release_operation mes ⁇ sage sends a request_slot message to all the physical entity agents listed in the activate_operation message it has re ⁇ ceived.
  • the request_slot message contains data necessary for allocating the best slot for the operation (release time, due date, preferred starting time, etc.) .
  • Physical entity agents receive request_slot messages, and compute one or more slots for the operation. This computation can include several steps, such as sorting the received re ⁇ quests according to custom criteria, evaluating alternatives also considering operations announced, but not requesting a slot.
  • the physical entity agents reply to the operation agent with the list of proposed slots for service.
  • a physical entity agent computes a slot for an op ⁇ eration, it may have to deal with and manage conflicts that can arise because of the requests for service emitted by other work order agents.
  • several scheduling proto- col instances can run simultaneously; a physical entity agent can manage more than one conversation at a time and hence they can receive slot requests from more than one operation agent.
  • Each physical entity agent can implement its own be ⁇ havior for calculating time slots and serving requests. Thanks to the announce protocol phase, the physical entity agent involved is aware of all the operations that are going to request a slot. In order to improve performance, the physical entity agent can wait until other operation agents have been released be ⁇ fore replying to a request and computing slots on the basis of a consolidate view.
  • the slot selection behavior is another behavior that is cus ⁇ tomizable by means of Production Modeler (PM) scheduling rules .
  • the operation agent receives the proposed slots and marks them with a value indicating preferences. Then it replies to the work order agent by forwarding the list of proposed slots for service with the preferences.
  • the previous step could in fact fail in computing a slot for operation process. This is due to possible unfeasibility in satisfying constraints as minimum and maximum waiting time.
  • the operation agent signals the occurrence of an error to the work order agent, and the work order agent aborts the scheduling conversation. Possibly, this will per ⁇ form a new scheduling attempt with different parameters or will escalate error to another scheduler component.
  • the work order agent evaluates partial schedules obtained by combining the received slots for service for each operation. It marks each partial schedule with a value indicating pref ⁇ erences and requests the physical entity agent to select a subset of possible partial schedules to save. It sends a evaluate_partial_schedule message to the physical entity agents.
  • the evaluate_partial_schedule message contains the list of partial schedules with preferences.
  • the one just described is still another behavior that is cus ⁇ tomizable by means of Production Modeler (PM) scheduling rules .
  • the physical entity agent selects a sub-set of partial sched ⁇ ules to save and replies to the work order agent communicat ⁇ ing the selected slots.
  • the work order agent communicates to the operation agents the list of schedules to be confirmed and hence the list of schedules to be canceled.
  • the work order agent sends a con- firm_partial_schedule message to the operation agents.
  • the operation agents send a confirm_slot message to the physical entity agents from which they have received one or more proposal.
  • the physical entity agent acknowledges the slot confirma- tion/cancellation by a reply message.
  • the operation agent re ⁇ plies to the work order agent informing that the slot confir ⁇ mation has concluded.
  • the work order agent can now compute new dependency con- straints and release any other operations to be scheduled.
  • the work order agent can release one operation more than once, having regard to the number of possible partial sched ⁇ ule combinations saved by the physical entity agents.
  • the work order agent sends a release_operation mes ⁇ sage to the operation agent.
  • the second sec ⁇ tion protocol can thus return the computed schedules to its caller, i.e. a first section protocol instance.
  • the work order agent has received one or more confirmed whole work order schedule. Finally, the work order agent reports the obtained schedules to the sched ⁇ uler. The conversation is finished.
  • the former example is based on a simple plant structure and considers a work order composed of one operation only.
  • This example aims at demonstrating in greater detail the first section of the protocol (the delegation mechanism applied when a request for service has to be propagated to sub-level physical entities) .
  • This phase is designed according to a re ⁇ cursive pattern, and providing a practical example is more immediate than providing a formal specification.
  • the latter example refers to a more ar ⁇ ticulated scenario with a multiple branch plant structure and a work order composed of many operations, with dependencies.
  • the latter example includes all the possible actions of the protocol and shows a complete work order scheduling conversa ⁇ tion in a consolidated view.
  • a simple work order scheduling protocol instance is de ⁇ scribed.
  • the example is useful in clarifying the basic struc- ture of the protocol.
  • Both the first section and the second section of the protocol are applied in the example; more to the point, the first section is applied twice due to the par ⁇ ticular plant structure that requires delegation of the work order scheduling process.
  • PEi is a container en ⁇ tity that contains PE 2 .
  • the protocol is not dependent on the specific physical entity (area, cell, etc.), and, for the sake of simplicity of illus- tration, the plant model used in this example can be assumed to be comprised of a cell (PEl) containing a unit (PE2) .
  • the work order structure (i.e. its related product segment) is depicted in Figure 10 as well.
  • the order WO A requires one operation only O x , which operation O x can be processed by PE 2 only.
  • WO A decides to send a request for service; the WO requests service to PEl by sending a request_wo_service message and specifying - product segment,
  • PEl cross-checks the requested functions and its own func- tion capability. The whole WO process can be performed in PE2
  • the WO contacts PE2 by sending a new request_wo_service message and specifying
  • PE2 recognizes it can process the operation requested by the WO (Case 4) . PE2 replies to the WO specifying
  • the WO activates its child operation agent and causes it to announce itself by sending a activate_operation message. 6. Ol sends a announce message to PE2.
  • PE2 replies to OA with an acknowledge message.
  • the WO determines what operations have to be activated ac ⁇ cording to the dependency scheme and activation policy. In the case considered, only 01 can be activated.
  • WOA signals 01 by sending a release_operation and causes it to contact PE2.
  • the WO communicates to 01 the following data:
  • PE2 computes one or more service proposals and replies to PE2 by specifying the offered time-slot, cost and setups.
  • 01 marks the received service proposals with "prefer ⁇ ences" and forwards the offers to the WO by specifying: - offer schedule data and
  • the WO analyzes possible combinations of the received proposals and marks them with "preferences”.
  • WO communicates the possible temporary partial schedules to the PE2 by send ⁇ ing evaluate_schedule message specifying:
  • PE2 selects a sub-set of received service proposal to save and communicates to the WO the sub-set of proposal to be saved.
  • the WO communicates to Ol the selected schedule by send ⁇ ing a confirm_schedule message, by specifying the list of proposals to be saved.
  • 01 signals PE2 to save the selected proposal and discard the others sending a confirm_slot message containing the list of proposals to be saved.
  • PE2 acknowledges 01 with the saved proposals (this may include a possible error report, which is not detailed in this protocol description) .
  • the WO analyzes the received proposals (only one in this example) and marks them with "preferences".
  • the WO communi ⁇ cates the possible temporary partial schedules to the PEl (evaluate_schedule message) by specifying: - temporary schedule data and - preferences.
  • PEl selects one of the received service proposal to save and communicate to the WO the proposal to be saved.
  • the WO communicates to its operation (01) the selected schedule, by specifying the schedule (confirm_schedule mes ⁇ sage) .
  • 01 signals PE2 the selected schedule to be confirmed specifying (confirm_slot message) the schedule to be con ⁇ firmed.
  • PE2 acknowledges 01 with the confirmed schedule (this may include a possible error report, not detailed in this de ⁇ scription) .
  • Ol acknowledges the WO with the confirmed schedule.
  • protocol description is given with reference to a sched ⁇ uling problem that includes all the possible options for the generic work order and plant configurations.
  • the plant considered is assumed to be comprised of a set of physical entities organized in a tree-like hier ⁇ archy structure including branches.
  • This plant structure is compliant with the ISA 95 standard, while the types of physi ⁇ cal entities in the problem instance are not specified in or- der to emphasize the general nature of the protocol descrip ⁇ tion.
  • every physical entity agent involved in the nego ⁇ tiation protocol plays essentially the same role (physical entity)
  • the physical entity agents behave differently, ac ⁇ cording to the level of the related entity in the hierarchy structure.
  • Those agents (PEs) that are container of other PEs (area, cell) delegate the negotiation process to sub-level agents; the PEs in the lowest level have to compute and offer a service for the operation.
  • WO A requires three operations: Oi, O 2 and O 3 .
  • Oi and O 2 require the func- tion type A, O 3 requires the function B.
  • O 3 has to be per ⁇ formed after Oi and O 2 completion.
  • the plant is composed of a PEi (area) containing two PEs, PE 2 and PE 3 (cells) .
  • PE 2 in turn contains three PEs: PE 4 , PE 5 and PE 6 (units), while PE 3 contains two PEs: PE 7 , PE 5 and PE 8 (units) .
  • the units PE 4 , PE 5 and PE 7 are equivalent and can perform function type A.
  • PE 6 and PE 8 are equivalent and can perform function type B.
  • the two cells PE 2 and PE 3 are equiva- lent as they have the same production capability. Conse ⁇ quently, WO A can be processed by either PE 2 or PE 3 .
  • the WO decides to send a request for service by sending to PEl a request_wo_service message and specifying: - product segment,
  • PEl cross-checks the requested functions and its own func- tion capability.
  • the whole WO process can be performed in ei ⁇ ther PE2 or PE3 (Case 2) so PEl replies to WO by specifying the list of PEs to contact (PE2, PE3) .
  • PE2 and PE3 recognize the operations requested by the WO have to be processed by sub-level PEs (Case 4) .
  • PE2 and PE3 reply to the WO by specifying: - that the operations can be activated, and
  • the WO activates two similar conver- sations, with PE2 (and its sub-level equipments) and PE3 (and its sub-level equipments) . Only the conversation with PE2 (and its sub-level equipment) is shown in the protocol dia ⁇ gram.
  • the WO activates its child operation agents and causes them to announce themselves by sending a activate_operation message.
  • Each OA sends a announce message to the PEA it will con- tact for acquiring service.
  • the PEA involved replies to the OA with an acknowledge message.
  • the WO determines what operations have to be activated ac ⁇ cording to the dependency scheme and activation policy. It signals the operations to be activated (01 and 02) by sending a release_operation and causes them to contact the right PE.
  • the WO communicates to 01 and 02 the following data:
  • PE4 and PE5 compute one or more service proposals and re ⁇ ply to PE2 by specifying the offered time-slot, cost and set ⁇ ups .
  • Both Ol and 02 mark the received service proposals with "preferences" and forward the offers to the WO by specifying:
  • the WO analyzes possible combinations of the received proposals and marks them with "preferences”.
  • WO communicates the possible temporary partial schedules to the PE2 by send- ing evaluate_schedule message by specifying:
  • PE2 selects a sub-set of received service proposal to save and communicate to the WO the subset of proposals to be saved.
  • the WO communicates to its operations (01 and 02) the se ⁇ lected schedule by sending a confirm_schedule message, by specifying the list of proposals to be saved.
  • 01 and 02 signal PE4 and PE5 to save the selected propos ⁇ als and discard the others sending a confirm_slot message containing the list of proposals to be saved.
  • PE4 and PE5 acknowledge 01 and 02 with the saved propos ⁇ als (this may include a possible error report, not detailed in this description) .
  • the WO analyzes possible combinations of the received proposals and marks them with "preferences”.
  • WO communicates the possible temporary partial schedules to the PEl (evalu- ate_schedule message) by specifying:
  • PEl selects one of the received service proposal to save and communicate to the WO the proposal to be saved.
  • the WO communicates to its operations (01, 02 and 03) the selected schedule, by specifying the schedule (confirm_sche- dule message) .
  • PEs acknowledge 01, 02 and 03 with the confirmed schedule (this may include a possible error report, not detailed in this description) .
  • the solution described herein leads i.a. to the following advantages in using a scheduling process in manufacturing environment: - portability: the arrangement described herein can be easily applied to any production environment compliant to ISA 95 specifications without requiring specific developments to adapt such a system to manufacturing plants; - distributed scheduling decisions: the scheduling criteria (associated with entities in a manufacturing system) re ⁇ flect the distributed structure of ISA 95 and the associ ⁇ ated agents; specifically the protocol described herein al ⁇ lows distributing the scheduling decisions throughout the manufacturing plant;
  • scheduling constraints technological constraints are taken into account locally by means of the single agent associated to the manufacturing equipment and by agents associated to work orders and operations; and - flexibility: any changes in the ISA 95 model of production plant and products is directly catered for by the schedul ⁇ ing system, by effecting corresponding changes in the agent-based architecture; flexibility is a direct conse ⁇ quence of the distribution of the scheduling decisions and of the local definition of the scheduling constraints above mentioned.

Abstract

A scheduling system (DPS) for planning and scheduling production in an industrial production system (CL) , which scheduled production is to be executed by the production system (CL) under the control of a manufacturing execution system (MES) , wherein: - said scheduling system is a multi-agent scheduling system (DPS) ; - at least a part of the behavior of the agents in said multi-agent system (DPS) is customizable by means of visually defined scheduling rules; - said scheduling system (DPS) and manufacturing execution system (MES) share a definition and execution environment comprising: - editor means (CI) for visually defining both said scheduling rules and control rules of the manufacturing execution system (MES), and - an execution engine for executing said scheduling rules and control rules and making scheduling decisions on the basis of the executon of said scheduling rules and control rules.

Description

Scheduling system and work order scheduling protocol for such a system
Field of the invention
The invention relates to a scheduling system and a work order scheduling protocol for such an agent-based scheduling sys- tern.
Description of the related art
Current production scheduling systems based on centralized and complex algorithms usually provide a pre-defined list of choices that permit to customize and tune their general-pur¬ pose behavior to the needs of a user, typically a company. Such prior art schedulers generally do not permit an easy definition of new criteria by the end users and/or taking into account new constraints.
In order to be truly effective, production scheduling systems must be reactive and highly configurable to adapt to differ¬ ent on-going manufacturing scenarios.
A second desirable feature implies the possibility of easily customizing the scheduling rules, by adapting them to differ- rent, changing constraints and objectives.
Known scheduling and anufacturing execution systems consider two decision makers, one for the scheduling activity and one for the manufacturing execution and control activity, that cooperate in a more or less tight way. This allows forecast¬ ing of problems in the plant (e.g. machine breakdowns, ma- chine bottlenecks, etc.) and allows the scheduler to react for limiting such problems or to suggest modification of the plant layout/configuration. Such a process requires a number of iterations including scheduling decisions and plant con¬ trolling decision with reciprocal feedback before reaching a satisfying solution. However, the quality of solutions that these scheduling architectures can obtain are not satisfying due to the long interaction process they require and the im¬ possibility of making a decision that lead straight to the optimal choice for both the plant configuration and the pro¬ duction schedule.
Object and summary of the invention
The object of the invention is to provide a solution that meets the above-mentioned needs in a fully satisfactory man¬ ner.
According to the invention this is achieved by the scheduling system defined in claim 1 and the scheduling protocol as de¬ fined in claim 20.
Preferred embodiments of the invention are specified in the remaining claims .
Contrary to the state of the art where scheduling decisions and control-execution decisions are made by different deci- sionmakers, the scheduling system according to the invention scheduler decisions and the control decisions are made by the same decision maker, in that the scheduler and control deci¬ sions are programmed and executed within a shared environ¬ ment. The integration of the scheduling system according to the invention in the manufacturing execution and control sys¬ tem makes it possible to obtain information about production processes available in real time. Scheduling decisions are thus made in conjunction with controlling decisions with a direct feeback between scheduling actions and control ac- tions. The scheduling and controlling rules are modeled in a lan¬ guage comprising graphical or visual rules, which language is expressive for both scheduling and controlling contexts. Fur¬ ther, the scheduling decisions are made in a distributed and hierarchical way because control decisions are made in the same way in almost all real production plants. For that pur¬ pose, the scheduler is arranged in a distributed architecture by applying an agent-based approach and providing hierarchi¬ cal decision-making by means of an agent interaction proto¬ col. The scheduling system according to the invention is thus based on agents whose behaviors are customizable by means of visually defined rules, which are computed within a manufac¬ turing execution and control system.
Brief description of the annexed drawings
The invention will now be further described, by way of exam¬ ple only, with reference to the enclosed figures of drawing, wherein:
Figure 1 is a functional block diagram representative of a typical manufacturing execution system and its re¬ lated scenario of use,
Figure 2 is another block diagram showing a typical hardware layout supporting a manufacturing execution system,
Figure 3 shows an example of hierarchical structure of agent entities as used in the arrangement described herein,
Figure 4 shows an example of a specific implementation of the arrangement described herein,
Figure 5 shows a work order - product segment relationship in an arrangement as described herein,
Figure 6 shows example of work order agents in an arrange¬ ment as described herein,
Figure 7 shows work order agents and physical entity inter¬ action in an arrangement as described herein, Figure 8 shows a flowchart for a first section in a protocol as described herein,
Figure 9 shows a flowchart for a second section in the pro¬ tocol described herein, Figure 10 shows an example of hierarchical structure in an arrangement as described herein,
Figure 11 shows an example useful to clarify the basic struc¬ ture of the protocol by means of interactions among agents, Figure 12 shows an example of hierarchical system, and
Figure 13 shows an example useful to clarify the basic struc¬ ture of the protocol by means of interactions among agents .
Detailed description of preferred embodiments of the invent- tion
Figure 1 shows an exemplary functional architecture of a plant planning and control system. In the architecture shown, the various physical equipment in the plant (e.g. an indus¬ trial plant such as a chemical plant or a plant for manufac¬ turing mechanical, electrical, and/or electronic products) and the associated control devices are generally represented by a control level CL. The control level CL is supervised by a manufacturing execution system MES that includes a detailed production scheduler DPS. The scheduler DPS receives input from an enterprise resource planning entity ERP via respec¬ tive modules for product definition PD, order management OM, personnel management PM and material management MM.
Figure 2 shows a possible hardware layout for server and cli¬ ent PCs executing all the computing capabilities of the sys¬ tem of Figure 1 including the detailed production scheduler DPS. The shown hardware layout includes an ERP server ES, an MES server MS and a DPS server SS. The MES server MS co¬ operates with control level hardware represented e.g. by pro¬ grammable logic control devices PLCs associated with the various equipment in the plant. Interfacing with a user is assured via a client interface CI comprised of e.g. one or more PCs for data input/output.
The exemplary embodiment of the invention described in the following refers, by way of example only, to a context whe¬ rein the need was felt of integrating an agent-based schedu¬ ler with a SIEMENS MES environment, such as the one commer¬ cially available under the name SIMATIC IT™, and specifi- cally with a visual tool, designated SIMATIC IT™ Production Modeler, used to control plant operations in a fully graphi¬ cal environment by means of visual rules.
It will thus be appreciated that the individual elements/com- ponents described herein, taken per se, are not new (which i.a. makes it unnecessary to provide a more detailed descrip¬ tion herein) , while their combination is new.
The key points that differentiate the arrangement described herein with respect to existing tools and software packages will now be briefly outlined by way of general introduction to a more detailed description.
The detailed production scheduler DPS is a fundamental compo- nent of the manufacturing execution system MES and the func¬ tion provided by such a component is included in the ISA 95 (Industry Standard Architecture) standard. In this standard model both physical equipments and product descriptions are organized according to a hierarchical structure. Computing a detailed schedule usually must take into account decisions, as resource assignment, relevant to different levels; addi¬ tionally, it must satisfy constraints and meet objectives that are specific for each node in the model hierarchy.
Changes may occur that locally modify such constraints and objectives. A flexible scheduling system for use in manufac¬ turing must therefore be able to adapt to the distributed structure considered in the foregoing, while respecting the relationships among physical elements in the hierarchy. In a scheduling system compliant with the ISA 95 model the sched¬ uling decisions must satisfy the local constraints, while reaching as much as possible the local objectives or finding an acceptable compromise among them. As a consequence, a truly satisfactory scheduling system cannot be a comprehen¬ sive centralized component; on the contrary, it must be eas¬ ily reconfigurable, also in terms of constraints and objec- tives, with the capability of mapping the possible changes in the physical manufacturing system (i.e., in the equipment and products) . This is achieved by an agent-based scheduling sys¬ tem.
In order to allow the behavior of the agents of the agent system to be easily modified by end users to and adapt it to specific customer's requirements, the engine controlling the agent system evolution is separated from the agent behavior, as this latter is defined by a set of rules. These are not set, nor triggered in the engine but in an external graphical environment, specifically in the SIMATIC IT™ Production Mod¬ eler.
A simple visual tool such as the aforementioned SIMATIC IT™ Production Modeler can be extended to the purpose of inter¬ facing the kernel of the agent engine, and this fact allows the customization described above for the end user. Those of skill in the art will promptly appreciate that, while the SIMATIC IT™ Production Modeler tool is being considered here as a direct reference, any other different visual environment with an appropriate execution system could be used in the place of the Production Modeler tool.
The integration of an agent-based scheduler with a plant con- trol system (e.g. the SIMATIC IT™ MES) obtained through the visual rule definition environment (e.g. the SIMATIC IT™ Production Modeler tool) can be rendered very tight. The scheduling rules can in fact share data and methods with the plant control rules, thus making the scheduling agents aware of the actual state of the equipment they are associated with.
The exemplary agent-based scheduling system described in the following is a multi-agent system for scheduling essentially comprised of two parts:
- a static structure defining the classes of agents in the system, and
- a set of multi-agent system activities, defining the behav¬ iors of the individual agents and the interaction protocols among agents (who makes decisions?, when?, etc.) .
Agents in such a scheduler can be structured in a hierarchy as shown, for example, in Figure 3 wherein reference number 10 designates an agent site while agent areas are indicated by 20. A set of agent cells 30 are connected with respective agent areas 20. Reference number 35 designates an agent unit.
Double arrows represent the decision hierarchy, while the dashed line 11 indicates negotiation or collaboration proc¬ esses between the agent entities (e.g. agent areas 20) .
Typically, agents in such a scheduler are associated with:
- physical assets (site, area, cell, unit) ;
- information (e.g. production schedule, production capabil¬ ity) ;
- functions (e.g. scheduling, inventory control, maintenance management); and
- scheduling decision activities (e.g. scheduling progress tracking, manual schedule) .
Additionally, different behaviors are applied in different agent classes, and common behaviors are represented e.g. by the following operations: - asking other agents for services (e.g. task execution in a time-slot, use of a limited resource) or information (e.g. end-date of a task) ;
- replying to requests for service by trying to offer the best service according to given criteria while satisfying constraints; and
- synchronizing with other agents' activity (e.g. wait for an intermediate product agent scheduling decision) .
The scheduling decisions are defined by means of the negotia¬ tion protocol 11 which establishes the interaction rules among the agents. This arrangement will be described in greater detail below by reference to Figures 5 to 13. The protocol 11 is coded within the agent behaviors and can be used as a basic scheduling mechanism for any production plant.
A mechanism suitable for adapting such a basic scheduling protocol to a specific manufacturing environment involves customizing at least a part of the agent behavior by means of visually defined rules. The visual scheduling rule definition language necessary for that purpose is based on a reduced set of graphical items providing the end user with a means to customize the scheduler activity. The graphically defined scheduling rules can represent scheduling constraints, sched¬ uling criteria or interactions between scheduling and produc¬ tion control activities. Allowing the definition of schedul¬ ing rules renders the agent-based scheduler effectively cus¬ tomizable for different production scenarios. The user of the manufacturing execution system can thus model his own sched¬ uling rules for the plant using an implementation of the vis¬ ual language consisting of an editor and of a rule execution engine.
The visual language considered herein is characterized by elements (i.e. blocks or modules) for: - real time acquisition to permit integration with a Manufac¬ turing Execution System environment; the purpose of these blocks is to permit the definition of the rules to detect the occurrence of events; - output of data to external destinations;
- function calls (e.g. for the computation of jobs completion time) ;
- storing local data within the rule scope;
- conditional statements (e.g.: if-then-else) ; - providing entry points for sub-rules invocation; and
- providing graphical links (arrows) connecting blocks and defining the rule computation flow.
An example of a rule that is defined visually and customizes a scheduling agent behavior is presented in Figure 4. Spe¬ cifically, Figure 4 is exemplary of an image that can be dis¬ played on a screen of e.g. a computer such as a PC serving as the client interface CI shown in Figure 2.
The rule shown in Figure 4 is associated with an agent that models a production cell composed of two equivalent units 41 and 42. The rule is invoked whenever an operation has to be assigned to the related equipment, by way of an on-request event block 43.
In the example shown, the rule executes the steps described in the following.
The rule accesses the data from the scheduling system and re- trieves the earliest feasible starting time for executing the operation on both the two available units 41 and 42.
Then a check for setup or cleaning requirement, 44 and 46, is performed on both units 41 and 42, respectively.
Once the two parallel execution flows in the rule have been completed and the results stored in a step 45, the rule exe- cutes a conditional statement 48 looking for the unit provi¬ ding the earliest processing slot for the operations.
According to the selected rule branch the chosen unit is as- signed by evolving towards either of the steps 47 or 49.
The dashed line 102 is exemplary of the possibility, offered to the user, of e.g. "shortcutting" the step 44, for instance for indicating the unavailability of the related function. Effecting such changes/modifications within the framework of a typical interactive environment is a feature available in visual tools as considered herein.
Scheduling rules defined by means of the graphical editor de- fine custom actions in taking decisions for scheduling pur¬ pose.
An exemplary basic scheduling rule is the following: The scheduler recognizes that two or more machines are available for processing a particular task. The scheduler raises an event in order to ask the custom implementation for deciding which machine has to be selected. The scheduling rule evalu¬ ates a set of data (even data provided by the scheduler it¬ self) and signals the scheduler with the customized decision.
As the scheduling rules and control rules are defined and executed in the same visual environment, scheduling rules can interact with the control level and influence it in order to perform a better production plan. For example, a scheduling rule can modify a machine working speed in order to guarantee a task deadline is not missed.
Another exemplary manner of applying scheduling rules is to monitor the status of a machine/equipment that is considered critical for scheduling purposes and taking, consequently, decisions. For instance, if a breakdown occurs in a machine being monitored, the system, by executing a scheduling rule, can issue an alarm signal and/or possibly rearrange automati¬ cally the schedule by excluding that machine/equipment from the scheduling process, while involving in the process all the other equivalent machines available in the plant to per- form the operation.
The arrangement as described up to here produces a number of basic advantages when applied to a scheduler and a manufac¬ turing execution system, namely: - an essential simplicity in customizing the scheduling be¬ havior via graphical rules;
- the possibility of setting up "libraries" of scheduling rules on a by-industry basis;
- the possibility of re-using previously defined graphical rules in order to adapt the behavior of the rules to the requirements of a plant being supervised;
- the scheduler ability to react in real-time to external events .
As schematically shown in Figure 5, a production schedule is essentially a list of work orders (WO) 40 to be scheduled with details. Each of these orders in turn contains a product 50 defined in the form a set of product/process segments 60 generally arranged in a hierarchy.
All these entities are related to logical agents. Not all the agents are always active in the system. For instance, physi¬ cal agents (PAs), related to physical entities, are active whilst the associated entity is part of the plant. Work order agents (WOAs), as exemplified by blocks 70 to 74 in Figure 6, are created and activated in response to a new work order ar¬ rived in the system. Process and product segments agents (ProdSA, ProcSA) are activated by the work order agents; these work out the list of operations to be performed for serving the work order and create necessary operation agents (OAs) related to operations that are necessary to process the work order. A major portion of a multi-agent system activity is related to assigning operations requested by work orders on the physical entities available in the plant, taking into account scheduling constraints and criteria. This is the fundamental capability of the scheduler and it is performed by applying a work order scheduling protocol.
However, other interaction protocols among agents exist in an Agent-based Detailed Production Scheduler, and provide useful capabilities to the product.
For example, a dedicated interaction protocol is applied by work order agents in order to "browse" the plant structure and select the physical entity to contact for acquiring a given service. Other protocols can be used to rearrange slot allocation of an earlier computed schedule and optimize per¬ formance.
The work order scheduling protocol thus plays quite a sig¬ nificant role in the exemplary scheduling system described herein. The protocol specification and some examples of com¬ munications based on that protocol will therefore be given in the following.
The scheduler described herein will be assumed to be operat¬ ing in real-time, with the multi-agent system always active.
While the agents operate autonomously and concurrently and the multi-agent system may be involved at each time instant in several decision steps for scheduling one or more work or¬ ders, the description of the multi-agent system activity can be given following the action steps for scheduling a single work order. This activity contains all the actions performed by the multi-agent system and provides a complete overview of the multi-agent system while applying the work order schedul¬ ing protocol. Essentially, a work order agent (WOA) is created in response to a new work order to be scheduled. The work order agent (WOA) contains all the data describing the work order (prod- uct type, quantity, due-date, lot number, etc.) . The work or¬ der agent activates the product segment agents (ProdSA) and hence the process segment agents (ProcSA) related to the work order product.
By accessing the necessary information from the process seg¬ ment agents, the product segment agents become knowledgeable of the list of operations to be performed for producing the given product .
The product segment agents (ProdSA) create operation agents (OA) in a number equal to the number of the necessary opera¬ tions. Each work order agent (WOA) knows the operation to be performed and the resources necessary for the operation. Moreover, the work order agent (WOAs) are provided by the product segment agents (ProdSAs) with the product segment constraints and dependencies as priority, parallel execution infeasibility etc.
Some process segments may in fact require resources defined at levels higher than the unit level (e.g. cell or area) ; this information is preserved by the product segment agents. These agents are in charge of contacting the right physical entity by applying the negotiation protocol as described in the following.
According to the ISA 95 specification, process segments, and hence product segments are organized in a hierarchical struc¬ ture. Therefore, a product segment can be composed of sub- segments; the agents representing the product segments re- fleet this structure. However, agents modelling product seg¬ ments do not operate in hierarchical structure, but rather represent how the various segments are linked to each other. Figure 7 schematically shows the creation and interaction be¬ tween work order agents WOAs and operation agents OAs (solid line) and possible interaction messages between WOAs (or OAs) and resource agents RAs (dashed line) .
The protocol described herein defines the fundamental inter¬ action among agents for the agent-based detailed scheduler. The work order scheduling protocol is applied by each work order agent for interacting with physical entity agents and assigning a processing resource and time slot for each opera¬ tion that is part of the related work order.
The exemplary protocol described herein is designed for a flat product segment structure. This means that product seg¬ ments are assumed containing a list of atomic operations. Product segments do not contain sub-segments.
The exemplary protocol described herein is composed by two main sections plus initialization and finishing sections.
The first section can activate new instances of the section itself, providing recursive actions; the second section of the protocol includes a set of steps executed iteratively.
The following protocol description provides details for each protocol section and for the agent behaviours that manage the conversation. The description is split up in the various sec¬ tions of the protocol.
During the initializing conversation, the work order agents are in charge of acquiring resources for processing their own operations. The work order agents are activated one at a time, in response to a new incoming order to the system. Oth- erwise, the work order agents are activated in batch if a de¬ tailed schedule is computed on the basis of a rough produc- tion schedule or the scheduling process is activated inter¬ mittently.
Before starting a scheduling conversation, each work order agent takes a set of decisions, including computing priori¬ ties for the work order, choosing dependency and checking criteria (backward or forward) and possibly selecting the physical entity to contact for sending the first message.
Applying the negotiation protocol, the product segment agents select the physical entity to contact for starting the proto¬ col according to the rules indicated in the following:
- the physical entity to contact is the lowest level entity able to perform all the activities listed in the related product segments; and
- if more than one entity at the same level are available, then the "parent" entity is selected.
These entity selection rules ensure that the product segment is executed on the "optimal" available resource and avoid spreading operations of the same segment among equivalent high-level entities (area, cell) when this is not strictly necessary.
When a work order agent wants to start a work order schedul¬ ing conversation, it applies the first section of the proto¬ col. The first section described in detail in the following comprises two steps.
First section "Requesting work order Service":
Step 1:
In Figure 8, the Section 1 of the work order scheduling pro- tocol is defined by means of a flow diagram; it includes evaluation steps, sub-routine call steps and conditional statements . Referring to Figure 8, in a step 80 a work order agent sends a request_wo_service message to the physical entity agent (PEA) . The contacted physical entity agent has been selected by the work order agent according to the rules given above or indicated by a previous protocol section if the actual sec¬ tion is nested in a previous section.
A step 90 is devoted to verifying if the resource agent RA has signaled a delegation. In the positive, in a step 100 the list of RAs to contact for nested first section is the RAl- ist. In a step 110 for each RA1 in the RAlist the first sec¬ tion is called on the RA1.
In the negative, in a step 130 the list of RAs to contact for each operation is OAmap. In a step 140 for each RA1 in the OAmap the second section is called.
A request_wo_service message declares the request for ser- vice; it contains the information about the required opera¬ tions (work order product segment) , the amount of workload and additional data that could be used by the agent behaviors (i.e. time constraints) .
The physical entity agent that receives the announce message can act according to the following four cases .
Case 1: The work order cannot be processed by the resource or its "child" resources (plant-branches) . This is due to unfea- sibility in matching the necessary operations and resource capabilities. This case can arise in various scenarios: an error has occurred in setting the scheduling rules for estab¬ lishing the resource to be contacted; unexpected plant con¬ figuration changes have modified the plant-branch production capabilities, etc. Case 2: All the operations requested by the work order can be processed by one or more plant-branches that are children of the contacted resource and the scheduling criterion aims at containing all the operations of the same work order in one branch only, if possible. For instance, by applying this cri¬ terion, if a work order requires two operations, Ol and 02, and there are two identical cells (celll and cell2) contain¬ ing units able to perform 01 and 02, then the work order is entirely processed in either celll or cell2; taking apart 01 and 02 of the same work order is not allowed.
Case 3: All the operations requested by the work order can be processed by one or more plant-branches that are children of the contacted resource and the scheduling criterion allows spreading the operations of a work order among different branches, even if it is not strictly necessary. In the exam¬ ple given above, by applying this criterion, a work order can be executed by processing 01 on a unit of celll and 02 on a unit of cell2.
Regardless of the plant configuration, the possibility exists of applying different criteria in activating the work order operations. The behaviour depicted above is customizable by means of the Production Modeler (PM) rules in order to imple- ment different scheduling criteria.
Case 4: The operations requested by the work order can be processed by a set of child resources (including the actual resource) , yet there is not any sub-branch able to process the whole work order operations set.
The physical entity agent replies to the work order agent with a response message; the contents of the response message differ as a function of the case considered, as shown in the following. Case 1: the physical entity agent informs the work order agent about the unfeasibility of processing one or more op¬ erations of the work order.
Case 2: the physical entity agent delegates the scheduling conversation to one or more child resources. It communicates to the work order agent the list of physical entity agents to contact.
Case 3 or Case 4: the physical entity agent signals the work order agent to activate agents related to its operations and informs it about the physical entity agents that can perform the necessary operations. The message contains the list of work order operation and, for each operation, the list of possible resources that can process the related operation; Ox : [Ra, Rb] , Oy : [Ra, Rc] , etc.
The protocol structure may additionally vary according to the four cases.
Case 1: Conversation abort. No further computation is possi¬ ble. The work order agent will escalate to other scheduler component .
Case 2: The work order agent activates a new first section for each physical entity agent listed in the response mes¬ sage. Possibly, the work order agent uses a dedicated behav¬ ior for managing each section instance by activating behavior instances in a number equal to the number of the physical en¬ tity agents it has to deal with. This architecture allows easy implementation of the nested protocol sections/behaviors and provides tracking of the agent actions for free.
The next step of the section is executed after all the nested sections have been concluded, hence all the work order agent behaviours have returned. Case 3 and Case 4: The work order agent activates the second section of the protocol. The next first section step is exe¬ cuted after the second section has been completed.
Step 2:
When the first section is executing Step 2, the work order agent has received a list of possible complete schedules for the related work order. The computed schedules are the result of either i) execution of nested first section conversations or ii) a second section conversation. Of course, the first section can be nested more than once; eventually, every first section returns to its caller by executing a case 1 or acti- vating section 2 in case 3 or case 4.
The work order agent marks the received whole work order schedules with its own preferences. Then, it sends an evalu- ate_schedule message to the physical entity agent. The evalu- ate_schedule message contains the schedule proposals and the related preference values.
Again, this behavior is customizable by means of the Produc¬ tion Modeler (PM) scheduling rules.
The physical entity agent selects a sub-set of possible schedules to save. In fact, this step of the protocol can be repeated if the conversation was delegated more than once, and the physical entity agent can save more than one possible schedule. The final decision, i.e. selecting one schedule only, is expected to be taken by the first physical entity agent that was contacted by the work order agent. However, the scheduling conversation can return more than one possible schedules if the scheduling process is designed to provide user or other software systems with alternative schedules.
The physical entity agent replies to the work order agent by providing a list of selected schedules. This behavior is once more customizable by means of Produc¬ tion Modeler (PM) scheduling rules.
The work order agent forwards this information to the opera¬ tion agents related to its work order operations by sending a confirm_schedule message.
Each operation agent informs the physical entity agents that made the slot proposals about the slot to confirm and the slots to be canceled. Each operation agent involved sends a confirm_slot message containing the list of slots to be saved.
The physical entity agent acknowledges the slot confirma¬ tion/cancellation by a reply message.
The operation agent replies to the work order agent by indi¬ cating that slot confirmation was concluded.
The next step in the protocol is the finishing conversation.
Second section "Scheduling Operations":
In Figure 9, Section 2 of the work order scheduling protocol is presented by means of a flow diagram; it includes evalua¬ tion steps, sub-routine call steps and conditional state¬ ments .
Referring to Figure 9, in a step 160 a work order agent acti¬ vates the operation agents OAs by sending an acti- vate_operation message. The activate_operation message con¬ tains the list of physical entity agents that can be con¬ tacted by the operation agent for acquiring service. In a step 170 a check is made as to whether operations exist to be scheduled. In the positive, the check operation dependencies are effected in a step 180. In a step 190 a release_operation message is sent to all those operations that can be scheduled and a reply is waited for.
In a step 200 a check is made as to whether any unfeasibili- ties have been raised. In the positive, in a step 210 an er¬ ror handling message is sent, thus making a conversation abort possible. In the negative the process returns to the step 170.
The work order agent has to activate its related operation agents and cause them to negotiate for acquiring the neces¬ sary resources.
The work order agent has two options for activating the other agents; the former option implements backward scheduling, the latter is a forward scheduling approach.
Backward activation is suitable for strict due-date target criteria. The work order agent activates the sub-tasks start- ing from the last operation (i.e. the one that has to be com¬ pleted on the due-date) and proceeding according to the op¬ eration reverse order (i.e. in backward order) . This arrange¬ ment permits gaps to be inserted for reliability of the schedule and for recovering from ready time infeasibility. Forward activation is more suitable for scheduling in highly congested time periods . When applying forward activation, the due-date target is not strongly considered; however there is no time wasted as the jobs are scheduled as soon as possible.
Agent activation is performed by the work order agent accord¬ ing to the operations original order (forward) . Forward acti¬ vation can be further improved by optimizing the selection of time slots and trying to recover from tardy process comple¬ tion.
Other policies for activating operations are however possi¬ ble. Each work order agent can implement its own strategies for activating the operations in order to best suit its ob¬ jective.
A work order agent can apply a scheduling protocol more than once; this happens when a scheduling attempt fails because of unfeasibility in assigning one or more operations to re¬ sources. For example, an attempt to satisfy a min-max waiting time for an operation can result in receiving no proposals from the physical entity agents (this case is further de- tailed in the following) .
In this case, the scheduling protocol aborts and the work or¬ der agent will attempt again to acquire a schedule for its work order, possibly modifying preferred starting time (or ending time, if backward activation is applied) for the first (last) operations. The work order agent can track the at¬ tempts of scheduling and detect any critical scheduling path; if these capabilities are implemented, the work order agent can apply any sequence in releasing operation agents without breaching the protocol.
Once more, the behavior depicted above is customizable by means of Production Modeler (PM) scheduling rules.
Each operation agent announces itself to all the physical en¬ tity agents that were listed in activate_operation message and hence can be contacted for acquiring service. Operation Agents thus send announce messages and physical entity agents reply to the operation agents with acknowledge messages. Then operation agents reply to the work order agents with acknowl¬ edge messages.
This protocol phase leads all the physical entity agents to become knowledgeable of the operations that will be released later. In fact, the physical entity agents need to know the operations that will request schedule in order to optimize the way of resolving conflicts in accessing resources. Reso- lution of conflicts in accessing resources will be described in greater detail in the following.
Work order agents check dependencies and constraints of op- erations. Specifically, each work order agent detects the op¬ erations that can be scheduled and sends a release_operation message to the related operation agent. The release_operation message contains information about release time, due date and deadline for the operation schedule.
Each operation agent that receives the release_operation mes¬ sage sends a request_slot message to all the physical entity agents listed in the activate_operation message it has re¬ ceived. The request_slot message contains data necessary for allocating the best slot for the operation (release time, due date, preferred starting time, etc.) .
Physical entity agents receive request_slot messages, and compute one or more slots for the operation. This computation can include several steps, such as sorting the received re¬ quests according to custom criteria, evaluating alternatives also considering operations announced, but not requesting a slot. The physical entity agents reply to the operation agent with the list of proposed slots for service.
Whenever a physical entity agent computes a slot for an op¬ eration, it may have to deal with and manage conflicts that can arise because of the requests for service emitted by other work order agents. Actually, several scheduling proto- col instances can run simultaneously; a physical entity agent can manage more than one conversation at a time and hence they can receive slot requests from more than one operation agent. Each physical entity agent can implement its own be¬ havior for calculating time slots and serving requests. Thanks to the announce protocol phase, the physical entity agent involved is aware of all the operations that are going to request a slot. In order to improve performance, the physical entity agent can wait until other operation agents have been released be¬ fore replying to a request and computing slots on the basis of a consolidate view.
The slot selection behavior is another behavior that is cus¬ tomizable by means of Production Modeler (PM) scheduling rules .
The operation agent receives the proposed slots and marks them with a value indicating preferences. Then it replies to the work order agent by forwarding the list of proposed slots for service with the preferences.
The previous step could in fact fail in computing a slot for operation process. This is due to possible unfeasibility in satisfying constraints as minimum and maximum waiting time.
In this case, the operation agent signals the occurrence of an error to the work order agent, and the work order agent aborts the scheduling conversation. Possibly, this will per¬ form a new scheduling attempt with different parameters or will escalate error to another scheduler component.
The work order agent evaluates partial schedules obtained by combining the received slots for service for each operation. It marks each partial schedule with a value indicating pref¬ erences and requests the physical entity agent to select a subset of possible partial schedules to save. It sends a evaluate_partial_schedule message to the physical entity agents. The evaluate_partial_schedule message contains the list of partial schedules with preferences.
The one just described is still another behavior that is cus¬ tomizable by means of Production Modeler (PM) scheduling rules . The physical entity agent selects a sub-set of partial sched¬ ules to save and replies to the work order agent communicat¬ ing the selected slots.
The work order agent communicates to the operation agents the list of schedules to be confirmed and hence the list of schedules to be canceled. The work order agent sends a con- firm_partial_schedule message to the operation agents The operation agents send a confirm_slot message to the physical entity agents from which they have received one or more proposal.
The physical entity agent acknowledges the slot confirma- tion/cancellation by a reply message. The operation agent re¬ plies to the work order agent informing that the slot confir¬ mation has concluded.
The work order agent can now compute new dependency con- straints and release any other operations to be scheduled. The work order agent can release one operation more than once, having regard to the number of possible partial sched¬ ule combinations saved by the physical entity agents. For each operation to release and for each partial schedule com- bination, the work order agent sends a release_operation mes¬ sage to the operation agent.
This protocol part is repeated until all operations are scheduled.
All the operation agents have then been released and have re¬ turned a slot confirmation acknowledgement; the second sec¬ tion protocol can thus return the computed schedules to its caller, i.e. a first section protocol instance.
At this protocol step the work order agent has received one or more confirmed whole work order schedule. Finally, the work order agent reports the obtained schedules to the sched¬ uler. The conversation is finished.
Two specific examples of work order scheduling protocol in- stances will now be described in detail.
The former example is based on a simple plant structure and considers a work order composed of one operation only. This example aims at demonstrating in greater detail the first section of the protocol (the delegation mechanism applied when a request for service has to be propagated to sub-level physical entities) . This phase is designed according to a re¬ cursive pattern, and providing a practical example is more immediate than providing a formal specification.
On the other hand, the latter example refers to a more ar¬ ticulated scenario with a multiple branch plant structure and a work order composed of many operations, with dependencies. The latter example includes all the possible actions of the protocol and shows a complete work order scheduling conversa¬ tion in a consolidated view.
A simple work order scheduling protocol instance is de¬ scribed. The example is useful in clarifying the basic struc- ture of the protocol. Both the first section and the second section of the protocol are applied in the example; more to the point, the first section is applied twice due to the par¬ ticular plant structure that requires delegation of the work order scheduling process.
The plant considered in the examples will be assumed to be comprised of two physical entities organized in the hierarchy structure depicted in Figure 10, where PEi is a container en¬ tity that contains PE2.
The protocol is not dependent on the specific physical entity (area, cell, etc.), and, for the sake of simplicity of illus- tration, the plant model used in this example can be assumed to be comprised of a cell (PEl) containing a unit (PE2) .
The work order structure (i.e. its related product segment) is depicted in Figure 10 as well. The order WOA requires one operation only Ox, which operation Ox can be processed by PE2 only.
The numbers of the sections described in the following corre- spond to those reproduced in Figure 11.
1. WOA decides to send a request for service; the WO requests service to PEl by sending a request_wo_service message and specifying - product segment,
- quantity,
- due-date or release-date.
2. PEl cross-checks the requested functions and its own func- tion capability. The whole WO process can be performed in PE2
(Case 2) so that PEl replies to the WO specifying the list of PEs to contact PE2.
3. The WO contacts PE2 by sending a new request_wo_service message and specifying
- product segment,
- quantity and
- due-date or release-date.
4. PE2 recognizes it can process the operation requested by the WO (Case 4) . PE2 replies to the WO specifying
- that the operations can be activated and
- the equipment to be contacted by each operation (PE2 for 01) .
5. The WO activates its child operation agent and causes it to announce itself by sending a activate_operation message. 6. Ol sends a announce message to PE2.
7. PE2 replies to OA with an acknowledge message.
8. OA in turn replies to WOA with an acknowledge message.
9. The WO determines what operations have to be activated ac¬ cording to the dependency scheme and activation policy. In the case considered, only 01 can be activated. WOA signals 01 by sending a release_operation and causes it to contact PE2. The WO communicates to 01 the following data:
- PE to contact and
- due-date or release-date.
10. 01 requests service from PE2 by specifying:
- their functions and
- their due-date or release-date.
11. PE2 computes one or more service proposals and replies to PE2 by specifying the offered time-slot, cost and setups.
12. 01 marks the received service proposals with "prefer¬ ences" and forwards the offers to the WO by specifying: - offer schedule data and
- preferences.
13. The WO analyzes possible combinations of the received proposals and marks them with "preferences". WO communicates the possible temporary partial schedules to the PE2 by send¬ ing evaluate_schedule message specifying:
- temporary schedule data and
- preferences
14. PE2 selects a sub-set of received service proposal to save and communicates to the WO the sub-set of proposal to be saved. 15. The WO communicates to Ol the selected schedule by send¬ ing a confirm_schedule message, by specifying the list of proposals to be saved.
16. 01 signals PE2 to save the selected proposal and discard the others sending a confirm_slot message containing the list of proposals to be saved.
17. PE2 acknowledges 01 with the saved proposals (this may include a possible error report, which is not detailed in this protocol description) .
18. 01 acknowledges the WO with the saved proposals.
19. The WO analyzes the received proposals (only one in this example) and marks them with "preferences". The WO communi¬ cates the possible temporary partial schedules to the PEl (evaluate_schedule message) by specifying: - temporary schedule data and - preferences.
20. PEl selects one of the received service proposal to save and communicate to the WO the proposal to be saved.
21. The WO communicates to its operation (01) the selected schedule, by specifying the schedule (confirm_schedule mes¬ sage) .
22. 01 signals PE2 the selected schedule to be confirmed specifying (confirm_slot message) the schedule to be con¬ firmed.
23. PE2 acknowledges 01 with the confirmed schedule (this may include a possible error report, not detailed in this de¬ scription) . 24. Ol acknowledges the WO with the confirmed schedule.
A complete negotiation protocol among a work order agent and physical entity agents will now be described in connection with Figures 12 and 13.
The protocol description is given with reference to a sched¬ uling problem that includes all the possible options for the generic work order and plant configurations.
The example considers work orders of the type W0A depicted in Figure 12.
The protocol description is detailed for one work order in- stance only. However, other work order instances can apply their own work order scheduling conversation simultaneously, work orders of other types (e.g. W0B) could be active as well .
As indicated, the plant considered is assumed to be comprised of a set of physical entities organized in a tree-like hier¬ archy structure including branches. This plant structure is compliant with the ISA 95 standard, while the types of physi¬ cal entities in the problem instance are not specified in or- der to emphasize the general nature of the protocol descrip¬ tion. While every physical entity agent involved in the nego¬ tiation protocol plays essentially the same role (physical entity) , the physical entity agents behave differently, ac¬ cording to the level of the related entity in the hierarchy structure. Those agents (PEs) that are container of other PEs (area, cell) delegate the negotiation process to sub-level agents; the PEs in the lowest level have to compute and offer a service for the operation.
In the problem instance depicted in Figure 12, WOA requires three operations: Oi, O2 and O3. Oi and O2 require the func- tion type A, O3 requires the function B. O3 has to be per¬ formed after Oi and O2 completion.
While the plant description is given in terms of general physical entities, an exemplary specific denotation for each entity may be beneficial in appreciating the problem in¬ stance. The plant is composed of a PEi (area) containing two PEs, PE2 and PE3 (cells) . PE2 in turn contains three PEs: PE4, PE5 and PE6 (units), while PE3 contains two PEs: PE7, PE5 and PE8 (units) .
The units PE4, PE5 and PE7 are equivalent and can perform function type A. PE6 and PE8 are equivalent and can perform function type B. Hence, the two cells PE2 and PE3 are equiva- lent as they have the same production capability. Conse¬ quently, WOA can be processed by either PE2 or PE3.
1. The WO decides to send a request for service by sending to PEl a request_wo_service message and specifying: - product segment,
- quantity and
- due-date or release-date.
2. PEl cross-checks the requested functions and its own func- tion capability. The whole WO process can be performed in ei¬ ther PE2 or PE3 (Case 2) so PEl replies to WO by specifying the list of PEs to contact (PE2, PE3) .
3. The WO contacts PE2 and PE3 sending two request_wo_service messages and specifying:
- product segment,
- quantity,
- due-date or release-date.
4. Both PE2 and PE3 recognize the operations requested by the WO have to be processed by sub-level PEs (Case 4) . PE2 and PE3 reply to the WO by specifying: - that the operations can be activated, and
- the equipments to be contacted by each operation (PE2: PE4 and PE5 for both Ol and 02; PE3: PE7 for both 01 and 02) .
From this point onwards, the WO activates two similar conver- sations, with PE2 (and its sub-level equipments) and PE3 (and its sub-level equipments) . Only the conversation with PE2 (and its sub-level equipment) is shown in the protocol dia¬ gram.
5. The WO activates its child operation agents and causes them to announce themselves by sending a activate_operation message.
6. Each OA sends a announce message to the PEA it will con- tact for acquiring service.
7. The PEA involved replies to the OA with an acknowledge message.
8. OA in turn replies to the WOA with an acknowledge message.
9. The WO determines what operations have to be activated ac¬ cording to the dependency scheme and activation policy. It signals the operations to be activated (01 and 02) by sending a release_operation and causes them to contact the right PE. The WO communicates to 01 and 02 the following data:
- PEs to contact and
- due-date or release-date.
10. Both 01 and 02 request service to PE4 and PE5 by specify¬ ing:
- their functions and
- their due-date or release-date.
11. PE4 and PE5 compute one or more service proposals and re¬ ply to PE2 by specifying the offered time-slot, cost and set¬ ups . 12. Both Ol and 02 mark the received service proposals with "preferences" and forward the offers to the WO by specifying:
- offer schedule data and - preferences.
13. The WO analyzes possible combinations of the received proposals and marks them with "preferences". WO communicates the possible temporary partial schedules to the PE2 by send- ing evaluate_schedule message by specifying:
- temporary schedule data and
- preferences.
14. PE2 selects a sub-set of received service proposal to save and communicate to the WO the subset of proposals to be saved.
15. The WO communicates to its operations (01 and 02) the se¬ lected schedule by sending a confirm_schedule message, by specifying the list of proposals to be saved.
16. 01 and 02 signal PE4 and PE5 to save the selected propos¬ als and discard the others sending a confirm_slot message containing the list of proposals to be saved.
17. PE4 and PE5 acknowledge 01 and 02 with the saved propos¬ als (this may include a possible error report, not detailed in this description) .
18. 01 and 02 acknowledge the WO with the saved proposals. The steps I', M', N', and 0' and the messages 9', 12', 13', 14', 15', and 18' are essentially similar to the protocol sections from step I to step 0 and messages from 9 to 18 de¬ scribed in the foregoing. This protocol section computes the schedule slot for the operation 03. The operation 03 is acti¬ vated according to the release date and due date of the pre¬ vious operations. The operation 03 is provided with informa- tion about the previous operations reserved schedule. If more than one slot for either Ol or 02 have been reserved, then the WO activates 03 more than one in order to evaluate all the alternatives. At this point, the WO concludes two similar conversations, with PE2 and PE3, respectively.
19. The WO analyzes possible combinations of the received proposals and marks them with "preferences". WO communicates the possible temporary partial schedules to the PEl (evalu- ate_schedule message) by specifying:
- temporary schedule data and
- preferences.
20. PEl selects one of the received service proposal to save and communicate to the WO the proposal to be saved.
21. The WO communicates to its operations (01, 02 and 03) the selected schedule, by specifying the schedule (confirm_sche- dule message) .
22. 01, 02 and 03 communicate to the Physical Entities the selected schedule to be confirmed by specifying (confirm_slot message) the schedule to be confirmed.
23. PEs acknowledge 01, 02 and 03 with the confirmed schedule (this may include a possible error report, not detailed in this description) .
24. 01, 02 and 03 acknowledge the WO with the confirmed sche¬ dule.
Due to the specific behavior of the protocol and the archi¬ tecture described in the foregoing, the solution described herein leads i.a. to the following advantages in using a scheduling process in manufacturing environment: - portability: the arrangement described herein can be easily applied to any production environment compliant to ISA 95 specifications without requiring specific developments to adapt such a system to manufacturing plants; - distributed scheduling decisions: the scheduling criteria (associated with entities in a manufacturing system) re¬ flect the distributed structure of ISA 95 and the associ¬ ated agents; specifically the protocol described herein al¬ lows distributing the scheduling decisions throughout the manufacturing plant;
- local definition of scheduling constraints: technological constraints are taken into account locally by means of the single agent associated to the manufacturing equipment and by agents associated to work orders and operations; and - flexibility: any changes in the ISA 95 model of production plant and products is directly catered for by the schedul¬ ing system, by effecting corresponding changes in the agent-based architecture; flexibility is a direct conse¬ quence of the distribution of the scheduling decisions and of the local definition of the scheduling constraints above mentioned.

Claims

Claims
1. A scheduling system (DPS, 10, 20, 30, 35) for planning and scheduling production in an industrial production system (CL) , which scheduled production is to be executed by the production system (CL) under the control of a manufacturing execution system (MES), wherein:
- said scheduling system is a multi-agent scheduling system (DPS, 10, 20, 30, 35); - at least a part of the behavior of the agents (10, 20, 30, 35) in said multi-agent system (DPS, 10, 20, 30, 35) is customizable by means of visually defined scheduling rules;
- said scheduling system (DPS, 10, 20, 30, 35) and manufac¬ turing execution system (MES) share a definition and execu- tion environment comprising:
- editor means (CI) for visually defining both said sched¬ uling rules and control rules of the manufacturing execu¬ tion system (MES), and
- an execution engine for executing said scheduling rules and control rules and making scheduling decisions on the basis of the executon of said scheduling rules and con¬ trol rules.
2. The scheduling system of claim 2, wherein interaction rules between said agents (10, 20, 30, 35) are established by means of a scheduling protocol (11) adapted to the production system (CL) by at least a part of the customizable agent be¬ havior.
3. The scheduling system of claim 1 or 2, wherein the visu¬ ally definition of said rules is based on a given set of graphical items.
4. The scheduling system of any of the previous claims, wherein said visually defined scheduling rules are selected out of a group consisting of scheduling constraints, schedul¬ ing criteria, interactions among scheduling and production control activities.
5. The scheduling system of any of the previous claims, wherein said scheduling rules are visually defined by using an implementation of a visual language including items se¬ lected from a group consisting of modules for:
- real time acquisition allowing the definition of rules to detect the occurrence of events;
- output of data to external destinations; - allowing function calls;
- storing local data within the rule scope;
- conditional statements;
- providing entry points for sub-rules invocation; and
- graphical links connecting modules and defining the rule computation flow.
6. The scheduling system of any of the previous claims, wherein said agents (10, 20, 30, 35) are selected out of a group consisting of: - agents (10, 20, 30, 35) associated with physical assets (site, area, cell, unit);
- agents associated with information (e.g. production schedu¬ le, production capability) ;
- agents associated with functions (e.g. scheduling, invento- ry control, maintenance management) ; and
- agents associated with scheduling decision activities (e.g. scheduling progress tracking, manual schedule) .
7. The scheduling system of any of the previous claims, wherein said agents (10, 20, 30, 35) are arranged in classes with different behaviors selected out of the group consisting of:
- asking other agents for services or information;
- replying to requests for service; and - synchronizing with other agents' activity.
8. The scheduling system of any of the previous claims, wherein said agents (10, 20, 30, 35) are arranged in a hier¬ archy, said hierarchy including entities selected from a group consisting of:
- an agent site (10), - a set of agent areas (20) related to said agent site (10) in a decision hierarchy relationship,
- a set of agent cells (30) related to at least one of said agent areas (20) in a decision hierarchy relationship,
- a set of agent units (35) related to at least one of said agent areas (20) or said agent cells (30) in a decision hi¬ erarchy relationship.
9. The scheduling system of any of the previous claims for scheduling processing of incoming work orders (40, WOA) in a plant by means of operations performed by physical entities (20) available in the plant, wherein the agents in said ar¬ chitecture comprise a tree-like hierarchy (S, A, C, U) in¬ cluding branches, the system being configured for applying a work order scheduling protocol to rule the interactions bet- ween said agents (10) in assigning operations requested by said incoming work orders to said physical entities (20), the protocol including:
- a first main section, wherein the protocol identifies in said hierarchy a plurality of branches, each branch thus identified including physical entities adapted to process a given work order, and
- a second main section, wherein processing of said given work order is scheduled for each one of said identified branches of physical entities, whereby one of said sched- uled branches is adapted to be selected for processing said given work order.
10. The scheduling system of claim 9, including agents (10) related to physical entities of an ISA 95 standard plant definition.
11. The scheduling system of claim 9 or 10, including agents selected out of the group consisting of:
- physical agents (PAs), representative of said physical en¬ tities in said plant, - work order agents (WOAs) adapted to be created and acti¬ vated in response to said incoming work orders in the sys¬ tem,
- process and product segment agents adapted to be activated by said work order agents to work out lists of operations to be performed for serving said incoming work orders, and
- operation agents (OAs) representative of operations neces¬ sary to process said incoming work orders.
12. The scheduling system of claim 11, wherein each of said work order agents (WOA) is configured for applying said work order scheduling protocol for interacting with said physical agents (PAs) and assigning a processing resource and time slot for each operation that is part of a related work order.
13. The scheduling system of claim 11 or 12, being configured for creating a work order agent (WOA) in response to a new work order to be scheduled.
14. The scheduling system of any of claims 11 to 13, wherein said work order agents (WOAs) contain all the data describing a given work order and are configured for activating product and process segment agents (ProdSA, ProcSA) related to a given work order product.
15. The scheduling system of claim 14, wherein said product segment agents (ProdSA) are configured for accessing said process segment agents (ProcSA) to become knowledgeable of the operations to be performed for producing a given product.
16. The scheduling system of claim 14 or 15, wherein each said work order agent (WOA) is configured for detaining in¬ formation as to at least one operation to be performed and the resources necessary for said operation, and wherein said product segment agents (ProdSA) are configured for providing said work order agents (WOAs) with product segment con¬ straints and dependencies.
17. The scheduling system of any of claims 14 to 16, wherein said product segment agents (ProdSA) are configured for con¬ tacting said physical entities in the system by applying said protocol.
18. The scheduling system of any of claims 9 to 17, including at least one work order agent (WOA) configured for applying a dedicated interaction protocol to browse the plant structure and select the physical entity to contact for acquiring a given service.
19. The scheduling system of any of claims 9 to 18, including at least one rearranging agent configured for applying a pro¬ tocol to rearrange slot allocation of an earlier computed schedule.
20. A work order scheduling protocol for an agent-based sche¬ duling system of any of the preceding claims for scheduling processing of incoming work orders (40, WOA) in a plant by means of operations performed by physical entities (20) available in the plant, wherein the agents in said scheduling system comprise a tree-like hierarchy (S, A, C, U) including branches, said protocol ruling the interactions between said agents (10) in assigning operations requested by said incom- ing work orders to said physical entities (20), said protocol including:
- a first main section, wherein the protocol identifies in said hierarchy a plurality of branches, each branch thus identified including physical entities adapted to process a given work order, and
- a second main section, wherein processing of said given work order is scheduled for each one of said identified branches of physical entities, whereby one of said sched¬ uled branches is adapted to be selected for processing said given work order.
21. The protocol of claim 20, characterized in that said pro¬ tocol involves agents of said system acting as product seg¬ ments sgents (ProdSA) to select a physical entity to contact for starting said negotiation protocol.
22. The protocol of claim 21, characterized in said protocol is based on the following rules:
- the physical entity to contact is the lowest level entity able to perform all the activities listed in the related product segments; and - if more than one entity at the same level are available, then the parent entity is selected.
12. The protocol of any of claims 20 to 22, characterized in said protocol is based on scheduling rules customizable as visual rules (PM) .
24. The protocol of any of claims 20 to 23, characterized in that it includes sections selected out of the group consist¬ ing of: - an initialization section,
- said first main section (80 to 120) requesting work order service by activating new instances of the section itself,
- said second main section (160 to 210) including a set of scheduling operations executed iteratively, and - a finishing section.
25. The protocol of claim 24, characterized in that said ini¬ tialization section is in the form of a conversation wherein work order agents acquire resources for processing their own operations.
26. The protocol of claim 25, characterized in that during said initialization section said work order agents are acti¬ vated one at a time, in response new incoming orders to the system.
27. The protocol of claim 25, characterized in that during said initialization section said work order agents are acti¬ vated in batch.
28. The protocol of claim 24, characterized in that it in¬ cludes a work order scheduling conversation by agents acting as work order agents (WOAs) applying said first main section of the protocol.
29. The protocol of claim 28, characterized in that before said scheduling conversation, said work order agents take a set of decisions selected out of computing priorities for the work order, choosing dependency and checking criteria, and selecting a first physical entity to contact for implementing said negotiation protocol.
30. The protocol of either of claims 24 or 28, characterized in that said first main section involves a first step wherein a work order agent sends (80) to a physical entity agent (PEA) a request message including information about required operations, and the physical entity agent (PEA) that receives said request message is configured for acting by indicating any of:
- i) the work order being unable to be processed by the re- spective resource, directly or via any of its child re¬ sources;
- ii) all the operations requested by said work order being able to be processed by any of said child resources, thus allowing a scheduling criterion aiming at containing all the operations of the same work order in one branch only;
- iii) all the operations requested by said work order being able to be processed by a set of said child resources, thus allowing a scheduling criterion spreading said operations of said work order over different branches in said system; and
- iv) the operations requested by said work order being able to be processed by a set including said respective resource and its child resources, while no sub-branch exists in said system able to process the whole set of the operations re¬ quested by said work order.
31. The protocol of claim 30, characterized in that said physical entity agent (PEA) that receives said message is configured for replying to said work order agent with a re¬ sponse message, including an indication of:
- in case i) above, the unfeasibility of processing one or more operations of said work order under case;
- in case ii) above, the scheduling conversation being dele¬ gated to one or more child resources, along with a list of physical entity agents (PEAs) to contact; and
- in cases iii) or iv) above, the work order agent having to activate agents related to its operations and the physical entity agents able to perform the necessary operations.
32. The protocol of claim 31, characterized in that said physical entity agent (PEA) that receives said message is configured for replying to said work order agent with a re¬ sponse message, including, in said cases iii) or iv) , a list of work order operations and, for each operation, the list of possible resources able to process the related operation (Ox : [Ra, Rb],Oy : [Ra, Rc]) .
33. The protocol of claim 31 or 32, characterized by a proto¬ col structure with said cases i) to iv) above and including:
- for case i), a conversation abort option, whereby said work order agent escalates to other system components; - for case ii) , an option whereby said work order agent (WOA) activates a new first main section for each physical entity agent (PEA) listed in said response message and, possibly, said work order agent (WOA) uses a dedicated behavior for managing each section instance by activating behavior in¬ stances in a number equal to the number of the physical en¬ tity agents (PEAs) it has to deal with; and - for cases iii) and iv) , an option whereby said work order agent activates said second main section of the protocol.
34. The protocol of claim 28, characterized in that said first main section involves a second step including opera- tions selected out of the sequence wherein:
- having received a list of possible complete schedules for a related work order, said work order agent (WOA) marks the received whole work order schedules with its own prefer¬ ences and it sends to a physical entity agent (PEA) a mes- sage containing schedule proposals and related preference values;
- said physical entity agent (PEA) selects a sub-set of pos¬ sible schedules to save and replies to said work order agent (WOA) by providing a list of selected schedules in the form of proposed slots;
- said work order agent (WOA) forwards this list to a set of operation agents (Oas) related to its work order operations by sending a confirm message;
- each said operation agent (OA) informs the physical entity agent (PEA) that made the slot proposals about the slot to confirm and the slots to be canceled by sending a confirma¬ tion message containing the list of slots to be saved;
- said physical entity agent (PEA) acknowledges said slot confirmation/cancellation by a reply message; and - said operation agent (OA) replies to the work order agent (WOA) by indicating that slot confirmation was concluded.
35. The protocol of claim 34, characterized in that said sec¬ ond main section includes said work order agent activating a related operation agent (OA) by sending an activation message containing a list of physical entity agents (PEAs) that can be contacted by said related operation agent (OA) for acquir¬ ing service.
36. The protocol of claim 35, characterized in that said work order agent (WOA) is configured for activating said operation agents (OAs) via backward scheduling, by activating sub-tasks starting from the last operation and proceeding according to the operation reverse order.
37. The protocol of claim 35, characterized in that said work order agent (WOA) is configured for activating said operation agents (OAs) via forward scheduling, by activating said op¬ eration agents (OAs) according to the original order of the operations .
38. The protocol of claim 28, characterized in that said work order agents (WOAs) are configured for applying a scheduling protocol more than once when a scheduling attempt fails be¬ cause of unfeasibility in assigning one or more operations to resources.
39. The protocol of claim 38, characterized in that said work order agents (WOAs) are configured for attempting, when a scheduling attempt fails, to acquire a new schedule for their work order, by modifying preferred starting or ending time, for the the first and the last operation, respectively.
40. The protocol of claim 38 or 39, characterized in that said work order agents (WOAs) are configured for tracking the attempts of scheduling and detect any critical scheduling path.
41. The protocol of claim 35, characterized in that said sec¬ ond main section includes the operations of: - said operation agents (OAs) sending announcing messages to announce themselves to the physical entity agents (PEAs) able to be contacted for acquiring service; - said physical entity agents (PEAs) replying to said opera¬ tion agents (OAs) with acknowledge messages; and
- said operation agents (OAs) replying to said work order agents (WOAs) with acknowledge messages, whereby all said physical entity agents (PEAs) become knowledgeable of the operations that will be released later.
42. The protocol of claim 35, characterized in that it in¬ cludes the operations of: - said work order agents (WOAs) checking dependencies and constraints of operations by detecting operations able to be scheduled and sending release messages to the related operation agents (OAs), said release messages containing information about release time, due date and deadline for the operation schedule;
- each operation agent (OA) receiving one said release mes¬ sage sending a request message to the physical entity agents (POAs) listed in the activation message it has re¬ ceived, said request message containing data for allocating a best slot for the operation;
- said physical entity agents (PEAs) receiving said request messages and determining one or more slots for the opera¬ tion; and
- said physical entity agents (PEAs) replying to the opera- tion agent with the list of proposed slots for service.
43. The protocol of claim 42, characterized in that it in¬ cludes the operations of said physical entity agents (PEAs) replying to the operation agent with said list of proposed slots for service said list being marked with values indicat¬ ing preferences.
44. The protocol of either of claims 42 or 43, characterized in that said physical entity agents (PEAs) are configured for dealing with and managing possible conflicts arising out of requests for service emitted by other work order agents (WOAs) when determining one or more slots for an operation.
45. The protocol of any of claims 42 to 44, characterized in that said operation agents (OAs) are configured for signaling the occurrence of scheduling errors to said work order agents (WOAs), and wherein said work order agents (WOAs) are config¬ ured for performing a new scheduling attempt with different parameters or escalating the error to another scheduler com¬ ponent.
46. The protocol of any of claims 42 to 45, characterized in that:
- said work order agents (WOAs) are configured for evaluating partial schedules obtained by combining the received slots for service for each operation, while marking each partial schedule with a value indicating preferences and then re¬ questing said physical entity agents (PEAs) to select a subset of possible partial schedules to save;
- said physical entity agents (PEAs) are configured for se¬ lecting a sub-set of partial schedules to save and replying to said work order agents (WOAs) by communicating the se¬ lected slots;
- said work order agents (WOAs) are configured for communi¬ cating to said operation agents (OAs) a list of schedules to be confirmed and to be canceled; and - said operation agents (OAs) are configured for sending a slot confirm message to the physical entity agents (PEAs) from which they have received one or more proposals.
47. The protocol of claim 42, characterized in that said op- eration agents (OAs) are configured for inidcating to said work order agents (WOAs) by indicating that slot confirmation has been concluded.
48. The protocol of claim 47, characterized in that said work order agents (WOAs) are configured for computing new depend¬ ency constraints and releasing any other operations to be scheduled once said slot confirmation has been concluded.
49. The protocol of claim 46, characterized in that said work order agents (WOAs) are configured for releasing one opera¬ tion more than once, having regard to the number of possible partial schedule combinations saved by said physical entity agents (PEAs) .
PCT/EP2005/056113 2004-11-19 2005-11-21 Scheduling system and work order scheduling protocol for such a system WO2006053908A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/666,114 US7848836B2 (en) 2004-11-19 2005-11-21 Scheduling system and work order scheduling protocol for such a system
EP05816116A EP1815410A1 (en) 2004-11-19 2005-11-21 Scheduling system and work order scheduling protocol for such a system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP04027528A EP1659521A1 (en) 2004-11-19 2004-11-19 A production scheduling method and system, related computer program product
EP04027527.3 2004-11-19
EP04027528.1 2004-11-19
EP04027527A EP1659520A1 (en) 2004-11-19 2004-11-19 An agent-based architecture for manufacturing scheduling, related negotiation protocol and computer program product

Publications (1)

Publication Number Publication Date
WO2006053908A1 true WO2006053908A1 (en) 2006-05-26

Family

ID=35659024

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2005/056113 WO2006053908A1 (en) 2004-11-19 2005-11-21 Scheduling system and work order scheduling protocol for such a system

Country Status (3)

Country Link
US (1) US7848836B2 (en)
EP (1) EP1815410A1 (en)
WO (1) WO2006053908A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446289A (en) * 2014-09-23 2016-03-30 西门子公司 Collecting by a MES system time-stamps of working-statuses
CN109934432A (en) * 2017-12-15 2019-06-25 江苏醉开心酒业有限公司 A kind of wine product production procedure monitoring and managing method and device

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2017684A1 (en) * 2007-05-24 2009-01-21 Siemens Aktiengesellschaft System and method for handling a production disturbance/opportunity event in a production execution system
EP2019367A1 (en) * 2007-06-28 2009-01-28 Siemens Aktiengesellschaft A method to improve the performance of a distributed scheduler
US20090125368A1 (en) * 2007-10-16 2009-05-14 Vujicic Jovo John System and Method for Scheduling Work Orders
EP2169495A1 (en) * 2008-09-18 2010-03-31 Siemens Aktiengesellschaft Method for modelling a manufacturing process
US8145333B2 (en) * 2008-12-01 2012-03-27 Rockwell Automation Technologies, Inc. Ontology-based system and method for industrial control
US8713146B2 (en) * 2009-03-27 2014-04-29 Ebay Inc. Change management automation tool
EP2237197A1 (en) * 2009-03-31 2010-10-06 Siemens Aktiengesellschaft Method for evaluating key production indicators (KPI) in a manufacturing execution system (MES)
US20100268521A1 (en) * 2009-04-17 2010-10-21 Rainer Heller Monitoring An Automation System
EP2256679A1 (en) * 2009-05-29 2010-12-01 Siemens Aktiengesellschaft Customizable scheduling tool, manufacturing executing system comprising said tool and method of using said tool
WO2010142001A2 (en) * 2009-06-12 2010-12-16 Technological Resources Pty Limited A mine scheduling system
US8875143B2 (en) 2009-12-31 2014-10-28 Bmc Software, Inc. Utility-optimized scheduling of time-sensitive tasks in a resource-constrained environment
US8701121B2 (en) 2011-06-27 2014-04-15 Khalifa University Of Science, Technology And Research Method and system for reactive scheduling
EP2639753A1 (en) * 2012-03-13 2013-09-18 Siemens Aktiengesellschaft Controlling a manufacturing process
US20130297055A1 (en) * 2012-05-04 2013-11-07 Fei Wang Network-based control method and system for controlling a whole-flow production process
EP2682905A1 (en) * 2012-07-05 2014-01-08 Siemens Aktiengesellschaft Method and system for handling conditional dependencies between alternative product segments within a manufacturing execution system ANSI/ISA/95 compliant.
US9678505B2 (en) * 2013-10-14 2017-06-13 Invensys Systems, Inc. Line management in manufacturing execution system
KR102233812B1 (en) * 2014-07-30 2021-03-31 삼성전자주식회사 Method and system for processing a data from equipment
CA3123555C (en) * 2016-04-08 2023-08-29 Husqvarna Ab Intelligent watering system
US10885014B2 (en) * 2017-02-28 2021-01-05 Citrix Systems, Inc. Assigning monitoring responsibilities in distributed systems using optimistic concurrency
TWI633504B (en) 2017-11-16 2018-08-21 財團法人工業技術研究院 Tree search-based scheduling method and an apparatus using the same
CN107832898B (en) * 2017-11-30 2022-12-13 成都飞机工业(集团)有限责任公司 Logistics waiting index optimization method
CN110784398B (en) * 2019-11-01 2022-05-17 锱云(上海)物联网科技有限公司 Data acquisition system and data analysis method for industrial Internet of things processing equipment
JP7257344B2 (en) * 2020-01-14 2023-04-13 株式会社日立製作所 Production planning system and production planning method
CN114755982B (en) * 2021-01-12 2023-05-23 佳禾智能科技股份有限公司 Gene expression programming intelligent scheduling method and device based on layered neighborhood structure
CN114839929B (en) * 2022-03-17 2024-03-08 兰州理工大学 Energy-saving assembly line whale scheduling optimization method and integrated system for electrolytic aluminum

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5487144A (en) * 1992-12-01 1996-01-23 Yokogawa Electric Corporation Scheduling system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148370A (en) * 1987-06-17 1992-09-15 The Standard Oil Company Expert system and method for batch production scheduling and planning
US5099431A (en) * 1989-10-23 1992-03-24 International Business Machines Corporation Automated re-work shop order scheduling system
US5442561A (en) * 1992-05-12 1995-08-15 Nippon Telegraph And Telephone Corporation Production management system and its application method
US6345259B1 (en) * 1993-09-28 2002-02-05 The Dow Chemical Company System and method for integrating business and manufacturing environments
JPH1076446A (en) * 1996-08-30 1998-03-24 Toshiba Corp Device and method for controlling production process
US6128588A (en) * 1997-10-01 2000-10-03 Sony Corporation Integrated wafer fab time standard (machine tact) database
US6732167B1 (en) * 1999-11-30 2004-05-04 Accenture L.L.P. Service request processing in a local service activation management environment
US7065499B1 (en) * 2001-03-19 2006-06-20 I2 Technologies Us, Inc. Intelligent order promising
US7870012B2 (en) * 2001-05-15 2011-01-11 Agile Software Corporation Method for managing a workflow process that assists users in procurement, sourcing, and decision-support for strategic sourcing
US20030220828A1 (en) * 2002-05-23 2003-11-27 Chih-An Hwang Polymer production scheduling using transition models
TW200410109A (en) * 2002-12-13 2004-06-16 Hon Hai Prec Ind Co Ltd Production capability simulating system and method
US7904192B2 (en) * 2004-01-14 2011-03-08 Agency For Science, Technology And Research Finite capacity scheduling using job prioritization and machine selection
US7043321B2 (en) * 2004-05-27 2006-05-09 Palo Alto Research Center Incorporated Exception handling in manufacturing systems combining on-line planning and predetermined rules

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5487144A (en) * 1992-12-01 1996-01-23 Yokogawa Electric Corporation Scheduling system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BOHNENBERGER T ET AL: "Agents in manufacturing: online scheduling and production plant configuration", AGENT SYSTEMS AND APPLICATIONS, 1999 AND THIRD INTERNATIONAL SYMPOSIUM ON MOBILE AGENTS. PROCEEDINGS. FIRST INTERNATIONAL SYMPOSIUM ON PALM SPRINGS, CA, USA 3-6 OCT. 1999, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 3 October 1999 (1999-10-03), pages 66 - 73, XP010358600, ISBN: 0-7695-0342-X *
DJAMILA OUELHADJ: "a multi-agent system for the integrated dynamic scheduling of steel production", THESIS OF THE UNIVERSITY OF NOTTINGHAM, XX, XX, August 2003 (2003-08-01), pages COMPLETE253, XP002321065 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446289A (en) * 2014-09-23 2016-03-30 西门子公司 Collecting by a MES system time-stamps of working-statuses
EP3001361A1 (en) * 2014-09-23 2016-03-30 Siemens Aktiengesellschaft Collecting by a MES system time-stamps of working-statuses
CN105446289B (en) * 2014-09-23 2018-07-10 西门子公司 By the method and system of the timestamp of manufacturing execution system collection work state
US10126728B2 (en) 2014-09-23 2018-11-13 Siemens Aktiengesellschaft Method and system for collecting via a MES system time-stamps of working-statuses
CN109934432A (en) * 2017-12-15 2019-06-25 江苏醉开心酒业有限公司 A kind of wine product production procedure monitoring and managing method and device

Also Published As

Publication number Publication date
EP1815410A1 (en) 2007-08-08
US7848836B2 (en) 2010-12-07
US20080091289A1 (en) 2008-04-17

Similar Documents

Publication Publication Date Title
EP1815410A1 (en) Scheduling system and work order scheduling protocol for such a system
US6999829B2 (en) Real time asset optimization
US6856845B2 (en) Monitoring and reporting incremental job status system and method
US20080215397A1 (en) System and mechanism to create autonomic business solutions
O'GRADY et al. An intelligent cell control system for automated manufacturing
CN108400917A (en) A kind of edge calculations gateway and system towards intelligence manufacture
WO2016130873A1 (en) Extending a programmable logic controller with apps
US9086696B2 (en) Self-arbitrated resources for industrial control systems
TW200400428A (en) Specialization of active software agents in an automated manufacturing environment
CN111240935B (en) Automatic intelligent operation and maintenance system and operation and maintenance method
Tharumarajah et al. Approaches and issues in scheduling a distributed shop-floor environment
EP1659520A1 (en) An agent-based architecture for manufacturing scheduling, related negotiation protocol and computer program product
Malz et al. Agent-based test management for software system test
Adacher et al. Autonomous agents architectures and algorithms in flexible manufacturing systems
EP1659521A1 (en) A production scheduling method and system, related computer program product
Bakker DFMS: A new control structure for FMS
Badr An agent-based scheduling framework for flexible manufacturing systems
Tsai et al. Web-based distributed manufacturing control systems
Van Brussel et al. Hierarchical control of a generic flexible assembly cell
Xiao-Feng et al. A rule-based heuristic finite capacity scheduling system for semiconductor backend assembly
Hechicera Specification of a Multiagent System for Planning and Management of the Production Factors for Automation based on the SCDIA Framework and MASINA Methodology
Ashjaei et al. Dynamic reconfiguration in hartes switched ethernet networks
Qiu E-manufacturing: the keystone of a plant-wide real time information system
EP4343548A1 (en) Method for configuring a real-time computer system
EP4131001A1 (en) Method for the deployment of a software module in a manufacturing operation management system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KN KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REEP Request for entry into the european phase

Ref document number: 2005816116

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2005816116

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11666114

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2005816116

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 11666114

Country of ref document: US