JP2015153275A - Hierarchization/parallelization device - Google Patents

Hierarchization/parallelization device Download PDF

Info

Publication number
JP2015153275A
JP2015153275A JP2014028164A JP2014028164A JP2015153275A JP 2015153275 A JP2015153275 A JP 2015153275A JP 2014028164 A JP2014028164 A JP 2014028164A JP 2014028164 A JP2014028164 A JP 2014028164A JP 2015153275 A JP2015153275 A JP 2015153275A
Authority
JP
Japan
Prior art keywords
state
hierarchization
parallelization
candidate
state chart
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.)
Pending
Application number
JP2014028164A
Other languages
Japanese (ja)
Inventor
秀司 川田
Hideji Kawada
秀司 川田
則孝 川勝
Noritaka Kawakatsu
則孝 川勝
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2014028164A priority Critical patent/JP2015153275A/en
Publication of JP2015153275A publication Critical patent/JP2015153275A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a hierarchization/parallelization device capable of automatically turning a huge flat state chart into an easily comprehensible hierarchized/parallelized state chart.SOLUTION: A hierarchization/parallelization device includes a hierarchization/parallelization candidate generation unit which receives a flat original state chart to be processed, sorts all transitions on the original state chart into either or both of resultant two state charts, and generates pairs of hierarchized or parallelized state charts in the form of a candidate list. The device derives a hierarchized/parallelized state chart from the candidate list.

Description

本発明の実施形態は、階層化・並列化されたステートチャート図を求める、階層化・並列化装置に関する。   Embodiments described herein relate generally to a hierarchization / parallelization apparatus that obtains a hierarchized / parallelized state chart diagram.

ステートチャート図は、システム等に存在する状態やシステムの状態変化に着目した図で、特定のシステムに注目して、その生成から消滅までのライフサイクルをモデリングする。ステートチャート図は、各種のシステムにおける状態遷移を表すのに好適である。   A statechart diagram focuses on a state existing in a system or a change in the state of the system, and focuses on a specific system and models a life cycle from generation to disappearance. The state chart diagram is suitable for representing state transition in various systems.

特に、ステートチャート図での設計経験の浅い設計者が作成するステートチャート図は、階層や並列表現を含まない巨大でフラットとなる傾向があり、読解性・理解性等の保守性が悪い、という問題があった。   In particular, statechart diagrams created by designers with little experience in designing statecharts tend to be huge and flat without hierarchies and parallel representations, and poor maintainability such as readability and comprehension There was a problem.

特開2011−123588号公報JP 2011-123588 A

本発明が解決しようとする課題は、フラットで巨大なステートチャートを、人間が理解しやすいように自動的に、階層化・並列化されたステートチャート図を求める、階層化・並列化装置を提供することである。   The problem to be solved by the present invention is to provide a hierarchization / parallelization device that automatically obtains a statechart diagram that is hierarchized and parallelized so that it can be easily understood by humans. It is to be.

実施形態の階層化・並列化装置は、対象となるフラットな元のステートチャート図を入力し、前記元のステートチャート図の全ての遷移を、それぞれ結果となる2つのステートチャート図のどちらか、もしくは両方に振分け、階層化もしくは並列化したステートチャート図のペアを候補リストとして生成する階層化・並列化候補生成部を備え、前記候補リストを用いて、階層化・並列化されたステートチャート図を求める。   The hierarchization / parallelization device of the embodiment inputs a flat original state chart diagram as a target, and makes all transitions of the original state chart diagram one of two resulting state chart diagrams, Alternatively, a state chart diagram that includes a hierarchization / parallelization candidate generation unit that generates a pair of state chart diagrams that are distributed, hierarchized or parallelized as a candidate list, and is hierarchized and parallelized using the candidate list. Ask for.

UMLによるステートチャート図を示す図である。It is a figure which shows the state chart figure by UML. 本実施形態におけるステートチャート図の階層化を説明する図である。It is a figure explaining hierarchization of the state chart figure in this embodiment. 本実施形態におけるステートチャート図の通常階層化を説明する図である。It is a figure explaining normal hierarchization of the state chart figure in this embodiment. 本実施形態におけるステートチャート図の履歴階層化を説明する図である。It is a figure explaining the history hierarchization of the state chart figure in this embodiment. 本実施形態におけるステートチャート図の並列化を説明する図である。It is a figure explaining parallelization of the state chart figure in this embodiment. 並列化の特殊ケース1を説明する図である。It is a figure explaining the special case 1 of parallelization. 並列化の特殊ケース2を説明する図である。It is a figure explaining the special case 2 of parallelization. 複数の候補の生成を説明する図である。It is a figure explaining the production | generation of a some candidate. 本発明の実施形態に係る階層化・並列化装置の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the hierarchization / parallelization apparatus which concerns on embodiment of this invention. 本実施形態において表れる各データの構造を示す図である。It is a figure which shows the structure of each data which appears in this embodiment. 動作例の説明において使用する元となるステートチャート図を示す図である。It is a figure which shows the state chart figure used as the origin used in description of an operation example. 図11の動作例に示すステートチャート図におけるデータ構造を示す図である。It is a figure which shows the data structure in the state chart figure shown in the operation example of FIG. 図11に示す動作例において、初期状態の作成を説明する図である。FIG. 12 is a diagram illustrating creation of an initial state in the operation example illustrated in FIG. 11. 動作例の遷移「ON」を振り分けるパターンの作成を説明する図である。It is a figure explaining creation of the pattern which distributes transition "ON" of an example of operation. 動作例の「冷房中」から「暖房中」への遷移「冷暖切替」を振り分けるパターンの作成を説明する図である。It is a figure explaining creation of the pattern which distributes the transition "cooling / heating switching" from "in cooling" to "in heating" of the operation example. 動作例の遷移「OFF」を振り分けるパターンの作成を説明する図である。It is a figure explaining creation of the pattern which distributes transition "OFF" of an example of operation. 矛盾のチェックを説明する図である。It is a figure explaining a check of contradiction. パターン(i)、(iii)、(ii)に対して、動作例の「暖房中」から「冷房中」への遷移「冷暖切替」を振り分けるパターンの作成を説明する図である。It is a figure explaining creation of the pattern which distributes the transition "cooling / heating switching" from "in heating" to "in cooling" of the operation example with respect to patterns (i), (iii), and (ii). パターン(i)、(iii)、(ii)、(iii)に対して、動作例の「暖房中」から「停止中」への遷移「OFF」を振り分けるパターンの作成を説明する図である。It is a figure explaining creation of the pattern which distributes transition "OFF" from "in heating" of an operation example to "stopping" with respect to pattern (i), (iii), (ii), (iii). 遷移条件の整理を説明する図である。It is a figure explaining the arrangement of transition conditions. 候補の階層化を説明する図である。It is a figure explaining hierarchization of a candidate. 結果となる候補リストを生成する階層化・並列化候補生成処理におけるデータ構造を表す図である。It is a figure showing the data structure in the hierarchization / parallelization candidate production | generation process which produces | generates the candidate list used as a result. 階層化・並列化候補生成処理の詳細例を示すフローチャートである。It is a flowchart which shows the detailed example of a hierarchization / parallelization candidate production | generation process. 不適格候補棄却処理の流れを示すフローチャートである。It is a flowchart which shows the flow of an unqualified candidate rejection process. 類型aの場合の不適判定処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the unsuitability determination process in the case of the type a. 類型bの場合の不適判定処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the unsuitability determination process in the case of the type b. 最適候補選択処理の流れを示すフローチャートである。It is a flowchart which shows the flow of an optimal candidate selection process. 保守性に関する指標値による最適候補の分類処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the optimal candidate classification | category process by the index value regarding maintainability. 指標値による最適候補選択の一例を示す図である。It is a figure which shows an example of the optimal candidate selection by an index value. 全自動洗濯機の状態遷移をフラットなステートチャート図で示した図である。It is the figure which showed the state transition of the fully automatic washing machine with the flat state chart figure. 候補絞り込み機能に基づいて選択したステートチャート図の一例を示す図である。It is a figure which shows an example of the state chart figure selected based on the candidate narrowing-down function. 候補絞り込み機能に基づいて選択したステートチャート図の一例を示す図である。It is a figure which shows an example of the state chart figure selected based on the candidate narrowing-down function. ソースコードからステートチャート図への変換の一例を示す図である。It is a figure which shows an example of the conversion from a source code to a state chart figure. 図33に示す例について、階層化・並列化後のステートチャート図である。It is a state chart figure after hierarchization and parallelization about the example shown in FIG.

以下、本発明の一実施の形態について、図面を参照して説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。   Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In the drawings, the same portions are denoted by the same reference numerals, and redundant description is omitted.

まず、本実施形態で用いる主要な用語について説明する。   First, main terms used in the present embodiment will be described.

「UML(Unified Modeling Language)のステートチャート図」
UMLは、オブジェクト指向によるモデリングのための表記法を統一したものである。図1に、UMLによるステートチャート図を示す。
"State chart diagram of UML (Unified Modeling Language)"
UML unifies the notation for object-oriented modeling. FIG. 1 shows a state chart by UML.

