KR102019963B1 - 모델 내 서브시스템의 유사도 측정 장치 및 유사도 측정 방법 - Google Patents

모델 내 서브시스템의 유사도 측정 장치 및 유사도 측정 방법 Download PDF

Info

Publication number
KR102019963B1
KR102019963B1 KR1020180017044A KR20180017044A KR102019963B1 KR 102019963 B1 KR102019963 B1 KR 102019963B1 KR 1020180017044 A KR1020180017044 A KR 1020180017044A KR 20180017044 A KR20180017044 A KR 20180017044A KR 102019963 B1 KR102019963 B1 KR 102019963B1
Authority
KR
South Korea
Prior art keywords
subsystem
subsystems
model
similarity
functional block
Prior art date
Application number
KR1020180017044A
Other languages
English (en)
Other versions
KR20190097521A (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 KR1020180017044A priority Critical patent/KR102019963B1/ko
Publication of KR20190097521A publication Critical patent/KR20190097521A/ko
Application granted granted Critical
Publication of KR102019963B1 publication Critical patent/KR102019963B1/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

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 모델 내 서브시스템의 유사도 측정 방법은 모델 내 서브시스템들을 계층적으로 분류하는 단계, 기능블록으로 구성된 상기 서브시스템 간 유사도를 측정하는 단계 및 상기 유사도 측정 결과 상호 동일한 서브시스템들을 라이브러리로 설정하는 단계를 포함할 수 있다.

Description

모델 내 서브시스템의 유사도 측정 장치 및 유사도 측정 방법{SIMIRALITY DETERMING APPARATUS OF SUBSYSTEM INDULDED IN A MODEL AND SIMIRALTIY DETERMINING METHOD FOR THE SAME}
본 발명은 모델 내 서브시스템의 유사도 측정 장치 및 유사도 측정 방법에 관한 것으로, 보다 구체적으로, 서브시스템간 유사도를 측정하여 동일한 서브시스템을 라이브러리로 설정하기 위한, 모델 내 서브시스템의 유사도 측정 장치 및 유사도 측정 방법에 관한 것이다.
IT 기술의 급격한 발달로 인하여 소프트웨어의 규모는 커지고 복잡성은 점차 증가하였다. 이로 인해, 소프트웨어의 유지보수 비용이 증가하게 되는데, 일반적으로 소프트웨어의 전체 생명 주기 중 유지보수 단계에서의 소요비용은 전체 소프트웨어 개발 비용의 약 60%를 차지한다. 따라서, 비용의 관점에서 본다면, 전체 소프트웨어의 개발 비용을 감소시키기 위해서는 유지보수에 소요되는 비용을 감소시키는 방법이 반드시 이루어져야 한다.
소프트웨어 개발 및 유지보수 비용을 줄이기 위하여 모델을 기반으로 개발하는 모델 기반 개발 (Model-based Development, MBD)이 도입되게 되었다. 그런데, 모델 기반 개발에서는, 설계된 모델의 규모가 커질수록 검증에 소요되는 시간도 증가하게 된다. 따라서, 대규모 모델의 경우, 위와 같은 문제가 발생하면 개발에 대한 시간적 비용이 증가하게 되므로, 모델내의 동일한 서브시스템을 찾아 별도로 관리함으로서, 시스템 성능을 향상시킴과 동시에 유지보수가 보다 용이하도록 하는 필요성이 대두되고 있다.
본 발명은 전술한 문제점을 해결하기 위해 도출된 것으로, 모델내의 동일한 서브시스템을 찾아 별도로 관리함으로서, 불필요한 수정을 방지함으로서 시스템 성능을 향상시킴과 동시에 비용이 절감되어 유지보수가 보다 용이하도록 하는데 그 목적이 있다.
본 발명의 일 실시예에 따른 모델 변경 분석을 통한 모델 검증 방법은 모델 변경을 감지하는 모델 변경 감지 단계, 상기 변경된 모델을 기존 모델과 비교하여 상기 변경된 모델을 분석하는 모델 변경 분석 단계 및 상기 변경된 모델만을 검증하는 모델 부분 검증 단계를 포함하며,
상기 변경된 모델 및 상기 기존 모델은 각각 기능적으로 관련 있는 기능 블록들의 계층적 그룹화를 통한 서브시스템 단위로 정의되는 것을 특징으로 한다.
본 발명의 다른 실시예에 따른 모델 변경 분석을 통한 모델 검증 장치는 모델 변경을 감지하는 모델 변경 감지부, 상기 변경된 모델을 기존 모델과 비교하여 상기 변경된 모델을 분석하는 모델 변경 분석부 및 상기 변경된 모델만을 검증하는 모델 부분 검증부를 포함하고, 상기 변경된 모델 및 상기 기존 모델은 각각 기능적으로 관련 있는 기능 블록들의 계층적 그룹화를 통한 서브시스템 단위로 정의되는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따른 기록매체는 전술한 방법을 실행하기 위한 컴퓨터 프로그램을 기록할 수 있다.
본 발명의 일 실시예에 따르면, 모델내의 동일한 서브시스템을 찾아 별도로 관리함으로서, 불필요한 수정을 방지함으로서 시스템 성능을 향상시킴과 동시에 비용을 절감하여 유지보수가 보다 용이해진다.
도 1은 본 발명의 실시예에 따른 모델 내 서브시스템의 유사도 측정 장치이다.
도 2는 본 발명의 실시예에 따른 모델 내 서브시스템의 유사도 측정 방법에 대한 순서도이다.
도 3 내지 도 6은 본 발명의 실시예에 따른 모델 내 서브시스템의 유사도 측정 방법을 기술하기 위해 참조되는 도면이다.
도 7 내지 도 9는 본 발명의 실시예에 따른 모델을 생성하기 위한 기반인 모델링 툴이 시뮬링크인 경우와 타겟링크인 경우 각각을 비교하기 위해 참조되는 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 첨부되는 도면을 참조하여 본 발명의 실시예에 따른 모델 내 서브시스템의 유사도 측정 방법 및 장치에 대해 기술하고자 한다.
도 1은 본 발명의 실시예에 따른 모델 내 서브시스템의 유사도 측정 장치이다.
도 1에 도시한 바와 같이, 본 발명의 실시예에 따른 모델 내 서브시스템의 유사도 측정 장치는 입력부(100), 제어부(200), 메모리부(300), 출력부(400)를 포함할 수 있다.
본 발명의 실시예에 따른 모델 내 서브시스템의 유사도 측정 장치는 운영체제에 의해 구동되고, 소프트웨어의 설치 및 편집이 가능한 장치로서, 프로그램 모듈 또는 하드웨어들을 포함한다. 메모리부(300)를 구비하고 마이크로 프로세서(이하, 제어부(200)라 한다)를 탑재하여 연산 능력을 갖춘 기기라면 얼마든지 본 발명의 실시예에 따른 모델 내 서브시스템의 유사도 측정 장치로 이용될 수 있다. 예를 들어, 데스크탑(desktop) 컴퓨터, 노트북(notebook) 컴퓨터, PDA(Personal Digital Assistant) 및 스마트폰(smart phone)과 같은 전자 장치일 수 있다.
입력부(100)는 사용자가 컴퓨팅 시스템을 조작할 수 있도록 하는 입력 경로가 되는 것으로, 키보드, 마우스, 포인팅 장치, 터치 스크린 등을 포함할 수 있다. 본 발명의 경우, 모델링 툴의 기능 블록과 관련된 배열 정보는 입력부(100)를 통해 입력되고, 제어부(200)는 입력부(100)로부터 모델링 툴 기능 블록에 대한 배치 정보를 수신하게 되며, 해당 배치 정보가 출력부(400)를 통해 출력될 수 있다.
제어부(200)는 입력부(100), 메모리부(300), 출력부(400)와 연동되어 모델 내 서브시스템의 유사도 측정 장치를 제어하는 것으로, 본 발명의 일 실시예에 따라 분류부(210), 측정부(220), 설정부(230)를 포함할 수 있다. 블록도 내의 각 구성요소에 대해서는 이하에서 자세하게 후술한다.
메모리부(300)는 모델 내 서브시스템의 유사도 측정 장치의 다양한 정보를 저장한다. 메모리부(300)는 모델 내 서브시스템의 유사도 측정 장치에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 모델 내 서브시스템의 유사도 측정 장치의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수도 있다. 또한, 본 발명의 일 실시예에 따라 메모리부(300)는 각종 수식 데이터베이스와 시뮬링크나 타켓링크 등의 모델링 툴을 저장할 수 있다.
출력부(400)는 터치스크린, 모니터 등을 포함하며, 제어부(200)를 통해 처리된 결과를 디스플레이할 수 있다. 특히, 본 발명에 따르면 모델링 결과를 렌더링하여 사용자에게 출력할 수 있다.
지금까지는 본 발명의 실시예에 따른 모델 내 서브시스템의 유사도 측정 장치의 구성을 기술하였으며, 하기에서 모델 내 서브시스템의 유사도 측정 방법에 대해서 기술하고자 한다.
도 3을 참조하면, 모델은 복수의 서브시스템을 포함할 수 있고, 각 서브시스템 간의 유사도를 측정하여, 동일한 서브시스템을 판별해내는 작업이 필요하다. 예를 들어, 도 3의 경우, 서브시스템1을 구성하는 기능블록들은 서브시스템2를 구성하는 기능블록들과 속성값 및 연결관계가 실질적으로 동일하다. 이런 경우, 서브시스템1 및 서브시스템2를 판별하여 하나의 라이브러리로 설정해놓으면, 서브시스템1 및 서브시스템2 중 적어도 어느 하나에 대한 수정 사항이 필요한 경우, 상기 라이브러리만 수정하면 되고 서브시스템1 및 서브시스템2 중 적어도 어느 하나에 대한 별도의 수정과정을 거치지 않아도 됨으로써, 시스템 성능이 향상될 수 있고 비용적인 측면에서도 상당한 비용을 절감할 수 있게 된다.
도 2를 참조하면, 본 발명의 실시예에 따른 모델 내 서브시스템의 유사도 측정 방법에 따르면, 우선, 분류부(210)는 모델 내 서브시스템들을 계층적으로 분류할 수 있다(S210). 예를 들어, 모델에 속한 각 서브시스템들 간의 관계를 분석하여 서브시스템들의 개수를 판별하거나, 각 서브시스템에 포함된 기능블록의 속성, 형상 및 위치 중 적어도 하나를 판단할 수 있다.
측정부(220)는 기능블록으로 구성된 서브시스템 간 유사도를 측정할 수 있다(S220). 예를 들어, 도 4에 도시한 바와 같이 서브시스템1과 서브시스템2의 유사도를 측정할 수 있다. 본 발명의 경우, 두개의 서브시스템에 대한 상호 비교를 기술하였으나, 실시예에 따라 세개 이상의 서브시스템간 상호 비교를 수행할 수도 있다. 즉, 서브시스템 단위로 유사판단이 이루어질 수 있다.
각 서브시스템 간 유사도 측정은, 기능블록의 조합으로 생성된 적어도 하나의 기능블록어레이를 하나의 단위로 하여금 수행될 수 있다.
예를 들어, 도 4a(A)의 서브시스템1은 4개의 기능블록(signal builder, Fcn, Abs, Scope)을 포함할 수 있고, 각 기능블록의 조합으로 4개(①②③④)의 기능블록어레이를 생성할 수 있다. 하나의 기능블록어레이는 3개의 기능블록들이 각각에 대한 속성값과 함께 연결되어 구성될 수 있고, 이 때, 각 기능블록이 해당 기능블록의 앞에 위치한 기능블록과 뒤에 위치한 기능블록과 각각 연결되어 구성될 수 있다. 이때, Signal builder 기능블록은 앞에 기능블록이 존재하지 않으므로 Signal builder 기능블록을 기준으로 한 기능블록어레이 ①은 Signal builder 기능블록 및 Fcn기능블록으로 구성될 수 있고, Fcn 기능블록을 기준으로 한 기능블록어레이 ②는 앞에 Signal builder 및 뒤에 Abs를 포함하므로, Signal builder, Fcn, Abs 순서로 각 기능블록이 ② 기능블록어레이를 구성할 수 있다. 본 발명의 경우, 일 실시예로 3개의 기능블록이 하나의 기능블록어레이를 구성하는 것으로 기술하였으나, 2개 또는 4개 이상의 기능블록이 하나의 기능블록어레이를 구성하도록 구현될 수도 있다. 이러한 기능블록어레이를 구성하는 기능블록의 개수나 연결관계 등에 대한 정보는 메모리(300)에 미리 설정되어 저장될 수 있다.
이와 마찬가지로, 도 4b(B)의 서브시스템2는 4개의 기능블록(signal builder, Fcn, Gain, Scope)을 포함할 수 있고, 각 기능블록의 조합으로 4개(①②③④)의 기능블록어레이를 생성할 수 있다. 이 때, 도 4a(A)에서 기술한 기능블록 및 기능블록어레이간의 관계는 도 4b(B)에도 동일하게 적용될 수 있다.
측정부(220)는 이렇게 생성된 기능블록어레이를 기능블록어레이 단위로 일대일 비교하여, 서브시스템1 및 서브시스템2 간의 유사도를 측정할 수 있다.
도 5a는 도 4의 기능블록어레이를 기반으로, 서브시스템1 및 서브시스템2 간의 유사도 측정 결과값을 나타낸 표이다.
도 5a의 표에서의 첫번째 행과 첫번째 열에는 서브시스템1 및 서브시스템2로부터 도출된 각각의 기능블록어레이가 배치된다. 이 때, 첫번째 행 및 열의 최초값에는 공집합이 할당된다. 이어서, 서브시스템1의 각 기능블록어레이(①②③④)와 서브시스템2의 각 기능블록어레이(①②③④)를 하기의 알고리즘으로 비교하여, 각각에 대한 비교 결과값을 산출한다.
하기의 알고리즘은 예를 들어, 편집거리 알고리즘으로 구현될 수 있다.
A(i)와 B(j)가 같다면 V(i, j) = V(i-1, j-1) [가]
A(i)와 B(j)가 다르면 V(i, j) = min(V(i-1, j-1)+1, V(i, j-1)+1, V(i-1, j)+1) [나]
전술한 식에서 A(i)는 서브시스템1을 구성하는 기능블록어레이들 중 하나이고, B(j)는 서브시스템2를 구성하는 기능블록어레이들 중 하나이다. 그리고, V(i,j)는 각 기능블록어레이를 비교한 결과값이다. 예를 들어, 서브시스템1을 구성하는 ① 기능블록어레이와 서브시스템2를 구성하는 ① 기능블록어레이는 동일하므로, V(①, ①) = V(0,0)이 적용되어, '0'이 산출된다. 반면, 서브시스템1을 구성하는 ④ 기능블록어레이와 서브시스템2를 구성하는 ④ 기능블록어레이는 상이하므로, V(④, ④) = min(V(3, 3)+1, V(4, 3)+1, V(3, 4)+1)이 적용되어 '3'이 산출된다. 이어서, 도 5a의 '3'은 다시 하나의 기능블록어레이를 구성하는 기능블록들의 수치인 3으로 나누어져, 최종적으로 '1' 수치를 얻게 된다. 따라서, 최종 유사도 수치로 '1'이 산출되어, 서브시스템1과 서브시스템2는 '1' 정도의 확률로 상이함을 알 수 있다. 이 때, 전술한 [가] 및 [나] 식에서 판단할 수 있듯이, 각 기능블록어레이간 유사도 측정 결과는, 각 기능블록어레이에 앞서 획득된 이전 기능블록어레이에 대한 유사도 측정값을 참고하여 활용함을 알 수 있다.
서브시스템간의 유사도 측정 결과는 서브시스템1 및 서브시스템2이 동일한 경우, 최종적으로 소정의 값('0')을 출력할 수 있고, 서브시스템1 및 서브시스템2이 상이한 경우, 또 다른 소정의 값을 출력할 수 있다. 예를 들어, 도 5b는 서브시스템1 및 서브시스템2이 동일한 경우(도 6(A)참조)의 판정 비교표로, 최종적으로 '0'을 출력한 반면, 도 5a는 전술한 바와 같이 서브시스템1 및 서브시스템2의 유사도 측정 결과, 하나의 기능블록만이 상이하므로, 이에 해당하는 '1' 이 최종적으로 출력될 수 있다. 도 5a에서는 서브시스템1의 ④ 기능블록어레이와 서브시스템2의 ④기능블록어레이를 비교한 결과, 각 기능블록어레이가 상이하므로, 전술한 [나] 식을 적용하여 우선적으로'3'을 획득하고, 기능블록어레이가 3개의 기능블록으로 구성되어 획득된 값(3)을 3으로 나누어 최종적으로 1이 출력될 수 있는 것이다.
다시 말해, 출력된 값을 기준으로, 서브시스템1 및 서브시스템2이 동일한지 또는 상이한지 여부를 판단할 수 있으며, 상이한 경우, 획득된 수치값을 기준으로 몇 개의 기능블록이 상이한지 여부(또는 상이한 정도)까지를 보다 구체적으로 판단하여 유사도를 측정할 수 있다.
그리고, 본 발명의 실시예에서는 서브시스템1과 서브시스템2을 구성하는 각 기능블록의 속성값까지 완전히 동일한 경우, 동일한 서브시스템인 것으로 판단할 수 있다. 반면, 각 기능블록의 속성값은 동일하지만 단순히 형상이 상이한 경우, 또는 서브시스템2를 구성하는 기능블록의 개수와 서브시스템1을 구성하는 기능블록의 개수가 상이한 경우 등은 유사한 서브시스템인 것으로 판단할 수 있다. 이때, 도 5b와 같이 최종적으로 획득한 수치가 '0'인 경우, 두 서브시스템이 완전히 동일한 것을 의미하고, 도 5a와 같이 최종적으로 획득한 수치가 '0' 이 아닌 경우, 유사하거나 다른 서브시스템인 것으로 판단할 수 있다. 이 때, 최종적으로 획득한 수치가 0보다 큰 경우에는, 그 수치가 작을수록 보다 유사하고 그 수치가 높을수록 보다 상이함을 나타낼 수 있다.
전술한 서브시스템 간 유사도 측정은 n2-n 번 만큼 비교가 반복 수행될 수 있다. 여기서 n은 한 모델에 포함된 서브시스템의 개수이다. 예를 들어, 한 모델에 포함된 서브시스템의 개수가 3(서브시스템1, 서브시스템2, 서브시스템3)인 경우, 서브시스템1을 기준으로 한 서브시스템2 및 서브시스템3와의 비교측정수행, 서브시스템2를 기준으로 한 서브시스템1 및 서브시스템3과의 비교측정수행, 그리고 서브시스템3을 기준으로 한 서브시스템 1 및 서브시스템2와의 비교측정수행인 총 6번의 반복 수행을 거칠 수 있다. 즉, 각 서브시스템을 기준으로 타 서브시스템과 비교수행을 반복하며, 이 때, 유사측정알고리즘의 시간복잡도는 n2 가 된다.
설정부(230)는 유사도 측정 결과 상호 동일한 서브시스템들을 라이브러리로 설정할 수 있다(S230).
도 6은 서브시스템1 및 서브시스템2의 각 기능블록이 동일한 경우를 예시한다. 도 6에 도시한 바와 같이, 본 발명의 실시예에 따른 유사성 판단 알고리즘을 수행하기 전 원래의 상태에 존재했던 도 6(B)와 같은 각 서브시스템에 대하여 도 4 및 도 5에서 전술한 유사성 판단 알고리즘을 수행한 경우, 서브시스템1 및 서브시스템2이 동일하여 도 6(C)와 같이 각각이 라이브러리로 설정됨을 알 수 있다.
정리하자면, 도 4a 및 도 4b와 같이 서브시스템1 및 서브시스템2가 동일하지 않은 경우, 서브시스템1에 대한 수정 사항이 발생시 서브시스템2에 대해서도 동일한 수정을 반복적으로 수행해야 하지만, 도 6c와 같이 서브시스템1 및 서브시스템2가 동일하고 서스시스템1 및 서브시스템2가 상호간에 연결된 라이브러리(linked library)를 참고하고 있다면, 서브시스템1 및 서브시스템2 중 적어도 하나에 대한 수정 사항이 필요시, 서브시스템1 및 서브시스템2 중 적어도 하나를 직접적으로 수정하지 않고, 라이브러리만 수정하여도 서브시스템1 및 서브시스템2 중 적어도 하나에 결과적으로 수정 사항이 반영되므로, 비용이 절감될 수 있게 된다. 이 때, 하나의 라이브러리로 연결된 서브시스템1 및 서브시스템2 중 적어도 하나는 직접적인 편집이 불가능하도록 설정될 수 있다.
도 3 내지 도 6에서 전술한 모델 내 서브시스템의 유사도 측정은 일 실시예에 따라 기능블록의 시뮬링크를 기반으로 한 속성값을 기준으로 유사도를 측정할 수도 있으며, 또는 다른 실시예에 따라 기능블록의 타겟링크를 기반으로 한 속성값을 기준으로 유사도를 측정할 수도 있다.
시뮬링크(Simulink)는 멀티 도메인 동적 시스템의 모델링, 시뮬레이팅, 그리고 분석을 위한 그래픽 프로그래밍 환경이고, 타겟링크(TargetLink)는 시뮬링크에 기초한 자동 코드 생성 소프트웨어이다.
시뮬링크란, 예를 들어, MATLAB이라는 플랫폼 기반 하에서, 도 7a에 도시한 바와 같은 적어도 하나의 기능 블록(3010a, 3010b 등)을 포함하는 라이브러리(3000)를 포함하는 시뮬레이션 모델링 툴이다. 또한, 타겟링크는 시뮬링크를 기반으로 생성된 시뮬레이션 모델링 툴 중 하나로서, 도 7b에 도시한 바와 같은 적어도 하나의 기능 블록(4010a, 4010b 등)을 포함하는 라이브러리(4000)를 포함하는 시뮬레이션 모델링 툴이다. 다시 말해, 타겟링크는 자동 코드 생성을 위한 소프트웨어로 시뮬링크와 MATLAB 이라는 플랫폼 기반하에서 동작하는 시뮬레이션 모델링 툴로 정의될 수 있다.
본 발명은 전술한 타겟링크 이외에도 LabView, System View, Signal Processing Workstation, HyperSignal, COSSAP, Ptolemy 등에도 동일/유사하게 적용될 수 있다.
본 발명의 경우, 도 8a와 같이 기능블록의 시뮬링크를 기반으로 한 속성값을 기준으로 유사도를 측정할 수도 있으며, 또는 다른 실시예에 따라 도 8b와 같이 기능블록의 타겟링크를 기반으로 한 속성값을 기준으로 유사도를 측정할 수도 있다. 예를 들어, 기능블록의 시뮬링크를 기반으로 한 속성값은 출력데이터 타입(Output data type, 7010)을 포함할 수 있고, 기능블록의 타겟링크를 기반으로 한 속성값은 데이터 타입(Type, 7020), 최소유효비트(LSB, 7021), 및 옵셋(offset, 7022) 중 적어도 하나를 포함할 수 있다. 도 8a는 게인(Gain) 기능 블록의 시뮬링크를 기반으로 생성된 속성값(7010)을 포함하는 파라미터창(7000a)을 도시하고 있고, 도 8b는 게인(Gain) 기능 블록의 타겟링크를 기반으로 생성된 속성값(7020 내지 7022)을 포함하는 파라미터창(7000b)를 도시하고 있다.
이 때, 전술한 바와 같이 상기 기능 블록은 시뮬링크를 기반으로 속성값이 생성될 수도 있고, 타겟링크를 기반으로 속성값이 생성될 수도 있으며, 기능 블록의 종류에 따라 시뮬링크와 타겟링크가 다르게 표현되거나 생성될 수 있다.
예를 들어, 도 8은 기능 블록 중 데이터 기능을 표현하는 제 1 기능 블록의 시뮬링크를 기반으로 한 속성값 생성(도 8a) 및 타겟링크를 기반으로 한 속성값 생성(도 8b)를 도시하고 있으며, 도 9는 기능 블록 중 데이터 흐름을 표현하는 제 2 기능 블록(이하, state flow data)라고 한다.) 의 시뮬링크를 기반으로 한 속성값 생성(도 9a) 및 타겟링크를 기반으로 한 속성값 생성(도 9b)를 도시하고 있다.
한편, 도 9a는 상태흐름데이터(state flow data)의 시뮬링크를 기반으로 생성된 속성값(8010)을 포함하는 파라미터창(8000a)을 도시하고 있고, 도 9b는 state flow data의 타겟링크를 기반으로 생성된 속성값(8020)을 포함하는 파라미터창(8000b)를 도시하고 있다. 이 때, 도 9에서의 속성값에 대한 내용은 도 8에서 전술한 기능이 동일/유사하게 적용될 수 있다. 또한, 도 9a의 속성값(8010)과 같이, 탭을 선택하는 사용자 입력으로 속성값 입력이 구현되는 방식과 달리, 도 9b의 속성값(8020)과 같이, 별도의 기술창(Description, 8050)을 통해 사용자가 입력하는 형태로 속성값 입력이 구현될 수도 있다.
도 4a(A) 및 도 4b(B)에서 전술한 서브시스템1 및 서스시스템2의 기능블록에 대하여 시뮬링크를 기반으로 한 속성값을 기준으로 유사도를 측정하게 된다면, 서브시스템1의 기능블록어레이 ①의 Signal builder, Fcn의 출력데이터 타입(Output data type)과 서브시스템2의 기능블록어레이 ①의 Signal builder, Fcn의 출력데이터 타입(Output data type)을 상호 비교할 수 있다.
반면, 도 4a(A) 및 도 4b(B)에서 전술한 서브시스템1 및 서스시스템2의 기능블록에 대하여 타겟링크를 기반으로 한 속성값을 기준으로 유사도를 측정하게 된다면, 서브시스템1의 기능블록어레이 ①의 Signal builder, Fcn의 데이터 타입(Type, 7020), 최소유효비트(LSB, 7021), 및 옵셋(offset, 7022) 중 적어도 하나와 서브시스템2의 기능블록어레이 ①의 Signal builder, Fcn의 Signal builder, Fcn의 데이터 타입(Type, 7020), 최소유효비트(LSB, 7021), 및 옵셋(offset, 7022) 중 적어도 하나를 상호 비교할 수 있다.
이상 설명된 실시 형태는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터로 판독가능한 기록매체에 기록될 수 있다. 상기 컴퓨터로 판독가능한 기록매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터로 판독가능한 기록매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 판독가능한 기록매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 실행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 명세서의 양상들은 전체적으로 하드웨어, 전체적으로 소프트웨어 (펌웨어, 상주 소프트웨어, 마이크로 코드 등을 포함 함) 또는 컴퓨터 판독 가능 프로그램 코드가 구현 된 하나 이상의 컴퓨터 판독 가능 매체에 구현 된 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
이상에서 실시예들에 설명된 특징, 구조, 효과 등은 본 발명의 하나의 실시예에 포함되며, 반드시 하나의 실시예에만 한정되는 것은 아니다. 나아가, 각 실시예에서 예시된 특징, 구조, 효과 등은 실시예들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시예들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
또한, 이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (7)

  1. 모델 내 서브시스템들을 계층적으로 분류하는 단계;
    기능블록으로 구성된 상기 서브시스템 간 유사도를 측정하는 단계; 및
    상기 유사도 측정 결과 상호 동일한 서브시스템들을 라이브러리로 설정하는 단계를 포함하는, 모델 내 서브시스템의 유사도 측정 방법.
  2. 제 1항에 있어서,
    상기 유사도 측정 단계는,
    상기 기능블록을 조합하여 적어도 하나의 기능블록어레이를 생성하는 단계; 및
    상기 생성된 기능블록어레이를 기반으로 상기 서브시스템간 유사도를 측정하는 단계;를 포함하는,
    모델 내 서브시스템의 유사도 측정 방법.
  3. 제 1항에 있어서,
    상기 서브시스템 간 유사도 측정은,
    하기 수식만큼 반복 수행되는,
    모델 내 서브시스템의 유사도 측정 방법.
    n2-n
    (n은 모델내 서브시스템의 갯수)
  4. 제 1항에 있어서,
    상기 라이브러리로 설정된 상기 동일한 서브시스템들은 직접적인 편집이 불가능하도록 설정된,
    모델 내 서브시스템의 유사도 측정 방법.
  5. 제 1항에 있어서,
    상기 유사도 측정은 상기 기능블록의 시뮬링크를 기반으로 한 속성값을 기준으로 수행되거나, 상기 기능블록의 타겟링크를 기반으로 한 속성값을 기준으로 수행되는,
    모델 내 서브시스템의 유사도 측정 방법.
  6. 모델 내 서브시스템들을 계층적으로 분류하는 분류부;
    기능블록으로 구성된 상기 서브시스템 간 유사도를 측정하는 측정부; 및
    상기 유사도 측정 결과 상호 동일한 서브시스템들을 라이브러리로 설정하는 설정부;를 포함하는, 모델 내 서브시스템의 유사도 측정 장치.
  7. 제 1항 내지 제 5항 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체.
