KR20070049126A - Asadal : system for providing feature-oriented software product line engineering environment - Google Patents

Asadal : system for providing feature-oriented software product line engineering environment Download PDF

Info

Publication number
KR20070049126A
KR20070049126A KR1020070035518A KR20070035518A KR20070049126A KR 20070049126 A KR20070049126 A KR 20070049126A KR 1020070035518 A KR1020070035518 A KR 1020070035518A KR 20070035518 A KR20070035518 A KR 20070035518A KR 20070049126 A KR20070049126 A KR 20070049126A
Authority
KR
South Korea
Prior art keywords
asadal
feature
asset
module
model
Prior art date
Application number
KR1020070035518A
Other languages
Korean (ko)
Inventor
강교철
Original Assignee
학교법인 포항공과대학교
포항공과대학교 산학협력단
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 학교법인 포항공과대학교, 포항공과대학교 산학협력단 filed Critical 학교법인 포항공과대학교
Priority to KR1020070035518A priority Critical patent/KR20070049126A/en
Publication of KR20070049126A publication Critical patent/KR20070049126A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/226Validation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 휘처 기반 소프트웨어 제품라인 공학의 방법론을 지원하는 아사달(ASADAL) 프레임워크를 정의하고, ASADAL을 구성하는 각 모듈의 구조, 모듈의 기능 및 데이터 흐름을 정의함으로써 소프트웨어 제품라인 방법론을 지원하는 휘처 기반 소프트웨어 재사용 개발 환경 시스템을 제공하기 위한 것으로, 이를 위한 본 발명은, 특정 영역에 대한 후보 휘처 모델들을 이용하여 휘처 모델을 작성하고, 작성된 휘처 모델을 찾아서 그들의 관계 및 합성 법칙을 명세 제공하고 제공에 대응하여 입력되는 휘처 법칙을 휘처 모델에 적용하여 합성 법칙에 맞게 명세되어 있는지를 검증하며, 검증된 휘처 모델을 가져와서 휘처들 중에서 응용 프로그램 개발 시 공통점을 표현하는 필수 휘처들과 차이점을 나타내는 선택적 휘처들을 선택하도록 제공하고 제공에 대응하여 선택된 휘처 선택 정보를 휘처 법칙에 따라 검증 및 저장하는 ASADAL/FORM과, 휘처 모델과 휘처 선택 정보를 기반으로 재사용 가능한 자산 컴포넌트 개발 지원과, 자산 컴포넌트를 매크로 처리하여 휘처 선택에 맞는 소프트웨어 컴포넌트를 생성하며, 컴포넌트에 대한 형상 관리를 지원하는 ASADAL/COMP와, 응용 프로그램 개발을 위한 아키텍처 모델링 및 운영 모델링과 자동 코드 생성, 가상 테스트 베드의 구축 및 시뮬레이션을 통한 검증을 수행하는 ASADAL/OBJ와, ASADAL/FORM, ASADAL/COMP 및 ASADAL/OBJ에 의해 생성된 데이터를 저장하는 ASADAL/ASSET DB와, ASADAL/ASSET DB에 저장된 데이터들 간의 일관성을 검증하는 ASADAL/ANALYZER를 포함한다. 따라서, 모델의 신뢰도를 높일 수 있고, 소 프트웨어 개발 초기 단계에 중대한 오류를 검사할 수 있으므로 개발비용을 크게 줄일 수 있는 효과가 있다.The present invention defines an ASADAL framework that supports the methodology of feature-based software product line engineering, and defines a structure, function of each module, and data flow of each module constituting ASADAL. In order to provide a software reuse development environment system based on the present invention, the present invention provides a feature model by using candidate feature models for a specific area, finds the created feature model, and provides a specification and a provision of their relation and synthesis law. Corresponding feature feature is applied to the feature model to verify that it is specified according to the synthesis law, and imports the validated feature model to select the feature that shows the difference between the required features that express commonality in application development. Offer to choose and respond to offer ASADAL / FORM that verifies and stores selected feature selection information according to feature law, supports reusable asset component development based on feature model and feature selection information, and macros asset components to create software components for feature selection. ASADAL / COMP, which supports configuration management of components, ASADAL / OBJ, which performs architecture modeling and operational modeling for application development, automatic code generation, and verification by building and simulating virtual test beds. Includes ASADAL / ASSET DB for storing data generated by FORM, ASADAL / COMP and ASADAL / OBJ, and ASADAL / ANALYZER for verifying consistency between data stored in ASADAL / ASSET DB. Therefore, the reliability of the model can be increased, and significant errors can be checked at the initial stage of software development, thereby significantly reducing the development cost.

ASADAL/FORM, ASADAL/COMP, ASADAL/OBJ, ASADAL/ASSET DB, ASADAL/ANALYZER ASADAL / FORM, ASADAL / COMP, ASADAL / OBJ, ASADAL / ASSET DB, ASADAL / ANALYZER

Description

아사달 : 휘처 기반 소프트웨어 제품라인 개발 환경을 제공하는 시스템 {ASADAL : SYSTEM FOR PROVIDING FEATURE-ORIENTED SOFTWARE PRODUCT LINE ENGINEERING ENVIRONMENT}Asadaal: System for providing feature-based software product line development environment {ASADAL: SYSTEM FOR PROVIDING FEATURE-ORIENTED SOFTWARE PRODUCT LINE ENGINEERING ENVIRONMENT}

도 1은 본 발명에 따른 휘처 기반 소프트웨어 제품라인 개발 환경을 지원하는 아사달(ASADAL) 프레임워크의 구성을 나타내는 블록도,1 is a block diagram showing the configuration of an ASADAL framework supporting a feature-based software product line development environment in accordance with the present invention;

도 2는 본 발명에 따른 휘처 기반 소프트웨어 재사용 개발 프레임워크인 ASADAL의 ASADAL/OBJ(300)의 환경 객체(environment object)의 기능과 그 데이터 처리 흐름을 나타내는 블록도,Figure 2 is a block diagram showing the function of the environment object (environment object) of the ASADAL / OBJ 300 of ASADAL, which is a feature-based software reuse development framework according to the present invention, and its data processing flow;

도 3 내지 도 5는 본 발명에 따른 휘처 기반 소프트웨어 제품라인 개발 환경에서 자동 코드 생성 및 3차원 가상 시뮬레이션 테스팅을 수행하는 ASADAL/OBJ의 구성 및 데이터 처리 흐름을 보여주는 블록도,3 to 5 is a block diagram showing the configuration and data processing flow of ASADAL / OBJ performing automatic code generation and three-dimensional virtual simulation testing in the feature-based software product line development environment according to the present invention,

도 6은 본 발명에 따른 휘처 기반 소프트웨어 제품라인 개발 환경에서 모델 간의 일관성 검증 및 유효성 검사를 수행하는 ASADAL/ANALYZER의 구성 및 데이터 처리 흐름을 나타내는 블록도.Figure 6 is a block diagram showing the configuration and data processing flow of ASADAL / ANALYZER performing consistency verification and validation between models in the feature-based software product line development environment according to the present invention.

본 발명은 휘처 기반 소프트웨어 제품라인 개발 환경에 관한 것으로서, 특히 특정 도메인(또는 영역)에 대해 소프트웨어 제품라인 방법론을 적용하여 도메인에 대한 휘처 분석과 응용 프로그램 개발을 위한 휘처 선택, 재사용 가능한 자산 컴포넌트의 생성, 매크로 처리(macro-processing)를 통한 소프트웨어 컴포넌트의 생성과 컴포넌트에 대한 형상 관리 지원, 소프트웨어 컴포넌트를 이용한 응용 소프트웨어의 개발 지원과 가상환경에서의 소프트웨어 테스팅을 지원함으로써 소프트웨어 제품라인 개발을 용이하게 하는 휘처 기반 소프트웨어 제품라인 개발 환경을 구현하는 시스템에 관한 것이다.TECHNICAL FIELD The present invention relates to a feature-based software product line development environment. In particular, the software product line methodology is applied to a specific domain (or region) to generate feature selection and reusable asset components for domain analysis and application development. To facilitate the development of software product lines by supporting the creation of software components through macro-processing, configuration management of the components, application software development using software components, and software testing in virtual environments. The present invention relates to a system for implementing an underlying software product line development environment.

소프트웨어 개발의 생산성을 높이고자 하는 소프트웨어 재사용 기술의 초점은 소스 코드의 재사용에서 소프트웨어 설계의 재사용으로, 다시 소프트웨어 설계의 재사용에서 영역 공학에 기반을 둔 재사용으로 그 중심이 옮겨져 왔다. 이러한 소프트웨어 재사용 기술의 변화의 이유는, 소스코드를 재사용하기 위해서는 설계의 재사용이 선행되어야 하고, 또한 설계를 재사용하기 위해서는 영역 공학을 통해서 해당 응용 영역에서 공통적으로 쓰이는 영역 자산을 먼저 개발하여야 했기 때문이다. 따라서 지난 수년 간 소프트웨어 재사용 연구는 영역 분석 및 영역 공학에 중점을 두고 수행되어 왔다. The focus of software reuse technology to increase the productivity of software development has shifted from reuse of source code to reuse of software design, and from reuse of software design to reuse based on domain engineering. The reason for the change of the software reuse technology is that the reuse of the design must be preceded in order to reuse the source code, and in order to reuse the design, the area assets commonly used in the application area must be developed through the area engineering. . Thus, software reuse research has been undertaken over the last few years with a focus on domain analysis and domain engineering.

소프트웨어 재사용 기술에 관한 연구에서 영역 공학적인 접근 방법은 해당 응용 영역에 대해서 광범위한 분석을 실시하고 이를 통하여 재사용성이 높은 컴포넌트를 개발하는 것이다. 그러나 이러한 접근 방법은 많은 경우에 영역 내의 모든 제품을 포함하려는 경향이 있었으며, 이로 인하여 소프트웨어 개발의 비용과 기간 이 증가하는 문제가 발생하기도 하였다. 또한 소프트웨어 재사용성을 극대화하기 위한 노력으로 소프트웨어 구조의 계층화와 정보 은닉을 위한 캡슐화를 강조하다 보면 결과적으로 성능이 떨어지는 시스템을 개발하게 되는 문제점이 발생하기도 했다. 이와 같이, 해당 응용 영역을 중심으로 소프트웨어를 재사용하려함에 있어서 적절한 영역의 범위와 재사용성의 정도를 결정하는 것은 어려운 문제이다.In the study of software reuse technology, the domain engineering approach is to develop a highly reusable component through extensive analysis of the application area. However, this approach tended to include all the products in the domain in many cases, resulting in an increase in the cost and duration of software development. In addition, in an effort to maximize software reusability, emphasizing the layering of software structures and encapsulation for information concealment has resulted in a problem of developing a system with poor performance. As described above, it is difficult to determine the extent of the appropriate area and the degree of reusability in attempting to reuse the software around the application area.

위에서 언급한 문제 가운데 일부를 해결하고자 소프트웨어 제품라인 공학(software product line engineering)의 패러다임이 제시되었다. 이 패러다임에 따르면 소프트웨어 재사용은 특정 소프트웨어 제품 라인을 재사용하기 위해서 신중하게 수립된 계획 하에 이루어진다. 즉, 소프트웨어 제품라인 공학에 의해면, 기업이 진입하고자 하는 시장상황을 분석한 결과를 바탕으로 하여 영역 분석을 해야 하는 범위와 이를 기반으로 하는 소프트웨어 제품 라인 자산의 개발 범위를 명확하게 할 수 있다.To solve some of the problems mentioned above, a paradigm of software product line engineering has been proposed. According to this paradigm, software reuse is a carefully planned plan for reusing specific software product lines. In other words, software product line engineering can clarify the scope of area analysis and the development scope of software product line assets based on the results of analyzing the market situation that a company wants to enter.

소프트웨어 제품라인 공학은, 소프트웨어 제품라인의 핵심이 되는 소프트웨어 자산을 개발하기 위해서 하나 또는 그 이상의 시장을 목표로 하는 비슷한 기능을 제공하는 소프트웨어들 간의 공통점(commonality)과 차이점(variability)을 분석하여, 이를 기반으로 변화를 수용할 수 있는 소프트웨어 아키텍쳐(software architecture)와 재사용 가능한 컴포넌트(component)를 개발하는 방안을 제시한다. 최근에는 이러한 소프트웨어의 전략적인 재사용을 위한 소프트웨어 제품 라인 공학에 대한 관심과 인식이 점차 증가하고 있으며, 이에 대한 연구도 활발히 진행 중이다.Software product line engineering analyzes commonalities and variability among software that provides similar functionality targeting one or more markets in order to develop the software assets that are the core of the software product line. It suggests how to develop a software architecture and reusable components that can accommodate change. Recently, interest and recognition in software product line engineering for strategic reuse of such software is gradually increasing, and research on this is being actively conducted.

