Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6721555B2 - Software development apparatus, software development method, and program - Google Patents
[go: Go Back, main page]

JP6721555B2 - Software development apparatus, software development method, and program - Google Patents

Software development apparatus, software development method, and program Download PDF

Info

Publication number
JP6721555B2
JP6721555B2 JP2017180638A JP2017180638A JP6721555B2 JP 6721555 B2 JP6721555 B2 JP 6721555B2 JP 2017180638 A JP2017180638 A JP 2017180638A JP 2017180638 A JP2017180638 A JP 2017180638A JP 6721555 B2 JP6721555 B2 JP 6721555B2
Authority
JP
Japan
Prior art keywords
software
parameter
neural network
value
optimum value
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.)
Active
Application number
JP2017180638A
Other languages
Japanese (ja)
Other versions
JP2019057088A (en
Inventor
修 柳
修 柳
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
Toshiba Infrastructure Systems and Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Infrastructure Systems and Solutions 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, Toshiba Infrastructure Systems and Solutions Corp filed Critical Toshiba Corp
Priority to JP2017180638A priority Critical patent/JP6721555B2/en
Publication of JP2019057088A publication Critical patent/JP2019057088A/en
Application granted granted Critical
Publication of JP6721555B2 publication Critical patent/JP6721555B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Description

本発明の実施形態は、ソフトウェア開発装置、ソフトウェア開発方法、およびプログラムに関する。 Embodiments of the present invention relate to a software development device, a software development method, and a program.

ソフトウェアの最適化は、一般に、入力データの多変量解析を用いて実施されているが、その場合に対象のモデルを説明できる決定係数は50%程度である。すなわち、2回に1回は推定できていないことになる。また、T検定を用いた場合も、満足のいく結果は得られない。 Software optimization is generally carried out using multivariate analysis of input data, in which case the coefficient of determination that can explain the model of interest is around 50%. That is, it cannot be estimated once in two times. Also, satisfactory results are not obtained when the T test is used.

特開2016−167262号公報JP, 2016-167262, A 特開平01−173134号公報Japanese Patent Laid-Open No. 01-173134

例えば、航空機等に搭載されるシステムのソフトウェアの最適化においては、CPU使用率や、メモリ使用率、ネット負荷など、各種パラメータの値を計測し、それらの計測結果に基づき、ある事象が生じたらある操作を行う(例えば、ネット負荷が閾値を超えた場合には、あるプログラムのタスクの優先度を下げるなどの措置をとる)。 For example, in optimizing the software of a system mounted on an aircraft or the like, the values of various parameters such as CPU usage rate, memory usage rate, and net load are measured, and if a certain event occurs based on those measurement results. Perform a certain operation (for example, if the net load exceeds a threshold, take measures such as lowering the priority of the task of a certain program).

上記したような措置により、一時的にはシステム要求を満足させる最適化が達成されるかもしれない。しかしながら、その場しのぎのような方法では、時間が経つにつれ、最適化されていない元の状態に戻ってしまい、システム要求を満足させることが困難になる。 By the measures as described above, optimization may be temporarily achieved to satisfy the system requirements. However, the make-and-make method returns to its original, unoptimized state over time, making it difficult to meet system requirements.

各種パラメータの各計測値を、単なる離散値として捉えている限りは、このような問題を解決することはできない。 As long as each measured value of various parameters is regarded as a mere discrete value, such a problem cannot be solved.

発明が解決しようとする課題は、各種パラメータが最適化されたソフトウェアを実現することが可能な、ソフトウェア開発装置、ソフトウェア開発方法、およびプログラムを提供することにある。 The problem to be solved by the invention is to provide a software development device, a software development method, and a program capable of realizing software in which various parameters are optimized.

実施形態のソフトウェア開発装置は、パラメータ群により振る舞いが制御されるソフトウェアの開発に使用されるソフトウェア開発装置であって、前記ソフトウェアの実行時に得られる各パラメータの計測値から各パラメータの最適値を計算するに際して、ニューラルネットワークを使用し、当該ニューラルネットワークに入力する各パラメータの計測値に超関数を適用するとともに、当該ニューラルネットワークの各ノードにも超関数を適用する、最適値計算手段と、前記最適値計算手段により計算された各パラメータを用いて前記ソフトウェアの再作成を行うソフトウェア再作成手段とを具備する。 The software development device of the embodiment is a software development device used for the development of software whose behavior is controlled by a parameter group, and calculates the optimum value of each parameter from the measured value of each parameter obtained when the software is executed. In this case, a neural network is used, and a superfunction is applied to the measured values of each parameter input to the neural network, and the superfunction is also applied to each node of the neural network. And software recreating means for recreating the software by using each parameter calculated by the value calculating means.

一実施形態に係る進化型ソフトウェア開発装置を含むシステム全体の構成の一例を示す図。The figure which shows an example of a structure of the whole system containing the evolutionary type software development apparatus which concerns on one Embodiment. 対象となるソフトウェアのモデルの一例を示す図。The figure which shows an example of the model of the target software. 評価関数の一例を示す図。The figure which shows an example of an evaluation function. 環境対応型ニューラルネットワークの一例を示す図。The figure which shows an example of an environment-friendly neural network. 進化型ソフトウェア開発装置による動作の一例を示すフローチャート。The flowchart which shows an example of operation|movement by the evolutionary type software development apparatus.

以下、図面を参照して、実施の形態について説明する。 Embodiments will be described below with reference to the drawings.

以下に説明する実施形態の進化型ソフトウェア開発装置は、対象となるソフトウェアの実行時における通信データ、システムリース情報等を取得し、システムが目標とする性能値となるように、ニューラルネットワークに機械学習をさせることにより、ソフトウェアを制御することが可能な各種のソフトウェア制御パラメータ(以下、「パラメータ」と略称する場合がある。)の最適値を発見的に求め、さらに、それらをソフトウェアに反映することにより、自律的にシステムリソースを最大限生かしつつシステム要求を満足するように進化するソフトウェアの開発を可能にする。 The evolutionary software development apparatus of the embodiment described below acquires communication data, system lease information, etc. at the time of execution of target software, and machine learning is performed by a neural network so that the system has a target performance value. To find optimal values of various software control parameters (hereinafter, may be abbreviated as “parameter”) capable of controlling the software, and further reflect them in the software. Will enable the development of software that autonomously makes the best use of system resources and evolves to satisfy system requirements.

また、高度かつ複雑化するソフトウェアの実行時に得られるデータは、例えば1Gバイト/秒で運用時間が4時間の場合、14.4Tバイトとなるのであるが、本実施形態の進化型ソフトウェア開発装置は、このようなビッグデータの活用をも可能にする。 Further, the data obtained during execution of highly sophisticated and complicated software is, for example, 14.4 Tbytes when the operation time is 4 hours at 1 Gbyte/sec. , It is also possible to utilize such big data.

そのために、本実施形態の進化型ソフトウェア開発装置では、ソフトウェアの振る舞いを量子論的に扱う。すなわち、ソフトウェア制御パラメータの各計測値を単なる離散値として扱うのではなく、これまで他要素からの影響を受けながら積分されてきた値の代表値として扱う。具体的には、多変量解析の入力値を超関数にまで拡張することで、不連続なデータを扱い易いものとし、また、超関数にまで拡張したパラメータ自体をニューラルネットワークのニューロン(ノード)に適用する。超関数自体は、微分が自由にできることから、ニューラルネットワーク上での円滑な演算が保証される。さらには、局所最適値に拘束されることを、遺伝的アルゴリズムで解決することを可能にする。 Therefore, the evolutionary software development apparatus of this embodiment handles the behavior of software in a quantum theory. That is, each measured value of the software control parameter is not treated as a mere discrete value, but is treated as a representative value of values that have been integrated while being influenced by other elements. Specifically, by extending the input values of multivariate analysis to hyperfunctions, it becomes easier to handle discontinuous data, and the parameters themselves extended to hyperfunctions can be applied to neurons (nodes) of the neural network. Apply. Since the superfunction itself can be differentiated freely, smooth operation on the neural network is guaranteed. Furthermore, it is possible to solve the constraint of the local optimum value by a genetic algorithm.

図1は、一実施形態に係る進化型ソフトウェア開発装置を含むシステム全体の構成の一例を示す図である。 FIG. 1 is a diagram showing an example of a configuration of an entire system including an evolutionary software development device according to an embodiment.

図1に示されるように、本システムは、進化型ソフトウェア開発装置1および記録媒体2,3を含む。進化型ソフトウェア開発装置1には、各種の機能として、ソフトウェア取得データ定式化部4、最適値計算部5、およびパラメータ決定・ソフトウェア再作成部6が備えられる。 As shown in FIG. 1, this system includes an evolutionary software development device 1 and recording media 2 and 3. The evolutionary software development device 1 includes a software acquisition data formulation unit 4, an optimum value calculation unit 5, and a parameter determination/software re-creation unit 6 as various functions.

なお、進化型ソフトウェア開発装置1の構成は、図1の例に限定されるものではない。例えば、進化型ソフトウェア開発装置1は、記録媒体2,3をも含む構成であってもよい。 The configuration of the evolutionary software development device 1 is not limited to the example of FIG. For example, the evolutionary software development device 1 may be configured to include the recording media 2 and 3.

進化型ソフトウェア開発装置1は、各種のパラメータにより振る舞いが制御されるソフトウェアの開発に使用される装置である。この進化型ソフトウェア開発装置1に備えられる各種の機能は、例えばコンピュータにより実行されるプログラムの形態で実現される。 The evolutionary software development device 1 is a device used for developing software whose behavior is controlled by various parameters. The various functions provided in the evolutionary software development apparatus 1 are realized in the form of programs executed by a computer, for example.

記録媒体2は、対象となるソフトウェアの実行時に得られたデータ(ソフトウェア取得データ)を一時的に記憶するものである。このデータには、当該ソフトウェアの実行中に観測される各種のパラメータの計測値が含まれる。記録媒体2に記憶されたデータは、進化型ソフトウェア開発装置1により使用されることになる。 The recording medium 2 temporarily stores data (software acquisition data) obtained when the target software is executed. This data includes measured values of various parameters observed during execution of the software. The data stored in the recording medium 2 will be used by the evolutionary software development device 1.

記録媒体3は、進化型ソフトウェア開発装置1により各パラメータの値が決定されて再作成されたソフトウェアを一時的に記憶するものである。記録媒体3に記憶されたソフトウェアは必要に応じて実行されることになる。 The recording medium 3 is for temporarily storing the software that has been re-created after the value of each parameter is determined by the evolutionary software development device 1. The software stored in the recording medium 3 will be executed as needed.

ソフトウェア取得データ定式化部4は、記録媒体2からソフトウェア取得データを読み出し、最適値計算部5が処理するのに適したデータ形態となるようにデータを定式化する機能である。 The software acquisition data formulation unit 4 has a function of reading out the software acquisition data from the recording medium 2 and formulating the data so that the data form is suitable for the optimum value calculation unit 5 to process.

最適値計算部5は、ソフトウェア取得データ定式化部4により定式化されたデータを用いて、対象となるソフトウェアの各種パラメータの最適値を計算する機能である。この最適値計算部5は、例えば各パラメータの計測値から各パラメータの最適値を計算するに際して、ニューラルネットワークを使用し、当該ニューラルネットワークに入力する各パラメータの計測値に超関数を適用するとともに、当該ニューラルネットワークの各ノードにも超関数を適用する。その詳細については、後で述べる。 The optimum value calculation unit 5 has a function of calculating optimum values of various parameters of the target software using the data formulated by the software acquisition data formulation unit 4. The optimum value calculation unit 5 uses a neural network when calculating the optimum value of each parameter from the measured value of each parameter, and applies a superfunction to the measured value of each parameter input to the neural network, The superfunction is applied to each node of the neural network. The details will be described later.

パラメータ決定・ソフトウェア再作成部6は、最適値計算部5により計算された結果に基づき、再作成するソフトウェアの各種パラメータの値を決定し、決定した各種パラメータの値を当該ソフトウェアに反映させることでソフトウェアの再作成を行う機能である。 The parameter determination/software re-creation unit 6 determines the values of various parameters of the software to be re-created based on the result calculated by the optimum value calculation unit 5, and reflects the determined various parameter values in the software. This is a function to recreate software.

<パラメトリックソフトウェアモデルについて>
図2は、対象となるソフトウェアのモデルの一例を示す図である。
<About parametric software model>
FIG. 2 is a diagram illustrating an example of a target software model.

ここでは、パラメータによるソフトウェアの制御を可能にするパラメトリックソフトウェアモデルの一例を示す。 Here, an example of a parametric software model that enables software control by parameters is shown.

対象となるソフトウェアは、図2に示されるように、任務ソフトウェア群(ビジネスロジック)11、統合情報サービス12、およびデータセントリックフレームワーク13を含む。 As shown in FIG. 2, the target software includes mission software group (business logic) 11, integrated information service 12, and data centric framework 13.

任務ソフトウェア群11は、各種のアプリケーション(計画立案処理、統合センサ管制、センサ情報相関/類識別、目標情報統合、任務シミュレーション支援、ヒューマンインタフェース等にそれぞれ対応するアプリケーション)を備えている。 The mission software group 11 includes various applications (applications corresponding to planning processing, integrated sensor control, sensor information correlation/class identification, target information integration, mission simulation support, human interface, etc.).

統合情報サービス12は、リソース管理・セキュア管理の機能を備えた共通サービス機能(ASSWサービス、ASWサービス、通信サービス、CDSサービス等の各機能)21、ならびに統合情報サービスインタフェース22を備えている。 The integrated information service 12 includes a common service function (each function such as ASSW service, ASW service, communication service, CDS service) 21 having a resource management/secure management function, and an integrated information service interface 22.

データセントリックフレームワーク13は、オペレーティングシステム機能に属するIOサービス機能31、プラットフォーム特有サービス機能(デバイスドライバ、GUIライブラリ、点検監視ファームウェア等の各機能)32、および伝送サービス機能(伝送ゲートウェイ、DDS、CORBA、WEBサービス等の各機能)33を備えている。 The data-centric framework 13 includes an IO service function 31 that belongs to an operating system function, a platform-specific service function (functions such as device driver, GUI library, and inspection/monitoring firmware) 32, and a transmission service function (transmission gateway, DDS, CORBA). , WEB services, etc.) 33.

