JP2015072505A - Software verification device - Google Patents

Software verification device Download PDF

Info

Publication number
JP2015072505A
JP2015072505A JP2013206516A JP2013206516A JP2015072505A JP 2015072505 A JP2015072505 A JP 2015072505A JP 2013206516 A JP2013206516 A JP 2013206516A JP 2013206516 A JP2013206516 A JP 2013206516A JP 2015072505 A JP2015072505 A JP 2015072505A
Authority
JP
Japan
Prior art keywords
processing
block
influence
processing block
degree
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
JP2013206516A
Other languages
Japanese (ja)
Inventor
雅之 高島
Masayuki Takashima
雅之 高島
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2013206516A priority Critical patent/JP2015072505A/en
Publication of JP2015072505A publication Critical patent/JP2015072505A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To estimate influence of changing the design of an arbitrary processing block in a data flow diagram.SOLUTION: A software verification device decomposes processing to be executed by software into multiple pieces of processing, and generates a plurality of processing blocks indicating each processing and a data line showing processing flow of the processing block, to perform information processing. The software verification device includes: an influence database which stores processing to be executed by a processing block, and information indicating a degree of influence on information input to the processing block due to changing the processing executed by the processing block, in association with each other; and a calculation unit which refers to the influence database when processing executed by a first processing block out of a plurality of processing blocks is changed, and calculates a degree of influence on a second processing block, which is connected to the first processing block and located posterior to the first processing block, due to changing the processing to be executed by the first processing block.

Description

本発明は、ソフトウェア検証装置に関する。   The present invention relates to a software verification apparatus.

ソフトウェア開発のためにツール群などを利用することが行われている。   A group of tools are used for software development.

例えば、CASE(Computer Aided Software Environment)ツールは、ソフトウェアを開発するために、構造化手法、オブジェクト指向分析などの方法論に基づいてソフトウェア開発の作法を規定する。さらに、CASEツールでは、これらの方法論で採用されているドキュメントの記法を用いて仕様書を作成するためのエディタを提供する。例えば構造化手法を採用するものは、データフロー図などの情報システムのデータの流れ(flow)をグラフィカルに表現する図を描画するためのエディタを有する。   For example, the Computer Aided Software Environment (CASE) tool defines software development practices based on methodologies such as structured methods and object-oriented analysis in order to develop software. In addition, the CASE tool provides an editor for creating specifications using the document notation adopted by these methodologies. For example, those employing a structured method have an editor for drawing a diagram that graphically represents the data flow of an information system, such as a data flow diagram.

例えば、データフロー図により制御システムの概要を表現する際には、「処理ブロック」と「データ線」により処理の流れを表す。データフロー図を使用することにより、システムの全体像を把握できるため、システム設計行為やレビューの効率化を図ることができる。   For example, when the outline of the control system is expressed by a data flow diagram, the processing flow is expressed by “processing block” and “data line”. By using a data flow diagram, the overall picture of the system can be grasped, so that the efficiency of system design activities and reviews can be improved.

任意の成果物を修正する際に、その修正内容に応じて関連する成果物の情報を提示するソフトウェア開発支援方式が知られている(例えば、特許文献1参照)。   There is known a software development support method for presenting information on related products according to the contents of correction when correcting an arbitrary product (for example, see Patent Document 1).

特開平9−16392号公報JP-A-9-16392

データフロー図を使用し、設計行為やレビューの留意点や着目点に見当を付けるには、設計者やデザインレビューを行う者のスキルや勘に頼ることが多い。   In order to use the data flow diagram to find out the points of attention and points of interest in design activities and reviews, it often relies on the skills and intuition of designers and design reviewers.

特に、制御システムの一部に設計変更を行う場合、その設計変更による影響のおよぶ範囲や影響の大きさを推測し、その影響への対応を検討することは非常に重要なプロセスである。設計変更による影響のおよぶ範囲や影響の大きさを推測し、その影響への対応を検討することは、DRBFM(Design Review based on Failure Modes)と呼ばれることがある。   In particular, when a design change is made to a part of the control system, it is an extremely important process to estimate the range and the magnitude of the influence of the design change and to examine the response to the influence. Estimating the range and magnitude of the impact of design changes and examining the response to the impact is sometimes called DRBFM (Design Review based on Failure Modes).

データフロー図を使用してDRBFMを行う際、設計変更の影響を表すために設計変更された箇所(処理ブロック)からデータ線を機械的に辿った経路を影響範囲とすることもできる。しかし、この場合、後段になるにしたがって、影響範囲とされる処理ブロックが多くなり、且つ広がるため、効率的に影響範囲を求めることはできない。つまり、このような非常に重要なプロセスであっても、設計者やデザインレビューを行う者のスキルや勘に頼ることが多い。   When performing DRBFM using a data flow diagram, a path obtained by mechanically tracing a data line from a location (processing block) where the design has been changed in order to express the influence of the design change can be set as the affected range. However, in this case, since the number of processing blocks that are affected by the number of processing blocks increases and increases in the subsequent stages, the affected range cannot be obtained efficiently. In other words, even such a very important process often relies on the skills and intuition of the designer and the person performing the design review.