그러나 이와 같은 소프트웨어 제품라인 공학의 개념에 따라 도메인에 대한 공통점과 차이점 분석, 유연한 소프트웨어 아키텍쳐와 재사용 컴포넌트의 개발 등 소프트웨어 제품라인 공학의 전체적인 방법론을 지원하는 체계적이고 효과적인 소프트웨어 개발 환경을 제공하는 시스템이 아직 제시되지 못하고 있다.However, according to the concept of software product line engineering, there is still a system that provides a systematic and effective software development environment that supports the overall methodology of software product line engineering, such as analyzing commonalities and differences of domains, developing flexible software architecture and reusable components. It is not presented.

본 발명은 상술한 종래 기술의 문제점을 개선하기 위한 것으로, 휘처 기반 소프트웨어 제품라인 공학의 방법론을 지원하는 아사달(ASADAL: A System Analysis and Design Aided tooL) 프레임워크를 정의하고, ASADAL을 구성하는 각 모듈의 구조, 모듈의 기능 및 데이터 흐름을 정의함으로써 소프트웨어 제품라인 방법론을 지원하는 휘처 기반 소프트웨어 재사용 개발 환경 시스템을 제공하는데 그 목적이 있다.The present invention is to improve the above-mentioned problems of the prior art, and defines an ASADAL (AS System Analysis and Design Aided tooL) framework supporting the methodology of the feature-based software product line engineering, and each module constituting ASADAL. The goal is to provide a feature-based software reuse development environment system that supports the software product line methodology by defining the structure, module functionality, and data flow of the.

또한, 본 발명은 이러한 체계적인 개발 환경을 이용하여, 도메인에 대해 공통점과 차이점을 분석한 휘처 모델링 결과를 바탕으로 재사용 가능한 소프트웨어 자산 획득과, 획득된 소프트웨어 자산을 이용하여 응용 소프트웨어 개발 지원과, 이를 3차원 시뮬레이션 기반으로 테스트함으로써, 소프트웨어 제품라인 공학의 개념에 따른 높은 품질의 소프트웨어를 얻는 것을 목적으로 한다.In addition, the present invention utilizes such a systematic development environment, obtains reusable software assets based on feature modeling results of analyzing commonalities and differences for domains, and supports application software development using the acquired software assets. By testing on a dimensional simulation basis, the objective is to obtain high quality software in accordance with the concept of software product line engineering.

상술한 목적을 달성하기 위한 본 발명에 따른 휘처 기반 소프트웨어 제품라인 개발 환경을 제공하는 시스템은, 특정 영역에 대한 후보 휘처 모델들을 에디터 모듈을 통해 입력받아 공통점을 나타내는 필수 휘처, 차이점을 나타내는 선택적 휘처 및 택일적 휘처를 분류하여 트리(tree) 구조의 휘처 모델을 작성하는 휘처 모델 링 모듈과, 작성된 휘처 모델 중 필수 휘처 및 선택적, 택일적 휘처를 찾아서 그들의 관계 및 합성 법칙을 명세하도록 제공하고, 제공에 대응하여 입력되는 휘처 법칙을 휘처 모델에 적용하여 합성 법칙에 맞게 명세되어 있는지, 휘처들 간의 관계가 제대로 설정되어 있는지를 검증하는 휘처 모델 검증 모듈과, 검증된 휘처 모델을 가져와서 휘처들 중에서 응용 프로그램 개발 시 공통점을 표현하는 필수 휘처들과 차이점을 나타내는 선택적 휘처들을 선택하도록 제공하고, 제공에 대응하여 선택된 휘처 선택 정보를 휘처 법칙에 따라 검증 및 저장하는 휘처 선택 모듈을 포함하는 ASADAL/FORM과, 휘처 모델과 휘처 선택 정보를 기반으로 재사용 가능한 자산 컴포넌트 개발 지원과, 자산 컴포넌트를 매크로 처리하여 휘처 선택에 맞는 소프트웨어 컴포넌트를 생성하며, 컴포넌트에 대한 형상 관리를 지원하는 ASADAL/COMP와, 응용 프로그램 개발을 위한 아키텍처 모델링 및 운영 모델링과 자동 코드 생성, 가상 테스트 베드의 구축 및 시뮬레이션을 통한 검증을 수행하는 ASADAL/OBJ와, ASADAL/FORM, ASADAL/COMP 및 ASADAL/OBJ에 의해 생성된 데이터를 저장하는 ASADAL/ASSET DB와, ASADAL/ASSET DB에 저장된 데이터들 간의 일관성을 검증하는 ASADAL/ANALYZER를 포함하는 것을 특징으로 한다. The system for providing a feature-based software product line development environment according to the present invention for achieving the above object includes receiving candidate feature models for a specific region through an editor module, mandatory features representing commonalities, selective features representing differences, and A feature modeling module that classifies alternative features to create a tree-like feature model, finds the required features and optional features of the created feature model, and provides them to specify their relations and composite laws, A feature model validation module that applies corresponding feature laws to feature models to verify that they are specified according to the synthesis law and that the relationships between features are set correctly. Represent differences from essential features that express commonality in development ASADAL / FORM including feature selection module for providing selective feature selection and verifying and storing selected feature selection information in accordance with feature laws, and reusable asset components based on feature model and feature selection information ASADAL / COMP, which provides support, macros asset components to create feature components for feature selection, and supports configuration management for components, architecture modeling and operational modeling for application development, automatic code generation, and virtual test beds. Consistency between data stored in ASADAL / OBJ, ASADAL / FORM, ASADAL / COMP, and ASADAL / ASSET DB that stores data generated by ASADAL / FORM, ASADAL / COMP, and ASADAL / OBJ, and data stored in ASADAL / ASSET DB. Characterized by including ASADAL / ANALYZER to verify.

또한, 상술한 목적을 달성하기 위한 본 발명에 따른 휘처 기반 소프트웨어 제품라인 개발 환경을 제공하는 시스템은, 특정 영역에 대한 후보 휘처 모델들을 이용하여 휘처 모델을 작성하고, 작성된 휘처 모델을 찾아서 그들의 관계 및 합성 법칙을 명세 제공하고 제공에 대응하여 입력되는 휘처 법칙을 휘처 모델에 적용하여 합성 법칙에 맞게 명세되어 있는지를 검증하며, 검증된 휘처 모델을 가져와서 휘처들 중에서 응용 프로그램 개발 시 공통점을 표현하는 필수 휘처들과 차이점을 나타내는 선택적 휘처들을 선택하도록 제공하고 제공에 대응하여 선택된 휘처 선택 정보를 휘처 법칙에 따라 검증 및 저장하는 ASADAL/FORM과, 휘처 모델에서 정의된 필수 휘처들 중에서 휘처들 중에서 관련성이 높은 휘처들을 묶어 자산 컴포넌트를 정의하고, 자산 컴포넌트에 관련되는 선택적 휘처 및 택일적 휘처들이 존재하면 컴포넌트가 어떻게 대응해야 할지를 매크로(macro)를 사용하여 명세하도록 제공하며 제공에 대응하여 입력된 매크로 명세와 휘처의 관계를 설정하여 자산 컴포넌트를 작성하는 자산 컴포넌트 개발 모듈과, 매크로 사용시 발생하는 문법적인 오류와 명세의 유효성을 검증하는 자산 컴포넌트 검증 모듈과, 휘처 선택 정보에 기초하여 자산 컴포넌트 명세에 포함된 매크로를 처리하여 선택된 휘처들을 구현하는 코드로 변화시켜 소프트웨어 컴포넌트를 자동 생성하는 소프트웨어 컴포넌트 생성 모듈과, 소프트웨어 컴포넌트의 생성 시 사용된 휘처 선택 정보와 자산 컴포넌트 정보에 기초하여 생성된 형상관리 정보를 관리하며, 소프트웨어 컴포넌트에서 오류가 발생하는 경우에 그것이 생성된 휘처 모델과 자산 컴포넌트에 대한 역추적성을 제공하는 컴포넌트 형상관리 모듈을 포함하는 ASADAL/COMP와, 응용 프로그램 개발을 위한 아키텍처 모델링 및 운영 모델링과 자동 코드 생성, 가상 테스트 베드의 구축 및 시뮬레이션을 통한 검증을 수행하는 ASADAL/OBJ와, ASADAL/FORM, ASADAL/COMP 및 ASADAL/OBJ에 의해 생성된 데이터를 저장하는 ASADAL/ASSET DB와, ASADAL/ASSET DB에 저장된 데이터들 간의 일관성을 검증하는 ASADAL/ANALYZER를 포함하는 것을 특징으로 한다. In addition, the system for providing a feature-based software product line development environment according to the present invention for achieving the above object, by creating a feature model using candidate feature models for a specific area, find the created feature model and their relationship and Providing specification of synthesis law and applying feature law inputted in response to provision to feature model to verify whether it is specified according to composition law, and importing verified feature model to express commonality in application development among features. ASADAL / FORM, which provides for the selection of optional features representing differences from the features, and verifies and stores selected feature selection information in response to the feature, and among the required features defined in the feature model. Group features to define asset components, asset components It provides a macro to specify how the component should respond if there are optional features and alternative features related to the system, and creates an asset component by establishing a relationship between the input macro specification and the feature in response to the provision. The asset component development module, the asset component verification module for validating grammatical errors and specifications when using macros, and the macros included in the asset component specification based on the feature selection information are processed to implement the selected features. Software component generation module that automatically generates software components, and manages configuration management information generated based on the feature selection information and asset component information used when the software component is created, and generates them when an error occurs in the software component. Ture Performs ASADAL / COMP including component configuration management module that provides traceability for model and asset components, architectural modeling and operational modeling for application development, automatic code generation, and construction and simulation of virtual testbeds. Including ASADAL / OBJ, ASADAL / ASSET DB for storing data generated by ASADAL / FORM, ASADAL / COMP and ASADAL / OBJ, and ASADAL / ANALYZER for verifying consistency between data stored in ASADAL / ASSET DB. It is characterized by.

또한, 상술한 목적을 달성하기 위한 본 발명에 따른 휘처 기반 소프트웨어 제품라인 개발 환경을 제공하는 시스템은, 특정 영역에 대한 후보 휘처 모델들을 이용하여 휘처 모델을 작성하고, 작성된 휘처 모델을 찾아서 그들의 관계 및 합성 법칙을 명세 제공하고 제공에 대응하여 입력되는 휘처 법칙을 휘처 모델에 적용하여 합성 법칙에 맞게 명세되어 있는지를 검증하며, 검증된 휘처 모델을 가져와서 휘처들 중에서 응용 프로그램 개발 시 공통점을 표현하는 필수 휘처들과 차이점을 나타내는 선택적 휘처들을 선택하도록 제공하고 제공에 대응하여 선택된 휘처 선택 정보를 휘처 법칙에 따라 검증 및 저장하는 ASADAL/FORM과, 휘처 모델과 휘처 선택 정보를 기반으로 재사용 가능한 자산 컴포넌트 개발 지원과, 자산 컴포넌트를 매크로 처리하여 휘처 선택에 맞는 소프트웨어 컴포넌트를 생성하며, 컴포넌트에 대한 형상 관리를 지원하는 ASADAL/COMP와, 휘처 모델에 표현된 휘처의 비기능적 요소를 고려하여 소프트웨어 컴포넌트를 어떻게 배치할지를 설계하여 소프트웨어 아키텍처를 생성하는 소프트웨어 아키텍처 모델링 모듈과, 기능과 행위 명세 언어를 이용하여 응용 소프트웨어 고유의 컴포넌트에 대한 운영 모델을 생성하는 운영 모델링 모듈과, 소프트웨어 아키텍처 모델링 모듈 및 운영 모델링 모듈에서 생성된 소프트웨어 아키텍처 및 운영 모델에 포함된 명세의 불일치성 및 오류를 검증하는 모델 유효성 검증 모듈과, 운영 모델 및 아키텍쳐 모델을 기초로 하여 타겟 프로그램 언어로 제어 코드 및 시뮬레이션 코드를 생성하는 자동 코드 생성 모듈을 포함하는 ASADAL/OBJ와, ASADAL/FORM, ASADAL/COMP 및 ASADAL/OBJ에 의해 생성된 데이터를 저장하는 ASADAL/ASSET DB와, ASADAL/ASSET DB에 저장된 데이터들 간의 일관성을 검증하는 ASADAL/ANALYZER를 포함하는 것을 특징으로 한다. In addition, the system for providing a feature-based software product line development environment according to the present invention for achieving the above object, by creating a feature model using candidate feature models for a specific area, find the created feature model and their relationship and Providing specification of synthesis law and applying feature law inputted in response to provision to feature model to verify whether it is specified according to composition law, and importing verified feature model to express commonality in application development among features. ASADAL / FORM, which provides for the selection of optional features representing differences with features, and validates and stores selected feature selection information in accordance with feature laws, and supports the development of reusable asset components based on feature models and feature selection information. And macro-process asset components to select features Software architecture modeling that creates software architectures by creating software components that fit the requirements, designing how software components are laid out in consideration of the non-functional elements of features represented in the feature model and ASADAL / COMP that supports configuration management of the components. Inconsistencies between the modules, the operational modeling modules that generate functional models for application-specific components using the functional and behavioral specification language, and the specifications contained in the software architecture modeling modules and the software architectures and operational models generated by the operational modeling modules. ASADAL / OBJ, and ASADAL / FORM, ASADAL /, including a model validation module for verifying errors and an automatic code generation module for generating control and simulation code in a target programming language based on operational and architectural models. COMP and ASADAL ASADAL / ASSET DB for storing the data generated by / OBJ, and ASADAL / ANALYZER for verifying the consistency between the data stored in the ASADAL / ASSET DB.