このモデルの例に示される任務ソフトウェア群11を構成する個々のアプリケーションは、ソフトウェアの振る舞いを制御すべく、処理の目的に応じたQOS(精度、類識別度、画面解像度等)、処理実行時間、CPU使用率、メモリ使用量、通信帯域等をパラメータとして内蔵した構造を持ち、システムの資源を最適に活用し、最大成果を得るために、動的に制御可能である。 The individual applications that make up the mission software group 11 shown in the example of this model control the behavior of the software in order to control the behavior of the software, such as QOS (precision, degree of class identification, screen resolution), processing execution time, It has a structure in which CPU usage rate, memory usage, communication band, etc. are built in as parameters, and can be dynamically controlled to optimally utilize system resources and obtain maximum results.

また、このモデルの例では、各アプリケーションからの要求を統合情報サービスインタフェース22で解釈する構成とし、また、伝送サービス機能33、プラットフォーム特有サービス機能32、IOサービス機能31を有するオペレーティングシステム機能を、データセントリックアーキテクチャに基づくデータセントリックフレームワーク13で構成している。 Further, in the example of this model, the request from each application is interpreted by the integrated information service interface 22, and the operating system function having the transmission service function 33, the platform-specific service function 32, and the IO service function 31 is stored as data. The data-centric framework 13 is based on the Centric architecture.