UMLによるステートチャート図では、オブジェクトの状態は角丸四角で表し、中に状態名を記入する。初期状態(開始状態)は黒丸で示す。ある状態から別の状態への状態遷移は矢印で関係付ける。状態遷移を引き起こすイベント(条件)を矢印の横に記述する。遷移に付随する操作は、アクションとしてイベント(条件)の横に記述する。状態遷移の入口と出口にアクションが記述可能である。遷移は、例えば、“開始状態”、“終了状態”、“イベント”、“条件”、“アクション”のデータから成る。ある状態に入る全ての遷移に共通のアクションがある場合、遷移に同一のアクションを記述するかわりに、entry/入場アクション、exit/退場アクションとして記述できる。また、完了までに時間を要し継続的に行う動作は、do/アクティビティとして記述する。また、ステートチャート図では、階層表現や並列表現もサポートする。さらに、変数の記述も可能である。本実施形態では、アクションや、条件はC言語の形式(制約あり)で記述する。   In the state chart diagram by UML, the state of the object is represented by a rounded rectangle, and the state name is written therein. The initial state (start state) is indicated by a black circle. State transitions from one state to another are related by arrows. An event (condition) that causes a state transition is described next to the arrow. The operation accompanying the transition is described next to the event (condition) as an action. Actions can be described at the entrance and exit of the state transition. The transition includes, for example, data of “start state”, “end state”, “event”, “condition”, and “action”. If there is a common action for all transitions that enter a certain state, instead of describing the same action in the transition, it can be described as an entry / entry action and an exit / exit action. In addition, operations that take time to complete and are performed continuously are described as do / activity. The statechart diagram also supports hierarchical representation and parallel representation. Furthermore, it is possible to describe variables. In the present embodiment, actions and conditions are described in a C language format (with restrictions).

「ステートチャート図の階層化(通常階層化)」
ステートチャート図では、ステートチャート図の現在の状態が、ある状態であるとき、その状態の中で、さらに詳細なステートチャート図を入れ子にして記述することができる。これを階層と呼ぶ。階層のないステートチャートに対し、これと同じ挙動をする階層を持ったステートチャートが存在する場合、そのようなステートチャートに書き換えることを、“階層化”といい、後述する“履歴階層化”と区別するため“通常階層化”と呼ぶ。階層のないステートチャートが階層化できる場合には、階層を持ったステートチャートの方が読みやすい場合が多い。
"Layering of statechart diagrams (normal hierarchy)"
In the state chart diagram, when the current state of the state chart diagram is a certain state, a more detailed state chart diagram can be nested in the state. This is called a hierarchy. When there is a statechart with a hierarchy that behaves in the same way as a statechart with no hierarchy, rewriting it to such a statechart is called “hierarchy”, and “history hierarchy” described later This is called “normal hierarchization” for distinction. When a state chart without a hierarchy can be hierarchized, a state chart with a hierarchy is often easier to read.

図2は、本実施形態におけるステートチャート図の階層化を説明する図である。図2に示すように、元となるステートチャート図を上位階層、詳細なステートチャート図を下位階層と呼ぶ。階層をつなぐ上位階層の状態を、“階層化状態”と呼ぶ。図2に示すように、上位階層で、現在の状態が階層化状態(図2に示す例では、「動作中」)になるたびに、下位階層のステートチャートは初期状態(図2に示す例では、「冷房中」)から開始する。上位階層で、現在の状態が階層化状態(図2に示す例では、「動作中」)で、他の状態(図2に示す例では、「停止中」)に移動する遷移(図2に示す例では、「OFF」)が起きた時、下位階層は終了する。   FIG. 2 is a diagram for explaining hierarchization of the state chart diagram in the present embodiment. As shown in FIG. 2, the original state chart diagram is called the upper hierarchy, and the detailed state chart diagram is called the lower hierarchy. The state of the upper layer connecting the layers is referred to as a “layered state”. As shown in FIG. 2, every time the current state becomes a hierarchical state (in the example shown in FIG. 2, “in operation”), the lower-level state chart is in the initial state (example shown in FIG. 2). Let ’s start with “Cooling”). In the upper layer, the current state is a hierarchized state ("in operation" in the example shown in FIG. 2), and a transition (in FIG. In the example shown, when “OFF”) occurs, the lower hierarchy ends.

図3は、本実施形態におけるステートチャート図の通常階層化を説明する図である。図3(a)に示すフラットなステートチャート図を、図3(b)に示す通常階層化したステートチャート図に書換えても同じ挙動をする。   FIG. 3 is a diagram for explaining normal hierarchization of the state chart diagram in the present embodiment. The same behavior occurs even when the flat state chart shown in FIG. 3A is rewritten to the normal hierarchical state chart shown in FIG. 3B.

「ステートチャート図の階層化(履歴階層化)」
ステートチャート図の階層には“履歴状態”、“深履歴状態”を置くことができる。“履歴状態”は、最後にその置かれた階層から出た時の、その階層の状態を表す。“深履歴状態”は、最後にその置かれた階層から出た時の、その階層とその全ての下位階層の状態を表す。階層の外部から“履歴状態”、“深履歴状態”への遷移は、その遷移の際のその階層の戻り先の状態が、それぞれ“履歴状態”、“深履歴状態”の表わす状態であることを示す。この階層を履歴階層と呼ぶ。階層のないステートチャートに対し、これと同じ挙動をする履歴階層を持ったステートチャートが存在する場合、そのようなステートチャートに書き換えることを、“履歴階層化”という。同じ挙動をするように履歴階層化できる場合には、履歴階層化したほうが読みやすくなる場合が多い。
"Hierarchization of state chart diagrams (history hierarchy)"
A “history state” and a “deep history state” can be placed in the hierarchy of the state chart diagram. “History state” represents the state of the layer when the layer was last left. The “deep history state” represents the state of the layer and all the lower layers when the layer is finally left. The transition from the outside of the hierarchy to the “history state” and “deep history state” is that the return destination state of the hierarchy at the time of the transition is a state represented by “history state” and “deep history state”, respectively. Indicates. This hierarchy is called a history hierarchy. When there is a state chart having a history hierarchy that has the same behavior as a state chart without a hierarchy, rewriting to such a state chart is called “history hierarchy”. When history hierarchies can be made so as to perform the same behavior, it is often easier to read the history hierarchy.

図4は、本実施形態におけるステートチャート図の履歴階層化を説明する図である。図4(a)に示すフラットなステートチャート図を、図4(b)に示す履歴階層化したステートチャート図に書換えても同じ挙動をする。履歴階層状態は、Hを楕円で囲んだ記号、深履歴階層状態は、Hに+を付けた記号で表す。   FIG. 4 is a diagram for explaining history hierarchization of the state chart diagram in the present embodiment. The same behavior is obtained even when the flat state chart shown in FIG. 4A is rewritten to the state chart shown in FIG. The history hierarchy state is represented by a symbol in which H is enclosed by an ellipse, and the deep history layer state is represented by a symbol obtained by adding + to H.

図4(b)に示す深履歴状態の例では、「停止中」の状態で遷移「ON」が起きると、以前に「動作中」の状態から遷移する(OFFとなる)際の最後の状態(「冷房中」もしくは「暖房中」)から動作することを表している。   In the example of the deep history state illustrated in FIG. 4B, when the transition “ON” occurs in the “stopped” state, the last state when the transition is made from the “in operation” state (turned off) previously. It represents the operation from ("cooling" or "heating").

「ステートチャート図の並列化」
ステートチャート図では、二つのステートチャート図を並列に記述して表記できる。元のステートチャート図から独立に動作する要素を切り出し、同じ挙動をする二つのステートチャート図を並列に記述したものに書き換えることを “並列化”と呼ぶ。
"Parallel statechart diagram"
In the statechart diagram, two statechart diagrams can be written and described in parallel. Extracting elements that operate independently from the original statechart diagram, and rewriting the two statechart diagrams that behave in the same way to those described in parallel is called “parallelization”.

図5は、本実施形態におけるステートチャート図の並列化を説明する図である。図5(a)に示すフラットなステートチャート図を、図5(b)に示す並列化したステートチャート図に書換えても同じ挙動をする。図5(b)に示す例では、「冷暖房状態」と「送風状態」は、独立して動作することを示している。   FIG. 5 is a diagram for explaining parallelization of the state chart diagram in the present embodiment. Even if the flat state chart shown in FIG. 5A is rewritten to the parallel state chart shown in FIG. 5B, the same behavior is obtained. In the example shown in FIG. 5B, the “cooling / heating state” and the “air blowing state” indicate that they operate independently.

<階層化と並列化の関係>
本実施形態においては、“階層化”は、“並列化”の特殊ケースとしてみなすことができる。以下、場合分けして説明する。
<Relationship between layering and parallelization>
In this embodiment, “stratification” can be regarded as a special case of “parallelization”. In the following, description will be given for each case.

(1)通常階層化(特殊ケース1)
通常階層化は、次の条件(通常階層化条件)を満たした並列化と、同じ挙動をする。
(1) Normal hierarchization (special case 1)
Normal hierarchization behaves the same as parallelization that satisfies the following conditions (normal hierarchization conditions).

a.下位に対応するステートチャートの初期状態からの遷移(“初期遷移”)は、全て、上位の階層化状態の時のみ起きる。   a. All transitions from the initial state of the state chart corresponding to the lower order (“initial transition”) occur only in the upper hierarchical state.