또한, 상술한 목적을 달성하기 위한 본 발명에 따른 휘처 기반 소프트웨어 제품라인 개발 환경을 제공하는 시스템은, 특정 영역에 대한 후보 휘처 모델들을 이용하여 휘처 모델을 작성하고, 작성된 휘처 모델을 찾아서 그들의 관계 및 합성 법칙을 명세 제공하고 제공에 대응하여 입력되는 휘처 법칙을 휘처 모델에 적용하여 합성 법칙에 맞게 명세되어 있는지를 검증하며, 검증된 휘처 모델을 가져와서 휘처들 중에서 응용 프로그램 개발 시 공통점을 표현하는 필수 휘처들과 차이점을 나타내는 선택적 휘처들을 선택하도록 제공하고 제공에 대응하여 선택된 휘처 선택 정보를 휘처 법칙에 따라 검증 및 저장하는 ASADAL/FORM과, 휘처 모델과 휘처 선택 정보를 기반으로 재사용 가능한 자산 컴포넌트 개발 지원과, 자산 컴포넌트를 매크로 처리하여 휘처 선택에 맞는 소프트웨어 컴포넌트를 생성하며, 컴포넌트에 대한 형상 관리를 지원하는 ASADAL/COMP와, 응용 프로그램 개발을 위한 아키텍처 모델링 및 운영 모델링과 자동 코드 생성, 가상 테스트 베드의 구축 및 시뮬레이션을 통한 검증을 수행하는 ASADAL/OBJ와, ASADAL/FORM, ASADAL/COMP 및 ASADAL/OBJ에 의해 생성된 데이터를 저장하는 ASADAL/ASSET DB와, ASADAL/ASSET DB에 저장된 데이터들 간의 일관성을 검증하며, 휘처 모델과 자산 컴포넌트 간의 일관성을 검사하는 모듈과, 운영 모델의 일관성을 검사하는 모듈과, 아키텍처 모델과 소프트웨어 컴포넌트 간의 일관성을 검사하는 모듈과, 소프트웨어 컴포넌트와 운영 모델 간의 일관성을 검사하는 모듈을 포함하는 ASADAL/ANALYZER를 포함하는 것을 특징으로 한다. In addition, the system for providing a feature-based software product line development environment according to the present invention for achieving the above object, by creating a feature model using candidate feature models for a specific area, find the created feature model and their relationship and Providing specification of synthesis law and applying feature law inputted in response to provision to feature model to verify whether it is specified according to composition law, and importing verified feature model to express commonality in application development among features. ASADAL / FORM, which provides for the selection of optional features representing differences with features, and validates and stores selected feature selection information in accordance with feature laws, and supports the development of reusable asset components based on feature models and feature selection information. And macro-process asset components to select features ASADAL / COMP, which creates software components suitable for configuration, supports configuration management of components, and ASADAL performs architecture modeling and operational modeling for application development, automatic code generation, and construction and simulation of virtual test beds. Consistency between / OBJ, ASADAL / ASSET DB that stores data generated by ASADAL / FORM, ASADAL / COMP, and ASADAL / OBJ, and data stored in ASADAL / ASSET DB, and consistency between feature models and asset components Include ASADAL / ANALYZER, which includes a module that checks the consistency of the operational model, a module that checks the consistency of the architectural model and the software components, and a module that checks the consistency between the software and operational models. It features.

이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 휘처 기반 소프트웨어 제품라인 개발 환경인 아사달(ASADAL: A System Analysis and Design Aided tooL) 프레임워크의 구성을 나타내는 블록도이다. 본 발명에 따른 시스템은 다섯 개의 구성요소인 ASADAL/FORM(100), ASADAL/COMP(200), ASADAL/OBJ(300), ASADAL/ASSET DB(400) 및 ASADAL/ANALYZER(500)를 포함한다. 도 1에 도시된 시스템의 구성요소 중에서 ASADAL/FORM(100), ASADAL/COMP(200), ASADAL/OBJ(300) 및 ASADAL/ANALYZER(500)는 하나의 컴퓨터 또는 네트워크로 연결된 다수의 컴퓨터에서 실행될 수 있는 소프트웨어로 구현될 수 있다.1 is a block diagram showing the configuration of the ASADAL (A System Analysis and Design Aided too L) framework according to the present invention. The system according to the present invention includes five components, ASADAL / FORM 100, ASADAL / COMP 200, ASADAL / OBJ 300, ASADAL / ASSET DB 400 and ASADAL / ANALYZER 500. Among the components of the system shown in FIG. 1, ASADAL / FORM 100, ASADAL / COMP 200, ASADAL / OBJ 300, and ASADAL / ANALYZER 500 may run on one computer or on multiple computers connected by a network. Can be implemented in software.

본 발명에 따른 시스템에서, ASADAL/FORM(100)은 영역에 대한 휘처 모델링과 응용 프로그램에 해당하는 휘처를 선택하는 기능을 수행하며, ASADAL/COMP(200)는 자산 컴포넌트의 개발 지원과 매크로 프로세싱을 통한 소프트웨어 컴포넌트의 생성 및 컴포넌트 형상 관리 지원의 기능을 수행한다. ASADAL/OBJ(300)는 응용 소프트웨어 개발 지원을 위한 아키텍처 모델링 및 운영 모델링과 자동 코드 생성, 가상 테스트 베드의 구축 및 시뮬레이션을 통한 검증 기능을 제공한다. 또한, ASADAL/ASSET DB(400)는 이상에서 설명한 각 모듈에서 생성된 산출물을 저장하며, ASADAL/ANALYZER(500)는 ASADAL/ASSET DB(400)에 저장된 산출물들 간의 일관성을 검증한다.In the system according to the present invention, the ASADAL / FORM 100 performs the function of selecting the feature corresponding to the feature modeling and the application program for the area, and the ASADAL / COMP 200 supports the development and macro processing of the asset component. Performs the function of software component creation and component configuration management support. ASADAL / OBJ 300 provides architectural modeling and operational modeling to support application software development, automatic code generation, and verification by building and simulating a virtual test bed. In addition, the ASADAL / ASSET DB (400) stores the output generated in each module described above, the ASADAL / ANALYZER (500) verifies the consistency between the outputs stored in the ASADAL / ASSET DB (400).

이하에서는 본 발명에 따른 개발 프레임워크를 제공하는 시스템인 ASADAL을 구성하는 각 모듈을 자세히 설명한다.Hereinafter, each module constituting the ASADAL which is a system for providing a development framework according to the present invention will be described in detail.

ASADALASADAL /FORM/ FORM

본 발명에 따른 개발 프레임워크를 제공하는 시스템인 ASADAL의 ASADAL/FORM(100)의 구성 및 데이터 처리 흐름에 대하여 보다 상세하게 설명한다.The configuration and data processing flow of the ASADAL / FORM 100 of ASADAL, which is a system for providing a development framework according to the present invention, will be described in more detail.

ASADAL/FORM(100)은 휘처 모델링을 지원하는 에디터 모듈을 통해 제품라인 분석가에게 후보 휘처 모델 입력 인터페이스를 제공하고, 제품라인 분석가에 의해 입력되는 후보 휘처 모델들을 통해 휘처 모델을 작성한다. 여기서, 제품라인 분석가는 ASADAL/FORM(100)으로부터 인터페이스로 제공되는 에디터 모듈을 이용하여 도메인(또는 영역)을 분석하여 후보 휘처 모델들을 얻어 입력한다.The ASADAL / FORM 100 provides a candidate feature model input interface to a product line analyst through an editor module supporting feature modeling, and creates a feature model through candidate feature models input by the product line analyst. Here, the product line analyst analyzes a domain (or region) using an editor module provided as an interface from the ASADAL / FORM 100 to obtain and input candidate feature models.

즉, ASADAL/FORM(100)은 에디터 모듈을 통해 입력되는 후보 휘처 모델들을 이용하여 공통점을 나타내는 필수 휘처, 차이점을 나타내는 선택적 휘처 및 택일적 휘처를 분류하여 트리(tree) 구조의 휘처 모델을 작성한다. 여기서, 휘처(feature)는 특정 영역에 관련된 사람들이 관심을 가지는 영역 내에서의 속성 또는 특징을 의미한다. 예를 들어, 사용자 매뉴얼이나 소프트웨어 문서, 영역 전문가들 사이에 사용되는 용어들을 분석함으로써 휘처를 찾을 수 있다. 휘처 모델링(feature modeling)이란 많은 후보 휘처들 중에서 영역 범위에 속하는 시스템들 간의 공통점과 차이점을 나타내는 휘처들을 찾아서 그들의 관계 및 합성 법칙 등을 명세하는 과정을 말한다. 즉, 휘처 모델링이란 비슷한 종류의 시스템들 사이에서 공통적인 부분이 무엇이며, 어떠한 부분에서 차이가 나고, 앞으로 어떠한 차이가 발생할 것 인지를 명확히 하는 과정을 의미한다.That is, the ASADAL / FORM 100 creates a tree structure feature model by classifying essential features representing common points, optional features representing differences, and alternative features using candidate feature models input through the editor module. . Here, a feature refers to an attribute or a feature within an area of interest to people associated with a particular area. For example, a feature can be found by analyzing terms used between user manuals, software documentation, and domain experts. Feature modeling refers to a process of finding features representing commonalities and differences among systems belonging to an area range among many candidate features and specifying their relations and synthesis laws. In other words, feature modeling is the process of clarifying what is common among similar systems, what is different, and what will happen in the future.

다음으로, ASADAL/FORM(100)은 작성된 휘처 모델 중 시스템들 간의 공통점과 차이점을 나타내는 필수 휘처 및 선택적 휘처 등을 찾아서 그들의 관계 및 합성 법칙을 명세하도록, 제품라인 분석가에게 휘처 법칙 입력 인터페이스를 제공하고, 제품라인 분석가에 의해 입력되는 휘처 법칙을 휘처 모델에 적용하여 이 합성 법칙에 맞게 명세되어 있는지, 휘처들 간의 관계가 제대로 설정되어 있는지 등을 검증하고, 이 검증된 휘처 모델을 ASADAL/ASSET DB(400)에 저장한다. Next, ASADAL / FORM 100 provides the feature law input interface to the product line analyst to find the required features and optional features that represent the commonalities and differences among the systems among the created feature models, and to specify their relations and compositional laws. In addition, the feature law input by the product line analyst is applied to the feature model to verify that it is specified in accordance with this synthesis law and that the relationship between features is properly set up. 400).

다음으로, ASADAL/FORM(100)은 ASADAL/ASSET DB(400)에 저장되어 있는 휘처 모델을 가져와서 영역 내에 속하는 응용 프로그램의 요구 사항은 그 영역에 대한 휘처 모델에서 다양한 응용 프로그램에 대응될 수 있도록 차이점을 나타내는 휘처들 공통점을 표현하는 필수 휘처들을 선택하도록,응용 프로그램 개발자에게 휘처 선택 입력 인터페이스를 제공하고, 응용 프로그램 개발자의 분석에 의해 선택된 휘처 선택 정보를 휘처 법칙에 따라 검증한 휘처 선택 정보를 다시 ASADAL/ASSET DB(400)에 저장하여 다른 모듈이 사용할 수 있게 한다. Next, the ASADAL / FORM 100 imports the feature model stored in the ASADAL / ASSET DB 400 so that the requirements of the applications within the area can correspond to various applications in the feature model for the area. To provide the application developer with a feature selection input interface to select the required features representing the commonalities of the differences, and to recapture the feature selection information verified according to the feature law of the feature selection information selected by the application developer's analysis. Stored in the ASADAL / ASSET DB (400) for use by other modules.