図2中の範囲Aでは、個々のアプリケーションが、統合情報サービスインタフェース22を通じて、ユースケースのサービスを実現する。これらのアプリケーションのオブジェクトを制御するパラメータの値は、進化型ソフトウェア開発装置1がニューラルネットワークを用いて機械学習を行うことにより決定される。 In the range A in FIG. 2, each application realizes a use case service through the integrated information service interface 22. The values of the parameters that control the objects of these applications are determined by the evolutionary software development apparatus 1 performing machine learning using a neural network.

図2中の範囲Bでは、統合情報サービスインタフェース22により解釈された各アプリケーションからの要求は、共通サービス機能21の配置/設定/管理等の処理により実現される。共通サービス機能21に備えられるリソース管理の機能は、進化型ソフトウェア開発装置1が機械学習により決定された最適化パラメータに基づき、ネットワークの制御、CPU、メモリ使用の割付、スレッド等の優先順位管理/監視を行い、それらを共通サービス機能21の配置/設定等に反映させる。なお、伝送サービス機能33の伝送ゲートウェイは、レガシーなインタフェースを持つシステムの連接をDDS等と同様に行うことができる。 In the range B in FIG. 2, the request from each application interpreted by the integrated information service interface 22 is realized by processing such as arrangement/setting/management of the common service function 21. The resource management function provided in the common service function 21 is based on the optimization parameters determined by machine learning by the evolutionary software development apparatus 1 based on network control, CPU, memory usage allocation, priority management of threads, etc. It is monitored and reflected in the arrangement/setting of the common service function 21. The transmission gateway of the transmission service function 33 can connect a system having a legacy interface in the same manner as DDS.