b.上位の階層化状態からの遷移と、同じイベント、同じ条件で、下位ステートチャートの全ての状態から初期状態への遷移(“階層脱出遷移”という)がある。   b. There are transitions from the upper hierarchical state and transitions from all the states of the lower state chart to the initial state (referred to as “hierarchy exit transition”) with the same event and the same conditions.

図6は、並列化の特殊ケース1を説明する図である。図6(a)は、状態「a3」の下にBの下位ステートチャートがある場合と同じ並列階層の例を示している。図6(a)に示す例では、下位ステートチャートBにおいて、状態「b1」から状態「b2」への遷移「e1」は、上位ステートチャートAにおいて、状態「a3」との条件が満たされることを契機とすることがわかる。図6(b)は、図6(a)に示す並列化したステートチャート図と同じ挙動をする通常階層化したステートチャート図の例を示している。   FIG. 6 is a diagram for explaining a special case 1 of parallelization. FIG. 6A illustrates an example of the same parallel hierarchy as in the case where the lower-level state chart of B is present under the state “a3”. In the example shown in FIG. 6A, the transition “e1” from the state “b1” to the state “b2” in the lower state chart B satisfies the condition of the state “a3” in the upper state chart A. It can be seen that FIG. 6B shows an example of a normal hierarchized state chart diagram that behaves the same as the parallel state chart diagram shown in FIG.

(2)履歴階層化(特殊ケース2)
履歴階層化は、次の条件(履歴階層化条件)を満たした並列化と、同じ挙動をする。
(2) History stratification (special case 2)
History stratification has the same behavior as parallelization that satisfies the following conditions (history stratification conditions).

a.下位に対応するステートチャート図の全ての遷移は、全て、上位の階層化状態の時のみ起きる。   a. All the transitions in the state chart corresponding to the lower order all occur only in the upper hierarchical state.

図7は、並列化の特殊ケース2を説明する図である。図7(a)は、状態「a3」の下にBの下位ステートチャートがある場合と同じ並列階層の例を示している。図7(b)は、図7(a)に示す並列化したステートチャート図と同じ挙動をする履歴階層化したステートチャート図の例を示している。   FIG. 7 is a diagram for explaining the special case 2 of parallelization. FIG. 7A shows an example of the same parallel hierarchy as in the case where there is a B lower state chart under the state “a3”. FIG. 7B shows an example of a state chart in a history hierarchy that has the same behavior as the parallel state chart shown in FIG.

本実施形態においては、対象となるフラットなステートチャート図の“遷移”を、二つのステートチャート図に振り分け、階層化もしくは並列化した結果を候補として生成する。階層化、並列化で分割する際、同じイベントは必ず同じステートチャート図で処理されるように行う。さらに、階層化と並列化が可能な場合には階層化を優先する。生成されるステートチャート図を読みやすくするためである。   In this embodiment, the “transition” of the target flat state chart diagram is divided into two state chart diagrams, and the result of hierarchization or parallelization is generated as a candidate. When dividing by hierarchy and parallelization, the same event is always processed in the same state chart diagram. Furthermore, when layering and parallelization are possible, priority is given to layering. This is to make the generated state chart easier to read.

一般的に、フラットなステートチャート図を同じ挙動をするように階層化もしくは並列化する場合、複数のステートチャート図のペアが“候補”として生成される。図8は、複数の候補の生成を説明する図である。後述するように、本実施形態では、複数の“候補”から最適候補に絞り込む。   In general, when a flat state chart diagram is hierarchized or parallelized so as to have the same behavior, a pair of state chart diagrams is generated as “candidates”. FIG. 8 is a diagram for explaining generation of a plurality of candidates. As will be described later, in this embodiment, a plurality of “candidates” are narrowed down to optimum candidates.

図9は、本発明の実施形態に係る階層化・並列化装置の概略構成を示すブロック図である。この装置は汎用のコンピュータ(例えばパーソナルコンピュータ(PC)等)と、同コンピュータ上で動作するソフトウェアとを用いて実現される。コンピュータとしては、CAD(Computer Aided Design)やCAE(Computer Aided Engineering)に好適なエンジニアリングワークステーション(EWS)等も含む。本実施形態はこのようなコンピュータに、対象となるステートチャート図の“遷移”を、二つのステートチャート図に振り分け、階層化もしくは並列化した結果を候補として生成するプログラムとして実施することもできる。   FIG. 9 is a block diagram showing a schematic configuration of the hierarchization / parallelization apparatus according to the embodiment of the present invention. This apparatus is realized using a general-purpose computer (for example, a personal computer (PC) or the like) and software operating on the computer. The computer includes an engineering workstation (EWS) suitable for CAD (Computer Aided Design) and CAE (Computer Aided Engineering). The present embodiment can also be implemented as a program for generating “transition” of a target state chart diagram into two state chart diagrams and generating a result of hierarchization or parallelization as candidates on such a computer.

図9に示すように、本実施形態に係る階層化・並列化装置100は、主として、入力部10、階層化・並列化候補生成部20、不適格候補棄却部30、最適候補選択部40、ステートチャートデータ格納部50、候補リスト格納部60、最適候補リスト格納部70から構成されている。   As shown in FIG. 9, the hierarchization / parallelization device 100 according to the present embodiment mainly includes an input unit 10, a hierarchization / parallelization candidate generation unit 20, an ineligible candidate rejection unit 30, an optimal candidate selection unit 40, The state chart data storage unit 50, the candidate list storage unit 60, and the optimum candidate list storage unit 70 are configured.

入力部10は、ステートチャートデータ格納部50に格納されている“ステートチャートデータ”を取り込む。“ステートチャートデータ”は、ステートチャート図を表現するためのコンピュータ上のデータ形式である。例えば、“状態リスト”、“遷移リスト”、“(初期)状態”のデータから成る。   The input unit 10 takes in “state chart data” stored in the state chart data storage unit 50. “Statechart data” is a data format on a computer for expressing a statechart diagram. For example, it includes data of “state list”, “transition list”, and “(initial) state”.

階層化・並列化候補生成部20は、元のステートチャート図の全ての遷移を、それぞれ結果となる2つのステートチャート図のどちらか、もしくは両方に振分け、“状態対応データ”に矛盾が生じないように整合性の判定を繰り返すことで、階層化・並列化した2つのステートチャート図を一つの“候補”として生成する。ここで、“状態対応データ”は、例えば、“(元のステートチャート図の)状態”、“(作成された1番目のステートチャート図の)状態”、“(作成された2番目のステートチャート図の)状態”のデータから成る。また、“候補”は、階層化・並列化の結果の一つ一つであって、例えば、“(1番目の)ステートチャートデータ”、“(2番目の)ステートチャートデータ”、“状態対応データリスト”、“種別”、“階層化状態”から成る。“状態対応データリスト”は、状態対応データが一つ以上並んだものである。“種別”は、“依存関係のある並列化”、“依存関係が無い並列化”、“履歴階層化”、“通常階層化”のいずれに該当するかの情報である。“階層化状態”は、階層化している“状態”を具体的に示す。   The hierarchization / parallelization candidate generation unit 20 distributes all transitions in the original state chart diagram to either or both of the resulting two state chart diagrams, and there is no contradiction in the “state correspondence data”. In this way, by repeating the consistency determination, two state charts that are hierarchized and parallelized are generated as one “candidate”. Here, the “state correspondence data” includes, for example, “state (in the original state chart diagram)”, “(state in the created first state chart diagram)”, “(created second state chart diagram). It consists of "state" data. “Candidate” is one of the results of layering / parallelization. For example, “(first) state chart data”, “(second) state chart data”, “state correspondence” It consists of “data list”, “type”, and “hierarchical state”. The “state correspondence data list” is a list of one or more state correspondence data. The “type” is information indicating which of “parallelization with dependency”, “parallelization without dependency”, “history hierarchy”, and “normal hierarchy”. The “hierarchical state” specifically indicates a hierarchical “state”.

ステートチャート図の階層化およびステートチャート図の並列化については、後述する。   The hierarchization of state chart diagrams and the parallelization of state chart diagrams will be described later.

不適格候補棄却部30は、階層化・並列化候補生成部20で生成された2つのステートチャート図の“候補”について、保守性が高いか否かを判定し、保守性の高いものを残して、生成する。ここで、「保守性が高い」とは、換言すれば、生成したステートチャート図が、「読みやすい」ことを意味している。   The ineligible candidate rejection unit 30 determines whether or not the “candidates” in the two state chart diagrams generated by the hierarchization / parallelization candidate generation unit 20 have high maintainability, and leaves the one with high maintainability. And generate. Here, “high maintainability” means, in other words, that the generated state chart diagram is “easy to read”.

不適格候補棄却部30は、低保守性判定部31と、不適判定部32で構成することができる。低保守性判定部31は、生成された2つのステートチャート図が「同時に起こることの無い状態」で同じイベントを受ける遷移が存在するか検査し、存在する場合には、保守性が低いと判定する。「同時に起こることの無い状態」は、状態対応データリストから得る。不適判定部32は、生成された2つのステートチャート図の、通常階層化の“階層脱出遷移”以外で、同じイベントを結果となる両方のステートチャート図が同時に受け取るものを不適と判定する。   The ineligible candidate rejection unit 30 can be composed of a low maintainability determination unit 31 and an ineligibility determination unit 32. The low maintainability determination unit 31 checks whether there are transitions that receive the same event in the two statechart diagrams that are generated "in a state that does not occur at the same time". To do. The “state that does not occur simultaneously” is obtained from the state correspondence data list. The inappropriateness determination unit 32 determines that the two received statechart diagrams simultaneously receive the same event other than the “hierarchy escape transition” of the normal hierarchization of the two generated statechart diagrams.