ASADALASADAL /COMP/ COMP

본 발명에 따른 개발 프레임워크를 제공하는 시스템인 ASADAL의 ASADAL/COMP(200)의 기능 및 데이터 처리에 대하여 상세하게 설명한다.The function and data processing of ASADAL / COMP 200 of ASADAL, which is a system providing a development framework according to the present invention, will be described in detail.

즉, ASADAL/COMP(200)의 주요한 기능은, ASADAL/FORM(100)에서 만들어진 휘 처 모델과 휘처 선택 정보를 기반으로 재사용 가능한 자산 컴포넌트 개발 지원과, 자산 컴포넌트를 매크로 처리하여 휘처 선택에 맞는 소프트웨어 컴포넌트를 생성하는 것, 그리고 이러한 컴포넌트에 대한 형상 관리를 지원하는 것이다.That is, the main functions of the ASADAL / COMP 200 are support for reusable asset component development based on the feature model and feature selection information created in the ASADAL / FORM 100, and the software suitable for feature selection by macro processing the asset component. Creating components and supporting configuration management for those components.

이하에서는 ASADAL/COMP(200)의 주요 기능 중의 하나인 자산 컴포넌트의 개발 지원 과정을 자세히 설명한다. Hereinafter, the process of supporting the development of an asset component, which is one of the main functions of the ASADAL / COMP 200, will be described in detail.

ASADAL/COMP(200)는 자산 컴포넌트를 작성하기 위해서 ASADAL/ASSET DB(400)로부터 해당 도메인에 대해서 작성한 휘처 모델을 가져온다. ASADAL/COMP(200)는 ASADAL/ASSET DB(400)에서 가져온 휘처 모델에서 정의된 필수 휘처들 중에서 관련성이 높은 것들을 묶어서 이들을 구현하는 자산 컴포넌트를 정의하고, 그 자산 컴포넌트에 관련되는 선택적 휘처 및 택일적 휘처들이 존재한다면 그들의 선택 여부에 따라 컴포넌트가 어떻게 대응해야 할지를 매크로(macro)를 사용하여 명세하도록, 자산 개발자에게 휘처 선택에 따른 매크로 명세 입력 인터페이스를 제공하고, 자산 개발자에 의해 입력된 매크로 명세와 휘처의 관계를 설정하여 자산 컴포넌트를 작성하며, 이 작성된 자산 컴포넌트를 ASADAL/ASSET DB(400)에 저장하여 소프트웨어 컴포넌트 생성에 사용되도록 한다. 여기서, 자산 컴포넌트는 다양한 요구사항을 갖는 여러 응용 프로그램에서 재사용될 수 있도록, 휘처 모델에서 검색된 응용 프로그램들 간의 차이점을 나타내는 택일적 휘처 및 선택적 휘처를 중심으로, 그러한 휘처들이 선택되는 경우와 선택되지 않은 경우에 각각 적절히 대응할 수 있도록 작성되어야 한다.ASADAL / COMP 200 imports the feature model created for the domain from ASADAL / ASSET DB 400 to create an asset component. ASADAL / COMP 200 defines an asset component that implements them by grouping the relevant features among the mandatory features defined in the feature model taken from ASADAL / ASSET DB 400, and selects optional features and alternatives related to that asset component. It provides asset developers with a macro specification input interface for feature selection, using macros to specify how components should respond if features are present, according to their choice, and the macro specification and features entered by the asset developer. Create an asset component by setting the relationship between them and store the created asset component in ASADAL / ASSET DB (400) so that it can be used for creating software components. Here, the asset component can be reused in multiple applications with varying requirements, with alternative features and optional features representing differences between the applications retrieved from the feature model, with and without those features selected. Each case should be prepared to respond appropriately.

ASADAL/COMP(200)는 자산 컴포넌트 작성시 사용할 수 있는 휘처의 선택 여 부, 그에 따른 불필요한 코드의 제거 및 적절한 코드의 삽입을 지원하는 매크로들을 정의하는데, 자산 컴포넌트 검증 모듈은 매크로 작성시 생기는 문법적인 오류와 명세의 유효성을 검증할 수 있는 기능을 지원한다. 자산 컴포넌트를 검증하는 작업은 소프트웨어 컴포넌트 개발시 매크로 처리의 기초 작업이 되므로 매크로 처리 전에 필수적으로 수행되어야 한다.ASADAL / COMP (200) defines macros that support the selection of features that can be used when creating an asset component, thereby eliminating unnecessary code and inserting the appropriate code. It supports the ability to validate errors and specifications. Validating asset components must be performed before macro processing because it is the basic task of macro processing in software component development.

ASADAL/COMP(200)는 휘처의 선택 정보와 자산 컴포넌트를 ASADAL/ASSET DB(400)에서 가져오고, 이렇게 얻어진 휘처 선택 정보와 자산 컴포넌트를 바탕으로 자산 컴포넌트 명세에 포함된 매크로들을 그 의미에 맞게 처리하여, 선택되지 않은 휘처들을 구현하고 있는 코드들을 제거하고 선택된 휘처들을 구현하는 코드들을 적절히 변화시켜 소프트웨어 컴포넌트들을 자동 생성한다. 이렇게 생성된 소프트웨어 컴포넌트는 ASADAL/ASSET DB(400)에 저장되며, 휘처 선택 정보와 함께 형상 관리 모듈로 넘겨져 형상 관리된다.The ASADAL / COMP 200 imports the feature selection information and the asset component from the ASADAL / ASSET DB 400 and processes macros included in the asset component specification according to the meaning based on the feature selection information and the asset component thus obtained. Thus, software components are automatically generated by removing the code implementing the unselected features and changing the code implementing the selected features accordingly. The generated software component is stored in the ASADAL / ASSET DB 400, and is passed to the configuration management module along with the feature selection information to be managed.

즉, 형상관리 모듈은 소프트웨어 컴포넌트 생성시 사용된 휘처 선택 정보와 자산 컴포넌트 정보를 관리하여, 소프트웨어 컴포넌트에 문제점이 발견되었을 때 휘처 모델과 자산 컴포넌트에 대한 역추적성을 제공하고, 컴포넌트의 버전을 관리한다.That is, the configuration management module manages the feature selection information and the asset component information used when the software component is generated, and provides a traceback of the feature model and the asset component when a problem is found in the software component, and manages the version of the component. .

예를 들어, 만약 ASADAL/COMP(200)에서 작성한 소프트웨어 컴포넌트가 외부 모듈에서 사용되는 중에 문제가 발생되면, 사용자는 그 문제의 해결을 위해서 ASADAL/COMP(200)의 형상 관리 모듈에게 그 소프트웨어 컴포넌트의 휘처 선택 정보와 자산 컴포넌트의 버전 정보를 얻음으로써 이 소프트웨어 컴포넌트가 만들어지기 까지의 자취를 얻을 수 있다. 이러한 정보를 분석하면 소프트웨어 컴포넌트의 문제점을 야기한 근본적인 원인을 찾아서 수정된 소프트웨어 컴포넌트를 생성할 수 있다.For example, if a problem occurs while a software component created by the ASADAL / COMP 200 is used in an external module, the user may ask the configuration management module of the ASADAL / COMP 200 to solve the problem. By obtaining the feature selection information and the version information of the asset component, you can get a trace until the software component is created. By analyzing this information, you can find the root cause of the software component problem and create a modified software component.

ASADALASADAL /Of OBJOBJ

ASADAL/OBJ(300)는 크게 응용 프로그램에 대한 설계 및 구현과, 가상 테스트베드(test-bed) 상의 시뮬레이션을 통한 응용 프로그램에 대한 검증 작업을 수행한다. 또한, ASADAL/OBJ(300)에서 제어부는 시스템을 제어하기 위한 응용 프로그램을 개발 지원하기 위한 부분이며, 환경 객체 부분은 응용 프로그램이 실제로 배치되어 실행되는 가상 환경을 개발 지원하기 위한 부분이다.The ASADAL / OBJ 300 largely performs the design and implementation of the application and the verification of the application through simulation on a virtual test bed. In addition, the control unit in the ASADAL / OBJ 300 is a part for supporting the development of the application program for controlling the system, the environment object part is a part for the development support for the virtual environment in which the application is actually deployed and executed.

좀 더 구체적으로 설명하면, ASADAL/OBJ(300)는 응용 프로그램의 설계 및 구현 과정에서 이 응용 프로그램의 요구사항을 바탕으로 ASADAL/COMP(200)에서 생성된 소프트웨어 컴포넌트를 사용한다. ASADAL/OBJ(300)는 소프트웨어 컴포넌트들을 행위 및 기능 명세 언어를 이용하여 응용프로그램에서 사용되어 질 수 있도록 명세방법을 지원하며, 이들 컴포넌트들 및 ASADAL/COMP(200)에서 생성된 소프트웨어 컴포넌트의 관계를 표현하는 응용 소프트웨어 고유의 아키텍처 모델링 기능을 제공한다. 또한, 가상 테스트베드 상의 시뮬레이션을 통한 응용 프로그램의 검증은 ASADAL/OBJ(300)의 환경 객체 모델링을 통해 응용 프로그램을 테스팅할 가상환경을 명세하여 3차원 시뮬레이션을 통해 수행된다.In more detail, the ASADAL / OBJ 300 uses a software component generated by the ASADAL / COMP 200 based on the requirements of the application in the design and implementation of the application. ASADAL / OBJ (300) supports the specification method so that software components can be used in an application program using the behavior and functional specification language, and the relationship between these components and software components generated in ASADAL / COMP (200) It provides the architectural modeling function specific to the application software. In addition, the verification of the application through the simulation on the virtual test bed is performed through the three-dimensional simulation by specifying the virtual environment to test the application through the environment object modeling of the ASADAL / OBJ (300).

본 발명에 따른 휘처 기반 소프트웨어 재사용 개발 프레임워크를 제공하는 시스템인 ASADAL의 ASADAL/OBJ(300)의 제어부의 기능과 그 데이터 처리에 대하여 보다 상세하게 설명한다. The function of the control unit of the ASADAL / OBJ 300 of ASADAL, which is a system for providing a feature-based software reuse development framework according to the present invention, and its data processing will be described in more detail.

ASADAL/OBJ(300)는 현재 ASADAL/ASSET DB(400)에 저장된 운영 모델과 소프트웨어 컴포넌트를 효율적으로 적절하게 사용하여 응용 소프트웨어에 대해 어떤 아키텍처를 적용할 것인지를 결정하는 것이다. 이렇게 생성된 아키텍처 모델은 ASADAL/ASSET DB(400)에 저장된다.ASADAL / OBJ 300 is to determine which architecture to apply to the application software by efficiently and efficiently using the operating model and software components currently stored in the ASADAL / ASSET DB 400. The generated architecture model is stored in the ASADAL / ASSET DB (400).

*다음으로, ASADAL/OBJ(300)는 ASADAL/ASSET DB(400)에 저장되어 있는 시스템의 아키텍처를 참조하여 그 아키텍처에 맞게 시스템의 내부를 운영 모델링 명세할 수 있으며, 휘처 기반으로 생성된 소프트웨어 컴포넌트를 재사용하여 시스템을 구성할 수도 있다. ASADAL/OBJ(300)는 시스템 운영에 필요한 소프트웨어 컴포넌트를 사용할 수 있도록 하는 명세를 제공하므로 사용자는 편리하게 외부 소프트웨어 컴포넌트를 사용할 수 있다. 또한, ASADAL/ASSET DB(400)에 저장되어 있는 다른 시스템의 같은 기능을 가진 운영 모델을 재사용하여 사용할 수도 있다.* Next, ASADAL / OBJ (300) can refer to the architecture of the system stored in the ASADAL / ASSET DB (400) to specify the operating modeling of the interior of the system according to the architecture, software components generated based on the feature You can also reuse the system to construct the system. The ASADAL / OBJ 300 provides a specification for using the software components required for operating the system, so that the user can conveniently use the external software components. In addition, an operation model having the same function as that of another system stored in the ASADAL / ASSET DB 400 may be reused.

ASADAL/OBJ(300)는 운영 모델과 아키텍처 모델의 유효성을 검증함으로써, 자동 코드 생성시 발생할 수 있는 오류를 줄일 수 있으며 효율을 높일 수 있다.The ASADAL / OBJ 300 can reduce the errors that can occur during automatic code generation and improve the efficiency by validating the operational model and the architectural model.