図2中の範囲Cでは、IOサービス機能31およびプラットフォーム特有サービス機能32により、当該プラットフォームに特有のサービス等が提供される。 In a range C in FIG. 2, the IO service function 31 and the platform-specific service function 32 provide services specific to the platform.

<ソフトウェアの量子論的な扱いについて>
次に、ソフトウェアの量子論的な扱いについて説明する。
<About the quantum treatment of software>
Next, the quantum treatment of software will be described.

本実施形態では、最適値計算部5が各パラメータの最適値を求めるにあたり、局所最適値に拘束されることと、パラメータ間の多重供線性とを許容するため、各パラメータの計測値を量子論的に扱う。 In the present embodiment, when the optimum value calculation unit 5 obtains the optimum value of each parameter, the measured value of each parameter is quantum Treat it properly.

ソフトウェアの量子論的扱いとは、時間tで計測された各パラメータを、ソフトウェアが起動されてから時間tに至るまでの振る舞いの代表値と捉えることを意味する。よって、入力値は、単なる実数ではなく、例えば、計測された値に急減少関数を乗じて時間積分した超関数とする。 Quantum treatment of software means that each parameter measured at time t is regarded as a representative value of the behavior from the time the software is started to the time t. Therefore, the input value is not a mere real number, but is, for example, a superfunction obtained by multiplying the measured value by a sudden decrease function and integrating the time.

また、本実施形態では、最適値計算部5は、各パラメータの最適値計算において評価関数を使用する。ここで使用する評価関数も超関数とし、入力値データの対象空間を拡張する。 Further, in the present embodiment, the optimum value calculation unit 5 uses the evaluation function in the optimum value calculation of each parameter. The evaluation function used here is also a super function, and the target space of the input value data is expanded.

評価関数の一例を、図3の(1)式に示す。 An example of the evaluation function is shown in equation (1) of FIG.

最適値計算部5は、(1)式につき、(2)式に示す条件(即ち、評価関数の微分値が0で、かつ、評価関数の値が最小となる条件)を満たすSPを求める。 The optimum value calculation unit 5 obtains an SP that satisfies the condition (that is, the condition that the differential value of the evaluation function is 0 and the value of the evaluation function is the minimum) shown in the formula (2) for the expression (1).

ただし、(1)式につき、(2’)式に示す状態となる場合には、ソフトウェア設計が破綻している可能性があるため、再設計の必要性を示唆する情報を出力する。ソフトウェア設計が破綻する原因の例としては、設計ミス、ソフトウェアバグ、サーバーへの不正アクセス等が考えられる。 However, in the case of the expression (2′) in the expression (1), there is a possibility that the software design is broken, and therefore information indicating the necessity of redesign is output. Examples of the cause of software design failure include design mistakes, software bugs, and unauthorized access to the server.

なお、LPは、Lpノルムを表している。ここでは、データの感度に応じて、L2ノルム(p=2)等を用いる計算するものとする。フーリエ変換されたデータを対象とする場合は、p=2にするなどの選択を行う。 LP represents the Lp norm. Here, it is assumed that calculation is performed using the L2 norm (p=2) or the like according to the sensitivity of the data. When the Fourier-transformed data is targeted, selection such as p=2 is performed.

f()は、Schwarzの超関数を表している。この超関数は、ソフトウェアで観測される離散値データ(Diracδの等倍数等)を引数にすることができる。 f() represents the Schwarz superfunction. This superfunction can take as an argument the discrete value data observed by software (such as a multiple of Diracδ).

g()は、an(t,gop)をニューロン(ノード)として持つニューラルネットワークを表している。これについては、後で詳しく述べる。 g() represents a neural network having an(t,gop) as a neuron (node). This will be described in detail later.

ラウンドデルタは、超関数の微分を表している。 Round delta represents the derivative of the superfunction.

SOは、システム目標値を表している。具体的には、SO(v1,v2,v3,…,vn)で表現される。 SO represents the system target value. Specifically, it is represented by SO(v1,v2,v3,...,vn).

SDは、ソフトウェア取得値(パラメータの計測値)を表している。具体的には、SD(d1,d2,d3,…,dn)で表現される。 SD represents the software acquisition value (parameter measurement value). Specifically, it is represented by SD(d1,d2,d3,...,dn).

SPは、ソフトウェア制御パラメータを表している。具体的には、SP(a1(t,gop), a2(t,gop), a3(t,gop), ・・・, an(t,gop))で表現される。 SP represents a software control parameter. Specifically, it is represented by SP(a1(t,gop), a2(t,gop), a3(t,gop),..., An(t,gop)).

an(t,gop)は、階層tのn番目のニューロン(ノード)を表している。 an(t,gop) represents the n-th neuron (node) of the hierarchy t.

tは、計測時刻を表している。 t represents the measurement time.

gopは、遺伝的作用素(淘汰、交叉、突然変異、アポトーシス)を表している。 gop represents a genetic operator (selection, crossover, mutation, apoptosis).

