JP2018063541A - Management apparatus, management system, management method and computer program - Google Patents

Management apparatus, management system, management method and computer program Download PDF

Info

Publication number
JP2018063541A
JP2018063541A JP2016201036A JP2016201036A JP2018063541A JP 2018063541 A JP2018063541 A JP 2018063541A JP 2016201036 A JP2016201036 A JP 2016201036A JP 2016201036 A JP2016201036 A JP 2016201036A JP 2018063541 A JP2018063541 A JP 2018063541A
Authority
JP
Japan
Prior art keywords
task
data
stage
indicating
acquired
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2016201036A
Other languages
Japanese (ja)
Other versions
JP6927557B2 (en
Inventor
弘 出口
Hiroshi Deguchi
弘 出口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Institute of Technology NUC
Original Assignee
Tokyo Institute of Technology NUC
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
Application filed by Tokyo Institute of Technology NUC filed Critical Tokyo Institute of Technology NUC
Priority to JP2016201036A priority Critical patent/JP6927557B2/en
Publication of JP2018063541A publication Critical patent/JP2018063541A/en
Application granted granted Critical
Publication of JP6927557B2 publication Critical patent/JP6927557B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • General Factory Administration (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a management apparatus which manages various data obtained in a process of executing individual tasks for a plurality of tasks having a predetermined order relation in such a manner that the data can be utilized afterwards.SOLUTION: A management apparatus 122 records a start time in task data for one task when data indicating the start of the one task transmitted from an external device related to task execution is acquired. The management apparatus 122 records an end time in the task data for the one task when data indicating the end of the one task transmitted from the external device is acquired. When data related to the execution of the one task is acquired after the data indicating the start of the one task is acquired and before the data indicating the end of the one task is acquired, the management apparatus 122 records the data related to the execution in the task data for the one task.SELECTED DRAWING: Figure 13

Description

本発明はデータ処理技術に関し、特に管理装置、管理システム、管理方法およびコンピュータプログラムに関する。   The present invention relates to a data processing technique, and more particularly to a management apparatus, a management system, a management method, and a computer program.

本発明者は、複数のタスクを半順序関係で整列したワークフローを使用して、分散した環境で自律的に動作する個々のエージェントを全体として協調して動作するよう制御する技術を提案している(例えば特許文献1参照)。   The present inventor has proposed a technique for controlling individual agents that operate autonomously in a distributed environment to work together as a whole using a workflow in which a plurality of tasks are arranged in a partial order relationship. (For example, see Patent Document 1).

特開2015−204013号公報Japanese Patent Laying-Open No. 2015-204033

近年、センシング技術の向上により、モノやサービスの生産現場の状態を示すデータがリアルタイムに把握できるようになってきている。しかし、上記生産現場の状態を示す個々のデータがバラバラに管理されていたのでは、それらのデータに基づいて、製品や仕掛品を改善することは難しく、また、生産プロセスのイノベーションを生み出すことは難しいと本発明者は考えた。   In recent years, improvement in sensing technology has made it possible to grasp data indicating the state of production sites for goods and services in real time. However, if individual data indicating the status of the production site is managed separately, it is difficult to improve products and work-in-process based on such data, and it is not possible to create innovation in the production process. The inventor thought it was difficult.

本発明は上記課題を鑑みてなされたものであり、主な目的は、工場のロット管理の生産システムや建築現場の作業等で遂行される複数のタスクであり、所定の成果物を生産するために予め順序関係が定められた複数のタスクについて、個々のタスクの遂行過程で得られる様々なデータを、その後の利活用に資する態様で管理する技術を提供することである。   The present invention has been made in view of the above problems, and a main object is a plurality of tasks performed in a production system for factory lot management, work on a construction site, and the like for producing a predetermined product. A technique for managing various data obtained in the course of performing individual tasks in a manner that contributes to the subsequent utilization of a plurality of tasks for which order relations are defined in advance.

上記課題を解決するために、本発明のある態様の管理装置は、所定の順序で遂行されるべき複数のタスクについて、各タスクの遂行に際して得られたデータをタスク単位にまとめたタスクデータを保持するタスクデータ保持部と、複数のタスクのうち少なくとも1つのタスクの遂行に関連する外部機器から送信された、1つのタスクの開始を示すデータを取得するとともに、1つのタスクの終了を示すデータを取得する取得部と、1つのタスクの開始を示すデータが取得された場合、1つのタスクに関するタスクデータに開始時刻を記録し、1つのタスクの終了を示すデータが取得された場合、1つのタスクに関するタスクデータに終了時刻を記録する更新部と、を備える。更新部は、1つのタスクの開始を示すデータが取得された後、1つのタスクの終了を示すデータが取得される前に、1つのタスクの遂行に関するデータが取得された場合、1つのタスクに関するタスクデータに遂行に関するデータを記録する。   In order to solve the above-described problems, a management apparatus according to an aspect of the present invention holds task data in which data obtained when each task is performed is grouped into a plurality of tasks to be performed in a predetermined order. To acquire data indicating the start of one task and data indicating the end of one task transmitted from an external device related to the execution of at least one task among a plurality of tasks When the acquisition unit to acquire and data indicating the start of one task are acquired, the start time is recorded in the task data related to one task, and when the data indicating the end of one task is acquired, one task And an update unit that records the end time in the task data regarding. The update unit acquires data related to the performance of one task after acquiring data indicating the start of one task and before acquiring data indicating the end of one task. Record performance data in task data.

本発明の別の態様は、管理システムである。この管理システムは、所定の順序で遂行されるべき複数のタスクのうち少なくとも1つのタスクの遂行に関連する機器と、管理装置と、を備える。管理装置は、複数のタスクそれぞれの遂行に際して得られたデータをタスク単位にまとめたタスクデータを保持するタスクデータ保持部と、機器から送信された、1つのタスクの開始を示すデータを取得するとともに、1つのタスクの終了を示すデータを取得する取得部と、1つのタスクの開始を示すデータが取得された場合、1つのタスクに関するタスクデータに開始時刻を記録し、1つのタスクの終了を示すデータが取得された場合、1つのタスクに関するタスクデータに終了時刻を記録する更新部と、を含む。更新部は、1つのタスクの開始を示すデータが取得された後、1つのタスクの終了を示すデータが取得される前に、機器から送信された、1つのタスクの遂行に関するデータが取得された場合、1つのタスクに関するタスクデータに遂行に関するデータを記録し、機器は、1つのタスクを遂行する機器であるタスク遂行装置と、タスク遂行装置に接続された通知装置とを含む。タスク遂行装置は、本装置の動作状態に基づく制御信号が入力され、その制御信号に基づいてオン/オフするスイッチを含む。通知装置は、スイッチと接続され、スイッチのオン/オフ状態を示す状態信号を出力するフォトカプラと、フォトカプラから出力された状態信号に基づくデータを1つのタスクの遂行に関するデータとして出力する出力部と、を含む。   Another aspect of the present invention is a management system. The management system includes a device related to the performance of at least one task among a plurality of tasks to be performed in a predetermined order, and a management device. The management device obtains data indicating the start of one task transmitted from the device, a task data holding unit that holds task data in which data obtained when each of a plurality of tasks is performed is collected in units of tasks When an acquisition unit that acquires data indicating the end of one task and data indicating the start of one task are acquired, the start time is recorded in the task data related to one task to indicate the end of one task And an update unit that records the end time in the task data related to one task when the data is acquired. After the data indicating the start of one task is acquired, the update unit acquires the data related to the execution of one task transmitted from the device before acquiring the data indicating the end of one task. In this case, the performance data is recorded in the task data related to one task, and the device includes a task execution device that is a device that performs one task, and a notification device connected to the task execution device. The task execution device includes a switch that receives a control signal based on the operating state of the device and that is turned on / off based on the control signal. The notification device is connected to a switch, and outputs a status signal indicating an on / off state of the switch, and an output unit that outputs data based on the status signal output from the photocoupler as data related to execution of one task And including.

本発明のさらに別の態様は、管理方法である。この方法は、所定の順序で遂行されるべき複数のタスクについて、各タスクの遂行に際して得られたデータをタスク単位にまとめたタスクデータを保持するタスクデータ保持部を備えるコンピュータが、複数のタスクのうち少なくとも1つのタスクの遂行に関連する外部機器から送信された、1つのタスクの開始を示すデータを取得するステップと、1つのタスクの開始を示すデータが取得された場合に、1つのタスクに関するタスクデータに開始時刻を記録するステップと、外部機器から送信された、1つのタスクの終了を示すデータを取得するステップと、1つのタスクの終了を示すデータが取得された場合に、1つのタスクに関するタスクデータに終了時刻を記録するステップと、を実行し、1つのタスクの開始を示す情報が取得された後、1つのタスクの終了を示す情報が取得される前に、1つのタスクの遂行に関するデータが取得された場合、1つのタスクに関するタスクデータに遂行に関するデータを記録するステップをさらに実行する。   Yet another embodiment of the present invention is a management method. In this method, for a plurality of tasks to be performed in a predetermined order, a computer including a task data holding unit that holds task data in which data obtained at the time of performing each task is grouped into task units is recorded. A step of acquiring data indicating the start of one task and data indicating the start of one task transmitted from an external device related to the execution of at least one of the tasks; A step of recording a start time in task data, a step of acquiring data indicating the end of one task transmitted from an external device, and one task when data indicating the end of one task is acquired To record the end time in the task data relating to, and to obtain information indicating the start of one task After, before the information indicating the end of one task is obtained, if the data relating to performance of a task is acquired, further performs the step of recording data relating to accomplish the task data relating to a single task.

なお、以上の構成要素の任意の組合せ、本発明の表現を、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements and the expression of the present invention converted between a program, a recording medium storing the program, etc. are also effective as an aspect of the present invention.

本発明によれば、所定の成果物を生産するために予め順序関係が定められた複数のタスクについて、個々のタスクの遂行過程で得られる様々なデータを、その後の利活用に資する態様で管理することができる。   According to the present invention, various data obtained in the course of performing individual tasks are managed in a manner that contributes to the subsequent utilization of a plurality of tasks that have a predetermined order relationship for producing a predetermined product. can do.

分散協調制御の事例1を示す図である。It is a figure which shows the example 1 of distributed cooperative control. 分散協調制御の事例1を示す図である。It is a figure which shows the example 1 of distributed cooperative control. 分散協調制御の事例2を示す図である。It is a figure which shows the example 2 of distributed cooperative control. 実世界OSによる制御範囲を模式的に示す図である。It is a figure which shows typically the control range by real world OS. 前提技術のIOT機器制御システムを示す図である。It is a figure which shows the IOT apparatus control system of prerequisite technology. 図5のワークフロー管理装置の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the workflow management apparatus of FIG. 前提技術のワークフローを模式的に示す図である。It is a figure which shows typically the workflow of a base technology. IOT機器制御システムの動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of an IOT apparatus control system. モノを製造するプロジェクトの一例を示す図である。It is a figure which shows an example of the project which manufactures a thing. 図9のプロジェクトにおけるスケジュールの一例を示す図である。It is a figure which shows an example of the schedule in the project of FIG. 図9のプロジェクトにおけるスケジュールの一例を示す図である。It is a figure which shows an example of the schedule in the project of FIG. 図11(a)のスケジュールによるタスクの遂行過程を模式的に示す図である。It is a figure which shows typically the execution process of the task by the schedule of Fig.11 (a). 第1実施例のプロジェクト管理システムの構成を示す図である。It is a figure which shows the structure of the project management system of 1st Example. 図13の管理装置の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the management apparatus of FIG. 複数のタスクの遂行順序を定めたデータの例を示す図である。It is a figure which shows the example of the data which defined the execution order of several tasks. タスクデータの例を示す図である。It is a figure which shows the example of task data. プロジェクトの遂行過程を模式的に示す図である。It is a figure which shows typically the execution process of a project. 第2実施例のタスク遂行側機器の構成をブロック図である。It is a block diagram which shows the structure of the task execution side apparatus of 2nd Example.

(前提技術の概要説明)
まず、前提技術の概要として、複数のタスクを半順序関係で整列したワークフローベースのシステムデザインを説明する。プロジェクトであれ定型業務であれ、順序づけられたタスクの集合という意味でのワークフローは、何らかの仕事を体系立てて整理し、理解し、実行するための基本的な認識の単位である。ワークフローは、ワークフローを構成する個々のタスクに対して、実際にタスクを遂行するリソースを割り当てていき、一連の作業、サービスを実現する。
(Overview of the prerequisite technology)
First, as an overview of the prerequisite technology, a workflow-based system design in which a plurality of tasks are arranged in a partial order relationship will be described. Whether it is a project or a routine task, a workflow in the sense of an ordered set of tasks is the basic unit of recognition for systematically organizing, understanding, and executing some work. In the workflow, a resource for actually performing the task is allocated to each task constituting the workflow, thereby realizing a series of work and service.

実際にタスクを遂行するリソースは、例えば人、プログラム、機器等であってよく、以下「エージェント」とも呼ぶ。特に、インターネット等のネットワークに接続されて外部機器と通信可能なエージェントを「IOT(Internet Of Things)機器」とも呼ぶ。   A resource that actually performs a task may be, for example, a person, a program, a device, or the like, and is also referred to as an “agent” below. In particular, an agent that is connected to a network such as the Internet and can communicate with an external device is also referred to as an “IOT (Internet Of Things) device”.

様々なセンサやコントローラ、アクチュエータ等、膨大な数のエージェントを対象として、あるワークフローにおいてこれらの制御を行う場合に、各エージェントの並列作業を効率的に管理する手法は、これまで十分な提案がなされていない。ワークフロー内のタスク間の関係は、線形順序(すなわち全順序)ではなく半順序構造を持つことがある。例えば、あるタスクの後に実行可能な複数のタスクがあり、これら複数のタスクのどちらが先に実行されてもよいことがしばしばある。これら複数のタスクは並列関係と言え、各タスクの遂行を並列実行することができる。この並列性は、同じタスクが割り当てられた複数のエージェント間でのタスク遂行の並列性とは次元が異なる。   To control a large number of agents, such as various sensors, controllers, and actuators, in a certain workflow, a method for efficiently managing the parallel work of each agent has been sufficiently proposed so far. Not. The relationship between tasks in a workflow may have a semi-ordered structure rather than a linear order (ie full order). For example, there are multiple tasks that can be executed after a task, and often any of these multiple tasks may be executed first. These multiple tasks can be said to be in a parallel relationship, and the execution of each task can be executed in parallel. This parallelism has a different dimension from the parallelism of task execution among a plurality of agents to which the same task is assigned.

ワークフローが定めるタスクを、実行順序を制御するための因果順序のシンボルとして用いる場合に「タスクステージ」と呼ぶ。ワークフローの各タスクステージに対応するエージェントの活動は、個々のノード(例えばエージェントが実装されたセンサ等、各種機器)において自律動作を行うプログラムとして記述されていることが前提となる。個々のノードは、現在どのタスクステージであるかを示す情報を取得し、そのタスクステージに対応する個々のエージェントプログラムを起動する。また、個々のエージェントはタスクステージに対応する処理が終了したことをワークフロー側へ報告し、次のタスクの指示を待つ。   When a task defined by a workflow is used as a causal order symbol for controlling the execution order, it is called a “task stage”. It is assumed that the activity of the agent corresponding to each task stage of the workflow is described as a program that performs autonomous operation in each node (for example, various devices such as a sensor on which the agent is mounted). Each node acquires information indicating which task stage it is currently in, and starts an individual agent program corresponding to that task stage. Each agent reports to the workflow side that the processing corresponding to the task stage has been completed, and waits for an instruction for the next task.

ワークフローにもとづいて、実世界のエージェント個々によるタスクの実行順序を制御する機能を「タスクマネージャ」と呼ぶ。タスクマネージャは、ワークフローの実行エンジンとも言え、今どのタスクステージを実行すべきであるかをエージェントへ通知する。さらにタスクの完了通知をエージェントから受け取り、適宜タスクステージを進める。このように、タスクマネージャとエージェント間にはタスク管理のためのデータフローが生じる。   A function that controls the execution order of tasks by individual agents in the real world based on the workflow is called a “task manager”. The task manager, which can be called a workflow execution engine, notifies the agent which task stage should be executed now. Furthermore, a task completion notification is received from the agent, and the task stage is appropriately advanced. Thus, a data flow for task management occurs between the task manager and the agent.

以下、分散した環境で自律的に動作する個々のエージェントを、全体として協調して動作するよう制御することを「分散協調制御」とも呼ぶ。前提技術ではワークフローを使用して分散協調制御を実現する。また、分散協調制御により、自律した個々のエージェントを全体として協調動作させるシステムを「自律分散協調システム」とも呼ぶ。前提技術では、ネットワークを介して結ばれたIOT機器の間での分散協調的ワークフローの管理技術を提案する。   Hereinafter, controlling individual agents that operate autonomously in a distributed environment so as to operate cooperatively as a whole is also referred to as “distributed cooperative control”. In the base technology, distributed cooperative control is realized using workflow. In addition, a system in which individual autonomous agents as a whole operate cooperatively by distributed cooperative control is also referred to as an “autonomous distributed cooperative system”. In the base technology, a management technology for a distributed cooperative workflow between IOT devices connected via a network is proposed.

自律分散協調システムでは、個々のエージェント間におけるデータストリームの意味でのデータフローも重要になる。例えば、あるタスクステージにおける計測タスクや計算タスクの実行結果は、その結果を入力とする別のタスクステージにおける計算タスクや制御タスクへ受け渡さなければならない。また、このようなエージェント間のデータフローはタスクマネージャを経由する必要はない。   In an autonomous distributed cooperative system, the data flow in the sense of a data stream between individual agents is also important. For example, an execution result of a measurement task or calculation task in a certain task stage must be transferred to a calculation task or control task in another task stage that receives the result. Further, such data flow between agents does not need to go through a task manager.

前提技術では、タスクマネージャとエージェント間のデータフロー、および、あるエージェントと別のエージェント間のデータフローをパブリッシュ・サブスクライブ(以下「PUBーSUB」とも呼ぶ。)のスキームを使って実現する。PUB−SUBスキームは、送信元と送信先でデータを共有するために、ブローカと呼ばれる特殊なエージェントを用いる。   In the base technology, a data flow between a task manager and an agent and a data flow between one agent and another agent are realized using a publish / subscribe (hereinafter also referred to as “PUB-SUB”) scheme. The PUB-SUB scheme uses a special agent called a broker to share data between a transmission source and a transmission destination.

送信先の主体に対して渡すべきデータにトピックと呼ばれるタグを付加し、トピックを付加したデータをブローカへ送信する送信元の主体はパブリッシャと呼ばれる。また、特定のトピックが付加されたデータの転送リクエストをブローカへ登録する主体(すなわちデータの送信先の主体)はサブスクライバと呼ばれる。ブローカへパブリッシュされたデータのうち、サブスクライバが登録したトピックを有するデータを、ブローカはサブスクライバへ配信する。   A transmission source entity that adds a tag called a topic to data to be delivered to a transmission destination entity and transmits the topic-added data to the broker is called a publisher. The entity that registers a data transfer request with a specific topic added to the broker (that is, the entity that is the data transmission destination) is called a subscriber. Of the data published to the broker, the broker distributes data having topics registered by the subscriber to the subscriber.

PUB−SUBは、アドレス等の概念なしに必要なデータを必要な所に、多対多で送ることができるスキームである。前提技術では、タスクマネージャとエージェント間においてタスクステージに関する管理情報を転送するための管理ブローカと、複数のエージェント間でタスク遂行に必要なデータを転送するためのデータブローカの2つを使用するシステムを提案する。   PUB-SUB is a scheme that allows many-to-many transmission of necessary data to a necessary place without a concept such as an address. In the base technology, there is a system that uses a management broker for transferring management information relating to a task stage between a task manager and an agent, and a data broker for transferring data necessary for task execution between a plurality of agents. suggest.

タスクマネージャとエージェントの基本的な動作を説明する。
(1)タスクマネージャは、管理ブローカに、現在実行可能なタスクステージ名をパブリッシュする。エージェントは、予め自分の遂行するタスクステージ名をブローカへ登録しておき、登録したタスクステージ名がパブリッシュされると、その事実を管理ブローカからサブスクライブしてタスクを遂行する。タスクの遂行が終了したエージェントは、タスクステージの終了と必要な管理情報を管理ブローカへパブリッシュするとともに、必要なトピックを付して他のエージェントによるタスク遂行用のデータをデータブローカへパブリッシュする。
Explain the basic operation of the Task Manager and Agent.
(1) The task manager publishes the currently executable task stage name to the management broker. The agent registers the task stage name to be performed in advance in the broker, and when the registered task stage name is published, the agent subscribes the fact from the management broker to perform the task. The agent that has completed the task publishes the task stage completion and necessary management information to the management broker, and publishes data for task execution by other agents to the data broker with the necessary topics attached.

(2)タスクマネージャは、タスクステージの遷移可否を判断する。これを決めるのがタスク遷移述語である。タスク遷移述語は、エージェントから受け付けたタスク終了情報や管理データなどにもとづいて、次のタスクステージへ遷移してよいかを判定するプログラムである。   (2) The task manager determines whether or not the task stage can be changed. This is determined by the task transition predicate. The task transition predicate is a program that determines whether or not to move to the next task stage based on task end information or management data received from the agent.

例えば、エージェントとしてのセンサを数百個設置して所定の環境状態(温度等)を計測し、環境状態の平均値を求めて何らかの制御を実行するシステムを考える。このシステムのタスクマネージャには、半数のセンサが計測(すなわちタスク処理)を終了してタスク終了情報を送ってくれば、次のステージに遷移してよいことを定めるタスク遷移述語を実装してもよい。また、分散ストリーム計算においては、計算が無事終了したことを示すタスク終了情報の受け付けをもってステージの遷移を決定するタスク遷移述語を実装してもよい。また、計算が異常終了した旨のタスク終了情報を受け付けた場合に、通常のワークフローから非常用のワークフローへ遷移する等の分岐の判断についてもタスク遷移述語に実装する。   For example, consider a system that installs several hundred sensors as agents, measures a predetermined environmental state (temperature, etc.), calculates an average value of the environmental state, and executes some control. The task manager of this system may implement a task transition predicate that determines that the next stage can be transitioned if half of the sensors complete the measurement (ie task processing) and send the task end information. Good. Further, in the distributed stream calculation, a task transition predicate that determines the transition of the stage by accepting the task end information indicating that the calculation has been completed may be implemented. In addition, when task end information indicating that the calculation has ended abnormally is received, branch determination such as transition from a normal workflow to an emergency workflow is also implemented in the task transition predicate.

(3)上記(1)(2)のプロセスを繰り返すことで、タスクマネージャはタスクステージ毎に実世界のエージェントとのハンドシェイクを遂行していく。この場合、タスクステージ間の並列性は、複数のタスクステージ名を並列してパブリッシュすることで実現される。また、同じタスクステージに属する複数のエージェントは、実世界において並列にタスクを遂行する。エージェント間の並列処理は、順序が入れ替わったり遅延があったとしても、タスクマネージャによる判定結果には影響がない。これは、人間によるプロジェクト管理においても、ワークフローを用いた分散協調制御においても同様である。   (3) By repeating the processes (1) and (2) above, the task manager performs handshaking with agents in the real world for each task stage. In this case, parallelism between task stages is realized by publishing a plurality of task stage names in parallel. A plurality of agents belonging to the same task stage perform tasks in parallel in the real world. The parallel processing between agents does not affect the determination result by the task manager even if the order is changed or there is a delay. This is the same for both human project management and distributed cooperative control using workflow.

次に分散協調制御の事例を説明する。
事例1.センサによる機器の管理とエネルギー会計の制御:
この例では、複数の温度センサと複数の照度センサのデータから、平均温度と最小照度を計算し、それをもとにコントローラがエアコンと照明を制御する。また、エアコンと照明の稼働状態にもとづいてエネルギー消費を計算し、その計算結果をステークホルダへ通知する処理を制御する。
Next, an example of distributed cooperative control will be described.
Case 1. Device management and energy accounting control with sensors:
In this example, the average temperature and the minimum illuminance are calculated from the data of the plurality of temperature sensors and the plurality of illuminance sensors, and the controller controls the air conditioner and the illumination based on the average temperature and the minimum illuminance. Moreover, the energy consumption is calculated based on the operating state of the air conditioner and the lighting, and the process of notifying the stakeholder of the calculation result is controlled.

図1は、事例1の制御のためのタスクステージと、各タスクステージへのリソースマッピングを示している。事例1では、センサ(図中の「S」)によるデータ収集のタスクステージに対して複数のセンサが割り当てられている。また、各タスクステージに対するリソースの割当は固定的である。図2は、ブローカを介したデータ連携を模式的に示している。事例1では、タスクマネージャと実世界エージェント間のステージ管理を仲介する管理ブローカであるステージブローカと、複数のエージェント間のデータフローを仲介するデータブローカの2つが、制御フローとデータフローのそれぞれをPUB−SUBスキームで仲介する。   FIG. 1 shows task stages for control of case 1 and resource mapping to each task stage. In Case 1, a plurality of sensors are assigned to the task stage of data collection by sensors (“S” in the figure). Also, resource allocation to each task stage is fixed. FIG. 2 schematically shows data linkage via the broker. In Case 1, the stage broker, which is a management broker that mediates the stage management between the task manager and the real-world agent, and the data broker that mediates the data flow between multiple agents, each of the control flow and data flow are PUB -Mediate with a SUB scheme.

図2では、複数のエージェント間のデータフローをシーケンス図で示している。シーケンス図の特性上、矢印の記載位置(上下関係)により処理の前後関係があるように見えるが、実際には並列実行される処理を含む。例えば、センサから計算ノードへのデータの転送はどの順序で実行されてもよい。また、計算ノード1、2からそれぞれコントローラ1、2への計算結果の転送も順序に依存しない。なお旧来のアクティビティ図は、図1の図式と同様に見えるが、制御のメカニズムは定式化されていない。   In FIG. 2, the data flow between a plurality of agents is shown in a sequence diagram. From the characteristics of the sequence diagram, it seems that there is a context of processing depending on the position (upper and lower relationship) of the arrow, but actually includes processing executed in parallel. For example, the transfer of data from the sensor to the calculation node may be executed in any order. The transfer of calculation results from the calculation nodes 1 and 2 to the controllers 1 and 2 does not depend on the order. The old activity diagram looks similar to the diagram of FIG. 1, but the control mechanism is not formulated.

事例2.内装工事のワークフローとタスク管理:
図3は、マンション等の内装工事のプロジェクトを簡略化して示している。ここでは、タスクの遂行リソース(実世界エージェント)を電気工、配管工、床工、壁貼り工、塗装工とする。また、図3に示すプロジェクトが部屋の数だけあるとする。この場合、図3のワークフローを制御する複数のタスクマネージャを並行して動作させ、各エージェントは、各タスクマネージャからの指示にしたがって特定の部屋の作業を実施する。実際には、各エージェントは、PCやスマートフォン、タブレット端末等の情報端末を保持し、タスクマネージャは当該情報端末との間でタスクステージ情報を送受する。
Case 2. Interior construction workflow and task management:
FIG. 3 shows a simplified interior construction project such as an apartment. Here, the task execution resource (real world agent) is an electrician, a plumber, a floor worker, a wall sticker, and a painter. Also, assume that there are as many projects as shown in FIG. In this case, a plurality of task managers that control the workflow of FIG. 3 are operated in parallel, and each agent performs work in a specific room in accordance with an instruction from each task manager. Actually, each agent holds an information terminal such as a PC, a smartphone, or a tablet terminal, and the task manager sends and receives task stage information to and from the information terminal.

各エージェントは、割り当てられた部屋の担当タスクが終了すると、その終了の事実を情報端末へ入力し、タスクマネージャは各エージェントの情報端末からの終了通知にもとづいてタスクステージを適宜進行させる。各エージェントは、別の部屋の担当タスクを、それが遂行可能な状態にあるならば着手する。遂行可能な状態にあるとは、すなわち前段階のタスクステージが終了し、タスクマネージャから別の部屋のタスクに対応するタスクステージの開始が通知されたことである。このようにヒューマン・エージェント(人が保持する情報端末を含む)は、タスクマネージャからステージの着手可能信号を受け取ることを契機としてタスクに着手する。   When the assigned task in the assigned room is completed, each agent inputs the fact of the completion to the information terminal, and the task manager appropriately advances the task stage based on the completion notification from the information terminal of each agent. Each agent initiates a task in another room if it is ready to be performed. To be in a state where it can be executed means that the previous task stage has been completed and the task manager has notified the start of a task stage corresponding to a task in another room. In this way, human agents (including information terminals held by humans) start a task upon receiving a stage start ready signal from the task manager.

本発明者が考えるリアルワールド・オペレーティングシステム(以下「実世界OS」とも呼ぶ。)は、実世界のエージェントの複雑で分散協調的な相互作用を、これまでに述べたタスクマネージャの機能を中核にして、ワークフロー単位で管理し、実行させるための仕組みである。これからのIOE(Internet Of Everything)時代には、分散環境にある様々な自律的エージェントが同期し、協調し、全体としてワークフローとしてデザインされたサービスを提供することが求められる。実世界OSは、膨大なエージェントが結びついた様々なシステムを設計、実装、管理するための基幹プラットフォームになる。   The real-world operating system (hereinafter also referred to as “real-world OS”) considered by the present inventor is based on the task manager functions described so far, based on complex and distributed cooperative interactions of real-world agents. This is a mechanism for managing and executing each workflow. In the future IOE (Internet Of Everything) era, various autonomous agents in a distributed environment are required to synchronize and cooperate to provide services designed as a workflow as a whole. The real-world OS becomes a basic platform for designing, implementing, and managing various systems in which a huge number of agents are connected.

図4は、実世界OSのビジョンを示し、実世界OSによる制御範囲を模式的に示す。図の左側は仮想領域であり、シミュレーションによる仮想エージェントを含む。また図の右側は実世界エージェントの管理領域である。図4で示すように、タスクマネージャはエージェントベースのシミュレーションのコアエンジンになり、また、実世界エージェントの制御エンジンにもなる。これにより、仮想世界でのエージェントベースモデリングから、実世界でのエージェントコンピューティングまでシームレスに繋ぐことができる。シミュレーションによる設計と実世界エージェントを対象としたワークフローの管理の間で、仮想世界でシミュレーションをしたワークフローとプログラムとしてのエージェントを、実世界のエージェントに部分的に入れ替えること(部分実装)を行いながら、プロトタイピングを様々に行う設計方式が可能となり、最終的には実世界エージェントの管理のための動的な設計図として、エージェントベースのシミュレーションが残る。   FIG. 4 shows the vision of the real world OS and schematically shows the control range of the real world OS. The left side of the figure is a virtual area and includes a virtual agent by simulation. The right side of the figure is the real-world agent management area. As shown in FIG. 4, the task manager is the core engine for agent-based simulation and also the control engine for real-world agents. This enables seamless connection from agent-based modeling in the virtual world to agent computing in the real world. While performing simulation simulation and workflow management for real-world agents, the virtual-world simulated workflow and the program agent are partially replaced with real-world agents (partial implementation) Various design methods for prototyping are possible, and finally an agent-based simulation remains as a dynamic design for managing real-world agents.

実世界OSが、IOTエージェントに対して分散協調制御を実行することで提供可能なサービスの例として、以下の(1)〜(7)が想定される。
(1)センサリング&コントロール系サービスとして、HEMS、BEMS、CEMSでのエネルギーセンサリングとそれによる機器制御のサービス、また、家やオフィス、コミュニティにおける見守りサービスやセキュリティサービスを提供する。
(2)データの分散検索系サービスとして、複数の病院の電子カルテの並列検索サービスを提供する。
(3)ビジネスデータ処理系サービスとして、図1〜図3で示すような自律分散的なビジネスデータ処理を提供する。
The following (1) to (7) are assumed as examples of services that the real world OS can provide by executing distributed cooperative control on the IOT agent.
(1) As sensoring & control services, provide energy sensoring and device control services in HEMS, BEMS, and CEMS, as well as monitoring services and security services in homes, offices, and communities.
(2) To provide a parallel search service for electronic medical records of a plurality of hospitals as a distributed data search service.
(3) Autonomous business data processing as shown in FIGS. 1 to 3 is provided as a business data processing service.

(4)安心安全やコミュニティ系のサービスとして、4−1)災害時のデータ収集とデータ共有サービス、4−2)災害時の電子カルテサービス、4−3)日常的なコミュニティでのアンケート調査と、調査結果の共有および加工サービスを提供する。
(5)センサリング&統計・会計処理系サービスとして、HEMS、BEMS、CEMSでのエネルギーセンサリングにもとづくエネルギー統計サービスや会計処理サービスを提供する。
(6)ライフログ系サービスとして、様々なライフログの収集・利用システムを提供する。
(7)ファクトリー系サービスとして、工場のエネルギー管理システムから工場のセンサネットワークを提供する。
(4) As safe and secure services and community services, 4-1) Data collection and data sharing services at the time of disaster, 4-2) Electronic medical record services at the time of disaster, 4-3) Questionnaires in daily communities Provide survey results sharing and processing services.
(5) As a sensoring & statistical / accounting processing service, provide energy statistical services and accounting services based on energy sensoring at HEMS, BEMS, and CEMS.
(6) Provide various lifelog collection and use systems as lifelog services.
(7) Provide factory sensor network from factory energy management system as factory service.