KR1020180017044A 2018-02-12 2018-02-12 모델 내 서브시스템의 유사도 측정 장치 및 유사도 측정 방법 KR102019963B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180017044A KR102019963B1 (ko) 2018-02-12 2018-02-12 모델 내 서브시스템의 유사도 측정 장치 및 유사도 측정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180017044A KR102019963B1 (ko) 2018-02-12 2018-02-12 모델 내 서브시스템의 유사도 측정 장치 및 유사도 측정 방법

Publications (2)

Publication Number Publication Date
KR20190097521A KR20190097521A (ko) 2019-08-21
KR102019963B1 true KR102019963B1 (ko) 2019-09-06

Family

ID=67808092

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180017044A KR102019963B1 (ko) 2018-02-12 2018-02-12 모델 내 서브시스템의 유사도 측정 장치 및 유사도 측정 방법

Country Status (1)

Country Link
KR (1) KR102019963B1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317659B1 (en) * 1999-12-09 2001-11-13 Honeywell International Inc. Layered subsystem architecture for a flight management system
KR101375171B1 (ko) * 2006-12-30 2014-03-18 삼성전자주식회사 시스템 온 칩 모델 검증 방법 및 장치
US8694313B2 (en) * 2010-05-19 2014-04-08 Google Inc. Disambiguation of contact information using historical data
KR20130091096A (ko) * 2012-02-07 2013-08-16 한국전자통신연구원 하이브리드 시스템을 검증하기 위한 시뮬레이션 장치 및 방법
KR101862221B1 (ko) * 2016-04-25 2018-05-30 한국항공우주산업 주식회사 항공기 비행제어법칙 시뮬레이션 방법 및 장치