最適候補選択部40は、生成された複数の候補(ステートチャート図のペア)について、より保守性の高いものに絞り込む。より保守性の高いものの絞り込みには、ステートチャート図のペアについて保守性に関する指標値を利用するのが好適である。保守性に関する指標値は、例えば、依存関係のある並列化<依存関係が無い並列化<履歴階層化<通常階層化のように、重み付けするのが好適である。絞り込まれた結果は、最適候補リストとなる。絞り込みについては、後述する。   The optimal candidate selection unit 40 narrows down the plurality of generated candidates (pairs in the state chart diagram) to those with higher maintainability. In order to narrow down those having higher maintainability, it is preferable to use an index value relating to maintainability for a pair of state chart diagrams. It is preferable to weight the index values related to maintainability, for example, parallelization with a dependency relationship <parallelization without a dependency relationship <history hierarchy <normal hierarchy>. The narrowed down result is an optimal candidate list. The narrowing will be described later.

ステートチャートデータ格納部50は、ステートチャートデータを格納する。   The state chart data storage unit 50 stores state chart data.

候補リスト格納部60は、“候補リスト”を格納する。“候補リスト”は、階層化・並列化の結果である“候補”が複数並んだものである。   The candidate list storage unit 60 stores a “candidate list”. The “candidate list” is a list in which a plurality of “candidates” as a result of hierarchization and parallelization are arranged.

最適候補リスト格納部70は、最適候補選択部40で絞り込まれた最適候補リストを格納する。   The optimum candidate list storage unit 70 stores the optimum candidate list narrowed down by the optimum candidate selection unit 40.

<動作例>
次に、以上のように構成された階層化・並列化装置の動作例を説明する。まず、図10は、本実施形態において表れる各データの構造を示す図である。図10において、「*」は当該データが1つ以上並んだものを表す。また、下線が付されたデータは、それ以上分解されないデータで、文字列で表される。
<Operation example>
Next, an operation example of the hierarchization / parallelization apparatus configured as described above will be described. First, FIG. 10 is a diagram showing a structure of each data appearing in the present embodiment. In FIG. 10, “*” indicates that one or more pieces of the data are arranged. The underlined data is data that is not further decomposed and is represented by a character string.

図11は、動作例の説明において使用する元となるステートチャート図を示す図である。図11(a)に示すステートチャート図は、図11(b)に示すツリー形式でも表現することができる。図11の動作例に示すステートチャート図におけるデータ構造は、図12に示すようになる。   FIG. 11 is a diagram showing a state chart as a source used in the description of the operation example. The state chart shown in FIG. 11A can also be expressed in the tree format shown in FIG. The data structure in the state chart shown in the operation example of FIG. 11 is as shown in FIG.

階層化・並列化装置の動作は、大別すると、(1)階層化・並列化候補生成処理、(2)不適格候補棄却処理、(3)最適候補選択処理となり、(2)不適格候補棄却処理は、(2a)低保守性判定処理、(2b)不適判定処理に細分される。   The operation of the hierarchization / parallelization device can be broadly divided into (1) hierarchization / parallelization candidate generation processing, (2) ineligible candidate rejection processing, (3) optimum candidate selection processing, and (2) ineligible candidates. The rejection process is subdivided into (2a) low maintainability determination process and (2b) inappropriate determination process.

<階層化・並列化候補生成処理>
階層化・並列化候補生成部20は、元になるステートチャート図Sを入力として、これから階層化・並列化候補であるステートチャート図A,Bを生成する。以下に候補生成のアルゴリズムの大略を記すが、検索パターン(i)、(ii)、(iii)のどれかの選択を繰返しながら候補を生成する。選択肢をすべて網羅することで全ての候補を見つけることができる。A(ai)は、ステートチャート図Aの状態がaiの時、「真」であり、B(bj)はステートチャート図Bの状態がbjの時、「真」である。これを、“状態制約”と呼ぶ。
<Tiering / parallelization candidate generation processing>
The hierarchization / parallelization candidate generation unit 20 receives the original statechart diagram S and generates statechart diagrams A and B which are hierarchization / parallelization candidates. The outline of the algorithm for candidate generation is described below, and candidates are generated while repeating selection of any of the search patterns (i), (ii), and (iii). All candidates can be found by covering all options. A (ai) is “true” when the state of the state chart diagram A is ai, and B (bj) is “true” when the state of the state chart diagram B is bj. This is called “state constraint”.

(手順1)A、Bの初期状態を作成する。初期状態の作成は、元になるステートチャート図S初期状態から、その状態を始点とする各遷移を2つのステートチャート図A、Bに振り分けていく。振り分けを幅優先でおこない、全ての遷移を処理したら終了する。尚、図11に示す動作例では、遷移は簡単のため、イベントのみで構成されるとして記述している。図13は、図11に示す動作例において、初期状態の作成を説明する図である。図13に示すように、作成された初期状態から、状態の対応関係がわかる。元になるステートチャート図Sが「停止中」であるとは、ステートチャート図Aがa1の状態で、ステートチャート図Bがb1の状態であることに対応している。 (Procedure 1) Create initial states of A and B. The initial state is created by allocating each transition starting from the initial state chart S to the two state charts A and B. When the distribution is performed with priority in width and all transitions are processed, the process ends. In the operation example shown in FIG. 11, the transition is described as being composed only of events for the sake of simplicity. FIG. 13 is a diagram for explaining the creation of the initial state in the operation example shown in FIG. As shown in FIG. 13, the correspondence between the states can be found from the created initial state. The original state chart diagram S being “stopped” corresponds to the state chart diagram A being in the state a1 and the state chart diagram B being in the state b1.

(手順2)Aの状態の集合JA、Bの状態の集合JB、元のステートチャート図Sと作成されるステートチャート図A、Bの“状態の対応”を示すデータJT、最終的な状態対応データリストの結果JT’として、JT、JT’の初期状態を決める。 (Procedure 2) State state set JA, B state set JB, original state chart diagram S and created state chart diagrams A and B data JT indicating state correspondence, final state correspondence As the result JT ′ of the data list, the initial state of JT and JT ′ is determined.

(手順3)JTから“状態の対応”を1つ取り出す。図12に示す状態の対応関係は、手順3のJT’に対応している。JTが空なら手順8へ移行する。 (Procedure 3) One “state correspondence” is extracted from JT. The state correspondence shown in FIG. 12 corresponds to JT ′ in step 3. If JT is empty, go to step 8.

(手順4)取り出した状態対応データの元のステートチャート図Sの“状態”から、“遷移”を1つ取り出し、以下の検索パターン(i)、(ii)、(iii)のどれかを選び実行する。 (Procedure 4) One “transition” is extracted from the “state” in the original state chart diagram S of the extracted state correspondence data, and one of the following search patterns (i), (ii), and (iii) is selected. Run.

(i)取り出した“遷移”を、ステートチャート図Aに割り振る。   (I) Allocate the extracted “transition” to the state chart diagram A.

(ii)取り出した“遷移”を、ステートチャート図A、Bに割り振る。   (Ii) The extracted “transition” is allocated to the state chart diagrams A and B.

(iii)取り出した“遷移”を、ステートチャート図Bに割り振る。
図14は、動作例の遷移「ON」を振り分けるパターンの作成を説明する図である。図14に示すように、状態リストは、各ステートチャート図を構成する状態を表す。ここでは、JA={a1、a2}、JB={b1}となっている。
(Iii) The extracted “transition” is allocated to the state chart diagram B.
FIG. 14 is a diagram illustrating the creation of a pattern for distributing the transition “ON” in the operation example. As shown in FIG. 14, the state list represents the states constituting each state chart diagram. Here, JA = {a1, a2} and JB = {b1}.

図15は、動作例の「冷房中」から「暖房中」への遷移「冷暖切替」を振り分けるパターンの作成を説明する図である。各パターンに対して、遷移「冷暖切替」に対応する遷移を作成していくが、図15に示す例では、パターン(i)を抜粋して示している。振り分け後の、状態の対応関係は、図示のようになる。   FIG. 15 is a diagram illustrating the creation of a pattern for distributing the transition “cooling / heating switching” from “during cooling” to “during heating” in the operation example. For each pattern, a transition corresponding to the transition “cooling / heating switching” is created. In the example shown in FIG. 15, the pattern (i) is extracted and shown. The correspondence between states after distribution is as shown in the figure.

図16は、動作例の遷移「OFF」を振り分けるパターンの作成を説明する図である。各パターンに対して、遷移「OFF」に対応する遷移を作成していくが、図16に示す例では、パターン(i)、(iii)を抜粋して示している。振り分け後の、状態の対応関係は、図示のようになる。   FIG. 16 is a diagram for explaining creation of a pattern for distributing the transition “OFF” in the operation example. Transitions corresponding to the transition “OFF” are created for each pattern. In the example shown in FIG. 16, patterns (i) and (iii) are extracted and shown. The correspondence between states after distribution is as shown in the figure.