このように、生活世界や産業社会の諸サービスは多かれ少なかれIOTエージェントを利活用した自律分散協調システムとしてデザインできる。その自律分散協調システムの設計、実装、制御を支援することが実世界OSの重要なミッションとなる。なお、実世界におけるIOTエージェントの複雑な相互作用をバーチャルにデザインし、エミュレーションによるテストを行いつつ、徐々に実世界エージェントに置き換えていくこと、そして最終的に実世界エージェントによる自律分散協調システムを実現するという新しいシステム開発手法も想定される。   As described above, various services in the living world and industrial society can be designed as an autonomous distributed cooperative system that more or less uses IOT agents. Supporting the design, implementation, and control of the autonomous distributed cooperative system is an important mission of the real-world OS. Virtually design complex interactions of IOT agents in the real world, and gradually replace them with real world agents while testing by emulation, and finally realize an autonomous distributed cooperative system with real world agents A new system development method is also expected.

(前提技術の詳細説明)
以下では、上記の概要で説明した分散協調制御を実現するワークフロー管理装置を詳細に説明する。図5は、前提技術のIOT機器制御システム10を示す。IOT機器制御システム10は、自律分散協調システムを具現化した情報処理システムである。IOT機器制御システム10は、IOT機器11、ワークフロー管理装置12、ステークホルダ端末13、ブローカ15を備える。
(Detailed explanation of prerequisite technology)
Hereinafter, the workflow management apparatus that realizes the distributed cooperative control described in the above outline will be described in detail. FIG. 5 shows the IOT device control system 10 of the base technology. The IOT device control system 10 is an information processing system that embodies an autonomous distributed cooperative system. The IOT device control system 10 includes an IOT device 11, a workflow management device 12, a stakeholder terminal 13, and a broker 15.

IOT機器11は、実世界に存在する複数種類のエージェント機器である。各IOT機器11は、インターネットに接続されており、それぞれ自律して動作する。例えば、ワークフロー管理装置12から通信網を介してステージが通知された場合に、そのステージに対応する動作を実行するものであり、この動作を実行するためのプログラム(およびプログラムを実行するためのMPU等)を搭載したものであってよい。前提技術のIOT機器11は、センサ機器20、計算ノード30、コントローラ40、サービス機器50を含む。   The IOT device 11 is a plurality of types of agent devices existing in the real world. Each IOT device 11 is connected to the Internet and operates autonomously. For example, when a stage is notified from the workflow management apparatus 12 via a communication network, an operation corresponding to the stage is executed, and a program (and an MPU for executing the program for executing this operation) is executed. Etc.). The base technology IOT device 11 includes a sensor device 20, a calculation node 30, a controller 40, and a service device 50.

センサ機器20は、公知の種々のセンサを備える機器である。例えばセンサ機器20は、周囲の環境状態を検出し、その環境状態を示す情報を出力する。また例えば、周囲の環境状態が特定の状態になった場合にその事実を検出し、出力する。前提技術のセンサ機器20は、複数の温度センサ22と複数の照度センサ24を含む。例えば、工場に設置された数百個の温度センサを含み、また、オフィスビルのある居室に設置された数十個の照度センサを含む。   The sensor device 20 is a device including various known sensors. For example, the sensor device 20 detects a surrounding environmental state and outputs information indicating the environmental state. Further, for example, when the surrounding environmental state becomes a specific state, the fact is detected and output. The sensor device 20 of the base technology includes a plurality of temperature sensors 22 and a plurality of illuminance sensors 24. For example, it includes several hundred temperature sensors installed in a factory, and several tens of illuminance sensors installed in a room with an office building.

計算ノード30は、各種の計算処理を実行する情報処理装置である。計算ノード30は、温度計算ノード32、照度計算ノード34、会計計算ノード36を含む。温度計算ノード32は、複数の温度センサ22により計測された温度にもとづき平均温度を計算し、照度計算ノード34は、複数の照度センサ24により計測された照度にもとづき最小照度を計算する。会計計算ノード36は、エアコンの設定温度と、照明のオンオフ状態にもとづいて、所定のエネルギー会計計算を実行する。例えば、エネルギーの消費量や消費金額等を算出し、またエネルギー簿記を実行する。   The calculation node 30 is an information processing apparatus that executes various calculation processes. The calculation node 30 includes a temperature calculation node 32, an illuminance calculation node 34, and an accounting calculation node 36. The temperature calculation node 32 calculates the average temperature based on the temperatures measured by the plurality of temperature sensors 22, and the illuminance calculation node 34 calculates the minimum illuminance based on the illuminance measured by the plurality of illuminance sensors 24. The accounting calculation node 36 performs a predetermined energy accounting calculation based on the set temperature of the air conditioner and the lighting on / off state. For example, energy consumption, amount of consumption, etc. are calculated, and energy bookkeeping is executed.

サービス機器50は、電気やガス等のエネルギーを消費しつつ生活世界や産業社会の諸サービスをユーザへ提供する機器であり、エネルギー消費機器とも言える。サービス機器50は、エアコン52と照明54を含む。コントローラ40は、サービス機器50の動作を制御する制御機器である。コントローラ40は、エアコンコントローラ42と照明コントローラ44を含む。エアコンコントローラ42は、エアコンの設定温度を制御し、照明コントローラ44は、照明のオンオフを制御する。   The service device 50 is a device that provides various services in the living world and industrial society to the user while consuming energy such as electricity and gas, and can be said to be an energy consuming device. The service device 50 includes an air conditioner 52 and a lighting 54. The controller 40 is a control device that controls the operation of the service device 50. The controller 40 includes an air conditioner controller 42 and a lighting controller 44. The air conditioner controller 42 controls the set temperature of the air conditioner, and the lighting controller 44 controls lighting on / off.

ワークフロー管理装置12は、概要で説明したタスクマネージャと実世界OSを具現化した情報処理装置である。ワークフロー管理装置12は、ワークフローで定められたタスクステージ(以下、単に「ステージ」と呼ぶ。)の遷移にしたがって、複数のIOT機器11の動作を制御する。ワークフロー管理装置12の詳細な機能は後述する。なおワークフロー管理装置12の物理的な態様に制限はなく、例えばPCやサーバでもよく、マイクロコントローラ、シングルボードコンピュータであってもよい。   The workflow management apparatus 12 is an information processing apparatus that embodies the task manager and the real-world OS described in the overview. The workflow management apparatus 12 controls the operations of the plurality of IOT devices 11 in accordance with the transition of task stages (hereinafter simply referred to as “stages”) defined in the workflow. Detailed functions of the workflow management apparatus 12 will be described later. The physical mode of the workflow management apparatus 12 is not limited, and may be, for example, a PC or server, a microcontroller, or a single board computer.

ステークホルダ端末13は、IOT機器11が設置された企業の担当者等、所定のステークホルダーにより操作される情報端末である。ステークホルダ端末13は、会計計算ノード36による計算結果であるエネルギー会計情報を取得し、適宜ディスプレイ等に表示させる。   The stakeholder terminal 13 is an information terminal operated by a predetermined stakeholder such as a person in charge of a company where the IOT device 11 is installed. The stakeholder terminal 13 acquires energy accounting information as a calculation result by the accounting calculation node 36, and displays it on a display or the like as appropriate.

ブローカ15は、PUB−SUBスキームにより装置間でのデータ送受を仲介する装置である。ブローカ15は、公知のメッセージキュー製品やメッセージ指向ミドルウェアにより実現されてもよい。図5の各装置は、LAN・WAN・インターネット等の通信網を介し、ブローカ15が定める通信プロトコルにしたがってPUB−SUBのスキームにてブローカ15と通信し、装置間でデータを送受する。   The broker 15 is a device that mediates data transmission / reception between devices using a PUB-SUB scheme. The broker 15 may be realized by a known message queue product or message-oriented middleware. Each apparatus in FIG. 5 communicates with the broker 15 by a PUB-SUB scheme according to a communication protocol defined by the broker 15 via a communication network such as a LAN, a WAN, and the Internet, and transmits and receives data between the apparatuses.

ブローカ15は、ステージブローカ16とデータブローカ17を含む。ステージブローカ16は、上述の管理ブローカであり、ワークフロー管理装置12と各IOT機器11間におけるステージの開始・終了に関する管理情報の送受を仲介する。データブローカ17は、IOT機器11同士、または、IOT機器11とステークホルダ端末13間におけるデータの送受を仲介する。   The broker 15 includes a stage broker 16 and a data broker 17. The stage broker 16 is the above-described management broker, and mediates transmission / reception of management information regarding the start / end of the stage between the workflow management apparatus 12 and each IOT device 11. The data broker 17 mediates data transmission / reception between the IOT devices 11 or between the IOT device 11 and the stakeholder terminal 13.

ここでIOT機器制御システム10では、ワークフロー管理装置12が管理するワークフローがどのようなステージを有するか、また、各ステージにおいてエージェントがどのような処理をすべきかが予め決められ、IOT機器11の製造者に公開される。各IOT機器11は、ワークフロー管理装置12から特定のステージが通知された場合に、そのステージに応じた処理を行うよう実装される。   Here, in the IOT device control system 10, what stage the workflow managed by the workflow management device 12 has and what processing the agent should perform in each stage are determined in advance, and the manufacture of the IOT device 11 is performed. To the public. Each IOT device 11 is mounted such that when a specific stage is notified from the workflow management apparatus 12, a process corresponding to the stage is performed.

例えば、後述の温度収集ステージについて、周囲の温度を取得するタスクを実行すべきであることが予め定められ、公開される。温度センサ22は、温度収集ステージの通知をサブスクライブしたことを契機に、周囲の温度を測定し、タスクの終了をステージブローカ16へパブリッシュし、測定した温度をデータブローカ17へパブリッシュするよう実装される。また後述の平均温度計算ステージについて、複数の温度データの平均を算出するタスクを実行すべきであることが予め定められ、公開される。温度計算ノード32は、平均温度計算ステージの通知をサブスクライブしたことを契機に、複数の温度センサ22が測定した温度の平均値を算出し、タスクの終了をステージブローカ16へパブリッシュし、算出した平均温度をデータブローカ17へパブリッシュするよう実装される。   For example, regarding a temperature collection stage described later, it is determined in advance that a task for acquiring the ambient temperature should be executed, and is disclosed. The temperature sensor 22 is mounted so as to measure the ambient temperature, to publish the end of the task to the stage broker 16 and to publish the measured temperature to the data broker 17 when the notification of the temperature collection stage is subscribed. The In addition, regarding an average temperature calculation stage, which will be described later, it is determined in advance that a task for calculating the average of a plurality of temperature data should be executed and disclosed. The temperature calculation node 32 calculates the average value of the temperature measured by the plurality of temperature sensors 22 when the notification of the average temperature calculation stage is subscribed, publishes the end of the task to the stage broker 16 and calculates it. It is implemented to publish the average temperature to the data broker 17.

図6は、図5のワークフロー管理装置12の機能構成を示すブロック図である。ワークフロー管理装置12は、通信部60、制御部70、データ記憶部80を備える。通信部60は、所定の通信プロトコルにしたがって外部装置とデータを送受する。例えば、予め定められたメッセージプロトコルにしたがって、ステージブローカ16とのPUB−SUBスキームでのデータ送受を実行する。   FIG. 6 is a block diagram showing a functional configuration of the workflow management apparatus 12 of FIG. The workflow management apparatus 12 includes a communication unit 60, a control unit 70, and a data storage unit 80. The communication unit 60 transmits / receives data to / from an external device according to a predetermined communication protocol. For example, data transmission / reception with the stage broker 16 in accordance with a PUB-SUB scheme is executed according to a predetermined message protocol.

制御部70は、ワークフロー管理装置12の動作を制御する。また、ワークフロー管理、言い換えれば、複数のIOT機器11を分散協調制御するためのデータ処理を実行する。データ記憶部80は、制御部70によるデータ処理において参照され、また更新される各種データを記憶する記憶領域である。   The control unit 70 controls the operation of the workflow management apparatus 12. In addition, workflow management, in other words, data processing for performing distributed cooperative control of the plurality of IOT devices 11 is executed. The data storage unit 80 is a storage area for storing various data that are referred to and updated in the data processing by the control unit 70.

本明細書のブロック図で示す各ブロックは、ハードウェア的には、コンピュータのCPUやメモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。   Each block shown in the block diagram of the present specification can be realized in terms of hardware by an element such as a CPU and a memory of a computer or a mechanical device, and in terms of software, it can be realized by a computer program or the like. , Depicts functional blocks realized by their cooperation. Therefore, those skilled in the art will understand that these functional blocks can be realized in various forms by a combination of hardware and software.

例えば、制御部70の各機能ブロックに対応するソフトウェアモジュールを備えるアプリケーションプログラムがワークフロー管理装置12にインストールされてもよい。そして、ワークフロー管理装置12のCPUが、各ソフトウェアモジュールをメモリに読み出して実行することにより、制御部70の各機能ブロックの機能が発揮されてもよい。また、データ記憶部80の各機能ブロックは、ストレージやメモリ等の記憶装置がデータを記憶することにより実現されてもよい。   For example, an application program including a software module corresponding to each functional block of the control unit 70 may be installed in the workflow management apparatus 12. Then, the function of each functional block of the control unit 70 may be exhibited by the CPU of the workflow management apparatus 12 reading out and executing each software module in the memory. Each functional block of the data storage unit 80 may be realized by storing data in a storage device such as a storage or a memory.

データ記憶部80は、ワークフロー情報保持部82とステージ情報保持部84を含む。ワークフロー情報保持部82は、ワークフロー情報として、ワークフローが定める各ステージの前後関係と、各ステージから次のステージへ移行させる条件を保持する。典型的な移行条件は、ステージに予め対応づけられたタスクを終了したエージェントから、当該ステージのタスクを終了した旨の通知を受け付けることである。   The data storage unit 80 includes a workflow information holding unit 82 and a stage information holding unit 84. The workflow information holding unit 82 holds, as workflow information, the anteroposterior relationship of each stage determined by the workflow and the conditions for shifting from each stage to the next stage. A typical transition condition is to receive a notification that the task of the stage has been completed from an agent that has completed the task associated with the stage in advance.

ただし、複数のエージェントが1つのステージのタスクを並列実行する場合、当該ステージから次のステージへの移行条件として、一部のエージェントからタスク終了通知を受け付けたことをもって次のステージへの以降を許可得することを定めることができる。言い換えれば、タスクを実行させた複数のエージェントの全てからタスク終了通知を受け付けなくても、複数のエージェントのうち所定数以上のエージェントからタスク終了通知を受け付ければ次のステージへ移行させることを定めることができる。   However, when multiple agents execute a task in one stage in parallel, as a transition condition from that stage to the next stage, the subsequent stage is permitted after receiving the task end notification from some agents. You can determine what to get. In other words, even if task completion notifications are not received from all of a plurality of agents that have executed a task, it is determined that if a task completion notification is received from a predetermined number or more of the plurality of agents, the next stage is shifted to. be able to.

図7は、前提技術のワークフローを模式的に示す。前提技術のワークフローは、概要で説明した事例1(例えば図1)に対応する形で、複数のステージ間の遷移を定め、また複数種類の実世界エージェントの動作を制御する。   FIG. 7 schematically shows the workflow of the base technology. The workflow of the base technology defines transitions between a plurality of stages and controls the operations of a plurality of types of real world agents in a form corresponding to the case 1 (for example, FIG. 1) described in the overview.

ワークフロー情報保持部82は、各ステージの前後関係として、ワークフロー開始後に、温度収集ステージ100と照度収集ステージ102に移行すること、温度収集ステージ100の次が平均温度計算ステージ104であることを示す情報を保持する。また、平均温度計算ステージ104の次がエアコン制御ステージ108であり、エアコン制御ステージ108の次がエネルギー会計計算ステージ112であることを示す情報を保持する。また、照度収集ステージ102の次が最小照度計算ステージ106であり、最小照度計算ステージ106の次が照明制御ステージ110であり、照明制御ステージ110の次がエネルギー会計計算ステージ112であることを示す情報を保持する。また、エネルギー会計計算ステージ112の終了によりワークフローが終了することを示す情報を保持する。   The workflow information holding unit 82 is information indicating that the process proceeds to the temperature collection stage 100 and the illuminance collection stage 102 after the workflow starts, and that the next to the temperature collection stage 100 is the average temperature calculation stage 104 as the context of each stage. Hold. Further, information indicating that the next to the average temperature calculation stage 104 is the air conditioner control stage 108 and the next to the air conditioner control stage 108 is the energy accounting calculation stage 112 is held. Information indicating that the next to the illuminance collection stage 102 is the minimum illuminance calculation stage 106, the next to the minimum illuminance calculation stage 106 is the illumination control stage 110, and the next to the illumination control stage 110 is the energy accounting calculation stage 112. Hold. Also, information indicating that the workflow is ended by the end of the energy accounting calculation stage 112 is held.

またワークフロー情報保持部82は、温度収集ステージ100から平均温度計算ステージ104への移行条件として、100個の温度センサ22のうち50個以上の温度センサ22から温度測定タスクの終了が通知されることを定めている。また、平均温度計算ステージ104からエアコン制御ステージ108への移行条件として、温度計算ノード32から平均温度計算タスクの終了が通知されることを定めている。また、照度収集ステージ102から最小照度計算ステージ106への移行条件として、20個の照度センサ24のうち15個以上の照度センサ24から照度測定タスクの終了が通知されることを定めている。また、最小照度計算ステージ106から照明制御ステージ110への移行条件として、照度計算ノード34から最小照度計算タスクの終了が通知されることを定めている。   Further, the workflow information holding unit 82 is notified of the end of the temperature measurement task from 50 or more of the 100 temperature sensors 22 as a transition condition from the temperature collection stage 100 to the average temperature calculation stage 104. Is stipulated. Further, as a transition condition from the average temperature calculation stage 104 to the air conditioner control stage 108, it is defined that the end of the average temperature calculation task is notified from the temperature calculation node 32. Further, as a transition condition from the illuminance collection stage 102 to the minimum illuminance calculation stage 106, it is determined that the end of the illuminance measurement task is notified from 15 or more illuminance sensors 24 out of the 20 illuminance sensors 24. Further, as a transition condition from the minimum illuminance calculation stage 106 to the illumination control stage 110, it is defined that the end of the minimum illuminance calculation task is notified from the illuminance calculation node 34.

図6に戻り、ステージ情報保持部84は、ワークフローが現在どのステージであるかを示すステージ情報を保持する。ステージ情報には、ワークフローのステージがそれまでとは異なる新たなステージに移行した場合に、新たなステージの識別情報(名称やID等)が記録される。   Returning to FIG. 6, the stage information holding unit 84 holds stage information indicating which stage the workflow is currently in. In the stage information, identification information (name, ID, etc.) of a new stage is recorded when the workflow stage shifts to a new stage different from the previous stage.

ステージ情報は、現在のステージとして、複数のステージが同時に記録されることを許容する。図7の例では、温度収集ステージ100〜平均温度計算ステージ104〜エアコン制御ステージ108と、照度収集ステージ102〜最小照度計算ステージ106〜照明制御ステージ110が並列して進められる。したがってステージ情報保持部84は、現在のステージが温度収集ステージ100であり、かつ、照度収集ステージ102、最小照度計算ステージ106、照明制御ステージ110のいずれかでもあることを示すステージ情報を保持し得る。またステージ情報保持部84は、現在のステージが照度収集ステージ102であり、かつ、温度収集ステージ100、平均温度計算ステージ104、エアコン制御ステージ108のいずれかでもあることを示すステージ情報を保持し得る。   The stage information allows a plurality of stages to be recorded simultaneously as the current stage. In the example of FIG. 7, the temperature collection stage 100 to the average temperature calculation stage 104 to the air conditioner control stage 108 and the illuminance collection stage 102 to the minimum illuminance calculation stage 106 to the illumination control stage 110 are advanced in parallel. Therefore, the stage information holding unit 84 can hold stage information indicating that the current stage is the temperature collection stage 100 and any one of the illuminance collection stage 102, the minimum illuminance calculation stage 106, and the illumination control stage 110. . The stage information holding unit 84 can hold stage information indicating that the current stage is the illuminance collection stage 102 and any of the temperature collection stage 100, the average temperature calculation stage 104, and the air conditioner control stage 108. .