本発明は、データフロー図の任意の処理ブロックに設計変更が行われた場合に、その設計変更の影響を推定することである。   The present invention is to estimate the influence of a design change when a design change is made to an arbitrary processing block in the data flow diagram.

開示の一実施例のソフトウェア検証装置は、
ソフトウェアにより実行される処理を複数の処理に分解し、且つ各処理を示す複数の処理ブロックと、処理ブロックによる処理の流れを示すデータ線とを生成し情報処理を行うソフトウェア検証装置であって、
処理ブロックにより実行される処理と、該処理ブロックにより実行される処理が変更された場合に、該処理ブロックに入力される情報の該変更による影響の度合いを示す影響度を表す情報とを紐付けた影響度データベースと、
前記複数の処理ブロックのうち、第1の処理ブロックにより実行される処理が変更された場合に、前記影響度データベースを参照し、前記第1の処理ブロックと接続され、且つ前記第1の処理ブロックの後段となる第2の処理ブロックについて、前記第1の処理ブロックにより実行される処理の変更による影響度を演算する演算部と
を有する。
A software verification apparatus according to an embodiment of the disclosure includes:
A software verification device that decomposes a process executed by software into a plurality of processes, generates a plurality of processing blocks indicating each process, and a data line indicating a flow of processing by the processing block, and performs information processing,
When processing executed by a processing block is changed and processing executed by the processing block is changed, information indicating an influence degree indicating a degree of influence by the change of information input to the processing block is linked. Impact database,
When the processing executed by the first processing block among the plurality of processing blocks is changed, the influence processing database is referred to, connected to the first processing block, and the first processing block A second processing block that is a subsequent stage, and a calculation unit that calculates an influence degree due to a change in processing executed by the first processing block.

開示の実施例によれば、データフロー図の任意の処理ブロックに設計変更が行われた場合に、その設計変更の影響を推定することができる。   According to the disclosed embodiment, when a design change is made to an arbitrary processing block in the data flow diagram, the influence of the design change can be estimated.

ソフトウェア検証装置の一実施例を示す図である。It is a figure which shows one Example of a software verification apparatus. データフロー図の一例を示す図である。It is a figure which shows an example of a data flow figure. ソフトウェア検証装置の動作の一実施例を示す図である。It is a figure which shows one Example of operation | movement of a software verification apparatus. データフロー図の一例を示す図である。It is a figure which shows an example of a data flow figure. 影響度データベースの一例を示す図である。It is a figure which shows an example of an influence degree database.

次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。以下で説明する実施例は一例に過ぎず、本発明が適用される実施の形態は、以下の実施例に限られない。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
Next, the form for implementing this invention is demonstrated, referring drawings based on the following Examples. Examples described below are merely examples, and embodiments to which the present invention is applied are not limited to the following examples.
In all the drawings for explaining the embodiments, the same reference numerals are used for those having the same function, and repeated explanation is omitted.

<実施例>
<ソフトウェア検証装置100>
図1に、ソフトウェア検証装置100の一実施例を示す。ソフトウェア検証装置100は、任意のシステムを制御する制御ソフトウェアを検証する。
<Example>
<Software verification apparatus 100>
FIG. 1 shows an embodiment of the software verification apparatus 100. The software verification apparatus 100 verifies control software that controls an arbitrary system.

ソフトウェア検証装置100は、検証対象のソフトウェア、例えば制御ソフトウェア(以下、「ソフトウェア」という)が入力されると、ソフトウェアの検証要件を自動生成し、その検証要件に応じてソフトウェアを検証する。   When software to be verified, for example, control software (hereinafter referred to as “software”) is input, the software verification apparatus 100 automatically generates software verification requirements and verifies the software according to the verification requirements.

さらに、ソフトウェア検証装置100は、設計変更などにより検証対象のソフトウェアの一部が変更される場合に、その設計変更された部分が他の部分におよぼす影響を演算する。   Furthermore, when a part of software to be verified is changed due to a design change or the like, the software verification apparatus 100 calculates the influence of the part whose design is changed on the other part.

ソフトウェア検証装置100は、ソフトウェアの検証を主に行う専用の装置で実現されてもよいし、汎用コンピュータで制御ソフトウェア検証用のアプリケーションを実行することにより実現されてもよい。ソフトウェア検証装置100は、CPU、記憶装置、表示装置などのハードウェアにより構成される。   The software verification apparatus 100 may be realized by a dedicated apparatus that mainly performs software verification, or may be realized by executing a control software verification application on a general-purpose computer. The software verification device 100 is configured by hardware such as a CPU, a storage device, and a display device.

検証対象のソフトウェアは、単一の言語で記述されたものであってもよいし、異なる複数の言語で記述されたものであってもよい。記述言語としては、様々な言語が適用可能である。例えば、C言語などの手続き型言語、Simulinkなどのデータフロー型のモデリング言語で記述されてもよい。   The verification target software may be written in a single language or may be written in a plurality of different languages. Various languages can be used as the description language. For example, it may be described in a procedural language such as C language or a data flow type modeling language such as Simulink.