“遷移”が空になったら手順3へ移行する。   When “transition” becomes empty, the process proceeds to step 3.

(手順5)矛盾があれば、当該振り分けパターンは捨てる。図16に示す例では、振り分け後のパターン(i)、(iii)、(i)において、「停止中」に状態の対応関係{a1、b2}が割り当てられるが、既に{a1、b1}も割り当てられている。同様に、振り分け後のパターン(i)、(iii)、(iii)において、「停止中」に状態の対応関係{a2、b2}が割り当てられるが、既に{a1、b1}も割り当てられている。図17は、矛盾のチェックを説明する図である。パターン(i)、(iii)、(i)において、「停止中」の際のステートチャート図Bの状態がb1の場合とb2の場合ができてしまい、矛盾する。そこで、パターン(i)、(iii)、(i)は捨てる。同様に、パターン(i)、(iii)、(iii)において、「停止中」の際のステートチャート図Aの状態がa1の場合とa2の場合ができてしまい、矛盾する。そこで、パターン(i)、(iii)、(iii)は捨てる。 (Procedure 5) If there is a contradiction, the distribution pattern is discarded. In the example shown in FIG. 16, in the patterns (i), (iii), and (i) after the distribution, the state correspondence {a1, b2} is assigned to “stopped”, but already {a1, b1} Assigned. Similarly, in the patterns (i), (iii), and (iii) after the distribution, the state correspondence {a2, b2} is assigned to “stopped”, but {a1, b1} is already assigned. . FIG. 17 is a diagram for explaining a contradiction check. In the patterns (i), (iii), and (i), the state of the state chart diagram B when “stopped” can be b1 and b2, which are contradictory. Therefore, patterns (i), (iii), and (i) are discarded. Similarly, in the patterns (i), (iii), and (iii), the state of the state chart diagram A at the time of “stopped” can be a1 and a2, and there is a contradiction. Therefore, the patterns (i), (iii), and (iii) are discarded.

(手順6)手順3 へ移行する。 (Procedure 6) Move to procedure 3.

図18は、パターン(i)、(iii)、(ii)に対して、動作例の「暖房中」から「冷房中」への遷移「冷暖切替」を振り分けるパターンの作成を説明する図である。図18に示すように、「冷暖切替」は既にステートチャート図Bへ割り付けられているので、最終的に不適格候補棄却部30により捨てられる。   FIG. 18 is a diagram for explaining the creation of a pattern for allocating the transition “cooling / heating switching” from “heating” to “cooling” in the operation example with respect to patterns (i), (iii), and (ii). . As shown in FIG. 18, since “cooling / heating switching” has already been assigned to the state chart diagram B, it is finally discarded by the ineligible candidate rejecting unit 30.

次に、図19は、パターン(i)、(iii)、(ii)、(iii)に対して、動作例の「暖房中」から「停止中」への遷移「OFF」を振り分けるパターンの作成を説明する図である。図19に示すように、「OFF」は既にステートチャート図A、Bに割り付けられているので、パターン(i)、(iii)、(ii)、(iii)、(i)とパターン(i)、(iii)、(ii)、(iii)、(iii)は最終的に不適格候補棄却部30により捨てられる。   Next, FIG. 19 shows creation of a pattern for allocating the transition “OFF” from “heating” to “stopping” in the operation example to patterns (i), (iii), (ii), and (iii). FIG. As shown in FIG. 19, since “OFF” has already been assigned to the state charts A and B, the patterns (i), (iii), (ii), (iii), (i) and the pattern (i) , (Iii), (ii), (iii), (iii) are finally discarded by the ineligible candidate rejecting unit 30.

(手順7)まとめられる遷移をまとめる。 (Procedure 7) Summarize transitions to be summarized.

(手順8)取り除ける状態制約は取り除く。 (Procedure 8) The state restrictions that can be removed are removed.

図20は、遷移条件の整理を説明する図である。ステートチャート図Bの状態b2は、状態対応データから、暖房中={a2、b2}のときにのみ成立する。つまり、b2の状態であれば必ずa2の状態であることがわかる。したがって、図20(b)に示すように、状態b2からのエッジの条件A(a2)は、常に「真」なので省略することができる。   FIG. 20 is a diagram for explaining the arrangement of transition conditions. The state b2 in the state chart diagram B is established only when heating = {a2, b2} from the state correspondence data. That is, it can be seen that the state of a2 is always in the state of b2. Therefore, as shown in FIG. 20B, the edge condition A (a2) from the state b2 is always “true” and can be omitted.

(手順9)通常階層化条件、履歴階層化条件に従って、階層化できるものは階層表現に変える。図21は、候補の階層化を説明する図である。上述してきた手順1〜手順8を経て、最終的に図21(a)に示すステートチャート図A、Bが生成される。生成されたステートチャート図A、Bは、通常階層化条件を満たしている。そこで、読みやすくするために階層化した形に書き換えると、図21(b)に示すようになる。 (Procedure 9) In accordance with the normal hierarchization condition and the history hierarchization condition, what can be hierarchized is changed into a hierarchical expression. FIG. 21 is a diagram for explaining candidate hierarchization. Through the procedure 1 to procedure 8 described above, state charts A and B shown in FIG. 21A are finally generated. The generated state chart diagrams A and B satisfy the normal hierarchization condition. Therefore, when it is rewritten in a hierarchical form for easy reading, it becomes as shown in FIG.

上述してきた動作例では、最終的に出来上がった候補は1つだけなので、以上で階層化・並列化候補生成処理を終わる。   In the operation example described above, since only one candidate is finally completed, the layered / parallelized candidate generation process is completed.

図22は、結果となる候補リストを生成する階層化・並列化候補生成処理におけるデータ構造を表す図である。   FIG. 22 is a diagram illustrating a data structure in a hierarchization / parallelization candidate generation process for generating a candidate list as a result.

<階層化・並列化候補生成処理の詳細フロー>
図23は、階層化・並列化候補生成処理の詳細例を示すフローチャートである。
<Detailed flow of hierarchical / parallelization candidate generation processing>
FIG. 23 is a flowchart illustrating a detailed example of the hierarchization / parallelization candidate generation process.

まず、元のステートチャート図Sの初期状態をs1、s1以外の状態の集合をJS、ステートチャート図Aの初期状態をa1、ステートチャート図Bの初期状態をb1であるとする。   First, assume that the initial state of the original state chart diagram S is s1, the set of states other than s1 is JS, the initial state of state chart diagram A is a1, and the initial state of state chart diagram B is b1.

ステートチャート図Aの状態の集合(状態リスト)をJA、ステートチャート図Bの状態の集合(状態リスト)をJB、元のステートチャート図Sと作成されるステートチャート図A、Bの状態対応を示すデータをJT={(s1.(a1,b1))}、最終的に状態対応データリストの結果となるJT’をJT’={(s1.(a1,b1))}とする(ステップS231)。   A state set (state list) in the state chart diagram A is JA, a state set (state list) in the state chart diagram B is JB, and the state chart diagram A and B corresponding to the original state chart diagram S is created. The data shown is JT = {(s1. (A1, b1))}, and JT ′ finally resulting in the state correspondence data list is JT ′ = {(s1. (A1, b1))} (step S231). ).

続いて、状態対応データリストJTから状態対応データを1つ取り出し、これを、(si , (as,bs))とする(ステップS232)。状態対応データリストJTが空ならばステップS236へ移行する。   Subsequently, one piece of state correspondence data is extracted from the state correspondence data list JT, and this is set as (si, (as, bs)) (step S232). If the state correspondence data list JT is empty, the process proceeds to step S236.

次に、元のステートチャート図Sの遷移リストから、siからの遷移を1つ取り出し、これをsi―E/[C]F→sjとする(ステップS233)。遷移リストが空ならばステップS232へ移行する。   Next, one transition from si is extracted from the transition list of the original state chart diagram S, and this is set as si-E / [C] F → sj (step S233). If the transition list is empty, the process proceeds to step S232.

以下の検索パターン(i)、(ii)、(iii)のどれかを選び実行する(ステップS234)。   One of the following search patterns (i), (ii), and (iii) is selected and executed (step S234).

(i)sj=(at,bs)としてステートチャート図Aに遷移as―E/[C∧B(bs)]F→atと状態atを加える。JT、JT’に(sj, (at,bs))を加える。   (I) The transition as-E / [C∧B (bs)] F → at and the state at are added to the state chart diagram A as sj = (at, bs). Add (sj, (at, bs)) to JT and JT '.

(ii)sj=(as,bt) としてステートチャート図Bに遷移bs―E/[C∧A(as)]F→btと状態btを加える。JT 、JT’に(sj, (as,bt))を加える。   (Ii) Transition bs−E / [C∧A (as)] F → bt and state bt are added to the state chart diagram B as sj = (as, bt). (Sj, (as, bt)) is added to JT and JT ′.