본 발명에 따른 개발 프레임워크에서는 ASADAL/ASSET DB(400)에서 가져온 운영모델을 자동 코드 생성 모듈의 입력으로 하여 타겟 프로그램 언어로 편리하게 코드를 생성할 수 있다. 즉, 자동 코드 생성 모듈을 통해 사용자는 소프트웨어 개발 시간을 줄이고 코드 작성 시 생기는 여러 가지 문제를 쉽게 해결할 수 있는 환경을 제공한다. ASADAL/OBJ(300)는 3차원 가상 시뮬레이션에서 테스팅하기 위한 시뮬레이션 코드와 실제 시스템에 배치(embed)되어 작동할 제어 코드(target code)를 생성한다. 따라서, 시뮬레이션 코드는 가상 테스팅 시에 환경 객체와 맞물려 시뮬레이션할 수 있도록 생성되며, 제어 코드는 실제 시스템에 다운로드되어 실행될 수 있도록 생성된다.In the development framework according to the present invention, an operation model taken from the ASADAL / ASSET DB 400 can be conveniently generated as a target programming language by using an automatic code generation module as an input. In other words, the automatic code generation module reduces the software development time and provides an environment where users can easily solve various problems that occur when writing code. The ASADAL / OBJ 300 generates simulation code for testing in a 3D virtual simulation and control code to be embedded and operated in a real system. Therefore, the simulation code is generated to be simulated by interlocking with an environment object during virtual testing, and the control code is generated to be downloaded and executed on the actual system.

도 2는 본 발명에 따른 휘처 기반 소프트웨어 재사용 개발 프레임워크인 ASADAL의 ASADAL/OBJ(300)의 환경 객체(environment object)의 기능과 그 데이터 처리 흐름을 나타내는 블록도이다.Figure 2 is a block diagram showing the function of the environment object (environment object) of the ASADAL / OBJ 300 of ASADAL, which is a feature-based software reuse development framework according to the present invention and its data processing flow.

ASADAL/OBJ(300)의 큰 특징 중의 하나는 특정 소프트웨어가 배치되어 실행될 시스템을 가상으로 모델링할 수 있는 환경을 제공한다는 것이다. 이러한 환경은 자동 코드 생성을 통해 얻어진 코드가 실제 시스템에 배치되었을 때 제대로 동작할 수 있을지 테스트하기 위한 것으로, 실제 코드가 배치될 환경을 가상으로 모델링할 수 있다.One of the great features of the ASADAL / OBJ 300 is that it provides an environment for virtually modeling the system on which particular software is deployed and executed. This environment is designed to test whether the code obtained through automatic code generation can work properly when deployed on a real system. The environment can be modeled virtually.

도 2에서 환경 객체 모델링 모듈은 객체의 형태(shape)를 모델링하기 위해 여러 가지 모양을 가지는 시스템을 시각적으로 표현하기 위한 3차원 형태 모듈로 구성된다(S314). 이런 형태 모델은 운영 모델(S304)과 매치되어 가상 시뮬레이션 시에 실제 객체의 움직임을 가상으로 표현할 수 있다(S310).In FIG. 2, the environment object modeling module is composed of a three-dimensional shape module for visually representing a system having various shapes in order to model a shape of an object (S314). This shape model may be matched with the operation model S304 to virtually express the movement of the real object during the virtual simulation (S310).

도 3은 본 발명에 따른 휘처 기반 소프트웨어 재사용 개발 프레임워크인 ASADAL의 ASADAL/OBJ(300)의 I/O 매핑의 동작을 나타내기 위한 블록도이다. ASADAL/OBJ(300)에서는 제어부와 환경 객체 간의 데이터와 이벤트를 연결할 수 있는 가상 입출력(I/O) 매핑(S316)과 실제 시스템과 환경 객체 간의 데이터와 이벤트를 연결할 수 있는 실제 입출력(I/O) 매핑(S318)이 가능하다. ASADAL/OBJ(300)의 시뮬레이션 모듈은 제어 코드와 환경 객체 사이에서 데이터 및 이벤트를 연결시켜주는 입출력 대응 테이블(I/O mapping table) 모듈이 존재함으로써 제어 코드와 환경 객체가 맞물려 함께 시뮬레이션될 수 있도록 지원한다.3 is a block diagram illustrating the operation of I / O mapping of ASADAL / OBJ 300 of ASADAL, which is a feature-based software reuse development framework according to the present invention. In ASADAL / OBJ 300, a virtual input / output (I / O) mapping (S316) for connecting data and events between a control unit and an environment object and an actual input / output (I / O) for connecting data and events between a real system and an environment object ) Mapping (S318) is possible. The simulation module of ASADAL / OBJ 300 has an I / O mapping table module that connects data and events between control code and environment objects so that the control code and environment objects can be simulated together. Support.

도 4를 참조하면, 아키텍처 모델링과 운영 모델링을 통해서 얻은 응용 프로그램을 테스트하기 위해서 환경 모델링 모듈에서 응용 프로그램을 배치시킬 환경을 생성한 후, 이 둘 간의 데이터 및 이벤트를 매핑시키기 위해 I/O 매핑 모듈을 중간에 위치시킨다. 즉, 응용 프로그램 개발자는 ASADAL/OBJ(300)에서 제어부와 환경 객체를 모델링한 후, 이들 간에 이벤트와 데이터를 매핑시켜 시뮬레이션할 수 있는 I/O 매핑 모듈을 통해 연결한다(S320 내지 S324). 또한, ASADAL/OBJ(300)는 제어부와 환경 객체의 내부 명세를 입력으로 하여 실행 가능한 시뮬레이션 코드를 생성하여 시뮬레이션시키는 제어기 시뮬레이션 모듈(또는 엔진) 및 환경 시뮬레이션 모듈(또는 엔진)을 포함한다. 제어 코드를 시뮬레이션 시키는 엔진과 환경을 시뮬레이션 시키는 엔진이 서로 데이터와 이벤트를 주고받게 조정하는 I/O 핸들링 모듈을 지원함으로써 시각적이고 직관적인 소프트웨어 테스팅이 가능하다. 이러한 직관적인 테스팅을 통해 사용자는 제어 코드가 실제로 배치되었을 때 제대로 동작 가능한지 여부를 판단하고 시스템에서 예상되는 문제에 빠르게 대처할 수 있다.Referring to FIG. 4, in order to test an application obtained through architecture modeling and operational modeling, an environment modeling module generates an environment in which an application is to be deployed, and then I / O mapping module to map data and events between the two. In the middle. That is, the application programmer models the control unit and the environment object in the ASADAL / OBJ 300, and then connects the event and the data between them through an I / O mapping module that can be simulated (S320 to S324). Also, the ASADAL / OBJ 300 includes a controller simulation module (or engine) and an environment simulation module (or engine) for generating and simulating executable simulation code by inputting a control unit and an internal specification of an environment object. Visual and intuitive software testing is possible by supporting an engine that simulates control code and an I / O handling module that coordinates the exchange of data and events with each other. This intuitive testing allows the user to determine if the control code is actually working when it is actually deployed and to quickly cope with the problems expected in the system.

도 5는 본 발명에 따른 휘처 기반 소프트웨어 재사용 개발 프레임워크를 제 공하는 시스템인 ASADAL의 ASADAL/OBJ(300)와 실제 시스템 간의 시뮬레이션을 나타내는 구성도이다. 도 5를 참조하면, ASADAL/OBJ(300)는 ASADAL/ASSET DB(400)에서 타겟 코드를 실제 시스템(330)으로 다운로드 시킨 후, 실제 시스템(330)과 가상 환경 시뮬레이션(S328) 간의 데이터 및 이벤트를 매핑시키기 위해서 실제 I/O 매핑 모듈(S326)을 그들의 중간에 위치시킨다. 이렇게 실제 시스템이 실제 객체에 대해 보내는 데이터와 이벤트를 가상 환경에서 미리 테스팅할 수 있으므로 실제 기계에 배치하기 전에 코드가 제대로 동작 가능한지 여부를 테스팅할 수 있으며 테스팅 비용을 줄일 수 있다.5 is a block diagram showing a simulation between the actual system and the ASADAL / OBJ 300 of the ASADAL system that provides a feature-based software reuse development framework according to the present invention. Referring to FIG. 5, after the ASADAL / OBJ 300 downloads the target code from the ASADAL / ASSET DB 400 to the real system 330, data and events between the real system 330 and the virtual environment simulation S328. In order to map the real I / O mapping module (S326) is placed in the middle of them. In this way, data and events sent by real systems to real objects can be pretested in a virtual environment, enabling you to test whether your code can work properly before deploying on a real machine, and reduce your testing costs.

도 6은 본 발명에 따른 휘처 기반 소프트웨어 제품라인 개발 프레임워크를 제공하는 시스템인 ASADAL의 ASADAL/ANALYZER(500)의 구성을 나타내는 블록도이다. 본 발명에 따른 ASADAL/ANALYZER(500)는 ASADAL/ASSET DB(400)에 저장된 모델들 간의 일관성을 검사하는 것과, 해당 모델의 명세가 유효한지를 검사하는 기능을 수행한다. 즉, 자산 개발자로부터 일관성 검사 요청이 제공될 경우, ASADAL/ANALYZER(500)는 휘처 모델과 자산 컴포넌트 간의 일관성을 검증하고(S330), 응용 프로그램 개발자는 운영 모델 내부의 일관성, 아키텍처 모델과 소프트웨어 컴포넌트 간의 일관성, 소프트웨어 컴포넌트와 운영 모델 간의 일관성을 검증할 수 있다(S332 내지 S336). 이러한 모델 검사 기능은 설계 및 코드 생성 시 반드시 수행되는 과정으로, 이러한 과정이 없이는 자동적으로 생성된 코드의 올바른 동작을 보장할 수 없게 된다.6 is a block diagram showing the configuration of ASADAL / ANALYZER 500 of ASADAL, a system that provides a feature-based software product line development framework in accordance with the present invention. The ASADAL / ANALYZER 500 according to the present invention performs a function of checking consistency between models stored in the ASADAL / ASSET DB 400 and checking whether a specification of the corresponding model is valid. That is, if a consistency check request is provided from the asset developer, the ASADAL / ANALYZER 500 verifies the consistency between the feature model and the asset component (S330), and the application developer checks the consistency between the operational model, the architecture model, and the software component. Consistency, it is possible to verify the consistency between the software component and the operating model (S332 to S336). This model checking function is a process that must be performed during design and code generation. Without this process, automatic operation of automatically generated code cannot be guaranteed.

이상에서 설명한 ASADAL 프레임워크가 구체적으로 어떤 기능을 지원하는지를 (1) 자산 개발(asset development), (2) 응용 프로그램의 개발(application development), (3) 응용 프로그램 테스팅(application testing), (4) 응용 프로그램 유지 보수(application maintenance)의 관점에서 바라본 실시예를 통해서 살펴보도록 한다.Specifically, the ASADAL framework described above supports (1) asset development, (2) application development, (3) application testing, and (4) Let us look through the embodiment seen from the perspective of application maintenance (application maintenance).

제1실시예First embodiment : 자산 개발Asset Development

이상에서 설명한 본 발명에 따른 ASADAL의 모듈들을 이용해서 자산 컴포넌트를 개발하는 방법은 아래와 같다.A method of developing an asset component using the modules of the ASADAL according to the present invention described above is as follows.

즉, ASADAL 프레임워크는 휘처 중심으로 시스템에 의해 분석되는 것에 의해 기초로 한다. 즉, 자산 컴포넌트를 개발하기 전에, 영역에 대한 공통점과 차이점의 분석을 통해 후보 휘처들이 얻어지며, ASADAL/FORM(100)의 휘처 모델링 모듈에 의해 완성된 휘처 모델이 작성된다. 이어서, 휘처 모델 자체의 유효성이 검증된 후 검증된 휘처 모델이 ASADAL/ASSET DB(400)에 저장된다.In other words, the ASADAL framework is based on being analyzed by the system around the feature. That is, before developing an asset component, candidate features are obtained through analysis of commonalities and differences with respect to regions, and a completed feature model is created by the feature modeling module of the ASADAL / FORM 100. The validated feature model is then stored in the ASADAL / ASSET DB 400 after the feature model itself is validated.