ソフトウェア検証装置100は、機能モデル生成部102と、影響度演算部104と、影響度評価部106と、影響度データベース108とを備える。図1においては、ソフトウェアの検証を行う部分についての機能ブロックは省略される。   The software verification apparatus 100 includes a function model generation unit 102, an influence degree calculation part 104, an influence degree evaluation part 106, and an influence degree database 108. In FIG. 1, functional blocks for a portion for performing software verification are omitted.

機能モデル生成部102には、検証対象のソフトウェアが入力される。機能モデル生成部102は、検証対象のソフトウェアから機能モデルを生成する。機能モデルは、ソフトウェアの検証を行うポイントを抽出してモデル化することにより、ソフトウェアの機能を網羅したものである。   The function model generation unit 102 receives software to be verified. The function model generation unit 102 generates a function model from the verification target software. The function model covers the functions of the software by extracting and modeling points for software verification.

機能モデルは、ソフトウェアの検証を行う者がソフトウェアの機能を容易に読み解けるように、目に見える形で示される。このように機能モデルという形で明示することにより、ソフトウェアの検証を行う者が機能モデルを見て検証する機能が網羅されているか否かが容易に判る。   The functional model is shown in a visible form so that a software verifier can easily read and understand the software functions. In this way, by clearly specifying it in the form of a functional model, it can be easily understood whether or not the software verification person covers the functions verified by looking at the functional model.

ソフトウェアを実現する制御機能は様々な側面を有するため、その制御機能の各側面に応じた機能モデルでモデル化される。例えば、ソフトウェアを実現する制御機能は、制御フローであればデータフローグラフモデル(DFGモデル)、制御モードの切り替えであれば状態遷移モデル、タイミングの問題であればTimed Automataでモデル化される。   Since the control function for realizing the software has various aspects, it is modeled with a function model corresponding to each aspect of the control function. For example, a control function for realizing software is modeled by a data flow graph model (DFG model) for a control flow, a state transition model for control mode switching, and a Timed Automata for timing problems.

ソフトウェア検証装置100の一実施例では、データフローグラフモデルが適用される。データフローグラフモデル以外のモデルについても適用できる。例えば、状態遷移モデルが適用された場合には、変更された状態が他の状態におよぼす影響を演算できる。データフローグラフモデルにより制御システムの概要を表現する際には、ソフトウェアにより実行される制御機能が1または複数の処理に分解される。各処理を表すために「処理ブロック」が用意され、「処理ブロック」間を「データ線」により接続することにより、処理の流れが表される。   In one embodiment of the software verification apparatus 100, a data flow graph model is applied. It can be applied to models other than the data flow graph model. For example, when a state transition model is applied, the influence of the changed state on other states can be calculated. When expressing an outline of a control system by a data flow graph model, a control function executed by software is decomposed into one or a plurality of processes. A “processing block” is prepared to represent each processing, and the processing flow is represented by connecting the “processing blocks” with “data lines”.

「処理ブロック」は、ソフトウェアにより実行される制御機能を分解した処理を表す。「データ線」は、処理ブロック間で授受する情報の流れを表す。前段の処理ブロックにより実行される処理は、後段の処理ブロックの処理に影響をおよぼす(与える)。   The “processing block” represents a process obtained by disassembling a control function executed by software. A “data line” represents a flow of information exchanged between processing blocks. The processing executed by the processing block at the preceding stage affects (gives) the processing at the processing block at the subsequent stage.

図2は、データフロー図の一例を示す。データフロー図は、システムの制御内容を表す。   FIG. 2 shows an example of a data flow diagram. The data flow diagram represents the control contents of the system.

図2に示されるデータフロー図は、処理Aブロック202と、処理Aブロック202とデータ線により接続され、処理Aブロック202からの出力信号(情報)が入力される後段となる処理Bブロック204および処理Cブロック206で表される。   The data flow diagram shown in FIG. 2 includes a processing A block 202, a processing B block 204 connected to the processing A block 202 through a data line, and an output signal (information) from the processing A block 202 being input. This is represented by a process C block 206.

さらに、データフロー図は、処理Bブロック204とデータ線により接続され、処理Bブロック204からの出力信号(情報)が入力される後段となる処理Dブロック208で表される。   Further, the data flow diagram is represented by a processing D block 208 that is connected to the processing B block 204 through a data line and receives an output signal (information) from the processing B block 204.

さらに、データフロー図は、処理Dブロック208とデータ線により接続され、処理Dブロック208からの出力信号(情報)が入力される後段となる処理Gブロック214で表される。   Further, the data flow diagram is represented by a processing G block 214 which is connected to the processing D block 208 through a data line and receives an output signal (information) from the processing D block 208.

さらに、データフロー図は、処理Cブロック206とデータ線により接続され、処理Cブロック206からの出力信号(情報)が入力される後段となる処理Eブロック210および処理Fブロック212で表される。   Further, the data flow diagram is represented by a processing E block 210 and a processing F block 212 which are connected to the processing C block 206 through a data line, and which are subsequent stages to which an output signal (information) from the processing C block 206 is input.

さらに、データフロー図は、処理Fブロック212とデータ線により接続され、処理Fブロック212からの出力信号(情報)が入力される後段となる処理Hブロック216で表される。   Further, the data flow diagram is represented by a process H block 216 which is connected to the process F block 212 by a data line and is a subsequent stage to which an output signal (information) from the process F block 212 is input.