<環境対応型ニューラルネットワークについて>
本実施形態では、最適値計算部5は、各パラメータの最適値計算に、環境対応型のニューラルネットワークを使用する。入力値の計算を行うニューロン群は、入力値の時間的変化に応じて変化する。これらのニューロン群に対し、例えば、システムの置かれた環境に応じて遺伝的な操作(淘汰、交叉、突然変異、アポトーシス)を加えることにより、計算を行うニューロン群を成長させるようにしてもよい。
<About environment-friendly neural network>
In the present embodiment, the optimum value calculation unit 5 uses an environment-responsive neural network for the optimum value calculation of each parameter. The neuron group that calculates the input value changes according to the temporal change of the input value. For these neuron groups, for example, genetic operations (selection, crossover, mutation, apoptosis) may be applied according to the environment in which the system is placed to grow the neuron group for calculation. ..

従来の遺伝的アルゴリズムには無い、アポトーシスに相当する操作は、ペナルティ法に従ってノード(ニューロン)の出力値に数値的ペナルティを与えることで実現できる。例えば出力値を分数(分子が固定値、分母が変数)で表した場合、分母の値を例えば1億にする等の操作により実現できる。 An operation corresponding to apoptosis, which is not found in conventional genetic algorithms, can be realized by giving a numerical penalty to the output value of a node (neuron) according to the penalty method. For example, when the output value is represented by a fraction (the numerator is a fixed value and the denominator is a variable), it can be realized by an operation such as setting the value of the denominator to 100 million.

図4に、環境対応型ニューラルネットワークの一例を示す。 FIG. 4 shows an example of the environment-responsive neural network.

ここでは、時刻tにシステムで計測される各計測値を、時刻t近傍の代表値とみなし、シュワルツの超関数を用いて当該計測値を扱う。すなわち、システムの状態を量子論的に扱う。 Here, each measured value measured by the system at time t is regarded as a representative value in the vicinity of time t, and the measured value is handled using a Schwarz's super function. That is, the state of the system is treated quantumally.

各ノード(ニューロン)のanm(t)は、前述のan(t)に相当する。anm(t)は、階層n番目、層深さmのニューロン(ノード)を表している。このanm(t)は、例えば、制御可能なソフトウェアパラメータと超関数の積で記述されるものとする。 The anm(t) of each node (neuron) corresponds to the above-mentioned an(t). anm(t) represents a neuron (node) at the nth layer and the layer depth m. This anm(t) is described by, for example, the product of controllable software parameters and a superfunction.

各パラメータの例としては、次のものが挙げられる。 The following are examples of each parameter.

・スレッド数
・スレッドプライオリティ
・スレッドヒープ量
・スレッド周期
・画面解像度QOS
・データ通信QOS
・イベント割込みQOS
・DatumQOS
また、超関数の候補としては、次のものが挙げられる。
・Number of threads ・Thread priority ・Thread heap amount ・Thread cycle ・Screen resolution QOS
・Data communication QOS
・Event interrupt QOS
・DatumQOS
The following are examples of candidates for the hyperfunction.

・δ(t)
・ヘヴィサイド(Heviside)関数
・シグモイド(Sigmoid)関数(例えば「1/(1+exp(-xgn(an)))」)
なお、gnは遺伝的アルゴリズムに相当するものであり、anの状態に応じて計算する個体の適応度が決まる。
・Δ(t)
・Heaviside function ・Sigmoid function (eg "1/(1+exp(-xgn(an)))")
Note that gn corresponds to a genetic algorithm, and the fitness of an individual to be calculated is determined according to the state of an.

ニューラルネットワークが入力する入力値としては、例えば以下に示すような各種パラメータの計測値が挙げられる。ただし、この場合の各計測値は、例えば急減少関数やデルタ関数を使用して時間積分した超関数の形態で入力される。 Examples of input values input by the neural network include measured values of various parameters as shown below. However, the respective measured values in this case are input in the form of a superfunction that is time-integrated using, for example, a sudden decrease function or a delta function.

D1:計画立案計測データ(効果x11、処理時間x12、CPU使用率x13、メモリ使用率x14)
D2:統合センサ管制計測データ(精度x21、処理時間x22、CPU使用率x23、メモリ使用率x24)
D3:探知/追跡処理計測データ(精度x31、処理時間x32、CPU使用率x33、メモリ使用率x34)
D4:センサデータ処理計測データ(識別精度x41、処理時間x42、CPU使用率x43、メモリ使用率x44)
D5:データ通信処理計測データ(処理時間x51,CPU使用率x52、メモリ使用率x53、通信帯域x54)
D6:表示処理計測データ(画面解像度x61、処理時間x62、CPU使用率x63、メモリ使用率x64)
D7:操作処理データ(応答時間x71、処理時間x72、CPU使用率x73、メモリ使用率x74)
この場合、ニューラルネットワークが出力する出力値E1〜E7は、例えば以下に示すような各種パラメータの目標値E1optm〜E7optmに対応するものである。
D1: Planning measurement data (effect x11, processing time x12, CPU usage rate x13, memory usage rate x14)
D2: Integrated sensor control measurement data (accuracy x21, processing time x22, CPU usage rate x23, memory usage rate x24)
D3: Detection/tracking processing measurement data (accuracy x31, processing time x32, CPU usage rate x33, memory usage rate x34)
D4: Sensor data processing measurement data (identification accuracy x41, processing time x42, CPU usage rate x43, memory usage rate x44)
D5: Data communication processing measurement data (processing time x51, CPU usage rate x52, memory usage rate x53, communication bandwidth x54)
D6: Display processing measurement data (screen resolution x61, processing time x62, CPU usage rate x63, memory usage rate x64)
D7: Operation processing data (response time x71, processing time x72, CPU usage rate x73, memory usage rate x74)
In this case, the output values E1 to E7 output by the neural network correspond to the target values E1optm to E7optm of various parameters as shown below, for example.