(iii)sj=(at,bt) としてステートチャート図Aに遷移as―E/[C∧B(bs)]F→atと状態atを加え、ステートチャート図Bに遷移bs―E/[C∧A(as)]F→btと状態btを加える。 JT、JT’に(sj, (at,bt))を加える。
次に、それぞれ、あるai,biに対し(sj , (ai,bi))∈JT’ならば、sj =(ai,bi)として整合性をチェックする(ステップS235)。つまり、(i)の場合であれば、at=ai,bs=bi、(ii)の場合であれば、as=at,bt=biとして、矛盾の有無をチェックする。元のステートチャート図Sでは異なる状態sn,smが、どちらもあるaj bjに対してsn=(aj,bj), sm=(aj,bj)となる場合、もしくは、ある状態snが異なるajbj、ajbjに対して(どちらか一方だけでも可)、sn=(aj,bj), sn=(aj,bj)となる場合には、矛盾することになる。整合性が取れていないならば失敗である。
(Iii) Transition as-E / [C∧B (bs)] F → at and state at are added to statechart diagram A as sj = (at, bt), and transition bs-E / [C in statechart diagram B ∧A (as)] F → bt and add state bt. Add (sj, (at, bt)) to JT and JT '.
Next, if (sj, (ai, bi)) εJT ′ for a certain ai, bi, the consistency is checked as sj = (ai, bi) (step S235). That is, in the case of (i), at = ai, bs = bi, and in the case of (ii), as = at, bt = bi, and the presence or absence of contradiction is checked. In the original statechart diagram S, different states sn, sm are both aj bj where sn = (aj, bj), sm = (aj, bj), or a certain state sn is different ajbj, If sn = (aj, bj), sn = (aj, bj) for ajbj (either one is acceptable), there is a contradiction. If it is not consistent, it is a failure.

次に、同じ状態からの遷移で、条件の状態制約のみが違うものは∨を使って1つにまとめる(ステップS236)。例えば、as―E/[C∧B(bs)]F→at、as―E/[C∧B(bu)]F→atをまとめると、as―E/[C∧(B(bs)∨B(bu))]F→atとなる。   Next, the transitions from the same state, which are different only in the condition state constraints, are combined into one using ∨ (step S236). For example, if as-E / [C∧B (bs)] F → at and as―E / [C∧B (bu)] F → at are combined, as―E / [C∧ (B (bs) ∨ B (bu))] F → at.

次に、各状態に対して、JT’から同時に起こる他方のステートチャート図の状態の集合を見つける。この際、この状態からの遷移で、条件の状態制約とこの集合が一致するものがあれば、この遷移の状態制約を取り除く(ステップS237)。   Next, for each state, find the set of states in the other statechart diagram that occur simultaneously from JT '. At this time, if there is a transition from this state that matches the state constraint of the condition and this set, the state constraint of this transition is removed (step S237).

その後、通常階層化条件、履歴階層化条件に従って、階層化できるものは階層表現に変える。   Thereafter, what can be hierarchized is changed into a hierarchical expression according to the normal hierarchization condition and the history hierarchization condition.

上述したアルゴリズムが成功で終了した場合に、1つの分割パターンが見つかる。失敗した場合、選択候補が残っているもっとも近い検索パターン(i)、(ii)、(iii)の選択まで戻り、別の候補を網羅的に探索することにより、全ての分割パターンを見つけることができる。   If the above algorithm ends successfully, one division pattern is found. In the case of failure, all the divided patterns can be found by returning to the selection of the nearest search pattern (i), (ii), (iii) where the selection candidate remains and exhaustively searching for another candidate. it can.

<不適格候補棄却処理>
図24は、不適格候補棄却処理の流れを示すフローチャートである。不適格候補棄却処理においては、階層化・並列化候補生成部20で、階層化・並列化された候補(ステートチャートデータのペア)が生成される毎に、当該候補を取り込み(ステップS241)、当該候補について、所定の判定基準に基づいて、不適格な候補として棄却すべきか否かを判定する(ステップS242)。判定基準としては、保守性の良好性如何で判定するのが好適である。不適格でないものが、1つの階層化・並列化候補(2つのステートチャート)として出力される。
<Disqualification candidate rejection process>
FIG. 24 is a flowchart showing the flow of the ineligible candidate rejection process. In the ineligible candidate rejection process, every time a hierarchically / parallelized candidate (statechart data pair) is generated by the hierarchical / parallelized candidate generation unit 20, the candidate is fetched (step S241), It is determined whether or not the candidate should be rejected as an ineligible candidate based on a predetermined criterion (step S242). As a determination criterion, it is preferable to make a determination based on good maintainability. What is not ineligible is output as one layered / parallelized candidate (two state charts).

<不適判定処理>
本実施形態では、以下に該当する場合に、階層化・並列化された候補(ステートチャートデータのペア)が「不適」と判定する。
<Inappropriate judgment processing>
In the present embodiment, a hierarchically / parallelized candidate (a pair of statechart data) is determined to be “inappropriate” in the following cases.

(類型a)2つのステートチャート図への分割の際、同じイベントをステートチャート図Aのみが受けたり、ステートチャート図Bのみが受ける等、受けるステートチャート図が状況によって異なるもの。 (Type a) When dividing into two state chart diagrams, only the state chart diagram A receives the same event or only the state chart diagram B receives the state chart diagram depending on the situation.

(類型b)通常階層化での階層状態から通常状態への遷移以外で、ステートチャート図Aと、ステートチャート図Bが同じイベントを受け取るもの。 (Type b) The state chart diagram A and the state chart diagram B receive the same event other than the transition from the hierarchical state to the normal state in the normal hierarchization.

図25は、類型aの場合の不適判定処理の流れを示すフローチャートである。   FIG. 25 is a flowchart showing the flow of the inappropriateness determination process in the case of type a.

まず、二つのステートチャート図A,Bが受け取る全てのイベントを検索、このイベントの集合をEとする(ステップS2501)。   First, all events received by the two state chart diagrams A and B are searched, and a set of these events is set as E (step S2501).

各イベントe∈Eに対し(ステップS2502)、ステートチャート図A、Bの一方のみにしかeによる遷移が無いか否かを判定する(ステップS2503)。一方のみにしかeによる遷移が無いならば不適ではないので、次の候補(ステートチャート図のペア)についての判定へ移行する。   For each event eεE (step S2502), it is determined whether only one of the state charts A and B has a transition due to e (step S2503). If only one side has a transition due to e, it is not suitable, and the process proceeds to the determination for the next candidate (state chart diagram pair).

ステートチャート図A、Bの両方にeによる遷移がある場合、ステートチャート図A、Bのそれぞれeによる遷移の集合をA(e),B(e)とする(ステップS2504)。   When there is a transition due to e in both statechart diagrams A and B, a set of transitions due to e in each of the statechart diagrams A and B is set to A (e) and B (e) (step S2504).

各s∈A(e)に対し(ステップS2505)、sの開始状態をk(s)とおく。状態対応データからk(s)と同時に起こるBの状態を全て取り出し、これをB_k(s)とする(ステップS2506)。   For each sεA (e) (step S2505), the starting state of s is set to k (s). All the states of B that occur simultaneously with k (s) are extracted from the state correspondence data and set as B_k (s) (step S2506).

各t∈B_k(s)に対し(ステップS2507)、tからsと同じイベント、条件による遷移が無いか否かを判定する(ステップS2508)。該当する遷移がなければ不適と判定する。   For each t∈B_k (s) (step S2507), it is determined whether or not there is a transition from t to the same event and condition as s (step S2508). If there is no corresponding transition, it is determined as inappropriate.

該当する遷移があれば、各u∈B(e)に対し(ステップS2509)、uの開始状態をk(u)とおく。状態対応データからk(u)と同時に起こるAの状態を全て取り出し、これを A_k(u) とする(ステップS2510)。   If there is a corresponding transition, the starting state of u is set to k (u) for each uεB (e) (step S2509). All the states of A that occur simultaneously with k (u) are extracted from the state correspondence data, and are set as A_k (u) (step S2510).

各v∈A_k(u)に対し(ステップS2511)、vからuと同じイベント、条件による遷移が無いか否かを判定する(ステップS2512)。該当する遷移がなければ不適と判定する。該当する遷移があれば、「適」と判定する。   For each vεA_k (u) (step S2511), it is determined whether there is no transition from v to u with the same event and condition (step S2512). If there is no corresponding transition, it is determined as inappropriate. If there is a corresponding transition, it is determined as “appropriate”.

図26は、類型bの場合の不適判定処理の流れを示すフローチャートである。   FIG. 26 is a flowchart showing the flow of the inappropriateness determination process in the case of type b.

まず、通常階層化か否かを判定する(ステップS2601)。通常階層化ならば、「適」と判定する。   First, it is determined whether or not normal hierarchization is performed (step S2601). If it is normal hierarchization, it is determined as “suitable”.

通常階層化でないとき、各イベントe∈Eに対し(ステップS2602)、ステートチャート図A、Bの一方のみにしかeによる遷移が無いかを判定する(ステップS2603)。一方のみにしかeによる遷移が無いならば、履歴階層化ではないので、次の候補(ステートチャート図のペア)についての判定へ移行する。   When it is not normal hierarchization, for each event eεE (step S2602), it is determined whether there is a transition due to e in only one of the state chart diagrams A and B (step S2603). If there is a transition due to e only in one side, it is not a history stratification, and the process proceeds to determination on the next candidate (a pair in the state chart diagram).