ソフトウェア検証装置100の説明に戻る。   Returning to the description of the software verification apparatus 100.

影響度演算部104は、機能モデル生成部102と接続される。影響度演算部104には、処理ブロックにより実行される処理を変更する命令が入力される。影響度演算部104は、設計変更などによりある処理ブロックに変更が生じる場合に、その変更が生じた処理ブロックにより他の処理ブロックに与える影響度を演算する。演算内容と該演算内容により示される演算により演算前の情報におよぼす影響の度合いを表す影響係数とが紐付けられたデータベースが用意され、影響度を演算する際に参照される。   The influence calculation unit 104 is connected to the function model generation unit 102. An instruction for changing the processing executed by the processing block is input to the influence degree calculation unit 104. When a change occurs in a certain processing block due to a design change or the like, the influence degree calculation unit 104 calculates the influence degree given to the other processing blocks by the processing block in which the change has occurred. A database is prepared in which the calculation content and an influence coefficient representing the degree of influence on the information before the calculation are calculated by the calculation indicated by the calculation content, and is referred to when calculating the influence level.

影響度評価部106は、影響度演算部104で演算された影響度に基づいて、変更が生じた処理ブロックにより他の処理ブロックに与える影響度を評価する。例えば、各処理ブロックを影響度に応じて色の濃淡を付するようにしてもよいし、色分けして表示するようにしてもよい。また、閾値以上の影響度の処理ブロックと、閾値未満の影響度の処理ブロックとを異なる色で表示するようにしてもよい。   Based on the influence degree calculated by the influence degree calculation unit 104, the influence degree evaluation unit 106 evaluates the degree of influence given to other processing blocks by the processing block in which the change has occurred. For example, each processing block may be colored according to the degree of influence, or may be displayed in different colors. Further, a processing block having an influence degree equal to or greater than the threshold value and a processing block having an influence degree less than the threshold value may be displayed in different colors.

影響度データベース108は、影響度演算部104と接続される。影響度データベース108は、演算内容と該演算内容により示される演算により演算前の情報におよぼす影響の度合いを表す影響係数とを紐付けて格納する。   The influence degree database 108 is connected to the influence degree calculation unit 104. The influence degree database 108 stores the calculation contents and an influence coefficient that represents the degree of influence on the information before the calculation by the calculation indicated by the calculation contents.

<ソフトウェア検証装置100の動作>
図3は、ソフトウェア検証装置100の動作を示す。
<Operation of Software Verification Device 100>
FIG. 3 shows the operation of the software verification apparatus 100.

ステップS302では、機能モデル生成部102は、検証対象のソフトウェアから、データフロー図を生成する。   In step S302, the function model generation unit 102 generates a data flow diagram from the verification target software.

図3に示される例では、ソフトウェア検証装置100は、センサ(1)302と、処理Aブロック304−処理Jブロック322と、アクチュエータ(1)324−アクチュエータ(5)332からなるデータフローグラフを生成する。処理Aブロック304−処理Jブロック322により、それぞれ処理A−処理Jが実行される。   In the example shown in FIG. 3, the software verification apparatus 100 generates a data flow graph including a sensor (1) 302, a processing A block 304-processing J block 322, and an actuator (1) 324-actuator (5) 332. To do. Process A-process J is executed by process A block 304-process J block 322, respectively.

センサ(1)302から、種々のセンサによる検出値が出力される。処理Aブロック304−処理Jブロック322は、センサ(1)302からの検出値に対して、種々の処理を行う。アクチュエータ(1)324−アクチュエータ(5)332は、処理Aブロック304−処理Jブロック322から出力される情報を物理的運動に変換する。   Sensor (1) 302 outputs detection values from various sensors. The process A block 304 to the process J block 322 perform various processes on the detection value from the sensor (1) 302. The actuator (1) 324-actuator (5) 332 converts information output from the processing A block 304 to the processing J block 322 into physical motion.

ステップS304では、影響度演算部104は、変更が生じた処理ブロックにより実行される処理が他の処理ブロックにより実行される処理に与える影響度を演算する。例えば、処理Aブロック304により実行される処理Aに設計変更が生じた場合について説明する。処理Aブロック304により実行される処理Aに設計変更が生じた場合、処理Aブロック304に接続され、且つ処理Aブロック304の後段となる処理Bブロック306および処理Cブロック308に影響がおよぶと想定される。影響度演算部104は、処理Bブロック306および処理Cブロック308について、処理Aブロック304への設計変更による影響度を演算する。ここでは、一例として、処理Cブロック308についての影響度の演算例について説明する。   In step S304, the influence degree calculation unit 104 calculates the influence degree that the process executed by the process block in which the change has occurred has on the process executed by another process block. For example, a case where a design change occurs in the process A executed by the process A block 304 will be described. When a design change occurs in the process A executed by the process A block 304, it is assumed that the process B block 306 and the process C block 308 connected to the process A block 304 and subsequent to the process A block 304 are affected. Is done. The influence degree calculation unit 104 calculates the influence degree due to the design change to the process A block 304 for the process B block 306 and the process C block 308. Here, as an example, a calculation example of the influence degree for the processing C block 308 will be described.