制御部70は、ステージ通知部72、終了通知受付部74、移行判定部76、ステージ更新部78を含む。ステージ通知部72は、ステージ情報保持部84に保持されたステージ情報を監視し、ステージ情報が更新された場合に、現在のステージを示す情報(以下「現在ステージ情報」と呼ぶ。)をステージブローカ16へ送信する。これにより、現在のステージを1つ以上のIOT機器11へ通知し、現在のステージに応じた動作を1つ以上のIOT機器11に並列実行させる。   The control unit 70 includes a stage notification unit 72, an end notification reception unit 74, a transition determination unit 76, and a stage update unit 78. The stage notification unit 72 monitors the stage information held in the stage information holding unit 84, and when the stage information is updated, information indicating the current stage (hereinafter referred to as "current stage information") is a stage broker. 16 is transmitted. Thereby, the current stage is notified to one or more IOT devices 11, and the operation corresponding to the current stage is executed in parallel by one or more IOT devices 11.

ステージ通知部72が送信する現在ステージ情報は、現在のステージを識別可能な情報(例えばステージ名称やID)を含む。例えば、現在のステージの識別情報を示すトピックを付加したメッセージである。その一方、IOT機器11の動作態様を指定する内容は現在ステージ情報から排除されている。例えば現在ステージ情報は、IOT機器11の動作を直接的に規定するコマンドや、IOT機器11の動作時に参照され、IOT機器11の動作を間接的に規定するパラメータを含まない。このようにワークフロー管理装置12は、IOT機器11に対して現在のステージを通知しつつ、現在のステージに対する具体的な動作は各IOT機器11の実装に委ねる。これにより、IOT機器制御システム10における各IOT機器11の独立性を高め、またセキュリティを高める。   The current stage information transmitted by the stage notification unit 72 includes information (for example, a stage name and ID) that can identify the current stage. For example, a message to which a topic indicating identification information of the current stage is added. On the other hand, the contents specifying the operation mode of the IOT device 11 are excluded from the current stage information. For example, the current stage information does not include a command that directly defines the operation of the IOT device 11 or a parameter that is referred to when the IOT device 11 operates and indirectly defines the operation of the IOT device 11. In this way, the workflow management apparatus 12 notifies the IOT device 11 of the current stage, and leaves the specific operation for the current stage to the implementation of each IOT device 11. Thereby, the independence of each IOT device 11 in the IOT device control system 10 is enhanced, and the security is enhanced.

終了通知受付部74は、各IOT機器11から送信された動作終了通知をステージブローカ16から受信する。動作終了通知は、ワークフローの現在のステージに対応する処理、言い換えれば、現在のステージで実行するよう定められたタスクが終了したことを示す情報であり、「タスク終了通知」とも言える。動作終了通知は、IOT機器11側で動作を終了したステージの識別情報を含むものであってよい。ただし動作終了通知は、IOT機器11におけるタスク処理で得られたデータ、例えば温度データや平均温度データを含まない。これらのデータは、データブローカ17を介して、IOT機器11同士で送受される。これにより、ワークフロー管理装置12は、ステージの開始、終了、移行判断に専念することができる。   The end notification receiving unit 74 receives the operation end notification transmitted from each IOT device 11 from the stage broker 16. The operation end notification is information indicating that a process corresponding to the current stage of the workflow, in other words, a task determined to be executed in the current stage has ended, and can also be referred to as a “task end notification”. The operation end notification may include identification information of a stage that has completed the operation on the IOT device 11 side. However, the operation end notification does not include data obtained by task processing in the IOT device 11, for example, temperature data or average temperature data. These data are transmitted and received between the IOT devices 11 via the data broker 17. Thereby, the workflow management apparatus 12 can concentrate on the start, end, and transition determination of the stage.

移行判定部76は、終了通知受付部74における動作終了通知の受信状況にもとづいて、ワークフローの現在のステージについてワークフロー情報保持部82に保持された次のステージへの移行条件が充足されたか否かを判定する。移行判定部76は、移行条件が充足されたことを検出すると、移行元のステージと移行先のステージの組み合わせをステージ更新部78へ通知する。   Based on the reception status of the operation end notification in the end notification receiving unit 74, the transition determination unit 76 determines whether the transition condition to the next stage held in the workflow information holding unit 82 for the current stage of the workflow is satisfied. Determine. When the transition determination unit 76 detects that the transition condition is satisfied, the transition determination unit 76 notifies the stage update unit 78 of the combination of the transition source stage and the transition destination stage.

例えば、温度収集ステージ100から平均温度計算ステージ104への移行条件として、100個の温度センサ22のうち半分の温度センサ22から温度測定タスクの終了が通知されることを定めることができる。この場合、移行判定部76は、温度収集ステージ100の動作が終了した旨を示す動作終了通知が50個以上受信された場合に上記移行条件が充足されたと判定してもよい。同様に、照度収集ステージ102から最小照度計算ステージ106への移行条件として、20個の照度センサ24のうち15個以上の照度センサ24から照度測定タスクの終了が通知されることを定めることができる。この場合、移行判定部76は、照度収集ステージ102の動作が終了した旨を示す動作終了通知が15個以上受信された場合に上記移行条件が充足されたと判定してもよい。   For example, as a transition condition from the temperature collection stage 100 to the average temperature calculation stage 104, it can be determined that the end of the temperature measurement task is notified from half of the 100 temperature sensors 22. In this case, the transition determination unit 76 may determine that the transition condition is satisfied when 50 or more operation end notifications indicating that the operation of the temperature collection stage 100 has ended are received. Similarly, as a transition condition from the illuminance collection stage 102 to the minimum illuminance calculation stage 106, it is possible to determine that the end of the illuminance measurement task is notified from 15 or more of the 20 illuminance sensors 24. . In this case, the transition determination unit 76 may determine that the transition condition is satisfied when 15 or more operation end notifications indicating that the operation of the illuminance collection stage 102 has ended are received.

ステージ更新部78は、現在のステージの移行条件が充足されたことが移行判定部76により判定された場合に、現在のステージを次のステージへ進めるようステージ情報保持部84に保持されたステージ情報を更新する。具体的には、移行判定部76から移行元ステージと移行先ステージの組み合わせが通知された場合に、ステージ情報に記録された移行元ステージを、移行先ステージへ切り替えるようステージ情報を更新する。   The stage update unit 78 stores the stage information held in the stage information holding unit 84 so as to advance the current stage to the next stage when the transfer determination unit 76 determines that the current stage transfer condition is satisfied. Update. Specifically, when a combination of the migration source stage and the migration destination stage is notified from the migration determination unit 76, the stage information is updated so that the migration source stage recorded in the stage information is switched to the migration destination stage.

またステージ更新部78は、複数のステージが現在のステージとしてステージ情報に記録されている場合、それら複数のステージのうち移行判定部76から通知された移行元ステージを、移行先ステージへ切り替えるようステージ情報を更新する。その一方、複数のステージのうち移行元ステージとして指定されないステージは、ステージ情報に記録されたままとし、すなわち現在のステージとして維持する。   In addition, when a plurality of stages are recorded in the stage information as the current stage, the stage update unit 78 switches the migration source stage notified from the migration determination unit 76 among the plurality of stages to the migration destination stage. Update information. On the other hand, the stage that is not designated as the migration source stage among the plurality of stages is kept recorded in the stage information, that is, maintained as the current stage.

例えば、現在のステージが温度収集ステージ100と照度収集ステージ102であり、温度収集ステージ100の移行条件のみが充足された場合、ステージ更新部78は、現在のステージを平均温度計算ステージ104と照度収集ステージ102とするようステージ情報を更新する。その後、平均温度計算ステージ104の移行条件のみが充足された場合、ステージ更新部78は、現在のステージをエアコン制御ステージ108と照度収集ステージ102とするようステージ情報を更新する。このように、複数のステージを並列して進めるようワークフローが規定されている場合、IOT機器11の動作制御および次のステージへの遷移を、並列するステージ毎に独立して実行する。   For example, when the current stage is the temperature collection stage 100 and the illuminance collection stage 102 and only the transition condition of the temperature collection stage 100 is satisfied, the stage update unit 78 collects the current stage as the average temperature calculation stage 104 and the illuminance collection. The stage information is updated so that the stage 102 is set. Thereafter, when only the transition condition of the average temperature calculation stage 104 is satisfied, the stage update unit 78 updates the stage information so that the current stage is the air conditioner control stage 108 and the illuminance collection stage 102. As described above, when the workflow is defined to advance a plurality of stages in parallel, the operation control of the IOT device 11 and the transition to the next stage are executed independently for each parallel stage.

以上の構成によるIOT機器制御システム10の動作を以下説明する。
図8は、IOT機器制御システム10の動作を示すシーケンス図である。図8は、図7のワークフローにしたがってワークフロー管理装置12がIOT機器11を制御する際の動作を示している。また図8は、概要で説明した事例1(例えば図2)に対応する。シーケンス図上、並列するステージ(例えば照度収集ステージ102と平均温度計算ステージ104等)の処理に前後関係があるように見えるが、並列するステージの処理は結果として前後関係が生じるものの、本質的には同時並列的に実行される。
The operation of the IOT device control system 10 having the above configuration will be described below.
FIG. 8 is a sequence diagram showing the operation of the IOT device control system 10. FIG. 8 shows an operation when the workflow management apparatus 12 controls the IOT device 11 in accordance with the workflow of FIG. FIG. 8 corresponds to case 1 (for example, FIG. 2) described in the overview. Although it seems that there is a context in the processing of the parallel stages (for example, the illuminance collection stage 102 and the average temperature calculation stage 104) on the sequence diagram, the processing of the parallel stages results in a context, but essentially Are executed in parallel.

前提として、IOT機器11のそれぞれは、自身が動作すべき特定のステージに対して予め定められたトピック名をステージブローカ16およびデータブローカ17に事前に登録しておく。これにより、各IOT機器11は、上記特定のステージの開始を示すメッセージ、また、タスクを実行するために必要なデータを含むメッセージのサブスクライバとして動作する。また各IOT機器11は、上記特定のステージに対応する動作が実装される。例えば、温度センサ22は、温度収集ステージの開始を示す所定のトピック名をステージブローカ16に登録しておき、また、温度収集ステージにおいて温度測定処理を実行するよう定めたプログラムを搭載している。   As a premise, each IOT device 11 registers in advance a topic name predetermined for a specific stage in which the IOT device 11 is to operate in the stage broker 16 and the data broker 17. Accordingly, each IOT device 11 operates as a subscriber of a message indicating the start of the specific stage and a message including data necessary for executing a task. Each IOT device 11 is mounted with an operation corresponding to the specific stage. For example, the temperature sensor 22 has a predetermined topic name indicating the start of the temperature collection stage registered in the stage broker 16 and a program defined to execute the temperature measurement process in the temperature collection stage.

ワークフロー管理装置12は、定期的に、もしくは、ユーザの指示に応じて図7のワークフローを開始する。ワークフロー管理装置12のステージ更新部78は、現在のステージを、温度収集ステージ100および照度収集ステージ102とするようステージ情報を更新する。ステージ通知部72は、温度収集ステージを示すトピックを付加した現在ステージ情報をステージブローカ16へパブリッシュし(S2)、それとともに照度収集ステージのトピックを付加した現在ステージ情報をステージブローカ16へパブリッシュする(S4)。   The workflow management apparatus 12 starts the workflow of FIG. 7 periodically or in response to a user instruction. The stage update unit 78 of the workflow management apparatus 12 updates the stage information so that the current stage is the temperature collection stage 100 and the illuminance collection stage 102. The stage notification unit 72 publishes the current stage information to which the topic indicating the temperature collection stage is added to the stage broker 16 (S2), and publishes the current stage information to which the topic of the illuminance collection stage is added to the stage broker 16 (S2). S4).

複数の温度センサ22のそれぞれは、温度収集ステージを示すトピックが付加された現在ステージ情報をステージブローカ16からサブスクライブし(S6)、周囲の温度を測定する。そして、温度測定結果を示すトピックを付加し、温度データを本文に含むメッセージをデータブローカ17へパブリッシュする(S8)。各温度センサ22は、温度収集ステージについての動作終了通知をステージブローカ16へパブリッシュし(S10)、ワークフロー管理装置12の終了通知受付部74は、各温度センサ22からの動作終了通知をステージブローカ16からサブスクライブする(S12)。   Each of the plurality of temperature sensors 22 subscribes the current stage information to which the topic indicating the temperature collection stage is added from the stage broker 16 (S6), and measures the ambient temperature. Then, a topic indicating the temperature measurement result is added, and a message including temperature data in the text is published to the data broker 17 (S8). Each temperature sensor 22 publishes an operation end notification for the temperature collection stage to the stage broker 16 (S10), and the end notification receiving unit 74 of the workflow management apparatus 12 sends an operation end notification from each temperature sensor 22 to the stage broker 16. Subscribe (S12).

これに並行して、複数の照度センサ24のそれぞれは、照度収集ステージを示すトピックが付加された現在ステージ情報をステージブローカ16からサブスクライブし(S14)、周囲の照度を測定する。そして、照度測定結果を示すトピックを付加し、照度データを本文に含むメッセージをデータブローカ17へパブリッシュする(S16)。各照度センサ24は、照度収集ステージについての動作終了通知をステージブローカ16へパブリッシュし(S18)、ワークフロー管理装置12の終了通知受付部74は、各照度センサ24からの動作終了通知をステージブローカ16からサブスクライブする(S20)。   In parallel with this, each of the plurality of illuminance sensors 24 subscribes the current stage information to which the topic indicating the illuminance collection stage is added from the stage broker 16 (S14), and measures the ambient illuminance. Then, a topic indicating the illuminance measurement result is added, and a message including the illuminance data in the text is published to the data broker 17 (S16). Each illuminance sensor 24 publishes an operation end notification for the illuminance collection stage to the stage broker 16 (S18), and the end notification reception unit 74 of the workflow management apparatus 12 sends an operation end notification from each illuminance sensor 24 to the stage broker 16. Subscribe (S20).

ワークフロー管理装置12の移行判定部76は、温度収集ステージについての動作終了通知の受信状況に応じて、温度収集ステージ100から平均温度計算ステージ104への移行条件が満たされたと判定する。例えば、数百個の温度センサ22のうち移行条件が定める個数である50個の温度センサ22からパブリッシュされた50個の動作終了通知をサブスクラブした場合に、移行条件が満たされたと判定する。ステージ更新部78は、現在のステージを温度収集ステージ100から平均温度計算ステージ104へ切り替えるようステージ情報を更新する。これに並行して、移行判定部76は、照度収集ステージについての動作終了通知の受信状況に応じて、照度収集ステージ102から最小照度計算ステージ106への移行条件が満たされたと判定する。例えば、数十個の照度センサ24のうち移行条件が定める個数の照度センサ24からパブリッシュされた当該個数の動作終了通知をサブスクラブした場合に、移行条件が満たされたと判定する。ステージ更新部78は、現在のステージを照度収集ステージ102から最小照度計算ステージ106へ切り替えるようステージ情報を更新する。   The transition determination unit 76 of the workflow management device 12 determines that the transition condition from the temperature collection stage 100 to the average temperature calculation stage 104 is satisfied according to the reception status of the operation end notification for the temperature collection stage. For example, it is determined that the transition condition is satisfied when 50 operation end notifications published from 50 temperature sensors 22, which is the number determined by the transition condition, out of several hundred temperature sensors 22 are subscrubbed. The stage update unit 78 updates the stage information so as to switch the current stage from the temperature collection stage 100 to the average temperature calculation stage 104. In parallel with this, the transition determination unit 76 determines that the transition condition from the illuminance collection stage 102 to the minimum illuminance calculation stage 106 is satisfied according to the reception status of the operation end notification for the illuminance collection stage. For example, when the number of motion end notifications published from the number of illuminance sensors 24 determined by the transition condition among the tens of illuminance sensors 24 is subscrubbed, it is determined that the transition condition is satisfied. The stage update unit 78 updates the stage information so as to switch the current stage from the illuminance collection stage 102 to the minimum illuminance calculation stage 106.

このように前提技術のワークフローでは、複数のステージ間の実行順序(言い換えれば前後関係)として半順序関係を規定することを許容する。例えば、温度収集ステージ100と照度収集ステージ102は半順序関係である。すなわち、これらのステージ間の実行順序は一意に定められておらず、ステージ間の実行順序を比較することはできない。言い換えれば、どちらのステージを先に開始してもよく、どちらのステージを先に終了してもよい。また、温度収集ステージ100の次の平均温度計算ステージ104と照度収集ステージ102も半順序関係である。すなわち、これらのステージ間の実行順序は一意に定められておらず、ステージ間の実行順序を比較することはできない。既述したように、このようなステージ間の順序関係はワークフロー情報保持部82に保持される。   As described above, in the workflow of the base technology, it is allowed to define a partial order relationship as an execution order (in other words, a context) between a plurality of stages. For example, the temperature collection stage 100 and the illuminance collection stage 102 are in a partial order relationship. That is, the execution order between these stages is not uniquely determined, and the execution order between the stages cannot be compared. In other words, which stage may be started first and which stage may be ended first. Further, the average temperature calculation stage 104 next to the temperature collection stage 100 and the illuminance collection stage 102 are also in a partial order relationship. That is, the execution order between these stages is not uniquely determined, and the execution order between the stages cannot be compared. As described above, the order relationship between the stages is held in the workflow information holding unit 82.

ステージ更新部78は、ワークフロー情報保持部82に保持された順序関係を参照し、温度収集ステージ100から平均温度計算ステージ104への移行条件が満たされた一方、照度収集ステージ102から最小照度計算ステージ106への移行条件が満たされていない場合、ワークフローの現在ステージが平均温度計算ステージ104であり、かつ、照度収集ステージ102でもあることを示すようステージ情報を更新する。すなわち、温度収集ステージ100・平均温度計算ステージ104側のステージ移行と、照度収集ステージ102・最小照度計算ステージ106側のステージ移行を独立して実行する。   The stage update unit 78 refers to the order relationship held in the workflow information holding unit 82, and the transition condition from the temperature collection stage 100 to the average temperature calculation stage 104 is satisfied, while the illuminance collection stage 102 changes to the minimum illuminance calculation stage. When the transition condition to 106 is not satisfied, the stage information is updated to indicate that the current stage of the workflow is the average temperature calculation stage 104 and also the illuminance collection stage 102. That is, the stage transition on the temperature collection stage 100 / average temperature calculation stage 104 side and the stage transition on the illuminance collection stage 102 / minimum illuminance calculation stage 106 side are executed independently.

温度計算ノード32は、温度測定結果を示すトピックが付加された複数の温度データをデータブローカ17からサブスクライブする(S22)。照度計算ノード34は、照度測定結果を示すトピックが付加された複数の照度データをデータブローカ17からサブスクライブする(S24)。   The temperature calculation node 32 subscribes a plurality of temperature data to which a topic indicating the temperature measurement result is added from the data broker 17 (S22). The illuminance calculation node 34 subscribes from the data broker 17 a plurality of illuminance data to which a topic indicating the illuminance measurement result is added (S24).

ワークフロー管理装置12のステージ通知部72は、平均温度計算ステージを示すトピックを付加した現在ステージ情報をステージブローカ16へパブリッシュし(S26)、温度計算ノード32はその現在ステージ情報をステージブローカ16からサブスクライブする(S28)。温度計算ノード32は、複数の温度センサ22で測定された温度にしたがって平均温度を算出し、平均温度計算結果を示すトピックを付加し、平均温度データを本文に含むメッセージをデータブローカ17へパブリッシュする(S30)。温度計算ノード32は、平均温度計算ステージについての動作終了通知をステージブローカ16へパブリッシュし(S32)、ワークフロー管理装置12の終了通知受付部74はその動作終了通知をステージブローカ16からサブスクライブする(S34)。エアコンコントローラ42は、平均温度計算結果を示すトピックが付加された平均温度データをデータブローカ17からサブスクライブする(S36)。   The stage notification unit 72 of the workflow management apparatus 12 publishes the current stage information to which the topic indicating the average temperature calculation stage is added to the stage broker 16 (S26), and the temperature calculation node 32 subscribes the current stage information from the stage broker 16. Live (S28). The temperature calculation node 32 calculates an average temperature according to the temperatures measured by the plurality of temperature sensors 22, adds a topic indicating the average temperature calculation result, and publishes a message including the average temperature data in the text to the data broker 17. (S30). The temperature calculation node 32 publishes an operation end notification for the average temperature calculation stage to the stage broker 16 (S32), and the end notification receiving unit 74 of the workflow management apparatus 12 subscribes the operation end notification from the stage broker 16 ( S34). The air conditioner controller 42 subscribes the average temperature data to which the topic indicating the average temperature calculation result is added from the data broker 17 (S36).

これに並行して、ワークフロー管理装置12のステージ通知部72は、最小照度計算ステージを示すトピックを付加した現在ステージ情報をステージブローカ16へパブリッシュし(S38)、照度計算ノード34はその現在ステージ情報をステージブローカ16からサブスクライブする(S40)。照度計算ノード34は、複数の照度センサ24で測定された照度にしたがって最小照度を算出し、最小照度計算結果を示すトピックを付加し、最小照度データを本文に含むメッセージをデータブローカ17へパブリッシュする(S42)。照度計算ノード34は、最小照度計算ステージについての動作終了通知をステージブローカ16へパブリッシュし(S44)、ワークフロー管理装置12の終了通知受付部74はその動作終了通知をステージブローカ16からサブスクライブする(S46)。照明コントローラ44は、最小照度計算結果を示すトピックが付加された最小照度データをデータブローカ17からサブスクライブする(S48)。   In parallel with this, the stage notification unit 72 of the workflow management apparatus 12 publishes the current stage information to which the topic indicating the minimum illuminance calculation stage is added to the stage broker 16 (S38), and the illuminance calculation node 34 receives the current stage information. Is subscribed from the stage broker 16 (S40). The illuminance calculation node 34 calculates the minimum illuminance according to the illuminance measured by the plurality of illuminance sensors 24, adds a topic indicating the minimum illuminance calculation result, and publishes a message including the minimum illuminance data in the text to the data broker 17. (S42). The illuminance calculation node 34 publishes an operation end notification for the minimum illuminance calculation stage to the stage broker 16 (S44), and the end notification receiving unit 74 of the workflow management apparatus 12 subscribes the operation end notification from the stage broker 16 ( S46). The illumination controller 44 subscribes the minimum illuminance data to which the topic indicating the minimum illuminance calculation result is added from the data broker 17 (S48).

ワークフロー管理装置12の移行判定部76は、平均温度計算ステージについての動作終了通知の受信状況にしたがって、平均温度計算ステージ104からエアコン制御ステージ108への移行条件が満たされたと判定する。ステージ更新部78は、現在のステージを平均温度計算ステージ104からエアコン制御ステージ108へ切り替えるようステージ情報を更新する。これに並行して、移行判定部76は、最小照度計算ステージについての動作終了通知の受信状況にしたがって、最小照度計算ステージ106から照明制御ステージ110への移行条件が満たされたと判定する。ステージ更新部78は、現在のステージを最小照度計算ステージ106から照明制御ステージ110へ切り替えるようステージ情報を更新する。   The transition determination unit 76 of the workflow management device 12 determines that the transition condition from the average temperature calculation stage 104 to the air conditioner control stage 108 is satisfied according to the reception status of the operation end notification for the average temperature calculation stage. The stage update unit 78 updates the stage information so as to switch the current stage from the average temperature calculation stage 104 to the air conditioner control stage 108. In parallel with this, the transition determination unit 76 determines that the transition condition from the minimum illuminance calculation stage 106 to the illumination control stage 110 is satisfied according to the reception status of the operation end notification for the minimum illuminance calculation stage. The stage update unit 78 updates the stage information so as to switch the current stage from the minimum illuminance calculation stage 106 to the illumination control stage 110.

ワークフロー管理装置12のステージ通知部72は、エアコン制御ステージを示すトピックを付加した現在ステージ情報をステージブローカ16へパブリッシュし(S50)、エアコンコントローラ42はその現在ステージ情報をステージブローカ16からサブスクライブする(S52)。エアコンコントローラ42は、温度計算ノード32で決定された平均温度にしたがってエアコン52の新たな設定温度を決定し、その設定温度で動作するようエアコン52を制御する(S54)。この例ではエアコンコントローラ42とエアコン52が直接接続されるが、データブローカ17を介して間接的に接続されてもよい。   The stage notification unit 72 of the workflow management apparatus 12 publishes the current stage information to which the topic indicating the air conditioner control stage is added to the stage broker 16 (S50), and the air conditioner controller 42 subscribes the current stage information from the stage broker 16. (S52). The air conditioner controller 42 determines a new set temperature of the air conditioner 52 according to the average temperature determined by the temperature calculation node 32, and controls the air conditioner 52 to operate at the set temperature (S54). In this example, the air conditioner controller 42 and the air conditioner 52 are directly connected, but may be indirectly connected via the data broker 17.

エアコンコントローラ42は、エアコン制御結果を示すトピックを付加し、新たな設定温度を本文に含むメッセージをデータブローカ17へパブリッシュする(S56)。また、エアコンコントローラ42は、エアコン制御ステージについての動作終了通知をステージブローカ16へパブリッシュし(S58)、ワークフロー管理装置12の終了通知受付部74はその動作終了通知をステージブローカ16からサブスクライブする(S60)。   The air conditioner controller 42 adds a topic indicating the air conditioner control result, and publishes a message including the new set temperature in the text to the data broker 17 (S56). The air conditioner controller 42 publishes an operation end notification for the air conditioner control stage to the stage broker 16 (S58), and the end notification receiving unit 74 of the workflow management apparatus 12 subscribes the operation end notification from the stage broker 16 ( S60).

これに並行して、ワークフロー管理装置12のステージ通知部72は、照明制御ステージを示すトピックを付加した現在ステージ情報をステージブローカ16へパブリッシュし(S62)、照明コントローラ44はその現在ステージ情報をステージブローカ16からサブスクライブする(S64)。照明コントローラ44は、照度計算ノード34で決定された最小照度にしたがって照明54のオンもしくはオフを決定し、照明54を点灯もしくは消灯させる(S66)。この例では照明コントローラ44と照明54が直接接続されるが、データブローカ17を介して間接的に接続されてもよい。   In parallel with this, the stage notification unit 72 of the workflow management apparatus 12 publishes the current stage information to which the topic indicating the lighting control stage is added to the stage broker 16 (S62), and the lighting controller 44 sets the current stage information to the stage. Subscribe from the broker 16 (S64). The illumination controller 44 determines whether the illumination 54 is turned on or off according to the minimum illuminance determined by the illuminance calculation node 34, and turns on or off the illumination 54 (S66). In this example, the illumination controller 44 and the illumination 54 are directly connected, but may be indirectly connected via the data broker 17.

照明コントローラ44は、照明制御結果を示すトピックを付加し、照明54のオンオフ状態を本文に含むメッセージをデータブローカ17へパブリッシュする(S68)。また、照明コントローラ44は、照明制御ステージについての動作終了通知をステージブローカ16へパブリッシュし(S70)、ワークフロー管理装置12の終了通知受付部74はその動作終了通知をステージブローカ16からサブスクライブする(S72)。   The lighting controller 44 adds a topic indicating the lighting control result, and publishes a message including the text of the ON / OFF state of the lighting 54 to the data broker 17 (S68). Further, the lighting controller 44 publishes an operation end notification for the lighting control stage to the stage broker 16 (S70), and the end notification receiving unit 74 of the workflow management apparatus 12 subscribes the operation end notification from the stage broker 16 ( S72).