ASADAL/COMP(200)에서는 영역 분석을 통해 얻어진 휘처 모델에 대해 컴포넌트 전체에 걸쳐 영향을 미치는 필수 휘처, 컴포넌트의 일부분에 영향을 미치는 선택적 휘처, 택일적으로 컴포넌트에 영향을 미치는 택일적 휘처들의 선택 가능성을 적절하게 대응할 수 있도록 매크로를 사용하여 자산 컴포넌트를 명세한다. 이렇게 얻어진 자산 컴포넌트는 자산 컴포넌트 검증 모듈에서 유효성을 검증하고 ASADAL/ASSET DB(400)에 저장한다. In the ASADAL / COMP 200, for the feature model obtained through the area analysis, the selection of mandatory features affecting the entire component, optional features affecting a part of the component, and alternative possibility of selecting alternative features affecting the component We use macros to specify asset components so that we can respond appropriately. The asset component thus obtained is validated by the asset component verification module and stored in the ASADAL / ASSET DB 400.

ASADAL/ANALYZER(500)는 휘처 기반으로 작성된 자산 컴포넌트가 일관성 있게 작성되었는지를 검증한다(도 6 참조).ASADAL / ANALYZER 500 verifies whether the asset component created on the basis of the feature has been created consistently (see FIG. 6).

제2실시예Second embodiment : 응용 프로그램 개발Application Development

도메인(또는 영역)에 대한 휘처 모델링을 수행할 경우, ASADAL/FORM(100)은 휘처 모델에서 시스템 요구사항을 만족시키는 휘처만을 선택한다. 그리고, 선택된 휘처 선택 정보는 ASADAL/ASSET DB(400)에 저장된다.When performing feature modeling for a domain (or region), ASADAL / FORM 100 selects only features that satisfy the system requirements in the feature model. The selected feature selection information is stored in the ASADAL / ASSET DB 400.

ASADAL/COMP(200)에서는 휘처의 선택 정보와 자산 컴포넌트를 ASADAL/ASSET DB(400)에서 가져와서 소프트웨어 컴포넌트의 생성을 위해 휘처 선택 정보를 자산 컴포넌트에 적절하게 대응시키는 매크로 처리(macro-processing) 작업을 수행한다. 즉, 사용자의 요구 사항에 맞게 선택된 휘처 선택 정보를 매크로 처리함으로써 선택된 휘처들을 구현하는 코드만 적용하여 완성된 소프트웨어 컴포넌트를 생성하는 것이다. 이렇게 만들어진 소프트웨어 컴포넌트는 ASADAL/COMP(200)의 형상관리 모듈을 통해 관리되며, 외부 모듈에서 재사용될 수 있도록 ASADAL/ASSET DB(400)에 저장된다.ASADAL / COMP (200) is a macro-processing operation to take the feature selection information and asset components from the ASADAL / ASSET DB (400) to properly match the feature selection information to the asset component for generation of software components Do this. In other words, by processing the feature selection information selected according to the requirements of the user by macro, only the code for implementing the selected features is applied to generate the completed software component. The software component thus created is managed through the configuration management module of ASADAL / COMP 200 and stored in the ASADAL / ASSET DB 400 so that it can be reused in an external module.

위에서 설명한 바와 같이 소프트웨어 컴포넌트가 생성되면, 다음으로 재사용 컴포넌트를 사용하여 응용 프로그램을 작성하는데 아키텍처 모델링, 운영 모델링 및 자동 코드 생성을 지원하는 ASADAL/OBJ(300)가 사용된다. 즉, ASADAL/OBJ(300)는 ASADAL/ASSET DB(400)에 저장된 재사용 가능한 여러 모델을 기반으로 하여 사용 자가 원하는 요구사항을 만족시키는 아키텍처 모델을 설계한다. 또한 시스템의 내부 운영 모델을 시스템의 내부 기능과 행위의 관점에서 명세한다. 기능 관점의 명세에서는 외부 소프트웨어 컴포넌트를 사용할 수 있도록 명세를 할 수 있어서 소프트웨어 컴포넌트를 재사용하여 시스템을 구성할 수 있다. 또한 작성된 아키텍처 모델과 운영 모델을 유효성 검증 모듈을 통해 그 유효성 검증을 수행할 수 있다.As described above, once the software component is created, the ASADAL / OBJ 300 is used to support architecture modeling, operational modeling, and automatic code generation to create applications using reusable components. That is, the ASADAL / OBJ 300 designs an architecture model that satisfies the requirements of the user based on the reusable models stored in the ASADAL / ASSET DB 400. It also specifies the internal operating model of the system in terms of its internal functions and behaviors. In the specification of the functional point of view, the specification can be made to use external software components so that the system can be configured by reusing the software components. In addition, the validation model can be validated through the validation module.

ASADAL/OBJ(300)에서 생성된 운영 모델을 자동 코드 생성 모듈의 입력이 되며, 실행 가능한 타켓 코드와 시뮬레이션 코드가 자동으로 생성된다. 이렇게 얻어진 시뮬레이션 코드는 가상 환경에서 제어부와 환경 객체가 서로 맞물려 돌아갈 수 있도록 하는 코드이며, 타겟 코드는 실제 시스템에 다운로드 되어 제어기능을 수행하는 코드이다. ASADAL/OBJ(300)에서 자동 생성된 실행 코드들은 응용 프로그램의 테스팅 단계에서 사용되며 ASADAL/ASSET DB(400)에 저장된다.The operation model generated by the ASADAL / OBJ 300 is an input of an automatic code generation module, and executable target codes and simulation codes are automatically generated. The simulation code thus obtained is a code that allows the controller and environment objects to interlock with each other in a virtual environment, and the target code is a code that is downloaded to an actual system and performs a control function. Execution codes automatically generated by the ASADAL / OBJ 300 are used in the testing phase of the application and are stored in the ASADAL / ASSET DB 400.

제3실시예Third embodiment : 응용 프로그램 : Application 테스팅Testing

응용 프로그램의 테스팅은 (i) 시뮬레이션 코드와 환경 객체를 통한 가상 시뮬레이션과, (ii) 타겟 코드를 실제 시스템에 다운로드하여 테스트하는 방식에 의해 이루어진다.Testing of the application is accomplished by (i) virtual simulations using simulation code and environment objects, and (ii) downloading and testing the target code on a real system.

먼저 가상 환경 시뮬레이션을 통한 테스팅은 ASADAL/OBJ(300)의 환경 모델링 모듈을 사용하여 프로그램이 배치되어 실행될 가상 환경을 명세한다(도 2의 S314 참조). 제어부의 코드와 환경 객체들 간의 데이터와 이벤트를 매핑하기 위해서 가 상 I/O 매핑 모듈을 통해 서로간의 데이터를 매핑시키고, 매핑 정보는 ASADAL/ASSET DB(400)에 저장된다(도 3의 S316 참조). 다음으로, ASADAL/OBJ(300)는 시스템을 제어하는 제어 소프트웨어와 제어 소프트웨어를 배치하여 가상 환경에서 테스트할 수 있도록 작성된 3차원 시뮬레이션 모듈을 통하여 제어 소프트웨어를 직관적으로 테스트할 수 있으며 이러한 가상 환경을 통해 자동 생성된 코드가 가상 환경에서 의도된 대로 작동되는지 검증한다(도 4의 S320 내지 S324 참조).Testing through a virtual environment simulation first specifies a virtual environment in which a program is placed and executed using the environment modeling module of the ASADAL / OBJ 300 (see S314 in FIG. 2). In order to map data and events between code of the control unit and environment objects, data is mapped to each other through a virtual I / O mapping module, and mapping information is stored in the ASADAL / ASSET DB 400 (see S316 of FIG. 3). ). Next, ASADAL / OBJ (300) can intuitively test the control software through a three-dimensional simulation module that can be placed in the virtual environment by placing the control software and control software to control the system, and through this virtual environment Verify that the automatically generated code is working as intended in the virtual environment (see S320 to S324 in FIG. 4).

*가상 환경 테스팅에서 실행 코드가 검증되었다면, 실행 코드를 실제 시스템에 다운로드하여 제대로 작동하는지 검증해야 한다. ASADAL/OBJ(300)는 실제 시스템과 가상 시뮬레이션 환경이 서로 데이터와 이벤트를 주고받을 수 있는 실제 I/O 매핑 정보를 가짐으로써 실행 코드가 실제 시스템에서 제대로 작동하는지 검증한다(도 5의 S326 참조).* If the executable code has been verified in virtual environment testing, you need to download the executable code to a real system and verify that it works. The ASADAL / OBJ 300 verifies that the execution code works properly in the real system by having real I / O mapping information that the real system and the virtual simulation environment can exchange data and events with each other (see S326 of FIG. 5). .

제4실시예Fourth embodiment : 응용 프로그램 유지보수: Application Maintenance

ASADAL/OBJ(300)의 가상 시뮬레이션에서 테스트의 결과가 예상과 다를 경우에는, 소프트웨어 컴포넌트에서 발생한 에러를 다음과 같은 방법을 통해 수정할 수 있다.If the result of the test in the virtual simulation of the ASADAL / OBJ 300 is different from the expected, the error occurred in the software component can be corrected through the following method.

(1) 먼저, 휘처 모델 자체에 수정이 필요할 경우, ASADAL/FORM(100)은 휘처 모델 자체를 수정할 수 있으며, 이렇게 수정된 휘처 모델을 ASADAL/ASSET DB(400) 에 저장하고, ASADAL/COMP(200)에서 소프트웨어 컴포넌트를 다시 생성한다.(1) First, if the feature model itself needs to be modified, the ASADAL / FORM 100 may modify the feature model itself, and store the modified feature model in the ASADAL / ASSET DB (400), and select ASADAL / COMP ( Regenerate the software component at 200).

(2) 휘처 모델의 수정이 필요하지 않은 경우에는, 자산 컴포넌트에 수정이 필요한지 고려한다. 자산 컴포넌트에 수정이 필요한 경우에는 ASADAL/COMP(200)에서 수정하여 ASADAL/ASSET DB(400)에 저장하고, ASADAL/COMP(200)에서 소프트웨어 컴포넌트를 다시 생성한다.(2) If modification of the feature model is not required, consider whether the asset component needs modification. If the asset component needs to be modified, it is modified in ASADAL / COMP (200), stored in ASADAL / ASSET DB (400), and the software component is regenerated in ASADAL / COMP (200).

(3) 휘처 모델과 자산 컴포넌트에 수정이 필요하지 않은 경우에는, ASADAL/OBJ(300)에서 운영 모델링 모듈을 통해 내부 명세를 수정한다.(3) If the feature model and asset component do not require modification, the ASADAL / OBJ 300 modifies the internal specification through the operational modeling module.

위와 같은 방법을 통하여 소프트웨어 컴포넌트에서 발생한 문제를 찾아낸 후, ASADAL/OBJ(300)는 코드 자동 생성을 통해 수정된 코드를 가지고 가상 환경에서 테스트하여 소프트웨어를 개발할 수 있다.After finding the problem occurring in the software component through the above method, the ASADAL / OBJ 300 may develop the software by testing in a virtual environment with the modified code through automatic code generation.

이상에서 설명한 바와 같이, 본 발명에 따른 휘처 기반 소프트웨어 재사용 개발 환경을 제공하는 시스템인 ASADAL은 비슷한 시스템을 이루는 영역 내의 시스템들의 기능적, 환경적, 기술적 및 구현적 공통점과 차이점을 명확히 분석하여 컴포넌트 개발에 반영함으로써 컴포넌트의 재사용성과 적응가능성을 높이는 이점을 가진다.As described above, ASADAL, a system that provides a feature-based software reuse development environment according to the present invention, clearly analyzes the functional, environmental, technical, and implementation commonalities and differences of systems in a domain forming a similar system to develop components. Reflecting has the advantage of increasing the reusability and adaptability of the component.

또한, 본 발명에 따른 개발 환경에서는 소프트웨어의 개발 초기 단계에서부터 모델을 검증하고, 시뮬레이션을 통해 모델의 오류를 찾아낼 수 있다. 따라서, 이러한 분석을 통해 모델의 신뢰도를 높일 수 있고, 소프트웨어 개발 초기 단계에 중대한 오류를 검사할 수 있으므로 개발비용을 크게 줄일 수 있는 효과가 있다.In addition, in the development environment according to the present invention, the model can be verified from the initial stage of software development, and errors of the model can be found through simulation. Therefore, this analysis can increase the reliability of the model and can significantly reduce the development cost because it can check for critical errors in the early stages of software development.

본 발명에 따른 3차원 시뮬레이션을 통한 소프트웨어 검사는 실제 현실 세계와 유사한 환경을 3차원 모델링을 통해서 구축하고 이를 바탕으로 소프트웨어 검사 및 평가를 수행하므로, 다양한 검사를 적은 비용으로 수행할 수 있는 장점이 있다. 특히, 실시간 제어 시스템은 임베디드 시스템(embedded system)인 경우가 대부분이므로, 외부의 하드웨어 환경과 내부 소프트웨어 시스템이 정상적으로 상호작용 하는지를 소프트웨어적으로 검사하고 평가하는 일이 소프트웨어의 신뢰도를 높일 수 있을 뿐만 아니라 시스템의 검사비용도 크게 줄일 수 있다.Software inspection through the three-dimensional simulation according to the present invention has the advantage that can perform a variety of inspection at a low cost since the environment similar to the real world is built through the three-dimensional modeling and performing the software inspection and evaluation based on this . In particular, since a real-time control system is often an embedded system, software inspection and evaluation of an external hardware environment and an internal software system can enhance the reliability of the software. Inspection costs can also be significantly reduced.