図3に示されるように、処理Cブロック308は、加算器(sum)3082と、増幅器(gain)3084と、スイッチ3086とから構成される。影響度演算部104は、処理Cブロック308への影響度を演算する際に、影響度データベース108から、処理Cブロック308に含まれる演算子の影響度係数を取得する。   As shown in FIG. 3, the processing C block 308 includes an adder (sum) 3082, an amplifier (gain) 3084, and a switch 3086. When calculating the degree of influence on the processing C block 308, the degree of influence calculating unit 104 acquires the degree of influence coefficient of the operator included in the processing C block 308 from the degree of influence database 108.

図3には、影響度データベース108の一例として、Simulinkに適用される演算子による演算内容と、演算内容により表される演算がおよぼす影響の度合いを示す影響度係数とが紐付けられる。ここでは、加算器(Sum)3082の影響度係数0.8と、増幅器(Gain)3084の影響度係数0.95と、スイッチ(Switch)3086の影響度係数0.5が取得される。影響度演算部104は、影響度データベース108から取得した影響度係数に基づいて、処理Cブロック308の影響度を演算する。   In FIG. 3, as an example of the influence degree database 108, calculation contents by an operator applied to Simulink and an influence degree coefficient indicating the degree of influence exerted by the calculation represented by the calculation contents are linked. Here, the influence coefficient 0.8 of the adder (Sum) 3082, the influence coefficient 0.95 of the amplifier (Gain) 3084, and the influence coefficient 0.5 of the switch (Switch) 3086 are acquired. The influence degree calculation unit 104 calculates the influence degree of the processing C block 308 based on the influence degree coefficient acquired from the influence degree database 108.

ここで、処理Cブロック308には、設計変更される処理Aブロック304から出力される信号が直接入力されるため、影響度は「1」(初期値)とされる。加算器3082では、処理Aブロック304から出力される信号と定数「5」とが加算される。一方、加算器3082の影響度係数は「0.8」である。影響度演算部104は、演算子への入力信号の影響度と、該演算子の影響度係数とを乗算することにより、演算子からの出力信号の影響度を演算する。例えば、影響度演算部104は、加算器3082への入力信号の影響度1と、加算器3082の影響度係数0.8とを乗算することにより、加算器3082からの出力信号の影響度0.8を演算する。   Here, since the signal output from the process A block 304 whose design is changed is directly input to the process C block 308, the influence degree is set to “1” (initial value). The adder 3082 adds the signal output from the processing A block 304 and the constant “5”. On the other hand, the influence coefficient of the adder 3082 is “0.8”. The influence degree calculation unit 104 calculates the influence degree of the output signal from the operator by multiplying the influence degree of the input signal to the operator and the influence degree coefficient of the operator. For example, the influence degree calculation unit 104 multiplies the influence degree 1 of the input signal to the adder 3082 by the influence coefficient 0.8 of the adder 3082, thereby reducing the influence degree 0 of the output signal from the adder 3082. .8 is calculated.

加算器3082から出力された信号は、増幅器3084へ入力される。増幅器3084の影響度係数は、0.95である。影響度演算部104は、増幅器3084への入力信号の影響度0.8と、増幅器3084の影響度係数0.95とを乗算することにより、増幅器3084からの出力信号の影響度0.76を演算する。   The signal output from the adder 3082 is input to the amplifier 3084. The influence coefficient of the amplifier 3084 is 0.95. The influence degree calculation unit 104 multiplies the influence degree 0.8 of the input signal to the amplifier 3084 and the influence coefficient 0.95 of the amplifier 3084 to obtain the influence degree 0.76 of the output signal from the amplifier 3084. Calculate.

増幅器3084から出力された信号は、スイッチ3086へ入力される。スイッチ3086の影響度係数は、0.5である。影響度演算部104は、スイッチ3086への入力信号の影響度0.76と、スイッチ3086の影響度係数0.5とを乗算することにより、スイッチ3086からの出力信号の影響度0.38を演算する。   The signal output from the amplifier 3084 is input to the switch 3086. The influence coefficient of the switch 3086 is 0.5. The influence calculation unit 104 multiplies the influence degree 0.76 of the input signal to the switch 3086 by the influence coefficient 0.5 of the switch 3086 to obtain the influence degree 0.38 of the output signal from the switch 3086. Calculate.

影響度演算部104は、処理Cブロック308と接続される処理Dブロック310と、処理Eブロック312について、入力される信号の影響度を0.38として、上述した演算を適用する。処理Dブロック310に対する演算後、処理Dブロック310と接続され、且つ後段となる処理Hブロック318および処理Iブロック320について、入力される信号の影響度を処理Dブロック310の影響度として、上述した演算を適用する。影響度の演算は、一段毎に行われるのが好ましい。   The influence degree calculation unit 104 applies the above-described calculation to the process D block 310 connected to the process C block 308 and the process E block 312 with the influence degree of the input signal as 0.38. After the calculation for the processing D block 310, the processing D block 310 is connected to the processing D block 310, and the processing H block 318 and the processing I block 320, which are the subsequent stages, are described above with the influence degree of the input signal as the influence degree of the processing D block 310. Apply the operation. The calculation of the influence degree is preferably performed for each stage.