E1optm:計画立案処理の設計目標値(効果、処理時間、CPU使用率、メモリ使用率)
E2optm:統合センサ管制処理の設計目標値(精度、処理時間、CPU使用率、メモリ使用率)
E3optm:探知/追跡処理の設計目標値(精度、処理時間、CPU使用率、メモリ使用率)
E4optm:センサデータ処理の設計目標値(識別精度、処理時間、CPU使用率、メモリ使用率)
E5optm:データ通信処理の設計目標値(識別精度、処理時間、CPU使用率、メモリ使用率、通信帯域)
E6optm 表示処理の設計目標値(画面解像度、処理時間、CPU使用率、メモリ使用率、通信帯域)
E7optm 操作処理の設計目標値(応答時間、CPU使用率、メモリ使用率)
最適値計算部5は、出力値E1〜E7とそれぞれの目標値E1optm〜E7optmとのLpノルムを計算し、ニューラルネットワークにフィードバックさせる。
E1optm: Design target value of planning process (effect, processing time, CPU usage rate, memory usage rate)
E2optm: Design target value for integrated sensor control processing (accuracy, processing time, CPU usage rate, memory usage rate)
E3optm: Design target value for detection/tracking processing (accuracy, processing time, CPU usage rate, memory usage rate)
E4optm: Design target value for sensor data processing (identification accuracy, processing time, CPU usage rate, memory usage rate)
E5optm: Design target value for data communication processing (identification accuracy, processing time, CPU usage rate, memory usage rate, communication bandwidth)
E6optm display processing design target values (screen resolution, processing time, CPU usage rate, memory usage rate, communication bandwidth)
E7optm operation processing design target values (response time, CPU usage rate, memory usage rate)
The optimum value calculation unit 5 calculates the Lp norm of the output values E1 to E7 and the respective target values E1optm to E7optm and feeds it back to the neural network.

このようにシステムが目標とする性能値となるように、ニューラルネットワークに機械学習をさせることにより、ソフトウェアを制御することが可能な各種のパラメータの最適値を求めることができる。 In this way, by causing the neural network to perform machine learning so that the system has a target performance value, it is possible to obtain optimum values of various parameters capable of controlling software.

<非定常事象の最適化>
前述したニューラルネットワークでの成長過程を記録し、次のステップに反映するための階層型ニューラルネットワークを構築し、時間変化に対応できるようにしてもよい。
<Optimization of non-stationary events>
It is also possible to record the growth process in the above-mentioned neural network and construct a hierarchical neural network for reflecting it in the next step so as to be able to cope with time changes.

<動作例>
次に、図5を参照して、進化型ソフトウェア開発装置1による動作の一例を説明する。
<Operation example>
Next, an example of the operation of the evolutionary software development device 1 will be described with reference to FIG.

最初に、進化型ソフトウェア開発装置1は、ソフトウェア取得データ定式化部4により、記録媒体2からソフトウェア取得データを読み出し、最適値計算部5が処理するのに適したデータ形態となるようにデータを定式化する(ステップS1)。 First, the evolutionary software development apparatus 1 reads the software acquisition data from the recording medium 2 by the software acquisition data formulation unit 4 and converts the data into a data form suitable for the optimum value calculation unit 5 to process. It is formulated (step S1).

次に、進化型ソフトウェア開発装置1は、最適値計算部5により、ソフトウェア取得データ定式化部4で定式化されたデータを用いて、対象となるソフトウェアの各種パラメータの最適値を計算する(ステップS2)。ここでは、各パラメータの計測値から各パラメータの最適値を計算するに際して、ニューラルネットワークを使用し、当該ニューラルネットワークに入力する各パラメータの計測値に超関数を適用するとともに、当該ニューラルネットワークの各ノードにも超関数を適用した上で、各パラメータの最適値計算を行う。 Next, the evolutionary software development device 1 calculates the optimum values of various parameters of the target software by using the data formulated by the software acquisition data formulation unit 4 by the optimal value calculation unit 5 (step S2). Here, in calculating the optimum value of each parameter from the measured value of each parameter, a neural network is used, and a superfunction is applied to the measured value of each parameter input to the neural network, and each node of the neural network is used. Then, after applying the super function, the optimum value of each parameter is calculated.

最後に、進化型ソフトウェア開発装置1は、パラメータ決定・ソフトウェア再作成部6により、最適値計算部5で計算された結果に基づき、再作成するソフトウェアの各種パラメータの値を決定し、決定した各種パラメータの値を当該ソフトウェアに反映させることでソフトウェアの再作成を行う(ステップS3)。 Finally, the evolutionary software development apparatus 1 determines the values of various parameters of the software to be re-created by the parameter determination/software re-creation unit 6 based on the result calculated by the optimum value calculation unit 5 The software is recreated by reflecting the parameter value in the software (step S3).

このように、本実施形態の進化型ソフトウェア開発装置によれば、ソフトウェアの振る舞いを量子論的に扱い、ソフトウェア制御パラメータの各計測値を単なる離散値として扱うのではなく、これまで他要素からの影響を受けながら積分されてきた値の代表値として扱い、多変量解析の入力値を超関数にまで拡張することで、不連続なデータを扱い易いものとし、また、超関数にまで拡張したパラメータ自体をニューラルネットワークのニューロン(ノード)に適用することで、微分が自由にできる超関数によりニューラルネットワーク上での円滑な演算が保証される。さらには、局所最適値に拘束されることを、遺伝的アルゴリズムで解決することができる。 As described above, according to the evolutionary-type software development apparatus of the present embodiment, the behavior of software is treated in a quantum theory, and each measured value of the software control parameter is not treated as a mere discrete value. Treated as a representative value of the values that have been integrated while being affected, by extending the input value of multivariate analysis to a hyperfunction, making discontinuous data easier to handle, and extending to a hyperfunction. By applying itself to the neurons (nodes) of the neural network, smooth operation on the neural network is guaranteed by the superfunction that can be differentiated freely. Furthermore, the constraint on the local optimum value can be solved by a genetic algorithm.