본 발명에 따른 개발 환경은 소프트웨어 분석, 설계, 구현 및 테스팅의 단계를 모두 지원하는 체계적인 프레임워크를 제공함으로써 각 단계마다 의미 있는 산출물을 얻을 수 있는 효과가 있다. 또한, 본 발명에 따른 개발 환경은 소프트웨어의 효율적인 재사용이 기능하도록 설계되어 있으며, 이러한 재사용 기법은 여러 분야의 소프트웨어 개발에 광범위하게 적용될 수 있다.The development environment according to the present invention provides a systematic framework that supports all steps of software analysis, design, implementation, and testing, thereby obtaining meaningful output at each step. In addition, the development environment according to the present invention is designed such that efficient reuse of software functions, and this reuse technique can be widely applied to software development in various fields.

Claims (11)

휘처 기반 소프트웨어 제품라인 개발 환경을 제공하는 시스템으로서, A system that provides a feature-based software product line development environment. 특정 영역에 대한 후보 휘처 모델들을 에디터 모듈을 통해 입력받아 공통점을 나타내는 필수 휘처, 차이점을 나타내는 선택적 휘처 및 택일적 휘처를 분류하여 트리(tree) 구조의 휘처 모델을 작성하는 휘처 모델링 모듈과, 상기 작성된 휘처 모델 중 필수 휘처 및 선택적 택일적 휘처를 찾아서 그들의 관계 및 합성 법칙을 명세하도록 제공하고, 상기 제공에 대응하여 입력되는 휘처 법칙을 상기 휘처 모델에 적용하여 합성 법칙에 맞게 명세되어 있는지, 휘처들 간의 관계가 제대로 설정되어 있는지를 검증하는 휘처 모델 검증 모듈과, 상기 검증된 휘처 모델을 가져와서 상기 휘처들 중에서 응용 프로그램 개발 시 공통점을 표현하는 필수 휘처들과 차이점을 나타내는 선택적 휘처들을 선택하도록 제공하고, 상기 제공에 대응하여 선택된 휘처 선택 정보를 휘처 법칙에 따라 검증 및 저장하는 휘처 선택 모듈을 포함하는 ASADAL/FORM과,A feature modeling module for inputting candidate feature models for a specific region through an editor module to create a feature model of a tree structure by classifying essential features representing commonalities, optional features representing differences, and alternative features; Find the required features and optional alternative features among the feature models, and specify their relations and composite laws, and apply the feature laws inputted in response to the provisions to the feature models to ensure that they are specified according to the composite law. A feature model verification module that verifies that the relationship is properly established, and imports the validated feature model to select among the features to select required features representing differences from essential features expressing commonalities in application development, Feature selection information selected in response to the provision; ASADAL / FORM including a feature selection module for verifying and storing according to the feature law; 상기 휘처 모델과 휘처 선택 정보를 기반으로 재사용 가능한 자산 컴포넌트 개발 지원과, 자산 컴포넌트를 매크로 처리하여 휘처 선택에 맞는 소프트웨어 컴포넌트를 생성하며, 상기 컴포넌트에 대한 형상 관리를 지원하는 ASADAL/COMP와,ASADAL / COMP that supports reusable asset component development based on the feature model and feature selection information, macro-processes the asset component to create a software component suitable for feature selection, and supports configuration management for the component; 상기 응용 프로그램 개발을 위한 아키텍처 모델링 및 운영 모델링과 자동 코드 생성, 가상 테스트 베드의 구축 및 시뮬레이션을 통한 검증을 수행하는 ASADAL/OBJ와,ASADAL / OBJ, which performs architecture modeling and operational modeling for the application development, automatic code generation, and verification by building and simulating a virtual test bed; 상기 ASADAL/FORM, ASADAL/COMP 및 ASADAL/OBJ에 의해 생성된 데이터를 저장하는 ASADAL/ASSET DB와,An ASADAL / ASSET DB for storing data generated by the ASADAL / FORM, ASADAL / COMP and ASADAL / OBJ; 상기 ASADAL/ASSET DB에 저장된 데이터들 간의 일관성을 검증하는 ASADAL/ANALYZERASADAL / ANALYZER for verifying consistency between data stored in the ASADAL / ASSET DB 를 포함하는 시스템.System comprising a. 제 1 항에 있어서,The method of claim 1, 상기 휘처 모델링 모듈에 의해 생성된 휘처 모델과, 상기 휘처 선택 모듈에 의해 생성된 휘처 선택 정보는 상기 ASADAL/ASSET DB에 저장되는 것을 특징으로 하는The feature model generated by the feature modeling module and the feature selection information generated by the feature selection module are stored in the ASADAL / ASSET DB. 시스템.system. 휘처 기반 소프트웨어 제품라인 개발 환경을 제공하는 시스템으로서, A system that provides a feature-based software product line development environment. 특정 영역에 대한 후보 휘처 모델들을 이용하여 휘처 모델을 작성하고, 상기 작성된 휘처 모델을 찾아서 그들의 관계 및 합성 법칙을 명세 제공하고 상기 제공에 대응하여 입력되는 휘처 법칙을 상기 휘처 모델에 적용하여 합성 법칙에 맞게 명세되어 있는지를 검증하며, 상기 검증된 휘처 모델을 가져와서 상기 휘처들 중에서 응용 프로그램 개발 시 공통점을 표현하는 필수 휘처들과 차이점을 나타내는 선택적 휘처들을 선택하도록 제공하고 상기 제공에 대응하여 선택된 휘처 선택 정보를 휘처 법칙에 따라 검증 및 저장하는 ASADAL/FORM과,Create a feature model using candidate feature models for a specific area, find the created feature model, provide their relations and synthesis laws, and apply the feature laws entered in response to the provision to the feature model Import the validated feature model to provide a selection of optional features that represent differences from the required features expressing commonalities in application development and selecting the selected features in response to the provision; ASADAL / FORM for verifying and storing information in accordance with the law of infractions, 상기 휘처 모델에서 정의된 필수 휘처들 중에서 휘처들 중에서 관련성이 높은 휘처들을 묶어 자산 컴포넌트를 정의하고, 상기 자산 컴포넌트에 관련되는 선택적 휘처 및 택일적 휘처들이 존재하면 컴포넌트가 어떻게 대응해야 할지를 매크로(macro)를 사용하여 명세하도록 제공하며 상기 제공에 대응하여 입력된 매크로 명세와 휘처의 관계를 설정하여 자산 컴포넌트를 작성하는 자산 컴포넌트 개발 모듈과, 상기 매크로 사용시 발생하는 문법적인 오류와 명세의 유효성을 검증하는 자산 컴포넌트 검증 모듈과, 상기 휘처 선택 정보에 기초하여 자산 컴포넌트 명세에 포함된 매크로를 처리하여 선택된 휘처들을 구현하는 코드로 변화시켜 소프트웨어 컴포넌트를 자동 생성하는 소프트웨어 컴포넌트 생성 모듈과, 상기 소프트웨어 컴포넌트의 생성 시 사용된 휘처 선택 정보와 자산 컴포넌트 정보에 기초하여 생성된 형상관리 정보를 관리하며, 상기 소프트웨어 컴포넌트에서 오류가 발생하는 경우에 그것이 생성된 휘처 모델과 자산 컴포넌트에 대한 역추적성을 제공하는 컴포넌트 형상관리 모듈을 포함하는 ASADAL/COMP와,An asset component is defined by grouping relevant features among features required among the required features defined in the feature model, and if the optional features and alternative features related to the asset component exist, a macro of how the component should respond An asset component development module for creating an asset component by setting a relationship between an input macro specification and a feature in response to the provision, and an asset for validating a grammatical error and specification occurring when the macro is used; A component verification module and a software component generation module for automatically generating a software component by processing a macro included in the asset component specification based on the feature selection information and converting the selected macro into code for implementing the selected features, and when generating the software component. Manages the configuration management information generated on the basis of the selected feature selection information and asset component information, and provides a component configuration management module that provides backtrace of the generated feature model and asset component when an error occurs in the software component. With ASADAL / COMP, 상기 응용 프로그램 개발을 위한 아키텍처 모델링 및 운영 모델링과 자동 코드 생성, 가상 테스트 베드의 구축 및 시뮬레이션을 통한 검증을 수행하는 ASADAL/OBJ와,ASADAL / OBJ, which performs architecture modeling and operational modeling for the application development, automatic code generation, and verification by building and simulating a virtual test bed; 상기 ASADAL/FORM, ASADAL/COMP 및 ASADAL/OBJ에 의해 생성된 데이터를 저장하는 ASADAL/ASSET DB와,An ASADAL / ASSET DB for storing data generated by the ASADAL / FORM, ASADAL / COMP and ASADAL / OBJ; 상기 ASADAL/ASSET DB에 저장된 데이터들 간의 일관성을 검증하는 ASADAL/ANALYZERASADAL / ANALYZER for verifying consistency between data stored in the ASADAL / ASSET DB 를 포함하는 시스템.System comprising a. 제 3 항에 있어서,The method of claim 3, wherein 상기 자산 컴포넌트 개발 모듈은 상기 ASADAL/ASSET DB에서 상기 휘처 모델을 전달받아 상기 자산 컴포넌트를 생성하며, 상기 생성된 자산 컴포넌트를 상기 ASADAL/ASSET DB에 저장하며,The asset component development module receives the feature model from the ASADAL / ASSET DB to generate the asset component, and stores the generated asset component in the ASADAL / ASSET DB. 상기 소프트웨어 컴포넌트 생성 모듈은 상기 ASADAL/ASSET DB에서 상기 휘처 선택 정보와 상기 자산 컴포넌트를 전달받아 상기 소프트웨어 컴포넌트를 생성하며, 상기 생성된 소프트웨어 컴포넌트를 상기 ASADAL/ASSET DB에 저장하며,The software component generation module receives the feature selection information and the asset component from the ASADAL / ASSET DB to generate the software component, and stores the generated software component in the ASADAL / ASSET DB. 상기 형상관리 모듈에서 생성된 상기 형상관리 정보는 상기 ASADAL/ASSET DB에 저장되는 것을 특징으로 하는The configuration management information generated by the configuration management module is stored in the ASADAL / ASSET DB, characterized in that 시스템.system. 휘처 기반 소프트웨어 제품라인 개발 환경을 제공하는 시스템으로서,A system that provides a feature-based software product line development environment. 특정 영역에 대한 후보 휘처 모델들을 이용하여 휘처 모델을 작성하고, 상기 작성된 휘처 모델을 찾아서 그들의 관계 및 합성 법칙을 명세 제공하고 상기 제공에 대응하여 입력되는 휘처 법칙을 상기 휘처 모델에 적용하여 합성 법칙에 맞게 명세되어 있는지를 검증하며, 상기 검증된 휘처 모델을 가져와서 상기 휘처들 중에서 응용 프로그램 개발 시 공통점을 표현하는 필수 휘처들과 차이점을 나타내는 선택적 휘처들을 선택하도록 제공하고 상기 제공에 대응하여 선택된 휘처 선택 정보 를 휘처 법칙에 따라 검증 및 저장하는 ASADAL/FORM과,Create a feature model using candidate feature models for a specific area, find the created feature model, provide their relations and synthesis laws, and apply the feature laws entered in response to the provision to the feature model Import the validated feature model to provide a selection of optional features that represent differences from the required features expressing commonalities in application development and selecting the selected features in response to the provision; ASADAL / FORM for verifying and storing information in accordance with the law of function; 상기 휘처 모델과 휘처 선택 정보를 기반으로 재사용 가능한 자산 컴포넌트 개발 지원과, 자산 컴포넌트를 매크로 처리하여 휘처 선택에 맞는 소프트웨어 컴포넌트를 생성하며, 상기 컴포넌트에 대한 형상 관리를 지원하는 ASADAL/COMP와,ASADAL / COMP that supports reusable asset component development based on the feature model and feature selection information, macro-processes the asset component to create a software component suitable for feature selection, and supports configuration management for the component; 상기 휘처 모델에 표현된 휘처의 비기능적 요소를 고려하여 소프트웨어 컴포넌트를 어떻게 배치할지를 설계하여 소프트웨어 아키텍처를 생성하는 소프트웨어 아키텍처 모델링 모듈과, 기능과 행위 명세 언어를 이용하여 응용 소프트웨어 고유의 컴포넌트에 대한 운영 모델을 생성하는 운영 모델링 모듈과, 상기 소프트웨어 아키텍처 모델링 모듈 및 운영 모델링 모듈에서 생성된 소프트웨어 아키텍처 및 운영 모델에 포함된 명세의 불일치성 및 오류를 검증하는 모델 유효성 검증 모듈과, 상기 운영 모델 및 아키텍쳐 모델을 기초로 하여 타겟 프로그램 언어로 제어 코드 및 시뮬레이션 코드를 생성하는 자동 코드 생성 모듈을 포함하는 ASADAL/OBJ와,A software architecture modeling module that creates a software architecture by designing how to place software components in consideration of the non-functional elements of the features represented in the feature model, and an operation model for application-specific components using a function and behavior specification language. An operating modeling module for generating a model, a model validation module for verifying inconsistencies and errors in specifications included in the software architecture modeling module and the operating modeling module, and a model validation module based on the operating model and architecture model ASADAL / OBJ including an automatic code generation module for generating control code and simulation code in a target programming language, 상기 ASADAL/FORM, ASADAL/COMP 및 ASADAL/OBJ에 의해 생성된 데이터를 저장하는 ASADAL/ASSET DB와,An ASADAL / ASSET DB for storing data generated by the ASADAL / FORM, ASADAL / COMP and ASADAL / OBJ; 상기 ASADAL/ASSET DB에 저장된 데이터들 간의 일관성을 검증하는 ASADAL/ANALYZERASADAL / ANALYZER for verifying consistency between data stored in the ASADAL / ASSET DB 를 포함하는 시스템.System comprising a. 제 5 항에 있어서,The method of claim 5, 상기 ASADAL/OBJ는,The ASADAL / OBJ, 상기 응용 프로그램이 배치되어 실행될 시스템을 가상으로 모델링하여 환경 객체를 생성하는 환경 객체 모델링 모듈,An environment object modeling module for generating an environment object by virtually modeling a system in which the application is to be executed and executed; 상기 제어 코드를 상기 시스템을 제어하기 위한 응용 프로그램을 개발하는 제어부에서 실행하는 제어기 시뮬레이션 모듈,A controller simulation module for executing the control code in a controller for developing 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 for connecting data and events transmitted and received between the controller simulation module and the environment simulation module; 상기 시스템과 상기 환경 시뮬레이션 모듈 간에 송수신되는 데이터와 이벤트를 연결하는 실제 입출력 매핑 모듈을 더 포함하는 것을 특징으로 하는And an actual input / output mapping module for connecting data and events transmitted and received between the system and the environment simulation module. 시스템.system. 제 6 항에 있어서,The method of claim 6, 상기 환경 객체 모델링 모듈은 상기 환경 객체의 형태를 모델링하기 위해 여러 가지 모양을 가지는 시스템을 시각적으로 표현하기 위한 3차원 형태를 생성하며, 상기 환경 시뮬레이션 모듈은 상기 3차원 형태를 상기 운영 모델과 매치하여 3차원 시뮬레이션을 수행하는 것을 특징으로 하는The environment object modeling module generates a three-dimensional shape for visually representing a system having various shapes to model the shape of the environment object, and the environment simulation module matches the three-dimensional shape with the operational model. Characterized in that to perform a three-dimensional simulation 시스템. system. 제 6 항에 있어서,The method of claim 6, 상기 시스템은 상기 실제 입출력 매핑 모듈을 통하여 상기 환경 시뮬레이션 모듈과 이벤트와 데이터의 통신을 수행하여 시뮬레이션을 수행하는 것을 특징으로 하는The system may perform a simulation by communicating an event and data with the environment simulation module through the actual input / output mapping module. 시스템.system. 제 5 항에 있어서,The method of claim 5, 상기 운영 모델링 모듈은 기능 명세의 방법을 통하여 상기 시스템의 외부에서 입력되는 재사용 가능한 소프트웨어 컴포넌트를 사용하는 것을 특징으로 하는 The operational modeling module uses reusable software components input from the outside of the system through a method of functional specification. 시스템.system. 제 5 항에 있어서,The method of claim 5, 상기 소프트웨어 아키텍처 모델링 모듈은 생성된 소프트웨어 아키텍처를 상기 ASADAL/ASSET DB에 저장하며,The software architecture modeling module stores the generated software architecture in the ASADAL / ASSET DB, 상기 운영 모델링 모듈은 상기 ASADAL/ASSET DB에 저장된 상기 소프트웨어 아키텍처를 전달받아 상기 운영 모델을 생성하고, 상기 생성된 운영 모델을 상기 ASADAL/ASSET DB에 저장하는 것을 특징으로 하는The operational modeling module receives the software architecture stored in the ASADAL / ASSET DB, generates the operational model, and stores the generated operational model in the ASADAL / ASSET DB. 시스템.system. 휘처 기반 소프트웨어 제품라인 개발 환경을 제공하는 시스템으로서,A system that provides a feature-based software product line development environment. 특정 영역에 대한 후보 휘처 모델들을 이용하여 휘처 모델을 작성하고, 상기 작성된 휘처 모델을 찾아서 그들의 관계 및 합성 법칙을 명세 제공하고 상기 제공에 대응하여 입력되는 휘처 법칙을 상기 휘처 모델에 적용하여 합성 법칙에 맞게 명세되어 있는지를 검증하며, 상기 검증된 휘처 모델을 가져와서 상기 휘처들 중에서 응용 프로그램 개발 시 공통점을 표현하는 필수 휘처들과 차이점을 나타내는 선택적 휘처들을 선택하도록 제공하고 상기 제공에 대응하여 선택된 휘처 선택 정보를 휘처 법칙에 따라 검증 및 저장하는 ASADAL/FORM과,Create a feature model using candidate feature models for a specific area, find the created feature model, provide their relations and synthesis laws, and apply the feature laws entered in response to the provision to the feature model Import the validated feature model to provide a selection of optional features that represent differences from the required features expressing commonalities in application development and selecting the selected features in response to the provision; ASADAL / FORM for verifying and storing information in accordance with the law of infractions, 상기 휘처 모델과 휘처 선택 정보를 기반으로 재사용 가능한 자산 컴포넌트 개발 지원과, 자산 컴포넌트를 매크로 처리하여 휘처 선택에 맞는 소프트웨어 컴포넌트를 생성하며, 상기 컴포넌트에 대한 형상 관리를 지원하는 ASADAL/COMP와,ASADAL / COMP that supports reusable asset component development based on the feature model and feature selection information, macro-processes the asset component to create a software component suitable for feature selection, and supports configuration management for the component; 상기 응용 프로그램 개발을 위한 아키텍처 모델링 및 운영 모델링과 자동 코드 생성, 가상 테스트 베드의 구축 및 시뮬레이션을 통한 검증을 수행하는 ASADAL/OBJ와,ASADAL / OBJ, which performs architecture modeling and operational modeling for the application development, automatic code generation, and verification by building and simulating a virtual test bed; 상기 ASADAL/FORM, ASADAL/COMP 및 ASADAL/OBJ에 의해 생성된 데이터를 저장하는 ASADAL/ASSET DB와,An ASADAL / ASSET DB for storing data generated by the ASADAL / FORM, ASADAL / COMP and ASADAL / OBJ; 상기 ASADAL/ASSET DB에 저장된 데이터들 간의 일관성을 검증하며, 상기 휘처 모델과 상기 자산 컴포넌트 간의 일관성을 검사하는 모듈과, 운영 모델의 일관성을 검사하는 모듈과, 상기 아키텍처 모델과 상기 소프트웨어 컴포넌트 간의 일관성을 검사하는 모듈과, 상기 소프트웨어 컴포넌트와 상기 운영 모델 간의 일관성을 검사하는 모듈을 포함하는 ASADAL/ANALYZERA module for verifying consistency between data stored in the ASADAL / ASSET DB, a module for checking consistency between the feature model and the asset component, a module for checking the consistency of an operational model, and a consistency between the architecture model and the software component ASADAL / ANALYZER including a module to check and a module to check consistency between the software component and the operational model. 를 포함하는 시스템.System comprising a.
KR1020070035518A 2007-04-11 2007-04-11 Asadal : system for providing feature-oriented software product line engineering environment KR20070049126A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070035518A KR20070049126A (en) 2007-04-11 2007-04-11 Asadal : system for providing feature-oriented software product line engineering environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070035518A KR20070049126A (en) 2007-04-11 2007-04-11 Asadal : system for providing feature-oriented software product line engineering environment

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020050056305A Division 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
KR20070049126A true KR20070049126A (en) 2007-05-10