ステップS306では、影響度評価部106は、処理ブロックごとに影響度の演算結果を可視化する。例えば、影響度評価部106は、色の濃淡で、影響度を表すようにしてもよい。影響度を色の濃淡で表すことにより、ユーザは影響度を直感的に判別可能となる。図3に示される例では、影響度が0.6以上となる処理ブロックに色づけが実行される。   In step S306, the influence degree evaluation unit 106 visualizes the calculation result of the influence degree for each processing block. For example, the influence degree evaluation unit 106 may represent the degree of influence by color shading. By expressing the degree of influence by the color shading, the user can intuitively determine the degree of influence. In the example illustrated in FIG. 3, coloring is performed on a processing block having an influence degree of 0.6 or more.

ソフトウェア検証装置の一実施例によれば、データフロー図の任意の処理ブロックについて、その処理ブロックによる処理が後段の処理ブロックにおよぼす影響を推定できるとともに可視化できる。   According to an embodiment of the software verification apparatus, it is possible to estimate and visualize the influence of the processing by the processing block on the processing block of the subsequent stage with respect to an arbitrary processing block of the data flow diagram.

<変形例>
ソフトウェア検証装置の一変形例は、図1に示されるソフトウェア検証装置100を適用できる。
<Modification>
A software verification apparatus 100 shown in FIG. 1 can be applied as a modification of the software verification apparatus.

ソフトウェア検証装置の一変形例は、処理ブロックにより実行される処理について、処理内容と該処理内容により示される処理により処理前の情報におよぼす影響の度合いを表す影響係数とが紐付けられた影響度データベースが用意される。上述した実施例では、影響度データベースに、演算内容と該演算内容により示される演算により演算前の情報におよぼす影響の度合いを表す影響係数とを紐付けて格納する。これに対し、変形例では、影響度データベースに、処理内容と該処理内容により示される処理により処理前の情報におよぼす影響の度合いを表す影響係数とが紐付けて格納する。   One modification of the software verification apparatus is that the degree of influence associated with the processing executed by the processing block and the influence coefficient indicating the degree of influence on the information before the processing by the processing indicated by the processing content. A database is prepared. In the embodiment described above, the calculation content and the influence coefficient representing the degree of influence on the information before the calculation by the calculation indicated by the calculation content are stored in the influence database. On the other hand, in the modified example, the processing content and the influence coefficient indicating the degree of the influence on the information before the processing by the processing indicated by the processing content are stored in association with each other.

ソフトウェア検証装置は、設計変更などによりある処理ブロックに変更が生じる場合に、その変更が生じた処理ブロックにより他の処理ブロックに与える影響度を演算する際に、影響度データベースを参照する。   When a process block is changed due to a design change or the like, the software verification device refers to the influence degree database when calculating the degree of influence of the process block on which the change has occurred on another process block.

機能モデル生成部102は、検証対象のソフトウェアから、データフローグラフを生成する。   The function model generation unit 102 generates a data flow graph from the verification target software.

図4は、データフロー図の一例を示す図である。   FIG. 4 is a diagram illustrating an example of a data flow diagram.

図4に示される例では、ソフトウェア検証装置100は、センサ(1)402と、処理Aブロック404−処理Jブロック422と、アクチュエータ(1)424−アクチュエータ(5)432からなるデータフローグラフを生成する。処理Aブロック404−処理Jブロック422により、それぞれ処理A−処理Jが実行される。   In the example illustrated in FIG. 4, the software verification apparatus 100 generates a data flow graph including the sensor (1) 402, the processing A block 404-the processing J block 422, and the actuator (1) 424 -actuator (5) 432. To do. Processing A-processing J is executed by processing A block 404-processing J block 422, respectively.

影響度演算部104は、変更が生じた処理ブロックにより実行される処理が他の処理ブロックにより実行される処理に与える影響度を演算する。例えば、処理Aブロック404により実行される処理Aに設計変更が生じた場合について説明する。処理Aブロック404により実行される処理Aに設計変更が生じた場合、処理Aブロック404に接続され、且つ処理Aブロック404の後段となる処理Bブロック406および処理Cブロック408に影響がおよぶと想定される。影響度演算部104は、処理Bブロック406および処理Cブロック408について、処理Aブロック404への設計変更による影響度を演算する。ここでは、一例として、処理Bブロック406についての影響度の演算例について説明する。   The influence degree calculation unit 104 calculates the influence degree that the process executed by the process block in which the change has occurred on the process executed by another process block. For example, a case where a design change occurs in the process A executed by the process A block 404 will be described. When a design change occurs in the process A executed by the process A block 404, it is assumed that the process B block 406 and the process C block 408 connected to the process A block 404 and subsequent to the process A block 404 are affected. Is done. The influence degree calculation unit 104 calculates the influence degree due to the design change to the process A block 404 for the process B block 406 and the process C block 408. Here, as an example, a calculation example of the influence degree for the process B block 406 will be described.