Also Published As

Publication number Publication date
KR20190097521A (ko) 2019-08-21

Similar Documents

Publication Publication Date Title
US20140115565A1 (en) Test similarity detection with method call sequence analysis
US7844928B2 (en) Method and apparatus for evaluating integrated circuit design performance using enhanced basic block vectors that include data dependent information
US9032339B2 (en) Ranking verification results for root cause analysis
US8230382B2 (en) Model based simulation of electronic discharge and optimization methodology for design checking
US11144682B2 (en) Data processing system and method for assembling components in a computer-aided design (CAD) environment
US8868381B2 (en) Control system design simulation using switched linearization
US7681157B2 (en) Variable threshold system and method for multi-corner static timing analysis
US20160292307A1 (en) Temporal logic robustness guided testing for cyber-physical systems
US20210240905A1 (en) Advanced cell-aware fault model for yield analysis and physical failure analysis
CN113626326A (zh) 一种基于图像识别的拖拽式的零代码前端自动化测试系统
US20170039315A1 (en) Information processing apparatus and simulation method
KR102019963B1 (ko) 모델 내 서브시스템의 유사도 측정 장치 및 유사도 측정 방법
JP2020013577A (ja) 仮想キーボードの誤タイピングを補正するための方法、システム、およびコンピュータプログラム
Metz et al. ML-based power estimation of convolutional neural networks on GPGPUs
US10970183B1 (en) System and method for improving model performance
KR102110735B1 (ko) 취약점 탐색을 위한 바이너리 재생성 방법 및 시스템
US10311187B2 (en) Circuit design method and simulation method based on random telegraph signal noise
KR102043075B1 (ko) 모델 변경 분석을 통한 모델 검증 방법 및 모델 검증 장치
US20200034273A1 (en) Systems and methods of requirements chaining and applications thereof
CN108647380A (zh) 基于PD-Net的并发系统检错方法、系统、介质及设备
CN115033434A (zh) 一种内核性能理论值计算方法、装置及存储介质
US9442701B1 (en) Verifying models for exceptional behavior
JP2015135548A (ja) 組立歩留予測装置、組立歩留予測プログラムおよび組立歩留予測方法
CN110059328B (zh) 结构分析模拟方法、信息处理设备和计算机可读存储介质
KR101849170B1 (ko) 유동해석 관리를 위한 장치 및 그 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right