JPH0520037A - モジユール分配方式 - Google Patents

モジユール分配方式

Info

Publication number
JPH0520037A
JPH0520037A JP19372791A JP19372791A JPH0520037A JP H0520037 A JPH0520037 A JP H0520037A JP 19372791 A JP19372791 A JP 19372791A JP 19372791 A JP19372791 A JP 19372791A JP H0520037 A JPH0520037 A JP H0520037A
Authority
JP
Japan
Prior art keywords
module
modules
evaluation function
development
data
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
JP19372791A
Other languages
English (en)
Inventor
Yukitatsu Tsukamoto
幸辰 塚本
Keinosuke Matsumoto
啓之亮 松本
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP19372791A priority Critical patent/JPH0520037A/ja
Publication of JPH0520037A publication Critical patent/JPH0520037A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 各モジュールを製造する開発拠点での製造能
力に応じたモジュール割当て、及びモジュール統合時の
インターフェイスの問題を低減させる。 【構成】 大規模かつ複雑なソフトウェアを機能分割し
た各モジュールの定量化した規模及び結合度を、所定の
評価関数で定量的に評価し、該評価関数が最小となるよ
うに、各モジュールを開発拠点に割当てることを特徴と
している。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、大規模かつ複雑なソ
フトウェアを機能分割したモジュールを、該ソフトウェ
アを分散並列的に開発する複数の開発拠点に割当てるモ
ジュール分配方式に関するものである。
【0002】
【従来の技術】一般に、大規模かつ複雑なソフトウェア
を分散並列的に開発する際、独立性の高いモジュールの
グループに分割することは開発及び保守の面からみて非
常に重要である。図7は、例えば「計測と制御」,(Vo
l.25,NO.3,pp.236-243,1986 )に示された従来のモジュ
ール分配方式を示すモジュール構成図であり、従来、こ
の図のように、機能分割された複数のモジュールで構成
されるソフトウェア構造図から、データ変換の中心とな
る最大抽出点を見つけだし、データ入力部、変換部、及
び出力部にそれぞれ分割する動作を、設計者が自己の経
験及び能力で行っていた。
【0003】
【発明が解決しようとする課題】従来のモジュール分配
方式は以上のように構成されているので、数ヵ所に分か
れた製造能力の異なる開発拠点へ独立性の高いモジュー
ルをその能力に応じて最適に割当てることは難しく、か
つプロジェクト進捗度への影響が心配されるとともに、
ソフトウェア統合時のエラーが非常に多く発生するなど
の課題があった。
【0004】この発明は以上のような課題を解消するた
めになされたもので、大規模かつ複雑なソフトウェアを
機能分割したモジュールを製造する開発拠点での製造能
力に応じたモジュール割当て、及びモジュール統合時の
インターフェイスの問題を低減させるモジュール分配方
式を得ることを目的とする。
【0005】
【課題を解決するための手段】この発明に係るモジュー
ル分配方式は、大規模かつ複雑なソフトウェアを機能分
割した各モジュールに入出力されるデータを定量化した
モジュール規模、及び前記各モジュール間のデータ移動
量を定量化したモジュール間結合度を、該モジュールを
割当てたことによって生じる対象システム全体での各割
当てられたモジュールグループ間のデータ移動量を表し
た評価関数で定量的に評価し、該評価関数が最小となる
ように各開発拠点に各モジュールを割当てるようにした
ものである。
【0006】
【作用】この発明におけるモジュール分配方式は、前記
定量化されたソフトウェアの全モジュールの規模、及び
相互のデータ結合度により0−1非線形整数計画問題と
して定式化されたものであり、これにより、各モジュー
ルが各開発拠点に最適に配分される。
【0007】
【実施例】
実施例1.以下、この発明の一実施例を図について説明
する。図1は、対象ソフトウェアを複数のモジュールに
階層化して機能分割した階層化構造図であり、また、図
2は前記対象ソフトウェアをプロミティブに展開したモ
ジュール構成図である。
【0008】この図2において、1は機能分割されたモ
ジュール間のデータの流れを示すバブル、2は該機能分
割されたモジュールを示すアローである。
【0009】次に動作について説明するが、ここでは、
最適なモジュール割当てを以下の2点にしぼって説明す
る。 個々のモジュールの凝集度を高め、モジュール
の製造を独立的に行うことができ、該モジュール結合時
のインターフェイスの問題を極力抑えるためにモジュー
ル相互のデータ結合度がなるべく小さい箇所で分割す
る。 各開発拠点に製造能力の差があるとし、その製
造能力に合わしたモジュールの配分を行なう
【0010】そして、機能分割されたモジュールの総数
をM、第i番のモジュールの製造仕事量の大きさを
i 、開発拠点数をNとし、該モジュールの各開発拠点
への割当てを決定する割当変数をdikとすると、各モジ
ュールは必ず一箇所の開発拠点にのみ割当てられること
から
【0011】
【数1】
【0012】とし、モジュール分割するにあたり、割当
てられる各グループの製造能力に応じた最適割当てを行
うために能力係数βj を導入して以下のような拘束条件
を設定する。
【0013】
【数2】
【0014】ここで、λは最適配分からのずれを表す係
数(制約条件の強度を表す値)であり、これら数1及び
数2を制約条件とする。また、プリミティブモジュール
iとj間のデータ移動量を表す変数をモジュール間結合
度tijとすると、各グループ間に該モジュールを配分し
たことによって生じる対象システム全体でのグループ間
のデータ移動量FD
【0015】
【数3】
【0016】と表わせ、特に、この数3を評価関数とす
る。ここで、モジュール規模p1 は入出力されるデータ
の属性および種類数により決定され、また、モジュール
間結合度tijはリンクしているデータの属性および種類
数により決定される。
【0017】次に、具体例として、図3に示す電力系統
事故復旧操作プログラムを図4に示す製造能力の異なる
2つの開発拠点A,Bにモジュールを割当てる場合につ
いて説明するが、この図4において、3は対象ソフトウ
ェア全体を機能分割した際の各機能を表すモジュール、
4はモジュール間のデータフロー、5は同じくコントロ
ールフローであり、該各データフロー4及びコントロー
ルフロー5につけられたカッコ内の数字は各モジュール
間を移動するデータの種類数を表す。つまり、この数字
が該モジュール間の結合度を表すものと仮定する。
【0018】そして、以上の仮定をもとに、各モジュー
ルに入出力されるデータから計算されたモジュールの規
模を図7(a)に示す。もし、開発拠点Aにモジュール
(2),(4)、開発拠点Bにモジュール(1),
(3),(5),(6)、を割当てたならばモジュール
配分比率はおよそ1:2になり製造能力の面からは要求
をみたしている。ここで、前記数3で示した評価関数F
D の値は43となっている。同様に開発拠点Aにモジュ
ール(4),(5)、開発拠点Bにモジュール(1),
(2),(3),(6)、を配分した場合も配分比率は
およそ1:2となり要求を満たしているといえるが、こ
の場合の評価関数FD の値は36となり、最初の割当よ
りもより最適な割当であると言える。このようにして最
適解を求めた結果を図7(b)に示す。
【0019】次に、このモジュール割当て動作を図5の
フローチャートを用いて説明する。まず、探索の開始に
あたりFD に無限大を代入し、さらに、探索レベルを0
に設定している(ステップST1)。ここで、探索レベ
ルとは今までになされた探索の深さを表し、図3に示し
たソフトウェアにおいては今までに割当てが行われたモ
ジュールの数に相当する。また、探索関数については、
深さ優先探索を使っており、これにより、図6に示した
木構造においてどのようなルートで探索が進められるか
が決定される(ステップST2)。そして、この図6
で、例えばA={1、3}、B={2}ということは探
索レベル3において、開発拠点Aにモジュール(1),
(3)がBにモジュール(2)が割当てられていること
を表す。
【0020】さらに、このステップST2で探索関数に
より設定された(新たなモジュールの割当てに相当)ル
ートに従って探索レベルが1つ進められ(ステップST
3)、該割当てられたモジュールに関して制約条件、特
に数2を満たすかどうかを調べる(ステップST4)。
そして、この時点で該制約条件を満たしていないことが
判明すれば前記ステップST2に戻って新たな探索ルー
トを調べることになるが、該制約条件を満たしていれば
これまでに探索されたモジュールがそれぞれの開発拠点
に割当てられたことから生じる部分問題に関する緩和問
題を解くことにより評価関数の下限値FDDを求め、その
値が今のところ木(図6)の末端まで探索した結果得ら
れている。暫定値FD を越えていれば(ステップST
5)、その部分問題は終端し、新たな探索ルートをとる
(ステップST2)ことになる。そして、この探索が木
の末端まで行われたかどうかを判定して(ステップST
6)、もし、末端まで行っていなければ探索レベルをさ
らに1つ進めるが(ステップST3)、この緩和問題の
下限値FDDが暫定値FD を越えておらず、さらに探索レ
ベルが最後の割当モジュールに達していたならば暫定値
D を下限値FDDで置き換え(ステップST7)、残り
の探索ルートを調べ挙げ(ステップST8)最適解が求
められる。
【0021】なお、上記の実施例では機能分割されたソ
フトウェアのモジュール分割について説明したが、並列
プロセッサの最適タスク割当にも適用できる。この場合
は、各プロセッサを前記各開発拠点と見なし、各タスク
を各モジュール、タスク間データ移動量をモジュール間
結合度とすることによって同様の効果を奏する。
【0022】
【発明の効果】以上のように、この発明によれば大規模
かつ複雑なソフトウェアを機能分割した各モジュールの
定量化した規模及び結合度を、所定の評価関数で定量的
に評価し、該評価関数が最小となるように各モジュール
を開発拠点に割当てるようにしたので、各開発拠点の製
造能力に応じた最適なモジュール分割が可能になるとと
もに、モジュール統合時のインターフェイスの問題を低
減させる効果がある。
【図面の簡単な説明】
【図1】対象ソフトウェアを複数のモジュールに階層化
して機能分割した階層化構造図である。
【図2】対象ソフトウェアをプロミティブに展開したモ
ジュール構成図である。
【図3】電力系統事故復旧操作プログラムのモジュール
構成図である。
【図4】製造能力の異なる開発拠点を示す図である。
【図5】この発明の一実施例によるモジュール分配方式
の動作を説明するフローチャートである。
【図6】対象ソフトウェアの木構造を示す図である。
【図7】この発明の一実施例によるモジュール分配方式
により得られるモジュール規模及び最適分配結果を示す
図である。
【図8】従来のモジュール分配方式を示すモジュール構
成図である。
【符号の説明】
1 バブル 2 アロー 3 モジュール(アロー) 4 データフロー(バブル) 5 コントロールフロー(バブル)

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 大規模かつ複雑なソフトウェアを機能分
    割した各モジュールを分散並行的に製造するために各開
    発拠点に割当てるモジュール分配方式において、前記各
    モジュールに入出力されるデータを定量化したモジュー
    ル規模、及び前記各モジュール間のデータ移動量を定量
    化したモジュール間結合度を、該各モジュールを割当て
    たことによって生じる対象システム全体での各割当てら
    れたモジュールグループ間のデータ移動量を表した評価
    関数で定量的に評価し、該評価関数が最小となるように
    前記各開発拠点に各モジュールを割当てることを特徴と
    するモジュール分配方式。