図4に示されるように、処理Bブロック406の処理内容は、信号変換である。
影響度演算部104は、処理Bブロック406への影響度を演算する際に、影響度データベース208から、処理Bブロック406により実行される処理に紐付けられた影響度係数を取得する。
As shown in FIG. 4, the processing content of the processing B block 406 is signal conversion.
When calculating the influence degree on the process B block 406, the influence degree calculation unit 104 acquires an influence degree coefficient associated with the process executed by the process B block 406 from the influence degree database 208.

図5は、影響度データベース208の一例を示す。図5には、処理の属性と、処理によりおよぼす影響の度合いを示す影響度係数とが紐付けられる。ここでは、信号変換の影響度係数1.0が取得される。影響度演算部104は、影響度データベース208から取得した影響度係数に基づいて、処理Bブロック406の影響度を演算する。   FIG. 5 shows an example of the impact database 208. In FIG. 5, the attribute of the process is associated with an influence coefficient indicating the degree of influence exerted by the process. Here, a signal conversion influence factor of 1.0 is acquired. The influence degree calculation unit 104 calculates the influence degree of the process B block 406 based on the influence degree coefficient acquired from the influence degree database 208.

ここで、処理Bブロック406には、設計変更される処理Aブロック404から出力される信号が直接入力されるため、影響度は「1」(初期値)とされる。影響度演算部104は、処理ブロックへの入力信号の影響度と、該処理ブロックの影響度係数とを乗算することにより、該処理ブロックからの出力信号の影響度を演算する。例えば、影響度演算部104は、処理Bブロック406への入力信号の影響度「1」と、該処理Bブロック406の影響度係数「1」とを乗算することにより、処理Bブロック406からの出力信号の影響度「1」を演算する。   Here, since the signal output from the process A block 404 whose design is changed is directly input to the process B block 406, the influence degree is set to “1” (initial value). The influence degree calculation unit 104 calculates the influence degree of the output signal from the processing block by multiplying the influence degree of the input signal to the processing block by the influence degree coefficient of the processing block. For example, the influence degree calculation unit 104 multiplies the influence degree “1” of the input signal to the process B block 406 by the influence degree coefficient “1” of the process B block 406, thereby The influence level “1” of the output signal is calculated.

影響度演算部104は、処理Bブロック406と接続される処理Fブロック414および処理Gブロック416について、入力される信号の影響度を前段の処理Bブロック406からの出力信号の影響度1として、上述した演算を適用する。影響度の演算は、一段毎に行われるのが好ましい。   The influence degree calculation unit 104 sets the influence degree of the input signal as the influence degree 1 of the output signal from the preceding process B block 406 for the process F block 414 and the process G block 416 connected to the process B block 406. Apply the operations described above. The calculation of the influence degree is preferably performed for each stage.

影響度評価部106は、処理ブロックごとに影響度の演算結果を可視化する。例えば、影響度評価部106は、色の濃淡で、影響度を表すようにしてもよい。影響度を色の濃淡で表すことにより、ユーザは影響度を直感的に判別可能となる。   The influence degree evaluation unit 106 visualizes the influence degree calculation result for each processing block. For example, the influence degree evaluation unit 106 may represent the degree of influence by color shading. By expressing the degree of influence by the color shading, the user can intuitively determine the degree of influence.

ソフトウェア検証装置の一変形例によれば、データフロー図の任意の処理ブロックについて、その処理ブロックによる処理が後段の処理ブロックにおよぼす影響を推定できるとともに可視化できる。   According to a modification of the software verification apparatus, it is possible to estimate and visualize the influence of processing by a processing block on the processing block of the subsequent stage with respect to an arbitrary processing block of the data flow diagram.

処理ブロックによる処理と、その処理により後段の処理ブロックにおよぼす影響度の度合いを示す影響度係数が紐付けられるため、処理ブロックにより個々の演算に影響度係数が紐付けられるよりも演算負荷を低減できる。   Since processing by the processing block and an influence coefficient indicating the degree of influence on the subsequent processing block by that processing are linked, the processing load is reduced compared to the case where the influence coefficient is linked to each calculation by the processing block it can.

以上、本発明は特定の実施例及び変形例を参照しながら説明されてきたが、各実施例及び変形例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウエアで、ソフトウエアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。   Although the present invention has been described above with reference to specific embodiments and modifications, each embodiment and modification is merely illustrative, and those skilled in the art will recognize various modifications, modifications, alternatives, and substitutions. You will understand examples. For convenience of explanation, an apparatus according to an embodiment of the present invention has been described using a functional block diagram, but such an apparatus may be implemented in hardware, software, or a combination thereof. The present invention is not limited to the above-described embodiments, and various variations, modifications, alternatives, substitutions, and the like are included without departing from the spirit of the present invention.

100 ソフトウェア検証装置
102 機能モデル生成部
104 影響度演算部
106 影響度評価部
108 影響度データベース
208 影響度データベース
DESCRIPTION OF SYMBOLS 100 Software verification apparatus 102 Functional model production | generation part 104 Influence degree calculation part 106 Influence degree evaluation part 108 Influence degree database 208 Influence degree database

Claims (1)