会計計算ノード36は、エアコン制御結果を示すトピックが付加された設定温度データをデータブローカ17からサブスクライブする(S74)。これに並行して、会計計算ノード36は、照明制御結果を示すトピックが付加された照明オンオフ情報をデータブローカ17からサブスクライブする(S76)。   The accounting calculation node 36 subscribes the set temperature data to which the topic indicating the air conditioner control result is added from the data broker 17 (S74). In parallel with this, the accounting calculation node 36 subscribes the lighting on / off information to which the topic indicating the lighting control result is added from the data broker 17 (S76).

ワークフロー管理装置12の移行判定部76は、エアコン制御ステージについての動作終了通知の受信状況にしたがって、エアコン制御ステージ108からエネルギー会計計算ステージ112への移行条件が満たされたと判定する。また移行判定部76は、照明制御ステージについての動作終了通知の受信状況にしたがって、照明制御ステージ110からエネルギー会計計算ステージ112への移行条件が満たされたと判定する。ステージ更新部78は、エアコン制御ステージ108からエネルギー会計計算ステージ112への移行条件が満たされ、かつ、照明制御ステージ110からエネルギー会計計算ステージ112への移行条件も満たされた場合に、現在のステージを、エアコン制御ステージ108および照明制御ステージ110から、エネルギー会計計算ステージ112へ切り替えるようステージ情報を更新する。   The transition determination unit 76 of the workflow management device 12 determines that the transition condition from the air conditioner control stage 108 to the energy accounting calculation stage 112 is satisfied according to the reception status of the operation end notification for the air conditioner control stage. Further, the transition determination unit 76 determines that the transition condition from the illumination control stage 110 to the energy accounting calculation stage 112 is satisfied according to the reception status of the operation end notification for the illumination control stage. The stage update unit 78 determines the current stage when the transition condition from the air conditioner control stage 108 to the energy accounting calculation stage 112 is satisfied and the transition condition from the lighting control stage 110 to the energy accounting calculation stage 112 is also satisfied. Is updated from the air conditioner control stage 108 and the illumination control stage 110 to the energy accounting calculation stage 112.

このように前提技術のワークフローでは、複数のステージ間の実行順序として半順序関係を規定することを許容する。例えば、エアコン制御ステージ108と照明制御ステージ110は半順序関係である。すなわち、これらのステージ間の実行順序は一意に定められておらず、ステージ間の実行順序を比較することはできない。言い換えれば、どちらのステージを先に開始してもよく、どちらのステージを先に終了してもよい。またここでは、エネルギー会計計算ステージ112は、エアコン制御ステージ108と照明制御ステージ110の両方が終了したことを条件として実行可能である。既述したように、このようなステージ間の順序関係はワークフロー情報保持部82に保持される。   As described above, in the workflow of the base technology, it is allowed to define a partial order relationship as an execution order between a plurality of stages. For example, the air conditioner control stage 108 and the illumination control stage 110 are in a partial order relationship. That is, the execution order between these stages is not uniquely determined, and the execution order between the stages cannot be compared. In other words, which stage may be started first and which stage may be ended first. Further, here, the energy accounting calculation stage 112 can be executed on condition that both the air conditioner control stage 108 and the illumination control stage 110 are completed. As described above, the order relationship between the stages is held in the workflow information holding unit 82.

ステージ更新部78は、ワークフロー情報保持部82に保持された順序関係を参照し、エアコン制御ステージ108からエネルギー会計計算ステージ112への移行条件が満たされた一方、照明制御ステージ110からエネルギー会計計算ステージ112への移行条件が満たされていない場合に、エアコン制御ステージ108が終了した状態であり、かつ、照明制御ステージ110でもあることを示すようステージ情報を更新する。その後、照明制御ステージ110からエネルギー会計計算ステージ112の移行条件が満たされると、ステージ更新部78は、現在のステージをエネルギー会計計算ステージ112へ切り替えるようステージ情報を再度更新する。これにより、ワークフローをエネルギー会計計算ステージ112へ移行させる。   The stage update unit 78 refers to the order relationship held in the workflow information holding unit 82, and the transition condition from the air conditioner control stage 108 to the energy accounting calculation stage 112 is satisfied, while the lighting control stage 110 changes to the energy accounting calculation stage. If the conditions for shifting to 112 are not satisfied, the stage information is updated to indicate that the air conditioner control stage 108 has been completed and is also the illumination control stage 110. Thereafter, when the transition condition from the lighting control stage 110 to the energy accounting calculation stage 112 is satisfied, the stage update unit 78 updates the stage information again so as to switch the current stage to the energy accounting calculation stage 112. As a result, the workflow is shifted to the energy accounting calculation stage 112.

ワークフロー管理装置12のステージ通知部72は、エネルギー会計計算ステージを示すトピックを付加した現在ステージ情報をステージブローカ16へパブリッシュし(S78)、会計計算ノード36はその現在ステージ情報をステージブローカ16からサブスクライブする(S80)。会計計算ノード36は、エアコンコントローラ42で決定されたエアコン52の設定温度と、照明コントローラ44で決定された照明54のオンオフにしたがって、エネルギー会計計算処理を実行する。会計計算ノード36は、エネルギー会計計算結果を示すトピックを付加し、エネルギー会計データを本文に含むメッセージをデータブローカ17へパブリッシュする(S82)。また、会計計算ノード36は、エネルギー会計計算ステージについての動作終了通知をステージブローカ16へパブリッシュする(S84)。   The stage notification unit 72 of the workflow management device 12 publishes the current stage information to which the topic indicating the energy accounting calculation stage is added to the stage broker 16 (S78), and the accounting calculation node 36 subscribes the current stage information from the stage broker 16 to the subscriber. Live (S80). The accounting calculation node 36 executes energy accounting calculation processing according to the set temperature of the air conditioner 52 determined by the air conditioner controller 42 and the on / off state of the lighting 54 determined by the lighting controller 44. The accounting calculation node 36 adds a topic indicating the energy accounting calculation result, and publishes a message including the energy accounting data in the text to the data broker 17 (S82). In addition, the accounting calculation node 36 publishes an operation end notification for the energy accounting calculation stage to the stage broker 16 (S84).

ワークフロー管理装置12の終了通知受付部74は、エネルギー会計計算ステージについての動作終了通知をステージブローカ16からサブスクライブする(S86)。移行判定部76がエネルギー会計計算ステージ112からエンドステージへの移行条件が満たされたと判定すると、ワークフロー管理装置12における図7のワークフローの1サイクルの処理が完了する。なお、所定時間(10分等)が経過するたびに、ワークフロー管理装置12は図7のワークフローの処理を繰り返してもよく、すなわち、図8に示す動作を定期的に繰り返してもよい。   The end notification receiving unit 74 of the workflow management apparatus 12 subscribes the operation end notification for the energy accounting calculation stage from the stage broker 16 (S86). When the transition determination unit 76 determines that the transition condition from the energy accounting calculation stage 112 to the end stage is satisfied, the processing of one cycle of the workflow in FIG. 7 in the workflow management apparatus 12 is completed. Each time a predetermined time (10 minutes or the like) elapses, the workflow management apparatus 12 may repeat the processing of the workflow shown in FIG. 7, that is, the operation shown in FIG. 8 may be repeated periodically.

ステークホルダ端末13は、エネルギー会計計算結果を示すトピックが付加されたエネルギー会計データをデータブローカ17からサブスクライブし(S88)、そのデータを所定の記憶装置に記憶させる。ステークホルダ端末13は、会計計算ノード36から定期的に通知されるエネルギー会計データを蓄積してもよく、複数回に亘り通知されたエネルギー会計データを1日単位や1月単位で集計する処理を実行してもよい。また、その集計結果を所定の記憶装置に記憶させ、また、ディスプレイや印刷装置へ出力してもよい。   The stakeholder terminal 13 subscribes the energy accounting data to which the topic indicating the energy accounting calculation result is added from the data broker 17 (S88), and stores the data in a predetermined storage device. The stakeholder terminal 13 may accumulate energy accounting data periodically notified from the accounting calculation node 36, and executes a process of aggregating the energy accounting data notified over a plurality of times on a daily or monthly basis. May be. Further, the totaled result may be stored in a predetermined storage device and may be output to a display or a printing device.

前提技術のワークフロー管理装置12は、並列する複数のステージのタスクを複数のエージェントに並列して割当て、各エージェントにタスクを並列して実行させる。また、並列する各ステージを次のステージへ進めるか否かを、タスク割当先の各エージェントが互いに独立して送信するタスク終了通知の受信状況にもとづいて決定する。これにより、制御対象のエージェント数が増加しても、各エージェントを協調動作させたサービスの提供を効率的に実現することができる。すなわち、1つのサービス提供のために実行すべき複数のタスクの処理順序を半順序で定義可能にすることで、多数のエージェントによるタスク処理を効率的に制御し、効率的なサービス提供を実現する。   The workflow management apparatus 12 of the base technology assigns tasks in a plurality of stages in parallel to a plurality of agents in parallel, and causes each agent to execute the tasks in parallel. Further, whether or not to advance each stage in parallel to the next stage is determined based on the reception status of the task end notifications that are transmitted independently from each other by the respective task assignment destination agents. As a result, even when the number of agents to be controlled increases, it is possible to efficiently provide a service in which each agent is operated in a coordinated manner. In other words, by making it possible to define the processing order of a plurality of tasks to be executed for providing one service in a semi-order, task processing by a large number of agents is efficiently controlled, and efficient service provision is realized. .

例えば、あるステージの移行条件として、当該ステージのタスクを割当てた複数のエージェントのうち所定数のエージェントからタスク終了通知を受け付けた場合に次のステージへ移行することを定めることができる。この場合、具体的にどのエージェントからタスク終了通知を受け付けたかにはよらず、受信したタスク終了通知の個数が所定数に達したことを契機にステージ移行がなされる。これにより、タスク終了通知の送信元がエージェントAである場合の処理、エージェントBである場合の処理等、多くの種類の処理を定義する必要がなく、制御対象のエージェント数が増加しても、各エージェントを協調動作させたサービスの提供を効率的に実現することができる。   For example, as a transition condition of a certain stage, it is possible to determine that a transition to the next stage is made when a task end notification is received from a predetermined number of agents among a plurality of agents assigned the task of the stage. In this case, the stage transition is made when the number of received task end notifications reaches a predetermined number, regardless of which agent has specifically received the task end notification. As a result, it is not necessary to define many types of processing such as processing when the transmission source of the task end notification is Agent A, processing when Agent B is used, and even if the number of agents to be controlled increases, It is possible to efficiently provide a service in which each agent operates cooperatively.

また、前提技術のIOT機器制御システム10では、ワークフロー管理装置12とIOT機器11間のデータフローのためのステージブローカ16と、IOT機器11同士のデータフローのためのデータブローカ17を別個に設けた。これにより、中継対象のデータの特性に合わせて、パフォーマンスやセキュリティ等の設定を最適化したブローカを設けることができ、システム全体のパフォーマンスやセキュリティを効果的に高めることができる。例えば、ステージブローカ16は、パフォーマンスよりもセキュリティを重点的に高めた設定とすることが望ましい。その一方、データブローカ17は、仲介するデータ数の多寡やデータサイズの大小に応じた設定がなされてもよく、仲介するデータの特性に応じて複数のデータブローカ17を設けてもよい。   In the base technology IOT device control system 10, a stage broker 16 for data flow between the workflow management device 12 and the IOT device 11 and a data broker 17 for data flow between the IOT devices 11 are provided separately. . This makes it possible to provide a broker with optimized settings such as performance and security in accordance with the characteristics of data to be relayed, and effectively improve the performance and security of the entire system. For example, it is desirable for the stage broker 16 to have a setting that emphasizes security over performance. On the other hand, the data broker 17 may be set according to the number of data to be mediated and the size of the data size, and a plurality of data brokers 17 may be provided according to the characteristics of the data to be mediated.

以上、本発明を第1実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下変形例を挙げる。   The present invention has been described based on the first embodiment. This embodiment is an exemplification, and it will be understood by those skilled in the art that various modifications can be made to the combination of each component and each processing process, and such modifications are also within the scope of the present invention. . A modification is given below.

第1の変形例を説明する。上記前提技術では、ワークフロー管理装置12による制御対象のエージェントとしてIOT機器11を示したが、概要の事例2で示したように、エージェントは人であってもよい。この場合、ワークフロー管理装置12は、人が保持する情報端末に対して現在のステージを通知してもよい。この情報端末は、通知されたステージに応じたタスクの内容をディスプレイに表示させてもよい。人(すなわちタスク作業者)は、タスクが完了するとその旨を情報端末へ入力し、情報端末はワークフロー管理装置12へタスク終了通知を送信し、ワークフロー管理装置12は、そのタスク終了通知にしたがってステージを進行させてもよい。   A first modification will be described. In the above-mentioned base technology, the IOT device 11 is shown as an agent to be controlled by the workflow management device 12, but the agent may be a person as shown in the outline example 2. In this case, the workflow management apparatus 12 may notify the current stage to an information terminal held by a person. This information terminal may display the contents of the task corresponding to the notified stage on the display. When the task is completed, the person (that is, the task worker) inputs the fact to the information terminal, and the information terminal transmits a task end notification to the workflow management device 12, and the workflow management device 12 performs the stage according to the task end notification. May be advanced.

第2の変形例として、ステージの移行条件を含むタスク遷移述語について付言する。ワークフロー情報保持部82は、各ステージについて定められたタスク遷移述語を保持し、ステージ更新部78は、タスク遷移述語にしたがって各ステージの移行態様を決定する。タスク遷移述語には、ステージ移行に関する様々なAND条件、OR条件、NOT条件を記述可能である。   As a second modification, a task transition predicate including a stage transition condition is added. The workflow information holding unit 82 holds task transition predicates determined for each stage, and the stage update unit 78 determines the transition mode of each stage according to the task transition predicate. In the task transition predicate, various AND conditions, OR conditions, and NOT conditions regarding the stage transition can be described.

あるステージのタスク遷移述語は、移行条件が満たされた場合に次のステージへ移行することを定め、かつ、現在のステージ情報を外部へ通知後(もしくは現在のステージへ移行後)の所定時間内に次のステージへの移行条件が満たされない(例えばタイマによるタイムアウトを検出した)場合に、代替的・例外的なステージ移行を実行することを定めてもよい。所定時間内に次のステージへの移行条件が満たされないとは、例えば、IOT機器11からのタスク終了通知を待つべき所定の待機時間が経過した場合である。同様に、タスク遷移述語は、タスクを実行したIOT機器11から異常を示すタスク終了通知が返された場合に、代替的・例外的なステージ移行を実行することを定めてもよい。   The task transition predicate of a certain stage specifies that the transition to the next stage is made when the transition condition is satisfied, and within a predetermined time after notifying the current stage information to the outside (or after transitioning to the current stage) If the condition for transition to the next stage is not satisfied (for example, a time-out due to a timer is detected), an alternative / exceptional stage transition may be executed. The condition that the transition to the next stage is not satisfied within a predetermined time is, for example, a case where a predetermined standby time for waiting for a task end notification from the IOT device 11 has elapsed. Similarly, the task transition predicate may define that an alternative / exceptional stage transition is executed when a task end notification indicating an abnormality is returned from the IOT device 11 that has executed the task.

ステージ更新部78は、所定時間内に移行条件が満たされない、または異常を示すタスク終了通知が返された場合に、代替的・例外的なステージ移行を実行してもよい。代替的・例外的なステージ移行は、それまでのワークフロー、もしくはそれまでとは異なるワークフローの特定のステージへ移行することでもよい。例えば、ワークフロー管理装置12が複数のワークフローによる外部機器の制御を並行して実行する場合に、どのワークフローで例外やエラーが検出された際にも、例外処理用の共通のワークフローの特定のステージへ移行することを規定したものでもよい。本変形例によると、ワークフローにおける多様なステージ遷移を実現でき、また、ワークフローによる外部機器制御に要求される様々なエラー処理、例外処理に柔軟に対応できる。   The stage update unit 78 may execute an alternative / exceptional stage transition when the transition condition is not satisfied within a predetermined time or when a task end notification indicating an abnormality is returned. An alternative / exceptional stage transition may be a transition to a specific stage in a previous workflow or a different workflow. For example, when the workflow management apparatus 12 executes control of external devices by a plurality of workflows in parallel, when an exception or error is detected in any workflow, a specific stage of a common workflow for exception processing is entered. It may be specified to be migrated. According to this modification, various stage transitions in the workflow can be realized, and various error processing and exception processing required for external device control by the workflow can be flexibly handled.

第3の変形例を説明する。上記前提技術では言及していないが、ワークフロー管理装置12により制御対象となるIOT機器11は、複数のタスクステージに対応した複数の機能を備えてもよく、それら複数の機能を呼び出すための複数のAPIを備えてもよい。複数のAPIは、例えば、ワークフロー管理装置12からステージAの開始が通知された場合に呼び出されるインタフェースAと、ステージBの開始が通知された場合に呼び出されるインタフェースBを含んでもよい。これにより、物理的に1つのIOT機器11に複数種類の役割(すなわちタスク)を実行させることができる。   A third modification will be described. Although not mentioned in the base technology, the IOT device 11 to be controlled by the workflow management apparatus 12 may have a plurality of functions corresponding to a plurality of task stages, and a plurality of functions for calling the plurality of functions. An API may be provided. The plurality of APIs may include, for example, an interface A that is called when the start of the stage A is notified from the workflow management apparatus 12 and an interface B that is called when the start of the stage B is notified. As a result, a plurality of types of roles (that is, tasks) can be physically executed by one IOT device 11.

例えば、1つのIOT機器11が、複数種類の環境情報を検知するマルチセンサ機器の場合に、温度収集ステージ100を通知することで温度センサ22として機能させ、また、照度収集ステージ102を通知することで照度センサ24として機能させることができる。また例えば、1つのIOT機器11が、複数機器を集中制御するコントローラの場合に、エアコン制御ステージ108を通知することでエアコンコントローラ42として機能させ、また、照明制御ステージ110を通知することで照明コントローラ44として機能させることができる。   For example, when one IOT device 11 is a multi-sensor device that detects a plurality of types of environmental information, the temperature collection stage 100 is notified to function as the temperature sensor 22 and the illuminance collection stage 102 is notified. Can function as the illuminance sensor 24. Further, for example, when one IOT device 11 is a controller that centrally controls a plurality of devices, the air conditioner control stage 108 is notified to function as the air conditioner controller 42, and the illumination control stage 110 is notified to the illumination controller. 44 can function.

なお、1つのIOT機器11は、1つのワークフロー管理装置12で動作する複数のワークフロー、または、複数のワークフロー管理装置12で動作する複数のワークフローからステージの通知を受け付け、各ワークフローから通知されたステージに応じたタスクを実行してもよい。すなわち、1つのIOT機器11によるサービスを複数のワークフローが利用してもよい。   One IOT device 11 receives stage notifications from a plurality of workflows operating on one workflow management apparatus 12 or a plurality of workflows operating on a plurality of workflow management apparatuses 12, and the stage notified from each workflow You may perform the task according to. That is, a plurality of workflows may use a service provided by one IOT device 11.

また、IOT機器11は、ワークフローとステージの組み合わせを単位としてタスクを識別してもよく、言い換えれば、ワークフローとステージの組み合わせと、実行すべきタスクとの対応関係を保持してもよい。この場合、ワークフロー管理装置12は、ワークフローの識別情報とステージの識別情報の組み合わせを、現在ステージ情報としてIOT機器11へ送信してもよい。IOT機器11は、呼び出し元のワークフローが異なれば、同じステージ名が通知されても異なるタスクを実行してもよく、逆に、呼び出し元のワークフローが異なれば、異なるステージ名が通知されても同じタスクを実行してもよい。   Further, the IOT device 11 may identify a task in units of a combination of a workflow and a stage. In other words, the IOT device 11 may hold a correspondence relationship between a combination of a workflow and a stage and a task to be executed. In this case, the workflow management apparatus 12 may transmit a combination of workflow identification information and stage identification information to the IOT device 11 as current stage information. If the call source workflow is different, the IOT device 11 may execute the same task even if the same stage name is notified. Conversely, if the call source workflow is different, the IOT device 11 is the same even if a different stage name is notified. A task may be executed.

第4の変形例を説明する。上記前提技術では、ブローカを介したメッセージ技術により、ワークフロー管理装置12とIOT機器11間のデータフローと、複数のIOT機器11間のデータフローを実現したが、他の技術によりデータを送受してもよい。例えば、データの送信元装置と送信先装置間で公知のユニキャスト通信、マルチキャスト通信、P2P通信を実行してもよい。また、公知のデータ共有技術を使用してもよい。また、一方の装置がクラウドシステムへデータをアップロードし、他方の装置がクラウドシステムからデータをダウンロードすることで、情報通知およびデータ共有を実現してもよい。   A fourth modification will be described. In the base technology described above, the data flow between the workflow management device 12 and the IOT device 11 and the data flow between the plurality of IOT devices 11 are realized by the message technology via the broker. Also good. For example, known unicast communication, multicast communication, and P2P communication may be performed between the data transmission source device and the transmission destination device. Moreover, you may use a well-known data sharing technique. Further, information notification and data sharing may be realized by one device uploading data to the cloud system and the other device downloading data from the cloud system.

(第1実施例の概要説明)
工場におけるロット管理の生産システムや建築現場における作業等、様々なプロジェクトは、複数のタスク(前提技術のステージに対応)の集合を、プロジェクトの開始から終了まで、半順序構造で順序づけたものとして把握される。実施例のプロジェクトは、製品・サービス・所産等の所定の成果物を創造するために実施される有期性の業務を意味する。また、前提技術のワークフローにしたがって所定の成果物を生産する活動とも言える。プロジェクトは、例えば、工場での一品生産を含み、工場でのロット単位あるいは製造番号単位で各タスクが実行される生産システムを含む。また、建築現場における内装工事のようなサービスプロセスを含み、躯体工事のような建設プロセスを含む。さらにまた、様々なサービスの提供プロセス等、多彩な活動を含む。
(Overview of the first embodiment)
Various projects, such as production systems for lot management at factories and work at construction sites, grasp a set of multiple tasks (corresponding to the stage of the prerequisite technology) as a semi-ordered structure from the start to the end of the project. Is done. The project in the embodiment means a fixed-term work performed to create a predetermined product such as a product, service, or product. It can also be said to be an activity of producing a predetermined product according to the workflow of the prerequisite technology. The project includes, for example, a production system that includes single-item production in a factory and that performs each task in units of lots or serial numbers in the factory. It also includes service processes such as interior construction at construction sites, and construction processes such as frame construction. Furthermore, it includes various activities such as various service provision processes.

従来、プロジェクトにおけるタスクの遂行は人が中心となっており、また、タスクの遂行場所も限定されていた。しかし、IoT時代には、タスクの遂行は人だけでなく、様々なハードウェア、ソフトウェア、およびそれらの協働により遂行されうる。さらにタスクの遂行場所も限定されない。このようなネットワーク上のタスクを含むプロジェクトの遂行と管理に関して、本発明者は以下の2つが要請されると考えた。   Conventionally, the task execution in a project has been centered on people, and the task execution place has been limited. However, in the IoT era, tasks can be performed not only by humans but also by various hardware, software, and their cooperation. Further, the place where the task is performed is not limited. Regarding the execution and management of a project including such a task on the network, the present inventor considered that the following two are required.

(1)プロジェクトを構成する個々のタスクが自律分散的にその活動を行うことを、プロジェクト全体として適切に管理することが必要になる。この管理は、例えば、機械の管理に用いられるシーケンス制御よりも自律分散的なものである必要がある。また、タスクの遂行状態を管理するためには、その遂行状態を見える化し、把握可能にすることが必要となる。とりわけ、個々のタスクの開始と終了を人間が管理するプロジェクトでは、各タスクの遂行状態を見える化し、把握可能にすることがきわめて重要である。   (1) It is necessary to appropriately manage that individual tasks constituting the project perform their activities in an autonomous and distributed manner as a whole project. This management needs to be more autonomously distributed than, for example, sequence control used for machine management. In addition, in order to manage the execution status of a task, it is necessary to visualize the execution status so that it can be grasped. In particular, in a project where humans manage the start and end of individual tasks, it is extremely important to visualize and understand the execution status of each task.

(2)個々のタスクの遂行中に生じる様々な情報をタスクと紐づけて管理することは、モノやサービスの生産プロジェクトにおける品質管理や、プロセスイノベーション、さらに生産したモノやサービスに問題が生じた場合のトレーサブルなプロセス管理に必須となる。センシング技術の向上により、工場や様々なサービス生産の現場で多くのデータがリアルタイムに把握できるようになっても、検出された様々なデータを個々のタスクに紐づけることができなければ、検出されたデータに基づいて、製品や仕掛品を改善することは難しい。また、生産プロセスのイノベーションを生み出すことも難しい。しかし、現状は、個々のタスクの遂行中に生じる様々な情報を、遂行中のタスクと紐づけて管理することが十分になされているとは言えない。   (2) Managing various information generated during the execution of individual tasks in association with tasks has resulted in problems in quality management, process innovation, and further production of goods and services in production projects of goods and services. Indispensable for traceable process management. Even if a lot of data can be grasped in real time at the factory and various service production sites by improving sensing technology, it will be detected if the various detected data cannot be linked to individual tasks. It is difficult to improve products and work-in-process based on collected data. It is also difficult to create production process innovations. However, at present, it cannot be said that various information generated during execution of individual tasks is sufficiently managed in association with the task being executed.

ここでプロジェクトの事例を説明する。図9は、モノを製造するプロジェクトの一例を示す。同図のプロジェクトでは、1)鉄板の切削加工タスク、2)銅板の切削加工タスク、3)切削された銅板と鉄板のプレスタスク、4)プレスされた板の塗装タスクが遂行される。鉄板切削加工タスクと、銅板切削加工タスクは、半順序の関係であり、並行して実行可能である。ただし、この事例では、1台の切削加工装置で、鉄板切削加工タスクと銅板切削加工タスクを順次実行し、すなわち鉄板切削加工タスクと銅板切削加工タスクを同時実行することはない。   Here is an example of the project. FIG. 9 shows an example of a project for manufacturing goods. In the project shown in FIG. 1, 1) an iron plate cutting task, 2) a copper plate cutting task, 3) a cut copper plate and iron plate pressing task, and 4) a pressed plate painting task are performed. The iron plate cutting task and the copper plate cutting task are in a partial order and can be executed in parallel. However, in this example, the steel plate cutting task and the copper plate cutting task are sequentially executed by one cutting device, that is, the iron plate cutting task and the copper plate cutting task are not simultaneously executed.