また、システムが目標とする性能値となるようにニューラルネットワークに機械学習をさせることにより、各種のパラメータの最適値を発見的に求めることができ、さらに、それらをソフトウェアに反映することにより、自律的にシステムリソースを最大限生かしつつシステム要求を満足するように進化するソフトウェアを開発することができる。 In addition, by letting the neural network perform machine learning so that the system achieves the target performance value, the optimum values of various parameters can be found heuristically, and by reflecting them in software, autonomous It is possible to develop software that evolves to satisfy system requirements while making maximum use of system resources.

また、高度かつ複雑化するソフトウェアの実行時に得られるデータは膨大な量であるが、本実施形態の進化型ソフトウェア開発装置によれば、そのようなビッグデータの活用も可能となる。 Further, although the amount of data obtained during execution of highly sophisticated and complicated software is enormous, the evolutionary software development apparatus of the present embodiment can also utilize such big data.

以上詳述したように、上記実施形態によれば、各種パラメータが最適化されたソフトウェアを実現することが可能になる。 As described in detail above, according to the above embodiment, it is possible to realize software in which various parameters are optimized.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although some embodiments of the present invention have been described, these embodiments are presented as examples 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 spirit of the invention. These embodiments and their modifications are included in the scope and gist of the invention, and are also included in the invention described in the claims and the scope of equivalents thereof.

1…進化型ソフトウェア開発装置、2,3…記録媒体、4…ソフトウェア取得データ定式化部、5…最適値計算部、6…パラメータ決定・ソフトウェア再作成部、11…任務ソフトウェア群、12…統合情報サービス、13…データセントリックフレームワーク、21…共通サービス機能、22…統合情報サービスインタフェース、31、…IOサービス機能、32…プラットフォーム特有サービス機能、33…伝送サービス機能。 1... Evolutionary software development device, 2, 3... Recording medium, 4... Software acquisition data formulation unit, 5... Optimal value calculation unit, 6... Parameter determination/software re-creation unit, 11... Mission software group, 12... Integration Information service, 13... Data centric framework, 21... Common service function, 22... Integrated information service interface, 31,... IO service function, 32... Platform-specific service function, 33... Transmission service function.

Claims (10)

パラメータ群により振る舞いが制御されるソフトウェアの開発に使用されるソフトウェア開発装置であって、
前記ソフトウェアの実行時に得られる各パラメータの計測値から各パラメータの最適値を計算するに際して、ニューラルネットワークを使用し、当該ニューラルネットワークに入力する各パラメータの計測値に超関数を適用するとともに、当該ニューラルネットワークの各ノードにも超関数を適用する、最適値計算手段と、
前記最適値計算手段により計算された各パラメータを用いて前記ソフトウェアの再作成を行うソフトウェア再作成手段と
を具備する、ソフトウェア開発装置。
A software development device used for developing software whose behavior is controlled by a group of parameters,
When calculating the optimum value of each parameter from the measured value of each parameter obtained during execution of the software, a neural network is used, and a superfunction is applied to the measured value of each parameter input to the neural network, and the neural network Optimal value calculation means that applies a superfunction to each node of the network,
A software re-creating means for re-creating the software using each parameter calculated by the optimum value calculating means.
前記最適値計算手段は、前記ニューラルネットワークの入力値として、各パラメータの計測値にそれぞれ急減少関数を乗じて時間積分した超関数を適用する、請求項1に記載のソフトウェア開発装置。 The software development device according to claim 1, wherein the optimum value calculation means applies, as an input value of the neural network, a superfunction obtained by multiplying a measured value of each parameter by a sudden decrease function and time integration. 前記最適値計算手段は、前記ニューラルネットワークの各ノードに、各パラメータと超関数との積で表される関数を適用する、請求項1又は2に記載のソフトウェア開発装置。 3. The software development device according to claim 1, wherein the optimum value calculation means applies a function represented by a product of each parameter and a superfunction to each node of the neural network. 前記最適値計算手段は、いずれかのノードに対し、遺伝的作用素である淘汰、交叉、突然変異、アポトーシスの少なくともいずれかに相当する操作を行う、請求項1乃至3のいずれか1項に記載のソフトウェア開発装置。 4. The optimum value calculation means performs an operation corresponding to at least one of selection, crossover, mutation, and apoptosis, which are genetic operators, on any of the nodes. Software development equipment. 前記最適値計算手段は、いずれかのノードに対して前記アポトーシスに相当する操作を行うに際し、当該ノードの出力値にペナルティ法に従って数値的ペナルティを与える、請求項4に記載のソフトウェア開発装置。 The software development device according to claim 4, wherein the optimum value calculation means gives a numerical penalty to an output value of the node according to a penalty method when performing an operation corresponding to the apoptosis on any node. 前記最適値計算手段は、超関数を含む評価関数を用いて、各パラメータの最適値を計算する、請求項1乃至5のいずれか1項に記載のソフトウェア開発装置。 The software development device according to claim 1, wherein the optimum value calculation means calculates the optimum value of each parameter using an evaluation function including a super function. 前記評価関数は、前記ニューラルネットワークの出力値と目標値との差のLpノルムで表される、請求項6に記載のソフトウェア開発装置。 The software development device according to claim 6, wherein the evaluation function is represented by an Lp norm of a difference between an output value of the neural network and a target value. 前記最適値計算手段は、前記評価関数の微分値が0で且つ前記評価関数の値が最小になるときの各パラメータの値を求める、請求項6又は7に記載のソフトウェア開発装置。 The software development device according to claim 6 or 7, wherein the optimum value calculation means obtains the value of each parameter when the differential value of the evaluation function is 0 and the value of the evaluation function is minimum. パラメータ群により振る舞いが制御されるソフトウェアの開発に使用されるソフトウェア開発方法であって、
最適値計算手段により、前記ソフトウェアの実行時に得られる各パラメータの計測値から各パラメータの最適値を計算するに際して、ニューラルネットワークを使用し、当該ニューラルネットワークに入力する各パラメータの計測値に超関数を適用するとともに、当該ニューラルネットワークの各ノードにも超関数を適用し
ソフトウェア再作成手段により、前記最適値計算手段により計算された各パラメータを用いて前記ソフトウェアの再作成を行う
ことを含む、ソフトウェア開発方法。
A software development method used to develop software whose behavior is controlled by a group of parameters,
When calculating the optimum value of each parameter from the measured value of each parameter obtained at the time of execution of the software by the optimum value calculation means, a neural network is used, and a superfunction is added to the measured value of each parameter input to the neural network. Software development including applying the superfunction to each node of the neural network and recreating the software by the software recreating means using each parameter calculated by the optimum value calculating means Method.
パラメータ群により振る舞いが制御されるソフトウェアの開発に使用されるプログラムであって、
前記ソフトウェアの実行時に得られる各パラメータの計測値から各パラメータの最適値を計算するに際して、ニューラルネットワークを使用し、当該ニューラルネットワークに入力する各パラメータの計測値に超関数を適用するとともに、当該ニューラルネットワークの各ノードにも超関数を適用する、最適値計算機能と、
前記最適値計算機能により計算された各パラメータを用いて前記ソフトウェアの再作成を行うソフトウェア再作成機能と、
をコンピュータに実現させるためのプログラム。
A program used to develop software whose behavior is controlled by parameters,
When calculating the optimum value of each parameter from the measured value of each parameter obtained during execution of the software, a neural network is used, and a superfunction is applied to the measured value of each parameter input to the neural network, and the neural network also apply the generalized function to each node of the network, and the optimum value calculation function,
A software recreating function for recreating the software using each parameter calculated by the optimum value calculating function,
A program that makes a computer realize.
JP2017180638A 2017-09-20 2017-09-20 Software development apparatus, software development method, and program Active JP6721555B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017180638A JP6721555B2 (en) 2017-09-20 2017-09-20 Software development apparatus, software development method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017180638A JP6721555B2 (en) 2017-09-20 2017-09-20 Software development apparatus, software development method, and program