ソフトウェアにより実行される処理を複数の処理に分解し、且つ各処理を示す複数の処理ブロックと、処理ブロックによる処理の流れを示すデータ線とを生成し情報処理を行うソフトウェア検証装置であって、
処理ブロックにより実行される処理と、該処理ブロックにより実行される処理が変更された場合に、該処理ブロックに入力される情報の該変更による影響の度合いを示す影響度を表す情報とを紐付けた影響度データベースと、
前記複数の処理ブロックのうち、第1の処理ブロックにより実行される処理が変更された場合に、前記影響度データベースを参照し、前記第1の処理ブロックと接続され、且つ前記第1の処理ブロックの後段となる第2の処理ブロックについて、前記第1の処理ブロックにより実行される処理の変更による影響度を演算する演算部と
を有する、ソフトウェア検証装置。
A software verification device that decomposes a process executed by software into a plurality of processes, generates a plurality of processing blocks indicating each process, and a data line indicating a flow of processing by the processing block, and performs information processing,
When processing executed by a processing block is changed and processing executed by the processing block is changed, information indicating an influence degree indicating a degree of influence by the change of information input to the processing block is linked. Impact database,
When the processing executed by the first processing block among the plurality of processing blocks is changed, the influence processing database is referred to, connected to the first processing block, and the first processing block A software verification apparatus comprising: a calculation unit that calculates an influence degree due to a change in processing executed by the first processing block with respect to a second processing block that is a subsequent stage.
JP2013206516A 2013-10-01 2013-10-01 Software verification device Pending JP2015072505A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013206516A JP2015072505A (en) 2013-10-01 2013-10-01 Software verification device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013206516A JP2015072505A (en) 2013-10-01 2013-10-01 Software verification device

Publications (1)

Publication Number Publication Date
JP2015072505A true JP2015072505A (en) 2015-04-16

Family

ID=53014849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013206516A Pending JP2015072505A (en) 2013-10-01 2013-10-01 Software verification device

Country Status (1)

Country Link
JP (1) JP2015072505A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019175218A (en) * 2018-03-29 2019-10-10 富士通株式会社 Information program, information processing method, and information processing device
JP2021064087A (en) * 2019-10-11 2021-04-22 シャープ株式会社 Program generation device and program generation method
JP2022505340A (en) * 2018-10-18 2022-01-14 株式会社デンソー Systems and methods for dynamically identifying data arguments and instrumenting source code
JP2023511249A (en) * 2020-01-08 2023-03-17 ディズニー エンタープライゼス インコーポレイテッド Authenticity assessment of processed content

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019175218A (en) * 2018-03-29 2019-10-10 富士通株式会社 Information program, information processing method, and information processing device
JP2022505340A (en) * 2018-10-18 2022-01-14 株式会社デンソー Systems and methods for dynamically identifying data arguments and instrumenting source code
JP7201078B2 (en) 2018-10-18 2023-01-10 株式会社デンソー Systems and methods for dynamically identifying data arguments and instrumenting source code
JP2021064087A (en) * 2019-10-11 2021-04-22 シャープ株式会社 Program generation device and program generation method
JP7404022B2 (en) 2019-10-11 2023-12-25 シャープ株式会社 Program generation device and program generation method
JP2023511249A (en) * 2020-01-08 2023-03-17 ディズニー エンタープライゼス インコーポレイテッド Authenticity assessment of processed content
JP7473652B2 (en) 2020-01-08 2024-04-23 ディズニー エンタープライゼス インコーポレイテッド Authenticity assessment of manipulated content

Similar Documents

Publication Publication Date Title
JP7001359B2 (en) Simulation augmented reality system for emergency motion
US20130145344A1 (en) Applying coding standards in graphical programming environments
US10108763B2 (en) Method and simulation arrangement for simulating an automated industrial plant
JP2011516999A5 (en)
JP2015072505A (en) Software verification device
CN111199062A (en) Simulation method and system based on industrial development software and electronic equipment
JP2016503524A (en) Virtual model simulation method and virtual model simulation apparatus
EP3667582A1 (en) Systems and methods for evaluating assessments
US10635846B2 (en) Timing error analysis method and information processing apparatus
JP4731335B2 (en) ASSEMBLY EVALUATION METHOD, SYSTEM, AND PROGRAM
JP6647992B2 (en) Design support equipment
CN103679484A (en) Novel method for analyzing E-commerce consistency based on behavior Petri network
Dingli et al. Interacting with intelligent digital twins
US20130346055A1 (en) Modeling and cooperative simulation of systems with interdependent discrete and continuous elements
JP6532762B2 (en) INFORMATION GENERATION SYSTEM, APPARATUS, METHOD, AND PROGRAM
JP5328987B2 (en) Method and process computer for calculating state quantities of hybrid differential algebra process model
JP5609351B2 (en) Information processing device
JP2009134360A (en) Model inspection system, model inspection method, and model inspection program
Sridhar et al. Slicing matlab simulink/stateflow models
Deatcu et al. PDEVS-based hybrid system simulation toolbox for MATLAB.
Camba et al. An evaluation of formal strategies to create stable and reusable parametric feature-based 3D models
JP2018142032A (en) Service design support apparatus, method, and program
WO2014208005A1 (en) Non-functional evaluation assistance device, system, method, and program
JP6581788B2 (en) Block diagram management apparatus, block diagram management method and program
KR101585048B1 (en) Algorithm simulation system based on diagram