図10は、図9のプロジェクトにおけるスケジュールの一例を示す。同図では、図9のプロジェクトを識別子「P1」で表している。また、鉄板切削加工タスク(所要時間は2時間)を識別子「A」、銅板切削加工タスク(所要時間は1時間)を識別子「B」、プレスタスク(所要時間は1時間)を識別子「C」、塗装タスク(所要時間は1時間)を識別子「D」で表している。このスケジュールでは、最初の2時間で鉄板切削加工タスクが遂行され(P1:A)、以降1時間ごとに、銅板切削加工タスク(P1:B)、プレスタスク(P1:C)、塗装タスク(P1:D)の順に遂行されていき、開始から5時間後にプロジェクトが終了する。   FIG. 10 shows an example of a schedule in the project of FIG. In the figure, the project of FIG. 9 is represented by the identifier “P1”. Also, the steel plate cutting task (required time is 2 hours) is identified by the identifier “A”, the copper plate cutting task (required time is 1 hour) is identified by the identifier “B”, and the press task (required time is 1 hour) is identified by the identifier “C”. The painting task (required time is 1 hour) is represented by the identifier “D”. In this schedule, an iron plate cutting task is performed in the first two hours (P1: A), and thereafter, every hour, a copper plate cutting task (P1: B), a press task (P1: C), and a painting task (P1). : D) and the project will be completed 5 hours after the start.

ところで、現実のプロジェクトでは様々な理由で計画とのずれが生じる。例えば、工作機械(切削加工装置等)が故障等により停止することがある。また、機械や職人等の資源が他のプロジェクトへ優先的に割り当てられ、本プロジェクトのタスクの遂行が遅延することもある。そのため、タスクの開始と終了を把握可能にすることは生産管理においてきわめて重要である。   By the way, in actual projects, deviation from the plan occurs for various reasons. For example, a machine tool (such as a cutting device) may stop due to a failure or the like. In addition, resources such as machines and craftsmen may be preferentially allocated to other projects, and the execution of tasks in this project may be delayed. Therefore, it is extremely important in production management to be able to grasp the start and end of a task.

図11も、図9のプロジェクトにおけるスケジュールの一例を示す。同図では、図9のプロジェクトが3回実行され、3つの成果物が生産される場合のスケジュールを示している。図11(a)〜(c)で示すように、切削加工装置1台、プレス装置1台、塗装装置1台の場合に3つのプロジェクト(それぞれのIDはP1、P2、P3)を遂行するには資源のスケジューリングが必要となり、また、タスクに対する資源割当基準の種類によって異なるスケジュールが導かれる。   FIG. 11 also shows an example of the schedule in the project of FIG. FIG. 9 shows a schedule when the project of FIG. 9 is executed three times and three deliverables are produced. As shown in FIGS. 11A to 11C, three projects (each ID is P1, P2, and P3) are performed in the case of one cutting device, one press device, and one painting device. Requires scheduling of resources, and different schedules are derived depending on the types of resource allocation criteria for tasks.

図11(a)は、「最長タスク優先スケジューリング」を適用したスケジュールを示している。図11(a)では、同じ資源を使用する複数のタスクがあれば所要時間が相対的に長いタスクに優先的に資源を割り当てている。図11(b)は、「最短タスク優先スケジューリング」を適用したスケジュールを示している。図11(b)では、同じ資源を使用する複数のタスクがあれば所要時間が相対的に短いタスクに優先的に資源を割り当てている。図11(c)は、「ワークフロー順かつ最長タスク優先スケジューリング」を適用したスケジュールを示している。図11(c)では、可及的に多くのプロジェクトでタスクを実行することを優先し、その上で、同じ資源を使用する複数のタスクがあれば所要時間が相対的に長いタスクに優先的に資源を割り当てている。   FIG. 11A shows a schedule to which “longest task priority scheduling” is applied. In FIG. 11A, if there are a plurality of tasks using the same resource, the resource is preferentially allocated to a task having a relatively long required time. FIG. 11B shows a schedule to which “shortest task priority scheduling” is applied. In FIG. 11B, if there are a plurality of tasks using the same resource, the resource is preferentially assigned to a task having a relatively short required time. FIG. 11C shows a schedule to which “workflow order and longest task priority scheduling” is applied. In FIG. 11C, priority is given to executing a task in as many projects as possible, and if there are a plurality of tasks that use the same resource, priority is given to a task that takes a relatively long time. Allocate resources.

図12は、図11(a)のスケジュールによるタスクの遂行過程を模式的に示す。同図では、3つのプロジェクト(P1、P2、P3)それぞれについて、1時間を1Tick(時間単位)として、上から下へ時系列にタスクの遂行過程を示している。また、完了したタスクを網掛けで示している。このような単純な事例においても各タスクの進行状況は複雑であるが、実際には1プロジェクトあたり数百のタスクが存在することがあり、また、数十から数百のプロジェクトが並行して稼働することがある。したがって、モノやサービスを生産する実際のプロジェクトにおいて、タスクの遂行プロセスを可視化して管理することは容易でなかった。   FIG. 12 schematically shows a task execution process according to the schedule of FIG. In the figure, for each of the three projects (P1, P2, P3), 1 hour is 1 Tick (time unit), and task execution processes are shown in time series from top to bottom. In addition, the completed task is shaded. Even in such a simple case, the progress of each task is complex, but in reality there may be hundreds of tasks per project, and tens to hundreds of projects are running in parallel. There are things to do. Therefore, it is not easy to visualize and manage the task execution process in an actual project for producing goods and services.

本実施例では、所定の成果物(サービス等の無体物を含む)を生産するためのプロジェクトを構成する複数のタスクについて、個々のタスク遂行時に発生した様々な情報を管理する情報処理装置(以下「管理装置」とも呼ぶ。)を提案する。実施例の管理装置は、プロジェクト管理装置とも言え、タスク遂行情報管理装置とも言える。実施例の管理装置は、ネットワーク上の人、モノ、ソフトウェアが混在しつつタスクが遂行される環境下で、各タスクの区切りを明確にしてタスク自体の見える化を実現する。同時に、プロジェクトにおけるタスク進行と、個々のタスク内部で得られる様々な計測情報とをIoTを用いてタスク単位でパッキング(データ梱包)する。これにより、プロジェクトで生み出される部品・製品・サービスと各タスクとの紐付けを可能にする。   In the present embodiment, an information processing apparatus (hereinafter referred to as an information processing apparatus) that manages various information generated at the time of performing individual tasks for a plurality of tasks constituting a project for producing predetermined deliverables (including intangibles such as services). It is also called “management device”. The management apparatus according to the embodiment can be called a project management apparatus and a task execution information management apparatus. The management apparatus according to the embodiment realizes visualization of tasks by clarifying the division of each task in an environment in which tasks are performed while people, things, and software on the network are mixed. At the same time, task progress in the project and various pieces of measurement information obtained within each task are packed in units of tasks (data packing) using IoT. As a result, it is possible to link the parts, products, and services generated in the project with each task.

個々のタスクに紐付けられ管理されるべき情報は、当該タスクの担当者や担当機械のようなタスクで利用されるファブリケーション生産サービスに関する物的資本(生産機械)や人的資本(担当者や職工)に関する情報を含んでもよい。また、タスクで加工される物質や原料に関する情報、廃棄物や屑等の出力情報、サービスを提供される顧客の情報、生産管理のための機械の稼働情報、品質管理のための計測情報を含んでもよい。さらにまた、タスク遂行の現場でタスクに結びつけられる様々な情報を含んでもよく、例えば、タスクでの付加価値生産に関わる簿記データであり、実物簿記形式での生産の複式記述を含んでもよい。これらの情報を、個々のタスクにきちんと紐づけることで、後述するように様々な分析が可能となる。   Information that should be managed in association with individual tasks includes physical capital (production machines) and human capital (persons in charge and Information on the craftsman). Also includes information on substances and raw materials processed in the task, output information on waste and waste, information on customers to whom services are provided, machine operation information for production management, and measurement information for quality control But you can. Furthermore, it may include various information linked to the task at the task execution site. For example, it may be bookkeeping data related to value-added production in the task, and may include a double description of production in a real bookkeeping format. By properly linking these pieces of information to individual tasks, various analyzes can be performed as described later.

今日、ビックデータ等、様々な形で計測されている多くのデータは、プロジェクト全体に紐づけられることはあっても、個々のタスクに紐づけられることはまれである。その背後には、タスクの数が数百から数万にも及ぶプロジェクトにおいて、各タスクに情報を紐付け管理する管理装置(タスク遂行情報管理装置)の不在がある。実施例で提案する管理装置は、この課題に答えることを1つの目的とする。   Today, a lot of data measured in various forms, such as big data, is rarely associated with individual tasks even though it is associated with the entire project. Behind this is the absence of a management device (task performance information management device) that manages information associated with each task in a project with hundreds to tens of thousands of tasks. The management apparatus proposed in the embodiment has one purpose to answer this problem.

実施例の管理装置は、(1)ステージによるタスクの並列かつ順序づけられた実行の管理、(2)プロジェクトの遂行に関して得られる情報の、タスクを単位としたパッキング(データ梱包)とその管理、の2つの機能を実現する。このうち(1)の機能は、前提技術に記載のワークフロー管理装置により実現される。以下では(2)の機能を説明する。   The management apparatus according to the embodiment includes (1) management of parallel and ordered execution of tasks according to stages, and (2) packing of information obtained regarding the execution of a project (data packing) and management thereof. Realize two functions. Among these, the function (1) is realized by the workflow management apparatus described in the prerequisite technology. The function (2) will be described below.

複数のタスクで構成されるプロジェクトの遂行過程では、様々な情報がそれぞれのタスクに関連して得られ或は使用される。これらの情報は正しくそれに関連するタスクに紐づけられる必要がある。実施例では、個々のタスクに関連した情報は、それぞれのタスクの遂行に際して実空間上で得られ、得られた情報が管理装置において適切にデータ梱包される。これにより、プロジェクトを構成する各々のタスクの開始と終了をそれぞれのタスクの側で管理しつつ、管理装置側でもその情報を把握し、さらにタスク内部で計測されるタスクの遂行に関する諸データをタスク単位で収集し管理することができる。   In the process of executing a project composed of a plurality of tasks, various information is obtained or used in association with each task. These pieces of information need to be correctly linked to tasks related to the information. In the embodiment, information related to each task is obtained in real space when each task is executed, and the obtained information is appropriately data-packed in the management device. In this way, while managing the start and end of each task that makes up the project on the side of each task, the management device also grasps the information, and also various data related to the execution of the task measured inside the task Can be collected and managed in units.

既述したように、実施例では、プロジェクトの各タスクの情報として、タスク名情報、タスクの上で加工等の作業がなされるロット情報、タスクの開始情報、タスクの終了情報を一つのまとまったロットの作業・計測データのパッキング(以下「タスクデータ梱包」とも呼ぶ。)として認識するための枠組みを導入する。この枠組みを「タスクデータの梱包枠組」とも呼ぶ。   As described above, in the embodiment, the task name information, the lot information on which work such as processing is performed on the task, the start information of the task, and the end information of the task are collected as one piece of information for each task of the project. Introduce a framework to recognize lot work / measurement data packing (hereinafter also referred to as “task data packing”). This framework is also referred to as “task data packaging framework”.

タスクデータの梱包枠組は、プロジェクトID(後述のプロジェクトインスタンスID)・タスクIDの組みにより識別される。プロジェクトIDは、ロット単位で生産活動が行われるプロジェクトであればロットIDでもよく、プロジェクトで最終的に生産される成果物のID(製造番号等)でもよく、プロジェクトが提供するサービスのIDでもよい。実施例では、同じプロジェクト(言い換えれば同じワークフロー)が実行される場合でも、タスクの遂行単位(タイミングやロット等)が異なれば、異なるプロジェクトID(後述のプロジェクトインスタンスID)を付与する。タスクIDは、プロジェクトを構成する複数のタスクのうち1つのタスクをユニークに識別可能なIDである。プロジェクトIDとタスクIDの組に対して、様々な計測データが紐づけられることにより、生産やサービスに関するデータをリアルタイムに見える化することができる。また後述するように、様々な計測データを、組織内および組織間での品質管理やカイゼンのための分析に用いることができる。   The packing framework of task data is identified by a combination of project ID (project instance ID described later) and task ID. The project ID may be a lot ID as long as the production activity is performed in units of lots, may be an ID (manufacturing number, etc.) of a product that is finally produced in the project, or may be an ID of a service provided by the project. . In the embodiment, even when the same project (in other words, the same workflow) is executed, if a task execution unit (timing, lot, etc.) is different, a different project ID (project instance ID described later) is assigned. The task ID is an ID that can uniquely identify one task among a plurality of tasks constituting the project. Data related to production and services can be visualized in real time by associating various measurement data with a set of project ID and task ID. Further, as will be described later, various measurement data can be used for quality management and KAIZEN analysis within and between organizations.

タスクデータの梱包枠組は、タスクの遂行が開始した日時と終了した日時に関する情報、当該タスクで必要とするファブリケーションサービスなどのサービスに用いられる物的資源(機械装置等)と人的資源(職工や担当者等)の情報を必須の情報として含む。これにより、タスクへの資源割当とタスクの遂行状態との見える化が可能となる。タスクの遂行に関して収集された諸情報は、タスクデータの梱包枠組によって、当該プロジェクトでのタスク遂行(例えば仕掛品の加工や何らかのサービスの提供)における担当者や、製品、仕掛品、サービスに関する諸情報を正しくタスクに紐づけて管理することが可能になる。   The task data packaging framework includes information on the date and time when the task was started and completed, the physical resources (machinery, etc.) and human resources (workers) used for services such as fabrication services required for the task. And the person in charge) are included as essential information. This makes it possible to visualize the resource allocation to tasks and the task execution status. The information collected about the performance of the task is based on the task data packaging framework, the person in charge of performing the task in the project (for example, processing of work in process and provision of some services), and information on products, work in progress, and services. Can be managed in association with tasks correctly.

タスクデータの梱包枠組において各タスクに紐づけられ管理される情報は以下を含む。
1)タスクの開始と終了の時間情報。
2)タスク遂行のためのファブリケーションサービスなどのタスク機能の遂行サービスで用いられる機械装置(物的資源)や職工や担当者(人的資源)の割当情報。
3)機械装置を用いるタスクの場合、当該タスクでの加工に用いられた資源としての工作機械の作動状況。
4)タスクでの加工品の品質等に関する諸計測情報。
5)タスクでの生産に関する原価計算情報。
6)タスク遂行時の温度・湿度などの環境情報。
7)その他タスクの状態や状況を示す様々な情報。
なお、上記5)については、本発明者が提案した情報システムおよびエネルギー情報の記録装置(国際公開第2013/168419号)を参照。国際公開第2013/168419号の内容は参照により本明細書に組み込まれる。
Information associated with each task and managed in the task data packaging framework includes the following.
1) Task start and end time information.
2) Allocation information of mechanical devices (physical resources), craftsmen and persons in charge (human resources) used in task function execution services such as fabrication services for task execution.
3) In the case of a task using a machine device, the operating status of the machine tool as a resource used for machining in the task.
4) Various measurement information on the quality of the processed product in the task.
5) Costing information about production at the task.
6) Environmental information such as temperature and humidity during task execution.
7) Various information indicating the status and status of other tasks.
For the above 5), refer to the information system proposed by the present inventor and the energy information recording device (International Publication No. 2013/168419). The contents of WO 2013/168419 are incorporated herein by reference.

以下、プロジェクトの雛形として、プロジェクトを構成する複数のタスクの順序関係を定めたデータを「プロジェクトタイプ」とも呼ぶ。また、特定のプロジェクトタイプにしたがってモノやサービスを生産するために、当該プロジェクトタイプに対して、物的資源(原料や部品、工作機械等)や人的資源を割り当てたものを「プロジェクトインスタンス」とも呼ぶ。プロジェクトタイプとプロジェクトインスタンスを区別しない場合、単に「プロジェクト」と呼ぶ。なお、後述のプロジェクトインスタンスIDは、1つのプロジェクトタイプに対して物的資源や人的資源を割り当てる生産計画システムが発行・採番してもよく、生産計画システムから製造現場および管理装置122へ通知されてもよい。   Hereinafter, as a template of a project, data defining an order relation of a plurality of tasks constituting the project is also referred to as “project type”. In addition, in order to produce goods and services according to a specific project type, a physical resource (raw materials, parts, machine tools, etc.) or human resources assigned to the project type is referred to as a “project instance”. Call. If the project type and the project instance are not distinguished, they are simply called “projects”. Note that a project instance ID, which will be described later, may be issued and numbered by a production planning system that allocates physical resources and human resources to one project type, and is notified from the production planning system to the manufacturing site and the management device 122. May be.

(第1実施例の詳細説明)
図13は、第1実施例のプロジェクト管理システムの構成を示す。プロジェクト管理システム120は、管理装置122、メッセージブローカ123、状態通知装置126で総称される状態通知装置126a、状態通知装置126b、状態通知装置126c、バーコードリーダ128で総称されるバーコードリーダ128a、バーコードリーダ128b、バーコードリーダ128cを備える。これらの装置は、LAN・WAN・インターネット等を含む通信網124を介して接続される。
(Detailed description of the first embodiment)
FIG. 13 shows the configuration of the project management system of the first embodiment. The project management system 120 includes a management device 122, a message broker 123, a status notification device 126a collectively referred to as a status notification device 126, a status notification device 126b, a status notification device 126c, and a barcode reader 128a collectively referred to as a barcode reader 128. A barcode reader 128b and a barcode reader 128c are provided. These devices are connected via a communication network 124 including a LAN, a WAN, the Internet, and the like.

管理装置122は、前提技術のワークフロー管理装置12に対応する情報処理装置である。管理装置122は、プロジェクトと、そのプロジェクトを構成する複数のタスクに関する情報を管理する情報処理装置である。管理装置122の詳細は後述する。   The management device 122 is an information processing device corresponding to the workflow management device 12 of the prerequisite technology. The management device 122 is an information processing device that manages information related to a project and a plurality of tasks constituting the project. Details of the management device 122 will be described later.

メッセージブローカ123は、メッセージングサービスを提供し、クライアント装置間でのメッセージの交換を仲介する情報処理装置である。具体的には、メッセージブローカ123は、所定のプロトコル(例えばMQTT(MQ Telemetry Transport)プロトコル)にしたがって、クライアント装置から送信(パブリッシュ)されたメッセージを受け付けて蓄積する。ここでメッセージにはトピック名が付与される。メッセージブローカ123は、トピック名を指定したサブスクライブ要求をクライアント装置から受け付ける。メッセージブローカ123は、サブスクライブ要求で指定されたトピック名が付与されたメッセージを要求元のクライアント装置へ送信する。   The message broker 123 is an information processing apparatus that provides a messaging service and mediates message exchange between client apparatuses. Specifically, the message broker 123 accepts and accumulates messages transmitted (published) from the client device according to a predetermined protocol (for example, MQTT (MQ Telemetry Transport) protocol). Here, a topic name is given to the message. The message broker 123 receives a subscribe request specifying a topic name from the client device. The message broker 123 transmits a message with the topic name specified in the subscribe request to the requesting client device.

管理装置122と状態通知装置126は、メッセージブローカ123に対するクライアント装置として動作し、メッセージブローカ123を介してメッセージを送受する。例えば、状態通知装置126は、タスクに関するデータをメッセージブローカ123へパブリッシュし、管理装置122は、タスクに関するデータをメッセージブローカ123からサブスクライブする。   The management device 122 and the status notification device 126 operate as a client device for the message broker 123 and send and receive messages via the message broker 123. For example, the status notification device 126 publishes data regarding tasks to the message broker 123, and the management device 122 subscribes data regarding tasks from the message broker 123.

バーコードリーダ128は、タスクのID、タスクの対象となるロットのID、工作機械(言い替えればタスクへの投入資源)のIDを、タスクの遂行場所(例えば工場の製造ライン等)に予め設けられたバーコードから読み込む。これらのIDは、タスクごと、ロットごと、工作機械ごとに予め定められる。また、実施例のロットは、1つのプロジェクトの1つのタスクにおける作業単位であり、ロットのIDは、当該1つのタスクの成果物に付与されるロット番号であってもよい。   The barcode reader 128 is provided with a task ID, a lot ID targeted for the task, and a machine tool ID (in other words, a resource input to the task) in advance in a task execution place (for example, a production line of a factory). Read from a bar code. These IDs are predetermined for each task, each lot, and each machine tool. In addition, the lot of the embodiment may be a unit of work in one task of one project, and the lot ID may be a lot number assigned to the deliverable of the one task.

状態通知装置126は、タスク遂行時に生じた様々な情報であり、タスク遂行の状態、状況、環境等を示すデータ(以下「タスク状態データ」とも呼ぶ。)をメッセージブローカ123へ送信する。状態通知装置126は、バーコードリーダ128と接続される装置(PC等)を含む。この装置は、バーコードリーダ128で読み取られたデータ(例えばタスクID、ロットID、工作機械ID等)を含むメッセージをメッセージブローカ123へ送信する。   The status notification device 126 transmits various information generated at the time of task execution and data indicating the task execution status, status, environment, and the like (hereinafter also referred to as “task status data”) to the message broker 123. The status notification device 126 includes a device (such as a PC) connected to the barcode reader 128. This apparatus transmits a message including data (for example, task ID, lot ID, machine tool ID, etc.) read by the barcode reader 128 to the message broker 123.

また、状態通知装置126は、タスクの開始時に押すべき開始ボタンと、タスクの終了時に押すべき終了ボタンとを備える開始・終了通知装置を含む。開始・終了通知装置は、開始ボタンが押下された場合に、タスクの開始を示すメッセージ(例えばタスクの開始日時を示すメッセージ)をメッセージブローカ123へ送信する。その一方、終了ボタンが押下された場合に、タスクの終了を示すメッセージ(例えばタスクの終了日時を示すメッセージ)をメッセージブローカ123へ送信する。   The state notification device 126 includes a start / end notification device including a start button to be pressed at the start of a task and an end button to be pressed at the end of the task. When the start button is pressed, the start / end notification device transmits a message indicating the start of the task (for example, a message indicating the start date and time of the task) to the message broker 123. On the other hand, when the end button is pressed, a message indicating the end of the task (for example, a message indicating the end date and time of the task) is transmitted to the message broker 123.

また、状態通知装置126は、タスクが遂行される環境(温度・湿度等)、機器(工作機械)の状態や、タスクの成果物の状態(塗装むら等)を検知する様々な計測機器(センサ等)を含む。計測機器は、検知した環境、機器、成果物の状態を示すメッセージをメッセージブローカ123へ送信する。また、状態通知装置126は、タスクの遂行に関与すべき作業者により操作されるPC、スマートフォン、タブレット端末を含む。例えばPCは、作業者から入力された操作に対応するメッセージや、作業者により入力されたデータを含むメッセージをメッセージブローカ123へ送信する。   In addition, the state notification device 126 includes various measuring devices (sensors) that detect the environment (temperature / humidity, etc.) in which the task is performed, the state of the device (machine tool), and the state of the result of the task (painting unevenness, etc.). Etc.). The measuring device transmits a message indicating the detected environment, device, and product status to the message broker 123. The state notification device 126 includes a PC, a smartphone, and a tablet terminal operated by an operator who should be involved in performing the task. For example, the PC transmits to the message broker 123 a message corresponding to an operation input by the worker or a message including data input by the worker.

状態通知装置126aとバーコードリーダ128bは、1つのプロジェクトの第1のタスクを遂行する側の装置(例えば図9の鉄板切削加工タスクおよび銅板切削加工タスクの遂行に関連する装置)である。状態通知装置126bとバーコードリーダ128bは、上記1つのプロジェクトの第2のタスクを遂行する側の装置(例えば図9のプレスタスクの遂行に関連する装置)である。状態通知装置126c、バーコードリーダ128cは、上記1つのプロジェクトの第3のタスクを遂行する側の装置(例えば図9の塗装タスクの遂行に関連する装置)である。なお、タスク・ロット・工作機械のIDをバーコードから読み取ることは一例であり、公知の方法により、タスク・ロット・工作機械のIDが状態通知装置126から管理装置122へ通知されてよい。   The status notification device 126a and the barcode reader 128b are devices that perform the first task of one project (for example, devices related to the performance of the iron plate cutting task and the copper plate cutting task in FIG. 9). The status notification device 126b and the barcode reader 128b are devices on the side that performs the second task of the one project (for example, a device related to the performance of the press task in FIG. 9). The status notification device 126c and the barcode reader 128c are devices on the side that performs the third task of the one project (for example, a device related to the performance of the painting task in FIG. 9). Note that the task / lot / machine tool ID is read from the bar code as an example, and the task / lot / machine tool ID may be notified from the status notification device 126 to the management device 122 by a known method.

図14は、図13の管理装置122の機能構成を示すブロック図である。管理装置122は、制御部130、記憶部132、通信部134を備える。制御部130、記憶部132、通信部134は、前提技術におけるワークフロー管理装置12の制御部70、データ記憶部80、通信部60に対応する。図14には不図示だが、制御部130は、図6に記載した制御部70内の機能を含んでよく、記憶部132は、図6に記載したデータ記憶部80内の機能を含んでよい。すなわち、第1実施例の管理装置122は、前提技術のワークフロー管理装置12の機能を含んでもよい。   FIG. 14 is a block diagram illustrating a functional configuration of the management apparatus 122 of FIG. The management device 122 includes a control unit 130, a storage unit 132, and a communication unit 134. The control unit 130, the storage unit 132, and the communication unit 134 correspond to the control unit 70, the data storage unit 80, and the communication unit 60 of the workflow management apparatus 12 in the base technology. Although not shown in FIG. 14, the control unit 130 may include the functions in the control unit 70 described in FIG. 6, and the storage unit 132 may include the functions in the data storage unit 80 described in FIG. 6. . That is, the management device 122 of the first embodiment may include the function of the workflow management device 12 of the prerequisite technology.

記憶部132は、タスク順序記憶部136とタスクデータ記憶部138を含む。タスク順序記憶部136は、前提技術のワークフロー情報保持部82に対応し、プロジェクトタイプを構成する複数のタスクの遂行順序を保持する。図15は、複数のタスクの遂行順序を定めたデータの例を示す。同図は、図9のプロジェクト事例におけるタスクの実行順序を示しており、言わばワークフローを示している。タスク順序記憶部136は、プロジェクトを構成する複数のタスク間の順序関係(全順序関係または半順序関係)を定めたデータを保持してもよい。なお、タスク順序記憶部136は、複数種類のプロジェクトタイプ(言い換えればワークフロー)を保持してもよい。例えば、製品Aの製造工程を定めた第1のプロジェクトタイプ(すなわち複数のタスクの遂行順序)と、製品Bの製造工程を定めた第2のプロジェクトタイプを保持してもよい。   The storage unit 132 includes a task order storage unit 136 and a task data storage unit 138. The task order storage unit 136 corresponds to the workflow information holding unit 82 of the prerequisite technology, and holds the execution order of a plurality of tasks constituting the project type. FIG. 15 shows an example of data defining the execution order of a plurality of tasks. This figure shows the task execution order in the project example of FIG. 9, ie, a workflow. The task order storage unit 136 may hold data defining an order relation (a full order relation or a partial order relation) between a plurality of tasks constituting a project. The task order storage unit 136 may hold a plurality of types of projects (in other words, workflows). For example, a first project type that defines the manufacturing process of the product A (that is, an execution order of a plurality of tasks) and a second project type that defines the manufacturing process of the product B may be held.

図14に戻り、タスクデータ記憶部138は、既述した梱包枠組が適用されるデータであり、プロジェクトインスタンスが遂行される中で、そのプロジェクトインスタンスを構成する複数のタスクそれぞれの遂行に際して得られたデータをタスク単位にまとめたタスクデータを保持する。図16はタスクデータの例を示す。タスクデータは、タスクIDとプロジェクトインスタンスIDの組をキーとし、タスクの開始日時および終了日時、投入資源のデータ、工作機械の状態を示すデータ、センサ等による計測値や環境の状態を示すデータを含む。詳細は後述するが、1つのタスクデータの複数の情報項目は、1つのタスクの遂行中の異なる時点で生成され、1つのタスクデータに順次記録される。   Returning to FIG. 14, the task data storage unit 138 is data to which the above-described packaging framework is applied, and is obtained when each of a plurality of tasks constituting the project instance is executed while the project instance is executed. Holds task data that summarizes data in task units. FIG. 16 shows an example of task data. Task data consists of a task ID and project instance ID as a key, task start date / time and end date / time, input resource data, machine tool status data, sensor measurement values and environment status data. Including. Although details will be described later, a plurality of information items of one task data are generated at different points in time during the execution of one task and are sequentially recorded in one task data.

図14に戻り、制御部130は、タスク遂行状況取得部140、タスクデータ更新部142、タスクデータ出力部144を含む。タスク遂行状況取得部140は、プロジェクトを構成する複数のタスクのうち1つのタスクの遂行に関連する外部機器から送信された、1つのタスクの開始を示すデータを取得するとともに、1つのタスクの終了を示すデータを取得する。   Returning to FIG. 14, the control unit 130 includes a task execution status acquisition unit 140, a task data update unit 142, and a task data output unit 144. The task execution status acquisition unit 140 acquires data indicating the start of one task transmitted from an external device related to the execution of one task among a plurality of tasks constituting the project, and ends one task Get the data indicating.

例えば、図9の鉄板切削加工タスクに関連する状態通知装置126(ここでは開始・終了通知装置とする)において開始ボタンが押された場合、状態通知装置126aは、鉄板切削加工タスクの開始日時を示すメッセージをメッセージブローカ123へパブリッシュする。タスク遂行状況取得部140は、上記開始日時を示すメッセージのトピック名を指定した購読要求を予めメッセージブローカ123に登録しておき、上記開始日時を示すメッセージをメッセージブローカ123からサブスクライブする。   For example, when the start button is pressed in the state notification device 126 (here, the start / end notification device) related to the iron plate cutting task in FIG. 9, the state notification device 126a displays the start date and time of the iron plate cutting task. The message shown is published to the message broker 123. The task execution status acquisition unit 140 registers in advance in the message broker 123 a subscription request specifying the topic name of the message indicating the start date and time, and subscribes the message indicating the start date and time from the message broker 123.

また、タスク遂行状況取得部140は、プロジェクトを構成する複数のタスクのうち1つのタスクの遂行に関連する外部機器から送信された、1つのタスク遂行における状態や状況に関するタスク状態データを取得する。例えば、図9の鉄板切削加工タスクに関連する状態通知装置126(ここではセンサとする)は、自機で検出した周囲の温度を示すメッセージをタスク状態データとしてメッセージブローカ123へパブリッシュする。タスク遂行状況取得部140は、上記温度を示すメッセージのトピック名を指定した購読要求を予めメッセージブローカ123に登録しておき、タスク状態データをメッセージブローカ123からサブスクライブする。   Further, the task execution status acquisition unit 140 acquires task status data related to the status and status of one task execution transmitted from an external device related to the execution of one task among a plurality of tasks constituting the project. For example, the state notification device 126 (referred to as a sensor here) related to the iron plate cutting task in FIG. 9 publishes a message indicating the ambient temperature detected by the own device to the message broker 123 as task state data. The task execution status acquisition unit 140 registers a subscription request specifying the topic name of the message indicating the temperature in advance in the message broker 123 and subscribes the task status data from the message broker 123.

タスクデータ更新部142は、1つのタスクの開始を示すデータが取得された場合、当該タスクに関するタスクデータに開始時刻を記録し、1つのタスクの終了を示すデータが取得された場合、当該タスクに関するタスクデータに終了時刻を記録する。また、タスクデータ更新部142は、1つのタスクの開始を示すデータが取得された後、当該タスクの終了を示すデータが取得される前に、当該タスクの遂行に関するタスク状態データが取得された場合、当該タスクに関するタスクデータにタスク状態データを記録する。   When the data indicating the start of one task is acquired, the task data update unit 142 records the start time in the task data regarding the task, and when the data indicating the end of one task is acquired, Record the end time in the task data. In addition, the task data update unit 142 acquires task state data related to the execution of the task after acquiring data indicating the start of one task and before acquiring data indicating the end of the task. The task state data is recorded in the task data related to the task.

実施例では、タスクの開始を示すデータ、タスクの終了を示すデータ、タスク状態データ(以下、これらを総称して「通知データ」とも呼ぶ。)のいずれにも、プロジェクトインスタンスIDとタスクIDの組が設定される。既述したように、プロジェクトインスタンスIDは、タスクの対象を示す識別子である。例えばタスクの成果物の識別子であってもよく、製造番号であってもよく、ロット番号(ロットID)であってもよい。タスクデータ更新部142は、タスク単位(言い換えればタスクID単位)かつタスクの対象単位(言い換えればプロジェクトインスタンスID単位)にタスクデータを設定し、タスク単位かつタスクの対象単位のタスクデータに、開始時刻、終了時刻、タスク状態データを順次記録する。   In the embodiment, a combination of a project instance ID and a task ID is included in any of data indicating task start, data indicating task end, and task status data (hereinafter collectively referred to as “notification data”). Is set. As described above, the project instance ID is an identifier indicating the target of the task. For example, it may be an identifier of a task product, a production number, or a lot number (lot ID). The task data update unit 142 sets task data in a task unit (in other words, in a task ID unit) and a task target unit (in other words, in a project instance ID unit), and the task data in the task unit in the task target unit The end time and task status data are recorded sequentially.

具体的には、タスクデータ更新部142は、通知データがサブスクライブされた場合に、その通知データに設定されたプロジェクトインスタンスIDとタスクIDの組に基づいて、タスクデータ記憶部138に保持された複数のタスクデータの中から更新対象のタスクデータを識別する。通知データに設定されたプロジェクトインスタンスIDとタスクIDの組を有するタスクデータが存在しない場合、タスクデータ更新部142は、通知データに設定されたプロジェクトインスタンスIDとタスクIDの組をキーとする新たなタスクデータをタスクデータ記憶部138に格納する。   Specifically, when the notification data is subscribed, the task data update unit 142 is held in the task data storage unit 138 based on the combination of the project instance ID and task ID set in the notification data. The update target task data is identified from a plurality of task data. When there is no task data having a combination of the project instance ID and task ID set in the notification data, the task data update unit 142 creates a new key using the combination of the project instance ID and task ID set in the notification data as a key. The task data is stored in the task data storage unit 138.

タスクデータ更新部142は、1つのタスクのIDが登録後(すなわちタスクデータの生成後)、当該タスクの開始を示すデータが取得される前に、プロジェクトインスタンスIDおよびタスクIDが一致する当該タスクのタスク状態データが取得された場合、当該タスクのタスクデータにタスク状態データを追加することを抑制してもよい。また、タスクデータ更新部142は、1つのタスクの終了を示すデータが取得された後、言い換えれば、1つのタスクの終了時刻を記録後に、プロジェクトインスタンスIDおよびタスクIDが一致する当該タスクのタスク状態データが取得された場合、当該タスクのタスクデータに、タスク状態データを追加することを抑制してもよい。これにより、タスク遂行に直接関係がないタスク状態データをタスクデータから除外し、後の分析の正確度を高めることができる。   After the ID of one task is registered (that is, after the task data is generated), the task data update unit 142 before the data indicating the start of the task is acquired, When task state data is acquired, adding task state data to the task data of the task may be suppressed. Further, the task data update unit 142 obtains the task status of the task whose project instance ID and task ID match after data indicating the end of one task is acquired, in other words, after the end time of one task is recorded. When data is acquired, adding task state data to the task data of the task may be suppressed. As a result, task state data not directly related to task execution can be excluded from the task data, and the accuracy of subsequent analysis can be improved.

タスクデータ出力部144は、タスクデータの閲覧要求を受け付けた場合に、タスクデータ記憶部138に格納された複数のタスクデータのうち閲覧要求で指定された条件に合致するタスクデータを抽出し、閲覧要求元の装置(不図示のPC等)へ送信する。タスクデータの閲覧要求では、タスクデータの抽出条件として、1つ以上のタスクID、1つ以上のプロジェクトインスタンスID(ロットID等)、工作機械のID(言い換えれば投入資源の識別子)のうち少なくとも1つが指定されてもよい。例えば、タスクデータの抽出条件として1つのタスクIDが指定された場合、タスクデータ出力部144は、指定されたタスクIDを含むタスクデータであり、プロジェクトインスタンスIDが異なる複数のタスクデータを抽出してもよい。   When the task data output unit 144 accepts a task data browsing request, the task data output unit 144 extracts task data that matches the conditions specified by the browsing request from the plurality of task data stored in the task data storage unit 138, and browses the task data. It is transmitted to the requesting device (such as a PC (not shown)). In the task data browsing request, at least one of one or more task IDs, one or more project instance IDs (such as a lot ID), and a machine tool ID (in other words, an input resource identifier) is used as a task data extraction condition. One may be specified. For example, when one task ID is specified as the task data extraction condition, the task data output unit 144 extracts task data that includes the specified task ID and has different project instance IDs. Also good.

また、タスクデータ出力部144は、タスクデータの閲覧要求に応じて特定のタスクデータ(ここでは「第1タスクデータ」と呼ぶ。)を抽出した場合に、タスク順序記憶部136に保持されたプロジェクトタイプにおける複数のタスクの実行順序を参照して、第1タスクデータの前のタスクデータ(ここでは「第2タスクデータ」と呼ぶ。)、および/または、後のタスク(ここでは「第3タスクデータ」と呼ぶ。)をさらに抽出してもよい。タスクデータ出力部144は、第1タスクデータに加えて、第2タスクデータおよび/または第3タスクデータを閲覧要求元の装置へ送信してもよい。さらにタスクデータ出力部144は、第1タスクデータ、第2タスクデータ、第3タスクデータの順序関係(言い換えれば前後関係)を示す態様で、これらのタスクデータを並べた画面データを閲覧要求元の装置へ送信して表示させてもよい。   In addition, the task data output unit 144 extracts a specific task data (referred to as “first task data” here) in response to a task data browsing request, and the project stored in the task order storage unit 136. With reference to the execution order of a plurality of tasks in the type, the task data before the first task data (referred to herein as “second task data”) and / or the subsequent task (here, “third task data”) May be further extracted. The task data output unit 144 may transmit the second task data and / or the third task data to the browsing request source device in addition to the first task data. Further, the task data output unit 144 shows an order relationship (in other words, a front-rear relationship) between the first task data, the second task data, and the third task data. It may be transmitted to the apparatus and displayed.

さらにまた、タスクデータ出力部144は、プロジェクトインスタンスの進捗状況を示すプロジェクトインスタンスリストの閲覧要求を外部装置から受け付けてもよい。タスクデータ出力部144は、タスクデータ記憶部138に記憶された複数のタスクデータを、プロジェクトインスタンスID単位に集計してもよい。そして、複数のプロジェクトインスタンスそれぞれの進捗状況をプロジェクトインスタンスリストの各レコードに設定して、プロジェクトインスタンスリストのデータを閲覧要求元の装置へ送信してもよい。ここで、プロジェクトインスタンスの進捗状況は、例えば、未開始のタスク(開始時刻が未記録のタスク)、遂行中のタスク(開始時刻が記録済、終了時刻が未記録のタスク)、終了済のタスク(終了時刻が記録済のタスク)を区別可能に示すものであってもよい。これにより、各プロジェクトインスタンスの進捗状況の見える化を実現できる。   Furthermore, the task data output unit 144 may accept a request for browsing a project instance list indicating the progress of the project instance from an external device. The task data output unit 144 may aggregate a plurality of task data stored in the task data storage unit 138 for each project instance ID. Then, the progress status of each of the plurality of project instances may be set in each record of the project instance list, and the data of the project instance list may be transmitted to the browsing request source apparatus. Here, the progress status of the project instance includes, for example, an unstarted task (task whose start time is not recorded), an ongoing task (task whose start time is recorded and end time is not recorded), and completed task (Tasks whose end times are already recorded) may be shown to be distinguishable. This makes it possible to visualize the progress of each project instance.

この場合、管理装置122は、プロジェクトインスタンスIDの発行主体である生産計画システム等から通知されたプロジェクトインスタンスIDと、プロジェクトタイプとの対応関係を予め保持してもよい。また、プロジェクトインスタンスIDをキーとして生産計画システム等から対応するプロジェクトタイプの情報を取得してもよい。タスクデータ出力部144は、プロジェクトインスタンスIDに対応するプロジェクトタイプが定める複数のタスクの順序情報をタスク順序記憶部136から取得してもよい。そして、プロジェクトインスタンスを構成する複数のタスクをプロジェクトタイプが定める順序に整列させたデータであり、未開始のタスク、遂行中のタスク、終了済のタスクを異なる態様に設定したデータ(例えば図15のワークフローを示すGUIデータ)をプロジェクトインスタンスリストに設定してもよい。   In this case, the management apparatus 122 may hold in advance a correspondence relationship between the project instance ID notified from the production planning system or the like that is the project instance ID issuer and the project type. Further, the corresponding project type information may be acquired from the production planning system or the like using the project instance ID as a key. The task data output unit 144 may acquire order information of a plurality of tasks determined by the project type corresponding to the project instance ID from the task order storage unit 136. This is data in which a plurality of tasks constituting a project instance are arranged in the order determined by the project type, and data in which unstarted tasks, tasks in progress, and completed tasks are set in different modes (for example, FIG. 15). (GUI data indicating a workflow) may be set in the project instance list.

以上の構成によるプロジェクト管理システム120の動作を説明する。ここでは、図9で示した事例に基づいて、物作りの工程を構成する複数のタスクの開始と終了を正しく識別し、各タスクに対して、各タスクで加工される生産ロットと、加工機械の稼働状況を紐付ける例を示す。   The operation of the project management system 120 configured as above will be described. Here, based on the example shown in FIG. 9, the start and end of a plurality of tasks constituting the manufacturing process are correctly identified, and for each task, the production lot processed by each task and the processing machine An example of associating the operating status of.

図17は、プロジェクトの遂行過程を模式的に示す。ここでは、鉄板切削加工タスクと銅板切削加工タスクを同一の切削加工装置(Cutting M1)が遂行し、鉄板切削加工タスク、銅板切削加工タスク、プレスタスク、塗装タスクの順にプロジェクトが進行する。本事例では、4つのタスクに亘る共通のプロジェクトインスタンスIDとしてロットID(lot P1)が使用される。なお、プロジェクトインスタンスIDは、実際のプロジェクト(工場や生産現場等)におけるIDの体系に応じて定められてよく、例えば、各タスクの成果物が異なるロット番号で管理される場合、ロット番号とは異なるプロジェクトインスタンスIDが使用されてもよい。   FIG. 17 schematically shows the execution process of the project. Here, an iron plate cutting task and a copper plate cutting task are performed by the same cutting device (Cutting M1), and the project proceeds in the order of an iron plate cutting task, a copper plate cutting task, a press task, and a painting task. In this example, a lot ID (lot P1) is used as a common project instance ID across four tasks. The project instance ID may be determined according to the ID system in an actual project (factory, production site, etc.). For example, when the deliverables of each task are managed with different lot numbers, Different project instance IDs may be used.

まず、鉄板切削加工タスクの作業者は、工作機械バーコード(Cutting M1)、ロットバーコード(lot P1)、タスクバーコード(Steel Cutting)をバーコードリーダ128aに読み取らせる。バーコードリーダ128aと接続された状態通知装置126aは、バーコードリーダ128aで読み取られた工作機械・ロット・タスクのIDを示すタスク識別メッセージをメッセージブローカ123へパブリッシュする。管理装置122は、メッセージブローカ123からタスク識別メッセージをサブスクライブし、工作機械・ロット・タスクのIDを含むタスクデータ150をタスクデータ記憶部138に新たに格納する。   First, the operator of the iron plate cutting task causes the barcode reader 128a to read the machine tool barcode (Cutting M1), the lot barcode (lot P1), and the task barcode (Steel Cutting). The state notification device 126a connected to the barcode reader 128a publishes a task identification message indicating the ID of the machine tool / lot / task read by the barcode reader 128a to the message broker 123. The management device 122 subscribes a task identification message from the message broker 123 and newly stores task data 150 including machine tool / lot / task IDs in the task data storage unit 138.

鉄板切削加工タスクの作業者は、工作機械(Cutting M1)による鉄板切削加工を始める際に、状態通知装置126aの開始ボタン(S)を押下する。状態通知装置126aは、ロット・タスクのIDに加えて、鉄板切削加工タスクの開始時刻(典型的には現在時刻)を示すタスク開始メッセージをメッセージブローカ123へパブリッシュする。管理装置122は、メッセージブローカ123からタスク開始メッセージをサブスクライブし、ロット・タスクのIDにより識別されるタスクデータ150に鉄板切削加工タスクの開始時刻を記録する。   The worker of the iron plate cutting task presses the start button (S) of the state notification device 126a when starting the iron plate cutting by the machine tool (Cutting M1). The status notification device 126a publishes to the message broker 123 a task start message indicating the start time (typically current time) of the steel sheet cutting task in addition to the lot task ID. The management device 122 subscribes the task start message from the message broker 123 and records the start time of the iron plate cutting task in the task data 150 identified by the lot / task ID.

本事例の状態通知装置126aには、工作機械の状態や環境の状態を検知する1つ以上の計測機器(センサ等)が含まれる。状態通知装置126aとしての各計測機器は、工作機械(Cutting M1)の動作状態、切削むらの状態、温度・湿度等をタスク状態データとして検出する。状態通知装置126aとしての各計測機器は、ロット・タスクのIDに加えて、タスク状態データを含むタスク状態メッセージをメッセージブローカ123へ自律的にパブリッシュする。管理装置122は、メッセージブローカ123からタスク状態メッセージをサブスクライブし、ロット・タスクのIDにより識別されるタスクデータ150にタスク状態データ(タスクデータ150のM1稼働データ、切削むら計測データ、温度・湿度・環境情報)を記録する。   The state notification device 126a of this example includes one or more measuring devices (sensors or the like) that detect the state of the machine tool or the state of the environment. Each measuring device as the state notification device 126a detects the operation state of the machine tool (Cutting M1), the state of uneven cutting, temperature, humidity, and the like as task state data. Each measuring device as the status notification device 126a autonomously publishes a task status message including task status data to the message broker 123 in addition to the lot / task ID. The management device 122 subscribes to the task status message from the message broker 123, and the task status data (M1 operation data of the task data 150, cutting unevenness measurement data, temperature / humidity) is added to the task data 150 identified by the lot / task ID.・ Environment information is recorded.

鉄板切削加工タスクの作業者は、工作機械(Cutting M1)による鉄板切削加工が終了すると、状態通知装置126aの終了ボタン(E)を押下する。状態通知装置126aは、ロット・タスクのIDに加えて、鉄板切削加工タスクの終了時刻(典型的には現在時刻)を示すタスク終了メッセージをメッセージブローカ123へパブリッシュする。管理装置122は、メッセージブローカ123からタスク終了メッセージをサブスクライブし、ロット・タスクのIDにより識別されるタスクデータ150に鉄板切削加工タスクの終了時刻を記録する。   When the worker of the iron plate cutting task finishes the iron plate cutting by the machine tool (Cutting M1), the operator presses the end button (E) of the state notification device 126a. The status notification device 126a publishes to the message broker 123 a task end message indicating the end time (typically current time) of the iron plate cutting task in addition to the lot task ID. The management device 122 subscribes the task end message from the message broker 123 and records the end time of the iron plate cutting task in the task data 150 identified by the lot / task ID.

続いて、銅板切削加工タスクの作業者は、工作機械バーコード(Cutting M1)、ロットバーコード(lot P1)、タスクバーコード(Copper Cutting)をバーコードリーダ128aに読み取らせる。バーコードリーダ128aと接続された状態通知装置126aは、バーコードリーダ128aで読み取られた工作機械・ロット・タスクのIDを示すタスク識別メッセージをメッセージブローカ123へパブリッシュする。管理装置122は、メッセージブローカ123からタスク識別メッセージをサブスクライブし、工作機械・ロット・タスクのIDを含むタスクデータ152をタスクデータ記憶部138に新たに格納する。   Subsequently, the worker of the copper plate cutting task causes the barcode reader 128a to read the machine tool barcode (Cutting M1), the lot barcode (lot P1), and the task barcode (Copper Cutting). The state notification device 126a connected to the barcode reader 128a publishes a task identification message indicating the ID of the machine tool / lot / task read by the barcode reader 128a to the message broker 123. The management device 122 subscribes a task identification message from the message broker 123 and newly stores task data 152 including machine tool / lot / task IDs in the task data storage unit 138.

銅板切削加工タスクの作業者は、工作機械(Cutting M1)による銅板切削加工を始める際に、状態通知装置126aの開始ボタン(S)を押下する。状態通知装置126aは、ロット・タスクのIDに加えて、銅板切削加工タスクの開始時刻を示すタスク開始メッセージをメッセージブローカ123へパブリッシュする。管理装置122は、メッセージブローカ123からタスク開始メッセージをサブスクライブし、ロット・タスクのIDにより識別されるタスクデータ152に銅板切削加工タスクの開始時刻を記録する。   The operator of the copper plate cutting task presses the start button (S) of the state notification device 126a when starting the copper plate cutting by the machine tool (Cutting M1). The status notification device 126a publishes a task start message indicating the start time of the copper plate cutting task to the message broker 123 in addition to the lot / task ID. The management device 122 subscribes the task start message from the message broker 123 and records the start time of the copper plate cutting task in the task data 152 identified by the lot / task ID.

鉄板切削加工タスクの遂行時と同様に、状態通知装置126aとしての1つ以上の計測機器は、工作機械(Cutting M1)の動作状態、切削むらの状態、温度・湿度等をタスク状態データとして検出する。状態通知装置126aとしての各計測機器は、ロット・タスクのIDに加えて、タスク状態データを含むタスク状態メッセージをメッセージブローカ123へ自律的にパブリッシュする。管理装置122は、メッセージブローカ123からタスク状態メッセージをサブスクライブし、ロット・タスクのIDにより識別されるタスクデータ152にタスク状態データ(タスクデータ152のM1稼働データ、切削むら計測データ、温度・湿度・環境情報)を記録する。   As in the case of performing the iron plate cutting task, one or more measuring devices as the state notification device 126a detect the operation state of the machine tool (Cutting M1), the state of cutting unevenness, temperature / humidity, etc. as task state data. To do. Each measuring device as the status notification device 126a autonomously publishes a task status message including task status data to the message broker 123 in addition to the lot / task ID. The management device 122 subscribes the task status message from the message broker 123, and the task status data (M1 operation data, cutting unevenness measurement data, temperature / humidity of the task data 152) is added to the task data 152 identified by the lot / task ID.・ Environment information is recorded.

銅板切削加工タスクの作業者は、工作機械(Cutting M1)による銅板切削加工が終了すると、状態通知装置126aの終了ボタン(E)を押下する。状態通知装置126aは、ロット・タスクのIDに加えて、銅板切削加工タスクの終了時刻を示すタスク終了メッセージをメッセージブローカ123へパブリッシュする。管理装置122は、メッセージブローカ123からタスク終了メッセージをサブスクライブし、ロット・タスクのIDにより識別されるタスクデータ152に銅板切削加工タスクの終了時刻を記録する。   The operator of the copper plate cutting task presses the end button (E) of the state notifying device 126a when the copper plate cutting by the machine tool (Cutting M1) is completed. The status notification device 126a publishes to the message broker 123 a task end message indicating the end time of the copper plate cutting task in addition to the lot / task ID. The management device 122 subscribes the task end message from the message broker 123 and records the end time of the copper plate cutting task in the task data 152 identified by the lot / task ID.

続いて、プレスタスクの作業者は、工作機械バーコード(Press M)、ロットバーコード(lot P1)、タスクバーコード(Pressing)をバーコードリーダ128bに読み取らせる。バーコードリーダ128bと接続された状態通知装置126bは、バーコードリーダ128bで読み取られた工作機械・ロット・タスクのIDを示すタスク識別メッセージをメッセージブローカ123へパブリッシュする。管理装置122は、メッセージブローカ123からタスク識別メッセージをサブスクライブし、工作機械・ロット・タスクのIDを含むタスクデータ154をタスクデータ記憶部138に新たに格納する。   Subsequently, the operator of the press task causes the barcode reader 128b to read the machine tool barcode (Press M), the lot barcode (lot P1), and the task barcode (Pressing). The state notification device 126b connected to the barcode reader 128b publishes to the message broker 123 a task identification message indicating the ID of the machine tool / lot / task read by the barcode reader 128b. The management device 122 subscribes a task identification message from the message broker 123 and newly stores task data 154 including machine tool / lot / task IDs in the task data storage unit 138.

プレスタスクの作業者は、工作機械(Press M)によるプレス加工を始める際に、状態通知装置126bの開始ボタン(S)を押下する。状態通知装置126bは、ロット・タスクのIDに加えて、プレスタスクの開始時刻を示すタスク開始メッセージをメッセージブローカ123へパブリッシュする。管理装置122は、メッセージブローカ123からタスク開始メッセージをサブスクライブし、ロット・タスクのIDにより識別されるタスクデータ154にプレスタスクの開始時刻を記録する。   The worker of the press task presses the start button (S) of the state notification device 126b when starting press processing by the machine tool (Press M). The status notification device 126b publishes a task start message indicating the start time of the press task to the message broker 123 in addition to the lot task ID. The management device 122 subscribes the task start message from the message broker 123 and records the start time of the press task in the task data 154 identified by the lot / task ID.

