KR101665962B1 - 모델링 코드 검증 방법, 이를 수행하는 모델링 코드 검증 장치 및 이를 저장하는 기록매체 - Google Patents

모델링 코드 검증 방법, 이를 수행하는 모델링 코드 검증 장치 및 이를 저장하는 기록매체 Download PDF

Info

Publication number
KR101665962B1
KR101665962B1 KR1020140025439A KR20140025439A KR101665962B1 KR 101665962 B1 KR101665962 B1 KR 101665962B1 KR 1020140025439 A KR1020140025439 A KR 1020140025439A KR 20140025439 A KR20140025439 A KR 20140025439A KR 101665962 B1 KR101665962 B1 KR 101665962B1
Authority
KR
South Korea
Prior art keywords
verification
model
model component
rule
error
Prior art date
Application number
KR1020140025439A
Other languages
English (en)
Other versions
KR20150052725A (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 주식회사 엘지씨엔에스
Publication of KR20150052725A publication Critical patent/KR20150052725A/ko
Application granted granted Critical
Publication of KR101665962B1 publication Critical patent/KR101665962B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 모델링 코드 검증 방법에 관한 것으로, 모델 다이어그램에 있는 적어도 하나의 모델 컴포넌트 중 검증 모델 컴포넌트를 결정하는 단계, 상기 적어도 하나의 모델 컴포넌트에 대해 검증 규칙을 수신하는 단계 및 상기 모델 다이어그램이 완성되거나 또는 상기 모델 다이어그램에 대한 검증 요구가 수신되면 상기 수신된 검증 규칙을 기초로 상기 검증 모델 컴포넌트에 대한 검증을 수행하는 단계를 포함한다. 따라서 소프트웨어 모델의 엘리먼트 별로 규칙을 정의하여 소프트웨어 모델에 대한 검증을 수행할 수 있다.

Description

모델링 코드 검증 방법, 이를 수행하는 모델링 코드 검증 장치 및 이를 저장하는 기록매체{METHOD OF VERIFYING MODELING CODE, APPARATUS PERFORMING THE SAME AND STORAGE MEDIA STORING THE SAME}
본 발명은 모델링 코드 검증 기술에 관한 것으로, 보다 상세하게는, 소프트웨어 모델의 엘리먼트 별로 규칙을 정의하여 소프트웨어 모델에 대한 검증을 수행할 수 있는 모델링 코드 검증 방법, 이를 수행하는 모델링 코드 검증 장치 및 이를 저장하는 기록매체에 관한 것이다.
일반적으로, 소프트웨어 모델은 범용적인 모델링 언어를 사용하여 작성하는 방법과 특정 도메인에 필요한 모델링 언어를 정의하여 작성하는 방법으로 구분할 수 있다. 전자의 경우에는 다양한 소프트웨어 환경과 프로그래밍 언어를 위한 모델을 생성할 수 있도록 포괄적인 표기법을 제공하고, 후자의 경우에는 특정한 소프트웨어 환경에 대응하는 모델링 언어로 상세한 모델링이 가능하도록 할 수 있다.
한국공개특허 제10-1999-0068602호는 관계형 데이터베이스에서 데이터 모델의 원칙 준수 및 정규화에 대하여 검증하고 개발된 시스템의 신뢰성을 검증할 수 있는 데이터 모델 검증 시스템을 개시한다. 이러한 데이터 모델 검증 시스템은 관계형 데이터베이스 시스템(RDBMS)의 개발과정에서 데이터 모델의 원칙 준수 및 정규화에 대하여 정확하게 검증할 수 있으며, 개발된 시스템의 완성도를 판단하여 신뢰성을 검증할 수 있다.
한국공개특허 제10-2006-0061759호는 관리 어플리케이션에 의해 모니터링되는 기반 구조를 모델링할 수 있는 트랜잭션 기반 성능 모델을 자동 검증 및 캘리브레이션하기 위한 컴퓨터 구현 방법을 개시한다. 이러한 컴퓨터 구현 방법은 기존 관리 도구에 의해 제공된 데이터를 이용하여 기반 구조를 모델링하고 기반 구조를 시뮬레이션 할 수 있다.
상기 작성된 전자의 경우에는 규칙이 자유롭고 방대하여 소프트웨어 모델에 대한 개략적인 모델링 작성은 가능하지만 특정 소프트웨어 모델에 대한 상세한 모델링은 불가능하고, 후자의 경우에는 특정 소프트웨어 모델에서만 사용되기 때문에 다른 환경에서의 사용이 불가능하다.
한국공개특허 제10-1999-0068602호 한국공개특허 제10-2006-0061759호
본 발명의 일 실시예는 소프트웨어 모델의 엘리먼트 별로 규칙을 정의하여 소프트웨어 모델에 대한 검증을 수행할 수 있는 모델링 코드 검증 방법을 제공하고자 한다.
본 발명의 일 실시예는 사용자에 의해 등록된 유연하고 다양한 검증 규칙을 기초로 사용자가 원하는 소프트웨어 구조를 생성할 수 있는 모델링 코드 검증 방법을 제공하고자 한다.
본 발명의 일 실시예는 소프트웨어 모델의 엘리먼트에 대한 오류를 자동으로 수정하여 사용자의 편의성을 향상시킬 수 있는 모델링 코드 검증 방법을 제공하고자 한다.
실시예들 중에서, 모델링 코드 검증 방법은 모델 다이어그램에 있는 적어도 하나의 모델 컴포넌트 중 검증 모델 컴포넌트를 결정하는 단계, 상기 검증 모델 컴포넌트에 대한 검증 규칙을 수신하는 단계 및 상기 모델 다이어그램이 완성되거나 또는 상기 모델 다이어그램에 대한 검증 요구가 수신되면 상기 수신된 검증 규칙을 기초로 상기 검증 모델 컴포넌트에 대한 검증을 수행하는 단계를 포함한다.
일 실시예에서, 상기 검증 규칙을 수신하는 단계는 사용자의 선택에 따라 상기 검증 모델 컴포넌트의 오류 자동 수정 규칙을 부가하는 단계를 포함할 수 있다.
일 실시예에서, 상기 검증 결과를 기초로 오류 자동 수정 규칙에 의하여 자동으로 수정 가능한 오류에 대하여 자동 수정 요청 명령을 포함하는 모델 리포터를 제공하는 단계를 더 포함할 수 있다.
상기 모델 리포터를 제공하는 단계는 상기 검증 모델 컴포넌트에 대하여 오류가 발생했는지 여부를 체크하고, 상기 오류가 발생하였다면 상기 오류 자동 수정 규칙의 설정 여부를 체크하여 자동 또는 수동 오류 수정을 결정하는 단계를 포함할 수 있다.
상기 모델 리포터를 제공하는 단계는 상기 검증 모델 컴포넌트에 대하여 상기 수동 오류 수정이 결정되면 상기 모델 리포터에 상기 오류가 발생한 코드로 바로 갈 수 있는 오류 위치 가기 명령을 포함시키는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 검증 모델 컴포넌트를 결정하는 단계는 상기 모델 다이어그램의 식별자와 상기 검증 모델 컴포넌트를 연관하여 모델 데이터베이스에 등록하는 단계를 포함할 수 있다.
상기 검증 규칙을 수신하는 단계는 상기 검증 규칙에 대한 실행 조건, 실행 순서 및 자동 수정 규칙 설정을 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 검증 모델 컴포넌트를 결정하는 단계는 상기 적어도 하나의 모델 컴포넌트를 분석하여 상기 검증 모델 컴포넌트가 존재하면 상기 검증 모델 컴포넌트에 대한 모델 타입을 결정하는 단계를 포함할 수 있다.
상기 검증 모델 컴포넌트에 대한 검증을 수행하는 단계는 상기 검증 모델 컴포넌트가 클래스(Class) 타입, 패키지(Package) 타입 또는 메서드(Method) 타입 중 하나에 해당하면 해당 타입에 따른 기본 검증 규칙뿐만 아니라 상기 수신된 검증 규칙을 참조하여 해당 검증 모델 컴포넌트에 대한 검증을 수행하는 단계를 더 포함할 수 있다.
실시예들 중에서, 모델링 코드 검증 장치는 프로그램을 실행하는 적어도 하나의 프로세서 및 상기 프로그램을 저장하는 적어도 하나의 메모리를 포함하고, 상기 프로그램은 모델 다이어그램에 있는 적어도 하나의 모델 컴포넌트 중 검증 모델 컴포넌트를 결정하는 검증 모델 컴포넌트 저장 모듈, 상기 검증 모델 컴포넌트에 대한 검증 규칙을 수신하는 검증 규칙 관리 모듈 및 상기 모델 다이어그램이 완성되거나 또는 상기 모델 다이어그램에 대한 검증 요구가 수신되면 상기 수신된 검증 규칙을 기초로 상기 검증 모델 컴포넌트에 대한 검증을 수행하는 검증 수행 모듈을 포함한다.
일 실시예에서, 상기 검증 규칙 관리 모듈은 사용자의 선택에 따라 상기 검증 모델 컴포넌트의 오류 자동 수정 규칙을 부가할 수 있다.
상기 검증 결과를 기초로 오류 자동 수정 규칙에 의하여 자동으로 수정 가능한 오류에 대하여 자동 수정 요청 명령을 포함하는 모델 리포터를 제공하는 모델 리포터 제공 모듈을 더 포함할 수 있다.
상기 모델 리포터 제공 모듈은 상기 검증 모델 컴포넌트에 대하여 오류가 발생했는지 여부를 체크하고, 상기 오류가 발생하였다면 상기 오류 자동 수정 규칙의 설정 여부를 체크하여 자동 또는 수동 오류 수정을 결정할 수 있다.
상기 모델 리포터 제공 모듈은 상기 검증 모델 컴포넌트에 대하여 상기 수동 오류 수정이 결정되면 상기 모델 리포터에 상기 오류가 발생한 코드로 바로 갈 수 있는 오류 위치 가기 명령을 포함시킬 수 있다.
일 실시예에서, 상기 검증 규칙 관리 모듈은 상기 검증 규칙에 대한 실행 조건, 실행 순서 및 자동 수정 규칙 설정을 결정할 수 있다. 상기 검증 수행 모듈은 상기 적어도 하나의 모델 컴포넌트를 분석하여 상기 검증 모델 컴포넌트가 존재하면 상기 검증 모델 컴포넌트에 대한 모델 타입을 결정할 수 있다.
실시예들 중에서, 모델링 코드 검증 방법에 관한 컴퓨터 프로그램을 저장하는 기록매체는 모델 다이어그램에 있는 적어도 하나의 모델 컴포넌트 중 검증 모델 컴포넌트를 결정하는 기능, 상기 검증 모델 컴포넌트에 대한 검증 규칙을 수신하는 기능 및 상기 모델 다이어그램이 완성되거나 또는 상기 모델 다이어그램에 대한 검증 요구가 수신되면 상기 수신된 검증 규칙을 기초로 상기 검증 모델 컴포넌트에 대한 검증을 수행하는 기능을 포함한다.
본 발명의 일 실시예에 따른 모델링 코드 검증 방법은 소프트웨어 모델의 엘리먼트 별로 규칙을 정의하여 소프트웨어 모델에 대한 검증을 수행할 수 있다.
본 발명의 일 실시예에 따른 모델링 코드 검증 방법은 사용자에 의해 등록된 유연하고 다양한 검증 규칙을 기초로 사용자가 원하는 소프트웨어 구조를 생성할 수 있다.
본 발명의 일 실시예에 따른 모델링 코드 검증 방법은 소프트웨어 모델의 엘리먼트에 대한 오류를 자동으로 수정하여 사용자의 편의성을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 모델링 코드 검증 장치를 설명하는 블록도이다.
도 2는 도 1에 있는 모델링 코드 검증 장치에서 수행되는 모델링 코드 검증 과정을 설명하는 순서도이다.
도 3은 도 1에 있는 모델링 코드 검증 장치에서 수행되는 검증 모델 컴포넌트 결정 화면을 예시한 도면이다.
도 4는 도 1에 있는 모델링 코드 검증 장치에서 수행되는 검증 모델 컴포넌트에 대한 검증 규칙 정의 화면을 예시한 도면이다.
도 5는 도 1에 있는 모델링 코드 검증 장치에서 수행되는 검증 규칙에 대한 실행 조건 및 실행 순서를 결정하는 것을 예시한 도면이다.
도 6은 도 1에 있는 모델링 코드 검증 장치에서 제공하는 모델 리포터를 예시한 도면이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한, 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명의 일 실시예에 따른 모델링 코드 검증 장치를 설명하는 블록도이다.
도 1을 참조하면, 모델링 코드 검증 장치(100)는 검증 모델 컴포넌트 결정 모듈(110), 검증 규칙 관리 모듈(120), 검증 수행 모듈(130), 모델 리포터 제공 모듈(140) 및 제어 모듈(150)을 포함한다.
검증 모델 컴포넌트 결정 모듈(110)은 모델 다이어그램에 있는 적어도 하나의 모델 컴포넌트 중 검증 모델 컴포넌트를 결정한다. 모델 다이어그램은 특정 모델링 언어 기반의 적어도 하나의 모델 컴포넌트로 구현될 수 있다. 검증 모델 컴포넌트는 적어도 하나의 모델 컴포넌트 중 기본 검증 규칙 이외에 추가적인 검증 규칙이 필요하다고 판단되는 모델링 코드에 해당한다.
검증 모델 컴포넌트 결정 모듈(110)은 모델 다이어그램을 분석하여 검증 모델 컴포넌트의 존재 여부를 체크할 수 있다. 일 실시예에서, 검증 모델 컴포넌트 결정 모듈(110)은 Top-Down 방식으로 모델 다이어그램을 스캔하여 모델 컴포넌트가 검증 모델 컴포넌트에 해당하는지 체크할 수 있다. 예를 들어, 검증 모델 컴포넌트 결정 모듈(110)은 특정 모델링 도구 상에 제1 모델 다이어그램 및 제2 모델 다이어그램이 작성되어 있는 경우 제1 모델 다이어그램을 분석하여 검증 모델 컴포넌트의 존재 여부를 체크하고 제1 모델 다이어그램에 검증 모델 컴포넌트가 존재하지 않으면 제2 모델 다이어그램을 분석할 수 있다. 즉, 검증 모델 컴포넌트 결정 모듈(110)은 검증 모델 컴포넌트가 존재하는 모델 다이어그램에 대해서만 검증 규칙을 정의할 수 있도록 관리할 수 있다.
검증 모델 컴포넌트 결정 모듈(110)은 적어도 하나의 모델 컴포넌트를 분석하여 검증 모델 컴포넌트가 존재하면 검증 모델 컴포넌트에 대한 모델 타입을 결정할 수 있다. 일 실시예에서, 모델 타입은 클래스(Class) 타입, 패키지(Package) 타입 또는 메서드(Method) 타입 중 하나에 해당할 수 있다.
검증 모델 컴포넌트 결정 모듈(110)은 모델 다이어그램의 식별자와 검증 모델 컴포넌트를 연관하여 모델 데이터베이스에 등록할 수 있다. 모델 다이어그램의 식별자는 모델 다이어그램 간의 구별을 위해 모델 다이어그램 각각에 부여되는 고유 식별 부호에 해당한다. 일 실시예에서, 모델 데이터베이스는 복수의 모델 다이어그램들로 구현되는 모델링 도구 별로 정의될 수 있다.
검증 규칙 관리 모듈(120)은 검증 모델 컴포넌트에 대한 검증 규칙을 수신한다. 검증 규칙 관리 모듈(120)은 검증 모델 컴포넌트 단위로 검증 규칙을 입력받을 수 있다. 일 실시예에서, 검증 규칙 관리 모듈(120)은 하나의 검증 모델 컴포넌트에 대한 복수의 검증 규칙들을 입력받을 수 있다.
검증 규칙 관리 모듈(120)은 검증 모델 컴포넌트의 검증 규칙에 대한 자동 수정 규칙 설정을 결정할 수 있다. 자동 수정 규칙 여부는 사용자로부터 입력받을 수 있다. 일 실시예에서, 검증 규칙 관리 모듈(120)은 사용자에 의해 자동 수정 규칙이 설정되면 사용자의 선택에 따라 검증 모델 컴포넌트의 오류 자동 수정 규칙을 부가할 수 있다. 오류 자동 수정 규칙은 검증 모델 컴포넌트에 발생된 오류에 대해 자동적으로 수정하도록 설정된 특정 모델링 코드에 해당할 수 있다.
검증 규칙 관리 모듈(120)은 검증 모델 컴포넌트의 검증 규칙에 대한 실행 조건 및 실행 순서를 결정할 수 있다. 실행 조건은 조건문에 따라 복수의 흐름선들 중에서 하나의 흐름선을 따라가도록 설정될 수 있고, 실행 순서는 방향성을 가지는 흐름선을 통해 지정될 수 있다. 일 실시예에서, 검증 규칙은 하나의 시작 기호, 하나의 종료 기호, 복수의 검증 규칙 기호들, 적어도 하나의 실행 조건 기호 및 복수의 실행 순서 기호들을 포함할 수 있다.
일 실시예에서, 검증 규칙 관리 모듈(120)은 모델 다이어그램에 있는 제1 검증 모델 컴포넌트에 대한 검증 규칙과 제2 검증 모델 컴포넌트에 대한 검증 규칙이 동일하면 각각의 검증 규칙에 대한 실행 조건 및 실행 순서를 동일하게 결정할 수 있다.
다른 일 실시예에서, 검증 규칙 관리 모듈(120)은 모델 다이어그램에 있는 제1 검증 모델 컴포넌트에 대한 검증 규칙과 제2 검증 모델 컴포넌트에 대한 검증 규칙이 동일하더라도 각각의 검증 규칙에 대한 실행 조건 및 실행 순서를 다르게 결정할 수 있다.
검증 수행 모듈(130)은 모델 다이어그램이 완성되거나 또는 모델 다이어그램에 대한 검증 요구가 수신되면 수신한 검증 규칙을 기초로 검증 모델 컴포넌트에 대한 검증을 수행한다.
일 실시예에서, 검증 수행 모듈(130)은 검증 모델 컴포넌트에 대한 모델 타입에 따른 기본 검증 규칙뿐만 아니라 수신한 검증 규칙을 참조하여 해당 검증 모델 컴포넌트에 대한 검증을 수행할 수 있다. 기본 검증 규칙은 모델 다이어그램 설계시 모델 타입 별로 정의될 수 있다. 검증 수행 모듈(130)은 검증 모델 컴포넌트에 대한 모델 타입에 따라 검증을 수행하고 모델 타입 별로 검증 결과를 저장할 수 있다.
검증 수행 모듈(130)은 기본 검증 규칙을 기초로 검증 모델 컴포넌트를 제외한 적어도 하나의 모델 컴포넌트에 대한 검증을 수행할 수 있다. 즉, 검증 수행 모듈(130)은 모델 다이어그램을 스캔하여 검증 모델 컴포넌트를 검증 규칙에 따라 검증하고 검증 모델 컴포넌트를 제외한 적어도 하나의 모델 컴포넌트를 기존 검증 규칙에 따라 검증할 수 있다.
모델 리포터 제공 모듈(140)은 검증 모델 컴포넌트에 대하여 오류가 발생했는지 여부를 체크하고, 오류가 발생하였다면 오류 자동 수정 규칙의 설정 여부를 체크하여 자동 또는 수동 오류 수정을 결정할 수 있다. 모델 리포터 제공 모듈(140)은 검증 모델 컴포넌트에 오류 자동 수정 규칙이 설정되어 있으면 자동 오류 수정으로 결정하고, 검증 모델 컴포넌트에 오류 자동 수정 규칙이 설정되어 있지 않으면 수동 오류 수정으로 결정할 수 있다.
모델 리포터 제공 모듈(140)은 검증 모델 컴포넌트에 대한 검증 결과를 기초로 모델 리포터를 생성하여 제공할 수 있다. 모델 리포터는 오류 상태(예를 들어, Warning, Error)에 따라 검증 모델 컴포넌트가 구분되어 검증 규칙 명, 검증 모델 컴포넌트 명 및 오류 수정 정보를 포함하도록 구현될 수 있다.
모델 리포터 제공 모듈(140)은 오류 자동 수정 규칙에 의하여 자동으로 수정 가능한 오류에 대하여 자동 수정 요청 명령을 포함하는 모델 리포터를 제공한다. 자동 수정 요청 명령은 해당 오류 자동 수정 규칙과 연결되어, 사용자로부터 이벤트를 수신하면 해당 오류 자동 수정 규칙에 따라 검증 모델 컴포넌트에 대한 오류를 수정하도록 할 수 있다.
모델 리포터 제공 모듈(140)은 검증 모델 컴포넌트에 대하여 수동 오류 수정이 결정되면 오류가 발생한 코드로 바로 갈 수 있는 오류 위치 가기 명령을 모델 리포터에 포함시킬 수 있다. 오류 위치 가기 명령은 해당 검증 모델 컴포넌트와 연결되어, 사용자로부터 이벤트를 수신하면 해당 검증 모델 컴포넌트가 작성된 위치를 사용자에게 제공할 수 있다.
제어 모듈(150)은 모델링 코드 검증 장치(100)의 전체적인 동작을 제어하고, 검증 모델 컴포넌트 결정 모듈(110), 검증 규칙 관리 모듈(120), 검증 수행 모듈(130) 및 모델 리포터 제공 모듈(140) 간의 제어 흐름 또는 데이터 흐름을 제어할 수 있다.
도 2는 도 1에 있는 모델링 코드 검증 장치에서 수행되는 모델링 코드 검증 과정을 설명하는 순서도이다.
도 2를 참조하면, 검증 모델 컴포넌트 결정 모듈(110)은 모델 다이어그램에 있는 적어도 하나의 모델 컴포넌트 중 검증 모델 컴포넌트를 결정한다(단계 S201).
도 3에서, 검증 모델 컴포넌트 결정 모듈(110)은 사용자에게 복수의 모델 컴포넌트들을 포함하는 모델 컴포넌트 리스트(310)를 제공하여 사용자로부터 적어도 하나의 검증 모델 컴포넌트(320)(예를 들어, 제5 모델 컴포넌트, 제10 모델 컴포넌트)를 입력받을 수 있다. 여기에서, 검증 모델 컴포넌트 결정 모듈(110)은 모델 컴포넌트를 삭제하거나 추가할 수 있는 삭제 및 추가 기능을 제공할 수 있다.
일 실시예에서, 검증 모델 컴포넌트 결정 모듈(110)은 모델 다이어그램을 분석하여 검증 모델 컴포넌트의 존재 여부를 체크할 수 있다. 검증 모델 컴포넌트 결정 모듈(110)은 검증 모델 컴포넌트가 존재하는 모델 다이어그램에 대해서만 검증 규칙을 정의할 수 있도록 관리할 수 있다.
검증 모델 컴포넌트 결정 모듈(110)은 적어도 하나의 모델 컴포넌트를 분석하여 검증 모델 컴포넌트가 존재하면 검증 모델 컴포넌트에 대한 모델 타입을 결정할 수 있다. 모델 타입은 클래스(Class) 타입, 패키지(Package) 타입 또는 메서드(Method) 타입 중 하나에 해당할 수 있다. 여기에서, 모델 타입은 클래스(Class) 타입, 패키지(Package) 타입 또는 메서드(Method) 타입으로 한정되지 않고, 모델링 다이어그램 상의 다른 타입으로도 구현 가능하다. 예를 들어, 검증 모델 컴포넌트 결정 모듈(110)은 검증 모델 컴포넌트가 클래스 타입에 해당하면 클래스 타입에 대한 기본 검증 규칙과 사용자로부터 수신한 검증 규칙을 기초로 검증 모델 컴포넌트에 대한 오류 여부를 결정할 수 있다. 다른 예를 들어, 검증 모델 컴포넌트 결정 모듈(110)은 검증 모델 컴포넌트가 패키지 타입에 해당하면 패키지 타입에 대한 기본 검증 규칙과 사용자로부터 수신한 검증 규칙을 기초로 검증 모델 컴포넌트에 대한 오류 여부를 결정할 수 있다. 또 다른 예를 들어, 검증 모델 컴포넌트 결정 모듈(110)은 검증 모델 컴포넌트가 메서드 타입에 해당하면 메서드 타입에 대한 기본 검증 규칙과 사용자로부터 수신한 검증 규칙을 기초로 검증 모델 컴포넌트에 대한 오류 여부를 결정할 수 있다.
검증 규칙 관리 모듈(120)은 검증 모델 컴포넌트에 대해 검증 규칙을 수신한다(단계 S202).
일 실시예에서, 검증 규칙 관리 모듈(120)은 검증 모델 컴포넌트의 검증 규칙에 대한 자동 수정 규칙 설정을 결정할 수 있다. 예를 들어, 도 4에서, 검증 규칙 관리 모듈(120)은 사용자에 의해 모델 컴포넌트 중 검증 모델 컴포넌트 [제1 모델 컴포넌트]가 선택되면 검증 모델 컴포넌트 [제1 모델 컴포넌트]와 연관된 적어도 하나의 검증 규칙(예를 들어, 제1 검증 규칙에 대한 검증 규칙 [/PackageRule01.java], 제2 검증 규칙에 대한 검증 규칙 [/PackageRule02.java], 제3 검증 규칙에 대한 검증 규칙 [/PackageRule03.java], 제4 검증 규칙에 대한 검증 규칙 [/PackageRule04.java])을 입력받고 자동 수정 규칙의 설정이 필요한 검증 모델 컴포넌트의 오류 자동 수정 규칙(예를 들어, 제1 모델 컴포넌트의 제1 검증 규칙에 대한 오류 자동 수정 규칙 [/PackageRule01/Q_F01.java], 제1 모델 컴포넌트의 제2 검증 규칙에 대한 오류 자동 수정 규칙 [/PackageRule02/Q_F02.java], 제1 모델 컴포넌트의 제4 검증 규칙에 대한 오류 자동 수정 규칙 [/PackageRule04/Q_F04.java])을 부가할 수 있다.
검증 규칙 관리 모듈(120)은 검증 모델 컴포넌트의 검증 규칙에 대한 실행 조건 및 실행 순서를 결정할 수 있다. 예를 들어, 도 5에서, 검증 규칙 관리 모듈(120)은 검증 모델 컴포넌트의 제1 검증 규칙, 제2 검증 규칙, 제3 검증 규칙, 제4 검증 규칙에 대한 실행 조건(510) 및 실행 순서(520)를 사용자로부터 수신할 수 있다. 구체적으로, 검증 규칙 관리 모듈(120)은 제1 검증 규칙이 [True]에 해당하면 제2 검증 규칙이 수행되도록 실행 조건(510)과 실행 순서(520)를 결정하고, 제1 검증 규칙이 [False]에 해당하면 제4 검증 규칙이 수행되도록 실행 조건(510)과 실행 순서(520)를 결정할 수 있다.
검증 수행 모듈(130)은 모델 다이어그램이 완성되면 수신한 검증 규칙을 기초로 검증 모델 컴포넌트에 대한 검증을 수행한다(단계 S203 및 단계 S205).
검증 수행 모듈(130)은 모델 다이어그램이 완성되지 않은 상태에서 모델 다이어그램에 대한 검증 요구가 수신되면 수신한 검증 규칙을 기초로 검증 모델 컴포넌트에 대한 검증을 수행한다(단계 S204 및 단계 S205).
모델 리포터 제공 모듈(140)은 오류 자동 수정 규칙에 의하여 자동으로 수정 가능한 오류에 대하여 자동 수정 요청 명령을 포함하는 모델 리포터를 제공한다(단계 S206).
일 실시예에서, 모델 리포터 제공 모듈(140)은 검증 모델 컴포넌트에 대하여 오류가 발생했는지 여부를 체크하고, 오류가 발생하였다면 오류 자동 수정 규칙의 설정 여부를 체크하여 자동 또는 수동 오류 수정을 결정할 수 있다.
모델 리포터 제공 모듈(140)은 검증 모델 컴포넌트에 대하여 수동 오류 수정이 결정되면 오류가 발생한 코드로 바로 갈 수 있는 오류 위치 가기 명령을 모델 리포터에 포함시킬 수 있다. 예를 들어, 도 6에서, 모델 리포터(610)는 오류 상태 [Warning], [Error]에 따라 검증 규칙 명, 검증 모델 컴포넌트 명 및 오류 수정 정보(자동 수정, 오류 위치 가기)를 포함하도록 구현될 수 있다. 여기에서, 자동 수정은 자동 수정 요청 명령을 포함하고 있고 오류 위치 가기는 오류 위치 가기 명령을 포함하고 있다. 오류 위치 가기는 모델 리포터 상에서 생략 가능하다.
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 모델링 코드 검증 장치
110: 검증 모델 컴포넌트 결정 모듈
120: 검증 규칙 관리 모듈
130: 검증 수행 모듈
140: 모델 리포터 제공 모듈
150: 제어 모듈

Claims (17)

  1. 소프트웨어 모델링 코드 검증 방법을 수행하는 모델링 코드 검증 장치의 프로세서가 모델 다이어그램에 있는 적어도 하나의 모델 컴포넌트 중 검증 모델 컴포넌트를 결정하는 단계;
    상기 프로세서가 상기 적어도 하나의 모델 컴포넌트에 대한 적어도 하나의 검증 규칙을 수신하는 단계;
    상기 프로세서가 상기 모델 다이어그램이 완성되거나 또는 상기 모델 다이어그램에 대한 검증 요구가 수신되면 상기 수신된 검증 규칙을 기초로 상기 검증 모델 컴포넌트에 대한 검증을 수행하는 단계; 및
    상기 검증 결과 오류가 발생하면, 오류 자동 수정 규칙에 따라 오류를 수정하는 단계를 포함하고,
    상기 모델 컴포넌트는 복수의 타입들 중 하나의 타입이고,
    상기 검증 규칙은 상기 하나의 타입에 따른 기본 검증 규칙 및 사용자에 의해 입력된 추가적인 검증 규칙을 포함하고,
    상기 검증 규칙이 복수개인 경우, 검증 규칙들은 실행 조건 및 실행 순서에 따라 실행되며,
    서로 다른 검증 모델 컴포넌트가 동일한 검증 규칙들에 기초하여 검증을 수행할 경우, 상기 동일한 검증 규칙들의 실행 조건 및 실행 순서는 서로 다른 모델링 코드 검증 방법.
  2. 제1항에 있어서, 상기 검증 규칙을 수신하는 단계는
    사용자의 선택에 따라 상기 검증 모델 컴포넌트의 오류 자동 수정 규칙을 부가하는 단계를 포함하는 것을 특징으로 하는 모델링 코드 검증 방법.
  3. 제1항에 있어서,
    상기 검증 결과를 기초로 오류 자동 수정 규칙에 의하여 자동으로 수정 가능한 오류에 대하여 자동 수정 요청 명령을 포함하는 모델 리포터를 제공하는 단계를 더 포함하는 것을 특징으로 하는 모델링 코드 검증 방법.
  4. 제3항에 있어서, 상기 모델 리포터를 제공하는 단계는
    상기 검증 모델 컴포넌트에 대하여 오류가 발생했는지 여부를 체크하고, 상기 오류가 발생하였다면 상기 오류 자동 수정 규칙의 설정 여부를 체크하여 자동 또는 수동 오류 수정을 결정하는 단계를 포함하는 것을 특징으로 하는 모델링 코드 검증 방법.
  5. 제4항에 있어서, 상기 모델 리포터를 제공하는 단계는
    상기 검증 모델 컴포넌트에 대하여 상기 수동 오류 수정이 결정되면 상기 모델 리포터에 상기 오류가 발생한 코드로 바로 갈 수 있는 오류 위치 가기 명령을 포함시키는 단계를 더 포함하는 것을 특징으로 하는 모델링 코드 검증 방법.
  6. 제1항에 있어서, 상기 검증 모델 컴포넌트를 결정하는 단계는
    상기 모델 다이어그램의 식별자와 상기 검증 모델 컴포넌트를 연관하여 모델 데이터베이스에 등록하는 단계를 포함하는 것을 특징으로 하는 모델링 코드 검증 방법.
  7. 제1항에 있어서, 상기 모델 컴포넌트는
    클래스 타입, 패키지 타입 및 메서드 타입 중 적어도 하나인 것을 특징으로 하는 모델링 코드 검증 방법.
  8. 제1항에 있어서, 상기 검증 모델 컴포넌트를 결정하는 단계는
    상기 적어도 하나의 모델 컴포넌트를 분석하여 상기 검증 모델 컴포넌트가 존재하면 상기 검증 모델 컴포넌트에 대한 모델 타입을 결정하는 단계를 포함하는 것을 특징으로 하는 모델링 코드 검증 방법.
  9. 소프트웨어 모델링 코드 검증 방법을 수행하는 모델링 코드 검증 장치의 프로세서가 모델 다이어그램에 있는 적어도 하나의 모델 컴포넌트 중 검증 모델 컴포넌트를 결정하는 단계;
    상기 프로세서가 상기 적어도 하나의 모델 컴포넌트에 대한 적어도 하나의 검증 규칙을 수신하는 단계;
    상기 프로세서가 상기 모델 다이어그램이 완성되거나 또는 상기 모델 다이어그램에 대한 검증 요구가 수신되면 상기 수신된 검증 규칙을 기초로 상기 검증 모델 컴포넌트에 대한 검증을 수행하는 단계; 및
    상기 검증 결과 오류가 발생되면, 오류 자동 수정 규칙에 따라 오류를 수정하는 단계를 포함하고,
    상기 모델 컴포넌트는 복수의 타입들 중 하나의 타입이고,
    상기 검증 규칙은 상기 타입에 따른 기본 검증 규칙 및 사용자에 의해 입력된 추가적인 검증 규칙을 포함하고,
    상기 검증 규칙이 복수개인 경우, 검증 규칙들은 실행 조건 및 실행 순서에 따라 실행되며,
    서로 다른 검증 모델 컴포넌트가 동일한 검증 규칙들에 기초하여 검증을 수행할 경우, 상기 동일한 검증 규칙들의 실행 조건 및 실행 순서는 서로 동일한 모델링 코드 검증 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
KR1020140025439A 2013-11-06 2014-03-04 모델링 코드 검증 방법, 이를 수행하는 모델링 코드 검증 장치 및 이를 저장하는 기록매체 KR101665962B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20130133956 2013-11-06
KR1020130133956 2013-11-06

Publications (2)

Publication Number Publication Date
KR20150052725A KR20150052725A (ko) 2015-05-14
KR101665962B1 true KR101665962B1 (ko) 2016-10-13

Family

ID=53389556

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140025439A KR101665962B1 (ko) 2013-11-06 2014-03-04 모델링 코드 검증 방법, 이를 수행하는 모델링 코드 검증 장치 및 이를 저장하는 기록매체

Country Status (1)

Country Link
KR (1) KR101665962B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102545171B1 (ko) * 2016-10-12 2023-06-19 삼성전자주식회사 컴퓨팅 시스템 및 컴퓨팅 시스템에서 회로 설계에 대한 검증을 수행하는 방법
CN111857092B (zh) * 2020-06-22 2024-04-30 杭州群核信息技术有限公司 一种家居参数化模型的实时错误检测系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005292986A (ja) * 2004-03-31 2005-10-20 Nomura Research Institute Ltd 業務処理用ejbコンポーネントシステム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990068602A (ko) 1999-06-03 1999-09-06 김원선 숫자읽을시쉼표위치조정(네자리씩)
US20060025984A1 (en) 2004-08-02 2006-02-02 Microsoft Corporation Automatic validation and calibration of transaction-based performance models
KR101369776B1 (ko) * 2009-12-18 2014-03-06 한국전자통신연구원 정적 분석 도구 통합 관리 장치 및 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005292986A (ja) * 2004-03-31 2005-10-20 Nomura Research Institute Ltd 業務処理用ejbコンポーネントシステム

Also Published As

Publication number Publication date
KR20150052725A (ko) 2015-05-14

Similar Documents

Publication Publication Date Title
CN106528100B (zh) 用于安全关键软件开发的基于模型的技术和过程的系统和方法
CN105701008B (zh) 用于测试用例生成的系统和方法
CN106547678B (zh) 用于白盒测试的方法和装置
US9965252B2 (en) Method and system for generating stateflow models from software requirements
US20110016451A1 (en) Method and system for generating test cases for a software application
KR20060045568A (ko) 프로그램 계측 동안의 프로브 최적화 방법 및 시스템
US20110145799A1 (en) Path-sensitive dataflow analysis including path refinement
CN108319575B (zh) 一种页面组件的校验方法、装置、服务器和存储介质
US8898649B2 (en) Application program analysis method, analysis system and recording medium for identifying a contributing factor for an invalid operation of an application program
US8887112B2 (en) Test validation planning
KR101337216B1 (ko) 컴퓨터 시스템 및 시그니처검증서버
CN111782207A (zh) 任务流代码生成方法、装置、设备及存储介质
KR101665962B1 (ko) 모델링 코드 검증 방법, 이를 수행하는 모델링 코드 검증 장치 및 이를 저장하는 기록매체
US20180150378A1 (en) Verification of model-driven software architecture
KR102114547B1 (ko) 대상 프로그램에 포함된 대상 함수를 테스트하는 방법 및 장치
CN114091383A (zh) 测试序列生成方法、装置、系统及相关设备
US20140359258A1 (en) Declarative Configuration Elements
KR101510752B1 (ko) 반도체 프로세스 레시피들의 자동화된 검증을 위한 방법 및 장치
US10585779B2 (en) Systems and methods of requirements chaining and applications thereof
CN111245676B (zh) 通信协议可信性验证装置
CN112232031A (zh) 电力物联网边缘数据模型校验方法、装置及存储介质
KR101585926B1 (ko) 운영체제의 자동 테스트 생성 장치 및 방법
CN117272694B (zh) 基于参数组件化建立装备仿真模型的方法、系统及介质
CN111224985B (zh) 通信协议可信性验证方法
JP2018121245A (ja) 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191007

Year of fee payment: 4