Publications (2)

Publication Number Publication Date
JP2019057088A JP2019057088A (en) 2019-04-11
JP6721555B2 true JP6721555B2 (en) 2020-07-15

Family

ID=66107620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017180638A Active JP6721555B2 (en) 2017-09-20 2017-09-20 Software development apparatus, software development method, and program

Country Status (1)

Country Link
JP (1) JP6721555B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3953809A4 (en) 2019-04-12 2023-01-11 Servicenow Canada Inc. SOFTWARE MODULE DEVELOPMENT SYSTEM

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0554163A (en) * 1991-06-12 1993-03-05 Ricoh Co Ltd Natural network and its learning method
JP2003256005A (en) * 2002-03-01 2003-09-10 Omron Corp Control method and control device
JP6625868B2 (en) * 2015-11-18 2019-12-25 ファナック株式会社 Machine learning device for machining program, machining assembly system provided with the machine learning device, and machine learning method for machining program

Also Published As

Publication number Publication date
JP2019057088A (en) 2019-04-11

Similar Documents

Publication Publication Date Title
US11797882B2 (en) Prognostic-surveillance technique that dynamically adapts to evolving characteristics of a monitored asset
AU2016259298B2 (en) Machine for development and deployment of analytical models
CN115427967A (en) Determining multivariate time series data dependencies
JP2020194560A (en) Causal relationship analyzing method and electronic device
Kumar et al. Software maintainability prediction using hybrid neural network and fuzzy logic approach with parallel computing concept
JP2006048703A (en) Automatic validity check and calibration of performance model of transaction base
US7457674B2 (en) System, device, and methods for updating system-monitoring models
JP2017091278A (en) Learning device, prediction device, learning method, prediction method, and program
US20200004532A1 (en) Devops driven cognitive cost function for software defect prediction
US20150024367A1 (en) Cost-aware non-stationary online learning
US20230015477A1 (en) Dynamic testing of systems
AU2021218217A1 (en) Systems and methods for preventative monitoring using AI learning of outcomes and responses from previous experience.
Chen et al. Interpretable uncertainty quantification in AI for HEP
Sagi et al. Fine-grained power modeling of multicore processors using ffnns
US20230032912A1 (en) Automatically detecting outliers in federated data
JP6721555B2 (en) Software development apparatus, software development method, and program
Eischens et al. State space neural network with nonlinear physics for mechanical system modeling
Dhaka et al. Parameter estimation of an SRGM using teaching learning based optimization
KR20210124377A (en) Extraction of features from data sets
Rausch et al. PipeSim: Trace-driven simulation of large-scale AI operations platforms
Giri et al. Neural network-based prediction of productivity parameters
US20250272159A1 (en) Verifying fairness of workload shifting policies
JP2023517520A (en) Event correlation in fault event management
RU2559401C1 (en) Diagnostic of aircraft service systems operating conditions
Dhanalaxmi et al. Practical Guidelines to Improve Defect Prediction Model–A Review

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200311

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200519

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200618

R150 Certificate of patent or registration of utility model

Ref document number: 6721555

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350