JP5319643B2 - ソフトウェアプロダクトライン開発支援装置およびその方法 - Google Patents
ソフトウェアプロダクトライン開発支援装置およびその方法 Download PDFInfo
- Publication number
- JP5319643B2 JP5319643B2 JP2010235037A JP2010235037A JP5319643B2 JP 5319643 B2 JP5319643 B2 JP 5319643B2 JP 2010235037 A JP2010235037 A JP 2010235037A JP 2010235037 A JP2010235037 A JP 2010235037A JP 5319643 B2 JP5319643 B2 JP 5319643B2
- Authority
- JP
- Japan
- Prior art keywords
- component
- state
- information
- execution
- determination
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Description
図1は、本発明の一実施形態に係るソフトウェアプロダクトライン開発支援装置1のブロック図である。
本実施形態では、鉄道における列車の運行を管理する列車運行管理システムのソフトウェアプロダクトラインを開発するためのソフトウェアプロダクトライン開発支援装置1について述べる。列車運行管理システム(監視制御システム)の制御対象は、列車の運行に係わる設備などである。
記憶部2の実行コンポーネント情報保存部21は、個々の実行コンポーネントを識別する実行コンポーネント識別情報や実行コンポーネント間の親子関係を示す実行コンポーネント間の関連情報を含む実行コンポーネント間関連情報、実行コンポーネントを保存する記憶媒体である。
制御部4の判断コンポーネント情報管理部13は、判断コンポーネント情報保存部22に保存される判断コンポーネント情報を管理するものである。すなわち、判断コンポーネント情報管理部13は、判断コンポーネント情報保存部22に判断コンポーネント情報を記憶・保持したり、読み出したり、更新したり、削除などする。
制御部4のフィーチャ情報管理部14は、フィーチャ情報保存部23に保存される状態遷移情報を含むフィーチャ情報を管理するものである。フィーチャ情報管理部14は、フィーチャ情報をフィーチャ情報保存部23に記憶したり、読み出し、更新したり、削除などする。なお、状態などのフィーチャ情報を保持するフィーチャ情報保存部23と、フィーチャ情報を管理するフィーチャ情報管理部14とは、任意の状態を定義するので、状態定義手段である。任意の状態は、ユーザがユーザインターフェース部3から入力することができる。或いは、他のシステムからデータを転送して、任意の状態をフィーチャ情報管理部14でフィーチャ情報保存部23に記録してもよい。
情報分析部16は、情報管理部15から取得される実行コンポーネント情報と、判断コンポーネント情報と、状態遷移を含むフィーチャ情報とに基づき、各情報の整合性を検証する機能と、その検証結果を表示装置32側へ出力する機能と、実行可能なソースコード(プログラムソースのコード)を自動生成する機能と、生成したソースコードを試験する機能とを有する。
記憶部2のフィーチャモデル分析結果保存部24は、情報分析部16が解析した結果を保存する記憶媒体である。
次に、各種の情報保存部21、22、23に保存される情報の構成について、図2〜図4を参照して説明する。
図2は、実行コンポーネント情報保存部21に保存される実行コンポーネント情報Jの構成の一例を示す図である。
実行コンポーネント情報Jは、実行コンポーネント識別情報J1と実行コンポーネント間関連情報J2とを含む。
判断コンポーネント情報Hは、判断コンポーネント識別情報H1および判断コンポーネント間関連情報H2を含む。
判断コンポーネント識別情報H1は、個々の判断コンポーネントを識別するための“判断コンポーネントID”や、“判断コンポーネント名”などの情報を含む。さらに、判断コンポーネント識別情報H1は、当該判断コンポーネントの内容を示す“判断コンポーネントコメント”、その“作成日時”を含む。
フィーチャ情報Fは、状態識別情報F1および状態間関連情報F2を含む。
状態識別情報F1は、個々の設備などの状態を識別するための“状態ID”や、状態名称、本状態に至る場合に実行される実行コンポーネントF1aなどの情報を含む。実行コンポーネントF1aは、本状態に入る際(entry)には自動制御Aを実行し、本状態の間(stay)は、何もせず(NULL)、本状態から出る際(exit)には何もしない (NULL)ことを示している。状態識別情報F1には、その他、本状態の内容を説明する“コメント”、本状態の“作成日時”が表示される。
次に、ソフトウェアプロダクトライン開発支援を実現する各種の処理について、図5〜図11を参照して、説明する。
以下では、設備などの状態に関して、「1.状態識別情報の登録」、「2.状態間関連情報の登録」、「3.状態遷移の整合性チェック」、「4.状態遷移を実現するソースコード生成」について説明し、その後、生成されたプログラムソースのテストである「5.生成ソースコードの試験」について説明する。
図5は、状態識別情報の登録を説明するための概念図である。
状態遷移作成者(ユーザ)Pは、図6に示される状態識別情報編集画面G1を介して、状態の作成を行う。
一般に、状態を作成する対象は制御対象となる設備やシステム全体の状態など状態遷移を持つ具現的な対象について作成されるものであるが、仮想的な設備や事象についての対象に状態を定義しても構わない。
ユーザは、必要に応じて実行コンポーネントコンボボックスG1aに表示された実行コンポーネント一覧からentry時の実行コンポーネントを選択する。entry時に実行する必要がない場合は、非選択の状態で問題ない。
図7は、状態間関連情報の登録を説明するための概念図である。
状態遷移作成者(ユーザ)Pは、図8に示す状態間関連情報編集表示画面G2を介して、状態から状態へ遷移する状態遷移の条件定義を行う。一般に、状態遷移する条件は、その条件を判断するフィーチャを利用するものとするが、各設備の入出力情報(標準入出力情報や外部システムの入出力情報)を使用しても構わない。
状態遷移作成者(ユーザ)Pは、ユーザインターフェース部3(図1参照)を介して、状態情報一覧G2aから使用する状態を選択し、状態間関連情報編集画面G2bに登録する。
図8の状態間関連情報編集画面G2bにおける遷移元(矢印の始点)の状態と遷移先(矢印の終点)の状態を選択した結果は、図7のインターフェース部11、情報管理部15を介して、フィーチャ情報管理部14に通知され、一時的にフィーチャ情報管理部14で管理される、例えばフィーチャ情報管理部14の一時記憶領域に保存される。
状態遷移線G2sをクリックし、条件コンポーネント入力コンボボックスG2cに表示されている判断コンポーネントと返り値G2dの選択をする。選択可能な判断コンポーネントは、図7の判断コンポーネント情報保存部22、判断コンポーネント情報管理部13、情報管理部15、インターフェース部11を介して、判断コンポーネント情報管理部13が判断コンポーネント情報保存部22から取得することで、結果を表示装置32(図1参照)に表示する。
状態遷移作成者Pが図9の「登録」ボタンG2fを押下すると、入力した情報は、図7のインターフェース部11、情報管理部15を介して、フィーチャ情報管理部14に通知され、フィーチャ情報管理部14によりフィーチャ情報保存部23に保存される。
図10は、状態遷移情報の整合性チェックを説明するための概念図である。
前記の「1.状態識別情報の登録」、「2.状態間関連情報の登録」の登録完了後、図10に示す実行コンポーネント情報保存部21、判断コンポーネント情報保存部22、フィーチャ情報保存部23に登録されている内容の整合性チェックを行う。
図11に状態遷移不可能な条件の一例G2gを示す。
図11の例に示したように、情報分析部16の状態遷移の整合性チェックの結果、論理が矛盾している状態遷移や1つの状態から状態遷移が不可能な条件があった場合(図11の一例G2g)は、インターフェース部11を介して、ユーザインターフェース部3の表示装置32にエラーとして表示する。
次に、状態遷移を実現するソースコードを生成する。
情報分析部16は、登録されている情報を基に状態遷移を実現する実行可能なソースコードを自動生成する。状態遷移図を用いた自動のソースコード生成については周知の技術であるため、ここでは特に説明しない。
次に、「4.状態遷移を実現するソースコード生成」で生成したソースコードの試験を情報分析部16(図1参照)が行う。前記で定義した状態遷移と判断コンポーネントと実行コンポーネントの組み合わせを、仮想環境上で網羅的に試験する。試験のシナリオは情報分析部16において、ソースコード生成を行った際に、テストコードも同時に吐き出され、仮想環境で意図通りに作動するか検証することができる。
すなわち、システム構成や運用が各ユーザごとに異なる特徴をもつ制御監視システム(例えば、列車運行管理システム)において、コンポーネントの実行タイミングは異なるが、比較的統一されている状態遷移に着目し、状態遷移の遷移条件で実行されるコンポーネントをソフトウェア開発者(ユーザ)が、図8、図9に示すように、任意にマッピング可能とすることで、フィーチャの再利用性が図れ、ソフトウェアプロダクトラインの高生産性を実現できる。
また、記憶部2は、別体のデータベースサーバに記憶してもよいし、分割して構成してもよい。
10 ソフトウェアプロダクトライン開発支援プログラム
12 実行コンポーネント情報管理部(コンポーネント定義手段、実行コンポーネントチェック手段)
13 判断コンポーネント情報管理部(判断コンポーネント選択手段、判断コンポーネント管理手段、判断コンポーネントチェック手段)
14 フィーチャ情報管理部(フィーチャ管理手段、状態定義手段、コンポーネント定義手段、状態管理手段、状態遷移手段)
16 情報分析部(ソースコード生成手段、ソフトウェア試験手段、整合性チェック手段)
21 実行コンポーネント情報保存部(コンポーネント定義手段)
22 判断コンポーネント情報保存部(判断コンポーネント記憶部)
23 フィーチャ情報保存部(状態定義手段、フィーチャ情報記憶部、状態管理手段、コンポーネント定義手段)
24 フィーチャモデル分析結果保存部
F2 状態間関連情報(状態遷移手段)
Claims (11)
- ソフトウェアシステムのソフトウェアプロダクトライン開発支援装置であって、
前記ソフトウェアシステムにおける制御対象または仮想的な対象の状態をユーザの入力により定義する状態定義手段と、
前記定義された各状態に就き、その状態になったときに始めて実行される実行コンポーネント、状態を維持しているときに実行される実行コンポーネント、次の状態に移るときに実行される実行コンポーネントを定義可能であるコンポーネント定義手段と、
実行されるプログラムモジュールである前記実行コンポーネントの情報を保存する実行コンポーネント記憶部と、
判断を行うプログラムモジュールである判断コンポーネントの情報を保存する判断コンポーネント記憶部と、
前記制御対象または前記仮想的な対象の状態の遷移を示す状態遷移の情報を含む特性を表すフィーチャの情報が記憶されるフィーチャ情報記憶部と、
ユーザに対して、前記定義された各状態に就き、前記実行コンポーネント記憶部の前記実行コンポーネントの情報のうちから、その状態になったときに始めて実行される実行コンポーネント、状態を維持しているときに実行される実行コンポーネント、および次の状態に移るときに実行される実行コンポーネントを画面を用いて選択させて、前記フィーチャ情報記憶部に保存する実行コンポーネント選択手段と、
ユーザに対して、前記定義された各状態に就き、画面を用いて、前記各状態のうちから遷移元の状態と遷移先の状態とを選択させ、前記遷移元の状態から前記遷移先の状態へ遷移させるための判断を行う判断コンポーネントを、画面を用いて、前記判断コンポーネント記憶部の前記判断コンポーネントの情報のうちから選択させるととともに、前記遷移が可能となる当該選択された判断コンポーネントの返り値を画面を用いて選択させて、前記フィーチャ情報記憶部に保存する判断コンポーネント選択手段と、
前記選択される実行コンポーネントを、前記実行コンポーネント記憶部に記憶保持するとともに、必要に応じて読み出すことを可能とする実行コンポーネント管理手段と、
前記選択可能な判断コンポーネントを、前記判断コンポーネント記憶部に記憶保持するとともに、必要に応じて読み出すことを可能とする判断コンポーネント管理手段とを
具備することを特徴とするソフトウェアプロダクトライン開発支援装置。 - 請求項1に記載のソフトウェアプロダクトライン開発支援装置において、
機能的にまとめられた前記フィーチャと、前記判断コンポーネントとを分離して管理する
ことを特徴としたソフトウェアプロダクトライン開発支援装置。 - 請求項1に記載のソフトウェアプロダクトライン開発支援装置において、
ユーザにより選択された前記実行または前記判断コンポーネントの実行または判断結果を用いて、前記定義された状態の間を遷移させる状態遷移手段を具備する
ことを特徴としたソフトウェアプロダクトライン開発支援装置。 - 請求項3に記載のソフトウェアプロダクトライン開発支援装置において、
前記状態遷移手段は、
前記ソフトウェアシステムの入出力情報によって、前記状態間を遷移させる
ことを特徴としたソフトウェアプロダクトライン開発支援装置。 - 請求項1から請求項4の何れか一項に記載のソフトウェアプロダクトライン開発支援装置において、
ユーザにより定義される前記状態を入れ子構造で構成する状態管理手段を
具備することを特徴としたソフトウェアプロダクトライン開発支援装置。 - 請求項1から請求項5の何れか一項に記載のソフトウェアプロダクトライン開発支援装置において、
前記実行コンポーネントが前記実行コンポーネント記憶部にあるかチェックする実行コンポーネントチェック手段と、
前記判断コンポーネントが前記判断コンポーネント記憶部にあるかチェックする判断コンポーネントチェック手段とを
具備することを特徴としたソフトウェアプロダクトライン開発支援装置。 - 請求項3または請求項4に記載のソフトウェアプロダクトライン開発支援装置において、
前記状態遷移が整合がとれているかチェックする整合性チェック手段を
具備することを特徴としたソフトウェアプロダクトライン開発支援装置。 - 請求項1から請求項4の何れか一項に記載のソフトウェアプロダクトライン開発支援装置において、
ユーザにより定義された前記フィーチャと前記実行および前記判断コンポーネントとから実行可能なソースコードを生成するソースコード生成手段を
具備することを特徴としたソフトウェアプロダクトライン開発支援装置。 - 請求項3または請求項4に記載のソフトウェアプロダクトライン開発支援装置において、
前記状態間の遷移と前記判断コンポーネントと前記実行コンポーネントとの組み合わせを仮想環境で意図通りに作動するか試験するソフトウェア試験手段を
具備することを特徴としたソフトウェアプロダクトライン開発支援装置。 - ソフトウェアシステムのソフトウェアプロダクトライン開発支援装置の方法であって、
前記ソフトウェアプロダクトライン開発支援装置は、状態定義手段と、コンポーネント定義手段と、実行コンポーネント記憶部と、判断コンポーネント記憶部と、フィーチャ情報記憶部と、実行コンポーネント選択手段と、判断コンポーネント選択手段と、実行コンポーネント管理手段と、判断コンポーネント管理手段とを具備し、
前記状態定義手段は、前記ソフトウェアシステムにおける制御対象または仮想的な対象の状態をユーザの入力により定義し、
前記コンポーネント定義手段は、前記定義された各状態に就き、その状態になったときに始めて実行される実行コンポーネント、状態を維持しているときに実行される実行コンポーネント、次の状態に移るときに実行される実行コンポーネントを定義し、
前記実行コンポーネント記憶部に、実行されるプログラムモジュールである前記実行コンポーネントの情報が保存され、
前記判断コンポーネント記憶部に、判断を行うプログラムモジュールである判断コンポーネントの情報が保存され、
前記フィーチャ情報記憶部に、前記制御対象または前記仮想的な対象の状態の遷移を示す状態遷移の情報を含む特性を表すフィーチャの情報が記憶され、
前記実行コンポーネント選択手段は、ユーザに対して、前記定義された各状態に就き、前記実行コンポーネント記憶部の前記実行コンポーネントの情報のうちから、その状態になったときに始めて実行される実行コンポーネント、状態を維持しているときに実行される実行コンポーネント、および次の状態に移るときに実行される実行コンポーネントを画面を用いて選択させて、前記フィーチャ情報記憶部に保存し、
前記判断コンポーネント選択手段は、ユーザに対して、前記定義された各状態に就き、画面を用いて、前記各状態のうちから遷移元の状態と遷移先の状態とを選択させ、前記遷移元の状態から前記遷移先の状態へ遷移させるための判断を行う判断コンポーネントを、画面を用いて、前記判断コンポーネント記憶部の前記判断コンポーネントの情報のうちから選択させるととともに、前記遷移が可能となる当該選択された判断コンポーネントの返り値を画面を用いて選択させて、前記フィーチャ情報記憶部に保存し、
前記実行コンポーネント管理手段は、前記選択される実行コンポーネントを、前記実行コンポーネント記憶部に記憶保持するとともに、必要に応じて読み出すことを可能とし、
前記判断コンポーネント管理手段は、前記選択可能な判断コンポーネントを、前記判断コンポーネント記憶部に記憶保持するとともに必要に応じて読み出すことを可能とする
ことを特徴とするソフトウェアプロダクトライン開発支援装置の方法。 - 請求項10に記載のソフトウェアプロダクトライン開発支援装置の方法において、
機能的にまとめられた前記フィーチャと、前記判断コンポーネントとを分離して管理する
ことを特徴としたソフトウェアプロダクトライン開発支援装置の方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010235037A JP5319643B2 (ja) | 2010-10-20 | 2010-10-20 | ソフトウェアプロダクトライン開発支援装置およびその方法 |
PCT/JP2011/073318 WO2012053392A1 (ja) | 2010-10-20 | 2011-10-11 | ソフトウェアプロダクトライン開発支援装置、その方法およびそのプログラム |
GB1307123.8A GB2498305A (en) | 2010-10-20 | 2011-10-11 | Software-product-line development assisting device, method thereof, and program thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010235037A JP5319643B2 (ja) | 2010-10-20 | 2010-10-20 | ソフトウェアプロダクトライン開発支援装置およびその方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2012088933A JP2012088933A (ja) | 2012-05-10 |
JP2012088933A5 JP2012088933A5 (ja) | 2013-02-07 |
JP5319643B2 true JP5319643B2 (ja) | 2013-10-16 |
Family
ID=45975109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010235037A Active JP5319643B2 (ja) | 2010-10-20 | 2010-10-20 | ソフトウェアプロダクトライン開発支援装置およびその方法 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP5319643B2 (ja) |
GB (1) | GB2498305A (ja) |
WO (1) | WO2012053392A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5605397B2 (ja) | 2012-07-11 | 2014-10-15 | 株式会社デンソー | 結合検査要否判定方法及び装置 |
CN115720656A (zh) * | 2020-06-19 | 2023-02-28 | 松下电器(美国)知识产权公司 | 信息处理方法以及信息处理装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0863345A (ja) * | 1994-08-22 | 1996-03-08 | Sony Corp | プログラム自動生成装置 |
JPH1031581A (ja) * | 1996-07-18 | 1998-02-03 | Hitachi Zosen Corp | 機械装置システムにおける制御用ソフトウエア作成支援装置 |
JP4438175B2 (ja) * | 2000-04-07 | 2010-03-24 | 日本制御株式会社 | ソフトウエアの開発システム |
JP2007133772A (ja) * | 2005-11-11 | 2007-05-31 | Canon Inc | オブジェクト指向プログラム生成装置、方法及びプログラム |
-
2010
- 2010-10-20 JP JP2010235037A patent/JP5319643B2/ja active Active
-
2011
- 2011-10-11 WO PCT/JP2011/073318 patent/WO2012053392A1/ja active Application Filing
- 2011-10-11 GB GB1307123.8A patent/GB2498305A/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
WO2012053392A1 (ja) | 2012-04-26 |
GB2498305A8 (en) | 2013-08-28 |
JP2012088933A (ja) | 2012-05-10 |
GB201307123D0 (en) | 2013-05-29 |
GB2498305A (en) | 2013-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9501596B2 (en) | Graphical design verification environment generator | |
CN105144088B (zh) | 元数据与源代码的关联以及基于其的应用和服务 | |
JP5198132B2 (ja) | 状態遷移テスト支援装置、状態遷移テスト支援プログラム、および状態遷移テスト支援方法 | |
US20110016452A1 (en) | Method and system for identifying regression test cases for a software | |
US8312415B2 (en) | Using code analysis for requirements management | |
JP2009501970A (ja) | 有限状態マシンモデルの構築 | |
Campos et al. | A more intelligent test case generation approach through task models manipulation | |
US10572247B2 (en) | Prototype management system | |
Mahey | Robotic Process Automation with Automation Anywhere: Techniques to fuel business productivity and intelligent automation using RPA | |
CN106484389A (zh) | 动作流分段管理 | |
JP5319643B2 (ja) | ソフトウェアプロダクトライン開発支援装置およびその方法 | |
Li | Jira Software Essentials: Plan, track, and release great applications with Jira Software | |
JP2009245177A (ja) | フィーチャーモデル作成支援装置及びプログラム | |
Baumgartner et al. | Test Automation Fundamentals: A Study Guide for the Certified Test Automation Engineer Exam–Advanced Level Specialist–ISTQB® Compliant | |
Ciceri et al. | Software Architecture Metrics | |
US20100251211A1 (en) | Generating and using code-based diagrams | |
JP2009169628A (ja) | 監視制御システムの構築装置、構築方法およびプログラム | |
Wang et al. | Analyzing inaccurate artifact usages in a workflow schema | |
US10998004B1 (en) | Method and apparatus for generating a video based on a process | |
Moroz | Unit Test Automation of a React-Redux Application with Jest and Enzyme | |
Lai et al. | Can SysML Be Used for Enterprise Modelling? | |
Velozo et al. | Evaluation of a Mobile Software Development Company | |
Rocha et al. | A Comparative Study of Milestones for Featuring GUI Prototyping Tools | |
JP6603637B2 (ja) | ユーザインタフェース接続装置、及びプログラム | |
Baquirin | Navigating Growth: Experiences of a Junior Software Developer in Web and Mobile Development |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121213 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130416 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130613 |
|
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: 20130702 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130711 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5319643 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |