JP2007012003A - System for providing development environment of feature-oriented software product line - Google Patents
System for providing development environment of feature-oriented software product line Download PDFInfo
- Publication number
- JP2007012003A JP2007012003A JP2005215541A JP2005215541A JP2007012003A JP 2007012003 A JP2007012003 A JP 2007012003A JP 2005215541 A JP2005215541 A JP 2005215541A JP 2005215541 A JP2005215541 A JP 2005215541A JP 2007012003 A JP2007012003 A JP 2007012003A
- Authority
- JP
- Japan
- Prior art keywords
- asadal
- feature
- module
- software
- model
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
Abstract
Description
本発明は、フィーチャ指向(feature‐oriented)ソフトウェア製品ラインの開発環境に関するものであって、より詳しくは、特定ドメイン(または領域)に対してソフトウェア製品ライン方法論を適用してドメインに対するフィーチャ分析と応用プログラムの開発のためのフィーチャ選択、再利用可能な資産コンポーネントの生成、マクロ処理を通じたソフトウェアコンポーネントの生成とコンポーネントに対する形状管理、ソフトウェアコンポーネントを利用した応用ソフトウェアの開発と仮想環境におけるソフトウェアテスティングを支援することによって、ソフトウェア製品ラインの開発を容易にするフィーチャ指向ソフトウェア製品ラインの開発環境を具現するシステムに関する。 The present invention relates to a development environment for a feature-oriented software product line, and more particularly, to a feature analysis and application to a domain by applying a software product line methodology to a specific domain (or region). Feature selection for program development, generation of reusable asset components, generation of software components through macro processing and shape management for components, development of application software using software components and software testing in virtual environments The present invention relates to a system embodying a development environment for a feature-oriented software product line that facilitates development of a software product line.
近年、ソフトウェア開発の生産性を向上しようとするソフトウェア再利用技術の焦点は、ソースコードの再利用からソフトウェア設計の再利用へ、再びソフトウェア設計の再利用から領域工学に基づく再利用へと、その中心が移動してきた。このようにソフトウェア再利用技術が変化した理由は、ソースコードを再利用するには設計の再利用が先行されなければならず、また設計を再利用するためには領域工学を通じて該当応用領域で共通して使用される領域資産を先に開発しなければならなかったためである。そのため、ここ数年間ソフトウェア再利用に関する研究は、領域分析及び領域工学に重点をおいて行われてきた。 In recent years, the focus of software reuse technology to improve software development productivity has been from source code reuse to software design reuse, and again from software design reuse to domain engineering-based reuse. The center has moved. The reason why software reuse technology has changed in this way is that design reuse must be preceded in order to reuse source code, and in order to reuse design, it is common in the applicable application areas through domain engineering. This is because the territory assets to be used have to be developed first. For this reason, research on software reuse has been focused on domain analysis and domain engineering in recent years.
ソフトウェア再利用技術に関する研究における領域工学的な接近方法は、該当応用領域に対して広い範囲で分析を行い、これにより再利用性の高いコンポーネントを開発することである。しかしながら、このような接近方法は、多くの場合、領域内のすべての製品を含ませようとする傾向があり、これによってソフトウェアの開発コストや期間が増大するという問題が生じたりした。また、ソフトウェア再利用性を最大化するための取り組みとして、ソフトウェア構造の階層化と情報隠匿のためのカプセル化を強調すると、結果的にシステムの性能低下を招くという問題点があった。このように、該当応用領域を中心にソフトウェアを再利用するにあたって、適切な領域の範囲と再利用性の程度を決定することは難しい問題である。 A domain engineering approach in research on software reuse technology is to analyze a wide range of applicable application areas and thereby develop highly reusable components. However, in many cases, such access methods tend to include all products in the domain, which causes a problem of increasing software development cost and time. Further, as an effort to maximize the software reusability, emphasizing the hierarchization of the software structure and the encapsulation for concealing information has a problem that the performance of the system is lowered as a result. As described above, it is a difficult problem to determine an appropriate area range and a degree of reusability when software is reused mainly in a corresponding application area.
上述した問題のうちの一部を解決するために、ソフトウェア製品ライン工学(software product line engineering)のパラダイムが提示されている。このパラダイムによれば、ソフトウェア再利用は、特定ソフトウェア製品ラインを再利用するために、慎重に立てられた計画の下でなされる。すなわち、ソフトウェア製品ライン工学によれば、企業が参入しようとする市場状況を分析した結果に基づき、領域分析をしなければならない範囲と、これに基づくソフトウェア製品ライン資産の開発範囲を明確にすることができる。 To solve some of the problems described above, a software product line engineering paradigm has been presented. According to this paradigm, software reuse is done under a carefully planned plan to reuse specific software product lines. In other words, according to software product line engineering, based on the results of analyzing the market situation that companies are going to enter, the scope of area analysis and the development scope of software product line assets based on this must be clarified. Can do.
ソフトウェア製品ライン工学は、ソフトウェア製品ラインの中核となるソフトウェア資産を開発するために、1つまたはその以上の市場を目標とする類維な機能を提供するソフトウェア間の共通点(commonality)と相違点(variability)を分析し、これに基づいて変化を受け入れられるソフトウェアアーキテクチャと再利用可能なコンポーネントを開発する方策を提示する。最近は、このようなソフトウェアの戦略的な再利用に向けたソフトウェア製品ライン工学への関心と認識が次第に高まっており、これに対する研究も盛んに行われている。 Software product line engineering is a commonality and difference between software that provides consistent functions targeted at one or more markets to develop the core software assets of the software product line. (variability) is analyzed and a strategy for developing reusable components and software architectures that accept changes based on this is presented. Recently, interest and recognition in software product line engineering for the strategic reuse of such software has gradually increased, and research on this has been actively conducted.
しかしながら、このようなソフトウェア製品ライン工学の概念に従ってドメインに対する共通点と相違点の分析、柔軟なソフトウェアアーキテクチャと再利用コンポーネントの開発など、ソフトウェア製品ライン工学の全体的な方法論を支援する体系的、かつ効果的なソフトウェアの開発環境を提供するシステムはまだ提示されていない。 However, systematic and supporting the overall methodology of software product line engineering, such as analyzing commonalities and differences for domains, developing flexible software architecture and reusable components according to such software product line engineering concepts No system has yet been proposed that provides an effective software development environment.
したがって、本発明は上記事情に鑑みてなされたものであり、その目的とするところは、フィーチャ指向ソフトウェア製品ライン工学の方法論を支援するアサダル(A System Analysis and Design Aided tooL:以下、「ASADAL」と記す)フレームワークを定義し、ASADALを構成する各モジュールの構造や、モジュールの機能及びデータの流れを定義することで、ソフトウェア製品ラインの方法論を支援するフィーチャ指向ソフトウェア再利用の開発環境システムを提供することにある。 Therefore, the present invention has been made in view of the above circumstances, and the object of the present invention is asadal (A System Analysis and Design Aided tool: hereinafter referred to as “ASADAL”) that supports a methodology of feature-oriented software product line engineering. Provide a development environment system for feature-oriented software reuse that supports the methodology of the software product line by defining the framework and defining the structure of each module, the function of the module, and the flow of data. There is to do.
また、本発明は、このような体系的な開発環境を利用して、ドメインに対して共通点と相違点を分析したフィーチャモデリングの結果に基づいて再利用可能なソフトウェア資産を得るほか、ソフトウェア資産を活用して効率よく応用ソフトウェアを開発し、これを3次元シミュレーションに基づいてテストしてみることで、窮極的にソフトウェア製品ライン工学の概念に従った高い品質のソフトウェアを得ることを目的とする。 Further, the present invention uses such a systematic development environment to obtain a reusable software asset based on the result of feature modeling in which common points and differences are analyzed with respect to the domain. The purpose is to develop high-quality software based on the concept of software product line engineering by developing application software efficiently by using and testing it based on 3D simulation .
上記目的を達成するために、本発明のフィーチャ指向ソフトウェア製品ラインの開発環境を提供するシステムは、特定領域に対するフィーチャモデリングと前記フィーチャモデリングにより生成されたフィーチャの中から応用プログラムに該当するフィーチャを選択するASADAL/FORMと、前記フィーチャ選択情報に基づいて資産コンポーネントを開発し、マクロ処理を通じたソフトウェアコンポーネントの生成及び前記ソフトウェアコンポーネントの形状管理を行うASADAL/COMPと、前記応用ソフトウェアを開発するためのアーキテクチャモデリング及び運用モデリングと自動コード生成、仮想テストベッドの構築及びシミュレーションを介した検証を行うASADAL/OBJと、前記ASADAL/FORM、ASADAL/COMP及びASADAL/OBJにより生成されたデータを格納するASADAL/ASSET DBと、前記ASADAL/ASSET DBに格納されているデータ間の一貫性を検証するASADAL/ANALYZERとを含むことを特徴とする。 In order to achieve the above object, a system for providing a development environment for a feature-oriented software product line according to the present invention selects a feature corresponding to an application program from among feature modeling for a specific region and the features generated by the feature modeling. ASADAL / FORM that develops an asset component based on the feature selection information, generates a software component through macro processing, and manages the shape of the software component, and an architecture for developing the application software ASADAL / OBJ for performing modeling and operation modeling and automatic code generation, virtual testbed construction and verification through simulation, and the above-mentioned ASADAL / FORM, ASADA It includes an ASADAL / ASET DB that stores data generated by L / COMP and ASADAL / OBJ, and an ASADAL / ANALYZER that verifies the consistency between the data stored in the ASADAL / ASSE DB. .
本発明によれば、フィーチャ指向ソフトウェア再利用の開発環境を提供するシステムであるASADALは、類似するシステムをなす領域内のシステムの機能的、環境的、技術的及び具現的な共通点と相違点を明確に分析してコンポーネント開発に反映することで、コンポーネントの再利用性と適応可能性を高める利点を有する。 In accordance with the present invention, ASADAL, a system that provides a development environment for feature-oriented software reuse, has functional, environmental, technical, and implementation commonalities and differences between systems in a similar system domain. By clearly analyzing and reflecting this in component development, there is an advantage of improving the reusability and adaptability of components.
また、本発明による開発環境においては、ソフトウェアの開発初期段階からモデルを検証し、シミュレーションによりモデルの誤謬を見つけることができる。したがって、このような分析によりモデルの信頼度を高めることができ、ソフトウェアの開発初期段階で重大な誤謬を検査できるので、開発コストを大幅に低減できるという効果を奏する。 Further, in the development environment according to the present invention, it is possible to verify a model from the initial stage of software development and find a model error by simulation. Accordingly, the reliability of the model can be increased by such an analysis, and a serious error can be inspected at the early stage of software development, so that the development cost can be greatly reduced.
本発明による3次元シミュレーションを通じたソフトウェア検査は、実際に現実世界と類似する環境を3次元モデリングにより構築し、これに基づいてソフトウェア検査及び評価を行うため、多様な検査を少ない費用で行うことができるという長所がある。特に、リアルタイム制御システムは、組み込みシステム(embeded system)である場合が殆どであるため、外部のハードウェア環境と内部のソフトウェアシステムが正常に相互作用しているかをソフトウェア的に検査し評価することは、ソフトウェアの信頼度を向上させることができるだけでなく、システムの検査コストも大幅に低減できる。 In the software inspection through the three-dimensional simulation according to the present invention, an environment that is actually similar to the real world is constructed by three-dimensional modeling, and software inspection and evaluation are performed based on the environment, so that various inspections can be performed at low cost. There is an advantage that you can. In particular, since real-time control systems are mostly embedded systems, it is not possible to inspect and evaluate whether the external hardware environment and the internal software system normally interact with each other. Not only can the reliability of the software be improved, but the inspection cost of the system can be greatly reduced.
本発明による開発環境は、ソフトウェアの分析や、設計、具現及びテスティングの段階を全て支援する体系的なフレームワークを提供することによって、各段階ごとに意味ある産出物を得ることができるという効果がある。また、本発明による開発環境は、ソフトウェアの効率的な再利用が可能に設計されており、このような再利用技法は、様々な分野のソフトウェアの開発に広範囲に適用されることができる。 The development environment according to the present invention provides a systematic framework that supports all stages of software analysis, design, implementation, and testing, so that a meaningful product can be obtained at each stage. There is. In addition, the development environment according to the present invention is designed to enable efficient reuse of software, and such a reuse technique can be widely applied to the development of software in various fields.
以下、添付の図面を参照しつつ本発明の好適な実施の形態を説明する。
図1は、本発明によるフィーチャ指向ソフトウェア製品ラインの開発環境であるASADALフレームワークの構成を示すブロック図である。本発明によるシステムは、5つの構成要素であるASADAL/FORM100、ASADAL/COMP200、ASADAL/OBJ300、ASADAL/ASSET DB400及びASADAL/ANALYZER500を含む。図1に示されているシステムの構成要素のうち、ASADAL/FORM100、ASADAL/COMP200、ASADAL/OBJ300及びASADAL/ANALYZER500は、1つのコンピュータまたはネットワークで連結されている複数のコンピュータで実行できるソフトウェアに具現されることができる。
DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, preferred embodiments of the invention will be described with reference to the accompanying drawings.
FIG. 1 is a block diagram showing the configuration of the ASADAL framework, which is a development environment for a feature-oriented software product line according to the present invention. The system according to the present invention includes five components, ASADAL / FORM100, ASADAL / COMP200, ASADAL / OBJ300, ASADAL / ASSE DB400, and ASADAL / ANALYZER500. Among the components of the system shown in FIG. 1, ASADAL / FORM100, ASADAL / COMP200, ASADAL / OBJ300, and ASADAL / ANALYZER500 are embodied in software that can be executed by one computer or a plurality of computers connected by a network. Can be done.
本発明によるシステムにおいて、ASADAL/FORM100は、領域に対するフィーチャモデリングと応用プログラムに該当するフィーチャを選択する機能を行い、ASADAL/COMP200は、資産コンポーネントの開発とマクロプロセシングを通じたソフトウェアコンポーネントの生成及びコンポーネント形状管理の機能を行う。ASADAL/OBJ300は、応用ソフトウェアを開発するためのアーキテクチャモデリング及び運用モデリングと自動コード生成、仮想テストベッドの構築及びシミュレーションを介した検証機能を提供する。また、ASADAL/ASSET DB400は、以上で説明した各モジュールで生成された産出物を格納し、ASADAL/ANALYZER500は、ASADAL/ASSET DB400に格納されている産出物の間の一貫性を検証する。 In the system according to the present invention, the ASADAL / FORM 100 performs a function modeling for a region and a function of selecting a feature corresponding to an application program, and the ASADAL / COMP 200 generates a software component and develops a component shape through asset component development and macro processing. Perform management functions. The ASADAL / OBJ300 provides an architecture modeling and operation modeling and automatic code generation for developing application software, a virtual testbed construction and a verification function through simulation. The ASADAL / ASSE DB 400 stores the products generated by the modules described above, and the ASADAL / ANALYZER 500 verifies the consistency among the products stored in the ASADAL / ASSE DB 400.
以下に、本発明による開発フレームワークを提供するシステムであるASADALを構成する各モジュールについて、添付の図面を参照して、詳細に説明する。
ASADAL/FORM
図2は、本発明による開発フレームワークを提供するシステムであるASADALのASADAL/FORM100の構成及びデータ処理の流れを示すブロック図である。ASADAL/FORM100の主な機能は、ソフトウェア製品ライン分析者がドメイン(または領域)を分析して関連するシステム間の共通点と相違点をフィーチャ単位で取り出してドメインに対するフィーチャモデルを生成することや、応用プログラム開発者がシステムを分析して応用プログラムの要求事項を満足させるフィーチャを選択できるようにすることであって、これらの機能について、詳細に説明すれば、以下の通りである。
Hereinafter, each module constituting ASADAL, which is a system for providing a development framework according to the present invention, will be described in detail with reference to the accompanying drawings.
ASADAL / FORM
FIG. 2 is a block diagram showing the configuration and data processing flow of ASADAL /
フィーチャとは、特定領域に関連する人が関心がある領域内での属性または特徴を意味する。例えば、ユーザマニュアルやソフトウェア文書、領域専門家らの間で用いられる用語を分析することによって、フィーチャを見つけることができる。フィーチャモデリングとは、多くの候補フィーチャの中から領域範囲に属するシステム間の共通点と相違点を表すフィーチャを見つけ、それらの関係及び合成規則などを明細にする過程をいう。すなわち、フィーチャモデリングとは、類似している種類のシステムの間で何が共通しているか、どんな部分で差があり、今後どのような差が生じるかを明確にする過程を意味する。 A feature refers to an attribute or feature within an area of interest to a person associated with a particular area. For example, features can be found by analyzing terminology used among user manuals, software documents, and domain experts. Feature modeling refers to a process of finding features representing common points and differences between systems belonging to a region range from a number of candidate features, and specifying the relationship between them and composition rules. That is, feature modeling means the process of clarifying what is common between similar types of systems, what parts are different, and what kind of differences will occur in the future.
ASADAL/FORM100は、フィーチャモデリングを支援するエディタモジュールによりフィーチャモデルを作成し、このように作成されたフィーチャモデルは、ASADAL/ASSET DB400に格納して他のモジュールが使用できるようにする。すなわち、図2を参照すれば、製品ライン分析者102は、ドメインを分析して候補フィーチャを得る(S110)。このようにして得られた候補フィーチャに基づいてフィーチャモデルエディタにより、システムの共通点を表す必須フィーチャ、相違点を表す選択的フィーチャ及び択一的フィーチャを分類してトリー構造のフィーチャモデルを作成する(S120)。
The ASADAL / FORM 100 creates a feature model by an editor module that supports feature modeling, and the feature model thus created is stored in the ASADAL / ASSE DB 400 so that it can be used by other modules. That is, referring to FIG. 2, the
ASADAL/FORM100は、システム間の共通点と相違点を表す必須フィーチャ及び選択的フィーチャなどを探してそれらの関係及び合成規則を明細にし、製品ライン分析者102が作成したフィーチャモデルが合成規則に合わせて明細にされているか、フィーチャ間の関係が正常に設定されているかなどを検証できる機能を支援する(S130)。このようなフィーチャモデルの検証過程を通じてソフトウェア製品ライン分析者102は、有効なフィーチャモデルを得ることができる。
ASADAL / FORM100 searches for essential features and selective features that represent common points and differences between systems, specifies the relationship and composition rules, and the feature model created by
領域内に属する応用プログラムの要求事項は、その領域に対するフィーチャモデルにおいて相違点を表すフィーチャの中から応用プログラムに該当するフィーチャと共通点を表す必須フィーチャを選択することで、明細にすることができる。応用プログラム開発者は、ASADAL/FORM100のフィーチャ選択モジュールを通じて領域分析者により作成されたフィーチャモデルからフィーチャの説明や合成規則などを利用して応用プログラムの要求事項に合った有効なフィーチャの集まりが生成されるようにフィーチャを選択する。 The requirements of application programs that belong to a region can be specified by selecting the essential features that represent common points with the features that correspond to the application program from the features that represent differences in the feature model for that region. . The application program developer uses the feature selection module of the ASADAL / FORM100 to generate a collection of effective features that meet the requirements of the application program using feature descriptions and synthesis rules from the feature model created by the area analyst. Select features to be
すなわち、図2を参照すれば、応用プログラム開発者104は、応用プログラムを分析してその要求事項を決定した後(S140)、ASADAL/ASSET DB400に格納されているフィーチャモデルを持ってきて、その要求事項を満足させるフィーチャを選択する(S150)。このようなフィーチャ選択情報は、再びASADAL/ASSET DB400に格納される。
That is, referring to FIG. 2, the
ASADAL/COMP
図3は、本発明による開発フレームワークを提供するシステムであるASADALのASADAL/COMP200の機能及びデータ処理の流れを示すブロック図である。ASADAL/COMP200の主な機能は、ASADAL/FORM100で作成されたフィーチャモデルとフィーチャ選択情報に基づいて再利用可能な資産コンポーネントを作成することや、資産コンポーネントをマクロ処理してフィーチャ選択に合うソフトウェアコンポーネントを生成すること、そしてこのようなコンポーネントに対する形状管理を行うことである。
ASADAL / COMP
FIG. 3 is a block diagram showing the function and data processing flow of ASADAL / COMP200 of ASADAL, which is a system for providing a development framework according to the present invention. The main function of ASADAL / COMP200 is to create a reusable asset component based on the feature model and feature selection information created by ASADAL / FORM100, and a software component suitable for feature selection by macro-processing the asset component And shape management for such components.
以下に、図3を参照して、ASADAL/COMP200の主要機能の1つである資産コンポーネントの開発過程について、詳細に説明する。
資産コンポーネントは、多様な要求事項を有する複数の応用プログラムで再利用できるように、フィーチャモデルで検索された応用プログラム間の相違点を表す択一的フィーチャ及び選択的フィーチャを中心に、そのようなフィーチャが選択される場合と選択されない場合にそれぞれ適切に対応できるように作成されなければならない。また、資産コンポーネントは、資産コンポーネントの作成時に用いることができるフィーチャの選択如何、それに伴う不要なコードの除去及び適切なコードの挿入を支援するマクロを定義する。
Hereinafter, the asset component development process, which is one of the main functions of the ASADAL /
Asset components are centered around alternative and selective features that represent differences between application programs retrieved in a feature model so that they can be reused in multiple application programs with diverse requirements. It must be created so that it can respond appropriately when a feature is selected and when it is not selected. The asset component also defines macros that assist in selecting features that can be used when creating the asset component, removing unnecessary code associated therewith, and inserting appropriate code.
図3を参照すれば、ASADAL/COMP200は、資産コンポーネントを作成するためにASADAL/ASSET DB400から該当ドメインに対して作成したフィーチャモデルを持ってくる。ASADAL/COMP200は、ASADAL/ASSET DB400から持ってきたフィーチャモデルで定義された必須フィーチャの中から関連性の高いものをまとめて、これらを具現する資産コンポーネントを定義し、その資産コンポーネントに関連する選択的フィーチャ及び択一的フィーチャが存在するなら、それらの選択如何によってコンポーネントが、どのように対応すべきかをマクロを用いて明細にする(S240)。このように作成された資産コンポーネントは、ASADAL/ASSET DB400に格納され、ソフトウェアコンポーネントの生成に用いられる。
Referring to FIG. 3, the ASADAL /
ASADAL/COMP200は、資産コンポーネントの作成時に用いることができるフィーチャの選択如何、それに伴う不要なコードの除去及び適切なコードの挿入を支援するマクロを定義するが、資産コンポーネント検証モジュールは、マクロの作成時に発生する文法的な誤謬と明細の有効性を検証できる機能を支援する(S210)。資産コンポーネントを検証する作業は、ソフトウェアコンポーネントの開発時にマクロ処理の基礎作業となるため、マクロの処理前に必ず行われなければならない。
While ASADAL /
図3に示されるように、ASADAL/COMP200は、フィーチャの選択情報と資産コンポーネントをASADAL/ASSET DB400から持ってきて、このように得られたフィーチャ選択情報と資産コンポーネントに基づいて資産コンポーネント明細に含まれているマクロをその意味に合わせて処理して、選択されていないフィーチャを具現しているコードを除去し、選択されたフィーチャを具現するコードを適切に変化させてソフトウェアコンポーネントを自動生成する(S220)。このように生成されたソフトウェアコンポーネントは、ASADAL/ASSET DB400に格納され、フィーチャ選択情報とともに形状管理モジュールに送られ、形状管理される。
As shown in FIG. 3, the ASADAL /
すなわち、形状管理モジュールは、ソフトウェアコンポーネントの生成時に用いられたフィーチャ選択情報と資産コンポーネント情報を管理して、ソフトウェアコンポーネントに問題点が発見された場合、フィーチャモデルと資産コンポーネントに対する逆追跡性を提供し、コンポーネントのバージョンを管理する(S230)。 In other words, the shape management module manages the feature selection information and asset component information used when generating the software component, and provides reverse traceability to the feature model and asset component when a problem is found in the software component. The component version is managed (S230).
例えば、ASADAL/COMP200で作成したソフトウェアコンポーネントが、外部モジュールで使用中に問題が発生すれば、ユーザはその問題の解決のためにASADAL/COMP200の形状管理モジュールからそのソフトウェアコンポーネントのフィーチャ選択情報と資産コンポーネントのバージョン情報を得ることで、このソフトウェアコンポーネントが作られるまでの形跡を得ることができる。このような情報を分析すれば、ソフトウェアコンポーネントの問題点を引き起こした根本的な原因を探して修正されたソフトウェアコンポーネントを生成することができる。 For example, if a problem occurs when a software component created by ASADAL / COMP200 is used in an external module, the user can select feature information and assets of the software component from the shape management module of ASADAL / COMP200 to solve the problem. By obtaining the version information of the component, it is possible to obtain a trace until the software component is created. By analyzing such information, it is possible to generate a corrected software component by searching for the root cause that caused the problem of the software component.
ASADAL/OBJ
ASADAL/OBJ300は、大きく応用プログラムに対する設計及び具現と、仮想テストベッド上のシミュレーションを通じた応用プログラムに対する検証作業を行う。また、ASADAL/OBJ300において、制御部はシステムを制御するための応用プログラムを開発するための部分であり、環境オブジェクトは、応用プログラムが実際に配置されて実行される仮想環境を開発するための部分である。
ASADAL / OBJ
The ASADAL /
より具体的に説明すれば、ASADAL/OBJ300は、応用プログラムの設計及び具現過程において、この応用プログラムの要求事項に基づいてASADAL/COMP200で生成されたソフトウェアコンポーネントを用いる。ASADAL/OBJ300において、ソフトウェアコンポーネントは、行為及び機能明細言語を通して用いられ、これらのコンポーネント及びASADAL/COMP200で生成されたソフトウェアコンポーネントの関係を表すアーキテクチャモデリングが提供される。また、仮想テストベッド上のシミュレーションを通じた応用プログラムの検証は、ASADAL/OBJ300の環境オブジェクトモデリングを通じて応用プログラムをテストする仮想環境を明細にして3次元シミュレーションにより行われる。
More specifically, the ASADAL /
図4は、本発明によるフィーチャ指向ソフトウェアの再利用開発フレームワークを提供するシステムであるASADALのASADAL/OBJ300の制御部の機能とそのデータ処理の流れを示すブロック図である。
まず、ソフトウェアアーキテクチャモデリングモジュールでは、応用プログラム開発者301がフィーチャの非機能的要素を実質的なシステムでどのように配置するかを設計する(S302)。すなわち、このモジュールは、現在ASADAL/ASSET DB400が有する運用モデルとソフトウェアコンポーネントを効率よく適切に用いて、システムに対してどのようにアーキテクチャを設計するかを決定する。このように生成されたアーキテクチャモデルは、ASADAL/ASSET DB400に格納される。
FIG. 4 is a block diagram showing the functions of the control unit of the ASADAL /
First, in the software architecture modeling module, the
次に、運用モデリングモジュールは、システムの内部が有する機能と行為を明細にしてシステムを表現する(S304)。ASADAL/OBJ300は、ASADAL/ASSET DB400に格納されているシステムのアーキテクチャを参照して、そのアーキテクチャに合わせてシステムの内部を運用モデリング明細にすることができ、フィーチャに基づいて生成されたソフトウェアコンポーネントを再利用してシステムを構成することもできる。ASADAL/OBJ300は、システム運用に必要なソフトウェアコンポーネントを使用できるようにする明細を提供するので、ユーザは便利に外部のソフトウェアコンポーネントを用いることができる。また、ASADAL/ASSET DB400に格納されている他のシステムの同様の機能を有する運用モデルを再利用して用いることができる。
Next, the operation modeling module expresses the system by specifying the functions and actions that the system has (S304). The ASADAL / OBJ300 can refer to the architecture of the system stored in the ASADAL /
モデルの有効性検査は、各モジュールから得られたモデルが複雑に明細にされる場合に、ロジック分析器により明細の不一致性やモデルの誤謬を探す作業である。ASADAL/OBJ300において応用プログラム開発者は、運用モデルとアーキテクチャモデルの有効性を検証して自動コードの生成時に発生し得る誤謬を低減でき、効率を高めることができる(S306及びS308)。 The validity check of the model is an operation for searching for inconsistencies in the details and error of the model by the logic analyzer when the model obtained from each module is complicatedly detailed. In ASADAL / OBJ300, the application program developer can verify the effectiveness of the operation model and the architecture model, reduce errors that may occur during the generation of automatic code, and increase efficiency (S306 and S308).
本発明による開発フレームワークでは、ASADAL/ASSET DB400から持ってきた運用モデルを自動コード生成モジュールの入力としてターゲットプログラム言語により便利にコードを生成できる。すなわち、自動コード生成モジュールにより、ユーザはソフトウェアの開発時間を短縮し、コード作成時に発生する様々な問題を容易に解決できる環境を提供する。ASADAL/OBJ300は、3次元仮想シミュレーションでテストするためのシミュレーションコードと実際システムに配置されて作動するターゲットコード(target code)を生成する(S310及びS312)。したがって、シミュレーションコードは、仮想テスティングの際に環境オブジェクトに連係されてシミュレーションできるように生成され、ターゲットコードは実際システムにダウンロードされて実行できるように生成される。
In the development framework according to the present invention, an operation model brought from the ASADAL /
図5は、本発明によるフィーチャ指向ソフトウェアの再利用開発フレームワークであるASADALのASADAL/OBJ300の環境オブジェクトの機能とそのデータ処理の流れを示すブロック図である。
ASADAL/OBJ300の大きな特徴の1つは、特定ソフトウェアが配置されて実行されるシステムを仮想でモデリングできる環境を提供することである。このような環境は自動コード生成により得られたコードが実際システムに配置された時、正常に動作できるか否かをテストするためのもので、実際コードが配置される環境を仮想でモデリングすることができる。
FIG. 5 is a block diagram showing the function of the environmental object and the data processing flow of ASADAL / OBJ300 of ASADAL, which is a feature-oriented software reuse development framework according to the present invention.
One of the major features of ASADAL / OBJ300 is to provide an environment in which a system in which specific software is arranged and executed can be virtually modeled. Such an environment is for testing whether the code obtained by automatic code generation can operate normally when it is actually placed in the system. Virtually modeling the environment where the actual code is placed Can do.
図5において、環境オブジェクトモデリングモジュールは、オブジェクトの形態をモデリングするために様々な形状を有するシステムを視覚的に表現するための3次元形態モジュールから構成される(S314)。このような形態モデルは、運用モデル(S304)とマッチされ仮想シミュレーション時に実際オブジェクトの動きを仮想で表現できる(S310)。 In FIG. 5, the environmental object modeling module includes a three-dimensional shape module for visually expressing a system having various shapes in order to model the shape of an object (S314). Such a morphological model is matched with the operation model (S304), and the motion of the actual object can be virtually represented during the virtual simulation (S310).
図6は、本発明によるフィーチャ指向ソフトウェアの再利用開発フレームワークであるASADALのASADAL/OBJ300のI/Oマッピングの動作を示すためのブロック図である。ASADAL/OBJ300においては、制御部と環境オブジェクトとの間のデータとイベントを連結できる仮想入出力(I/O)マッピング(S316)と、実際システムと環境オブジェクトとの間のデータとイベントを連結できる実際入出力(I/O)マッピング(S318)が可能である。ASADAL/OBJ300のシミュレーションモジュールは、ターゲットコードと環境オブジェクトとの間でデータ及びイベントを連結させる入出力対応テーブルモジュールが存在することで、ターゲットコードと環境オブジェクトが連係してシミュレーションできるように支援する。 FIG. 6 is a block diagram for showing the I / O mapping operation of ASADAL's ASADAL / OBJ300, which is a feature-oriented software reuse development framework according to the present invention. In ASADAL / OBJ300, virtual input / output (I / O) mapping (S316) that can link data and events between the control unit and environmental objects, and data and events between the actual system and environmental objects can be linked. Actual input / output (I / O) mapping (S318) is possible. The simulation module of the ASADAL / OBJ300 supports the simulation of the target code and the environment object in association with each other by the presence of an input / output correspondence table module that links data and events between the target code and the environment object.
図7を参照すれば、アーキテクチャモデリングと運用モデリングを通じて得た応用プログラムをテストするために、環境モデリングモジュールで応用プログラムを配置させる環境を生成した後、これらの間のデータ及びイベントをマッピングさせるために、I/Oマッピングモジュールを中間に位置させる。すなわち、応用プログラム開発者は、ASADAL/OBJ300で制御部と環境オブジェクトをモデリングした後、これらの間にイベントとデータをマッピングさせてシミュレーションできるI/Oマッピングモジュールにより連結する(S320ないしS324)。また、ASADAL/OBJ300は、制御部と環境オブジェクトの内部明細を入力として実行可能なシミュレーションコードを生成し、シミュレーションさせる制御器シミュレーションモジュール(またはエンジン)及び環境シミュレーションモジュール(またはエンジン)を含む。ターゲットコードをシミュレーションさせるエンジンと環境をシミュレーションさせるエンジンとが、互いにデータとイベントをやりとりするように調整するI/Oハンドリングモジュールを支援することで、視覚的、かつ直観的なソフトウェアテスティングが可能になる。このような直観的なテスティングによりユーザはターゲットコードが実際に配置された時、正常に動作可能であるか否かを判断し、システムで予想される問題に迅速に対処できる。
Referring to FIG. 7, in order to test an application program obtained through architecture modeling and operational modeling, an environment modeling module is used to generate an environment in which the application program is arranged, and then data and events between them are mapped. , I / O mapping module is located in the middle. That is, the application program developer models the control unit and the environmental object with the ASADAL /
図8は、本発明によるフィーチャ指向ソフトウェアの再利用開発フレームワークを提供するシステムであるASADALのASADAL/OBJ300と実際システムとの間のシミュレーションを示す構成図である。図8を参照すれば、ASADAL/OBJ300は、ASADAL/ASSET DB400からターゲットコードを実際システム330にダウンロードさせた後、実際システム330と仮想環境シミュレーション(S328)との間のデータ及びイベントをマッピングさせるために、実際I/Oマッピングモジュール(S326)をそれらの中間に位置させる。このように実際システムが実際オブジェクトに対して送るデータとイベントを仮想環境で予めテストできるので、実際機械に配置する前にコードが正常に動作可能であるか否かをテストでき、テストコストを低減できる。
FIG. 8 is a block diagram showing a simulation between an ASADAL /
図9は、本発明によるフィーチャ指向ソフトウェアの製品ラインの開発フレームワークを提供するシステムであるASADALのASADAL/ANALYZER500の構成を示すブロック図である。本発明によるASADAL/ANALYZER500は、ASADAL/ASSET DB400に格納されているモデル間の一貫性を検査することや、該当モデルの明細が有効であるかを検査する機能を行う。すなわち、資産開発者は、フィーチャモデルと資産コンポーネントとの間の一貫性を検証し(S330)、応用プログラム開発者は、運用モデル内部の一貫性、アーキテクチャモデルとソフトウェアコンポーネントとの間の一貫性、ソフトウェアコンポーネントと運用モデルとの間の一貫性を検証できる(S332ないしS336)。このようなモデル検査機能は、設計及びコード生成時に必ず行われる過程であり、このような過程がなければ、自動的に生成されたコードの正しい動作を保証できなくなる。
FIG. 9 is a block diagram showing the configuration of ASADAL's ASADAL /
以上で説明したASADALフレームワークが具体的にどのような機能を支援するかについて、(1)資産開発、(2)応用プログラムの開発、(3)応用プログラムのテスト、(4)応用プログラムの維持保守の観点から見た実施形態について説明する。
第1の実施形態:資産開発
以上で説明した本発明によるASADALのモジュールを用いて資産コンポーネントを開発する方法は、以下の通りである。
Regarding the specific functions supported by the ASADAL framework described above, (1) Asset development, (2) Application program development, (3) Application program test, (4) Application program maintenance An embodiment from the viewpoint of maintenance will be described.
First Embodiment: Asset Development A method for developing an asset component using the ASADAL module according to the present invention described above is as follows.
すなわち、ASADALフレームワークは、フィーチャを中心にシステムを分析することを基本とする。したがって、資産コンポーネントを開発する前に、領域に対する共通点と相違点の分析を通じて候補フィーチャを得て、ASADAL/FORM100のフィーチャモデリングモジュールを用いて完成したフィーチャモデルを作成する(図2のS110及びS120参照)。フィーチャモデル自体の有効性を検証してから検証されたフィーチャモデルはASADAL/ASSET DB400に格納する(図2のS130参照)。 That is, the ASADAL framework is based on analyzing the system around features. Therefore, before developing the asset component, candidate features are obtained through analysis of commonalities and differences to the region, and a completed feature model is created using the feature modeling module of ASADAL / FORM 100 (S110 and S120 in FIG. 2). reference). After the validity of the feature model itself is verified, the verified feature model is stored in the ASADAL / ASSE DB 400 (see S130 in FIG. 2).
ASADAL/COMP200においては、領域分析により得られたフィーチャモデルに対してコンポーネント全体に亘って影響を与える必須フィーチャ、コンポーネントの一部分に影響を与える選択的フィーチャ、択一的にコンポーネントに影響を与える択一的フィーチャの選択可能性を適切に対応できるようにマクロを用いて資産コンポーネントを明細にする(図3のS240参照)。このように得られた資産コンポーネントは、資産コンポーネント検証モジュールで有効性を検証し、ASADAL/ASSET DB400に格納する(図3のS210参照)。 In ASADAL / COMP200, essential features that affect the entire component of the feature model obtained by region analysis, selective features that affect a part of the component, and alternatives that alternatively affect the component. The asset component is detailed using a macro so that the selectability of the target feature can be appropriately handled (see S240 in FIG. 3). The asset component obtained in this way is validated by the asset component verification module and stored in the ASADAL / ASSE DB 400 (see S210 in FIG. 3).
資産開発者はASADAL/ANALYZER500により、フィーチャに基づいて作成された資産コンポーネントが一貫性よく作成されたか否かを検証する(図9参照)。
第2の実施形態:応用プログラムの開発
ドメイン(または領域)に対する資産コンポーネントの開発が完了すると、応用プログラム開発者は、フィーチャモデルからシステム要求事項を満足させるフィーチャのみ選択する(図2のS140及びS150参照)。このようなフィーチャの選択は、ASADAL/FORM100で行われ、フィーチャ選択情報は、ASADAL/ASSET DB400に格納される。
The asset developer verifies whether the asset component created based on the feature has been created consistently by using ASADAL / ANALYZER 500 (see FIG. 9).
Second Embodiment: When the asset component development for the application program development domain (or region) is completed, the application program developer selects only features that satisfy the system requirements from the feature model (S140 and S150 in FIG. 2). reference). Such feature selection is performed by the ASADAL /
ASADAL/COMP200では、フィーチャの選択情報と資産コンポーネントをASADAL/ASSET DB400から持ってきてソフトウェアコンポーネントの生成のためにフィーチャ選択情報を資産コンポーネントに適切に対応させるマクロ処理作業を行う(図3のS220参照)。すなわち、ユーザの要求事項に合わせて選択されたフィーチャ選択情報をマクロ処理することで、選択されたフィーチャを具現するコードのみ適用して、完成したソフトウェアコンポーネントを生成する。このように作成されたソフトウェアコンポーネントは、ASADAL/COMP200の形状管理モジュールにより管理され、外部モジュールで再利用できるようにASADAL/ASSET DB400に格納される(図3のS230参照)。
In ASADAL / COMP200, the feature selection information and the asset component are brought from the ASADAL /
上述したように、ソフトウェアコンポーネントが生成されると、次に再利用コンポーネントを用いて応用プログラムを作成するが、アーキテクチャモデリング、運用モデリング及び自動コード生成を支援するASADAL/OBJ300が用いられる。すなわち、ASADAL/OBJ300は、ASADAL/ASSET DB400に格納されている再利用可能な様々なモデルに基づいてユーザの所望する要求事項を満足させるアーキテクチャモデルを設計する(図4のS302参照)。また、システムの内部運用モデルをシステムの内部機能と行為の観点から明細にする(図4のS304参照)。機能を観点とした明細では外部のソフトウェアコンポーネントを使用できるように明細にできるため、ソフトウェアコンポーネントを再利用してシステムを構成できる。また、作成されたアーキテクチャモデルと運用モデルを、有効性検証モジュールによりその有効性を検証できる(図4のS306及びS308参照)。
As described above, when the software component is generated, an application program is created using the reuse component, and the ASADAL /
ASADAL/OBJ300で生成された運用モデルは、自動コード生成モジュールの入力となり、実行可能なターゲットコードとシミュレーションコードが自動生成される(図4のS310及びS312参照)。このように得られたシミュレーションコードは、仮想環境で制御部と環境オブジェクトが互いに連動して動作できるようにするコードであり、ターゲットコードは実際システムにダウンロードされて制御器能を行うコードである。ASADAL/OBJ300で自動生成された実行コードは、応用プログラムのテスティング段階で用いられ、ASADAL/ASSET DB400に格納される。
The operation model generated by the ASADAL / OBJ300 is input to the automatic code generation module, and executable target code and simulation code are automatically generated (see S310 and S312 in FIG. 4). The simulation code thus obtained is a code that enables the control unit and the environment object to operate in conjunction with each other in a virtual environment, and the target code is a code that is actually downloaded to the system and performs a control function. The execution code automatically generated by the ASADAL /
第3の実施形態:応用プログラムのテスト
応用プログラムのテスティングは、(i)シミュレーションコードと環境オブジェクトを通じた仮想シミュレーションと、(ii)ターゲットコードを実際システムにダウンロードしてテストする方式とにより行われる。
Third Embodiment: Application Program Testing Application program testing is performed by (i) virtual simulation through simulation code and environmental objects, and (ii) a method in which target code is downloaded to an actual system and tested. .
まず、仮想環境シミュレーションを通じたテストは、ASADAL/OBJ300の環境モデリングモジュールを用いてプログラムが配置され、実行される仮想環境を明細にする(図5のS314参照)。制御部のコードと環境オブジェクトとの間のデータとイベントをマッピングするために、仮想I/Oマッピングモジュールにより相互間のデータをマッピングさせ、マッピング情報は、ASADAL/ASSET DB400に格納させる(図6のS316参照)。次に、ASADAL/OBJ300は、システムを制御する制御ソフトウェアと制御ソフトウェアを配置して仮想環境でテストできるように作成された3次元シミュレーションモジュールにより制御ソフトウェアを直観的にテストでき、このような仮想環境により自動生成されたコードが仮想環境で意図通りに作動するかを検証できる(図7のS320ないしS324参照)。 First, the test through the virtual environment simulation specifies the virtual environment in which the program is arranged and executed using the environment modeling module of ASADAL / OBJ300 (see S314 in FIG. 5). In order to map the data and the event between the control unit code and the environmental object, the virtual I / O mapping module maps the data between each other, and the mapping information is stored in the ASADAL / ASSE DB 400 (FIG. 6). (See S316). Next, the ASADAL / OBJ300 can intuitively test the control software with a 3D simulation module created so that the control software for controlling the system and the control software can be arranged and tested in the virtual environment. It is possible to verify whether the automatically generated code operates as intended in the virtual environment (see S320 to S324 in FIG. 7).
仮想環境テストで実行コードが検証されると、実行コードを実際システムにダウンロードして正常に作動するか否かを検証しなければならない。ASADAL/OBJ300は、実際システムと仮想シミュレーション環境が互いにデータとイベントをやりとりできる実際I/Oマッピング情報を有することで、実行コードが実際システムで正常に作動するか否かを検証できる(図8のS326参照)。
When the execution code is verified in the virtual environment test, it is necessary to verify whether the execution code is actually downloaded by downloading it to the system. The ASADAL /
第4の実施形態:応用プログラム維持保守
ASADAL/OBJ300の仮想シミュレーションでテストの結果が予想と異なる場合には、ソフトウェアコンポーネントで発生したエラーを以下のような方法により修正できる。
(1)まず、フィーチャモデル自体に修正が必要であるか否かを考慮する。この場合、ASADAL/FORM100を通じて修正でき、このように修正されたフィーチャモデルは、ASADAL/ASSET DB400に格納し、ASADAL/COMP200でソフトウェアコンポーネントを再び生成する。
Fourth Embodiment: Application Program Maintenance / Maintenance When a test result differs from an expectation in a virtual simulation of ASADAL / OBJ300, an error generated in a software component can be corrected by the following method.
(1) First, consider whether the feature model itself needs to be modified. In this case, it can be corrected through the ASADAL /
(2)フィーチャモデルの修正が不要な場合には、資産コンポーネントに修正が必要であるか否かを考慮する。資産コンポーネントに修正が必要な場合には、ASADAL/COMP200で修正してASADAL/ASSET DB400に格納し、ASADAL/COMP200でソフトウェアコンポーネントを再び生成する。
(2) If correction of the feature model is not necessary, consider whether or not the asset component needs to be corrected. If the asset component needs to be modified, it is modified by ASADAL /
(3)フィーチャモデルと資産コンポーネントに修正が不要な場合には、ASADAL/OBJ300で運用モデリングモジュールを通じて内部明細を修正する。
このような方法により、ソフトウェアコンポーネントで発生した問題を見つけ、ASADAL/OBJ300は、コード自動生成を通じて修正されたコードで仮想環境でテストしてソフトウェアを開発できる。
(3) When the feature model and the asset component do not need to be corrected, the internal details are corrected through the operation modeling module in ASADAL / OBJ300.
By such a method, a problem occurring in the software component is found, and the ASADAL /
Claims (12)
特定領域に対するフィーチャモデリングと前記フィーチャモデリングにより生成されたフィーチャの中から応用プログラムに該当するフィーチャを選択するASADAL/FORMと、
前記フィーチャ選択情報に基づいて資産コンポーネントを開発し、マクロ処理を通じたソフトウェアコンポーネントの生成及び前記ソフトウェアコンポーネントの形状管理を行うASADAL/COMPと、
前記応用ソフトウェアを開発するためのアーキテクチャモデリング及び運用モデリングと自動コード生成、仮想テストベッドの構築及びシミュレーションを通じた検証を行うASADAL/OBJと、
前記ASADAL/FORM、ASADAL/COMP及びASADAL/OBJにより生成されたデータを格納するASADAL/ASSET DBと、
前記ASADAL/ASSET DBに格納されているデータ間の一貫性を検証するASADAL/ANALYZERと
を含むことを特徴とするシステム。 A system for providing a development environment for a feature-oriented software product line,
ASADAL / FORM for selecting a feature corresponding to an application program from the feature modeling for a specific region and the features generated by the feature modeling;
ASADAL / COMP that develops asset components based on the feature selection information, generates software components through macro processing, and manages the shape of the software components;
ASADAL / OBJ that performs verification through architecture modeling, operational modeling and automatic code generation, virtual testbed construction and simulation for developing the application software;
An ASADAL / ASSE DB that stores data generated by the ASADAL / FORM, ASADAL / COMP, and ASADAL / OBJ;
A system comprising: ASADAL / ANALYZER for verifying consistency between data stored in the ASADAL / ASSE DB.
前記領域の分析を通じて得た候補フィーチャに基づいて前記領域と関連するシステムの共通点を表す必須フィーチャ、前記システム間の相違点を表す選択的フィーチャ及び択一的フィーチャを分類してトリー構造から構成されるフィーチャモデルを作成するフィーチャモデリングエディタと、
前記フィーチャ間の関係及び前記フィーチャモデルの合成規則に従う明細の如何を検証するフィーチャモデル検証モジュールと、
前記フィーチャモデルにおけるフィーチャの説明及び合成規則を利用して前記応用プログラムの要求事項に合った有効なフィーチャを選択するフィーチャ選択モジュールと
を含むことを特徴とする請求項1に記載のシステム。 The ASADAL / FORM is
Based on the candidate features obtained through the analysis of the region, the essential features that represent the common points of the system related to the region, the selective features that represent the differences between the systems, and the alternative features are classified into a tree structure. A feature modeling editor to create a feature model
A feature model verification module that verifies the relationship between the features and specifications according to the synthesis rules of the feature model;
The system according to claim 1, further comprising: a feature selection module that selects a valid feature that meets the requirements of the application program using a description of the feature in the feature model and a synthesis rule.
前記フィーチャモデルにおいて、選択的フィーチャ及び択一的フィーチャに応じて資産コンポーネントがどのように対応するかを、マクロを利用して明細する資産コンポーネント開発モジュールと、
前記マクロの作成時に発生する文法的な誤謬と明細の有効性を検証する資産コンポーネント検証モジュールと、
前記フィーチャ選択情報に基づいて資産コンポーネント明細に含まれているマクロを処理して選択されたフィーチャを具現するコードを変化させ、ソフトウェアコンポーネントを自動生成するソフトウェアコンポーネント生成モジュールと、
前記ソフトウェアコンポーネントの生成時に用いられたフィーチャ選択情報と資産コンポーネント情報に基づいて生成された形状管理情報を管理し、前記ソフトウェアコンポーネントに問題点が発見された場合は、フィーチャモデルと資産コンポーネントに対する逆追跡性を提供するコンポーネント形状管理モジュールと
を含むことを特徴とする請求項1に記載のシステム。 Said ASADAL / COMP is
In the feature model, an asset component development module that specifies how an asset component corresponds according to a selective feature and an alternative feature using a macro;
An asset component verification module that verifies the validity of the grammatical errors and details that occur when creating the macro;
A software component generation module that automatically generates a software component by processing a macro included in an asset component specification based on the feature selection information and changing a code that embodies the selected feature;
The feature management information generated based on the feature selection information and asset component information used when generating the software component is managed, and if a problem is found in the software component, the feature model and asset component are traced back. The system according to claim 1, further comprising: a component shape management module that provides functionality.
前記ソフトウェアコンポーネント生成モジュールは、前記ASADAL/ASSET DBから前記フィーチャ選択情報と前記資産コンポーネントの伝達を受けて前記ソフトウェアコンポーネントを生成し、前記生成されたソフトウェアコンポーネントを前記ASADAL/ASSET DBに格納し、
前記形状管理モジュールで生成された前記形状管理情報は、前記ASADAL/ASSET DBに格納されることを特徴とする請求項4に記載のシステム。 The asset component development module receives the feature model from the ASADAL / ASSE DB, generates the asset component, and stores the generated asset component in the ASADAL / ASSE DB.
The software component generation module receives the feature selection information and the asset component from the ASADAL / ASSE DB, generates the software component, and stores the generated software component in the ASADAL / ASSE DB.
The system according to claim 4, wherein the shape management information generated by the shape management module is stored in the ASADAL / ASSE DB.
前記フィーチャモデルに表現されているフィーチャの非機能的要素を実質的なシステムでどのように配置するかを設計してソフトウェアアーキテクチャを生成するソフトウェアアーキテクチャモデリングモジュールと、
前記ソフトウェアアーキテクチャを参照して前記システムの有する機能と行為を明細にして前記システムを表現する運用モデルを生成する運用モデリングモジュールと、
前記ソフトウェアアーキテクチャモデリングモジュール及び運用モデリングモジュールで生成されたソフトウェアアーキテクチャ及び運用モデルに含まれている明細の不一致性及び誤謬を検証するモデル有効性検証モジュールと、
前記運用モデルに基づいて得た機能と行為の明細を利用してターゲットプログラム言語によりターゲットコード及びシミュレーションコードを生成する自動コード生成モジュールと
を含むことを特徴とする請求項1に記載のシステム。 The ASADAL / OBJ is
A software architecture modeling module that designs how non-functional elements of features represented in the feature model are arranged in a substantial system to generate a software architecture;
An operation modeling module for generating an operation model that represents the system by specifying the functions and actions of the system with reference to the software architecture;
A model validity verification module for verifying inconsistencies and errors in specifications included in the software architecture and operation model generated by the software architecture modeling module and the operation modeling module;
The system according to claim 1, further comprising: an automatic code generation module that generates a target code and a simulation code in a target program language by using a function and an action detail obtained based on the operation model.
前記応用プログラムが配置されて実行されるシステムを仮想でモデリングして環境オブジェクトを生成する環境オブジェクトモデリングモジュールと、
前記ターゲットコードを、前記システムの制御のための応用プログラムを開発する制御部で実行する制御器シミュレーションモジュールと、
前記シミュレーションコードを前記環境オブジェクトで実行する環境シミュレーションモジュールと、
前記制御器シミュレーションモジュールと前記環境シミュレーションモジュールとの間で送受信されるデータとイベントを連結する仮想入出力マッピングモジュールと、
前記システムと前記環境シミュレーションモジュールとの間で送受信されるデータとイベントを連結する実際入出力マッピングモジュールと
を更に含むことを特徴とする請求項6に記載のシステム。 The ASADAL / OBJ is
An environmental object modeling module that virtually models a system in which the application program is arranged and executed to generate an environmental object;
A controller simulation module that executes the target code in a control unit that develops an application program for controlling the system;
An environment simulation module for executing the simulation code on the environment object;
A virtual input / output mapping module that links data and events transmitted and received between the controller simulation module and the environment simulation module;
The system according to claim 6, further comprising: an actual input / output mapping module that connects data and events transmitted / received between the system and the environment simulation module.
前記運用モデリングモジュールは、前記ASADAL/ASSET DBに格納されている前記ソフトウェアアーキテクチャの伝達を受けて前記運用モデルを生成し、前記生成された運用モデルを前記ASADAL/ASSET DBに格納することを特徴とする請求項6に記載のシステム。 The software architecture modeling module stores the generated software architecture in the ASADAL / ASSE DB,
The operational modeling module generates the operational model in response to the transmission of the software architecture stored in the ASADAL / ASSE DB, and stores the generated operational model in the ASADAL / ASSE DB. The system according to claim 6.
前記フィーチャモデルと前記資産コンポーネントとの間の一貫性を検査するモジュールと、
前記運用モデルの一貫性を検査するモジュールと、
前記アーキテクチャモデルと前記ソフトウェアコンポーネントとの間の一貫性を検査するモジュールと、
前記ソフトウェアコンポーネントと前記運用モデルとの間の一貫性を検査するモジュールと
を含むことを特徴とする請求項1に記載のシステム。 Said ASADAL / ANALYZER is
A module for checking consistency between the feature model and the asset component;
A module for checking the consistency of the operational model;
A module for checking consistency between the architectural model and the software component;
The system of claim 1, comprising: a module that checks consistency between the software component and the operational model.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050056305A KR100744886B1 (en) | 2005-06-28 | 2005-06-28 | Asadal : system for providing feature-oriented software product line engineering environment |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007012003A true JP2007012003A (en) | 2007-01-18 |
Family
ID=37595330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005215541A Pending JP2007012003A (en) | 2005-06-28 | 2005-07-26 | System for providing development environment of feature-oriented software product line |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP2007012003A (en) |
KR (1) | KR100744886B1 (en) |
WO (1) | WO2007001108A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012008660A (en) * | 2010-06-22 | 2012-01-12 | Fuji Electric Co Ltd | Software development support device, software development support method and software development support program |
JP2013512530A (en) * | 2010-11-18 | 2013-04-11 | ポハン工科大学校産学協力団 | Software development method and apparatus therefor |
CN103399740A (en) * | 2013-07-19 | 2013-11-20 | 北京大学 | Software quality demand modeling and inference method |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100860963B1 (en) * | 2007-03-08 | 2008-09-30 | 삼성전자주식회사 | Apparatus and method for developing software based on component |
US8103495B2 (en) | 2007-08-08 | 2012-01-24 | Microsoft Corporation | Feature oriented protocol modeling |
US20090089739A1 (en) * | 2007-09-28 | 2009-04-02 | Microsoft Corporation | Intelligent editing of relational models |
KR101484680B1 (en) * | 2007-10-04 | 2015-01-21 | 삼성전자 주식회사 | System and Method for Software Product Management with a Component Model |
KR101470319B1 (en) | 2008-02-15 | 2014-12-08 | 삼성전자주식회사 | Method and apparatus for generating virtual software platform based on component model and validating software platform architecture using thereof |
KR100890861B1 (en) * | 2008-03-04 | 2009-03-27 | 정병수 | Construction method for framework of 3 dimensional application program and implementation method for application program thereof |
KR100946763B1 (en) * | 2008-07-23 | 2010-03-11 | 성균관대학교산학협력단 | Method and device for generating of code |
CN101937336B (en) | 2009-06-30 | 2013-12-25 | 国际商业机器公司 | Software asset bundling and consumption method and system |
US8584080B2 (en) | 2010-03-22 | 2013-11-12 | International Business Machines Corporation | Modeling and generating computer software product line variants |
US8549473B2 (en) | 2011-05-19 | 2013-10-01 | International Business Machines Corporation | Configuration management system for software product line development environment |
KR101290847B1 (en) | 2011-11-11 | 2013-07-29 | 포항공과대학교 산학협력단 | Method for creating a feature model from legacy system source code |
GB201209987D0 (en) * | 2012-06-06 | 2012-07-18 | Microsoft Corp | Address system |
KR101363657B1 (en) * | 2012-12-06 | 2014-02-20 | 포항공과대학교 산학협력단 | Method for comparing feature models and apparatus for the same |
KR101691929B1 (en) * | 2015-09-21 | 2017-01-17 | 배재대학교 산학협력단 | An apparatus for implementing an automation of a web user interface and method therefor |
CN105426200B (en) | 2015-10-30 | 2018-11-09 | 小米科技有限责任公司 | Communication module group firmware and plug-in unit generation method and device |
KR102170722B1 (en) | 2019-02-21 | 2020-10-27 | 국방과학연구소 | Apparatus and method for supporting weapon system software product line engineering and computer readible storage medium therefor |
KR102211025B1 (en) | 2019-06-14 | 2021-02-02 | 국방과학연구소 | Method and apparatus for generating technical document of weapon system software based on software product line |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0895764A (en) * | 1994-09-26 | 1996-04-12 | Atr Tsushin Syst Kenkyusho:Kk | Software design support device |
JPH08234972A (en) * | 1995-02-23 | 1996-09-13 | Hitachi Eng Co Ltd | Software reusing device and method |
US5673199A (en) | 1995-05-01 | 1997-09-30 | Hughes Electronics | Computer aided reuse tool |
JPH11237982A (en) | 1998-02-23 | 1999-08-31 | Ricoh Co Ltd | Software component development supporting device |
US6487713B1 (en) * | 1999-09-24 | 2002-11-26 | Phoenix Technologies Ltd. | Software development system that presents a logical view of project components, facilitates their selection, and signals missing links prior to compilation |
US20020035584A1 (en) * | 2000-05-09 | 2002-03-21 | Paul Scheier | icFoundation web site development software and icFoundation biztalk server 2000 integration |
US7117480B2 (en) | 2001-11-27 | 2006-10-03 | 3M Innovative Properties Company | Reusable software components for invoking computational models |
US7152028B2 (en) * | 2001-12-13 | 2006-12-19 | Texas Instruments Incorporated | Software development tool with embedded cache analysis |
CA2409788A1 (en) * | 2002-10-25 | 2004-04-25 | Ibm Canada Limited-Ibm Canada Limitee | Architecture for dynamically monitoring computer application data |
KR20060070611A (en) * | 2004-12-21 | 2006-06-26 | 한국전자통신연구원 | Asset and product creation device and method using product line analysis |
-
2005
- 2005-06-28 KR KR1020050056305A patent/KR100744886B1/en not_active IP Right Cessation
- 2005-07-26 JP JP2005215541A patent/JP2007012003A/en active Pending
- 2005-11-01 WO PCT/KR2005/003651 patent/WO2007001108A1/en active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012008660A (en) * | 2010-06-22 | 2012-01-12 | Fuji Electric Co Ltd | Software development support device, software development support method and software development support program |
JP2013512530A (en) * | 2010-11-18 | 2013-04-11 | ポハン工科大学校産学協力団 | Software development method and apparatus therefor |
CN103399740A (en) * | 2013-07-19 | 2013-11-20 | 北京大学 | Software quality demand modeling and inference method |
CN103399740B (en) * | 2013-07-19 | 2016-08-10 | 北京大学 | Software quality Requirements Modeling and inference method |
Also Published As
Publication number | Publication date |
---|---|
KR100744886B1 (en) | 2007-08-01 |
WO2007001108A1 (en) | 2007-01-04 |
KR20070000732A (en) | 2007-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007012003A (en) | System for providing development environment of feature-oriented software product line | |
US9754059B2 (en) | Graphical design verification environment generator | |
WO2012032890A1 (en) | Source code conversion method and source code conversion program | |
Stürmer et al. | Systematic testing of model-based code generators | |
KR101345068B1 (en) | System and method for workflow modeling and simulation | |
US20070061641A1 (en) | Apparatus and method for generating test driver | |
CN106776326B (en) | Modeling method and system of data analysis model | |
CN105975269B (en) | A kind of requirements verification method based on procedural model | |
Bonfiglio et al. | Executable models to support automated software FMEA | |
CN103176894A (en) | Test data automatic derivative method and automatic derivative device facing database | |
KR100935685B1 (en) | Apparatus and Method for Developing Software | |
US10592703B1 (en) | Method and system for processing verification tests for testing a design under test | |
JP5589901B2 (en) | Software verification support apparatus, software verification support method, and software verification support program | |
Zalila et al. | Leveraging formal verification tools for DSML users: a process modeling case study | |
Dillaber et al. | Pragmatic Strategies for Adopting Model-Based Design for Embedded Applications | |
KR20070049126A (en) | Asadal : system for providing feature-oriented software product line engineering environment | |
Elekes et al. | Assessing the specification of modelling language semantics: a study on UML PSSM | |
Zielasko et al. | 3D Visualization of Symbolic Execution Traces | |
Sani et al. | Model transformation specification for automated formal verification | |
WO2021036697A1 (en) | Commissioning method and apparatus, device and storage medium | |
Erkkinen et al. | Verification, validation, and test with model-based design | |
Nikiforova et al. | Towards a Business Process Model-based Testing of Information Systems Functionality. | |
Tragatschnig et al. | Modeling change patterns for impact and conflict analysis in event-driven architectures | |
Sypsas et al. | Computing Similarities Between Virtual Laboratory Experiments Models Using Petri Nets | |
CN117193733B (en) | Method for constructing and using example library and method for evaluating generated example code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080624 |
|
A521 | Written amendment |
Effective date: 20080924 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080924 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080929 |
|
A521 | Written amendment |
Effective date: 20081002 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081202 |