本事例の状態通知装置126bには、工作機械の状態や環境の状態を検知する1つ以上の計測機器(センサ等)が含まれる。状態通知装置126bとしての各計測機器は、工作機械(Press M)の動作状態、プレスむらの状態、温度・湿度等をタスク状態データとして検出する。状態通知装置126bとしての各計測機器は、ロット・タスクのIDに加えて、タスク状態データを含むタスク状態メッセージをメッセージブローカ123へ自律的にパブリッシュする。管理装置122は、メッセージブローカ123からタスク状態メッセージをサブスクライブし、ロット・タスクのIDにより識別されるタスクデータ154にタスク状態データ(タスクデータ154のプレス機械稼働データ、プレスむら計測データ、温度・湿度・環境情報)を記録する。   The state notification device 126b of the present example includes one or more measuring devices (sensors or the like) that detect the state of the machine tool or the state of the environment. Each measuring device as the state notification device 126b detects the operation state of the machine tool (Press M), the state of press unevenness, temperature, humidity, and the like as task state data. Each measuring device as the state notification device 126b autonomously publishes a task state message including task state data to the message broker 123 in addition to the lot / task ID. The management device 122 subscribes to the task status message from the message broker 123, and adds task status data (press machine operation data, press unevenness measurement data, temperature unevenness data of the task data 154) to the task data 154 identified by the lot / task ID. Record humidity and environmental information.

プレスタスクの作業者は、工作機械(Press M)によるプレス加工が終了すると、状態通知装置126bの終了ボタン(E)を押下する。状態通知装置126bは、ロット・タスクのIDに加えて、プレスタスクの終了時刻を示すタスク終了メッセージをメッセージブローカ123へパブリッシュする。管理装置122は、メッセージブローカ123からタスク終了メッセージをサブスクライブし、ロット・タスクのIDにより識別されるタスクデータ154にプレスタスクの終了時刻を記録する。   When the press task is completed by the machine tool (Press M), the press task operator presses the end button (E) of the state notification device 126b. The status notification device 126b publishes a task end message indicating the end time of the press task to the message broker 123 in addition to the lot / task ID. The management device 122 subscribes a task end message from the message broker 123 and records the press task end time in the task data 154 identified by the lot / task ID.

続いて、塗装タスクの作業者は、工作機械バーコード(Painter A)、ロットバーコード(lot P1)、タスクバーコード(Painting)をバーコードリーダ128cに読み取らせる。バーコードリーダ128cと接続された状態通知装置126cは、バーコードリーダ128cで読み取られた工作機械・ロット・タスクのIDを示すタスク識別メッセージをメッセージブローカ123へパブリッシュする。管理装置122は、メッセージブローカ123からタスク識別メッセージをサブスクライブし、工作機械・ロット・タスクのIDを含むタスクデータ156をタスクデータ記憶部138に新たに格納する。   Subsequently, the worker of the painting task causes the barcode reader 128c to read the machine tool barcode (Painter A), the lot barcode (lot P1), and the task barcode (Painting). The state notification device 126c connected to the barcode reader 128c publishes a task identification message indicating the ID of the machine tool / lot / task read by the barcode reader 128c to the message broker 123. The management device 122 subscribes a task identification message from the message broker 123 and newly stores task data 156 including machine tool / lot / task IDs in the task data storage unit 138.

塗装タスクの作業者は、工作機械(Painter A)による塗装処理を始める際に、状態通知装置126cの開始ボタン(S)を押下する。状態通知装置126cは、ロット・タスクのIDに加えて、塗装タスクの開始時刻を示すタスク開始メッセージをメッセージブローカ123へパブリッシュする。管理装置122は、メッセージブローカ123からタスク開始メッセージをサブスクライブし、ロット・タスクのIDにより識別されるタスクデータ156に塗装タスクの開始時刻を記録する。   The worker of the painting task presses the start button (S) of the state notification device 126c when starting the painting process by the machine tool (Painter A). The state notification device 126c publishes a task start message indicating the start time of the painting task to the message broker 123 in addition to the lot task ID. The management device 122 subscribes the task start message from the message broker 123 and records the start time of the painting task in the task data 156 identified by the lot / task ID.

本事例の状態通知装置126cには、工作機械の状態や環境の状態を検知する1つ以上の計測機器(センサ等)が含まれる。状態通知装置126cとしての各計測機器は、工作機械(Painter A)の動作状態、ペイントむらの状態、温度・湿度等をタスク状態データとして検出する。状態通知装置126cとしての各計測機器は、ロット・タスクのIDに加えて、タスク状態データを含むタスク状態メッセージをメッセージブローカ123へ自律的にパブリッシュする。管理装置122は、メッセージブローカ123からタスク状態メッセージをサブスクライブし、ロット・タスクのIDにより識別されるタスクデータ156にタスク状態データ(タスクデータ156の塗装むら計測データ、温度・湿度・環境情報)を記録する。   The state notification device 126c of the present example includes one or more measuring devices (sensors or the like) that detect the state of the machine tool or the state of the environment. Each measuring device as the state notification device 126c detects the operation state of the machine tool (Painter A), the state of paint unevenness, temperature / humidity, and the like as task state data. Each measuring device as the status notification device 126c autonomously publishes a task status message including task status data to the message broker 123 in addition to the lot / task ID. The management device 122 subscribes the task status message from the message broker 123, and the task status data (painting unevenness measurement data of the task data 156, temperature / humidity / environment information) is added to the task data 156 identified by the lot / task ID. Record.

塗装タスクの作業者は、工作機械(Painter A)による塗装処理が終了すると、状態通知装置126cの終了ボタン(E)を押下する。状態通知装置126cは、ロット・タスクのIDに加えて、塗装タスクの終了時刻を示すタスク終了メッセージをメッセージブローカ123へパブリッシュする。管理装置122は、メッセージブローカ123からタスク終了メッセージをサブスクライブし、ロット・タスクのIDにより識別されるタスクデータ156に塗装タスクの終了時刻を記録する。   The worker of the painting task presses the end button (E) of the state notification device 126c when the painting process by the machine tool (Painter A) is finished. The status notification device 126c publishes to the message broker 123 a task end message indicating the finish time of the painting task in addition to the lot task ID. The management device 122 subscribes the task end message from the message broker 123 and records the finish time of the painting task in the task data 156 identified by the lot / task ID.

図17の事例では、タスクの開始と終了を人が状態通知装置126aへ入力したが、タスクの開始と終了が自動で検出されてもよい。具体的には、工作機械がタスクの処理を開始する際に(例えばCutting M1が切削加工処理の開始指示を受け付けた際に)、当該工作機械もしくは工作機械に接続された状態通知装置126aが、タスク開始メッセージを自律的にメッセージブローカ123へパブリッシュしてもよい。同様に、工作機械がタスクの処理を完了した際に、当該工作機械もしくは工作機械に接続された状態通知装置126が、タスク終了メッセージを自律的にメッセージブローカ123へパブリッシュしてもよい。   In the case of FIG. 17, the person inputs the start and end of the task to the state notification device 126a. However, the start and end of the task may be automatically detected. Specifically, when the machine tool starts processing a task (for example, when Cutting M1 receives a cutting processing start instruction), the state notification device 126a connected to the machine tool or the machine tool includes: The task start message may be published to the message broker 123 autonomously. Similarly, when the machine tool completes the processing of the task, the state notification device 126 connected to the machine tool or the machine tool may autonomously publish the task end message to the message broker 123.

タスクデータ150、タスクデータ152、タスクデータ154、タスクデータ156に示すように、図17の事例では、P1というプロジェクトインスタンスID(例えばロットID)と、「Steel Cutting」等のタスクIDの組がタスクデータの梱包枠組となり、この梱包枠組に対して、生産機械や職工等の物的・人的資源の情報、タスクの作業開始時刻、作業終了時刻等、様々なデータが紐付けて記録される。   As shown in the task data 150, task data 152, task data 154, and task data 156, in the example of FIG. 17, a set of a project instance ID (eg, lot ID) P1 and a task ID such as “Steel Cutting” is a task. A data packing framework is formed, and various data such as information on physical and human resources such as production machines and craftsmanship, task work start time, work end time, and the like are linked to the packing framework and recorded.

各タスクデータにおいて必須かつ基本となる項目は、タスクの進行に必要な資源情報(例えば工作機械の識別子)と、タスクの開始日時と終了日時の情報である。これらの情報は、計画時点で想定されているとしても、実際には様々な要因でずれが生じる。これらの情報を記録することで、ロット毎(もしくはプロジェクトインスタンス毎)のタスクの進行状況や資源の割り当て情報を正確に把握することができる。   The essential and basic items in each task data are resource information (for example, an identifier of a machine tool) necessary for the progress of the task, and information on the start date / time and end date / time of the task. Even if these pieces of information are assumed at the time of planning, there are actually differences due to various factors. By recording these pieces of information, it is possible to accurately grasp the task progress status and resource allocation information for each lot (or each project instance).

また、図10にも関連するが、図17の事例では、鉄板切削加工タスクが、2時間で完了予定のところ2時間30分かかっている。実施例の管理装置122では、ロット単位(プロジェクトインスタンス単位)かつタスク単位でタスク遂行情報をまとめて蓄積するため、例えば図17で示すように、計画装置(不図示)で作成された計画データとタスクデータとを比較することも容易になる。   Although related to FIG. 10, in the case of FIG. 17, the iron plate cutting task is scheduled to be completed in 2 hours and takes 2 hours and 30 minutes. In the management apparatus 122 of the embodiment, since task execution information is accumulated and stored in units of lots (project instance units) and tasks, for example, as shown in FIG. 17, plan data created by a planning apparatus (not shown) It becomes easy to compare with task data.

管理装置122においてタスク毎にパックしたタスクデータはさらに、(1)複数のプロジェクトインスタンスにおけるタスク単位のデータ解析、(2)複数のプロジェクトインスタンスにおける資源単位でのデータ解析、(3)プロジェクトインスタンス単位のサプライチェーンにおけるデータ利用、を支援することができる。以下具体的に説明する。   The task data packed for each task in the management device 122 further includes (1) task unit data analysis in a plurality of project instances, (2) resource unit data analysis in a plurality of project instances, and (3) project instance unit data. It can support the use of data in the supply chain. This will be specifically described below.

(1)複数のプロジェクトインスタンスにおけるタスク単位のデータ解析:
同じプロジェクトタイプに基づくプロジェクトインスタンスで記録されたタスクデータであり、例えば、同じモノまたはサービスの生産に関するタスクデータをプロジェクトインスタンスを横断して収集することで、モノやサービスの改善につながる知見を様々に収集できる。例えば図17の事例では、タスクID「Painting」をキーとしてタスクデータを抽出することにより、プロジェクトインスタンス横断的に塗装工程の色むらを解析できる。また例えば、100個のプロジェクトインスタンスの塗装タスクを比較し、色むらの大きなタスクを特定し、その原因が、温度であること或は特定の塗装工の仕事であること等の原因分析が可能になる。同様に切削工程のむらや、プレス工程のむら等についても、複数のプロジェクトインスタンスを横断して他の測定データとの比較を行うことで原因の解析が可能となる。
(1) Task unit data analysis in multiple project instances:
Task data recorded in project instances based on the same project type.For example, by collecting task data related to the production of the same goods or services across project instances, various knowledge that leads to improvements in goods and services Can be collected. For example, in the case of FIG. 17, by extracting the task data using the task ID “Painting” as a key, it is possible to analyze the color unevenness of the painting process across the project instances. In addition, for example, it is possible to compare the painting tasks of 100 project instances, identify the task with large color unevenness, and analyze the cause such as that the cause is temperature or the work of a specific painter Become. Similarly, it is possible to analyze the cause of unevenness in the cutting process, unevenness in the press process, and the like by comparing with other measurement data across a plurality of project instances.

(2)複数のプロジェクトインスタンスにおける資源単位でのデータ解析:
切削加工装置やプレス装置等の機械装置の資源や、塗装工等の人的資源に関して、それらに関連したデータを横断的に解析することもまた、プロセスイノベーションやタスクの改善の為に重要である。例えば、着目した切削加工装置、プレス装置、あるいは塗装工に関する諸データをプロジェクトインスタンス横断的またはタスク横断的に分析し、他の装置や他の塗装工の仕事(品質等)と比較することで、資源固有の問題や改善点を見いだすことが可能となる。
(2) Data analysis in resource units in multiple project instances:
It is also important for process innovation and task improvement to analyze data related to mechanical resources such as cutting and pressing equipment and human resources such as painters, etc. . For example, by analyzing various data related to the focused cutting device, press device, or painter across project instances or across tasks, and comparing it with the work (quality, etc.) of other devices and other painters, Resource specific problems and improvements can be found.

(3)プロジェクトインスタンス単位のサプライチェーンにおけるデータ利用:
製造工程やサービス工程に関する様々なデータはサプライチェーンの中で管理され、製品やサービスに問題が発見された際には、複数の組織に跨がるサプライチェーンのデータを遡って(トレースバックして)問題がどこで生じたかを見いだすこと、言い換えれば、トレーサビリティを確保することが今後ますます重要となる。
(3) Data usage in the supply chain for each project instance:
Various data related to manufacturing processes and service processes are managed in the supply chain. When a problem is discovered in a product or service, the data of the supply chain across multiple organizations can be traced back (trace back). ) Finding where the problem occurred, in other words, ensuring traceability will become increasingly important.

ところで、サプライチェーンは、あるプロジェクトで製造された半製品(部品)が、次のステップの製造過程において投入原料として用いられるという形で接続される。このサプライチェーンを、最終製品を起点としてトレースバックしていき、最終製品の部品や、部品の部品、さらには部品の原料、部品の製造工程のデータを知る事は、最終製品に異常が生じた時の品質改善や原因の特定に必須となる。また、そのために、部品製造のプロジェクト情報を梱包したもの(すなわちタスクデータ)を単に保存するだけでなく、それが改竄されていない事の保証もまた必要となる。   By the way, the supply chain is connected in such a way that semi-finished products (parts) manufactured in a certain project are used as input materials in the manufacturing process of the next step. Tracing back this supply chain starting from the final product, knowing the data of the final product parts, the parts of the parts, the raw materials of the parts, and the manufacturing process of the parts resulted in an abnormality in the final product It becomes indispensable for quality improvement of time and identification of cause. For this purpose, it is necessary not only to store a package of project information for manufacturing parts (that is, task data) but also to guarantee that it has not been tampered with.

このような改竄がなされないことを保証するシステムとして従来はトップダウンの巨大な管理システムが構築されることが多かった。しかし、実施例の管理装置122で生成されるタスクデータを、改竄不可能にし、かつ、製品からトレースバックすることのできるトレーサビリティのあるデータとして組織の壁を越え利活用するためには、近年着目されているブロックチェーン技術が好適である。なお、改竄不可能とは、仮にタスクデータが改竄された場合にその事実を検出可能という意味である。   Conventionally, a huge top-down management system has often been constructed as a system for ensuring that such tampering is not performed. However, in recent years, in order to make the task data generated by the management device 122 of the embodiment impossible to be tampered and to be used beyond the organizational barrier as traceable data that can be traced back from the product, attention has been paid in recent years. The blockchain technology being used is preferred. Note that “impossibility of falsification” means that the fact can be detected if the task data is falsified.

具体的には、各タスクについて生成されたタスクデータに対して次のステップにてブロックチェーンを生成してもよい。
ステップ1)当該の企業で生成したプロジェクトインスタンス単位の梱包データを圧縮暗号化する。プロジェクトインスタンス単位の梱包データ(以下「プロジェクトデータ」とも呼ぶ。)は、タスクデータ記憶部138に記憶された複数のタスクデータの中から特定のプロジェクト(例えば当該企業が他企業へ出荷する部品のうち特定の1個の製造プロジェクトインスタンス)に紐付く複数のタスクデータをプロジェクトインスタンスIDまたはロットIDをキーとして抽出したものであってもよい。なお、暗号化は例えば公開鍵暗号を用いれば多量のプロジェクトに対しても簡単に暗号圧縮ができる。
Specifically, a block chain may be generated in the next step for the task data generated for each task.
Step 1) Compress and encrypt the package data for each project instance generated by the company. Packing data in units of project instances (hereinafter also referred to as “project data”) is a specific project (for example, a part shipped from the company to another company) among a plurality of task data stored in the task data storage unit 138. A plurality of task data linked to a specific manufacturing project instance) may be extracted using a project instance ID or a lot ID as a key. For example, if public key cryptography is used for encryption, it is possible to easily compress and compress a large amount of projects.

ステップ2)暗号圧縮化したプロジェクトデータのハッシュ値を計算する。
ステップ3)サプライチェーンの次のステップの他企業(言い換えれば部品出荷先の他企業)に対して、部品とともに、2)で算出した当該部品のハッシュ値を渡す。すなわち、出荷対象の部品毎に、部品固有のプロジェクトデータを圧縮暗号化し、ハッシュ値を求め、そのハッシュ値を部品とともにサプライチェーンの次のステップに渡す。
ステップ4)サプライチェーンの次のステップの企業は、当該企業におけるプロジェクトインスタンス単位の梱包データ(すなわちプロジェクトデータ)を圧縮暗号化する際に、3)で渡された部品のハッシュ値を一緒に梱包して圧縮暗号化する。これにより、サプライチェーンの前工程で製造された部品のハッシュ値が一緒に保存される。以下、サプライチェーンが終了するまで、2)〜4)を繰り返す。これにより、サプライチェーンの前工程で製造された部品のハッシュ値が、後工程で製造された部品のハッシュ値に組み込まれる。
Step 2) The hash value of the cryptographically compressed project data is calculated.
Step 3) The hash value of the part calculated in 2) is passed along with the part to another company (in other words, another company to which the parts are shipped) in the next step of the supply chain. That is, for each part to be shipped, project data unique to the part is compressed and encrypted, a hash value is obtained, and the hash value is passed to the next step in the supply chain together with the part.
Step 4) When the company in the next step of the supply chain compresses and encrypts the packing data (that is, project data) in the project instance unit of the company, it packs the hash value of the parts passed in 3) together. To compress and encrypt. Thereby, the hash values of the parts manufactured in the previous process of the supply chain are stored together. Thereafter, steps 2) to 4) are repeated until the supply chain is completed. As a result, the hash value of the part manufactured in the previous process of the supply chain is incorporated into the hash value of the part manufactured in the subsequent process.

仮にサプライチェーンの最終製品に異常があり、サプライチェーンを遡って部品等のデータ(例えばタスクデータ等)を検証する必要が生じた場合、当該部品の圧縮梱包データ(すなわち圧縮暗号化されたプロジェクトデータ)の提供を受け、そのハッシュ値を計算し、それが過去受け渡されたハッシュ値と一致することを検証することにより、プロジェクトデータが改竄されていないことを確認できる。その上で、契約に基づいて、暗号と圧縮を解除することで改竄されていない事が保証されたデータ(すなわち平文のプロジェクトデータ)を入手できる。このように、実施例のデータ梱包技術とブロックチェーン技術とを組み合わせることで、サプライチェーンに関わる複数の企業が各々分散してデータを保管しつつも、サプライチェーン全域に渡りトレーサビリティを確保することができる。   If there is an abnormality in the final product of the supply chain and it is necessary to verify the data of the parts (for example, task data) by going back through the supply chain, the compressed packing data of the parts (that is, compressed and encrypted project data) ), The hash value is calculated, and it is verified that it matches the hash value passed in the past, thereby confirming that the project data has not been tampered with. In addition, based on the contract, it is possible to obtain data (that is, plaintext project data) that is guaranteed not to be falsified by releasing encryption and compression. In this way, by combining the data packing technology and blockchain technology of the embodiment, multiple companies involved in the supply chain can distribute and store data while ensuring traceability across the entire supply chain. it can.

既述したように、管理装置122は、プロジェクトインスタンスIDの発行主体である生産計画システム等から通知されたプロジェクトインスタンスIDと、プロジェクトタイプとの対応関係を予め保持してもよい。また、プロジェクトインスタンスIDをキーとして生産計画システム等から対応するプロジェクトタイプの情報を取得してもよい。これにより、プロジェクトインスタンスの成果物である製品に不具合があった場合に、当該プロジェクトインスタンスのIDに紐付けられたタスクデータを確認することに加えて、当該プロジェクトインスタンスと同じプロジェクトタイプに基づく他のプロジェクトインスタンスのタスクデータを確認することができる。例えば、同じプロジェクトタイプに基づく複数のプロジェクトインスタンスに亘って、特定のタスクIDのデータが工作機械の異常を示す場合、その特定のタスク(工作機械)が製品不具合の原因であると推定できる。   As described above, the management device 122 may hold in advance a correspondence relationship between the project instance ID notified from the production planning system or the like that is the project instance ID issuer and the project type. Further, the corresponding project type information may be acquired from the production planning system or the like using the project instance ID as a key. As a result, if there is a defect in the product that is the product of the project instance, in addition to checking the task data linked to the ID of the project instance, other products based on the same project type as the project instance Task data of project instance can be confirmed. For example, when the data of a specific task ID indicates an abnormality of a machine tool over a plurality of project instances based on the same project type, it can be estimated that the specific task (machine tool) is a cause of a product failure.

なお、管理装置122のタスクデータ出力部144は、特定のプロジェクトインスタンスIDを指定する検索要求を受け付けると、そのプロジェクトインスタンスIDに対応付けられたタスクデータを横軸方向に並べ、当該プロジェクトインスタンスと同じプロジェクトタイプに基づく他のプロジェクトインスタンスを縦軸方向に並べた2次元の表情報を検索結果として要求元の装置へ送信してもよい。この表情報では、同じプロジェクトタイプに基づく複数のプロジェクトインスタンスにおける同一タスクの情報が縦一列に並び、プロジェクトインスタンス横断的な比較や確認を支援できる。   When the task data output unit 144 of the management device 122 receives a search request for designating a specific project instance ID, the task data output unit 144 arranges task data associated with the project instance ID in the horizontal axis direction, and is the same as the project instance. Two-dimensional table information in which other project instances based on the project type are arranged in the vertical axis direction may be transmitted as a search result to the requesting apparatus. In this table information, information on the same task in a plurality of project instances based on the same project type is arranged in a vertical line, and it is possible to support comparison and confirmation across project instances.

以上、本発明を第1実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下変形例を挙げる。   The present invention has been described based on the first embodiment. This embodiment is an exemplification, and it will be understood by those skilled in the art that various modifications can be made to the combination of each component and each processing process, and such modifications are also within the scope of the present invention. . A modification is given below.

第1変形例を説明する。バーコードリーダ128は、タスクの遂行(部品製造等)において投入される資源(例えば原料、部品等)に付与されたID(ロットID等)を所定のバーコードから読み取ってもよく、状態通知装置126は、投入資源のIDを管理装置122へ通知してもよい。管理装置122は、タスクにおける投入資源のIDを当該タスクのタスクデータに記録してもよい。或るタスクのタスクデータに記録される投入資源のIDは、典型的には、より以前に実行されたタスクであり、すなわち投入資源の製造タスクにおけるプロジェクトID(プロジェクトインスタンスIDとも言える)に相当する。この態様によると、プロジェクトインスタンスの成果物である製品等で異常が発生した場合に、プロジェクトインスタンスのタスクフローを遡って各タスクのタスクデータを確認することが容易になり、トレーサビリティを確保しやすくなる。   A first modification will be described. The bar code reader 128 may read an ID (lot ID, etc.) assigned to resources (for example, raw materials, parts, etc.) input in performing a task (part manufacturing, etc.) from a predetermined bar code. 126 may notify the management apparatus 122 of the ID of the input resource. The management apparatus 122 may record the input resource ID of the task in the task data of the task. The input resource ID recorded in the task data of a certain task is typically a task executed earlier, that is, corresponds to a project ID (also referred to as a project instance ID) in the input resource manufacturing task. . According to this aspect, when an abnormality occurs in a product that is a product of a project instance, it is easy to check the task data of each task by tracing back the task flow of the project instance, and it becomes easy to ensure traceability. .

第2変形例を説明する。上記実施例では、状態通知装置126がメッセージブローカ123へパブリッシュするメッセージ(通知データ)に、プロジェクトインスタンスIDとタスクIDが設定されることとした。変形例として、温度・湿度等の環境状態を示すメッセージでは、タスクIDが指定される一方、プロジェクトインスタンスIDが未指定であってもよい。ここでタスクIDは、状態通知装置126(工作機械やセンサ等を含む)の種類、設置場所等に基づいて予め決定されておけばよい。   A second modification will be described. In the above embodiment, the project instance ID and task ID are set in the message (notification data) that the state notification device 126 publishes to the message broker 123. As a modification, in the message indicating the environmental state such as temperature and humidity, the task ID may be specified while the project instance ID may not be specified. Here, the task ID may be determined in advance based on the type of the state notification device 126 (including machine tools and sensors), the installation location, and the like.

管理装置122のタスクデータ更新部142は、プロジェクトインスタンスIDが未指定のメッセージが取得された場合、そのメッセージが示すタスクIDが設定されたタスクデータをまず抽出し、その中から開始日時が設定済、かつ、終了日時が未設定の1つ以上のタスクデータを更新対象として抽出してもよい。タスクデータ更新部142は、更新対象の1つ以上のタスクデータのそれぞれに、メッセージが示す環境状態データを設定してもよい。この態様によると、センサが状態通知装置126として機能する場合に、当該センサはプロジェクトインスタンスIDを取得する必要がなく、当該センサ自体が直接ネットワークに接続してメッセージをパブリッシュすることの実現を容易なものにできる。   When a message whose project instance ID is not specified is acquired, the task data update unit 142 of the management device 122 first extracts task data in which the task ID indicated by the message is set, and the start date and time is already set from the task data In addition, one or more task data whose end date / time is not set may be extracted as an update target. The task data update unit 142 may set environment state data indicated by the message in each of one or more task data to be updated. According to this aspect, when the sensor functions as the state notification device 126, the sensor does not need to acquire the project instance ID, and it is easy to realize that the sensor itself directly connects to the network and publishes a message. Can be a thing.