ステートチャート図A、Bの両方にeによる遷移がある場合、A、Bそれぞれeによる遷移の集合をA(e), B(e)とする(ステップS2604)。   When there are transitions due to e in both of the state chart diagrams A and B, a set of transitions due to each of A and B is defined as A (e) and B (e) (step S2604).

各s∈A(e)に対し(ステップS2605)、sの開始状態をk(s)とおく。   For each sεA (e) (step S2605), the starting state of s is set to k (s).

状態対応データからk(s)と同時に起こるBの状態を全て取り出し、B_k(s)とする(ステップS2606)。   All the B states that occur simultaneously with k (s) are extracted from the state correspondence data and set as B_k (s) (step S2606).

各t∈B_k(s)に対し(ステップS2607)、tからsと同じイベント、条件による遷移があるか否かを判定する(ステップS2608)。あれば不適と判定する。   For each tεB_k (s) (step S2607), it is determined whether there is a transition from t to the same event and condition as s (step S2608). If it is present, it is determined as inappropriate.

各u∈B(e)に対し(ステップS2609)、
uの開始状態をk(u)とおく。状態対応データからk(u)と同時に起こるAの状態を全て取り出し、A_k(u)とする(ステップS2610)。
For each u∈B (e) (step S2609),
Let u (u) be the starting state of u. All the states of A that occur simultaneously with k (u) are extracted from the state correspondence data and set as A_k (u) (step S2610).

各v∈A_k(u)に対し(ステップS2611)、
vからuと同じイベント、条件による遷移があるか否かを判定する(ステップS2612)。
For each v∈A_k (u) (step S2611),
It is determined whether there is a transition due to the same event and condition as v to u (step S2612).

該当する遷移があれば不適と判定する。該当する遷移がなければ、「適」と判定する。   If there is a corresponding transition, it is determined as inappropriate. If there is no corresponding transition, it is determined as “appropriate”.

<最適候補選択処理>
図27は、最適候補選択処理の流れを示すフローチャートである。最適候補選択処理においては、階層化・並列化候補生成部20で、階層化・並列化された候補(ステートチャートデータのペア)が生成される毎に(ステップS271)、次の候補の有無を判定する(ステップS272)。
<Optimum candidate selection process>
FIG. 27 is a flowchart showing the flow of the optimum candidate selection process. In the optimal candidate selection process, each time a hierarchically / parallelized candidate (statechart data pair) is generated by the hierarchical / parallelization candidate generation unit 20 (step S271), the presence / absence of the next candidate is determined. Determination is made (step S272).

全ての候補の生成が終わると(ステップS272でNO)、最適候補選択部40において、全ての候補を、“保守性比較手段”で整列する(ステップS273)。“保守性比較手段”は、例えば、階層化・並列化されたステートチャート図のペアに対し、所定の指標値により、そのペアに対する保守性の良い・悪いを表す全順序を付与するものである。   When the generation of all candidates is completed (NO in step S272), in the optimum candidate selection unit 40, all candidates are aligned by the “maintainability comparison unit” (step S273). “Conservativeness comparison means”, for example, gives a total order indicating good / bad maintainability to a pair of statechart diagrams that are hierarchized / parallelized by a predetermined index value. .

次に、最も良い候補(複数ある場合には複数)の集合を選択して(ステップS274)、出力する。   Next, a set of the best candidates (a plurality when there are a plurality of candidates) is selected (step S274) and output.

<指標値による選択処理>
最適候補選択部40において、階層化・並列化された候補(ステートチャートデータのペア)を、依存関係のある並列化、依存関係が無い並列化、履歴階層化、通常階層化に分類し、通常階層化>履歴階層化>依存関係が無い並列化>依存関係のある並列化と順序を判定する。図28は、保守性に関する指標値による最適候補の分類処理の流れを示すフローチャートである。
<Selection process by index value>
In the optimal candidate selection unit 40, candidates that are layered and parallelized (statechart data pairs) are classified into parallelization with dependency, parallelization without dependency, history hierarchization, and normal hierarchization. Hierarchy> History hierarchy> Parallelization without dependency> Parallelization with dependency and order are determined. FIG. 28 is a flowchart showing the flow of the optimum candidate classification process based on the index value related to maintainability.

まず、(a)下位に対応するステートチャート図の初期状態からの遷移は、全て、上位の階層化状態の時のみ起きる、(b)上位の階層化状態からの遷移と、同じイベント、同じ条件で、下位ステートチャート図の全ての状態から初期状態への遷移がある、の条件を満たすか否かを判定する(ステップS281)。上記条件を満たす(ステップS281でYes)場合には、“通常階層”と判定する(ステップS282)。   First, (a) all transitions from the initial state of the state chart corresponding to the lower order occur only in the upper hierarchical state, and (b) the same event and the same condition as the transition from the upper hierarchical state. Thus, it is determined whether or not the condition that there is a transition from all the states in the lower state chart diagram to the initial state is satisfied (step S281). If the above condition is satisfied (Yes in step S281), it is determined as “normal hierarchy” (step S282).

次に、下位に対応するステートチャート図の全ての遷移は、全て、上位の階層化状態の時のみ起きるか否かを判定する(ステップS283)。係る条件を満たす(ステップS283でYes)場合には、“履歴階層”と判定する(ステップS284)。   Next, it is determined whether or not all the transitions in the state chart corresponding to the lower level occur only in the upper hierarchical state (step S283). When such a condition is satisfied (Yes in step S283), it is determined as “history hierarchy” (step S284).

次に、全ての遷移に、もう一方の状態を参照する条件が含まれていないか否かを判定する(ステップS285)。係る条件を満たす(ステップS285でYes)場合には、“依存関係が無い並列化”と判定する(ステップS286)。   Next, it is determined whether or not all transitions include a condition that refers to the other state (step S285). If such a condition is satisfied (Yes in step S285), it is determined that “parallelization without dependency” (step S286).

上記のいずれにも分類されない候補は、“依存関係のある並列化”と判定する(ステップS287)。   Candidates that are not classified into any of the above are determined as “parallelization with dependency” (step S287).

<最適候補選択の一例>
最適候補選択部40における最適候補選択の一例を説明する。図29は、指標値による最適候補選択の一例を示す図である。図29(a)に示す元のステートチャート図から、図29(b)に示す候補1、図29(c)に示す候補2が生成される。図29(b)に示すように、候補1は、履歴階層化したステートチャートデータのペアである。図29(c)に示すように、候補2は、依存関係のある並列化したステートチャートデータのペアである。よって、候補1が最適候補として選択される。
<Example of optimal candidate selection>
An example of optimal candidate selection in the optimal candidate selection unit 40 will be described. FIG. 29 is a diagram illustrating an example of optimal candidate selection based on index values. From the original state chart shown in FIG. 29A, candidate 1 shown in FIG. 29B and candidate 2 shown in FIG. 29C are generated. As shown in FIG. 29 (b), candidate 1 is a pair of state chart data in a history hierarchy. As shown in FIG. 29 (c), candidate 2 is a pair of parallel statechart data having a dependency relationship. Therefore, candidate 1 is selected as the optimal candidate.

<実施例>
ここでは、脱水機能が「強」と「弱」を選べる全自動洗濯機における状態遷移を例にとって図示する。図30は、全自動洗濯機の状態遷移をフラットなステートチャート図で示した図である。図30に示す元のステートチャート図からは、通常階層化と依存関係のある階層化が可能である。そこで、候補絞り込み機能に基づいて通常階層化を選択する。図31は、候補絞り込み機能に基づいて選択したステートチャート図の一例を示す図である。
<Example>
Here, the state transition in the fully automatic washing machine in which the dehydration function can select “strong” or “weak” is illustrated as an example. FIG. 30 is a diagram showing a state transition of the fully automatic washing machine in a flat state chart diagram. From the original state chart shown in FIG. 30, it is possible to make a hierarchy having a dependency relationship with the normal hierarchy. Therefore, the normal hierarchization is selected based on the candidate narrowing function. FIG. 31 is a diagram illustrating an example of a state chart selected based on the candidate narrowing function.

さらに、状態“ON”の下位階層のステートチャート図を階層化・並列化することが可能である。係る処理結果からは、さらに履歴階層化と依存関係のある並列化したものが候補となりうる。そこで、候補絞り込み機能に基づいて通常階層化を選択する。図32は、候補絞り込み機能に基づいて選択したステートチャート図の一例を示す図である。   Furthermore, it is possible to hierarchize / parallelize the state chart diagram of the lower hierarchy of the state “ON”. From the processing result, a parallelized one having a dependency relationship with the history stratification can be a candidate. Therefore, the normal hierarchization is selected based on the candidate narrowing function. FIG. 32 is a diagram illustrating an example of a state chart selected based on the candidate narrowing function.

以上説明したように、本実施形態によれば、対象となるフラットなステートチャート図の遷移を、意味・挙動が把握しやすい階層化もしくは並列化したステートチャート図を候補として生成することができる。   As described above, according to this embodiment, it is possible to generate, as candidates, state chart diagrams in which the transition of a target flat state chart diagram is hierarchized or parallelized so that the meaning and behavior can be easily understood.