Family

ID=38273235

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070035518A KR20070049126A (en) 2007-04-11 2007-04-11 Asadal : system for providing feature-oriented software product line engineering environment

Country Status (1)

Country Link
KR (1) KR20070049126A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100890861B1 (en) * 2008-03-04 2009-03-27 정병수 Construction method for framework of 3 dimensional application program and implementation method for application program thereof
WO2009110725A2 (en) * 2008-03-04 2009-09-11 주식회사 코드에스이 Three-dimensional application program framework structure and a method for implementing an application program based on the same, and an automatic testing system based on a three-dimensional application software framework and a method therefor
KR20180117486A (en) * 2017-04-19 2018-10-29 국방과학연구소 System for integrated management of service
KR101996382B1 (en) * 2018-02-14 2019-07-03 동서대학교 산학협력단 System for Data Analysis of University Information Based on Platform Using The BigData

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100890861B1 (en) * 2008-03-04 2009-03-27 정병수 Construction method for framework of 3 dimensional application program and implementation method for application program thereof
WO2009110725A2 (en) * 2008-03-04 2009-09-11 주식회사 코드에스이 Three-dimensional application program framework structure and a method for implementing an application program based on the same, and an automatic testing system based on a three-dimensional application software framework and a method therefor
WO2009110725A3 (en) * 2008-03-04 2009-12-17 주식회사 코드에스이 Three-dimensional application program framework structure and a method for implementing an application program based on the same, and an automatic testing system based on a three-dimensional application software framework and a method therefor
US8676723B2 (en) 2008-03-04 2014-03-18 Codese Co., Ltd. Automated test system based on three-dimensional application software framework and a method thereof
KR20180117486A (en) * 2017-04-19 2018-10-29 국방과학연구소 System for integrated management of service
KR101996382B1 (en) * 2018-02-14 2019-07-03 동서대학교 산학협력단 System for Data Analysis of University Information Based on Platform Using The BigData

Similar Documents

Publication Publication Date Title
KR100744886B1 (en) Asadal : system for providing feature-oriented software product line engineering environment
US9754059B2 (en) Graphical design verification environment generator
US7865350B1 (en) Partitioning a model in modeling environments
CN110008113B (en) Test method and device and electronic equipment
WO2012032890A1 (en) Source code conversion method and source code conversion program
US20140214396A1 (en) Specification properties creation for a visual model of a system
CN103065000A (en) MDE (model driven engineering)-based method for analyzing and verifying SysML state machine diagram
Lewerentz et al. Case study “production cell”: A comparative study in formal specification and verification
US20070150249A1 (en) Verification Operation Supporting System and Method of the Same
Zeller et al. Functional verification of distributed automation systems: Assisting production line operators by an automated model composition
Baumgartl et al. Towards easy robot programming-using dsls, code generators and software product lines
KR20070049126A (en) Asadal : system for providing feature-oriented software product line engineering environment
Bezemer et al. Design and Use of CSP Meta-Model for Embedded Control Software Development.
KR20190094779A (en) Automatically Generate Device for PLC Instruction Compiler Test-Case
Kim et al. ASADAL: a tool system for co-development of software and test environment based on product line engineering
JP2008305079A (en) Requirement specification automatic verification method
Bagheri et al. Monarch: Model-based development of software architectures
Kaijser et al. Towards simulation-based verification for continuous integration and delivery
Kernschmidt et al. Possibilities and challenges of an integrated development using a combined SysML-model and corresponding domain specific models
Pais et al. From SysML state machines to petri nets using ATL transformations
Dieumegard et al. Formal specification of block libraries in dataflow languages
Abdulhameed et al. An approach based on SysML and SystemC to simulate complex systems
Lukács et al. Practical UML subset for railway engineers to support formal modeling
Kim et al. MDD based CASE Tool for Modeling Heterogeneous Multi-Jointed Robots
Ruchkin Towards Integration of Modeling Methods for Cyber-Physical Systems.

Legal Events

Date Code Title Description
A107 Divisional application of patent
WITN Withdrawal due to no request for examination