JP19372791A 1991-07-09 1991-07-09 モジユール分配方式 Pending JPH0520037A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19372791A JPH0520037A (ja) 1991-07-09 1991-07-09 モジユール分配方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19372791A JPH0520037A (ja) 1991-07-09 1991-07-09 モジユール分配方式

Publications (1)

Publication Number Publication Date
JPH0520037A true JPH0520037A (ja) 1993-01-29

Family

ID=16312801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19372791A Pending JPH0520037A (ja) 1991-07-09 1991-07-09 モジユール分配方式

Country Status (1)

Country Link
JP (1) JPH0520037A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008176364A (ja) * 2007-01-16 2008-07-31 Hitachi Ltd プログラム部品化支援装置
JP2010122716A (ja) * 2008-11-17 2010-06-03 Fujitsu Ltd 改修作業範囲分割プログラム,改修作業範囲分割装置,及び改修作業範囲分割方法
JP2013015958A (ja) * 2011-07-01 2013-01-24 Hitachi Ltd ソフトウェア開発成果物間の依存関係評価装置及び評価方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008176364A (ja) * 2007-01-16 2008-07-31 Hitachi Ltd プログラム部品化支援装置
JP2010122716A (ja) * 2008-11-17 2010-06-03 Fujitsu Ltd 改修作業範囲分割プログラム,改修作業範囲分割装置,及び改修作業範囲分割方法
JP2013015958A (ja) * 2011-07-01 2013-01-24 Hitachi Ltd ソフトウェア開発成果物間の依存関係評価装置及び評価方法