図33は、ソースコードからステートチャート図への変換の一例を示す図である。図33に示す例では、洗濯機を例にとり、状態数が20、遷移数が約170、元のソースコードが400行のものをステートチャート図へ変換している。図33に示すステートチャート図は、一見すると何を示しているか理解するのは難しいものとなっている。図34は、図33に示す例について、階層化・並列化後のステートチャート図である。図34を見ると、意味・挙動が把握しやすいものとなっている。   FIG. 33 is a diagram illustrating an example of conversion from a source code to a state chart diagram. In the example shown in FIG. 33, a washing machine is taken as an example, and the number of states is 20, the number of transitions is about 170, and the original source code is 400 lines is converted into a state chart diagram. The state chart shown in FIG. 33 is difficult to understand at first glance. FIG. 34 is a state chart after hierarchization / parallelization for the example shown in FIG. Looking at FIG. 34, it is easy to understand the meaning and behavior.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。   Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

100・・・階層化・並列化装置
10・・・入力部
20・・・階層化・並列化候補生成部
30・・・不適格候補棄却部
40・・・最適候補選択部
50・・・ステートチャートデータ格納部
60・・・候補リスト格納部
70・・・最適候補リスト格納部
DESCRIPTION OF SYMBOLS 100 ... Hierarchization / parallelization apparatus 10 ... Input part 20 ... Hierarchization / parallelization candidate generation part 30 ... Unqualified candidate rejection part 40 ... Optimal candidate selection part 50 ... State Chart data storage unit 60 ... Candidate list storage unit 70 ... Optimal candidate list storage unit

Claims (8)

対象となるフラットな元のステートチャート図を入力し、
前記元のステートチャート図の全ての遷移を、それぞれ結果となる2つのステートチャート図のどちらか、もしくは両方に振分け、階層化もしくは並列化したステートチャート図のペアを候補リストとして生成する階層化・並列化候補生成部を備え、
前記候補リストを用いて、階層化・並列化されたステートチャート図を求める、階層化・並列化装置。
Enter the target flat original statechart diagram,
All the transitions of the original statechart diagram are divided into either or both of the resulting two statechart diagrams, and a hierarchical list or a parallelized statechart diagram pair is generated as a candidate list. With a parallelization candidate generator,
A hierarchization / parallelization apparatus that obtains a hierarchized / parallelized state chart using the candidate list.
前記候補リストについて、保守性が高いか否かを判定し、保守性の高いものを高保守性候補リストとして生成する不適格候補棄却部と、
前記高保守性候補リストについて、より保守性の高いものに絞り込み、最適候補リストとして生成する最適候補選択部とを備える請求項1に記載の階層化・並列化装置。
About the candidate list, it is determined whether or not the maintainability is high, and the ineligible candidate rejecting unit that generates a highly maintainable candidate list as a high maintainability candidate list,
The hierarchization / parallelization apparatus according to claim 1, further comprising: an optimum candidate selection unit that narrows down the highly maintainable candidate list to a higher maintainability and generates an optimum candidate list.
前記階層化は、
前記ステートチャート図の現在の状態が、ある状態であるとき、その状態の中で、さらに詳細なステートチャート図を入れ子にして記述する通常階層化、あるいは、履歴状態もしくは深履歴状態が置かれた履歴階層化に類型化し、
前記履歴状態は、最後にその置かれた階層から出た時の、その階層の状態を表し、
前記深履歴状態は、最後にその置かれた階層から出た時の、その階層とその全ての下位階層の状態を表す請求項1又は請求項2に記載の階層化・並列化装置。
The hierarchy is
When the current state of the statechart diagram is a certain state, a normal hierarchization described by nesting a more detailed statechart diagram or a history state or a deep history state is placed in the state. Categorized into history stratification,
The history status represents the status of the hierarchy when it last exited the hierarchy where it was placed,
3. The hierarchization / parallelization device according to claim 1, wherein the deep history state represents a state of the hierarchy and all the lower hierarchies when the last exit from the placed hierarchy. 4.
前記階層化・並列化候補生成部は、階層化と並列化が可能な場合には階層化を優先する請求項1乃至請求項3のいずれか1項に記載の階層化・並列化装置。   The hierarchization / parallelization device according to any one of claims 1 to 3, wherein the hierarchization / parallelization candidate generation unit prioritizes hierarchization when hierarchization and parallelization are possible. 前記不適格候補棄却部は、
前記ステートチャート図のペアが、同時に起こることの無い状態で同じイベントを受ける遷移が存在する場合には、保守性が低いと判定する低保守性判定部と、
前記ステートチャート図のペアが、前記通常階層化の場合以外で、同じイベントを結果となる両方のステートチャート図が同時に受け取るものを不適と判定する不適判定部で構成する請求項2乃至請求項4のいずれか1項に記載の階層化・並列化装置。
The ineligible candidate rejection unit is
When there is a transition that receives the same event in the state chart pair that does not occur at the same time, a low maintainability determination unit that determines that maintainability is low, and
The pair of state charts includes an improper determination unit that determines that a state chart that simultaneously receives both state charts resulting in the same event is inappropriate except in the case of the normal hierarchization. The layering / parallelizing device according to any one of the above.
前記最適候補選択部は、前記ステートチャート図のペアについて保守性に関する指標値を利用して絞り込みを行う請求項2乃至請求項4のいずれか1項に記載の階層化・並列化装置。   5. The hierarchization / parallelization device according to claim 2, wherein the optimum candidate selection unit narrows down the pair of the state chart diagrams by using an index value relating to maintainability. 前記保守性に関する指標値は、依存関係のある並列化<依存関係が無い並列化<履歴階層化<通常階層化の順に重み付けする請求項6に記載の階層化・並列化装置。   7. The hierarchization / parallelization device according to claim 6, wherein the index value related to maintainability is weighted in the order of parallelization with dependency relationship <parallelization without dependency relationship <history hierarchy> normal hierarchy. 前記元のステートチャート図を示すステートチャートデータを格納するステートチャートデータ格納部と、
前記候補リストを格納する候補リスト格納部と、
前記最適候補リストを格納する最適候補リスト格納部を備える請求項1乃至請求項7のいずれか1項に記載の階層化・並列化装置。
A state chart data storage section for storing state chart data indicating the original state chart diagram;
A candidate list storage unit for storing the candidate list;
The hierarchization / parallelization device according to claim 1, further comprising an optimal candidate list storage unit that stores the optimal candidate list.
JP2014028164A 2014-02-18 2014-02-18 Hierarchization/parallelization device Pending JP2015153275A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014028164A JP2015153275A (en) 2014-02-18 2014-02-18 Hierarchization/parallelization device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014028164A JP2015153275A (en) 2014-02-18 2014-02-18 Hierarchization/parallelization device

Publications (1)

Publication Number Publication Date
JP2015153275A true JP2015153275A (en) 2015-08-24

Family

ID=53895415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014028164A Pending JP2015153275A (en) 2014-02-18 2014-02-18 Hierarchization/parallelization device

Country Status (1)

Country Link
JP (1) JP2015153275A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017090506A1 (en) * 2015-11-27 2017-06-01 日本電気株式会社 System construction assistance system, information processing device, method and storage medium for storing program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017090506A1 (en) * 2015-11-27 2017-06-01 日本電気株式会社 System construction assistance system, information processing device, method and storage medium for storing program
US10990414B2 (en) 2015-11-27 2021-04-27 Nec Corporation System construction assistance system, information processing device, method and storage medium for storing program

Similar Documents

Publication Publication Date Title
Sharma et al. Applying genetic algorithm for prioritization of test case scenarios derived from UML diagrams
EP3726442A1 (en) Semantic modeling and machine learning-based generation of conceptual plans for manufacturing assemblies
JP2011013750A (en) Automatic designing apparatus, automatic designing method and automatic designing program for automatically designing design architecture of system component
JP5283455B2 (en) Product optimization design support system using set-based design method
US20120254849A1 (en) Ontology updating apparatus, method and system
US11521080B2 (en) Declarative rule-based decision support system
US20150058052A1 (en) Map Based Routing from Bill of Materials
KR20220156734A (en) Neutral bom building method and system of process and based on bill of materials
US20160350449A1 (en) Exceptional logic element management
US20220334572A1 (en) Method for Generating a Digital Twin of a System or Device
US11237802B1 (en) Architecture diagram analysis tool for software development
Ramis Ferrer et al. Comparing ontologies and databases: a critical review of lifecycle engineering models in manufacturing
JP6137175B2 (en) Hierarchical probability model generation system, hierarchical probability model generation method, and program
CN115668266A (en) Production order decomposition method and device
JP2015153275A (en) Hierarchization/parallelization device
Grishma et al. Software root cause prediction using clustering techniques: A review
US20200334399A1 (en) Design support system, design verification method, and design verification program
Kawakami et al. A functional approach to life cycle simulation for system of systems
Chee Nian et al. A fault diagnosis expert system for commercial bus manufacturing process
US20220172115A1 (en) Parameter tuning apparatus, parameter tuning method, computer program and recording medium
CN113139022A (en) Enterprise logistics data on-demand fusion method based on mixing rule
Junglas et al. Non-standard Queuing Policies: Definition of ARGESIM Benchmark C22.
US20200371997A1 (en) Electronic control unit comparison
Magdalena et al. Hierarchical computable aggregations
CN114556238A (en) Method and system for generating digital representation of asset information in cloud computing environment