第3変形例を説明する。上記実施例では言及していないが、前提技術のIOT機器制御システム10と同様に、管理装置122は、タスクの開始を指示する開始指示メッセージをメッセージブローカ123へパブリッシュし、タスク遂行側機器(例えば作業者のPCやタブレット端末、工作機械等)は、開始指示メッセージをメッセージブローカ123からサブスクライブする構成であってもよい。この場合、管理装置122は、タスク遂行側機器(状態通知装置126)からタスク終了通知を受け付けた場合、タスク順序記憶部136を参照して次に実行すべきタスクを識別し、識別したタスクの開始を指示する開始指示メッセージをパブリッシュしてもよい。また管理装置122は、タスク開始メッセージの送信時に、開始対象タスクのタスクデータにおける開始日時を設定してもよい。   A third modification will be described. Although not mentioned in the above embodiment, the management apparatus 122 publishes a start instruction message for instructing the start of a task to the message broker 123 as in the case of the IOT device control system 10 of the base technology, and performs a task executing side device (for example, The operator's PC, tablet terminal, machine tool, or the like) may be configured to subscribe a start instruction message from the message broker 123. In this case, when receiving a task end notification from the task performing side device (status notification device 126), the management device 122 refers to the task order storage unit 136 to identify the task to be executed next, and identifies the identified task. A start instruction message for instructing start may be published. Moreover, the management apparatus 122 may set the start date and time in the task data of the start target task when transmitting the task start message.

(第2実施例の概要説明)
第2実施例の概要を説明する。上記第1実施例のタスクデータにおける特に重要なデータとして、工作機械の動作状態を示すデータ(以下「機器動作状態データ」とも呼ぶ。)がある。例えば図17の事例では、鉄板切削加工タスクが、2時間で完了予定のところ2時間30分かかっているが、この原因を特定するために、切削加工装置「Cutting M1」の機器動作状態データが有用である。
(Overview of the second embodiment)
The outline of the second embodiment will be described. As particularly important data in the task data of the first embodiment, there is data indicating the operation state of the machine tool (hereinafter also referred to as “apparatus operation state data”). For example, in the case of FIG. 17, the iron plate cutting task is scheduled to be completed in 2 hours and takes 2 hours and 30 minutes. In order to specify the cause, the device operation state data of the cutting device “Cutting M1” is Useful.

一般的な工作機械では、工作機械の内部状態がパトランプの点灯状態に反映される。そこで第2実施例では、工作機械の動作状況を示すために普遍的に用いられているパトランプの点灯状態を示すリレーの電圧データをフォトカプラで取得し、それをメッセージブローカ123へパブリッシュすることで、任意の場所に設置されたシステム(例えば管理装置122)において工作機械の動作状況を検出する技術を提案する。ただし第2実施例の技術の適用範囲は、工作機械におけるパトランプ情報の取得に制限されず、内部状態をリレーのチャンネルにアナログ出力可能な機械であれば広く適用可能である。   In a general machine tool, the internal state of the machine tool is reflected in the lighting state of the patrol lamp. Therefore, in the second embodiment, the voltage data of the relay indicating the lighting state of the patrol lamp, which is universally used to indicate the operation status of the machine tool, is obtained by the photocoupler, and is published to the message broker 123. A technique for detecting an operation state of a machine tool in a system (for example, the management device 122) installed in an arbitrary place is proposed. However, the scope of application of the technology of the second embodiment is not limited to the acquisition of patrol information in a machine tool, and can be widely applied to any machine that can analog output the internal state to a relay channel.

このようなリレー接点の利用は、もともとアナログな外部表示器(パトランプ等)などを点灯させることで機械装置の内部状態を表示することを想定したものである。第2実施例では、シーケンサーのプログラムやフロントパネルでの設定により柔軟に機械装置の内部状態をリレー設定情報として表現し、管理装置122等がIoTデータとしてリレー設定情報を取得し、機械装置の内部状態を判別(記録)することが可能になる。   The use of such a relay contact is supposed to display the internal state of the mechanical device by turning on an analog external display (such as a patrol lamp). In the second embodiment, the internal state of the mechanical device is flexibly expressed as relay setting information by the sequencer program or the setting on the front panel, and the management device 122 or the like acquires the relay setting information as IoT data. The state can be determined (recorded).

なお、第2実施例の技術は、本来のリレー接点の利用の延長であり、外部装置を直接駆動する代わりに、フォトカプラを経由してその信号を取得するものであるため、機械装置メーカが定める規約(メンテナンス契約等)に抵触しないというメリットがある。第2実施例で提案する機械装置の内部状態の取得方法は、工作機械のみならず、様々な種類のタスク遂行機器(制御盤等)に対して適用可能である。   The technology of the second embodiment is an extension of the use of the original relay contact, and instead of directly driving an external device, the signal is obtained via a photocoupler. There is a merit that it doesn't violate the defined rules (maintenance contract etc.). The method for acquiring the internal state of the machine apparatus proposed in the second embodiment can be applied not only to machine tools but also to various types of task performing devices (control panel, etc.).

(第2実施例の詳細説明)
図18は、第2実施例のタスク遂行側機器の構成をブロック図である。同図の構成は、図13のタスク遂行側機器に適用可能である。タスク遂行側機器は、工作機械160と状態通知装置126を備える。工作機械160は、図17の事例では切削加工装置、プレス装置、塗装装置が該当する。
(Detailed description of the second embodiment)
FIG. 18 is a block diagram showing the configuration of the task performing side device of the second embodiment. The configuration shown in the figure can be applied to the task performing device shown in FIG. The task performing side device includes a machine tool 160 and a state notification device 126. The machine tool 160 corresponds to a cutting device, a press device, and a coating device in the case of FIG.

工作機械160は、制御部162、リレー164、パトランプ166を含む。制御部162は、工作機械160の動作全般を制御し、タスク遂行のための処理(例えば鉄板および銅板の切削加工処理)の動作を制御する。また制御部162は、工作機械160の動作状態(異常の有無等)を管理する。パトランプ166は、工作機械160の動作状態を外部の作業者等へ提示する表示器であり、警告灯とも言える。制御部162は、工作機械160の動作状態に応じて、パトランプ166の表示態様(例えば点灯の有無、点灯または点滅の種別、色等)を制御するための制御信号を出力する。   The machine tool 160 includes a control unit 162, a relay 164, and a patrol lamp 166. The control unit 162 controls the overall operation of the machine tool 160 and controls the operation of processing for performing tasks (for example, cutting processing of iron plates and copper plates). Further, the control unit 162 manages the operating state of the machine tool 160 (whether there is an abnormality or the like). The patrol lamp 166 is an indicator that presents the operating state of the machine tool 160 to an external worker or the like, and can also be called a warning lamp. The control unit 162 outputs a control signal for controlling the display mode of the patrol lamp 166 (for example, whether or not it is lit, the type of lighting or blinking, the color, etc.) according to the operating state of the machine tool 160.

リレー164は、制御部162から入力される工作機械160の動作状態に基づく信号に応じて開閉する。実施例では、リレー164に、工作機械160の動作状態に応じた表示態様となるようにパトランプ166を制御するための制御信号が入力される。リレー164は、その制御信号にしたがってパトランプ166の表示態様を切り替える。リレー164は、開閉状態を切り替えることにより、パトランプ166へ入力される電圧を変化させる。これにより、上記制御信号で指定された態様にてパトランプ166が点灯または消灯する。   Relay 164 opens and closes according to a signal based on the operating state of machine tool 160 input from control unit 162. In the embodiment, a control signal for controlling the patrol lamp 166 is input to the relay 164 so that the display mode according to the operating state of the machine tool 160 is obtained. The relay 164 switches the display mode of the patrol lamp 166 according to the control signal. The relay 164 changes the voltage input to the patrol lamp 166 by switching the open / close state. As a result, the patrol lamp 166 is turned on or off in the manner specified by the control signal.

状態通知装置126は、フォトカプラ170、メッセージ生成部172、メッセージ出力部174を備える。フォトカプラ170は、工作機械160のリレー164と接続され、リレー164の開閉状態を示す状態信号を出力する。状態信号は、工作機械160において制御部162からリレー164へ印加された電圧または電流の状態を示す信号と言え、工作機械160においてリレー164からパトランプ166へ印加された電圧または電流の状態を示す信号とも言える。   The status notification device 126 includes a photocoupler 170, a message generation unit 172, and a message output unit 174. Photocoupler 170 is connected to relay 164 of machine tool 160 and outputs a status signal indicating the open / closed state of relay 164. The state signal can be said to be a signal indicating the state of the voltage or current applied from the control unit 162 to the relay 164 in the machine tool 160, and is a signal indicating the state of the voltage or current applied from the relay 164 to the patrol lamp 166 in the machine tool 160. It can also be said.

メッセージ生成部172は、フォトカプラ170から出力された状態信号に基づいて、工作機械160の状態を示すタスク状態データを生成し、タスク状態データ、タスクID、プロジェクトインスタンスIDを含むメッセージを生成する。例えば、メッセージ生成部172は、状態信号の複数種類の態様(内容)と、管理装置122への複数種類の通知内容との対応関係を予め保持し、実際の状態信号の態様に対応する通知内容をタスク状態データとして設定したメッセージを生成してもよい。また、メッセージ生成部172は、状態信号の複数種類の態様と、パトランプ166の複数種類の表示態様との対応関係を保持してもよい。メッセージ生成部172は、実際の状態信号の態様に対応するパトランプ166の表示態様を識別し、識別したパトランプ166の表示態様を示すメッセージを生成してもよい。   The message generation unit 172 generates task state data indicating the state of the machine tool 160 based on the state signal output from the photocoupler 170, and generates a message including task state data, task ID, and project instance ID. For example, the message generation unit 172 holds in advance a correspondence relationship between a plurality of types of state signals (contents) and a plurality of types of notifications to the management device 122, and the notification content corresponding to the actual state signal state May be generated as task state data. In addition, the message generation unit 172 may hold a correspondence relationship between a plurality of types of status signals and a plurality of types of display modes of the patrol lamp 166. The message generation unit 172 may identify the display mode of the patrol lamp 166 corresponding to the actual status signal mode, and generate a message indicating the display mode of the identified patrol lamp 166.

さらにまた、メッセージ生成部172は、状態信号の複数種類の態様と、工作機械160の複数種類の動作状態との対応関係を保持してもよい。メッセージ生成部172は、実際の状態信号の態様に対応する工作機械160の動作状態を識別し、識別した動作状態を示すメッセージを生成してもよい。メッセージ生成部172は、工作機械160の動作状態を検出し、または、パトランプ166の表示態様を検出する状態検出部として機能すると言える。   Furthermore, the message generation unit 172 may hold a correspondence relationship between a plurality of types of state signals and a plurality of types of operation states of the machine tool 160. The message generation unit 172 may identify the operation state of the machine tool 160 corresponding to the actual state signal state, and may generate a message indicating the identified operation state. It can be said that the message generator 172 functions as a state detector that detects the operating state of the machine tool 160 or detects the display mode of the patrol lamp 166.

メッセージ出力部174は、メッセージ生成部172により生成されたメッセージをメッセージブローカ123へパブリッシュする。当該メッセージをサブスクライブした管理装置122は、メッセージ内の接点データを図16の機械稼働データとして、メッセージで指定されたタスクデータに記録する。なお、図16の機械稼働データは、図17における「M1稼働データ」「プレス機械稼働データ」等が該当する。なお、管理装置122は、接点データの種類と、パトランプ166の表示態様との対応関係、または、接点データの種類と、工作機械160の動作状態との対応関係を保持してもよい。管理装置122は、接点データに対応するパトランプ166の表示態様を示すデータ、または、接点データに対応する工作機械160の動作状態を示すデータをタスクデータに記録してもよい。   The message output unit 174 publishes the message generated by the message generation unit 172 to the message broker 123. The management device 122 that subscribed to the message records the contact data in the message as the machine operation data in FIG. 16 in the task data specified by the message. The machine operation data in FIG. 16 corresponds to “M1 operation data”, “press machine operation data”, and the like in FIG. The management device 122 may hold a correspondence relationship between the type of contact data and the display mode of the patrol lamp 166, or a correspondence relationship between the type of contact data and the operation state of the machine tool 160. The management device 122 may record data indicating the display mode of the patrol lamp 166 corresponding to the contact data or data indicating the operation state of the machine tool 160 corresponding to the contact data in the task data.

第2実施例の状態通知装置126は、工作機械160のリレー164内部の接点の状態を、フォトカプラ170を用いて電気的に絶縁しつつ取得する。これにより、リレー164内部の接点の状態を取得する際の安全性を高め、工作機械160のメーカが定める規約(安全基準等)からの逸脱を回避できる。   The state notification device 126 according to the second embodiment acquires the state of the contact in the relay 164 of the machine tool 160 while being electrically insulated using the photocoupler 170. Thereby, the safety | security at the time of acquiring the state of the contact inside the relay 164 can be improved, and the deviation from the rules (safety standards etc.) which the maker of the machine tool 160 determines can be avoided.

以上、本発明を第2実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the second embodiment. This embodiment is an exemplification, and it will be understood by those skilled in the art that various modifications can be made to the combination of each component and each processing process, and such modifications are also within the scope of the present invention. .

変形例として、工作機械160は、リレー164に代えて他の種類のスイッチを使用してもよく、例えば半導体スイッチ(MOSFET、IGBT等)を使用してもよい。この場合、状態通知装置126のフォトカプラ170は、半導体スイッチのオン/オフ状態に応じた状態信号を出力してもよい。また、状態通知装置126は、フォトカプラ170に代えて他の種類の絶縁素子を使用してもよい。   As a modified example, the machine tool 160 may use another type of switch instead of the relay 164, for example, a semiconductor switch (MOSFET, IGBT, etc.). In this case, the photocoupler 170 of the state notification device 126 may output a state signal corresponding to the on / off state of the semiconductor switch. Further, the state notification device 126 may use another type of insulating element instead of the photocoupler 170.

上述した実施例および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。   Any combination of the above-described embodiments and modifications is also useful as an embodiment of the present invention. The new embodiment resulting from the combination has the effects of the combined example and modification. It should also be understood by those skilled in the art that the functions to be fulfilled by the constituent elements described in the claims are realized by the individual constituent elements shown in the embodiments and the modified examples, or by their cooperation.

120 プロジェクト管理システム、 122 管理装置、 123 メッセージブローカ、 126 状態通知装置、 136 タスク順序記憶部、 138 タスクデータ記憶部、 140 タスク遂行状況取得部、 142 タスクデータ更新部、 160 工作機械、 164 リレー、 166 パトランプ、 170 フォトカプラ、 172 メッセージ生成部、 174 メッセージ出力部。   120 project management system, 122 management device, 123 message broker, 126 status notification device, 136 task order storage unit, 138 task data storage unit, 140 task execution status acquisition unit, 142 task data update unit, 160 machine tool, 164 relay, 166 Patrol lamp, 170 Photocoupler, 172 Message generation unit, 174 Message output unit

Claims (5)

所定の順序で遂行されるべき複数のタスクについて、各タスクの遂行に際して得られたデータをタスク単位にまとめたタスクデータを保持するタスクデータ保持部と、
前記複数のタスクのうち少なくとも1つのタスクの遂行に関連する外部機器から送信された、1つのタスクの開始を示すデータを取得するとともに、前記1つのタスクの終了を示すデータを取得する取得部と、
前記1つのタスクの開始を示すデータが取得された場合、前記1つのタスクに関するタスクデータに開始時刻を記録し、前記1つのタスクの終了を示すデータが取得された場合、前記1つのタスクに関するタスクデータに終了時刻を記録する更新部と、
を備え、
前記更新部は、前記1つのタスクの開始を示すデータが取得された後、前記1つのタスクの終了を示すデータが取得される前に、前記1つのタスクの遂行に関するデータが取得された場合、前記1つのタスクに関するタスクデータに前記遂行に関するデータを記録することを特徴とする管理装置。
For a plurality of tasks to be performed in a predetermined order, a task data holding unit that holds task data in which data obtained at the time of performing each task is grouped into task units,
An acquisition unit for acquiring data indicating the start of one task and acquiring data indicating the end of the one task transmitted from an external device related to the execution of at least one of the plurality of tasks; ,
When the data indicating the start of the one task is acquired, the start time is recorded in the task data regarding the one task, and when the data indicating the end of the one task is acquired, the task regarding the one task is recorded. An update unit for recording the end time in the data;
With
The update unit, when the data indicating the execution of the one task is acquired before the data indicating the end of the one task is acquired after the data indicating the start of the one task is acquired, A management apparatus for recording data relating to the execution in task data relating to the one task.
前記取得部は、前記外部機器から送信された、前記1つのタスクの対象を示す識別子をさらに取得し、
前記更新部は、前記対象単位かつ前記タスク単位のタスクデータに、前記開始時刻、前記遂行に関するデータ、前記終了時刻を記録することを特徴とする請求項1に記載の管理装置。
The acquisition unit further acquires an identifier indicating the target of the one task transmitted from the external device,
The management apparatus according to claim 1, wherein the update unit records the start time, the data related to the execution, and the end time in the task data of the target unit and the task unit.
所定の順序で遂行されるべき複数のタスクのうち少なくとも1つのタスクの遂行に関連する機器と、
管理装置と、を備え、
前記管理装置は、
前記複数のタスクそれぞれの遂行に際して得られたデータをタスク単位にまとめたタスクデータを保持するタスクデータ保持部と、
前記機器から送信された、1つのタスクの開始を示すデータを取得するとともに、前記1つのタスクの終了を示すデータを取得する取得部と、
前記1つのタスクの開始を示すデータが取得された場合、前記1つのタスクに関するタスクデータに開始時刻を記録し、前記1つのタスクの終了を示すデータが取得された場合、前記1つのタスクに関するタスクデータに終了時刻を記録する更新部と、を含み、
前記更新部は、前記1つのタスクの開始を示すデータが取得された後、前記1つのタスクの終了を示すデータが取得される前に、前記機器から送信された、前記1つのタスクの遂行に関するデータが取得された場合、前記1つのタスクに関するタスクデータに前記遂行に関するデータを記録し、
前記機器は、前記1つのタスクを遂行する機器であるタスク遂行装置と、タスク遂行装置に接続された通知装置とを含み、
前記タスク遂行装置は、本装置の動作状態に基づく制御信号が入力され、その制御信号に基づいてオン/オフするスイッチを含み、
前記通知装置は、
前記スイッチと接続され、前記スイッチのオン/オフ状態を示す状態信号を出力するフォトカプラと、
前記フォトカプラから出力された状態信号に基づくデータを前記1つのタスクの遂行に関するデータとして出力する出力部と、を含むことを特徴とする管理システム。
Equipment related to the performance of at least one of a plurality of tasks to be performed in a predetermined order;
A management device,
The management device
A task data holding unit for holding task data in which data obtained upon execution of each of the plurality of tasks is grouped into task units;
An acquisition unit that acquires data indicating the start of one task transmitted from the device, and acquires data indicating the end of the one task;
When the data indicating the start of the one task is acquired, the start time is recorded in the task data regarding the one task, and when the data indicating the end of the one task is acquired, the task regarding the one task is recorded. An update unit for recording the end time in the data,
The update unit relates to the execution of the one task transmitted from the device after the data indicating the start of the one task is acquired and before the data indicating the end of the one task is acquired. If the data is acquired, record the performance data in the task data related to the one task,
The device includes a task execution device that is a device that performs the one task, and a notification device connected to the task execution device,
The task execution device includes a switch that receives a control signal based on the operating state of the device and is turned on / off based on the control signal.
The notification device includes:
A photocoupler connected to the switch and outputting a state signal indicating an on / off state of the switch;
And an output unit that outputs data based on the status signal output from the photocoupler as data related to the execution of the one task.
所定の順序で遂行されるべき複数のタスクについて、各タスクの遂行に際して得られたデータをタスク単位にまとめたタスクデータを保持するタスクデータ保持部を備えるコンピュータが、
前記複数のタスクのうち少なくとも1つのタスクの遂行に関連する外部機器から送信された、1つのタスクの開始を示すデータを取得するステップと、
前記1つのタスクの開始を示すデータが取得された場合に、前記1つのタスクに関するタスクデータに開始時刻を記録するステップと、
前記外部機器から送信された、前記1つのタスクの終了を示すデータを取得するステップと、
前記1つのタスクの終了を示すデータが取得された場合に、前記1つのタスクに関するタスクデータに終了時刻を記録するステップと、を実行し、
前記1つのタスクの開始を示す情報が取得された後、前記1つのタスクの終了を示す情報が取得される前に、前記1つのタスクの遂行に関するデータが取得された場合、前記1つのタスクに関するタスクデータに前記遂行に関するデータを記録するステップをさらに実行することを特徴とする管理方法。
For a plurality of tasks to be performed in a predetermined order, a computer including a task data holding unit that holds task data in which data obtained at the time of performing each task is grouped into task units,
Obtaining data indicating the start of one task transmitted from an external device related to the performance of at least one of the plurality of tasks;
Recording data indicating start of the one task in the task data related to the one task when data indicating the start of the one task is acquired;
Obtaining data transmitted from the external device and indicating the end of the one task;
When data indicating the end of the one task is acquired, recording an end time in the task data relating to the one task; and
If data related to the execution of the one task is acquired after the information indicating the start of the one task is acquired and before the information indicating the end of the one task is acquired, A management method further comprising the step of recording data relating to the performance in task data.
所定の順序で遂行されるべき複数のタスクについて、各タスクの遂行に際して得られたデータをタスク単位にまとめたタスクデータを保持するタスクデータ保持部を備えるコンピュータに、
前記複数のタスクのうち少なくとも1つのタスクの遂行に関連する外部機器から送信された、1つのタスクの開始を示すデータを取得するとともに、前記1つのタスクの終了を示すデータを取得する機能と、
前記1つのタスクの開始を示すデータが取得された場合、前記1つのタスクに関するタスクデータに開始時刻を記録し、前記1つのタスクの終了を示すデータが取得された場合、前記1つのタスクに関するタスクデータに終了時刻を記録する機能と、
を実現させ、
前記記録する機能は、前記1つのタスクの開始を示す情報が取得された後、前記1つのタスクの終了を示す情報が取得される前に、前記1つのタスクの遂行に関するデータが取得された場合、前記1つのタスクに関するタスクデータに前記遂行に関するデータを記録することを特徴とするコンピュータプログラム。
For a plurality of tasks to be performed in a predetermined order, a computer having a task data holding unit that holds task data in which data obtained at the time of performing each task is grouped into task units,
A function of acquiring data indicating the start of one task and acquiring data indicating the end of the one task transmitted from an external device related to the execution of at least one of the plurality of tasks;
When the data indicating the start of the one task is acquired, the start time is recorded in the task data regarding the one task, and when the data indicating the end of the one task is acquired, the task regarding the one task is recorded. A function to record the end time in the data,
Realized,
The recording function is such that after information indicating the start of the one task is acquired and data regarding the execution of the one task is acquired before information indicating the end of the one task is acquired. A computer program for recording data relating to the execution in task data relating to the one task.
JP2016201036A 2016-10-12 2016-10-12 Management system Active JP6927557B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016201036A JP6927557B2 (en) 2016-10-12 2016-10-12 Management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016201036A JP6927557B2 (en) 2016-10-12 2016-10-12 Management system

Publications (2)

Publication Number Publication Date
JP2018063541A true JP2018063541A (en) 2018-04-19
JP6927557B2 JP6927557B2 (en) 2021-09-01

Family

ID=61967790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016201036A Active JP6927557B2 (en) 2016-10-12 2016-10-12 Management system

Country Status (1)

Country Link
JP (1) JP6927557B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110427218A (en) * 2018-05-01 2019-11-08 富士施乐株式会社 Information processing unit and non-transitory computer-readable medium
JP6608572B1 (en) * 2018-12-27 2019-11-20 三菱電機株式会社 Data processing apparatus, data processing system, data processing method and program
WO2020044441A1 (en) * 2018-08-28 2020-03-05 株式会社オプティム Computer system, agricultural product management method, and program
JP2020125167A (en) * 2019-02-01 2020-08-20 東芝テック株式会社 Physical distribution management system, physical distribution management device, and program of the same
CN112312628A (en) * 2020-10-15 2021-02-02 佛山市毅丰电器实业有限公司 Equipment management method, system, device, cloud server and storage medium
JP2022525231A (en) * 2019-03-15 2022-05-11 エバーシーン リミテッド Distributed logbook for anomaly monitoring
CN115202834A (en) * 2021-05-27 2022-10-18 华为技术有限公司 Task migration system and method

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110427218A (en) * 2018-05-01 2019-11-08 富士施乐株式会社 Information processing unit and non-transitory computer-readable medium
JPWO2020044441A1 (en) * 2018-08-28 2021-06-03 株式会社オプティム Computer systems, produce management methods and programs
WO2020044441A1 (en) * 2018-08-28 2020-03-05 株式会社オプティム Computer system, agricultural product management method, and program
WO2020136787A1 (en) * 2018-12-27 2020-07-02 三菱電機株式会社 Data processing device, data processing system, data processing method, and program
JP6608572B1 (en) * 2018-12-27 2019-11-20 三菱電機株式会社 Data processing apparatus, data processing system, data processing method and program
CN113227974A (en) * 2018-12-27 2021-08-06 三菱电机株式会社 Data processing device, data processing system, data processing method, and program
JP2020125167A (en) * 2019-02-01 2020-08-20 東芝テック株式会社 Physical distribution management system, physical distribution management device, and program of the same
JP7211833B2 (en) 2019-02-01 2023-01-24 東芝テック株式会社 Logistics management system, logistics management device and its program
JP2022525231A (en) * 2019-03-15 2022-05-11 エバーシーン リミテッド Distributed logbook for anomaly monitoring
JP7266702B2 (en) 2019-03-15 2023-04-28 エバーシーン リミテッド Distributed logbook for anomaly monitoring
CN112312628A (en) * 2020-10-15 2021-02-02 佛山市毅丰电器实业有限公司 Equipment management method, system, device, cloud server and storage medium
CN112312628B (en) * 2020-10-15 2023-03-31 佛山市毅丰电器实业有限公司 Stage lighting equipment management method, system, device, cloud server and medium
CN115202834A (en) * 2021-05-27 2022-10-18 华为技术有限公司 Task migration system and method
CN115202834B (en) * 2021-05-27 2023-04-28 华为技术有限公司 Task migration system and method

Also Published As

Publication number Publication date
JP6927557B2 (en) 2021-09-01

Similar Documents

Publication Publication Date Title
JP6927557B2 (en) Management system
US11783725B2 (en) Snapshot management architecture for process control operator training system lifecycle
CN107026894B (en) Apparatus and method for automatic notification through industrial asset delivery
Lin et al. Concept design of a system architecture for a manufacturing cyber-physical digital twin system
KR101935652B1 (en) System and Method of Smart Factory Operation Management Solution Service Using Big Data Platform
Shao et al. Digital manufacturing: Requirements and challenges for implementing digital surrogates
EP3037901B1 (en) Cloud-based emulation and modeling for automation systems
JP6261079B2 (en) Workflow management device, workflow management method, and workflow management program
CN105637439A (en) Systems and methods of data acquisition
Khan et al. Implementation of cloud based IoT technology in manufacturing industry for smart control of manufacturing process
Suleiman et al. Inter-domain analysis of smart grid domain dependencies using domain-link matrices
Desogus et al. Preliminary performance monitoring plan for energy retrofit: A cognitive building: The “Mandolesi Pavillon” at the University of Cagliari
JP2018092238A (en) On-demand service providing system and on-demand service providing method
Galar et al. Fusion of maintenance and control data: a need for the process
Lin et al. Design and development of a digital twin dashboards system under cyber-physical digital twin environment
Prist et al. Cyber-physical manufacturing systems: An architecture for sensor integration, production line simulation and cloud services
Leiva First principles of smart manufacturing
TWI665560B (en) Mobile Manufacturing Management and Optimization Platform
Lin An integrated digital twin simulation and scheduling system under cyber-physical digital twin environment
Teufl et al. Optimised–developing a state of the art system for production planning for industry 4.0 in the construction industry using simulation-based optimisation
Kotikangas Utilization of digital twin for customer tailored variable speed drive
Toro Santamaria et al. Operating system for cyber-physical manufacturing (OSCM): a flexible event-driven shopfloor information platform for advanced manufacturing
Florea et al. Ecosystem oriented energy management: An implementation
KR20210029528A (en) Method for manufacturing process and quality control based on datamining
Murguzur et al. Multi-perspective process variability: A case for smart green buildings (short paper)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201104

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20201211

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210301

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210629

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210729

R150 Certificate of patent or registration of utility model

Ref document number: 6927557

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150