Similar Documents

Publication Publication Date Title
CN111427681B (zh) 边缘计算中基于资源监控的实时任务匹配调度系统和方法
US8041744B2 (en) Computer-aided modeling
CN107590319B (zh) 一种用于机械产品方案辅助设计的知识建模方法和系统
US5303144A (en) Computer aided planning support system
US6490713B2 (en) Method and apparatus for automatically generating multi-terminal nets, and program storage medium storing program for executing automatic multi-terminal net generation method
CN106919769B (zh) 一种基于多层次方法和赋权超图的层次式fpga布局布线方法
US5805860A (en) Methods, data structures and apparatus for traversing a hierarchical netlist
EP0170501B1 (en) Method for logic design of integrated circuit
CN105929690B (zh) 一种基于分解多目标进化算法的柔性车间鲁棒调度方法
Elf et al. Branch-and-cut algorithms for combinatorial optimization and their implementation in ABACUS
Askin et al. Integrating facility layout with process selection and capacity planning
US7890705B2 (en) Shared-memory multiprocessor system and information processing method
Kang et al. A work load-oriented heuristic methodology for manufacturing cell formation allowing reallocation of operations
Eshaghian et al. Mapping heterogeneous task graphs onto heterogeneous system graphs
CN112463532B (zh) 构建snn工作负载自动映射器的方法及自动映射器
JPH0520037A (ja) モジユール分配方式
CN102508720B (zh) 一种提高前处理模块和后处理模块效率的方法及系统
CN106844024B (zh) 一种自学习运行时间预测模型的gpu/cpu调度方法及系统
Shojafar et al. ALATO: an efficient intelligent algorithm for time optimization in an economic grid based on adaptive stochastic Petri net
CN103345428A (zh) 面向云模式共享平台设计资源的局部动态调取方法及装置
KR20010024944A (ko) 전자 소자 및 장치의 설계 및 제조 방법
Atallah A faster parallel algorithm for a matrix searching problem
CN113391850B (zh) 基于边云协同的任务调度方法、装置、设备及存储介质
Cousins et al. The embedded genetic allocator-a system to automatically optimize the use of memory resources in high performance, scalable computing systems
JP3076301B2 (ja) 半導体集積回路のレイアウト面積見積り方法およびそのcad装置