KR20190121844A - 속성 그래프 데이터 모델 분석에 의한 견고성 정량화 - Google Patents

속성 그래프 데이터 모델 분석에 의한 견고성 정량화 Download PDF

Info

Publication number
KR20190121844A
KR20190121844A KR1020197028940A KR20197028940A KR20190121844A KR 20190121844 A KR20190121844 A KR 20190121844A KR 1020197028940 A KR1020197028940 A KR 1020197028940A KR 20197028940 A KR20197028940 A KR 20197028940A KR 20190121844 A KR20190121844 A KR 20190121844A
Authority
KR
South Korea
Prior art keywords
edge
system architecture
data structure
instances
weighted
Prior art date
Application number
KR1020197028940A
Other languages
English (en)
Other versions
KR102265092B1 (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 KR20190121844A publication Critical patent/KR20190121844A/ko
Application granted granted Critical
Publication of KR102265092B1 publication Critical patent/KR102265092B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

시스템 및 방법은 시스템 아키텍처를 표현하는 복수의 가중 속성 그래프 데이터 모델을 생성한다. 모델 각각은 시스템 아키텍처의 설계 디멘전의 복수의 인스턴스를 표현하는 복수의 정점 및 대응하는 연결된 제1 정점의 쌍에 의해 설계 디멘전의 제1 인스턴스의 쌍의 계층적 지향성 구성 및 계층적 지향성 분해를 표현하도록 제1 정점의 쌍을 연결하는 복수의 가중 구성 에지를 포함하는 반면, 각각이 대응하는 연결된 제2 정점의 쌍에 의해 표현된 설계 디멘전의 제2 인스턴스의 쌍 사이에 정보 교환 인터페이스를 표현하도록 제2 정점의 쌍을 연결하는 상이한 수의 가중 인터페이스 에지를 포함한다. 모델의 각각의 매개 계층적 클러스터가 생성되고 시스템 아키텍처의 견고성을 정량화하기 위해 가장 높은 가중 인터페이스 에지(most weighted interface edges)를 갖는 모델과 상관된다.

Description

속성 그래프 데이터 모델 분석에 의한 견고성 정량화
이 특허 출원은 2017년 3월 16일자로 출원된 미국 출원 번호 15/460,462에 우선권이 있다고 주장하며, 이는 그 전문이 본원에 참조로 포함된다.
실시예는 일반적으로 시스템 아키텍처 모델(system architecture models)에 관한 것으로, 보다 상세하게는 시스템 아키텍처를 표현(representing)하는 속성 그래프 데이터 모델(property graph data models)을 분석함으로써 시스템 아키텍처(system architecture)의 견고성(robustness)을 정량화(quantifying)하는 것에 관한 것이다.
시스템 아키텍처(system architecture)를 개발할 때, 시스템의 물리적 계층(physical hierarchy) 및 정보 교환 인터페이스(information exchange interfaces)에 관한 데이터는 시스템 아키텍처의 이해를 용이하게 한다. 시스템 아키텍처의 다양한 측면을 설계하고 개발하는데 사용되는 다양한 툴(tools)이 있어, 시스템의 물리적 계층 및 정보 교환 인터페이스에 관한 데이터는 일반적으로 이러한 다양한 툴 간에 다양한 상이한 형태로 분산된다. 이러한 툴은 아키텍처 개발에 기여하는 다양한 도메인에 의해 활용될 수 있지만, 소프트웨어 패키지에서 상이한 언어 및 표준을 활용하여 서비스하려는 도메인별로 개발할 수 있다. 일부 예는 시스템 및 소프트웨어 모델링 툴(system and software modeling tools)(예를 들어, IBM® RATIONAL® RHAPSODY® DESIGNER FOR SYSTEMS ENGINEERS, No Magic, Inc.'s MAGICDRAW, Vitech Corporation's CORETM); 또는 기계 및 전기 설계 툴(예를 들어, , PTC's CREO®, DASSAULT SYSTEMES' SOLIDWORKS, PTC's CREO SCHEMATICTM) 등을 포함한다. 계산 분석은 일반적으로 시스템 설계의 다양한 측면 상에서 수행되지만, 전체 시스템 아키텍처에서는 아니다. 시스템 아키텍처의 전체 분석은 일반적으로 전문가에 의한 수동 모델링 및 분석, 보고서의 준비, 피어 요구 사항 리뷰(peer requirements reviews) 및 설계 리뷰를 포함한다.
도 1은 일부 실시예에 따른 시스템 아키텍처를 표현하는 속성 그래프 데이터 모델의 생성을 위한 데이터 흐름을 표현하는 블록도이다.
도 2는 일부 실시예에 따른 그래프 스키마를 도시하는 블록도이다.
도 3은 일부 실시예에 따른 도 2의 그래프 스키마에 따른 속성 그래프를 도시하는 블록도이다.
도 4는 일부 실시예에 따른 속성 그래프를 생성하기 위한 시스템을 도시하는 블록도이다.
도 5는 일부 실시예에 따른 속성 그래프를 생성하는 방법을 도시하는 블록도이다.
도 6a 및 도 6b는 일부 실시예에 따른 속성 그래프에 기초하여 가중 파트-투-파트 커플링 그래프를 생성하는 것을 도시하는 블록도이다.
도 7은 일부 실시예에 따른 가중 파트-투-파트 커플링 그래프를 생성하기 위한 시스템을 도시하는 블록도이다.
도 8은 일부 실시예에 따른 가중 파트-투-파트 커플링 그래프를 생성하는 방법을 도시하는 블록도이다.
도 9는 일부 실시예에 따른 시스템 아키텍처의 일관성을 정량화하는 것을 표현하는 블록도이다.
도 10은 일부 실시예에 따른 다양한 예시적인 계산 분석 결과를 도시하는 그래프이다.
도 11은 일부 실시예에 따른 시스템 아키텍처의 일관성을 정량화하기 위한 시스템을 도시하는 블록도이다.
도 12는 일부 실시예에 따른 시스템 아키텍처의 일관성을 정량화하는 방법을 도시하는 블록도이다.
도 13은 일부 실시예에 따른 시스템 아키텍처의 견고성을 정량화하는 것을 도시하는 블록도이다.
도 14는 일부 실시예에 따른 시스템 아키텍처의 견고성을 정량화하기 위한 시스템을 도시하는 블록도이다.
도 15는 일부 실시예에 따른 시스템 아키텍처의 견고성을 정량화하는 방법을 도시하는 블록도이다.
도 16은 일부 실시예에 따른 시스템 아키텍처 설계의 몇 가지 상이한 반복의 복원력 프로파일을 도시하는 복원력 프로파일 그래프이다.
다음의 설명 및 도면은 당업자가 실시할 수 있도록 특정 실시예를 충분히 예시한다. 다른 실시예는 물리적, 기능적, 논리적, 전기적, 프로세스(process), 비용(cost) 및 다른 변경(change)을 포함할 수 있다. 일부 실시예의 부분 및 특징은 다른 실시예의 부분 및 특징에 포함되거나 이를 대체할 수 있다. 청구 범위에 기재된 실시예는 그 청구 범위의 모든 이용 가능한 등가물을 포함한다.
시스템 아키텍처를 표현하는 속성 그래프 데이터 모델은 그 복잡성에 관계없이 전체 디지털 시스템 모델(DSM: digital system models)의 분석을 용이하게 할 수 있다. 속성 그래프 데이터 모델은 시스템 아키텍처의 상이한 측면(aspects), 특성(characteristics) 및 설계 디멘전(design dimensions)을 표현하는 다양한 상이한 데이터베이스 및 데이터 파일에 기초하여 생성될 수 있다. 이러한 상이한 데이터베이스 및 데이터 파일은 다양한 상이한 소프트웨어 툴(software tools)에 의해 생성될 수 있다. 이러한 상이한 데이터베이스의 시스템 아키텍처에 관한 많은 양의 데이터가 너무 방대하고 너무 상세하고 연결이 끊어져서 직접 이해하기 어려울 수 있지만, 이 대용량 데이터를 일관되고 통일된 표현으로 형식화(formalizing)하여 생성된 속성 그래프 데이터 모델은 연결 해제된 툴세트(toolsets) 및 데이터베이스로부터 달리 알려지지 않은 시스템 아키텍처에 대한 정보를 모으기 위해 계산적으로 분석될 수 있다. 속성 그래프 데이터 모델은 센서와 같은 소형 시스템 아키텍처로부터 대형 컴퓨터 시스템, 컴퓨터 통신 네트워크(computer communications network), 항공우주 시스템(aerospace system), 군사 방어 시스템(military defense system) 등에 이르기까지 다양한 시스템 아키텍처 크기 및 계층에 걸쳐 계산적으로 분석 및 확장 가능한 단일 계층적 표현일 수 있다.
속성 그래프 데이터 모델은 시스템 아키텍처 설계의 수학 표현으로 간주될 수 있다. 속성 그래프 데이터 모델에 저장된 데이터로 수행된 시스템 분석은 관계형 데이터베이스 관리 시스템(RDMS: relational database management system)에 저장된 데이터보다 훨씬 더 빠르게 실행될 수 있는데, 왜냐하면 속성 그래프 데이터 모델이 여러 연결로 얽히고(intricate) 복잡한 관계를 저장하고 액세스(accessing) 할 때 훨씬 효율적이기 때문이다. 또한, 속성 그래프 데이터 모델은 시스템 아키텍처 설계에 대한 일관성 있는 설명(self-consistent description)뿐만 아니라 시스템 아키텍처의 생산, 테스트, 성능, 신뢰성, 결함(faults), 고장(failures) 및 비용은 물론 다른 특성 및 측면에 관한 정보를 포함하도록 확장(extended)될 수 있다. 속성 그래프 데이터 모델은 시스템 아키텍처의 상이한 측면들, 특성들 및 설계 디멘전들 사이의 관계를 캡처(capture)하고 명시(specify)할 수 있다. 그리고, 시스템 아키텍처의 품질(quality), 모듈성(modularity), 성숙도(maturity), 견고성(robustness), 복원력(resiliency), 신뢰성(reliability) 및 취약성(fragility)에 대한 정보뿐만 아니라 물리적 시스템 아키텍처가 기능적 시스템 아키텍처와 얼마나 잘 조화(align)되는지에 대한 정보를 획득하기 위해 다양한 분석 방법을 사용하여 이러한 관계가 계산적으로 분석될 수 있다.
속성 그래프 데이터 모델은 일반적으로 속성 그래프 분석에 적용 가능한 그래프 알고리즘을 사용하여 다양한 유형의 분석을 용이하게 하기 위해 가중 파트-투-파트 커플링 그래프(weighted part-to-part coupling graph)로 변환될 수 있다. 가중 파트-투-파트 커플링 그래프 데이터 모델은 속성 그래프 데이터 모델의 실시예일 수 있다. 가중 파트-투-파트 커플링 그래프에서, 속성 그래프 데이터 모델에서 구성된 바와 같은 파트의 계층은 예를 들어, 파트 사이의 연결 횟수 또는 빈도, 파트 사이의 인터페이스의 복잡성, 파트 사이의 인터페이스에 포함된 다수의 신호, 및 연결된 파트와 연관된 비용 또는 결점(defects)과 같이 다양한 요소 및 인터페이스 설계 디멘전에 의해 수립된 속성 그래프 데이터 모델에서의 파트 사이의 연결에 따라 상이한 파트를 연결하는 가중 인터페이스 에지(weighted interface edges)로 보완(supplemented)될 수 있다. 가중 팩터(weighting factors)는 현재의 응용 및 파트-투-파트 커플링 그래프를 사용하여 수행될 분석에 따라 조정될 수 있다.
파트-투-파트 커플링 그래프를 사용하여, 기능적 아키텍처(functional architecture)의 일 실시예로서 시스템의 정보 교환 인터페이스와 물리적 시스템의 계층적 분해 사이의 일관성은 물리적 분해 연결 및 정보 교환 연결에 기초하여 파트의 클러스터를 계산적으로 생산하고 그것들을 비교함으로써 분석될 수 있다. 이전에는, 일반적인 분석 기술은 시스템 아키텍처 및 설계에 대한 시스템 다이어그램 및 보고서를 리뷰하고, 숙련된 전문가가 설계 리뷰를 수행하는 주제 전문가에 의한 주로 수동 노력(manual endeavors)이었다. 이러한 수동 노력은 주관적이었으며, 일관성과 반복성이 부족했다. 또한, 수동 노력은 시스템에 대한 일관된 아키텍처 설명을 달성하기 위해 서로 다른 관점(viewpoints)과 툴세트 사이의 갭(gaps)이나 반복성(repeatability)을 검출하는 견고성이 부족했다. 시스템 설계의 다양한 측면(예를 들어, 설계의 개별 파트의 설계 및 성능)에 대해 세부 설계 레벨(detailed design level)에서 개별 소프트웨어 설계, 모델링(modeling) 및 시뮬레이션 툴에 의존했지만, 이러한 소프트웨어 툴은 시스템 아키텍처에서 파트의 물리적 계층 또는 분류(breakdown)와 파트 사이의 정보 교환 인터페이스를 비교함으로써 시스템 아키텍처 설계의 일관성을 정량화하는 기능(ability)을 포함하지 않는다.
도 1은 일부 실시예에 따른 시스템 아키텍처를 표현하는 속성 그래프 데이터 모델(150)의 생성을 위한 데이터 흐름을 표현하는 블록도이다. 시스템 아키텍처는 시스템 아키텍처의 다양한 측면의 설계, 모델링 및/또는 시뮬레이션을 위한 소프트웨어 애플리케이션과 같은 다양한 툴을 사용하여 설계될 수 있다. 따라서, 시스템 아키텍처의 다양한 부분은 상이한 구조를 갖는 상이한 데이터베이스로 표현할 수 있고, 상이한 파일 포맷(file formats)을 갖는 다양한 데이터 파일에 저장될 수 있다. 이들 다양한 상이한 데이터베이스는 소스 데이터베이스(source databases)(110)일 수 있으며, 시스템 아키텍처에 관한 관련 특성은 시스템 레벨 분석, 평가 및 설계의 목적을 위해 전체 시스템 아키텍처를 표현하는 단일 통합 속성 그래프 데이터 모델(single unified property graph data model)(150)을 생성하기 위해 소스 데이터베이스(110)로부터 액세스될 수 있다. 소스 데이터베이스(110)에 포함된 시스템 아키텍처에 관한 관련 특성은 시스템 아키텍처의 설계, 모델링, 시뮬레이션, 제조, 동작(operation), 테스트, 성능, 신뢰성, 결함, 고장, 비용 및 평가에 관한 정보를 포함할 수 있다.
소스 데이터베이스(110)는 시스템 아키텍처의 많은 디멘전에 관한 정보, 예를 들어 시스템 아키텍처에 포함된 다양한 파트, 다양한 파트 사이의 정보 교환 인터페이스, 이들 인터페이스를 통해 파트 간에 교환되는 정보 아이템(information items), 인터페이스를 통해 파트 간 교환되는 정보 아이템을 통신하는데 사용된 신호, 파트에 의해 수행되는 함수(functions), 및 다양한 파트에 의해 수행되는 함수 또는 다양한 파트에 대한 시스템 요구 사항 또는 함수 요구 사항을 포함할 수 있다. 소스 데이터베이스(110)는 예를 들어 시스템 아키텍처의 하드웨어 기술 언어 모델(hardware description language models), 필드 프로그래머블 게이트 어레이(FPGA: field programmable gate arrays), 인쇄 회로 기판(printed circuit board) 및 집적 회로에 대한 넷리스트(netlists)를 설명하는 데이터 파일 등을 포함할 수 있다.
시스템 아키텍처의 각각의 디멘전은 또한 계층(hierarchy)의 상이한 레벨로 표현할 수 있다. 예를 들어, 시스템 아키텍처의 파트는 계층의 높은 레벨에서 예를 들어 컴퓨팅 랙(computing rack)과 같은 모듈로 표현할 수 있다. 계층의 다음 최하위 레벨(next lowest level)에서, 컴퓨팅 랙은 컴퓨팅 랙에 플러그(plug)되는 다수의 블레이드(blades)로 분류될(broken down) 수 있으며, 여기서 블레이드의 각각은 컴퓨팅 프로세서(computing processor) 또는 다른 디바이스(device), 예를 들어 네트워크 라우터(network router), 네트워크 파일 스토리지 제어기(network file storage controller) 등을 포함할 수 있다. 계층의 다음 최하위 레벨에서, 블레이드의 각각은 블레이드에 플러그된 다양한 카드(cards)로 분류될 수 있다. 계층의 다음 최하위 레벨에서, 다양한 카드는 카드 상에 결합(soldered)된 패키지 반도체 칩(packaged semiconductor chips)과 같은 카드에 부착된 개별 전자 파트(individual electronic parts)로 분류될 수 있다.
포맷 변환기(format converter)(120)는 소스 데이터베이스(110)로부터 데이터를 판독하고, 시스템 아키텍처 분석에 사용되고 속성 그래프 데이터 모델(150)에 포함될 적절한 데이터(appropriate data)를 선택하고, 선택된 데이터를 중간 포맷(intermediate format)(130)으로 저장하도록 출력할 수 있다. 포맷 변환기(120)는 시스템 아키텍처의 하나 이상의 특정 측면을 분석하기에 적절한 소스 데이터베이스(110)로부터 데이터를 선택하고 형식화 할 수 있다. 중간 포맷(130)은 메모리에 저장된 내부 데이터 구조 또는 하드 디스크 드라이브(hard disk drive) 또는 플래시 드라이브(flash drive)와 같은 스토리지 디바이스(storage device)에 저장된 데이터 파일을 포함할 수 있다. 중간 포맷(130)은 시스템 아키텍처의 특성, 시스템 아키텍처의 다양한 측면을 표현하는데 사용되는 다양한 툴, 및 소스 데이터베이스(110)의 다양한 포맷 및 특성에 상관없이 일관된 포맷을 가질 수 있다. 중간 포맷(130)은 시스템 아키텍처의 높은 레벨과 시스템 아키텍처의 세부 설계 간 갭을 메울(bridge) 수 있다. 중간 포맷(130)은 하나 이상의 파일을 포함할 수 있다.
그래프 생성자(graph constructor)(140)는 중간 포맷(130)에 저장된 데이터를 판독하고 본 명세서의 다른 곳에 설명된 바와 같은 그래프 스키마(graph schema)에 따라 시스템 아키텍처를 계층적으로 표현하도록 속성 그래프(150)를 구성함으로써 시스템 아키텍처를 그래프로 형식화 할 수 있다. 그래프 생성자(140)는 시스템 아키텍처의 특성, 시스템 아키텍처의 다양한 측면을 표현하는데 사용되는 다양한 툴, 및 소스 데이터베이스(110)의 다양한 포맷 및 특성에 관계없이 모든 유형의 시스템 아키텍처에 사용하는데 일관성이 있을 수 있다. 속성 그래프 데이터 모델(150)은 시스템 아키텍처 설계의 물리적 및 기능적 뷰(physical and functional view)를 제공할 수 있다. 속성 그래프 데이터 모델(150)은 예를 들어 시스템 아키텍처의 품질, 시스템 아키텍처의 모듈화, 시스템 아키텍처의 성숙도, 시스템 아키텍처의 견고성, 시스템 아키텍처의 신뢰성, 시스템 아키텍처의 취약성과 같은 시스템 아키텍처의 다양한 유형의 분석, 및 상이한 시스템 아키텍처 사이의 이러한 분석의 비교를 용이하게 할 수 있어 이러한 정량 분석을 기반으로 한 다양한 설계의 상대적 순위(relative rankings)를 이해할 수 있다.
도 2는 일부 실시예에 따른 그래프 스키마(200)를 도시하는 블록도이다. 그래프 스키마 (200)는 도 1의 소스 데이터베이스(110)와 연관하여 사용되는 모든 툴에 공통 일 수 있으므로 툴 독립적(tool-independent)인 것으로 간주될 수 있다. 그래프 스키마(200)는 다양한 설계 디멘전의 상이한 계층과 계층의 상이한 레벨에서 다양한 설계 디멘전의 상이한 요소 사이의 관계를 표현한다.
그래프 스키마(200)는 정점(정사각형, 원형, 삼각형, 다이아몬드, 육각형 및 팔각형을 포함하는 다양한 형태로 도시됨) 및 에지(실선 및 파선으로 도시됨)의 두 가지 필수 요소를 포함한다. 정점은 설계 디멘전의 클래스, 예를 들어, 파트(part)(210), 인터페이스(interface)(220), 정보 아이템(information item)(230), 신호(signal)(240), 함수(function)(250) 및 요구 사항(requirement)(260)을 표현할 수 있다. 특정 예시적인 설계 디멘전은 예시된 정점에 의해 표현하지만, 더 많거나 더 적은 설계 디멘전이 그래프 스키마(200)의 임의의 특정 실시예에서 표현할 수 있기 때문에, 이것은 제한적인 것으로 해석되어서는 안된다. 예를 들어, 다양한 실시예에서, 그래프 스키마(200)는 파트(210) 및 인터페이스(220)에 대한 정점으로 표현한 설계 디멘전만을 포함할 수 있다. 또한, 다양한 실시예에서, 제조 동안 파트 상에서 수행되는 동작에 대한 설계 디멘전은 그래프 스키마(200)에서 표현할 수 있다. 또한, 다양한 실시예에서, 설계 내의 파트로부터 구축된 일련 번호(serial numbers)에 대한 설계 디멘전은 그래프 스키마(200)에서 표현할 수 있다. 또한, 다양한 실시예에서, 제조 공정(manufacturing operations)에 의해 일련 번호에서 발견된 결점에 대한 설계 디멘전은 그래프 스키마(20)에서 표현할 수 있다.
구성 에지(Compositional edges)(파선으로 도시됨)는 계층의 하나의 레벨로부터 계층의 다른 레벨로의 정점으로 표현한 설계 디멘전의 클래스의 지향성 분해(directional-decomposition)(예를 들어, 화살표 방향으로) 또는 지향성 구성(directional-composition)(예를 들어, 화살표 방향과 반대)을 표현할 수 있다. 정점으로 표현한 설계 디멘전의 지향성 분해는 더 높은 계층적 레벨(lower hierarchical level)에서의 정점을 더 낮은 계층적 레벨(lower hierarchical level)에서의 복수의 정점으로 분해할 수 있고, 정점으로 표현한 설계 디멘전의 지향성 구성은 더 낮은 계층적 레벨에서의 복수의 정점으로부터 더 높은 계층적 레벨에서의 단일 정점(single vertex)을 구성할 수 있다.
연결 에지(실선으로 도시됨)는 시스템 아키텍처의 상이한 설계 디멘전(정점으로 도시됨) 사이의 연결 또는 관계를 표현할 수 있다. 도 2에 도시된 연결 에지의 화살표의 지향성(directionality)은 그래프 스키마(200)에 의해 표현한 시스템 아키텍처의 데이터 흐름의 방향일 필요는 없지만 그래프 스키마(200)에 대한 정의(definition)의 방향을 표현한다. 도시된 바와 같이, 인터페이스(220)는 파트(210)로 연결될 수 있고, 파트(210)로부터 연결될 수 있다. 이것은 정보 교환 인터페이스(220)를 통해 파트(210)가 서로 연결될 수 있는 관계를 표현한다. 종합해보면, 관계 쌍으로의 연결 및 관계 쌍으로부터의 연결(connects-to and connects-from relationship pair)은 파트로부터 파트로의 데이터 흐름의 방향(direction of data flow from part to part)을 구현한다. 양방향 인터페이스(Bidirectional interfaces)는 정보 교환 인터페이스의 양 엔드포인트(both endpoints)로 향하는 연결 에지로의 연결 및 연결 에지로부터의 연결에 의해 표현할 수 있다. 계층의 다양한 레벨에서, 인터페이스(220)는 와이어링 하니스(wiring harness), 와이어링 하니스의 개별 와이어(wires), 및 와이어링 하니스의 개별 와이어를 통해 통신하는데 사용되는 통신 프로토콜(communication protocols)을 포함할 수 있다. 예를 들어, 높은 레벨 인터페이스는 와이어링 하니스일 수 있지만, 낮은 레벨 인터페이스는 이더넷 통신 인터페이스(Ethernet communication interface)일 수 있다. 다른 인터페이스(220)의 계층적 통합(hierarchical integrations)인 인터페이스(220)는 인터페이스(220)가 그것의 구성 계층에서 어디에 위치하는지에 관계없이 파트(210)로 연결되고 파트(210)로부터 연결될 수 있다; 그러나, 그래프 데이터 모델 모호성을 감소시키기 위해, 그래프 스키마(200)에 따라 속성 그래프 데이터 모델(150)을 구성할 때 주의를 기울일 수 있어, 각각의 구성/분해 계층에서 리프 노드(leaf nodes)인 이들 인터페이스 정점(those interface vertices)으로 연결 에지로의 연결 및 연결 에지로부터의 연결을 제한함으로써 파트 엔드포인트(part end points)가 인터페이스 계층(interface hierarchy)에 걸쳐서 일관됨을 보장할 수 있다.
도시된 바와 같이, 인터페이스(220)는 신호(240)를 포함한다. 이는 인터페이스(220)를 통해 파트(210) 사이에서 다양한 신호(240)가 통신될 수 있는 관계를 표현한다. 계층의 상이한 레벨로 표현한 신호(240)는 인터페이스(220)의 상이한 계층적 레벨에 연결될 수 있다. 신호(240)의 예는 전력 전압(power voltage), 전력 접지(power ground), 전기 신호 파형(electrical signal waveform), 광 신호(optical signal) 등을 포함한다. 도시된 바와 같이, 인터페이스(220)는 정보 아이템(230)을 전송(transfer)시킬 수 있고, 정보 아이템(230)은 신호(240)를 포함할 수 있다. 이것은 예를 들어 데이터와 같은 정보 아이템(230)이 상이한 파트(210) 간 인터페이스(220)를 통해 전송될 수 있음을 표현한다. 또한, 정보 아이템(230)은 상이한 계층적 레벨로 표현할 수 있고, 상이한 계층적 레벨의 정보 아이템(230)은 상이한 계층적 레벨에서 신호를 포함할 수 있다. 높은 레벨 정보 아이템(high-level information items)의 예는 통신 프로토콜에 대한 패킷 정의를 포함할 수 있고, 낮은 레벨 정보 아이템(low-level information items)의 예는 패킷 내의 비트 필드(bit field)를 포함할 수 있다. 정보 아이템(230)은 함수(250)로부터 출력되거나 함수(250)로 입력될 수 있다. 함수(250)는 파트(210)에 의해 수행될 수 있다. 또한, 함수(250)는 요구 사항(260)에 기초할 수 있다. 요구 사항(260)은 비 기능적 요구 사항(non-functional requirements)에 대해 시스템 아키텍처에서 파트(210)를 명시할 수 있다. 일반적으로, 하나의 설계 디멘전을 표현하는 정점의 임의의 계층적 레벨은 상이한 설계 디멘전 사이의 관계를 표현하는 에지를 연결함으로써 상이한 설계 디멘전을 표현하는 하나 이상의 다른 정점의 임의의 계층적 레벨에 연결할 수 있다.
그래프 스키마(200)는 그래프 스키마(200)에 부합하는 속성 그래프, 예를 들어 도 3의 속성 그래프(300)를 구성하기 위해 그래프 생성자(140)(도 4 참조) 로직 내에서 사용될 수 있으며, 이는 요구 사항, 함수, 파트, 인터페이스, 아이템 및 신호 정점 클래스뿐만 아니라 구성 및 연결 에지를 구현한다.
또한, 그래프 스키마(200)는 도 1의 중간 포맷(130)에 포함된 정보 및 그 중간 포맷(130)이 어떻게 구성되는지에 관련될 수 있다. 예를 들어, 제품 계층 파일은 시스템 아키텍처에서 각 고유한 파트에 대한 하나의 행(row), 파트 이름(part name)에 대한 열(column), 및 상위 및 하위 파트 이름(parent and child hierarchical part name)에 대한 각각 하나의 열을 포함할 수 있다. 인터페이스 파일은 시스템 아키텍처에서 각 고유한 인터페이스에 대한 하나의 행, 및 인터페이스의 이름, 인터페이스가 연결하고 연결되는 파트 이름, 인터페이스 상의 정보 흐름의 방향의 각각에 대한 열, 및 인터페이스가 분해되는 전기적 하니스(electrical harness)에 대한 열을 포함할 수 있다. 신호 파일은 시스템 아키텍처에서 각각의 고유한 신호(예를 들어, 전기 신호)에 대한 하나의 행, 및 신호의 이름, 신호를 포함하는 인터페이스 또는 정보 아이템의 이름, 신호가 관계가 있는 설계 디멘전의 클래스 이름(예를 들어, 인터페이스 또는 정보 아이템)의 각각에 대한 열, 및 상위 및 하위 계층적 신호 이름에 대한 각각 하나의 열을 포함할 수 있다. 정보 아이템 파일은 시스템 아키텍처에서 각각의 고유한 정보 아이템에 대한 하나의 행, 및 정보 아이템의 이름, 정보 아이템 또는 정보 아이템을 포함하는 신호 이름을 전송시키는 인터페이스 이름, 정보 아이템이 관계가 있는 설계 디멘전의 클래스 이름(예를 들어, 인터페이스 또는 신호)의 각각에 대한 열, 및 상위 및 하위 계층적 정보 아이템 이름에 대한 각각 하나의 열을 포함할 수 있다. 중간 포맷(130)은 본 명세서에서 논의되는 것보다 더 많거나 더 적은 파일을 포함할 수 있고, 설계 디멘전의 각 클래스에 관한 정보는 동일한 데이터 파일 또는 메모리에 함께 포함될 수 있다.
도 3은 일부 실시예에 따른 도 2의 그래프 스키마(200)에 따른 일 예시적인 속성 그래프(300)를 도시하는 블록도이다. 파트 A는 속성 그래프(300)의 가장 높은 계층적 레벨에 있고, 가장 높은 계층적 레벨보다 더 낮은 제2 계층적 레벨에서 파트 A.1, A.2 및 A.3으로 분해된다. 파트 A.1은 제3 계층적 레벨에서 파트 A.1.1 및 A.1.2로 분해되고, 파트 A.2는 제3 계층적 레벨에서 파트 A.2.1 및 A.2.2로 분해되고, 파트 A.3은 제3 계층적 레벨에서 파트 A.3.1 및 A.3.2로 분해된다. 인터페이스 X는 제3 계층적 레벨에서 파트 A.3.1로부터 연결되고 제2 계층적 레벨에서 파트 A.2에 연결된다. 인터페이스 X는 신호 U를 포함한다. 신호 U는 신호 S 및 T와 함께 정보 아이템 J에 의해 포함된다. 인터페이스 Z는 정보 아이템 I을 전송시키고, 인터페이스 Z는 더 낮은 계층적 레벨에서 인터페이스 Z.1 및 Z.2로 분해된다. 인터페이스 Z.1은 파트 A.3.2로부터 연결되고 파트 A.2.1에 연결된다. 인터페이스 Z.2는 신호 S, T 및 U를 포함하는 정보 아이템 J를 전송시킨다. 파트 A.3은 함수 F를 수행한다. 함수 F는 함수 F.1 및 F.2로 분해된다. 파트 A.3.2는 함수 F.1을 수행하는 반면, 파트 A.3.1은 함수 F.2를 수행한다. 요구 사항 R은 파트 A.3을 명시한다. 요구 사항 R은 요구 사항 R.1 및 R.2로 분해된다. 함수 F.2는 요구 사항 R.2에 기반하여 수행된다.
시스템 아키텍처에 관한 다양한 메트릭(metrics)을 결정하기 위해 속성 그래프 데이터 모델(300)을 사용하여 다양한 계산 네트워크 분석이 수행될 수 있다. 이러한 다양한 분석 방법은 시스템 아키텍처의 품질, 모듈성, 성숙도, 견고성, 복원력, 신뢰성 및 취약성에 대한 정보뿐만 아니라 물리적 시스템 아키텍처가 기능적 시스템 아키텍처와 얼마나 잘 조화되는지에 대한 정보를 획득할 수 있다. 또한, 속성 그래프 데이터 모델(300)을 사용하여 다양한 다른 결과 및 정보를 생성하는 다양한 다른 잠재적 분석이 수행될 수 있다.
도 4는 일부 실시예에 따른 속성 그래프를 생성하기 위한 시스템(400)을 도시하는 블록도이다. 시스템(400)에 의해 생성될 수 있는 일 예시적인 속성 그래프(300)가 도 3에 도시되어 있다. 시스템(400)은 컴퓨팅 프로세서(computing processor)(402) 및 예를 들어 속성 그래프(300)를 표현하는 그래프 스키마(200)에 기초한 데이터 구조(data structure)와 같이, 컴퓨팅 프로세서(402)에 의해 동작되는 데이터 구조를 저장할 수 있는 메모리 회로(memory circuit)(404)를 포함할 수 있다. 또한, 메모리 회로(404)는 컴퓨팅 프로세서(402)에 의해 실행될 때 도 5의 방법(500)을 수행하는 프로그램을 저장할 수 있다. 시스템(400)의 요소는 하나 이상의 연결 또는 데이터 버스(data buses)(454)를 통해 다른 요소와 통신할 수 있다.
속성 그래프는 예를 들어, 도 1의 속성 그래프 데이터 모델(150)과 같은 속성 그래프 데이터 모델의 일 실시예일 수 있으며, 이는 데이터 구조에서 복수의 정점(vertices), 복수의 구성 에지(compositional edges), 및 복수의 연결 에지(connecting edges)를 포함한다. 복수의 구성 에지는 정점 유형 내에서 지향성 구성 및 지향성 분해를 표현할 수 있고, 복수의 연결 에지는 하나의 정점 유형과 다른 정점 유형 사이의 연결을 표현할 수 있다.
데이터베이스 파서(database parser)(406)는 시스템 아키텍처에 관한 관련 특성을 포함하는, 예를 들어 도 1의 소스 데이터베이스(110)와 같은 하나 이상의 소스 데이터베이스에 액세스 할 수 있다. 시스템 아키텍처에 관한 관련 특성은 시스템 아키텍처의 설계, 모델링, 시뮬레이션, 제조, 동작, 테스트, 성능, 신뢰성, 결함, 고장, 비용 및 평가에 관한 정보를 포함할 수 있다. 소스 데이터베이스는 시스템 아키텍처에 포함된 디바이스, 구성 요소, 서브시스템 및 시스템의 설계, 모델링 및 시뮬레이션을 위한 다양한 하드웨어 및/또는 소프트웨어 툴에 대한 데이터 파일을 포함할 수 있다. 소스 데이터베이스는 메모리 회로(404)에 저장된 데이터 구조를 포함할 수 있다. 데이터베이스 파서(406)는 예를 들어, FPGA 또는 주문형 집적 회로(ASIC: application-specific integrated circuit)와 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제1 정보 추출기(information extractor)(408)는 하나 이상의 소스 데이터베이스로부터 시스템 아키텍처의 제1 설계 디멘전의 복수의 제1 인스턴스(instances)에 관한 정보를 추출할 수 있다. 제1 정보 추출기(408)는 도 1의 포맷 변환기(120)의 일 실시예에 포함될 수 있다. 제1 설계 디멘전은 시스템 아키텍처의 파트 계층(parts hierarchy)일 수 있다. 복수의 제1 인스턴스는 시스템 아키텍처의 복수의 파트일 수 있다. 파트 중 일부는 파트 중 다른 파트와 통합될 수 있고, 그러므로 파트 중 다른 파트와 통합된 파트는 파트 중 다른 파트보다 더 높은 레벨의 파트의 계층에 있을 수 있다. 파트 계층의 예는 그래프 스키마(200)에서 파트(210) 및 도 3의 파트 A, A.1, A.2, A.3, A.1.1, A.1.2, A.2.1, A.2.2, A.3.1, 및 A.3.2에 의해 표현할 수 있다. 예를 들어, 회로 카드 파트(circuit card part)는 복수의 집적 회로 파트(integrated circuit parts) 및 복수의 집적 회로 파트가 탑재된 인쇄 회로 기판의 통합일 수 있으며, 따라서 회로 카드 파트는 복수의 집적 회로 파트 및 복수의 집적 회로 파트가 탑재되는 회로 기판 파트보다 더 높은 레벨의 파트 계층에 있을 것이다. 제1 정보 추출기(408)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제1 정점 생성기(vertex generator)(410)는 복수의 제1 인스턴스의 각각의 제1 인스턴스에 대해 속성 그래프 데이터 모델에서 제1 정점을 생성할 수 있다. 제1 정점은 제1 인스턴스를 표현할 수 있다. 제1 정점 생성기(410)는 도 1의 그래프 생성자(140)의 일 실시예에 포함될 수 있다. 제1 정점 생성기(410)는 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제1 구성 에지 생성기(compositional edge generator)(412)는 복수의 제1 인스턴스 중 하나 이상의 제1 인스턴스에 대해 속성 그래프 데이터 모델에서 제1 구성 에지를 생성할 수 있다. 제1 구성 에지는 2개의 상이한 제1 정점에 연결될 수 있다. 제1 구성 에지는 복수의 제1 인스턴스 중 다른(another) 제1 인스턴스에 관하여 제1 인스턴스의 계층적 지향성 구성 또는 지향성 분해(hierarchical directed-compositions or directed-decomposition)를 표현할 수 있다. 제1 구성 에지 생성기(412)는 도 1의 그래프 생성기(140)의 일 실시예에 포함될 수 있다. 제1 구성 에지 생성기(412)는 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제2 정보 추출기(414)는 하나 이상의 소스 데이터베이스로부터 시스템 아키텍처의 제2 설계 디멘전의 복수의 제2 인스턴스에 관한 정보를 추출할 수 있다. 제2 정보 추출기(414)는 도 1의 포맷 변환기(120)의 일 실시예에 포함될 수 있다. 제2 설계 디멘전은 시스템 아키텍처의 복수의 파트 사이의 인터페이스 계층일 수 있다. 복수의 제2 인스턴스는 시스템 아키텍처의 복수의 파트 사이의 복수의 인터페이스일 수 있다. 인터페이스 중 일부는 인터페이스 중 다른 인터페이스와 통합될 수 있고, 그러므로 인터페이스 중 다른 인터페이스와 통합되는 인터페이스는 인터페이스 중 다른 인터페이스보다 더 높은 레벨의 인터페이스의 계층에 있을 수 있다. 인터페이스의 계층의 예는 그래프 스키마(200)에서 인터페이스(220) 및 도 3의 인터페이스 Z, Z.1, Z.2 및 X에 의해 표현할 수 있다. 예를 들어, 와이어링 하니스는 복수의 개별 와이어의 통합일 수 있고, 각각의 개별 와이어는, 예를 들어 이더넷 연결과 같은 복수의 통신 프로토콜 연결의 통합일 수 있고, 따라서 와이어링 하니스는 복수의 와이어보다 더 높은 레벨의 인터페이스 계층에 있을 것이고, 각각의 와이어는 예를 들어 이더넷 연결과 같은 복수의 통신 프로토콜 연결보다 더 높은 레벨의 인터페이스 계층에 있을 것이다. 제2 정보 추출기(414)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제2 정점 생성기(416)는 복수의 제2 인스턴스의 각각의 제2 인스턴스에 대해 속성 그래프 데이터 모델에서 제2 정점을 생성할 수 있다. 제2 정점은 제2 인스턴스를 표현할 수 있다. 제2 정점 생성기(416)는 도 1의 그래프 생성기(140)의 일 실시예에 포함될 수 있다. 제2 정점 생성기(416)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제2 구성 에지 생성기(418)는 복수의 제2 인스턴스 중 하나 이상의 제2 인스턴스에 대해, 속성 그래프 데이터 모델에서 제2 구성 에지를 생성할 수 있다. 제2 구성 에지는 2개의 상이한 제2 정점에 연결될 수 있다. 제2 구성 에지는 복수의 제2 인스턴스 중 다른 제2 인스턴스에 관하여 제2 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현할 수 있다. 제2 구성 에지 생성기(418)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제2 연결 에지 생성기(420)는 복수의 제2 인스턴스 중 하나 이상의 제2 인스턴스에 대해, 속성 그래프 데이터 모델에서 제2 연결 에지를 생성할 수 있다. 제2 연결 에지는 제2 인스턴스와 복수의 제1 인스턴스 중 하나의 제1 인스턴스 사이의 연결을 표현할 수 있다. 제2 연결 에지는 제2 연결 에지의 일단에 연결된 제2 인스턴스에 의해 표현한 인터페이스가 정보 교환의 목적을 위해 제2 연결 에지의 타단에 연결된 제1 인스턴스에 의해 표현한 파트로 연결됨을 표현할 수 있다. 제2 연결 에지 생성기(420)는 도 1의 그래프 생성기(140)의 일 실시예에 포함될 수 있다. 제2 연결 에지 생성기(420)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제3 정보 추출기(422)는 하나 이상의 소스 데이터베이스로부터 시스템 아키텍처의 제3 설계 디멘전의 복수의 제3 인스턴스에 관한 정보를 추출할 수 있다. 제3 정보 추출기(422)는 도 1의 포맷 변환기(120)의 일 실시예에 포함될 수 있다. 제3 설계 디멘전은 정보 아이템 계층일 수 있다. 복수의 제3 인스턴스는 시스템 아키텍처의 복수의 인터페이스를 통해 전송되는 복수의 정보 아이템일 수 있다. 정보 아이템 중 일부는 정보 아이템 중 다른 정보 아이템의 통합일 수 있고, 그러므로 정보 아이템 중 다른 정보 아이템의 통합인 정보 아이템은 정보 아이템 중 다른 정보 아이템보다 더 높은 레벨의 정보 아이템의 계층에 있을 수 있다. 정보 아이템의 계층의 예는 그래프 스키마(200)의 정보 아이템(230) 및 도 3의 정보 아이템 I 및 J로 표현할 수 있다. 제3 정보 추출기(422)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제3 정점 생성기(424)는 복수의 제3 인스턴스의 각각의 제3 인스턴스에 대해 속성 그래프 데이터 모델에서 제3 정점을 생성할 수 있다. 제3 정점은 제3 인스턴스를 표현할 수 있다. 제3 정점 생성기(424)는 도 1의 그래프 생성기(140)의 일 실시예에 포함될 수 있다. 제3 정점 생성기(424)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제3 구성 에지 생성기(426)는 복수의 제3 인스턴스 중 하나 이상의 제3 인스턴스에 대한 속성 그래프 데이터 모델에서 제3 구성 에지를 생성할 수 있다. 제3 구성 에지는 2개의 상이한 제3 정점에 연결될 수 있다. 제3 구성 에지는 복수의 제3 인스턴스 중 다른 제3 인스턴스에 관하여 하나의 제3 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현할 수 있다. 제3 구성 에지 생성기(426)는 도 1의 그래프 생성기(140)의 일 실시예에 포함될 수 있다. 제3 구성 에지 생성기(426)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제3 연결 에지 생성기(428)는 복수의 제3 인스턴스 중 하나 이상의 제3 인스턴스에 대해, 속성 그래프 데이터 모델에서 제3 연결 에지를 생성할 수 있다. 제3 연결 에지는 제3 인스턴스와 복수의 제1 인스턴스 중 하나의 제1 인스턴스 또는 복수의 제2 인스턴스 중 하나의 제2 인스턴스 사이의 연결을 표현할 수 있다. 제3 연결 에지는 제3 연결 에지의 일단에 연결된 제3 인스턴스에 의해 표현한 정보 아이템이 제3 연결 에지의 타단에 연결된 제2 인스턴스에 의해 표현한 인터페이스에 연결되어, 정보 아이템이 인터페이스에 의해 전송되는 것을 지정(designating)함을 표현할 수 있다. 제3 연결 에지 생성기(428)는 도 1의 그래프 생성기(140)의 일 실시예에 포함될 수 있다. 제3 연결 에지 생성기(428)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제4 정보 추출기(430)는 하나 이상의 소스 데이터베이스로부터 시스템 아키텍처의 제4 설계 디멘전의 복수의 제4 인스턴스에 관한 정보를 추출할 수 있다. 제4 정보 추출기(430)는 도 1의 포맷 변환기(120)의 일 실시예에 포함될 수 있다. 제4 설계 디멘전은 함수 계층일 수 있다. 복수의 제4 인스턴스는 시스템 아키텍처의 복수의 파트에 의해 수행되는 복수의 함수일 수 있다. 함수 중 일부는 함수 중 다른 함수와 통합될 수 있고, 그러므로 함수 중 다른 함수와 통합되는 함수는 함수 중 다른 함수보다 더 높은 레벨의 함수의 계층에 있을 수 있다. 함수의 계층의 예는 그래프 스키마(200)에서 함수(250) 및 도 3의 함수 F, F.1 및 F.2에 의해 표현할 수 있다. 제4 정보 추출기(430)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제4 정점 생성기(432)는 복수의 제4 인스턴스의 각각의 제4 인스턴스에 대해 속성 그래프 데이터 모델에서 제4 정점을 생성할 수 있다. 제4 정점은 제4 인스턴스를 표현할 수 있다. 제4 정점 생성기(432)는 도 1의 그래프 생성기(140)의 일 실시예에 포함될 수 있다. 제4 정점 생성기(432)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제4 구성 에지 생성기(434)는 복수의 제4 인스턴스 중 하나 이상의 제4 인스턴스에 대해 속성 그래프 데이터 모델에서 제4 구성 에지를 생성할 수 있다. 제4 구성 에지는 2개의 상이한 제4 정점에 연결될 수 있다. 제4 구성 에지는 복수의 제4 인스턴스 중 다른 제4 인스턴스에 관하여 하나의 제4 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현할 수 있다. 제4 구성 에지 생성기(434)는 도 1의 그래프 생성기(140)의 일 실시예에 포함될 수 있다. 제4 구성 에지 생성기(434)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제4 연결 에지 생성기(436)는 복수의 제4 인스턴스 중 하나 이상의 제4 인스턴스에 대해, 속성 그래프 데이터 모델에서 제4 연결 에지를 생성할 수 있다. 제4 연결 에지는 제4 인스턴스와 복수의 제1 인스턴스 중 하나의 제1 인스턴스, 복수의 제2 인스턴스 중 하나의 제2 인스턴스 또는 복수의 제3 인스턴스 중 하나의 제3 인스턴스 사이의 연결을 표현할 수 있다. 제4 연결 에지는 제4 연결 에지의 일단에 연결된 제4 인스턴스에 의해 표현한 함수가 제4 연결 에지의 타단에 연결된 제1 인스턴스에 의해 표현한 파트에 연결되어, 함수가 파트에 의해 수행되는 것을 지정함을 표현할 수 있다. 제4 연결 에지는 제4 연결 에지의 일단에 연결된 제4 인스턴스에 의해 표현한 함수가 제4 연결 에지의 타단에 연결된 제3 인스턴스에 의해 표현한 정보 아이템에 연결되어, 정보 아이템이 함수로 입력되거나 정보 아이템이 함수로부터 출력되는 것을 지정함을 표현할 수 있다. 제4 연결 에지 생성기(436)는 도 1의 그래프 생성기(140)의 일 실시예에 포함될 수 있다. 제4 연결 에지 생성기(436)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제5 정보 추출기(438)는 하나 이상의 소스 데이터베이스로부터 시스템 아키텍처의 제5 설계 디멘전의 복수의 제5 인스턴스에 관한 정보를 추출할 수 있다. 제5 정보 추출기(438)는 도 1의 포맷 변환기(120)의 일 실시예에 포함될 수 있다. 제5 설계 디멘전은 함수 계층일 수 있다. 복수의 제5 인스턴스는 시스템 아키텍처의 복수의 파트에 의해 수행되는 복수의 함수에 기초한 복수의 요구 사항일 수 있다. 요구 사항 중 일부는 요구 사항 중 다른 요구 사항의 통합일 수 있고, 그러므로 요구 사항 중 다른 요구 사항의 통합인 요구 사항은 요구 사항 중 다른 요구 사항보다 더 높은 레벨의 요구 사항의 계층에 있을 수 있다. 요구 사항의 계층의 예는 그래프 스키마(200)에서 요구 사항(260) 및 도 3의 요구 사항 R, R.1 및 R.2에 의해 표현할 수 있다.
제5 정점 생성기(440)는 복수의 제5 인스턴스의 각각의 제5 인스턴스에 대해 속성 그래프 데이터 모델에서 제5 정점을 생성할 수 있다. 제5 정점은 제5 인스턴스를 표현할 수 있다. 제5 정점 생성기(440)는 도 1의 그래프 생성기(140)의 일 실시예에 포함될 수 있다. 제5 정점 생성기(440)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제5 구성 에지 생성기(442)는 복수의 제5 인스턴스 중 하나 이상의 제5 인스턴스에 대해 속성 그래프 데이터 모델에서 제5 구성 에지를 생성할 수 있다. 제5 구성 에지는 2개의 상이한 제5 정점에 연결될 수 있다. 제5 구성 에지는 복수의 제5 인스턴스 중 다른 제5 인스턴스에 관하여 하나의 제5 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현할 수 있다. 제5 구성 에지 생성기(442)는 도 1의 그래프 생성자(140)의 일 실시예에 포함될 수 있다. 제5 구성 에지 생성기(442)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제5 연결 에지 생성기(444)는 복수의 제5 인스턴스 중 하나 이상의 제5 인스턴스에 대해, 속성 그래프 데이터 모델에서 제5 연결 에지를 생성할 수 있다. 제5 연결 에지는 제5 인스턴스와 복수의 제1 인스턴스 중 하나의 제1 인스턴스, 복수의 제2 인스턴스 중 하나의 제2 인스턴스, 복수의 제3 인스턴스 중 하나의 제3 인스턴스 또는 복수의 제4 인스턴스 중 하나의 제4 인스턴스 사이의 연결을 표현할 수 있다. 제5 연결 에지는 제 5 연결 에지의 일단에 연결된 제5 인스턴스에 의해 표현한 요구 사항이 제5 연결 에지의 타단에 연결된 제4 인스턴스에 의해 표현한 함수에 연결되어, 함수가 요구 사항에 기초하는 것을 지정함을 표현할 수 있다. 제5 연결 에지는 제5 연결 에지의 일단에 연결된 제5 인스턴스에 의해 표현한 요구 사항이 제5 연결 에지의 타단에 연결된 제1 인스턴스에 의해 표현한 파트에 연결되어, 파트가 요구 사항에 기초하는 것을 지정함을 표현할 수 있다. 제5 연결 에지 생성기(444)는 도 1의 그래프 생성자(140)의 일 실시예에 포함될 수 있다. 제5 연결 에지 생성기(444)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제6 정보 추출기(446)는 하나 이상의 소스 데이터베이스로부터 시스템 아키텍처의 제6 설계 디멘전의 복수의 제6 인스턴스에 관한 정보를 추출할 수 있다. 제6 정보 추출기(446)는 도 1의 포맷 변환기(120)의 일 실시예에 포함될 수 있다. 제6 설계 디멘전은 신호 계층일 수 있다. 복수의 제6 인스턴스는 시스템 아키텍처의 복수의 파트 사이의 복수의 인터페이스를 통해 통신되거나 시스템 아키텍처의 복수의 정보 아이템 중 적어도 하나의 정보 아이템을 통신하는 복수의 신호일 수 있다. 신호 중 일부는 신호 중 다른 신호의 통합일 수 있고, 그러므로 신호 중 다른 신호의 통합인 신호는 신호 중 다른 신호보다 더 높은 레벨의 신호의 계층에 있을 수 있다. 신호의 계층의 예는 그래프 스키마(200)에서의 신호(240) 및 도 3의 신호 S, T 및 U에 의해 표현할 수 있다. 제5 연결 에지 생성기(444)는 도 1의 그래프 생성자(140)의 일 실시예에 포함될 수 있다. 제6 정보 추출기(446)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제6 정점 생성기(448)는 복수의 제6 인스턴스의 각각의 제6 인스턴스에 대해 속성 그래프 데이터 모델에서 제6 정점을 생성할 수 있다. 제6 정점은 제6 인스턴스를 표현할 수 있다. 제6 정점 생성기(448)는 도 1의 그래프 생성자(140)의 일 실시예에 포함될 수 있다. 제6 정점 생성기(448)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제6 구성 에지 생성기(450)는 복수의 제6 인스턴스 중 하나 이상의 제6 인스턴스에 대해 속성 그래프 데이터 모델에서 제6 구성 에지를 생성할 수 있다. 제6 구성 에지는 2개의 상이한 제6 정점에 연결될 수 있다. 제6 구성 에지는 복수의 제6 인스턴스 중 다른 제6 인스턴스에 관하여 하나의 제6 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현할 수 있다. 제6 구성 에지 생성기(450)는 도 1의 그래프 생성자(140)의 일 실시예에 포함될 수 있다. 제6 구성 에지 생성기(450)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제 6 연결 에지 생성기(452)는 복수의 제6 인스턴스 중 하나 이상의 제6 인스턴스에 대해, 속성 그래프 데이터 모델에서 제6 연결 에지를 생성할 수 있다. 제6 연결 에지는 제6 인스턴스와 복수의 제1 인스턴스 중 하나의 제1 인스턴스, 복수의 제2 인스턴스 중 하나의 제2 인스턴스, 복수의 제3 인스턴스 중 하나의 제3 인스턴스, 복수의 제4 인스턴스 중 하나의 제4 인스턴스, 또는 복수의 제5 인스턴스 중 하나의 제5 인스턴스 사이의 연결을 표현할 수 있다. 제6 연결 에지는 제6 연결 에지의 일단에 연결된 제6 인스턴스에 의해 표현한 신호가 제6 연결 에지의 타단에 연결된 제2 인스턴스에 의해 표현한 인터페이스에 연결되어, 신호가 인터페이스에 포함되는 것을 지정함을 표현할 수 있다. 제6 연결 에지는 제6 연결 에지의 일단에 연결된 제6 인스턴스에 의해 표현한 신호가 제6 연결 에지의 타단에 연결된 제3 인스턴스에 의해 표현한 정보 아이템에 연결되어, 신호가 정보 아이템에 포함되는 것을 지정함을 표현할 수 있다. 제6 연결 에지 생성기(452)는 도 1의 그래프 생성자(140)의 일 실시예에 포함될 수 있다. 제6 연결 에지 생성기(452)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
도 5는 일부 실시예에 따른 속성 그래프를 생성하는 방법(500)을 도시하는 블록도이다. 방법(500)은 도 4의 시스템(400)에 의해 수행될 수 있다. 도 3은 방법(500)에 의해 생성될 수 있는 일 예시적인 속성 그래프(300)를 도시한다. 속성 그래프는 데이터 구조에서 복수의 정점, 복수의 구성 에지 및 복수의 연결 에지를 포함하는, 예를 들어 도 1의 속성 그래프 데이터 모델(150)과 같은 속성 그래프 데이터 모델의 일 실시예일 수 있다. 복수의 구성 에지는 정점 유형 내에서 지향성 구성 및 지향성 분해를 표현할 수 있고, 복수의 연결 에지는 하나의 정점 유형과 다른 정점 유형 사이의 연결을 표현할 수 있다. 데이터 구조는 컴퓨팅 프로세서(예를 들어, 컴퓨팅 프로세서(402))를 갖는 컴퓨터 시스템의 메모리 회로(예를 들어, 메모리 회로(404))에 저장될 수 있다.
동작(502)에서, 도 1의 소스 데이터베이스(110)와 같은 하나 이상의 소스 데이터베이스가 컴퓨팅 프로세서에 의해 액세스 될 수 있다. 동작(502)는 도 4의 데이터베이스 파서(406)에 의해 수행될 수 있다. 소스 데이터베이스는 시스템 아키텍처에 관한 관련 특성을 포함할 수 있다. 시스템 아키텍처에 관한 관련 특성은 시스템 아키텍처의 설계, 모델링, 시뮬레이션, 제조, 동작, 테스트, 성능, 신뢰성, 결함, 고장, 비용 및 평가에 관한 정보를 포함할 수 있다. 소스 데이터베이스는 시스템 아키텍처에 포함된 디바이스, 구성 요소, 서브시스템 및 시스템의 설계, 모델링 및 시뮬레이션을 위한 다양한 하드웨어 및/또는 소프트웨어 툴에 대한 데이터 파일을 포함할 수 있다. 소스 데이터베이스는 예를 들어 메모리 회로(404)와 같은 컴퓨터 시스템의 메모리 회로에 저장된 데이터 구조를 포함할 수 있다.
동작(504)에서, 시스템 아키텍처의 제1 설계 디멘전의 복수의 제1 인스턴스에 관한 정보는 하나 이상의 소스 데이터베이스로부터 추출될 수 있다. 동작(504)은 도 4의 제1 정보 추출기(408) 또는 도 1의 포맷 변환기(120)의 일 실시예에 의해 수행될 수 있다. 제1 설계 디멘전은 시스템 아키텍처의 파트 계층일 수 있다. 복수의 제1 인스턴스는 시스템 아키텍처의 복수의 파트일 수 있다. 파트 중 일부는 파트 중 다른 파트와 통합될 수 있고, 그러므로 파트 중 다른 파트와 통합된 파트는 파트 중 다른 파트보다 더 높은 레벨의 파트의 계층에 있을 수 있다. 파트 계층의 예는 그래프 스키마(200)에서의 파트(210) 및 도 3의 파트 A, A.1, A.2, A.3, A.1.1, A.1.2, A.2.1, A.2.2, A.3.1 및 A.3.2에 의해 표현할 수 있다. 예를 들어, 회로 카드 파트는 복수의 집적 회로 파트와 복수의 집적 회로 파트가 탑재된 인쇄 회로 기판의 통합일 수 있으며, 따라서 회로 카드 파트는 복수의 집적 회로 파트 및 복수의 집적 회로 파트가 탑재된 회로 기판 파트보다 더 높은 레벨의 파트 계층에 있을 것이다.
동작(506)에서, 복수의 제1 인스턴스의 각각의 제1 인스턴스에 대해, 제1 정점은 속성 그래프 데이터 모델에서 생성될 수 있다. 동작(506)은 도 4의 제1 정점 생성기(410) 또는 도 1의 그래프 생성자(140)의 일 실시예에 의해 수행될 수 있다. 제1 정점은 제1 인스턴스를 표현할 수 있다.
동작(508)에서, 복수의 제1 인스턴스 중 하나 이상의 제1 인스턴스에 대해, 제1 구성 에지는 속성 그래프 데이터 모델에서 생성될 수 있다. 동작(508)은 도 4의 제1 구성 에지 생성기(412) 또는 도 1의 그래프 생성기(140)의 일 실시예에 의해 수행될 수 있다. 제1 구성 에지는 2개의 상이한 제1 정점에 연결될 수 있다. 제1 구성 에지는 복수의 제1 인스턴스 중 다른 제1 인스턴스에 관하여 하나의 제1 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현할 수 있다.
동작(510)에서, 시스템 아키텍처의 제2 설계 디멘전의 복수의 제2 인스턴스에 관한 정보는 하나 이상의 소스 데이터베이스로부터 추출될 수 있다. 동작(510)은 도 4의 제2 정보 추출기(414) 또는 도 1의 포맷 변환기(120)의 일 실시예에 의해 수행될 수 있다. 제2 설계 디멘전은 시스템 아키텍처의 복수의 파트 사이의 인터페이스 계층일 수 있다. 복수의 제2 인스턴스는 시스템 아키텍처의 복수의 파트 사이의 복수의 인터페이스일 수 있다. 인터페이스 중 일부는 인터페이스 중 다른 인터페이스와 통합될 수 있고, 그러므로 인터페이스 중 다른 인터페이스와 통합되는 인터페이스는 인터페이스 중 다른 인터페이스보다 더 높은 레벨의 인터페이스의 계층에 있을 수 있다. 인터페이스의 계층의 예는 그래프 스키마(200)에서 인터페이스(220) 및 도 3의 인터페이스 Z, Z.1, Z.2 및 X에 의해 표현할 수 있다. 예를 들어, 와이어링 하니스는 복수의 개별 와이어의 통합일 수 있고, 각각의 개별 와이어는, 예를 들어 이더넷 연결과 같은 복수의 통신 프로토콜 연결의 통합일 수 있고, 따라서 와이어링 하니스는 복수의 와이어보다 더 높은 레벨의 인터페이스 계층에 있을 것이고, 각각의 와이어는 예를 들어 이더넷 연결과 같은 복수의 통신 프로토콜 연결보다 더 높은 레벨의 인터페이스 계층에 있을 것이다.
동작(512)에서, 복수의 제2 인스턴스의 각각의 제2 인스턴스에 대해, 제2 정점은 속성 그래프 데이터 모델에서 생성될 수 있다. 동작(512)는 도 4의 제2 정점 생성기(416) 또는 도 1의 그래프 생성자(140)의 일 실시예에 의해 수행될 수 있다. 제2 정점은 제2 인스턴스를 표현할 수 있다.
동작(514)에서, 복수의 제2 인스턴스 중 하나 이상의 제2 인스턴스에 대해, 제2 구성 에지는 속성 그래프 데이터 모델에서 생성될 수 있다. 동작(514)은 도 4의 제2 구성 에지 생성기(418) 또는 도 1의 그래프 생성자(140)의 일 실시예에 의해 수행될 수 있다. 제2 구성 에지는 2개의 상이한 제2 정점에 연결될 수 있다. 제2 구성 에지는 복수의 제2 인스턴스 중 다른 제2 인스턴스에 관하여 하나의 제2 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현할 수 있다.
동작(516)에서, 복수의 제2 인스턴스 중 하나 이상의 제2 인스턴스에 대해, 제2 연결 에지는 속성 그래프 데이터 모델에서 생성될 수 있다. 동작(516)은 도 4의 제2 연결 에지 생성기(420) 또는 도 1의 그래프 생성자(140)의 일 실시예에 의해 수행될 수 있다. 제2 연결 에지는 제2 인스턴스와 복수의 제1 인스턴스 중 하나의 제1 인스턴스 사이의 연결을 표현할 수 있다. 제2 연결 에지는 제2 연결 에지의 일단에 연결된 제2 인스턴스에 의해 표현한 인터페이스가 정보 교환의 목적을 위해 제2 연결 에지의 타단에 연결된 제1 인스턴스에 의해 표현한 파트로 연결됨을 표현할 수 있다.
동작(518)에서, 시스템 아키텍처의 제3 설계 디멘전의 복수의 제3 인스턴스에 관한 정보는 하나 이상의 소스 데이터베이스로부터 추출될 수 있다. 동작(518)은 도 4의 제3 정보 추출기(422) 또는 도 1의 포맷 변환기(120)의 일 실시예에 의해 수행될 수 있다. 제3 설계 디멘전은 정보 아이템 계층일 수 있다. 복수의 제3 인스턴스는 시스템 아키텍처의 복수의 인터페이스를 통해 전송되는 복수의 정보 아이템일 수 있다. 정보 아이템 중 일부는 정보 아이템 중 다른 정보 아이템의 통합일 수 있고, 그러므로 정보 아이템 중 다른 정보 아이템의 통합인 정보 아이템은 정보 아이템 중 다른 정보 아이템보다 더 높은 레벨의 정보 아이템의 계층에 있을 수 있다.
동작(520)에서, 복수의 제3 인스턴스의 각각의 제3 인스턴스에 대해, 제3 정점은 속성 그래프 데이터 모델에서 생성될 수 있다. 동작(520)은 도 4의 제3 정점 생성기(424) 또는 도 1의 그래프 생성자(140)의 일 실시예에 의해 수행될 수 있다. 제3 정점은 제3 인스턴스를 표현할 수 있다.
동작(522)에서, 복수의 제3 인스턴스 중 하나 이상의 제3 인스턴스에 대해, 제3 구성 에지는 속성 그래프 데이터 모델에서 생성될 수 있다. 동작(522)은 도 4의 제3 구성 에지 생성기(426) 또는 도 1의 그래프 생성기(140)의 일 실시예에 의해 수행될 수 있다. 제3 구성 에지는 2개의 상이한 제3 정점에 연결될 수 있다. 제3 구성 에지는 복수의 제3 인스턴스 중 다른 제3 인스턴스에 관하여 하나의 제3 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현할 수 있다.
동작(524)에서, 복수의 제3 인스턴스 중 하나 이상의 제3 인스턴스에 대해, 제3 연결 에지는 속성 그래프 데이터 모델에서 생성될 수 있다. 동작(524)은 도 4의 제3 연결 에지 생성기(428) 또는 도 1의 그래프 생성자(140)의 일 실시예에 의해 수행될 수 있다. 제3 연결 에지는 제3 인스턴스와 복수의 제1 인스턴스 중 하나의 제1 인스턴스 또는 복수의 제2 인스턴스 중 하나의 제2 인스턴스 사이의 연결을 표현할 수 있다. 제3 연결 에지는 제3 연결 에지의 일단에 연결된 제3 인스턴스에 의해 표현한 정보 아이템이 제3 연결 에지의 타단에 연결된 제2 인스턴스에 의해 표현한 인터페이스에 연결되어, 정보 아이템이 인터페이스에 의해 전송되는 것을 지정함을 표현할 수 있다.
동작(526)에서, 시스템 아키텍처의 제4 설계 디멘전의 복수의 제4 인스턴스에 관한 정보는 하나 이상의 소스 데이터베이스로부터 추출될 수 있다. 동작(526)은 도 4의 제4 정보 추출기(430) 또는 도 1의 포맷 변환기(120)의 일 실시예에 의해 수행될 수 있다. 제4 설계 디멘전은 함수 계층일 수 있다. 복수의 제4 인스턴스는 시스템 아키텍처의 복수의 파트에 의해 수행되는 복수의 함수일 수 있다. 함수 중 일부는 함수 중 다른 함수와 통합될 수 있고, 그러므로 함수 중 다른 함수와 통합되는 함수는 함수 중 다른 함수보다 더 높은 레벨의 함수의 계층에 있을 수 있다.
동작(528)에서, 복수의 제4 인스턴스의 각각의 제4 인스턴스에 대해, 제4 정점은 속성 그래프 데이터 모델에서 생성될 수 있다. 동작(528)은 도 4의 제4 정점 생성기(432) 또는 도 1의 그래프 생성자(140)의 일 실시예에 의해 수행될 수 있다. 제4 정점은 제4 인스턴스를 표현할 수 있다.
동작(530)에서, 복수의 제4 인스턴스 중 하나 이상의 제4 인스턴스에 대해, 제4 구성 에지는 속성 그래프 데이터 모델에서 생성될 수 있다. 동작(530)은 도 4의 제4 구성 에지 생성기(434) 또는 도 1의 그래프 생성자(140)의 일 실시예에 의해 수행될 수 있다. 제4 구성 에지는 2개의 상이한 제4 정점에 연결될 수 있다. 제4 구성 에지는 복수의 제4 인스턴스 중 다른 제4 인스턴스에 관하여 하나의 제4 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현할 수 있다.
동작(532)에서, 복수의 제4 인스턴스 중 하나 이상의 제4 인스턴스에 대해, 제4 연결 에지는 속성 그래프 데이터 모델에서 생성될 수 있다. 동작(532)는 도 4의 제4 연결 에지 생성기(436) 또는 도 1의 그래프 생성자(140)의 일 실시예에 의해 수행될 수 있다. 제4 연결 에지는 제4 인스턴스와 복수의 제1 인스턴스 중 하나의 제1 인스턴스, 복수의 제2 인스턴스 중 하나의 제2 인스턴스, 또는 복수의 제3 인스턴스 중 하나의 제3 인스턴스 사이의 연결을 표현할 수 있다. 제4 연결 에지는 제4 연결 에지의 일단에 연결된 제4 인스턴스에 의해 표현한 함수가 제4 연결 에지의 타단에 연결된 제1 인스턴스에 의해 표현한 파트에 연결되어, 함수가 파트에 의해 수행되는 것을 지정함을 표현할 수 있다. 제4 연결 에지는 제4 연결 에지의 일단에 연결된 제4 인스턴스에 의해 표현한 함수가 제4 연결 에지의 타단에 연결된 제3 인스턴스에 의해 표현한 정보 아이템에 연결되어, 정보 아이템이 함수에 입력되거나 또는 정보 아이템이 함수로부터 출력되는 것을 지정함을 표현할 수 있다.
동작(534)에서, 시스템 아키텍처의 제5 설계 디멘전의 복수의 제5 인스턴스에 관한 정보는 하나 이상의 소스 데이터베이스로부터 추출될 수 있다. 동작(534)은 도 4의 제5 정보 추출기(438) 또는 도 1의 포맷 변환기(120)의 일 실시예에 의해 수행될 수 있다. 제5 설계 디멘전은 함수 계층일 수 있다. 복수의 제5 인스턴스는 시스템 아키텍처의 복수의 파트에 의해 수행되는 복수의 함수에 기초한 복수의 요구 사항일 수 있다. 요구 사항 중 일부는 요구 사항 중 다른 요구 사항과 통합될 수 있고, 그러므로 요구 사항 중 다른 요구 사항과 통합되는 요구 사항은 요구 사항 중 다른 요구 사항보다 더 높은 레벨의 요구 사항의 계층에 있을 수 있다.
동작(536)에서, 복수의 제5 인스턴스의 각각의 제5 인스턴스에 대해, 제5 정점은 속성 그래프 데이터 모델에서 생성될 수 있다. 동작(536)은 도 4의 제5 정점 생성기(440) 또는 도 1의 그래프 생성자(140)의 일 실시예에 의해 수행될 수 있다. 제5 정점은 제5 인스턴스를 표현할 수 있다.
동작(538)에서, 복수의 제5 인스턴스 중 하나 이상의 제5 인스턴스에 대해, 제5 구성 에지는 속성 그래프 데이터 모델에서 생성될 수 있다. 동작(538)은 도 4의 제5 구성 에지 생성기(442) 또는 도 1의 그래프 생성기(140)의 일 실시예에 의해 수행될 수 있다. 제5 구성 에지는 2개의 상이한 제5 정점에 연결될 수 있다. 제5 구성 에지는 복수의 제5 인스턴스 중 다른 제5 인스턴스에 관하여 하나의 제5 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현할 수 있다.
동작(540)에서, 복수의 제5 인스턴스 중 하나 이상의 제5 인스턴스에 대해, 제5 연결 에지는 속성 그래프 데이터 모델에서 생성될 수 있다. 동작(540)은 도 4의 제5 연결 에지 생성기(444) 또는 도 1의 그래프 생성기(140)의 일 실시예에 의해 수행될 수 있다. 제5 연결 에지는 제5 인스턴스와 복수의 제1 인스턴스 중 하나의 제1 인스턴스, 복수의 제2 인스턴스 중 하나의 제2 인스턴스, 복수의 제3 인스턴스 중 하나의 제3 인스턴스 또는 복수의 제4 인스턴스 중 하나의 제4 인스턴스 사이의 연결을 표현할 수 있다. 제5 연결 에지는 제 5 연결 에지의 일단에 연결된 제5 인스턴스에 의해 표현한 요구 사항이 제5 연결 에지의 타단에 연결된 제4 인스턴스에 의해 표현한 함수에 연결되어, 함수가 요구 사항에 기초하는 것을 지정함을 표현할 수 있다. 제5 연결 에지는 제5 연결 에지의 일단에 연결된 제5 인스턴스에 의해 표현한 요구 사항이 제5 연결 에지의 타단에 연결된 제1 인스턴스에 의해 표현한 파트에 연결되어, 파트가 요구 사항에 기초하는 것을 지정함을 표현할 수 있다.
동작(542)에서, 시스템 아키텍처의 제6 설계 디멘전의 복수의 제6 인스턴스에 관한 정보는 하나 이상의 소스 데이터베이스로부터 추출될 수 있다. 동작(542)은 도 4의 제6 정보 추출기(446) 또는 도 1의 포맷 변환기(120)의 일 실시예에 의해 수행될 수 있다. 제6 설계 디멘전은 단일 계층일 수 있다. 복수의 제6 인스턴스는 시스템 아키텍처의 복수의 정보 아이템 중 적어도 하나의 정보 아이템을 통신하거나 또는 시스템 아키텍처의 복수의 파트 사이의 복수의 인터페이스를 통해 통신된 복수의 신호일 수 있다. 신호 중 일부는 신호 중 다른 신호의 통합일 수 있고, 그러므로 신호 중 다른 신호의 통합인 신호는 신호 중 다른 신호보다 더 높은 레벨의 신호의 계층에 있을 수 있다.
동작(544)에서, 복수의 제6 인스턴스의 각각의 제6 인스턴스에 대해, 제6 정점은 속성 그래프 데이터 모델에서 생성될 수 있다. 동작(544)는 제6 정점은 제6 인스턴스를 표현할 수 있다. 제6 정점 생성기(448)는 도 4의 제6 정점 생성기(448) 또는 도 1의 그래프 생성자(140)의 일 실시예에 의해 수행될 수 있다. 제6 정점은 제6 인스턴스를 표현할 수 있다.
동작(546)에서, 복수의 제6 인스턴스 중 하나 이상의 제6 인스턴스에 대해, 제6 구성 에지는 속성 그래프 데이터 모델에서 생성될 수 있다. 동작(546)은 도 4의 제6 구성 에지 생성기(540) 또는 도 1의 그래프 생성기(140)의 일 실시예에 의해 수행될 수 있다. 제6 구성 에지는 2개의 상이한 제6 정점에 연결될 수 있다. 제6 구성 에지는 복수의 제6 인스턴스 중 다른 제6 인스턴스에 관하여 하나의 제6 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현할 수 있다.
동작(548)에서, 복수의 제6 인스턴스 중 하나 이상의 제6 인스턴스에 대해, 제6 연결 에지는 속성 그래프 데이터 모델에서 생성될 수 있다. 동작(548)은 도 4의 제6 연결 에지 생성기(452) 또는 도 1의 그래프 생성기(140)의 일 실시예에 의해 수행될 수 있다. 제6 연결 에지는 제6 인스턴스와 복수의 제1 인스턴스 중 하나의 제1 인스턴스, 복수의 제2 인스턴스 중 하나의 제2 인스턴스, 복수의 제3 인스턴스 중 하나의 제3 인스턴스, 복수의 제4 인스턴스 중 하나의 제4 인스턴스, 또는 복수의 제5 인스턴스 중 하나의 제5 인스턴스 사이의 연결을 표현할 수 있다. 제6 연결 에지는 제6 연결 에지의 일단에 연결된 제6 인스턴스에 의해 표현한 신호가 제6 연결 에지의 타단에 연결된 제2 인스턴스에 의해 표현한 인터페이스에 연결되어, 신호가 인터페이스에 포함되는 것을 지정함을 표현할 수 있다. 제6 연결 에지는 제6 연결 에지의 일단에 연결된 제6 인스턴스에 의해 표현한 신호가 제6 연결 에지의 타단에 연결된 제3 인스턴스에 의해 표현한 정보 아이템에 연결되어, 신호가 정보 아이템에 포함되는 것을 지정함을 표현할 수 있다.
다양한 실시예에서, 상이한 설계 디멘전을 표현하는 임의의 수의 상이한 정점 유형(vertex types)이 있을 수 있고, 상이한 정점 유형 중 임의의 것은 다른 상이한 정점 유형 중 임의의 것과 연결 에지를 가질 수 있다. 임의의 정점은 그에 연결된 하나 이상의 연결 에지를 가질 수 있고, 하나 이상의 연결 에지의 각각은 그래프 스키마(200) 내에 정의된 연결 규칙 내에서 다른 정점 유형의 임의의 다른 정점에 연결할 수 있다(도 2 참조). 각 연결 에지는 연결 에지에 의해 연결된 상이한 정점 사이의 관계를 표현한다. 일부 실시예에서, 연결 에지는 지향성(directional)이다. 일부 실시예에서, 연결 에지는 지향성이 아니다.
도 6a 및 도 6b는 일부 실시예에 따른 속성 그래프에 기초하여 가중 파트-투-파트 커플링 그래프를 생성하는 것을 도시하는 블록도이다. 도 6a는 계층적 속성 그래프 데이터 모델(600)이 함수 F, F.1, F.2, 요구 사항 R, R.1, R.2, 및 그에 연관된 구성 에지 및 연결 에지를 포함하지 않는다는 점을 제외하고, 도 3에 도시된 예시적인 계층적 속성 그래프 데이터 모델(300)과 유사한 시스템 아키텍처의 예시적인 계층적 속성 그래프 데이터 모델(600)을 도시한다. 도 6b에 도시된 바와 같은 새로운 가중 파트-투-파트 커플링 그래프(610)는 파트 및 인터페이스를 제외한 임의의 설계 디멘전을 무시하면서 속성 그래프 데이터 모델(600)의 파트 계층을 복사(copying)하고, 계층적 속성 그래프 데이터 모델(600)의 인터페이스를 가중 파트-투-파트 커플링 그래프(610)에서 관련 파트 사이의 가중 인터페이스 에지로 변환함으로써 속성 그래프 데이터 모델(600)에 기초하여 생성될 수 있다. 이것은 가중 파트-투-파트 커플링 그래프(610)로의, 인터페이스 및 파트 정점 클래스 및 그 각각의 인터페이스 에지를 포함하는, 속성 그래프 데이터 모델(600)의 2-모드 버전(two-mode version)의 1-모드 이분식 투영(one-mode bipartite projection)으로 지칭될 수 있다. 일부 실시예에서, 가중 파트-투-파트 커플링 그래프(610)는 속성 그래프 데이터 모델을 생성하는 중간 단계 없이 도 1의 소스 데이터베이스(110)로부터 직접적으로 생성될 수 있다. 예를 들어, 도 1의 그래프 생성자(140)는 가중 파트-투-파트 커플링 그래프(610)를 직접적으로 생성할 수 있다.
일 실시예에서, 가중 파트-투-파트 커플링 그래프(610)의 구성 에지의 가중치는 1의 값으로 설정되고, 인터페이스 에지(620, 630)의 가중치는 다음 공식에 따라 결정된다: 가중치 = (1+α)×β, 여기서 α는 최소 복잡도(minimum complexity) 0.0으로부터 최대 복잡도 1.0으로의 범위인 상대 인터페이스 복잡도 팩터(relative interface complexity factor)이고, β는 하드웨어/소프트웨어 조합 아키텍처(hardware/software combined architecture)의 경우 1.0이고 소프트웨어 아키텍처(software architecture)의 경우 > 1.0의 범위인 아키텍처 중요도 팩터(architecture importance factor)이다. 아키텍처 중요도 팩터 β는 도메인 간 확장성(cross-domain scalability)을 제공할 수 있다(예를 들어, 소프트웨어 대 하드웨어 설계). 예를 들어, 변수 β는 물리적 분해와 관련된 정보 교환 인터페이스의 중요도를 표현할 수 있고, 상대 복잡도 팩터 α는 각각의 인터페이스 에지에 의해 표현한 인터페이스를 통해 얼마나 많은 신호가 전송되는지에 의해 결정될 수 있다. 도시된 바와 같이, 인터페이스 에지(620)의 가중치는 1이며, 이는 파트 A.2와 A.3.1 사이의 인터페이스의 상대 복잡도 팩터 α가 0이고, 이 하드웨어/소프트웨어 아키텍처에 대한 아키텍처 중요도 팩터 β가 1이기 때문이다. 인터페이스 에지(630)의 가중치는 2이며, 이는 파트 A.2와 A.3.1 사이의 인터페이스의 상대 복잡도 팩터 α가 1이고, 이 하드웨어/소프트웨어 아키텍처에 대한 아키텍처 중요도 팩터 β가 1이기 때문이다.
일 실시예에서, 가중 파트-투-파트 커플링 그래프에서 파트들 사이의 인터페이스를 표현하는 인터페이스 에지에 가중치를 할당하기 위해 연결 가중치 또는 그래프 정도 접근법(connectivity weighting or graph degree approach)이 사용될 수 있다. 각각의 파트는 자신이 갖는 구성 및 인터페이스 연결의 수로 나눈 비용을 가질 수 있고, 그 나눈 비용은 부착된 인터페이스 에지의 가중치를 결정하는데 사용될 수 있다. 이 실시예에서, 인터페이스 에지(620, 630)의 가중치는 다음 공식에 따라 결정될 수 있다: 인터페이스 에지(예를 들어, 인터페이스 에지(620) 또는 인터페이스 에지(630) 중 하나)가 커플링된 파트의 쌍 중 첫번째의 통합 및 테스트 비용 추정치(integration and test cost estimate)를 파트의 쌍 중 첫번째에 연결된 에지의 총 수(구성 및 인터페이스 에지를 포함하는 모든 인입 에지(incoming edges))로 나눈 값에 인터페이스 에지(예를 들어, 인터페이스 에지(620) 또는 인터페이스 에지(630) 중 다른 하나)가 커플링된 파트의 쌍 중 두번째의 통합 및 테스트 비용 추정치를 파트의 쌍 중 두번째에 연결된 에지의 총 수로 나눈 값을 더하기. 가중 파트-투-파트 커플링 그래프(610)의 각각의 파트는 그에 할당된 비용을 가질 수 있으며, 이는 파트로 통합하는 더 낮은 계층적 레벨(lower hierarchical level)에서의 파트의 수 또는 파트를 통합하고 테스트하는데 필요한 시간에 기초할 수 있다. 이 메트릭(metric)에 의해, 파트 A.2는 예를 들어 파트 A.3.1보다 더 높은 비용을 가질 수 있다. 파트 A.2에는 총 3개의 인입 및 인터페이스 에지가 연결되어 있지만, 파트 A.3.1에는 인터페이스 에지가 1개만 연결되어 있다. 이 실시예에서, 파트 A.2에 3의 비용이 할당되고 파트 A.3.1에 1의 비용이 할당되는 경우, 인터페이스 에지(620)의 가중치는 1이 되고, 이는 인터페이스를 통합하는 평균 비용을 구현한다. 마찬가지로, 이 실시예에서 파트 A.2.1에 1의 비용이 할당되고 파트 A.3.2에 1의 비용이 할당되는 경우, 인터페이스 에지(630)의 가중치는 1이 될 것이다.
가중 파트-투-파트 커플링 그래프(610)에 기초하여 다양한 유형의 전산 분석이 수행될 수 있다. 이들은 모듈성, 시스템 아키텍처 내부 일관성, 견고성 및 취약성의 평가를 포함할 수 있다. 예를 들어, 속성 그래프 데이터 모델(610)로부터 인터페이스 에지를 점진적으로 제거함으로써, 시스템 아키텍처의 취약성 및 견고성이 결정될 수 있다.
도 7은 일부 실시예에 따른 가중 파트-투-파트 커플링 그래프를 생성하기 위한 시스템(700)을 도시하는 블록도이다. 도 6b는 시스템(700)에 의해 생성될 수 있는 일 예시적인 가중 파트-투-파트 커플링 그래프(610)를 도시한다. 시스템(700)은 컴퓨팅 프로세서(702) 및 예를 들어 속성 그래프(300)를 표현하는 그래프 스키마(200)에 기초한 데이터 구조와 같이, 컴퓨팅 프로세서(702)에 의해 동작되는 데이터 구조를 저장할 수 있는 메모리 회로(704)를 포함할 수 있다. 또한, 메모리 회로(704)는 실행될 때 도 8의 방법(800)을 수행하는 프로그램을 저장할 수 있다. 시스템(700)의 요소는 하나 이상의 연결 또는 데이터 버스(722)를 통해 다른 요소와 통신할 수 있다.
가중 파트-투-파트 커플링 그래프는 데이터 구조에 복수의 정점, 복수의 구성 에지 및 복수의 인터페이스 에지를 포함하는 가중 파트-투-파트 커플링 그래프 데이터 모델의 일 실시예일 수 있다. 복수의 가중 구성 에지(weighted compositional edges)는 정점 유형 내의 지향성 구성 및 지향성 분해를 표현할 수 있고, 복수의 인터페이스 에지는 정점 사이의 정보 교환 인터페이스를 표현할 수 있다. 데이터 구조는 예를 들어 컴퓨팅 프로세서(702)와 같은 컴퓨팅 프로세서를 갖는 컴퓨터 시스템의 예를 들어 메모리 회로(704)와 같은 메모리 회로에 저장될 수 있다.
데이터베이스 파서(706)는 시스템 아키텍처에 관한 관련 특성을 포함하는, 예를 들어 도 1의 소스 데이터베이스(110)와 같은 하나 이상의 소스 데이터베이스에 액세스 할 수 있다. 시스템 아키텍처에 관한 관련 특성은 시스템 아키텍처의 설계, 모델링, 시뮬레이션, 제조, 동작, 테스트, 성능, 신뢰성, 결함, 고장, 비용 및 평가에 관한 정보를 포함할 수 있다. 소스 데이터베이스는 시스템 아키텍처에 포함된 디바이스, 구성 요소, 서브시스템 및 시스템의 설계, 모델링 및 시뮬레이션을 위한 다양한 하드웨어 및/또는 소프트웨어 툴에 대한 데이터 파일을 포함할 수 있다. 소스 데이터베이스는, 예를 들어 도 5를 참조하여 설명된 방법(500)에 따라 생성된 속성 그래프 데이터 모델을 포함하는 데이터 구조와 같은, 메모리 회로(704)에 저장된 데이터 구조를 포함할 수 있다. 데이터베이스 파서(706)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(704)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(702)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제1 정보 추출기(708)는 하나 이상의 소스 데이터베이스로부터 시스템 아키텍처의 제1 설계 디멘전의 복수의 제1 인스턴스에 관한 정보를 추출할 수 있다. 제1 설계 디멘전은 시스템 아키텍처의 파트 계층일 수 있다. 제1 정보 추출기(708)는 도 4의 제1 정보 추출기(408)의 일 실시예를 포함하거나, 또는 도 1의 포맷 변환기(120)의 일 실시예에 포함될 수 있다. 복수의 제1 인스턴스는 시스템 아키텍처의 복수의 파트일 수 있다. 파트 중 일부는 파트 중 다른 파트와 통합될 수 있고, 그러므로 파트 중 다른 파트와 통합된 파트는 파트 중 다른 파트보다 더 높은 레벨의 파트의 계층에 있을 수 있다. 파트 계층의 예는 그래프 스키마(200)에서 파트(210) 및 도 3의 파트 A, A.1, A.2, A.3, A.1.1, A.1.2, A.2.1, A.2.2, A.3.1, 및 A.3.2에 의해 표현할 수 있다. 예를 들어, 회로 카드 파트는 복수의 집적 회로 파트 및 복수의 집적 회로 파트가 탑재된 인쇄 회로 기판의 통합일 수 있으며, 따라서 회로 카드 파트는 복수의 집적 회로 파트 및 복수의 집적 회로 파트가 탑재되는 회로 기판 파트보다 더 높은 레벨의 파트 계층에 있을 것이다. 제1 정보 추출기(708)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(704)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(702)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
정점 생성기(710)는 속성 그래프 데이터 모델에서 복수의 정점을 생성할 수 있다. 복수의 정점의 각각은 복수의 제1 인스턴스 중 하나의 제1 인스턴스를 표현할 수 있다. 복수의 정점의 각각은 복수의 파트 중 하나의 파트를 표현할 수 있다. 정점 생성기(710)는 도 1의 그래프 생성기(140)의 일 실시예에 포함될 수 있다. 정점 생성기(710)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(704)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(702)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
구성 에지 생성기(712)는 파트-투-파트 커플링 그래프 데이터 모델에서 복수의 가중 구성 에지를 생성할 수 있다. 복수의 가중 구성 에지의 각각은 복수의 정점의 상이한 정점의 쌍(different pair of vertices)을 연결할 수 있다. 복수의 가중 구성 에지의 각각은 복수의 제1 인스턴스 중 다른 제1 인스턴스에 관하여 복수의 제1 인스턴스 중 하나의 제1 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현할 수 있다. 구성 에지 생성기(712)는 도 1의 그래프 생성기(140)의 일 실시예에 포함될 수 있다. 구성 에지 생성기(712)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(704)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(702)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다. 복수의 가중 구성 에지는 시스템 아키텍처의 파트 계층의 파트의 물리적 통합(physical integration)을 표현할 수 있다.
구성 에지 가중치 할당기(compositional edge weight assigner)(714)는, 예를 들어, 더 낮은 레벨 파트의 더 높은 레벨 파트로의 통합의 비용 및/또는 복잡성을 표현하는, 복수의 가중 구성 에지의 각각에 구성 가중치 값(compositional weight value)을 할당할 수 있다. 구성 에지 가중치 할당기(714)는 도 1의 그래프 생성자(140)의 일 실시예에 포함될 수 있다. 구성 에지 가중치 할당기(714)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(704)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(702)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다. 일 실시예에서, 복수의 가중 구성 에지의 각각은 하나의 가중치 값(weight value)이 할당될 수 있다.
제2 정보 추출기(716)는 시스템 아키텍처의 제2 설계 디멘전의 복수의 제2 인스턴스에 관한 정보를 하나 이상의 소스 데이터베이스로부터 추출할 수 있다. 제2 설계 디멘전은 시스템 아키텍처의 복수의 파트 사이의 인터페이스 계층일 수 있다. 제2 정보 추출기(716)는 도 4의 제2 정보 추출기(414)의 일 실시예를 포함하거나 또는 도 1의 포맷 변환기(120)의 일 실시예에 포함될 수 있다. 인터페이스 계층은 시스템 아키텍처의 복수의 파트 사이의 복수의 인터페이스를 포함할 수 있다. 인터페이스 중 일부는 인터페이스 중 다른 인터페이스와 통합될 수 있고, 그러므로 인터페이스 중 다른 인터페이스와 통합되는 인터페이스는 인터페이스 중 다른 인터페이스보다 더 높은 레벨의 인터페이스의 계층에 있을 수 있다. 인터페이스의 계층의 예는 그래프 스키마(200)에서 인터페이스(220) 및 도 3의 인터페이스 Z, Z.1, Z.2 및 X에 의해 표현할 수 있다. 예를 들어, 와이어링 하니스는 복수의 개별 와이어의 통합일 수 있고, 각각의 개별 와이어는, 예를 들어 이더넷 연결과 같은 복수의 통신 프로토콜 연결의 통합일 수 있고, 따라서 와이어링 하니스는 복수의 와이어보다 더 높은 레벨의 인터페이스 계층에 있을 것이고, 각각의 와이어는 예를 들어 이더넷 연결과 같은 복수의 통신 프로토콜 연결보다 더 높은 레벨의 인터페이스 계층에 있을 것이다. 제2 정보 추출기(716)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(704)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(702)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
인터페이스 에지 생성기(interface edge generator)(718)는 복수의 가중 인터페이스 에지를 생성할 수 있다. 복수의 가중 인터페이스 에지의 각각은 복수의 정점 중 상이한 정점의 쌍을 연결하고 복수의 제2 인스턴스 중 하나 이상의 제2 인스턴스에 따라 복수의 제1 인스턴스 중 대응하는 제1 인스턴스의 쌍(corresponding pair of first instances) 사이의 정보 교환 연결을 표현할 수 있다. 복수의 가중 인터페이스 에지는 시스템 아키텍처의 파트 계층의 파트의 쌍(pairs of parts) 사이의 정보 교환 연결을 표현할 수 있다. 인터페이스 에지 생성기(718)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(704)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(702)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
인터페이스 에지 가중치 할당기(interface edge weight assigner)(720)는 복수의 가중 인터페이스 에지의 각각에 인터페이스 가중치 값(interface weight value)을 할당할 수 있다. 일 실시예에서, 인터페이스 가중치 값은 공식 (1+α)×β에 의해 정의될 수 있으며, 여기서 α는 최소 복잡도 0.0으로부터 최대 복잡도 1.0의 범위인 상대 인터페이스 복잡도 팩터이고, β는 아키텍처 중요도 팩터이다. 팩터 β는 하드웨어/소프트웨어 조합 아키텍처의 경우 1.0이고, 소프트웨어 아키텍처의 경우 > 1.0, 예를 들어 3.0 일 수 있다. 일 실시예에서, 복수의 가중 인터페이스 에지의 각각에 대한 인터페이스 가중치는 대응하는 가중 인터페이스 에지에 연결된 정점의 쌍 중 첫번째에 연결된 에지의 총 수(total number) 분의 1에, 정점의 쌍 중 상기 첫번째의 통합 및 테스트 비용 추정치(integration and test cost estimate)를 곱한 값, 및 대응하는 가중 인터페이스 에지에 연결된 정점의 쌍 중 두번째에 연결된 에지의 총 수 분의 1에, 정점의 쌍 중 두번째의 통합 및 테스트 비용 추정치를 곱한 값의 합으로서 정의될 수 있다. 정점의 통합 및 테스트 비용 추정치는 정점에 의해 표현된 파트와 관련된 실제 시스템 엔지니어링 원리에 기초하여 사용자에 의해 결정되고 입력될 수 있다. 인터페이스 에지 가중치 할당기(720)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(704)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(702)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
도 8은 일부 실시예에 따른 가중 파트-투-파트 커플링 그래프를 생성하는 방법(800)을 도시하는 블록도이다. 방법(800)은 도 7의 시스템(700)에 의해 수행될 수 있다. 도 6b는 방법(800)에 의해 생성될 수 있는 일 예시적인 가중 파트-투-파트 커플링 그래프(610)를 도시한다. 가중 파트-투-파트 커플링 그래프는 데이터 구조에 복수의 정점, 복수의 가중 구성 에지, 및 복수의 가중 인터페이스 에지를 포함하는 속성 그래프 데이터 모델의 일 실시예일 수 있다. 복수의 가중 구성 에지는 정점 유형 내의 지향성 구성 및 지향성 분해를 표현할 수 있고, 복수의 가중 인터페이스 에지는 정점들 사이의 정보 교환 인터페이스를 표현할 수 있다. 데이터 구조는 예를 들어 컴퓨팅 프로세서(702)와 같은 컴퓨팅 프로세서를 갖는 컴퓨터 시스템의 예를 들어 메모리 회로(704)와 같은 메모리 회로에 저장될 수 있다.
동작(802)에서, 도 1의 소스 데이터베이스(110)와 같은 하나 이상의 소스 데이터베이스가 컴퓨팅 프로세서에 의해 액세스 될 수 있다. 동작(802)는 도 7의 데이터베이스 파서(706) 또는 도 1의 포맷 변환기(120)의 일 실시예에 의해 수행될 수 있다. 소스 데이터베이스는 시스템 아키텍처에 관한 관련 특성을 포함할 수 있다. 시스템 아키텍처에 관한 관련 특성은 시스템 아키텍처의 설계, 모델링, 시뮬레이션, 제조, 동작, 테스트, 성능, 신뢰성, 결함, 고장, 비용 및 평가에 관한 정보를 포함할 수 있다. 소스 데이터베이스는 시스템 아키텍처에 포함된 디바이스, 구성 요소, 서브시스템 및 시스템의 설계, 모델링 및 시뮬레이션을 위한 다양한 하드웨어 및/또는 소프트웨어 툴에 대한 데이터 파일을 포함할 수 있다. 소스 데이터베이스는, 예를 들어 도 5를 참조하여 설명된 방법(500)에 따라 생성된 속성 그래프 데이터 모델을 포함하는 데이터 구조와 같은, 컴퓨터 시스템의 메모리 회로에 저장된 데이터 구조를 포함할 수 있다.
동작(804)에서, 시스템 아키텍처의 제1 설계 디멘전의 복수의 제1 인스턴스에 관한 정보는 하나 이상의 소스 데이터베이스로부터 추출될 수 있다. 동작(804)은 도 7의 제1 정보 추출기(708) 또는 도 1의 포맷 변환기(120)의 일 실시예에 의해 수행될 수 있다. 제1 설계 디멘전은 시스템 아키텍처의 파트 계층일 수 있다. 복수의 제1 인스턴스는 시스템 아키텍처의 복수의 파트일 수 있다. 파트 중 일부는 파트 중 다른 파트와 통합될 수 있고, 그러므로 파트 중 다른 파트와 통합된 파트는 파트 중 다른 파트보다 더 높은 레벨의 파트의 계층에 있을 수 있다. 파트 계층의 예는 그래프 스키마(200)에서의 파트(210) 및 도 3의 파트 A, A.1, A.2, A.3, A.1.1, A.1.2, A.2.1, A.2.2, A.3.1 및 A.3.2에 의해 표현할 수 있다. 예를 들어, 회로 카드 파트는 복수의 집적 회로 파트와 복수의 집적 회로 파트가 탑재된 인쇄 회로 기판의 통합일 수 있으며, 따라서 회로 카드 파트는 복수의 집적 회로 파트 및 복수의 집적 회로 파트가 탑재된 회로 기판 파트보다 더 높은 레벨의 파트 계층에 있을 것이다.
동작(806)에서, 복수의 정점이 생성될 수 있다. 복수의 정점의 각각은 복수의 제1 인스턴스 중 하나의 제1 인스턴스를 표현할 수 있다. 동작(806)은 도 7의 정점 생성기(710) 또는 도 1의 그래프 생성자(140)의 일 실시예에 의해 수행될 수 있다.
동작(808)에서, 복수의 가중 구성 에지가 생성될 수 있다. 동작(808)은 도 7의 구성 에지 생성기(712) 또는 도 1의 그래프 생성자(140)의 일 실시예에 의해 수행될 수 있다. 복수의 가중 구성 에지의 각각은 복수의 정점의 상이한 정점의 쌍을 연결하고 복수의 제1 인스턴스 중 다른 제1 인스턴스에 관하여 복수의 제1 인스턴스 중 하나의 제1 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현할 수 있다. 복수의 가중 구성 에지는 시스템 아키텍처의 파트 계층의 파트의 물리적 통합을 표현할 수 있다. 복수의 가중 구성 에지는 시스템 아키텍처의 파트 계층의 파트의 물리적 통합을 표현할 수 있다. 복수의 가중 구성 에지는 예를 들어, 더 낮은 레벨 파트의 더 높은 레벨 파트로의 통합의 비용 및/또는 복잡성을 표현하는, 구성 가중치 값(compositional weight value)에 각각 할당될 수 있다. 일 실시예에서, 복수의 가중 구성 에지의 각각은 하나의 가중치 값이 할당될 수 있다.
동작(810)에서, 시스템 아키텍처의 제2 설계 디멘전의 복수의 제2 인스턴스에 관한 정보는 하나 이상의 소스 데이터베이스로부터 추출될 수 있다. 동작(810)은 도 4의 제2 정보 추출기(414) 또는 도 1의 포맷 변환기(120)의 일 실시예에 의해 수행될 수 있다. 제2 설계 디멘전은 시스템 아키텍처의 복수의 파트 사이의 인터페이스 계층일 수 있다. 복수의 제2 인스턴스는 시스템 아키텍처의 복수의 파트 사이의 복수의 인터페이스일 수 있다. 인터페이스 중 일부는 인터페이스 중 다른 인터페이스와 통합될 수 있고, 그러므로 인터페이스 중 다른 인터페이스와 통합되는 인터페이스는 인터페이스 중 다른 인터페이스보다 더 높은 레벨의 인터페이스의 계층에 있을 수 있다. 인터페이스의 계층의 예는 그래프 스키마(200)에서 인터페이스(220) 및 도 3의 인터페이스 Z, Z.1, Z.2 및 X에 의해 표현할 수 있다. 예를 들어, 와이어링 하니스는 복수의 개별 와이어의 통합일 수 있고, 각각의 개별 와이어는, 예를 들어 이더넷 연결과 같은 복수의 통신 프로토콜 연결의 통합일 수 있고, 따라서 와이어링 하니스는 복수의 와이어보다 더 높은 레벨의 인터페이스 계층에 있을 것이고, 각각의 와이어는 예를 들어 이더넷 연결과 같은 복수의 통신 프로토콜 연결보다 더 높은 레벨의 인터페이스 계층에 있을 것이다.
동작(812)에서, 복수의 가중 인터페이스 에지가 생성될 수 있다. 복수의 가중 인터페이스 에지의 각각은 복수의 정점 중 상이한 정점의 쌍을 연결하고 복수의 제2 인스턴스 중 하나 이상의 제2 인스턴스에 따라 복수의 제1 인스턴스 중 대응하는 제1 인스턴스의 쌍 사이의 정보 교환 연결을 표현할 수 있다. 복수의 가중 인터페이스 에지는 시스템 아키텍처의 파트 계층의 파트의 쌍 사이의 정보 교환 연결을 표현할 수 있다.
동작(814)에서, 인터페이스 가중치 값은 복수의 가중 인터페이스 에지의 각각에 할당될 수 있다. 일 실시예에서, 인터페이스 가중치 값은 공식 (1+α)×β에 의해 정의될 수 있으며, 여기서 α는 최소 복잡도 0.0으로부터 최대 복잡도 1.0의 범위인 상대 인터페이스 복잡도 팩터이고, β는 아키텍처 중요도 팩터이다. 팩터 β는 하드웨어/소프트웨어 조합 아키텍처의 경우 1.0이고, 소프트웨어 아키텍처의 경우 > 1.0, 예를 들어 3.0 일 수 있다. 일 실시예에서, 복수의 가중 인터페이스 에지의 각각에 대한 인터페이스 가중치는 대응하는 가중 인터페이스 에지에 연결된 정점의 쌍 중 첫번째에 연결된 에지의 총 수(total number) 분의 1에, 정점의 쌍 중 첫번째의 통합 및 테스트 비용 추정치(integration and test cost estimate)를 곱한 값, 및 대응하는 가중 인터페이스 에지에 연결된 정점의 쌍 중 두번째에 연결된 에지의 총 수 분의 1에, 정점의 쌍 중 두번째의 통합 및 테스트 비용 추정치를 곱한 값의 합으로서 정의될 수 있다. 정점의 통합 및 테스트 비용 추정치는 정점에 의해 표현된 파트와 관련된 실제 시스템 엔지니어링 원리에 기초하여 사용자에 의해 결정되고 입력될 수 있다.
도 9는 일부 실시예에 따른 일 예시적인 시스템 아키텍처의 일관성을 정량화하는 것을 표현하는 블록도(900)이다. 시스템의 설계 프로세스 동안, 시스템 아키텍처는 파트의 계층으로 분류될 수 있으며, 파트는 정보 교환 인터페이스와 함께 통합될 수 있다. 이것은 도 6b를 참조하여 설명된 가중 파트-투-파트 커플링 그래프로 표현한다. 도 6b에서 인터페이스 에지(예를 들어, 도 6b의 인터페이스 에지(620, 630))로서 표현한, 파트 사이의 정보 교환 인터페이스는 파트 사이의 커플링을 도입할 수 있다. 가중 파트-투-파트 커플링 그래프에 기초한 정보 교환 인터페이스로 인해 커플링과 시스템 아키텍처의 파트의 물리적 커플링의 일관성을 계산적으로 평가하는 것이 바람직하다.
가중 파트-투-파트 커플링 그래프(910)는 도 6b를 참조하여 설명된 것과 유사한 방식으로 구성될 수 있다. 일 예로서, 가중 파트-투-파트 커플링 그래프(910)는 컴퓨터 시스템을 표현할 수 있다. 물리적 파트 서브그래프 추출 툴(physical parts subgraph extraction tool)(920)은 가중 파트-투-파트 커플링 그래프(910)를 복사하고 계층적 파트 구성/분해를 표현하는 구성 에지를 제외한 사본으로부터 모든 에지를 제거함으로써 가중 파트-투-파트 커플링 그래프(910)로부터 물리적 파트 서브그래프(930)의 추출을 수행할 수 있다. 물리적 파트 서브그래프(930)는 정보 교환 인터페이스의 파트-투-파트 커플링을 표현하는 인터페이스 에지(예를 들어, 도 6b의 인터페이스 에지(620, 630))없이 가중 파트-투-파트 커플링 그래프(910)의 파트 계층을 포함할 수 있다. 구성 에지의 가중은 추출 동안 보존될 수 있다.
클러스터링(940)은 파트의 물리적 계층 및 정보 교환 인터페이스 모두를 포함하는 시스템 아키텍처의 계층적 클러스터 덴드로그램(hierarchical cluster dendrogram)(960)을 생성하기 위해 가중 파트-투-파트 커플링 그래프(910) 상에서 수행될 수 있다. 또한, 클러스터링(950)은 정보 교환 인터페이스없이 파트의 물리적 계층만을 포함하는 시스템 아키텍처의 계층적 클러스터 덴드로그램(970)을 생성하기 위해 물리적 파트 서브그래프(930) 상에서 수행될 수 있다. 계층적 클러스터 덴드로그램(960) 및 계층적 클러스터 덴드로그램(970)은 일 예시적인 실시예로서 그래픽으로 도시되어 있지만, 다양한 상이한 시스템 아키텍처가 상이한 대표적인 계층적 클러스터 덴드로그램을 생성할 수 있기 때문에 이것들은 제한적인 것으로 해석되어서는 안된다. 계층적 클러스터 덴드로그램(960, 970)은 그 외부에 복수의 모델 클러스터(model clusters)를 도시한다. 계층적 클러스터 덴드로그램(960, 970)은 클러스터 또는 덴드로그램으로 지칭될 수 있다. 클러스터링(940, 950)은 예를 들어 뉴먼 & 거반 2004 에지 매개 알고리즘과 같은 다양한 네트워크 또는 그래프 이론적 클러스터링 알고리즘을 사용하여 수행될 수 있다. 구성 에지 및 인터페이스 에지의 가중치는 클러스터링(940, 950) 동안 사용될 수 있다.
비교를 위한 클러스터의 상관(correlation of clusters for comparison)(980)은 정보 교환 인터페이스가 없는 파트의 물리적 계층만을 포함하는 시스템 아키텍처와 파트의 물리적 계층 및 정보 교환 인터페이스 모두를 포함하는 시스템 아키텍처 사이의 일관성을 결정하기 위해 계층적 클러스터링 덴드로그램(960, 970) 상에서 수행될 수 있다. 상관은, 예를 들어, 2개의 계층적 클러스터가 서로 얼마나 밀접하게 상관되어 있는지 비교하기 위해 베이커의 감마 상관(Beaker 's Gamma correlation) 1974 알고리즘과 같은 다양한 네트워크 또는 그래프 이론적 상관 알고리즘을 사용하여 수행될 수 있다. 이상적으로, 일관성은 1의 값으로 표현할 수 있다. 일관성이 1의 값과 동일하지 않은 경우, 불일치의 표시는 소스 데이터베이스로부터 시스템 아키텍처에서의 불일치의 소스 또는 소스들을 더 잘 이해하기 위해 본 명세서에서 설명된 바와 같은 추가 분석이 수행되는 것을 결정하는데 사용될 수 있다. 예를 들어, 일관성 값과 후속 추가 분석은 설계자 또는 기획자(architect)에 의해 선택된 인터페이스가 시스템의 물리적 분류(physical breakdown)와 일치하는지 이해하는 데 사용될 수 있다. 일관성 평가를 기반으로 설계 결정(Design decisions)을 내릴 수 있다. 따라서, 서로 상이한 시스템 아키텍처 설계 반복의 일관성 평가 결과는 경쟁 제품의 벤치마크 설계(benchmark design)와 관련되어 또는 설계의 일부 이전 개정과 관련되어 설계가 어떻게 진행되고 있는지 보기 위해 그래프로 플롯(plotted)될 수 있다.
도 10은 일부 실시예에 따른 다양한 예시적인 계산 분석 결과를 도시하는 그래프(1000)이다. 그래프(1000)의 x 축은 시간을 표현하고 그래프(1000)의 y 축은 분석 메트릭 값(analysis metric value)을 표현하며, 각 데이터 포인트(data point)는 각각의 날짜를 기준으로 시스템 아키텍처 설계를 위해 제공된다. 그래프(1000)는 시스템 아키텍처 설계가 발전(evolves)함에 따라 시간이 지남에 따른(over time) 시스템 아키텍처 분석 메트릭 값의 발전(evolution)을 추적하기 위해 계산 분석이 어떻게 사용될 수 있는지를 도시한다. 점선으로 표시된 SRR은 시스템 아키텍처 개발 타임라인(system architecture development timeline)동안 시스템 요구 사항 리뷰 날짜를 지칭한다. 플롯(Plots)(1010, 1020, 1030)은 모듈성 메트릭을 표현한다.
모듈성 메트릭은, 예를 들어 클로셋-뉴먼-모어 모듈성 및 커뮤니티 검출 알고리즘(Clauset-Newman-Moore modularity and community detection algorithms), 루벤 커뮤니티 검출 알고리즘(Louvain community detection algorithm) 및 거반-뉴먼 알고리즘과 같은 잘 수립된 네트워크 및 그래프 이론적 알고리즘을 사용하여 가중 파트-투-파트 커플링 그래프를 분석함으로써 결정될 수 있다. 파트-투-파트 커플링 그래프와 모듈성 알고리즘은 파트-투-파트 커플링 그래프의 데이터 구조에서 모듈화 알고리즘이 작동하는 방식과 관련하여 잘 정렬되어 있다. 시스템 아키텍처의 모듈성을 결정할 때, 분석은 각 파트가 속한 파트의 커뮤니티 또는 파트의 분리 가능한 그룹을 결정한다. 알고리즘은 물리적 분류와 파트들 사이의 인터페이스가 얼마나 잘 정렬되어 있는지를 모두 고려할 수 있다. 예를 들어, 특정 경로가 시스템 아키텍처에서 얼마나 공통적인지에 기초하여, 특정 경로의 중요성에 기초한 에지 매개 클러스터(edge betweenness cluster)는 일부 실시예에서 시스템의 물리적 고장 또는 다른 실시예에서 파트들 사이의 인터페이스와 물리적 고장의 조합을 사용하여 생성될 수 있고, 그러면 모듈성 메트릭(modularity metric)은 분리 가능한 상이한 클러스터 또는 커뮤니티가 서로 어떻게 다른지 보기 위해 적용될 수 있다. 모듈성 메트릭은 0으로부터 1로의 범위일 수 있으며, 0은 전혀 모듈식이 아니며 1은 이상적으로 모듈식이다. 모듈식 시스템 아키텍처(modular system architecture)의 경우 모듈성 팩터가 0.3보다 큰 것이 일반적으로 바람직하다.
플롯(1010)은 설계 프로세스 동안 아키텍처가 발전함에 따라 시간이 지남에 따라 관찰될 때, 물리적 계층 시스템 아키텍처만을 고려하고 시스템 아키텍처 내의 정보 교환 연결을 고려하지 않는 시스템 아키텍처의 모듈성을 표현한다. 또한, 이것은 시스템 아키텍처의 물리적 분해의 모듈성으로 지칭될 수 있다. 플롯(1010)에서의 물리적 분해의 모듈성은 시스템 아키텍처의 물리적 파트 계층이 얼마나 상세하고 일관되게 분류되어 있는지를 표현할 수 있다. 플롯(1020)은 설계 프로세스 동안 아키텍처가 발전함에 따라 시간이 지남에 따라 관찰될 때, 논리적 시스템 아키텍처(logical system architecture)만을 고려함으로써 결정된 이상적인 모듈성을 표현한다. 플롯(1020)은 아키텍처의 발전에서의 주어진 포인트(given point)에서, 커뮤니티 검출 알고리즘(community detection algorithms)을 통해 최대 모듈성 커뮤니티 또는 모듈로 파트들을 그룹화 할 때, 인터페이스 변경 없이, 및 파트 사이에서 선택된 정보 교환 인터페이스가 주어지는, 달성될 수 있는 최상의 모듈성에 대한 지침(guidance)을 제공한다. 플롯(1030)은 설계 프로세스 동안 아키텍처가 발전함에 따라 시간이 지남에 따라 관찰될 때, 파트 사이의 정보 교환 인터페이스 및 시스템 아키텍처의 물리적 파트 계층을 설명하는 시스템 아키텍처의 모듈성 또는 "분리성(separability)"을 표현한다.
일부 실시예에서, 가중 파트-투-파트 커플링 그래프에서 각각의 인터페이스 에지와 연관된 위험은 뉴먼 & 거반 2004 에지 매개 중심성 알고리즘(Newman & Girvan 2004 edge betweenness centrality algorithm)에 의해 결정된 바와 같이 각각의 인터페이스 에지의 에지 중심성에 따라 결정되고 플롯될 수 있다. 상대적으로 높은 중심성을 갖는 것으로 결정된 인터페이스는 상대적으로 높은 위험을 갖는 것으로 간주되며, 모듈성을 감소시킬 수 있으며, 이는 종종 제품 설계 목표와 상충(conflicts)된다. 위험을 감소시키기 위해 인터페이스를 단순화함으로써, 시스템 아키텍처의 모듈성과 견고성은 향상될 수 있으며, 따라서 설계 목표가 쉽게 달성될 수 있다.
어떤 인터페이스가 모듈성에 가장 큰 영향을 미치는지를 식별하는 한 가지 방법은 기본 가중 파트-투-파트 커플링 그래프(base weighted part-to-part coupling graph)의 모듈성을 결정한 다음, 상이한 인터페이스 에지를 제거함으로써 생성된 각 가중 파트-투-파트 커플링 서브그래프의 모듈성을 결정하는 것이다. 기본 가중 파트-투-파트 커플링 그래프로부터 모듈성에서 가장 큰 변경을 갖는 가중 파트-투-파트 커플링 서브그래프는 전체 시스템 아키텍처의 모듈성이 가중 파트-투-파트 커플링 서브그래프를 생성하기 위해 제거된 인터페이스에 가장 민감하다는 것을 표현한다. 마찬가지로, 전체 시스템 아키텍처는 다음으로 가장 큰 변경을 순위별로 표시한 다른 가중 파트-투-파트 커플링 서브그래프를 생성하기 위해 제거된 인터페이스에 다음으로 가장 민감하다. 이 분석은 시스템 모듈성을 향상시키기 위해 단순화되거나 제거된 경우 가장 큰 영향을 미칠 수 있는 시스템 아키텍처에서의 인터페이스를 식별하는데 사용될 수 있다. 이러한 통찰력이 없으면, 시스템 아키텍처 설계의 잘못된 영역이 설계 반복 동안 집중될 수 있으며, 모듈성이 향상되지 않을 수 있다.
플롯(1010 내지 1030)과 달리, 플롯(1040)은 모듈성 메트릭이 아니다. 플롯(1040)은 시스템 아키텍처의 파트들 사이의 조합된 물리적 분해 및 정보 교환 인터페이스와 물리적 분해 단독의 상관을 표현하며, 따라서 도 9를 참조하여 설명된 바와 같이, 동일한 물리적 기능적 정렬(the physical to functional alignment of the same)을 표현한다. 플롯(1040)은 데이터 포인트들(1040A, 1040B) 사이에서, 설계 변경이 시스템 아키텍처의 일관성의 현저한 감소를 야기했음을 표현한다. 이 메트릭은 시스템 아키텍처의 물리적 구조의 변화에 민감할 수 있으며, 설계 변경이 시스템의 물리적 분해가 정보 교환 인터페이스 또는 시스템의 암시적 함수 분해와 관련하여 잘못 정렬되게 하는 때를 도시한다. 그래프(1000)로부터의 테이크어웨이(takeaway)는 일관성이 감소하고 모듈성 메트릭이 값이 감소함에 따라 시스템에 대한 위험이 증가한다는 것일 수 있다. 예를 들어, 시스템 아키텍처의 내부 일관성이 갑자기 감소하면, 설계 선명도(design clarity)도 갑자기 감소한다. 또한, 내부 일관성은 과거 제품과 비교하여 벤치마킹(benchmarked)하여 설계 선명도 표준이 충족되었는지에 대한 통찰력을 제공할 수 있다. 내부 선명도 및 일관성은 제품 수명주기 동안 구현 및 해석 위험(implementation and interpretation risks)을 감소시킨다.
도 11은 일부 실시예에 따른 시스템 아키텍처의 일관성을 정량화하기 위한 시스템(1100)을 도시하는 블록도이다. 시스템(1100)은 컴퓨팅 프로세서(1102) 및 컴퓨팅 프로세서(1102)에 의해 동작되는 데이터 구조를 저장할 수 있는 메모리 회로(1104)를 포함할 수 있다. 또한, 메모리 회로(1104)는 실행될 때 도 12의 방법(1200)을 수행하는 프로그램을 저장할 수 있다. 시스템(1100)은 예를 들어, 도 1의 속성 그래프 데이터 모델(150)과 같은 속성 그래프 데이터 모델, 또는 예를 들어, 도 6b의 가중 파트-투-파트 커플링 그래프(610)와 같은 가중 파트-투-파트 커플링 그래프 데이터 모델의 분석을 비교할 수 있고, 시스템 아키텍처의 다른 버전을 표현한다. 시스템(1100)의 요소는 하나 이상의 연결 또는 데이터 버스(1124)를 통해 서로 통신할 수 있다.
가중 파트-투-파트 커플링 그래프는 데이터 구조에 복수의 정점, 복수의 가중 구성 에지, 및 복수의 가중 인터페이스 에지를 포함하는 속성 그래프 데이터 모델의 일 실시예일 수 있다. 복수의 가중 구성 에지는 정점 유형 내의 지향성 구성 및 지향성 분해를 표현할 수 있고, 복수의 가중 인터페이스 에지는 정점들 사이의 정보 교환 인터페이스를 표현할 수 있다.
데이터베이스 파서(1106)는 시스템 아키텍처에 관한 관련 특성을 포함하는, 도 1의 소스 데이터베이스(110)와 같은 하나 이상의 소스 데이터베이스에 액세스 할 수 있다. 시스템 아키텍처에 관한 관련 특성은 시스템 아키텍처의 설계, 모델링, 시뮬레이션, 제조, 동작, 테스트, 성능, 신뢰성, 결함, 고장, 비용 및 평가에 관한 정보를 포함할 수 있다. 소스 데이터베이스는 시스템 아키텍처에 포함된 디바이스, 구성 요소, 서브시스템 및 시스템의 설계, 모델링 및 시뮬레이션을 위한 다양한 하드웨어 및/또는 소프트웨어 툴에 대한 데이터 파일을 포함할 수 있다. 소스 데이터베이스는, 예를 들어 도 5를 참조하여 설명된 방법(500)에 따라 생성된 속성 그래프 데이터 모델을 포함하는 데이터 구조, 또는 도 8을 참조하여 설명된 방법(800)에 따라 생성된 가중 파트-투-파트 커플링 그래프 데이터 모델을 포함하는 데이터 구조와 같은, 메모리 회로(1104)에 저장된 데이터 구조를 포함할 수 있다. 데이터베이스 파서(1106)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1104)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1102)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제1 정보 추출기(1108)는 하나 이상의 소스 데이터베이스로부터 시스템 아키텍처의 제1 설계 디멘전의 복수의 제1 인스턴스에 관한 정보를 추출할 수 있다. 제1 정보 추출기(1108)는 도 4의 제1 정보 추출기(408) 또는 도 7의 제1 정보 추출기(708)의 일 실시예를 포함하거나, 또는 도 1의 포맷 변환기(120)의 일 실시예에 포함될 수 있다. 제1 설계 디멘전은 시스템 아키텍처의 파트 계층일 수 있다. 복수의 제1 인스턴스는 시스템 아키텍처의 복수의 파트일 수 있다. 파트 중 일부는 파트 중 다른 파트와 통합될 수 있고, 그러므로 파트 중 다른 파트와 통합된 파트는 파트 중 다른 파트보다 더 높은 레벨의 파트의 계층에 있을 수 있다. 파트 계층의 예는 그래프 스키마(200)에서 파트(210) 및 도 3의 파트 A, A.1, A.2, A.3, A.1.1, A.1.2, A.2.1, A.2.2, A.3.1, 및 A.3.2에 의해 표현할 수 있다. 예를 들어, 회로 카드 파트는 복수의 집적 회로 파트 및 복수의 집적 회로 파트가 탑재된 인쇄 회로 기판의 통합일 수 있으며, 따라서 회로 카드 파트는 복수의 집적 회로 파트 및 복수의 집적 회로 파트가 탑재되는 회로 기판 파트보다 더 높은 레벨의 파트 계층에 있을 것이다. 제1 정보 추출기(1108)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1104)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1102)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제2 정보 추출기(1110)는 시스템 아키텍처의 제2 설계 디멘전의 복수의 제2 인스턴스에 관한 정보를 하나 이상의 소스 데이터베이스로부터 추출할 수 있다. 제2 설계 디멘전은 시스템 아키텍처의 복수의 파트 사이의 인터페이스 계층일 수 있다. 제2 정보 추출기(1110)는 도 4의 제2 정보 추출기(414) 또는 도 7의 제2 정보 추출기(716)의 일 실시예를 포함하거나, 또는 도 1의 포맷 변환기(120)의 일 실시예에 포함될 수 있다. 인터페이스 계층은 시스템 아키텍처의 복수의 파트 사이의 복수의 인터페이스를 포함할 수 있다. 인터페이스 중 일부는 인터페이스 중 다른 인터페이스와 통합될 수 있고, 그러므로 인터페이스 중 다른 인터페이스와 통합되는 인터페이스는 인터페이스 중 다른 인터페이스보다 더 높은 레벨의 인터페이스의 계층에 있을 수 있다. 인터페이스의 계층의 예는 그래프 스키마(200)에서 인터페이스(220) 및 도 3의 인터페이스 Z, Z.1, Z.2 및 X에 의해 표현할 수 있다. 예를 들어, 와이어링 하니스는 복수의 개별 와이어의 통합일 수 있고, 각각의 개별 와이어는, 예를 들어 이더넷 연결과 같은 복수의 통신 프로토콜 연결의 통합일 수 있고, 따라서 와이어링 하니스는 복수의 와이어보다 더 높은 레벨의 인터페이스 계층에 있을 것이고, 각각의 와이어는 예를 들어 이더넷 연결과 같은 복수의 통신 프로토콜 연결보다 더 높은 레벨의 인터페이스 계층에 있을 것이다. 제2 정보 추출기(1110)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1104)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1102)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제1 데이터 구조 생성기(data structure generator)(1112)는 제1 가중 속성 그래프 데이터 모델(weighted property graph data model)을 표현하는 제1 데이터 구조를 생성할 수 있다. 제1 가중 속성 그래프 데이터 모델은 도 9의 가중 파트-투-파트 커플링 그래프(910) 또는 도 6b를 참조하여 설명된 가중 파트-투-파트 커플링 그래프 데이터 모델의 일 실시예일 수 있다. 제1 데이터 구조는 도 8을 참조하여 설명된 방법(800)의 일 실시예에 따라 생성될 수 있다. 제1 데이터 구조는 복수의 제1 정점을 포함할 수 있다. 제1 정점의 각각은 복수의 제1 인스턴스 중 하나의 제1 인스턴스를 표현할 수 있다. 또한, 제1 데이터 구조는 복수의 제1 가중 구성 에지를 포함할 수 있다. 복수의 제1 가중 구성 에지의 각각은 복수의 제1 정점 중 상이한 제1 정점의 쌍을 연결하고 복수의 제1 인스턴스 중 다른 제1 인스턴스에 관하여 복수의 제1 인스턴스 중 하나의 제1 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현할 수 있다. 또한, 복수의 제1 가중 구성 에지의 각각은 가중치 값이 할당될 수 있다. 제1 데이터 구조는 복수의 제1 가중 인터페이스 에지를 포함할 수 있다. 복수의 제1 가중 인터페이스 에지의 각각은 복수의 제1 정점의 상이한 제1 정점의 쌍을 연결하고 복수의 제2 인스턴스 중 하나 이상의 제2 인스턴스에 따라 복수의 제1 인스턴스의 대응하는 제1 인스턴스의 쌍 사이의 정보 교환 인터페이스를 표현할 수 있다. 또한, 복수의 제1 가중 인터페이스 에지의 각각은 가중치 값이 할당될 수 있다. 제1 데이터 구조 생성기(1112)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1104)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1102)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제2 데이터 구조 생성기(1114)는 제2 가중 속성 그래프 데이터 모델을 표현하는 제2 데이터 구조를 생성할 수 있다. 제2 데이터 구조는 도 9의 물리적 파트 서브그래프(930)의 일 실시예일 수 있다. 제2 데이터 구조 생성기(1114)는 도 9의 물리적 파트 서브그래프 추출 툴(920)의 일 실시예일 수 있다. 제2 가중 속성 그래프 데이터 모델은 도 9의 물리적 파트 서브그래프(930) 또는 도 6b를 참조하여 설명된 가중 파트-투-파트 커플링 그래프 데이터 모델(610)의 일 실시예일 수 있다. 제2 데이터 구조는 복수의 제2 정점을 포함할 수 있다. 제2 정점의 각각은 복수의 제1 인스턴스 중 하나의 제1 인스턴스를 표현할 수 있다. 또한, 제2 데이터 구조는 복수의 제2 가중 구성 에지를 포함할 수 있다. 복수의 제2 가중 구성 에지의 각각은 복수의 제2 정점 중 상이한 제2 정점의 쌍을 연결하고 복수의 제1 인스턴스 중 다른 제1 인스턴스에 관하여 복수의 제1 인스턴스 중 하나의 제1 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현할 수 있다. 복수의 제2 가중 구성 에지의 각각은 가중치 값이 할당될 수 있다. 제2 데이터 구조 생성기(1114)는 제1 데이터 구조의 사본(copy)을 만들거나 또는 제1 데이터 구조의 사본으로부터 가중 인터페이스 에지를 삭제하거나 제거함으로써 제2 데이터 구조를 생성할 수 있다. 가중 인터페이스 에지는 제1 데이터 구조의 사본을 만들 때 무시될 수 있어 제1 데이터 구조의 사본에 절대 만들어질 수 없다. 제2 데이터 구조는 복수의 제1 가중 인터페이스 에지를 생성하지 않는 것을 제외하고는 제1 데이터 구조 생성기(1112)를 참조하여 설명된 바와 같이 제1 데이터 구조와 유사한 방식으로 생성될 수 있다. 제2데이터 구조 생성기(1114)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1104)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1102)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제1 클러스터 생성기(cluster generator)(1116)는 제1 데이터 구조의 조합된 구성 및 인터페이스 에지 매개 계층적 클러스터 덴드로그램(combined compositional and interface edge betweenness hierarchical cluster dendrogram)을 생성할 수 있다. 제1 클러스터 생성기(1116)는 도 9의 클러스터링(clustering)(940)의 일 실시예를 수행할 수 있고, 조합된 구성 및 인터페이스 에지 매개 계층적 클러스터 덴드로그램은 도 9의 계층적 클러스터 덴드로그램(960)의 일 실시예일 수 있다. 조합된 구성 및 인터페이스 에지 매개 계층적 클러스터 덴드로그램은 제1 데이터 구조에 대해서 뉴먼 및 거반 2004 계산(Newman and Girvan 2004 computation)을 수행함으로써 생성될 수 있다. 제1 클러스터 생성기(1116)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1104)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1102)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제2 클러스터 생성기(1118)는 제2 데이터 구조의 구성 에지 매개 계층적 클러스터 덴드로그램(compositional edge betweenness hierarchical cluster dendrogram)을 생성할 수 있다. 제2 클러스터 생성기(1118)는 도 9의 클러스터링(950)의 일 실시예를 수행할 수 있고, 조합된 구성 및 인터페이스 에지 매개 계층적 클러스터 덴드로그램은 도 9의 계층적 클러스터 덴드로그램(970)의 일 실시예일 수 있다. 구성 에지 매개 계층적 클러스터 덴드로그램은 제2 데이터 구조에 대해 뉴먼 및 거반 2004 계산을 수행함으로써 생성될 수 있다. 제2 클러스터 생성기(1118)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1104)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1102)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
상관 계산기(correlation calculator)(1120)는 조합된 구성 및 인터페이스 에지 매개 계층적 클러스터 덴드로그램과 구성 에지 매개 계층적 클러스터 덴드로그램 사이의 상관을 계산할 수 있다. 상관 계산기(1120)는 도 9의 비교(980)를 위한 클러스터의 상관의 일 실시예를 수행할 수 있다. 상관은 조합된 구성 및 인터페이스 에지 매개 계층적 클러스터 덴드로그램과 구성 에지 매개 계층적 클러스터 덴드로그램에 대해 베이커의 감마 상관 1974 계산(Baker's Gamma correlation 1974 computation)을 수행함으로써 계산될 수 있다. 상관 계산기(1120)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1104)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1102)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
상관 플로터(correlation plotter)(1122)는 물리적 구성 및 인터페이스의 관점에서 아키텍처 인스턴스가 서로 얼마나 근접한지를 표현하는, 예를 들어, 도 10의 플롯(1040)과 같은 공통 플롯(common plot) 상에 복수의 상이한 시스템 아키텍처의 각각에 대응하는 상관을 플롯할 수 있다. 상이한 시스템 아키텍처는 시스템 아키텍처 개발 프로젝트(system architecture development project)의 상이한 날짜 또는 마일스톤(milestones)에서 상이한 설계 반복일 수 있다. 상관 플로터(1122)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1104)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1102)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
도 12는 일부 실시예에 따른 시스템 아키텍처의 일관성을 정량화하는 방법(1200)을 도시하는 블록도이다. 방법(1200)은 도 11의 시스템(1100)에 의해 수행될 수 있다. 방법(1200)은 시스템 아키텍처의 상이한 버전을 표현하는 속성 그래프 데이터 모델 또는 가중 파트-투-파트 커플링 그래프 데이터 모델의 분석을 비교할 수 있다. 가중 파트-투-파트 커플링 그래프는 데이터 구조에 복수의 정점, 복수의 가중 구성 에지, 및 복수의 가중 인터페이스 에지를 포함하는 속성 그래프 데이터 모델의 일 실시예일 수 있다. 도 6b는 일 예시적인 가중 파트-투-파트 커플링 그래프(610)을 도시한다. 복수의 가중 구성 에지는 정점 유형 내의 지향성 구성 및 지향성 분해를 표현할 수 있고, 복수의 가중 인터페이스 에지는 정점들 사이의 정보 교환 인터페이스 또는 다른 인터페이스를 표현할 수 있다. 데이터 구조는 예를 들어 컴퓨팅 프로세서(702)와 같은 컴퓨팅 프로세서를 갖는 컴퓨터 시스템의 예를 들어 메모리 회로(704)와 같은 메모리 회로에 저장될 수 있다.
동작(1202)에서, 정보는 시스템 아키텍처에 관한 관련 특성을 포함하는, 도 1의 소스 데이터베이스(110)와 같은 하나 이상의 소스 데이터베이스로부터 추출될 수 있다. 시스템 아키텍처에 관한 관련 특성은 시스템 아키텍처의 설계, 모델링, 시뮬레이션, 제조, 동작, 테스트, 성능, 신뢰성, 결함, 고장, 비용 및 평가에 관한 정보를 포함할 수 있다. 동작(1202)는 도 11의 데이터베이스 파서(1106), 도 11의 제1 정보 추출기(1108), 도 11의 제2 정보 추출기(1110), 및/또는 도 1의 포맷 변환기(120)의 실시예에 의해 수행될 수 있다. 소스 데이터베이스는 시스템 아키텍처에 포함된 디바이스, 구성 요소, 서브시스템 및 시스템의 설계, 모델링 및 시뮬레이션을 위한 다양한 하드웨어 및/또는 소프트웨어 툴에 대한 데이터 파일을 포함할 수 있다. 소스 데이터베이스는, 예를 들어 도 5를 참조하여 설명된 방법(500)에 따라 생성된 속성 그래프 데이터 모델을 포함하는 데이터 구조, 또는 도 8을 참조하여 설명된 방법(800)에 따라 생성된 가중 파트-투-파트 커플링 그래프 데이터 모델을 포함하는 데이터 구조와 같은, 메모리 회로(1104)에 저장된 데이터 구조를 포함할 수 있다.
추출된 정보는 시스템 아키텍처의 제1 설계 디멘전의 복수의 제1 인스턴스 및 시스템 아키텍처의 제 2 설계 디멘전의 복수의 제2 인스턴스에 관한 것일 수 있다. 제1 설계 디멘전은 시스템 아키텍처의 파트 계층일 수 있다. 복수의 제1 인스턴스는 시스템 아키텍처의 복수의 파트일 수 있다. 파트 중 일부는 파트 중 다른 파트와 통합될 수 있고, 그러므로 파트 중 다른 파트와 통합된 파트는 파트 중 다른 파트보다 더 높은 레벨의 파트의 계층에 있을 수 있다. 파트 계층의 예는 그래프 스키마(200)에서의 파트(210) 및 도 3의 파트 A, A.1, A.2, A.3, A.1.1, A.1.2, A.2.1, A.2.2, A.3.1 및 A.3.2에 의해 표현할 수 있다. 예를 들어, 회로 카드 파트는 복수의 집적 회로 파트와 복수의 집적 회로 파트가 탑재된 인쇄 회로 기판의 통합일 수 있으며, 따라서 회로 카드 파트는 복수의 집적 회로 파트 및 복수의 집적 회로 파트가 탑재된 회로 기판 파트보다 더 높은 레벨의 파트 계층에 있을 것이다. 제2 설계 디멘전은 시스템 아키텍처의 복수의 파트 간의사이의 인터페이스 계층일 수 있다. 복수의 제2 인스턴스는 시스템 아키텍처의 복수의 파트 간의사이의 복수의 인터페이스일 수 있다. 인터페이스 중 일부는 인터페이스 중 다른 인터페이스와 통합될 수 있고, 그러므로 인터페이스 중 다른 인터페이스와 통합되는 인터페이스는 인터페이스 중 다른 인터페이스보다 더 높은 레벨의 인터페이스의 계층에 있을 수 있다. 인터페이스의 계층의 예는 그래프 스키마(200)에서 인터페이스(220) 및 도 3의 인터페이스 Z, Z.1, Z.2 및 X에 의해 표현할 수 있다. 예를 들어, 와이어링 하니스는 복수의 개별 와이어의 통합일 수 있고, 각각의 개별 와이어는, 예를 들어 이더넷 연결과 같은 복수의 통신 프로토콜 연결의 통합일 수 있고, 따라서 와이어링 하니스는 복수의 와이어보다 더 높은 레벨의 인터페이스 계층에 있을 것이고, 각각의 와이어는 예를 들어 이더넷 연결과 같은 복수의 통신 프로토콜 연결보다 더 높은 레벨의 인터페이스 계층에 있을 것이다.
동작(1204)에서, 제1 가중 속성 그래프 데이터 모델을 표현하는 제1 데이터 구조가 생성될 수 있다. 제1 가중 속성 그래프 데이터 모델은 도 9의 가중 파트-투-파트 커플링 그래프(910) 또는 도 6b를 참조하여 설명된 가중 파트-투-파트 커플링 그래프 데이터 모델의 일 실시예일 수 있다. 제1 데이터 구조는 도 8을 참조하여 설명된 방법(800)의 일 실시예에 따라 생성될 수 있다. 제1 데이터 구조는 복수의 제1 인스턴스를 표현하는 복수의 제1 정점, 복수의 제1 정점 중 상이한 제1 정점의 쌍을 연결하고 복수의 제1 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현하는 복수의 제1 가중 구성 에지, 및 복수의 제1 정점 중 상이한 제1 정점의 쌍을 연결하고 복수의 제2 인스턴스 중 하나 이상의 제2 인스턴스에 대응하는 복수의 제1 인스턴스 사이의 정보 교환 인터페이스를 표현하는 복수의 제1 가중 인터페이스 에지를 포함할 수 있다. 복수의 제1 가중 구성 에지는 시스템 아키텍처의 파트 계층의 파트의 물리적 통합을 표현할 수 있다. 복수의 제1 가중 인터페이스 에지는 시스템 아키텍처의 파트 계층의 파트의 쌍 사이의 정보 교환 인터페이스를 표현할 수 있다. 복수의 제1 가중 구성 에지의 각각 및 복수의 제1 가중 인터페이스 에지의 각각은 가중치 값이 할당될 수 있다.
동작(1206)에서, 복수의 제1 가중 인터페이스 에지를 포함하지 않는 것을 제외하고는 제1 데이터 구조와 동등한 제2 데이터 구조가 생성될 수 있다. 제2 데이터 구조는 도 9의 물리적 파트 서브그래프(930)의 일 실시예일 수 있고, 도 9의 물리적 파트 서브그래프 추출 툴(920)의 일 실시예를 사용하여 생성될 수 있다. 제2 데이터 구조는 제1 데이터 구조의 사본을 만든 다음 제1 데이터 구조의 사본으로부터 가중 인터페이스 에지를 삭제하거나 제거함으로써 생성될 수 있다. 가중 인터페이스 에지는 제1 데이터 구조의 사본을 만들 때 무시될 수 있어 제1 데이터 구조의 사본에 절대 만들어질 수 없다. 제2 데이터 구조는 복수의 제1 가중 인터페이스 에지를 생성하지 않는 것을 제외하고는 동작(1204)를 참조하여 설명된 바와 같이 제1 데이터 구조와 유사한 방식으로 생성될 수 있다.
동작(1208)에서, 제1 데이터 구조의 조합된 구성 및 인터페이스 에지 매개 계층적 클러스터 덴드로그램은 생성될 수 있다. 동작(1208)은 도 9의 클러스터링(940)을 수행하는 일 실시예일 수 있고, 조합된 구성 및 인터페이스 에지 매개 계층적 클러스터 덴드로그램은 도 9의 계층적 클러스터 덴드로그램(960)의 일 실시예일 수 있다. 조합된 구성 및 인터페이스 에지 매개 계층적 클러스터 덴드로그램은 제1 데이터 구조에 대해 뉴먼 & 거반 2004 에지 매개 계산을 수행함으로써 생성될 수 있다.
동작(1210)에서, 제2 데이터 구조의 구성 에지 매개 계층적 클러스터 덴드로그램이 생성될 수 있다. 동작(1210)은 도 9의 클러스터링(950)을 수행하는 일 실시예일 수 있고, 구성 에지 매개 계층적 클러스터 덴드로그램은 도 9의 계층적 클러스터 덴드로그램(970)의 일 실시예일 수 있다. 구성 에지 매개 계층적 클러스터 덴드로그램은 제2 데이터 구조에 대해 뉴먼 & 거반 2004 에지 매개 계산을 수행함으로써 생성될 수 있다.
동작(1212)에서, 조합된 구성 및 인터페이스 에지 매개 계층적 클러스터 덴드로그램과 구성 에지 매개 계층적 클러스터 덴드로그램 사이의 상관이 계산될 수 있다. 동작(1212)는 도 9의 비교(980)를 위한 클러스터의 상관을 수행하는 일 실시예일 수 있다. 상관은 조합된 구성 및 인터페이스 에지 매개 계층적 클러스터 덴드로그램과 구성 에지 매개 계층적 클러스터 덴드로그램에 대해 베이커의 감마 상관 1974 계산을 수행함으로써 계산될 수 있다.
동작(1214)에서, 동작(1202 내지 1212)의 각각은 상이한 시스템 아키텍처에 대해 수행될 수 있고, 상이한 시스템 아키텍처의 각각에 대응하는 상관은 예를 들어, 도 10의 플롯(1040)과 같은 공통 플롯 상에 플롯될 수 있다. 상이한 시스템 아키텍처는 시스템 아키텍처 개발 프로젝트의 상이한 날짜 또는 마일스톤에서 상이한 설계 반복일 수 있다.
도 13은 일부 실시예에 따른 시스템 아키텍처의 견고성을 정량화하는 것을 도시하는 블록도(1300)이다. 시스템 아키텍처 설계의 견고성은 예를 들어, 도 6b를 참조하여 도시되고 설명된 바와 같이 계층적 파트-투-파트 커플링 그래프를 사용하여 계산적으로 평가될 수 있다. 예를 들어, 정보 교환 인터페이스를 통한 정보 교환의 방해(disturbances)에 대한 시스템 아키텍처의 견고성 및 취약성이 계산적으로 평가될 수 있다. 이것은 시스템 아키텍처 설계의 초기 단계(early stage)부터 나중 세부 설계 단계(later detailed design stages)까지 설계 결정(design decisions)에 도움이 되는 메트릭을 제공하여 신뢰성과 모듈성을 향상시킬 수 있다. 시스템 아키텍처 설계의 계산 분석으로부터의 메트릭을 사용하여 모듈성과 견고성 사이의 균형을 맞추고 알리는데(inform) 활용될 수 있다.
이전에, 시스템 아키텍처의 견고성 평가는 계산적으로 수행되지 않았다. 오히려, 신뢰성 있는 전문가(reliability expert)가 고용되어 비용이 많이 드는 신뢰성 모델(costly reliability model)을 수동으로 개발하고 신뢰성에 대한 주관적인 평가를 제공하였다. 신뢰성 모델의 개발은 주로 구성 요소 및 부품 파트 고장 및 고장 데이터 간 평균 시간을 기반으로 했으며, 이는 종종 새로운 설계가 아키텍처에 영향을 미칠 정도로 초기에는 달성할 수 없었다. 또한, 구성 요소 및 부품 파트 고장 및 고장 데이터 사이의 평균 시간은 아키텍처의 기능적 신뢰성 측면을 다루지 않으며 물리적 신뢰성 측면만 다룬다. 또한, 이 모델은 신뢰성 있는 전문가가 아키텍처를 신뢰성 모델로 변환했기 때문에 시스템 아키텍처와 관련된 모든 정보를 고려하지 않을 수 있다. 이 유형의 신뢰성 모델은 또한 초기 단계의 거친 설계가 아닌 세부 설계가 필요하므로, 이는 시스템 아키텍처가 더욱 상세하게 설계되어 설계 반복을 안내하는데 유용하지 않으므로, 초기 개념 시스템 아키텍처의 신뢰성을 개선하는데 크게 도움이 되지 않는다.
전형적인 네트워크 및 그래프 이론적 알고리즘은 또한 도 6b에 도시된 바와 같이 가중 파트-투-파트 커플링 그래프에 의해 표현된 바와 같이 시스템 아키텍처의 견고성을 평가할 수 없다. 파트-투-파트 커플링 그래프에는 구성 에지와 인터페이스 에지의 두 가지 유형의 에지가 있기 때문이다. 네트워크 및 그래프 이론적 알고리즘에 의해 일반적으로 사용되는 전형적인 네트워크 그래프는 단일 클래스의 에지 연결 노드 또는 정점을 가지며, 예를 들어 에지를 제거한 후 남은 최대 구성 요소를 기반으로 네트워크 신뢰성 또는 견고성을 평가하기 위해 에지를 점진적으로 제거한다. 본 명세서에 설명된 파트-투-파트 커플링 그래프에서 인터페이스 에지가 개별적으로 제거될 수 있지만, 구성 에지는 유지될 것이다. 따라서, 모든 인터페이스 에지가 제거되더라도, 가장 큰 연결 구성 요소(largest connected component)는 변경되지 않은 상태로 유지되어(예를 들어, 모든 정점의 전체 그래프), 네트워크 견고성과 신뢰성을 평가하는 전형적인 네트워크 및 그래프 이론적 알고리즘이 가중 파트-투-파트 커플링 그래프에 적용할 수 없게 된다.
가중 파트-투-파트 커플링 그래프(1310)는 도 6b를 참조하여 설명된 것과 유사한 방식으로 구성될 수 있다. 일 예로서, 가중 파트-투-파트 커플링 그래프(1310)는 컴퓨터 시스템을 표현할 수 있다. 인터페이스 에지 제거 툴(interface edge removal tool)(1320)은 가중 파트-투-파트 커플링 그래프(1310)로부터 인터페이스 에지(예를 들어, 도 6b의 인터페이스 에지(620, 630))를 선택하여 제거하고 그 제1 실행에서 가중 파트-투-파트 커플링 서브그래프(1330)를 생성할 수 있다. 후속 실행에서, 인터페이스 에지 제거 툴(1320)은 마지막으로 생성된 가중 파트-투-파트 커플링 그래프(1330)로부터 다른 인터페이스 에지를 제거하여 다른 가중 파트-투-파트 커플링 그래프(1330)를 생성할 수 있다. 인터페이스 에지 제거 툴(1320)은 임의의 선택에 기초하여, 또는 예를 들어, 가장 중심에서부터 주변으로 에지 중심성의 순서로 인터페이스 에지가 제거되는 가중 파트-투-파트 커플링 그래프(1310) 또는 가중 파트-투-파트 커플링 서브그래프(1330)의 분석에 기초하여 제거할 인터페이스 에지를 선택할 수 있다. 에지 중심성은 에지 간 중심성 알고리즘, 예를 들어 뉴먼 & 거반 2004에 따라 결정될 수 있다. 에지 제거 확률(edge removal probability)은 에지 중심성의 경험적 확률 분포(empirical probability distribution)에 기초할 수 있다. 인터페이스 에지는 공격(attack) 또는 변경(change)에 가장 취약하거나 가장 취약한(vulnerable) 연결로부터 순서대로 제거될 수 있다. 에지 중심성을 사용하여 인터페이스 에지 제거의 순서를 결정하면 공격자(attacker)가 시스템 아키텍처에서 가장 중심적인 인터페이스를 완벽하게 알고 있다고 가정하고, 인터페이스를 그 중심성의 순서로 공격할 수 있다. 변경이 취약한 경우, 먼저 중앙 에지를 제거하는 것은 변경이 최악의 시나리오(worst-case scenario)로 발생한다고 가정할 수 있다.
일 실시예에서, 인터페이스 에지 제거 툴(1320)의 각각의 반복은 주어진 분위 샘플 스텝 크기(given quantile sample step size)에 따라 분위 내림차순(decreasing quantile order)으로 인터페이스 에지를 제거할 수 있다. 예를 들어, 인터페이스 에지 제거 툴(1320)은 에지 매개 중심성(edge betweenness centrality)의 0.1과 0.25 사이의 분위 샘플 스텝 크기로 1.0으로부터 0.0으로 분위 내림차순으로 인터페이스 에지를 제거할 수 있다. 이 프로세스로부터 발생한 각각의 가중 파트-투-파트 커플링 서브그래프(weighted part-to-part coupling subgraph)(1330)는 각각의 분위 샘플 당 하나를 포함하여, 제거된 인터페이스 에지의 수가 증가할 수 있다.
각각의 가중 파트-투-파트 커플링 서브그래프(1330)의 생성에 이어, 클러스터링(1340)은 생성된 가중 파트-투-파트 커플링 서브그래프(1330)에서 수행되어 각각의 생성된 가중 파트-투-파트 커플링 서브그래프(1330)에 대응하는 시스템 아키텍처의 계층적 클러스터 덴드로그램(hierarchical cluster dendrogram)(1350)을 생성할 수 있다. 클러스터링(1340)은 에지 가중치, 예를 들어 뉴먼 & 거반 2004 에지 매개 알고리즘을 설명하는 다양한 네트워크 또는 그래프 이론적 클러스터링 알고리즘을 사용하여 수행될 수 있다. 구성 에지 및 인터페이스 에지의 가중치는 계층적 클러스터링(1340) 동안 사용될 수 있다. 더 많은 인터페이스 에지가 최신 계층적 클러스터 덴드로그램(1350)으로부터 제거될 필요가 있는지에 관한 결정(determination)(1360)이 이루어질 수 있다. 제거될 인터페이스 에지의 수는 가중 파트-투-파트 커플링 그래프(1310)에서, 예를 들어, 사용자에 의해 또는 인터페이스 에지의 총 수의 백분율에 의해 미리 결정될 수 있다. 제거할 인터페이스 에지의 수는 가중 파트-투-파트 커플링 그래프(1310)에서 인터페이스의 대부분일 수 있다. 제거할 더 많은 인터페이스 에지가 있는 경우, 인터페이스 에지 제거(1320)는 이전에 생성된 가중 파트-투-파트 커플링 서브그래프(1330)보다 하나 적은 인터페이스 에지를 갖는 다른 가중 파트-투-파트 커플링 서브그래프(1330)를 생성하기 위해 다시 수행된다. 인터페이스 에지 제거(1320) 내지 클러스터링(1340) 루프(loop)를 통해, 가중 파트-투-파트 커플링 서브그래프(1330)로부터 각각의 후속 에지 제거를 위한, 복수의 계층적 클러스터 덴드로그램(1350)이 생성될 수 있다.
또한, 클러스터링(1370)은 인터페이스 에지의 모두를 포함하는 시스템 아키텍처의 기본 계층적 클러스터 덴드로그램(baseline hierarchical cluster dendrogram)(1380)을 생성하기 위해 가중 파트-투-파트 커플링 그래프(1310) 상에서 수행될 수 있다. 클러스터링(1370)은 예를 들어 뉴먼 & 거반 2004 에지 매개 알고리즘과 같은 다양한 네트워크 또는 그래프 이론적 클러스터링 알고리즘을 사용하여 수행될 수 있다. 구성 에지 및 인터페이스 에지의 가중치는 기본 계층적 클러스터 덴드로그램(1380)을 생성하기 위해 클러스터링(1370) 동안 사용될 수 있다.
비교를 위한 클러스터의 상관(1390)은 기본 계층적 클러스터 덴드로그램(1380)과 관련하여 모든 계층적 클러스터 덴드로그램(1350) 상에서 수행될 수 있고, 상관 결과 대 가중 파트-투-파트 커플링 그래프(1310)로부터 제거된 인터페이스 에지의 수를 보여주며, 상관 결과(1395)의 플롯이 생성될 수 있다. 상관 결과(1395)의 플롯은 x 축으로서 다수의 제거된 인터페이스 에지, 또는 x 축으로서 각각의 인터페이스 에지 제거 확률(probability of each interface edge removal), 및 y 축으로서 상관 결과 값을 가질 수 있다. 상관은, 예를 들어, 베이커의 감마 상관 1974 알고리즘과 같은 다양한 네트워크 또는 그래프 이론적 상관 알고리즘을 사용하여 수행될 수 있다.
플롯된 상관 결과(1395)는 시스템 아키텍처의 복원력 또는 견고성의 메트릭을 제공할 수 있다. 플롯된 상관 결과(1395)의 일 실시예는 도 16의 복원력 프로파일 그래프(resiliency profile graph)(1600)를 포함할 수 있다. 전체 견고성 메트릭은 에지 제거 확률(probability of edge removal) p ≥ 0.5 (견고성 팩터, 높은 손상 확률 또는 넓은 공격(broad attack))일 때 감마 상관(Gamma correlation)의 중간값(median)을 에지 제거 확률 p < 0.5 (취약성 팩터, 낮은 손상 확률 또는 좁은 공격(narrow attack))일 때 계산된 동일한 양과 비교함으로써 결정될 수 있다. 견고성 메트릭은 인터페이스 에지의 50% 이상이 제거될 때 중간값 감마 상관으로서 결정될 수 있고, 취약성 메트릭은 인터페이스 에지의 50% 미만이 제거될 때 중간값 감마 상관을 뺀 것으로 결정될 수 있다. 소수의 에지(a few edges)만 제거한 후 플롯된 상관 값이 통계적으로 유의하게 떨어지면 시스템 아키텍처는 취약한 것으로 간주될 수 있지만, 비교적 견고한 시스템 아키텍처에서는 대부분의 인터페이스 에지가 제거될 때까지 플롯된 상관 값이 크게 떨어지지 않아야 한다. 예를 들어, 통계적 유의도(statistical significance)는 에지 제거 없이 최고 레벨의 기능성(functionality)의 임계치 백분율(threshold percentage) 보다 작은 값으로 에지의 제거 이후의 기능성의 감소에 의해 예시될 수 있다. 다양한 실시예에서, 통계적 유의도에 대한 임계치는 75%일 수 있으며, 예를 들어 도 16의 y 축에 도시된 바와 같이 0.75 미만으로의 감마의 감소를 표현한다.
인터페이스 에지 제거 툴(1320)이 제거하기 위해 인터페이스 에지의 랜덤 선택을 사용할 때, 가중 파트-투-파트 커플링 그래프(1310)로부터 비교를 위한 클러스터의 상관(1390)까지의 견고성 프로세스의 전체 정량화는 인터페이스 에지 제거 툴(1320)에서 행해지는 상이한 랜덤 선택으로 여러 번(예를 들어, 100 회) 반복될 수 있고, 상관 결과의 플롯(1395)은 상관 결과를 평균화(average)하거나 또는 상관 결과의 중간값을 찾아서 그 중간값 대 에지 제거 확률을 플롯할 수 있다. 랜덤 인터페이스 에지 제거 및 에지 매개 중심성(예를 들어, 시스템 아키텍처의 설계에서 인터페이스 에지의 상대적 중요도)에 기초하여 타겟팅된 인터페이스 에지 제거(targeted interface edge removal)와 함께 분석이 수행될 때, 2개의 견고성 메트릭이 발생할 수 있다: 하나는 제거될 인터페이스의 랜덤 선택으로 인한 것이고, 인터페이스에 대한 타겟팅된 공격(targeted attack)으로 인한 것. 견고성 메트릭의 둘 모두는 시스템의 기능적 저하(functional degradation)와 관련이 있다. 전자는 제조 변형 또는 생산 가능성(producibility)으로 인한 랜덤 실패로 인한 것일 수 있으며, 후자는 설계 내의 취약성에 대한 완벽한 지식을 가진 공격자(attacker)에 의해 인터페이스에 대한 악의적인 공격으로 인한 것일 수 있다.
플롯된 상관 결과(1395) 및/또는 전체 견고성 메트릭에 기초하여 설계 결정이 이루어질 수 있다. 제거된 인터페이스 에지의 수가 증가한 후 상관 결과를 보여주는 시스템 아키텍처의 견고성의 플롯은 시스템 아키텍처가 원래 시스템 아키텍처와 크게 관련이 없게 되기 전에 시스템 아키텍처가 허용할 수 있는 손상된 인터페이스가 얼마나 많은지를 도시한다. 설계가 진행됨에 따라, 각 설계 반복은 견고성을 정량화하기 위해 평가될 수 있고, 결과적인 결과 플롯은 서로 비교될 수 있다. 보다 견고한 시스템 아키텍처는 덜 견고한 시스템 아키텍처보다 더 많은 인터페이스 에지에서 더 높은 상관 결과를 갖는 경향이 있다. 견고성의 정량화는 또한 그 목적을 위해 별도의 모델을 개발하지 않고도 기능적 저하의 분석을 제공할 수 있다.
도 14는 일부 실시예에 따른 시스템 아키텍처의 견고성을 정량화하기 위한 시스템(1400)을 도시하는 블록도이다. 시스템(1400)은 컴퓨팅 프로세서(1402) 및 컴퓨팅 프로세서(1402)에 의해 동작되는 데이터 구조를 저장할 수 있는 메모리 회로(1404)를 포함할 수 있다. 또한, 메모리 회로(1404)는 실행될 때 도 15의 방법(1500)을 수행하는 프로그램을 저장할 수 있다. 시스템(1400)의 요소는 하나 이상의 연결 또는 데이터 버스(1426)를 통해 서로 통신할 수 있다.
시스템(1400)은 시스템 아키텍처를 표현하는, 예를 들어, 도 6b의 가중 파트-투-파트 커플링 그래프(610)와 같은 제1 가중 파트-투-파트 커플링 그래프 데이터 모델의 분석과 정보 교환 인터페이스 손실로 인한 시스템 구조의 손상 정도를 결정하기 위해 하나 이상의 정보 교환 인터페이스가 제거된 것을 제외하고는 제1 가중 파트-투-파트 커플링 그래프 데이터 모델과 동등한 제2 가중 파트-투-파트 커플링 그래프 데이터 모델을 비교할 수 있다. 가중 파트-투-파트 커플링 그래프는 데이터 구조에 복수의 정점, 복수의 가중 구성 에지, 및 복수의 가중 인터페이스 에지를 포함하는 속성 그래프 데이터 모델의 실시예일 수 있다. 복수의 가중 구성 에지는 정점 유형 내의 지향성 구성 및 지향성 분해를 표현할 수 있고, 복수의 가중 인터페이스 에지는 정점들 사이의 정보 교환 인터페이스를 표현할 수 있다.
데이터베이스 파서(1406)는 시스템 아키텍처에 관한 관련 특성을 포함하는, 도 1의 소스 데이터베이스(110)와 같은 하나 이상의 소스 데이터베이스에 액세스 할 수 있다. 시스템 아키텍처에 관한 관련 특성은 시스템 아키텍처의 설계, 모델링, 시뮬레이션, 제조, 동작, 테스트, 성능, 신뢰성, 결함, 고장, 비용 및 평가에 관한 정보를 포함할 수 있다. 소스 데이터베이스는 시스템 아키텍처에 포함된 디바이스, 구성 요소, 서브시스템 및 시스템의 설계, 모델링 및 시뮬레이션을 위한 다양한 하드웨어 및/또는 소프트웨어 툴에 대한 데이터 파일을 포함할 수 있다. 소스 데이터베이스는, 예를 들어 도 5를 참조하여 설명된 방법(500)에 따라 생성된 속성 그래프 데이터 모델을 포함하는 데이터 구조, 또는 도 8을 참조하여 설명된 방법(800)에 따라 생성된 가중 파트-투-파트 커플링 그래프 데이터 모델을 포함하는 데이터 구조와 같은, 메모리 회로(1404)에 저장된 데이터 구조를 포함할 수 있다. 데이터베이스 파서(1406)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제1 정보 추출기(1408)는 하나 이상의 소스 데이터베이스로부터 시스템 아키텍처의 제1 설계 디멘전의 복수의 제1 인스턴스에 관한 정보를 추출할 수 있다. 제1 정보 추출기(1408)는 도 4의 제1 정보 추출기(408) 또는 도 7의 제1 정보 추출기(708)의 일 실시예를 포함하거나, 또는 도 1의 포맷 변환기(120)의 일 실시예에 포함될 수 있다. 제1 설계 디멘전은 시스템 아키텍처의 파트 계층일 수 있다. 복수의 제1 인스턴스는 시스템 아키텍처의 복수의 파트일 수 있다. 파트 중 일부는 파트 중 다른 파트와 통합될 수 있고, 그러므로 파트 중 다른 파트와 통합된 파트는 파트 중 다른 파트보다 더 높은 레벨의 파트의 계층에 있을 수 있다. 파트 계층의 예는 그래프 스키마(200)에서 파트(210) 및 도 3의 파트 A, A.1, A.2, A.3, A.1.1, A.1.2, A.2.1, A.2.2, A.3.1, 및 A.3.2에 의해 표현할 수 있다. 예를 들어, 회로 카드 파트는 복수의 집적 회로 파트 및 복수의 집적 회로 파트가 탑재된 인쇄 회로 기판의 통합일 수 있으며, 따라서 회로 카드 파트는 복수의 집적 회로 파트 및 복수의 집적 회로 파트가 탑재되는 회로 기판 파트보다 더 높은 레벨의 파트 계층에 있을 것이다. 제1 정보 추출기(1408)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제2 정보 추출기(1410)는 시스템 아키텍처의 제2 설계 디멘전의 복수의 제2 인스턴스에 관한 정보를 하나 이상의 소스 데이터베이스로부터 추출할 수 있다. 제2 설계 디멘전은 시스템 아키텍처의 복수의 파트 사이의 인터페이스 계층일 수 있다. 제2 정보 추출기(1410)는 도 4의 제2 정보 추출기(414) 또는 도 7의 제2 정보 추출기(716)의 일 실시예를 포함하거나, 또는 도 1의 포맷 변환기(120)의 일 실시예에 포함될 수 있다. 인터페이스 계층은 시스템 아키텍처의 복수의 파트 사이의 복수의 인터페이스를 포함할 수 있다. 인터페이스 중 일부는 인터페이스 중 다른 인터페이스와 통합될 수 있고, 그러므로 인터페이스 중 다른 인터페이스와 통합되는 인터페이스는 인터페이스 중 다른 인터페이스보다 더 높은 레벨의 인터페이스의 계층에 있을 수 있다. 인터페이스의 계층의 예는 그래프 스키마(200)에서 인터페이스(220) 및 도 3의 인터페이스 Z, Z.1, Z.2 및 X에 의해 표현할 수 있다. 예를 들어, 와이어링 하니스는 복수의 개별 와이어의 통합일 수 있고, 각각의 개별 와이어는, 예를 들어 이더넷 연결과 같은 복수의 통신 프로토콜 연결의 통합일 수 있고, 따라서 와이어링 하니스는 복수의 와이어보다 더 높은 레벨의 인터페이스 계층에 있을 것이고, 각각의 와이어는 예를 들어 이더넷 연결과 같은 복수의 통신 프로토콜 연결보다 더 높은 레벨의 인터페이스 계층에 있을 것이다. 제2 정보 추출기(1410)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제1 데이터 구조 생성기(1412)는 제1 가중 속성 그래프 데이터 모델을 표현하는 제1 데이터 구조를 생성할 수 있다. 제1 가중 속성 그래프 데이터 모델은 도 13의 가중 파트-투-파트 커플링 그래프(1310) 또는 도 6b를 참조하여 설명된 가중 파트-투-파트 커플링 그래프 데이터 모델(610)의 일 실시예일 수 있다. 제1 데이터 구조는 도 8을 참조하여 설명된 방법(800)의 일 실시예에 따라 생성될 수 있다. 제1 데이터 구조는 복수의 제1 정점을 포함할 수 있다. 제1 정점의 각각은 복수의 제1 인스턴스 중 하나의 제1 인스턴스를 표현할 수 있다. 또한, 제1 데이터 구조는 복수의 제1 가중 구성 에지를 포함할 수 있다. 복수의 제1 가중 구성 에지의 각각은 복수의 제1 정점 중 상이한 제1 정점의 쌍을 연결하고 복수의 제1 인스턴스 중 다른 제1 인스턴스에 관하여 복수의 제1 인스턴스 중 하나의 제1 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현할 수 있다. 또한, 복수의 제1 가중 구성 에지의 각각은 가중치 값이 할당될 수 있다. 제1 데이터 구조는 복수의 제1 가중 인터페이스 에지를 포함할 수 있다. 복수의 제1 가중 인터페이스 에지의 각각은 복수의 제1 정점의 상이한 제1 정점의 쌍을 연결하고 복수의 제2 인스턴스 중 하나 이상의 제2 인스턴스에 따라 복수의 제1 인스턴스의 대응하는 제1 인스턴스의 쌍 사이의 정보 교환 인터페이스를 표현할 수 있다. 또한, 복수의 제1 가중 인터페이스 에지의 각각은 가중치 값이 할당될 수 있다. 제1 데이터 구조 생성기(1412)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제2 데이터 구조 생성기(1414)는 제2 가중 속성 그래프 데이터 모델을 표현하는 제2 데이터 구조를 생성할 수 있다. 제2 데이터 구조는 하나 이상의 제1 가중 인터페이스 에지를 포함하지 않는 것을 제외하고는 제1 데이터 구조와 동등할 수 있다. 제2 데이터 구조는 도 13의 가중 파트-투-파트 커플링 서브그래프(1330)의 일 실시예일 수 있다. 제2 데이터 구조 생성기(1414)는 도 13의 연결 에지 제거(connecting edge removal)(1320)의 일 실시예일 수 있다. 제2 가중 속성 그래프 데이터 모델은 도 6b를 참조하여 설명된 가중 파트-투-파트 커플링 그래프 데이터 모델(610)의 일 실시예일 수 있다. 제2 데이터 구조는 제1 데이터 구조의 사본을 만든 다음 제1 데이터 구조의 사본으로부터 하나 이상의 가중 인터페이스 에지를 삭제하거나 제거함으로써 생성될 수 있다. 하나 이상의 가중 인터페이스 에지는 제1 데이터 구조의 사본을 만들 때 무시될 수 있어 제1 데이터 구조의 사본에 절대 만들어질 수 없다. 제2 데이터 구조는 복수의 제1 가중 인터페이스 에지를 생성하지 않는 것을 제외하고는 제1 데이터 구조 생성기(1412)를 참조하여 설명된 바와 같이 제1 데이터 구조와 유사한 방식으로 생성될 수 있다.
일 실시예에서, 제2 데이터 구조를 생성하는 단계는 복수의 제2 데이터 구조를 생성하는 단계를 포함하고, 복수의 제2 데이터 구조의 각각은 제1 데이터 구조와 비교하여 제거된 상이한 수의 가중 인터페이스 에지를 갖는다. 이와 같이, 복수의 제2 데이터 구조의 각각은 상이한 버전의 제1 데이터 구조일 수 있다. 제1 데이터 구조에서 복수의 가중 인터페이스 에지의 수까지 제2 데이터 구조의 수가 있을 수 있다. 복수의 제2 데이터 구조의 첫번째로부터 마지막으로, 추가 가중 인터페이스 에지는 각각의 분위 샘플 당 하나를 포함하여, 제거된 가중 인터페이스 에지의 수가 증가하는 제1 데이터 구조의 복수의 버전을 초래하는 에지 매개 중심성의 주어진 분위 샘플 스텝 크기(given quantile sample step size)에 따라, 분위 내림차순으로 제1 데이터 구조와 관련되어 제거될 수 있다. 예를 들어, 분위 순서(quantile order)는 에지 매개 중심성의 0.1 내지 0.25 사이의 분위 샘플 스텝 크기로 1.0으로부터 0.0으로 감소될 수 있다. 결과적인 복수의 제2 데이터 구조는 각각의 분위 샘플 당 하나를 포함하여, 제거된 가중 인터페이스 에지의 수가 증가하는 제1 데이터 구조의 버전일 수 있다. 제2 데이터 구조 생성기(1414)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제1 클러스터 생성기(1416)는 제1 데이터 구조의 제1 에지 매개 계층적 클러스터 덴드로그램을 생성할 수 있다. 제1 클러스터 생성기(1416)는 도 11의 제1 클러스터 생성기(1116)의 일 실시예일 수 있다. 제1 클러스터 생성기(1416)는 도 13의 클러스터링(1370)의 일 실시예를 수행할 수 있고, 제1 에지 매개 계층적 클러스터 덴드로그램은 도 13의 기본 계층적 클러스터 덴드로그램(1380)의 일 실시예일 수 있다. 제1 에지 매개 계층적 클러스터 덴드로그램은 제1 데이터 구조에 대해 뉴먼 & 거반 2004 에지 매개 계산을 수행함으로써 생성될 수 있다. 제1 클러스터 생성기(1416)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
제2 클러스터 생성기(1418)는 제2 데이터 구조의 제2 에지 매개 계층적 클러스터 덴드로그램을 생성할 수 있다. 제2 클러스터 생성기(1418)는 도 11의 제2 클러스터 생성기(1118)의 일 실시예일 수 있다. 제2 클러스터 생성기(1418)는 도 13의 클러스터링(1340)의 일 실시예를 수행할 수 있고, 제2 에지 매개 계층적 클러스터 덴드로그램은 도 13의 계층적 클러스터 덴드로그램(1350)의 일 실시예일 수 있다. 제2 에지 매개 계층적 클러스터 덴드로그램은 제2 데이터 구조에 대해 뉴먼 & 거반 2004 에지 매개 계산을 수행함으로써 생성될 수 있다. 복수의 제2 에지 매개 계층적 클러스터 덴드로그램은 생성될 수 있고, 복수의 제2 매개 계층적 클러스터 덴드로그램의 각각은 제2 데이터 구조 생성기(1414)에 의해 생성된 복수의 제2 데이터 구조 중 대응하는 하나이다. 제2 클러스터 생성기(1418)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
상관 계산기(1420)는 제1 에지 매개 계층적 클러스터 덴드로그램과 제2 에지 매개 계층적 클러스터 덴드로그램 사이의 상관을 계산할 수 있다. 상관 계산기(1420)는 도 13의 비교(1390)를 위한 클러스터의 상관의 일 실시예를 수행할 수 있다. 상관은 제1 에지 매개 계층적 클러스터 덴드로그램과 제2 에지 매개 계층적 클러스터 덴드로그램에 대해 베이커의 감마 상관 1974 계산을 수행함으로써 계산될 수 있다. 복수의 상관은 제1 에지 매개 계층적 클러스터 덴드로그램과 복수의 제2 에지 매개 계층적 클러스터 덴드로그램 중 대응하는 것 사이에서 계산될 수 있다. 제2 클러스터 계산기(1418)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
상관 플로터(1422)는 공통 플롯 상에서 제거된 가중 인터페이스 에지의 수에 따라 복수의 제2 데이터 구조의 각각에 대응하는 복수의 상관을 플롯할 수 있다. 상관 플로터(1422)는 예를 들어 도 16의 복원력 프로파일 그래프(1600)의 일 실시예인 도 13의 상관 결과의 플롯(1395)의 일 실시예를 생성할 수 있다. 복수의 상관의 플롯은 시스템 아키텍처의 복원력 프로파일을 표현할 수 있다. 상관 플로터(1422)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
견고성 메트릭 계산기(robustness metric calculator)(1424)는 하나 이상의 소스 데이터베이스에 의해 표현된 시스템 아키텍처의 견고성을 복수의 제2 데이터 구조의 각각에 대한 복수의 상관에 따라 넓고 좁은 공격에 대해 계산할 수 있다. 좁은 공격에 대한 견고성은 에지 매개 분위(edge betweeness quantile) <0.5를 갖는 복수의 제2 데이터 구조에 대한 제1 에지 매개 계층적 클러스터 덴드로그램과 제2 에지 매개 계층적 클러스터 덴드로그램 사이의 중간값 상관(median correlation)에 의해 계산될 수 있다. 넓은 공격에 대한 견고성은 각각의 제거된 에지가 임계값보다 더 큰 에지 매개 중심성 분위(edge betweenness centrality quantile)(예를 들어, ≥ 0.5)를 갖는 복수의 제2 데이터 구조에 대한 제1 에지 매개 계층적 클러스터 덴드로그램과 제2 에지 매개 계층적 클러스터 덴드로그램 사이의 중간값 상관에 의해 계산될 수 있다. 견고성 메트릭 계산기(1424)는, 예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서 영구적으로 구성된 전용 회로 또는 로직, 또는 예를 들어, 메모리 회로(1404)에 저장된 명령에 따라 동작을 수행하는 컴퓨팅 프로세서(1402)와 같은 프로그램 가능한 로직 또는 회로를 포함할 수 있다.
도 15는 일부 실시예에 따른 시스템 아키텍처의 견고성을 정량화하는 방법(1500)을 도시하는 블록도이다. 방법(1500)은 도 14의 시스템(1400)에 의해 수행될 수 있다. 방법(1500)은 시스템 아키텍처가 손상되어 정보 교환 인터페이스가 얼마나 손실되는지 결정하기 위해 하나 이상의 정보 교환 인터페이스가 제거된 것을 제외하고는 제1 가중 파트-투-파트 커플링 그래프 데이터 모델과 동등한 제2 가중 파트-투-파트 커플링 그래프 데이터 모델과 시스템 아키텍처를 표현하는 제1 가중 파트-투-파트 커플링 그래프 데이터 모델의 분석을 비교할 수 있다. 가중 파트-투-파트 커플링 그래프는 데이터 구조에 복수의 정점, 복수의 가중 구성 에지, 및 복수의 가중 인터페이스 에지를 포함하는 속성 그래프 데이터 모델의 실시예일 수 있다. 도 6b는 일 예시적인 가중 파트-투-파트 커플링 그래프(610)을 도시한다. 복수의 가중 구성 에지는 정점 유형 내의 지향성 구성 및 지향성 분해를 표현할 수 있고, 복수의 가중 인터페이스 에지는 정점들 사이의 정보 교환 인터페이스 또는 다른 인터페이스를 표현할 수 있다. 데이터 구조는 예를 들어 컴퓨팅 프로세서(1402)와 같은 컴퓨팅 프로세서를 갖는 컴퓨터 시스템의 예를 들어 메모리 회로(1404)와 같은 메모리 회로에 저장될 수 있고, 방법(1500)은 컴퓨팅 프로세서에 의해 수행될 수 있다.
동작(1502)에서, 정보는 시스템 아키텍처에 관한 관련 특성을 포함하는, 도 1의 소스 데이터베이스(110)와 같은 하나 이상의 소스 데이터베이스로부터 추출될 수 있다. 시스템 아키텍처에 관한 관련 특성은 시스템 아키텍처의 설계, 모델링, 시뮬레이션, 제조, 동작, 테스트, 성능, 신뢰성, 결함, 고장, 비용 및 평가에 관한 정보를 포함할 수 있다. 동작(1502)는 도 14의 데이터베이스 파서(1406), 도 14의 제1 정보 추출기(1408), 도 14의 제2 정보 추출기(1410), 및/또는 도 1의 포맷 변환기(120)의 실시예에 의해 수행될 수 있다. 소스 데이터베이스는 시스템 아키텍처에 포함된 디바이스, 구성 요소, 서브시스템 및 시스템의 설계, 모델링 및 시뮬레이션을 위한 다양한 하드웨어 및/또는 소프트웨어 툴에 대한 데이터 파일을 포함할 수 있다. 소스 데이터베이스는, 예를 들어 도 5를 참조하여 설명된 방법(500)에 따라 생성된 속성 그래프 데이터 모델을 포함하는 데이터 구조, 또는 도 8을 참조하여 설명된 방법(800)에 따라 생성된 가중 파트-투-파트 커플링 그래프 데이터 모델을 포함하는 데이터 구조와 같은, 메모리 회로(1104)에 저장된 데이터 구조를 포함할 수 있다.
추출된 정보는 시스템 아키텍처의 제1 설계 디멘전의 복수의 제1 인스턴스 및 시스템 아키텍처의 제 2 설계 디멘전의 복수의 제2 인스턴스에 관한 것일 수 있다. 제1 설계 디멘전은 시스템 아키텍처의 파트 계층일 수 있다. 복수의 제1 인스턴스는 시스템 아키텍처의 복수의 파트일 수 있다. 파트 중 일부는 파트 중 다른 파트와 통합될 수 있고, 그러므로 파트 중 다른 파트와 통합된 파트는 파트 중 다른 파트보다 더 높은 레벨의 파트의 계층에 있을 수 있다. 파트 계층의 예는 그래프 스키마(200)에서의 파트(210) 및 도 3의 파트 A, A.1, A.2, A.3, A.1.1, A.1.2, A.2.1, A.2.2, A.3.1 및 A.3.2에 의해 표현할 수 있다. 예를 들어, 회로 카드 파트는 복수의 집적 회로 파트와 복수의 집적 회로 파트가 탑재된 인쇄 회로 기판의 통합일 수 있으며, 따라서 회로 카드 파트는 복수의 집적 회로 파트 및 복수의 집적 회로 파트가 탑재된 회로 기판 파트보다 더 높은 레벨의 파트 계층에 있을 것이다. 제2 설계 디멘전은 시스템 아키텍처의 복수의 파트 사이의 인터페이스 계층일 수 있다. 복수의 제2 인스턴스는 시스템 아키텍처의 복수의 파트 사이의 복수의 인터페이스일 수 있다. 인터페이스 중 일부는 인터페이스 중 다른 인터페이스와 통합될 수 있고, 그러므로 인터페이스 중 다른 인터페이스와 통합되는 인터페이스는 인터페이스 중 다른 인터페이스보다 더 높은 레벨의 인터페이스의 계층에 있을 수 있다. 인터페이스의 계층의 예는 그래프 스키마(200)에서 인터페이스(220) 및 도 3의 인터페이스 Z, Z.1, Z.2 및 X에 의해 표현할 수 있다. 예를 들어, 와이어링 하니스는 복수의 개별 와이어의 통합일 수 있고, 각각의 개별 와이어는, 예를 들어 이더넷 연결과 같은 복수의 통신 프로토콜 연결의 통합일 수 있고, 따라서 와이어링 하니스는 복수의 와이어보다 더 높은 레벨의 인터페이스 계층에 있을 것이고, 각각의 와이어는 예를 들어 이더넷 연결과 같은 복수의 통신 프로토콜 연결보다 더 높은 레벨의 인터페이스 계층에 있을 것이다.
동작(1504)에서, 제1 가중 속성 그래프 데이터 모델을 표현하는 제1 데이터 구조가 생성될 수 있다. 제1 가중 속성 그래프 데이터 모델은 도 13의 가중 파트-투-파트 커플링 그래프(1310) 또는 도 6b를 참조하여 설명된 가중 파트-투-파트 커플링 그래프 데이터 모델의 일 실시예일 수 있다. 동작(1504)은 도 14의 제1 데이터 구조 생성기(1412)의 일 실시예에 의해 수행될 수 있다. 제1 데이터 구조는 도 8을 참조하여 설명된 방법(800)의 일 실시예에 따라 생성될 수 있다. 제1 데이터 구조는 복수의 제1 인스턴스를 표현하는 복수의 제1 정점, 복수의 제1 정점 중 상이한 제1 정점의 쌍을 연결하고 복수의 제1 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현하는 복수의 제1 가중 구성 에지, 및 복수의 제1 정점 중 상이한 제1 정점의 쌍을 연결하고 복수의 제2 인스턴스 중 하나 이상의 제2 인스턴스에 대응하는 복수의 제1 인스턴스 사이의 정보 교환 인터페이스를 표현하는 복수의 제1 가중 인터페이스 에지를 포함할 수 있다. 복수의 제1 가중 구성 에지는 시스템 아키텍처의 파트 계층의 파트의 물리적 통합을 표현할 수 있다. 복수의 제1 가중 인터페이스 에지는 시스템 아키텍처의 파트 계층의 파트의 쌍 사이의 논리적 정보 교환 인터페이스(logical information exchange interfaces)를 표현할 수 있다. 복수의 제1 가중 구성 에지의 각각 및 복수의 제1 가중 인터페이스 에지의 각각은 가중치 값이 할당될 수 있다.
동작(1506)에서, 제2 가중 속성 그래프 데이터 모델을 표현하는 제2 데이터 구조가 생성될 수 있다. 제2 데이터 구조는 하나 이상의 제1 가중 인터페이스 에지를 포함하지 않는 것을 제외하고는 제1 데이터 구조와 동등할 수 있다. 제2 데이터 구조는 도 13의 가중 파트-투-파트 커플링 서브그래프(1330)의 일 실시예일 수 있고, 도 13의 연결 에지 제거(1320)의 일 실시예를 사용하여 생성될 수 있다. 동작(1506)은 도 14의 제2 데이터 구조 생성기(1414)의 일 실시예에 의해 수행될 수 있다. 제2 가중 속성 그래프 데이터 모델은 도 6b를 참조하여 설명된 가중 파트-투-파트 커플링 그래프 데이터 모델(610)의 일 실시예일 수 있다. 제2 데이터 구조는 제1 데이터 구조의 사본을 만든 다음 제1 데이터 구조의 사본으로부터 하나 이상의 가중 인터페이스 에지를 삭제하거나 제거함으로써 생성될 수 있다. 하나 이상의 가중 인터페이스 에지는 제1 데이터 구조의 사본을 만들 때 무시될 수 있어 제1 데이터 구조의 사본에 절대 만들어질 수 없다. 제2 데이터 구조는 하나 이상의 제1 가중 인터페이스 에지를 생성하지 않는 것을 제외하고는 동작(1504)를 참조하여 설명된 바와 같이 제1 데이터 구조와 유사한 방식으로 생성될 수 있다.
일 실시예에서, 제2 데이터 구조를 생성하는 단계는 복수의 제2 데이터 구조를 생성하는 단계를 포함하고, 복수의 제2 데이터 구조의 각각은 제1 데이터 구조와 비교하여 제거된 상이한 수의 가중 인터페이스 에지를 갖는다. 이와 같이, 복수의 제2 데이터 구조의 각각은 상이한 버전의 제1 데이터 구조일 수 있다. 제1 데이터 구조에서 복수의 가중 인터페이스 에지의 수까지 제2 데이터 구조의 수가 있을 수 있다. 복수의 제2 데이터 구조의 첫번째로부터 마지막으로, 추가 가중 인터페이스 에지는 각각의 분위 샘플 당 하나를 포함하여, 제거된 가중 인터페이스 에지의 수가 증가하는 제1 데이터 구조의 복수의 버전을 초래하는 에지 매개 중심성의 주어진 분위 샘플 스텝 크기(given quantile sample step size)에 따라, 분위 내림차순으로 제1 데이터 구조와 관련되어 제거될 수 있다. 예를 들어, 분위 순서(quantile order)는 에지 매개 중심성의 0.1 내지 0.25 사이의 분위 샘플 스텝 크기로 1.0으로부터 0.0으로 감소될 수 있다. 결과적인 복수의 제2 데이터 구조는 각각의 분위 샘플 당 하나를 포함하여, 제거된 가중 인터페이스 에지의 수가 증가하는 제1 데이터 구조의 버전일 수 있다.
동작(1508)에서, 제1 데이터 구조의 제1 에지 매개 계층적 클러스터 덴드로그램은 생성될 수 있다. 동작(1508)은 도 13의 클러스터링(1370)를 수행하는 일 실시예일 수 있고, 제1 에지 매개 계층적 클러스터 덴드로그램은 도 13의 기본 계층적 클러스터 덴드로그램(1380)의 일 실시예일 수 있다. 동작(1508)은 도 14의 제1 클러스터 생성기(1416)의 일 실시예에 의해 수행될 수 있다. 제1 에지 매개 계층적 클러스터 덴드로그램은 제1 데이터 구조에 대해 뉴먼 & 거반 2004 에지 매개 계산을 수행함으로써 생성될 수 있다.
동작(1510)에서, 제2 데이터 구조의 구성 에지 매개 계층적 클러스터 덴드로그램이 생성될 수 있다. 동작(1510)은 도 13의 클러스터링(1340)을 수행하는 일 실시예일 수 있고, 제2 에지 매개 계층적 클러스터 덴드로그램은 도 13의 계층적 클러스터 덴드로그램(1350)의 일 실시예일 수 있다. 동작(1510)은 도 14의 제2 클러스터 생성기(1418)의 일 실시예에 의해 수행될 수 있다. 제2 매개 계층적 클러스터 덴드로그램은 제2 데이터 구조에 대해 뉴먼 & 거반 2004 에지 매개 계산을 수행함으로써 생성될 수 있다. 복수의 제2 에지 매개 계층적 클러스터 덴드로그램은 생성될 수 있고, 복수의 제2 매개 계층적 클러스터 덴드로그램의 각각은 동작(1506)에서 생성된 복수의 제2 데이터 구조 중 대응하는 하나이다.
동작(1512)에서, 제1 에지 매개 계층적 클러스터 덴드로그램과 제2 에지 매개 계층적 클러스터 덴드로그램 사이의 상관이 계산될 수 있다. 동작(1512)는 도 13의 비교(1390)를 위한 클러스터의 상관을 수행하는 일 실시예일 수 있다. 동작(1512)은 도 14의 상관 계산기(1410)의 일 실시예에 의해 수행될 수 있다. 상관은 제1 에지 매개 계층적 클러스터 덴드로그램과 제2 에지 매개 계층적 클러스터 덴드로그램에 대해 베이커의 감마 상관 1974 계산을 수행함으로써 계산될 수 있다. 복수의 상관은 제1 에지 매개 계층적 클러스터 덴드로그램과 복수의 제2 에지 매개 계층적 클러스터 덴드로그램 중 대응하는 것 사이에서 계산될 수 있다.
동작(1514)에서, 좁은 공격에 대한 견고성은 에지 매개 중심성 분위 <0.5를 갖는 복수의 제2 데이터 구조에 대한 제1 에지 매개 계층적 클러스터 덴드로그램과 제2 에지 매개 계층적 클러스터 덴드로그램 사이의 중간값 상관에 의해 계산될 수 있다.
동작(1516)에서, 넓은 공격에 대한 견고성은 각각의 제거된 에지가 임계값보다 더 큰 에지 매개 중심성 분위(예를 들어, ≥ 0.5)를 갖는 복수의 제2 데이터 구조에 대한 제1 에지 매개 계층적 클러스터 덴드로그램과 제2 에지 매개 계층적 클러스터 덴드로그램 사이의 중간값 상관에 의해 계산될 수 있다.
동작(1518)에서, 제거된 가중 인터페이스 에지의 수에 따라 복수의 제2 데이터 구조의 각각에 대응하는 복수의 상관의 플롯이 출력될 수 있다. 동작(1518)는 상관 플로터(1422)의 일 실시예에 의해 수행될 수 있다. 복수의 상관의 플롯은 시스템 아키텍처의 복원력 프로파일을 표현할 수 있다. 동작(1518)은 도 16의 복원력 프로파일 그래프(1600)의 일 실시예를 생성할 수 있다.
도 16은 일부 실시예에 따른 시스템 아키텍처 설계의 몇 가지 상이한 반복의 복원력 프로파일(1600, 1610)을 도시하는 복원력 프로파일 그래프(1600)이다. 복원력 프로파일 그래프(1600)는 도 15를 참조하여 설명된 방법(1500)의 동작(1518)에 의해 생성될 수 있다. 복원력 프로파일(1610)은 타겟팅된 공격의 너비(breadth)의 50%가 도달된 이후까지 현저하게 떨어지지 않는 유지된 기능성에 의해 표시된, 견고한 시스템 아키텍처 설계 반복을 표현할 수 있다. 대조적으로, 복원력 프로파일(1620)은 타겟팅된 공격의 너비의 50%가 도달되기 전에 현저하게 떨어진 유지된 기능성에 의해 표시된, 취약한 시스템 아키텍처 설계 반복을 표시할 수 있다. 도시된 바와 같이, 복원력 프로파일(1620)에 대응하는 시스템 아키텍처 설계 반복의 유지된 기능성은 타겟팅된 공격의 너비의 약 10%가 도달될 이후에 현저하게 떨어진다.
모듈, 구성 요소 및 로직
특정 실시예는 본 명세서에서 로직 또는 다수의 구성 요소, 모듈 또는 메커니즘을 포함하는 것으로 설명된다. 모듈은 소프트웨어 모듈(예를 들어, (1) 비 일시적 머신 판독 가능 매체(non-transitory machine-readable medium) 상에 또는 (2) 전송 신호(transmission signal)로 구현된 코드) 또는 하드웨어-구현 모듈(hardware-implemented modules) 중 어느 하나를 구성할 수 있다. 하드웨어-구현 모듈은 특정 동작을 수행할 수 있는 유형의 유닛(tangible unit)이며 특정 방식으로 구성 또는 배열될 수 있다. 예시적인 실시예에서, 하나 이상의 컴퓨터 시스템(예를 들어, 독립형, 클라이언트 또는 서버 컴퓨터 시스템) 또는 하나 이상의 프로세서는 본 명세서에서 설명된 바와 같이 특정 동작을 수행하도록 동작하는 하드웨어-구현 모듈로서 소프트웨어(예를 들어, 애플리케이션 또는 애플리케이션 부분)에 의해 구성될 수 있다.
다양한 실시예에서, 하드웨어-구현 모듈은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들어, 하드웨어-구현 모듈은 특정 동작을 수행하기 위해 영구적으로 구성되는 전용 회로 또는 로직(예를 들어, FPGA 또는 ASIC와 같은 특수 목적 프로세서로서)을 포함할 수 있다. 하드웨어-구현 모듈은 또한 특정 동작을 수행하기 위해 소프트웨어에 의해 일시적으로 구성되는 프로그램 가능 로직 또는 회로(programmable logic or circuitry)(예를 들어, 범용 프로세서 또는 다른 프로그램 가능 프로세서 내에 포함되는)를 포함할 수 있다. 전용 및 영구적으로 구성된 회로 또는 일시적으로 구성된 회로(예를 들어, 소프트웨어에 의해 구성됨)에서 하드웨어-구현 모듈을 기계적으로 구현하기로 한 결정은 비용 및 시간 고려 사항에 의해 유발될 수 있다는 것이 이해될 것이다.
따라서, 용어 "하드웨어-구현 모듈"은 유형의 엔티티(tangible entity)를 포함하는 것으로 이해되어야 하고, 본 명세서에서 설명된 특정 동작을 수행하기 위해 및/또는 특정 방식으로 동작하기 위해 물리적으로 구성된, 영구적으로 구성된(예를 들어, 하드와이어된(hardwired)) 또는 임시로 또는 일시적으로 구성된(예를 들어, 프로그래밍된(programmed)) 엔티티이다. 하드웨어-구현 모듈이 임시로 구성된(예를 들어, 프로그래밍된) 실시예를 고려하면, 하드웨어-구현 모듈의 각각은 시간에서 어느 하나의 인스턴스에서 구성되거나 인스턴스화(instantiated) 될 필요가 없다. 예를 들어, 하드웨어-구현 모듈이 소프트웨어를 사용하여 구성된 범용 프로세서를 포함하는 경우, 범용 프로세서는 상이한 시간에 각각 상이한 하드웨어-구현 모듈로서 구성될 수 있다. 따라서, 소프트웨어는 예를 들어 시간의 한 인스턴스에서 특정 하드웨어-구현 모듈을 구성하고 시간의 한 인스턴스에서 상이한 하드웨어 구현 모듈을 구성하도록 프로세서를 구성할 수 있다.
하드웨어-구현 모듈은 다른 하드웨어-구현 모듈에 정보를 제공하고 다른 하드웨어-구현 모듈로부터 정보를 수신할 수 있다. 따라서, 설명된 하드웨어-구현 모듈은 통신적으로 커플링된 것으로 간주될 수 있다. 이러한 하드웨어-구현 모듈의 다수가 동시에 존재하는 경우, 통신은 하드웨어-구현 모듈을 연결하는 신호 전송(예를 들어, 적절한 회로 및 버스를 통해)을 통해 달성될 수 있다. 다수의 하드웨어-구현 모듈이 상이한 시간에 구성되거나 인스턴스화되는 실시예에서, 이러한 하드웨어-구현 모듈 사이의 통신은 예를 들어, 다수의 하드웨어-구현 모듈이 액세스하는 메모리 구조에서 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들어, 하나의 하드웨어-구현 모듈은 동작을 수행하고, 그 동작의 출력을 통신적으로 커플링된 메모리 디바이스(memory device)에 저장할 수 있다. 다른 하드웨어-구현 모듈은 나중에 메모리 디바이스에 액세스하여 저장된 출력을 검색하고 처리할 수 있다. 하드웨어-구현 모듈은 또한 입력 또는 출력 디바이스(input or output devices)와의 통신을 개시할 수 있고, 리소스(resource)(예를 들어, 정보의 수집) 상에서 동작할 수 있다.
본 명세서에 설명된 예시적인 방법의 다양한 동작은, 적어도 부분적으로, 관련 동작을 수행하도록 영구적으로 구성되거나 또는 임시로 구성된(예를 들어, 소프트웨어에 의해) 하나 이상의 프로세서에 의해 수행될 수 있다. 임시로 또는 영구적으로 구성되든, 이러한 프로세서는 하나 이상의 동작 또는 함수를 수행하도록 동작하는 프로세서-구현 모듈(processor-implemented modules)을 구성할 수 있다. 본 명세서에서 언급된 모듈은 일부 예시적인 실시예에서 프로세서-구현 모듈을 포함할 수 있다.
유사하게, 본 명세서에 설명된 방법은 적어도 부분적으로 프로세서-구현(processor-implemented)될 수 있다. 예를 들어, 방법의 동작 중 적어도 일부는 하나 이상의 프로세서 또는 프로세서-구현된 모듈에 의해 수행될 수 있다. 특정 동작의 성능은 단일 머신 내에 상주할 뿐만 아니라 여러 머신에 걸쳐 배치되어 하나 이상의 프로세서에 분산될 수 있다. 일부 예시적인 실시예에서, 프로세서 또는 프로세서들은 단일 위치(예를 들어, 가정 환경, 사무실 환경 내에 또는 서버 팜(server farm)으로서)에 위치될 수 있는 반면, 다른 실시예에서 프로세서는 다수의 위치에 걸쳐 분산될 수 있다.
하나 이상의 프로세서는 또한 "클라우드 컴퓨팅(cloud computing)" 환경에서 또는 "서비스로서의 소프트웨어(SaaS: Software as a Service)"로서 관련 동작의 성능을 지원하도록 동작할 수 있다. 예를 들어, 동작 중 적어도 일부는 컴퓨터 그룹(프로세서를 포함하는 기계의 예로서)에 의해, 수행될 수 있으며, 이들 동작은 네트워크(예를 들어, 인터넷)를 통해 및 하나 이상의 적절한 인터페이스(예를 들어, 응용 프로그램 인터페이스(API: Application Program Interfaces))를 통해 액세스 가능하다.
전자 장치 및 시스템
예시적인 실시예는 디지털 전자 회로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 예시적인 실시예는 예를 들어, 프로그램 가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터와 같은 데이터 처리 장치의 동작을 제어하기 위해 또는 데이터 처리 장치에 의한 실행을 위해 예를 들어 머신 판독 가능 매체에서와 같이 정보 운송자(information carrier)에 유형적으로 구현된 예를 들어 컴퓨터 프로그램과 같은 컴퓨터 프로그램 제품을 사용하여 구현될 수 있다.
컴퓨터 프로그램은 컴파일 또는 해석된 언어(compiled or interpreted languages)를 포함하여, 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 독립형 프로그램으로서 또는 모듈, 서브루틴, 또는 컴퓨팅 환경에서 사용을 위한 다른 적합한 유닛을 포함하는 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 한 사이트의 여러 컴퓨터에서 실행되거나 여러 사이트에 분산되어 통신 네트워크에 의해 상호 연결되도록 배치될 수 있다.
예시적인 실시예에서, 동작은 입력 데이터 상에서 동작하고 출력을 생성함으로써 함수를 수행하기 위해 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있다. 방법 동작은 또한 예를 들어 FPGA 또는 ASIC과 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 예시적인 실시예의 장치는 특수 목적 논리 회로로서 구현될 수 있다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 인해 발생한다. 프로그램 가능한 컴퓨팅 시스템을 배치하는 실시예에서, 하드웨어 및 소프트웨어 아키텍처 모두 고려가 필요하다는 것을 이해할 것이다. 구체적으로, 영구적으로 구성된 하드웨어(예를 들어, ASIC)에서, 임시로 구성된 하드웨어(예를 들어, 소프트웨어 및 프로그램 가능 프로세서의 조합)에서, 또는 영구적으로 및 임시로 구성된 하드웨어의 조합에서 특정 기능성을 구현할 것인지 여부의 선택은 설계 선택(design choice)일 수 있음을 이해할 것이다.
일 실시예가 특정 예시적인 실시예를 참조하여 설명되었지만, 본 발명의 더 넓은 사상 및 범위를 벗어나지 않고 이들 실시예에 대해 다양한 수정 및 변경이 이루어질 수 있음이 명백할 것이다. 따라서, 명세서 및 도면은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다. 본 명세서의 일부를 형성하는 첨부 도면은 주제가 실시될 수 있는 특정 실시예를 예시적으로 도시하지만 제한없이 도시한다. 예시된 실시예는 당업자가 본 명세서에 개시된 교시를 실시할 수 있도록 충분히 상세하게 설명된다. 구조적 및 논리적 대체 및 변경이 본 개시의 범위를 벗어나지 않고 이루어질 수 있도록, 다른 실시예가 그로부터 활용되고 도출될 수 있다. 그러므로,이 상세한 설명은 제한적인 의미로 취해져서는 안되며, 다양한 실시예의 범위는 청구 범위가 부여되는 전체 범위의 균등물과 함께 청구 범위에 의해서만 정의된다.

Claims (20)

  1. 시스템 아키텍처의 견고성을 정량화하기 위한 방법에 있어서,
    시스템 아키텍처에 관한 정보를 포함하는 하나 이상의 소스 데이터베이스로부터 정보를 추출하는 단계 - 상기 추출된 정보는 상기 시스템 아키텍처의 제1 설계 디멘전의 복수의 제1 인스턴스 및 상기 시스템 아키텍처의 제2 설계 디멘전의 복수의 제2 인스턴스에 관한 것임 -;
    가중 속성 그래프 데이터 모델을 표현하는 제1 데이터 구조를 생성하는 단계 - 상기 제1 데이터 구조는 상기 복수의 제1 인스턴스를 표현하는 복수의 정점(vertices), 상기 복수의 정점 중 상이한 정점의 쌍을 연결하고 상기 복수의 제1 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현하는 복수의 가중 구성 에지, 및 상기 복수의 정점 중 상이한 정점의 쌍을 연결하고 상기 복수의 제2 인스턴스 중 하나 이상의 제2 인스턴스에 따라 상기 복수의 제1 인스턴스 사이의 연결을 표현하는 복수의 가중 인터페이스 에지를 포함함 -;
    적어도 하나의 가중 인터페이스 에지가 제거된 것을 제외하고는 상기 제1 데이터 구조와 동등한 제2 데이터 구조를 생성하는 단계;
    상기 제 1 데이터 구조의 제1 에지 매개 계층적 클러스터를 생성하는 단계;
    상기 제2 데이터 구조의 제2 에지 매개 계층적 클러스터를 생성하는 단계; 및
    상기 제1 에지 매개 계층적 클러스터와 상기 제2 에지 매개 계층적 클러스터 사이의 상관을 계산하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 하나 이상의 소스 데이터베이스는,
    상이한 정점 유형의 복수의 정점,
    동일한 정점 유형의 정점을 연결하고 상기 동일한 정점 유형 내에서 계층적 지향성 구성 및 지향성 분해를 표현하는 복수의 구성 에지, 및
    상기 상이한 정점 유형의 정점을 연결하는 복수의 연결 에지
    를 포함하는 제3 데이터 구조의 속성 그래프 데이터 모델을 포함하는
    방법.
  3. 제1항에 있어서,
    상기 제1 설계 디멘전은 상기 시스템 아키텍처의 파트 계층이고,
    상기 복수의 제1 인스턴스는 상기 시스템 아키텍처의 복수의 파트이고,
    상기 제2 설계 디멘전은 상기 시스템 아키텍처의 상기 복수의 파트 사이의 인터페이스 계층이고,
    상기 복수의 제2 인스턴스는 상기 시스템 아키텍처의 상기 복수의 파트 사이의 복수의 인터페이스인
    방법.
  4. 제3항에 있어서,
    상기 복수의 가중 구성 에지는,
    상기 시스템 아키텍처의 상기 파트 계층의 파트의 물리적 통합을 표현하고,
    상기 복수의 가중 인터페이스 에지는,
    상기 시스템 아키텍처의 상기 파트 계층의 파트의 쌍 사이의 정보 교환 인터페이스를 표현하는
    방법.
  5. 제1항에 있어서,
    상기 제1 데이터 구조의 제1 에지 매개 계층적 클러스터를 생성하는 단계는,
    상기 제1 데이터 구조에 대해 뉴먼 및 거반 2004 계산을 수행하는 단계를 포함하고,
    상기 제2 데이터 구조의 제2 에지 매개 계층적 클러스터를 생성하는 단계는,
    상기 제2 데이터 구조에 대해 뉴먼 및 거반 2004 계산을 수행하는 단계를 포함하는
    방법.
  6. 제1항에 있어서,
    상기 제1 에지 매개 계층적 클러스터와 상기 제2 에지 매개 계층적 클러스터 사이의 상관을 계산하는 단계는,
    상기 제1 에지 매개 계층적 클러스터와 상기 제2 에지 매개 계층적 클러스터에 대해 베이커의 감마 상관 계산을 수행하는 단계를 포함하는
    방법.
  7. 제1항에 있어서,
    상기 제2 데이터 구조를 생성하는 단계는,
    각각의 분위 샘플 당 하나를 포함하여, 제거된 가중 인터페이스 에지의 수가 증가하는 상기 제1 데이터 구조의 복수의 버전을 초래하는 에지 매개 중심성의 주어진 분위 샘플 스텝 크기에 따라, 복수의 제2 데이터 구조의 각각에 대해, 분위 내림차순으로 가중 인터페이스 에지를 제거함으로써 상기 복수의 가중 인터페이스 에지의 수까지 상기 복수의 제2 데이터 구조를 생성하는 단계를 포함하고,
    상기 제2 데이터 구조의 제2 에지 매개 계층적 클러스터를 생성하는 단계는,
    복수의 제2 에지 매개 계층적 클러스터를 생성하는 단계 - 상기 복수의 제2 에지 매개 계층적 클러스터의 각각은 상기 복수의 제2 데이터 구조 중 대응하는 하나임 -를 포함하고,
    상기 제1 에지 매개 계층적 클러스터와 상기 제2 에지 매개 계층적 클러스터 사이의 상관을 계산하는 단계는,
    복수의 상관을 계산하는 단계 - 상기 복수의 상관의 각각은 상기 제1 에지 매개 계층적 클러스터와 상기 복수의 제2 에지 매개 계층적 클러스터 중 대응하는 하나 사이에 있음 -를 포함하며,
    상기 방법은,
    임계값보다 더 작은 에지 매개 분위를 갖는 상기 복수의 제2 데이터 구조에 대한 상기 제1 에지 매개 계층적 클러스터와 상기 제2 에지 매개 계층적 클러스터 사이의 중간값 상관에 의해 좁은 공격에 대한 견고성을 계산하는 단계; 및
    각각의 제거된 에지가 상기 임계값 이상인 매개 중심성 분위를 갖는 상기 복수의 제2 데이터 구조에 대한 상기 제1 에지 매개 계층적 클러스터와 상기 제2 에지 매개 계층적 클러스터 사이의 상기 중간값 상관에 의해 넓은 공격에 대한 견고성을 계산하는 단계
    를 더 포함하는 방법.
  8. 제7항에 있어서,
    제거된 가중 인터페이스 에지의 수에 따라 상기 제 2 데이터 구조의 각각에 대응하는 상기 복수의 상관의 플롯을 출력하는 단계
    를 더 포함하는 방법.
  9. 제8항에 있어서,
    상기 매개 중심성 값은,
    상기 제1 데이터 구조 및 상기 복수의 제2 데이터 구조 중 적어도 하나에 대해 뉴먼 및 거반 2004 계산을 수행함으로써 계산되는
    방법.
  10. 시스템 아키텍처의 견고성을 정량화하기 위한 시스템에 있어서,
    시스템 아키텍처에 관한 정보를 포함하는 하나 이상의 소스 데이터베이스에 액세스하는 데이터베이스 파서;
    상기 시스템 아키텍처의 제1 설계 디멘전의 복수의 제1 인스턴스에 관한 정보를 상기 하나 이상의 소스 데이터베이스로부터 추출하는 제1 정보 추출기;
    상기 시스템 아키텍처의 제2 설계 디멘전의 복수의 제2 인스턴스에 관한 정보를 상기 하나 이상의 소스 데이터베이스로부터 추출하는 제2 정보 추출기;
    가중 속성 그래프 데이터 모델을 표현하는 제1 데이터 구조를 생성하는 제1 데이터 구조 생성기 - 상기 제 1 데이터 구조는 상기 복수의 제1 인스턴스를 표현하는 복수의 정점, 상기 복수의 정점 중 상이한 정점의 쌍을 연결하고 상기 복수의 제1 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현하는 복수의 가중 구성 에지, 및 상기 복수의 정점 중 상이한 정점의 쌍을 연결하고 상기 복수의 제2 인스턴스 중 하나 이상의 제2 인스턴스에 따라 상기 복수의 제1 인스턴스 사이의 연결을 표현하는 복수의 가중 인터페이스 에지를 포함함 -;
    적어도 하나의 가중 인터페이스 에지가 제거된 것을 제외하고는 상기 제1 데이터 구조와 동등한 제2 데이터 구조를 생성하는 제2 데이터 구조 생성기;
    상기 제1 데이터 구조의 제1 에지 매개 계층적 클러스터를 생성하는 제1 클러스터 생성기;
    상기 제2 데이터 구조의 제2 에지 매개 계층적 클러스터를 생성하는 제2 클러스터 생성기; 및
    상기 제1 에지 매개 계층적 클러스터와 상기 제2 에지 매개 계층적 클러스터 사이의 상관을 계산하는 상관 계산기
    를 포함하는 시스템.
  11. 제10항에 있어서,
    상기 하나 이상의 소스 데이터베이스는,
    상이한 정점 유형의 복수의 정점,
    동일한 정점 유형의 정점을 연결하고 상기 동일한 정점 유형 내에서 계층적 지향성 구성 및 지향성 분해를 표현하는 복수의 구성 에지, 및
    상기 상이한 정점 유형의 정점을 연결하는 복수의 연결 에지
    를 포함하는 제3 데이터 구조의 속성 그래프 데이터 모델을 포함하는
    시스템.
  12. 제10항에 있어서,
    상기 제1 설계 디멘전은 상기 시스템 아키텍처의 파트 계층이고,
    상기 복수의 제1 인스턴스는 상기 시스템 아키텍처의 복수의 파트이고,
    상기 제2 설계 디멘전은 상기 시스템 아키텍처의 상기 복수의 파트 사이의 인터페이스 계층이고,
    상기 복수의 제2 인스턴스는 상기 시스템 아키텍처의 상기 복수의 파트 사이의 복수의 인터페이스인
    시스템.
  13. 제12항에 있어서,
    상기 복수의 가중 구성 에지는,
    상기 시스템 아키텍처의 상기 파트 계층의 파트의 물리적 통합을 표현하고,
    상기 복수의 가중 인터페이스 에지는,
    상기 시스템 아키텍처의 상기 파트 계층의 파트의 쌍 사이의 정보 교환 인터페이스를 표현하는
    시스템.
  14. 제10항에 있어서,
    상기 제1 클러스터 생성기는,
    상기 제1 데이터 구조에 대해 뉴먼 및 거반 2004 계산을 수행함으로써 상기 제1 데이터 구조의 상기 제1 에지 매개 계층적 클러스터를 생성하고,
    상기 제2 클러스터 생성기는,
    상기 제2 데이터 구조에 대해 뉴먼 및 거반 2004 계산을 수행함으로써 상기 제2 데이터 구조의 상기 제2 에지 매개 계층적 클러스터를 생성하는
    시스템.
  15. 제10항에 있어서,
    상기 상관 클러스터는,
    상기 제1 에지 매개 계층적 클러스터와 상기 제2 에지 매개 계층적 클러스터에 대한 베이커의 감마 상관 1974 계산을 수행함으로써 상기 제1 에지 매개 계층적 클러스터와 상기 제2 에지 매개 계층적 클러스터 사이의 상관을 계산하는
    시스템.
  16. 제10항에 있어서,
    상기 제2 데이터 구조 생성기는,
    각각의 분위 샘플 당 하나를 포함하여, 제거된 가중 인터페이스 에지의 수가 증가하는 상기 제1 데이터 구조의 복수의 버전을 초래하는 에지 매개 중심성의 주어진 분위 샘플 스텝 크기에 따라, 복수의 제2 데이터 구조의 각각에 대해, 분위 내림차순으로 가중 인터페이스 에지를 제거함으로써 상기 복수의 가중 인터페이스 에지의 수까지 상기 복수의 제2 데이터 구조를 생성하고,
    상기 제2 클러스터링 생성기는,
    수의 제2 에지 매개 계층적 클러스터를 생성하고 - 상기 복수의 제2 에지 매개 계층적 클러스터의 각각은 상기 복수의 제2 데이터 구조 중 대응하는 하나임 -,
    상기 상관 계산기는,
    복수의 상관을 계산하고 - 상기 복수의 상관의 각각은 상기 제1 에지 매개 계층적 클러스터와 상기 복수의 제2 에지 매개 계층적 클러스터 중 대응하는 하나 사이에 있음 -,
    상기 시스템은,
    제거된 가중 인터페이스 에지의 수에 따라 상기 제2 데이터 구조의 각각에 대응하는 상기 복수의 상관의 플롯을 출력하는 상관 플로터
    를 더 포함하고,
    상기 복수의 제2 데이터 구조의 각각에 대해 상기 복수의 상관에 따라 넓고 좁은 공격에 대한 상기 하나 이상의 소스 데이터베이스에 의해 표현된 상기 시스템 아키텍처의 견고성을 계산하는 견고성 메트릭 계산기
    를 더 포함하는 시스템.
  17. 적어도 하나의 비 일시적 머신 판독 가능 매체에 있어서,
    머신에 의해 실행될 때, 시스템 아키텍처의 견고성을 정량화하기 위해 상기 머신이,
    컴퓨팅 프로세서에 의해 시스템 아키텍처에 관한 정보를 포함하는 하나 이상의 소스 데이터베이스에 액세스하는 동작;
    상기 시스템 아키텍처의 제1 설계 디멘전의 복수의 제1 인스턴스에 관한 정보를 상기 하나 이상의 소스 데이터베이스로부터 추출하는 동작;
    상기 시스템 아키텍처의 제2 설계 디멘전의 복수의 제2 인스턴스에 관한 정보를 상기 하나 이상의 소스 데이터베이스로부터 추출하는 동작;
    가중 속성 그래프 데이터 모델을 표현하는 제1 데이터 구조를 생성하는 동작 - 상기 제 1 데이터 구조는 상기 복수의 제1 인스턴스를 표현하는 복수의 정점, 상기 복수의 정점 중 상이한 정점의 쌍을 연결하고 상기 복수의 제1 인스턴스의 계층적 지향성 구성 또는 지향성 분해를 표현하는 복수의 가중 구성 에지, 및 상기 복수의 정점 중 상이한 정점의 쌍을 연결하고 상기 복수의 제2 인스턴스 중 하나 이상의 제2 인스턴스에 따라 상기 복수의 제1 인스턴스 사이의 연결을 표현하는 복수의 가중 인터페이스 에지를 포함함 -;
    적어도 하나의 가중 인터페이스 에지가 제거된 것을 제외하고는 상기 제1 데이터 구조와 동등한 제2 데이터 구조를 생성하는 동작;
    상기 제1 데이터 구조의 제1 에지 매개 계층적 클러스터를 생성하는 동작;
    상기 제2 데이터 구조의 제2 에지 매개 계층적 클러스터를 생성하는 동작; 및
    상기 제1 에지 매개 계층적 클러스터와 상기 제2 에지 매개 계층적 클러스터 사이의 상관을 계산하는 동작
    을 수행하게 하는 명령어를 포함하는
    비 일시적 머신 판독 가능 매체.
  18. 제17항에 있어서,
    상기 하나 이상의 소스 데이터베이스는,
    상이한 정점 유형의 복수의 정점,
    동일한 정점 유형의 정점을 연결하고 상기 동일한 정점 유형 내에서 계층적 지향성 구성 및 지향성 분해를 표현하는 복수의 구성 에지, 및
    상기 상이한 정점 유형의 정점을 연결하는 복수의 연결 에지
    를 포함하는 제3 데이터 구조의 속성 그래프 데이터 모델을 포함하는
    비 일시적 머신 판독 가능 매체.
  19. 제17항에 있어서,
    상기 제1 설계 디멘전은 상기 시스템 아키텍처의 파트 계층이고,
    상기 복수의 제1 인스턴스는 상기 시스템 아키텍처의 복수의 파트이고,
    상기 제2 설계 디멘전은 상기 시스템 아키텍처의 상기 복수의 파트 사이의 인터페이스 계층이고,
    상기 복수의 제2 인스턴스는 상기 시스템 아키텍처의 상기 복수의 파트 사이의 복수의 인터페이스인
    비 일시적 머신 판독 가능 매체.
  20. 제17항에 있어서,
    상기 제1 클러스터 생성기는,
    상기 제1 데이터 구조에 대해 뉴먼 및 거반 2004 계산을 수행함으로써 상기 제1 데이터 구조의 상기 제1 에지 매개 계층적 클러스터를 생성하고,
    상기 제2 클러스터 생성기는,
    상기 제2 데이터 구조에 대해 뉴먼 및 거반 2004 계산을 수행함으로써 상기 제2 데이터 구조의 상기 제2 에지 매개 계층적 클러스터를 생성하고,
    상기 상관 클러스터는,
    상기 제1 에지 매개 계층적 클러스터와 상기 제2 에지 매개 계층적 클러스터에 대한 베이커의 감마 상관 1974 계산을 수행함으로써 상기 제1 에지 매개 계층적 클러스터와 상기 제2 에지 매개 계층적 클러스터 사이의 상관을 계산하는
    비 일시적 머신 판독 가능 매체.
KR1020197028940A 2017-03-16 2018-03-14 속성 그래프 데이터 모델 분석에 의한 견고성 정량화 KR102265092B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/460,462 US10459929B2 (en) 2017-03-16 2017-03-16 Quantifying robustness of a system architecture by analyzing a property graph data model representing the system architecture
US15/460,462 2017-03-16
PCT/US2018/022407 WO2018170112A1 (en) 2017-03-16 2018-03-14 Quantifying robustness by analyzing a property graph data model

Publications (2)

Publication Number Publication Date
KR20190121844A true KR20190121844A (ko) 2019-10-28
KR102265092B1 KR102265092B1 (ko) 2021-06-14

Family

ID=61899368

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197028940A KR102265092B1 (ko) 2017-03-16 2018-03-14 속성 그래프 데이터 모델 분석에 의한 견고성 정량화

Country Status (9)

Country Link
US (1) US10459929B2 (ko)
EP (1) EP3596672A1 (ko)
JP (1) JP6833058B2 (ko)
KR (1) KR102265092B1 (ko)
AU (1) AU2018236249A1 (ko)
CA (1) CA3056752A1 (ko)
IL (1) IL269343B (ko)
NZ (1) NZ757969A (ko)
WO (1) WO2018170112A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10430462B2 (en) 2017-03-16 2019-10-01 Raytheon Company Systems and methods for generating a property graph data model representing a system architecture
US10496704B2 (en) 2017-03-16 2019-12-03 Raytheon Company Quantifying consistency of a system architecture by comparing analyses of property graph data models representing different versions of the system architecture
US10430463B2 (en) 2017-03-16 2019-10-01 Raytheon Company Systems and methods for generating a weighted property graph data model representing a system architecture
US10459929B2 (en) 2017-03-16 2019-10-29 Raytheon Company Quantifying robustness of a system architecture by analyzing a property graph data model representing the system architecture
US10225159B2 (en) * 2017-05-30 2019-03-05 CENX, Inc. Dynamic graph-based structure for representing a communications network
CN117176596B (zh) * 2023-11-01 2024-01-30 浙江大学高端装备研究院 一种面向工业互联网平台的制造服务供需网络仿真方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070168533A1 (en) * 2003-12-30 2007-07-19 Geoffrey Canright Method for managing networks by analyzing connectivity
US20140059089A1 (en) * 2010-12-17 2014-02-27 Royal Holloway And Bedford New College Method and apparatus for structuring a network
WO2015019364A2 (en) * 2013-08-08 2015-02-12 Subramanian JAYAKUMAR Graph based ontology modeling system
WO2016048144A1 (en) * 2014-09-22 2016-03-31 Wolting Holding B.V. Compiler for and method of software defined networking, storage and compute performing operations
US20160110434A1 (en) * 2014-10-17 2016-04-21 Vmware, Inc. Method and system that determine whether or not two graph-like representations of two systems describe equivalent systems

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995020197A1 (en) 1994-01-25 1995-07-27 Advantage Logic, Inc. Apparatus and method for partitioning resources for interconnections
US5748844A (en) 1994-11-03 1998-05-05 Mitsubishi Electric Information Technology Center America, Inc. Graph partitioning system
US5987240A (en) 1996-10-29 1999-11-16 International Business Machines Corporation Design rules checker for an integrated circuit design
GB2365548A (en) 2000-02-15 2002-02-20 Vhsoft Technologies Company Lt A method for automatically indexing engineering drawings through their associated text
WO2002011048A2 (en) 2000-07-31 2002-02-07 Agilix Corporation Visualization and manipulation of biomolecular relationships using graph operators
US6781599B2 (en) 2001-01-04 2004-08-24 At&T System and method for visualizing massive multi-digraphs
US7089511B2 (en) 2003-12-10 2006-08-08 International Business Machines Corporation Framework for hierarchical VLSI design
JP4362572B2 (ja) * 2005-04-06 2009-11-11 独立行政法人 宇宙航空研究開発機構 ロバスト最適化問題を解く問題処理方法およびその装置
US8396884B2 (en) 2006-02-27 2013-03-12 The Regents Of The University Of California Graph querying, graph motif mining and the discovery of clusters
US7999809B2 (en) 2006-04-19 2011-08-16 Tableau Software, Inc. Computer systems and methods for automatic generation of models for a dataset
US8219518B2 (en) 2007-01-09 2012-07-10 International Business Machines Corporation Method and apparatus for modelling data exchange in a data flow of an extract, transform, and load (ETL) process
US8499284B2 (en) 2008-09-11 2013-07-30 Microsoft Corporation Visualizing relationships among components using grouping information
JP5159713B2 (ja) 2009-06-30 2013-03-13 インターナショナル・ビジネス・マシーンズ・コーポレーション システムの構成要素の設計アーキテクチャを自動設計する自動設計装置、自動設計方法及び自動設計プログラム
JP5463775B2 (ja) * 2009-07-22 2014-04-09 Jfeスチール株式会社 スケジューリング装置およびスケジューリング方法
US8922559B2 (en) 2010-03-26 2014-12-30 Microsoft Corporation Graph clustering
US8185558B1 (en) 2010-04-19 2012-05-22 Facebook, Inc. Automatically generating nodes and edges in an integrated social graph
US8922560B2 (en) 2010-06-30 2014-12-30 Exelis Inc. Method and apparatus for correlating simulation models with physical devices based on correlation metrics
US9384240B2 (en) 2010-09-02 2016-07-05 Bhargav Senjalia Method and system for analyzing data
US9134976B1 (en) 2010-12-13 2015-09-15 Reservoir Labs, Inc. Cross-format analysis of software systems
WO2012122424A1 (en) 2011-03-08 2012-09-13 Affinnova, Inc. System and method for concept development
CN102724219B (zh) 2011-03-29 2015-06-03 国际商业机器公司 网络数据的计算机处理方法及系统
US8719754B1 (en) 2011-08-31 2014-05-06 Cadence Design Systems, Inc. System and method to generate re-useable layout components from schematic components in an IC design with hierarchical parameters
US8676866B2 (en) 2012-03-19 2014-03-18 Sap Ag Computing canonical hierarchical schemas
CN102708327A (zh) * 2012-06-12 2012-10-03 天津大学 一种基于谱优化的网络社区发现方法
US8819078B2 (en) 2012-07-13 2014-08-26 Hewlett-Packard Development Company, L. P. Event processing for graph-structured data
US9031994B1 (en) 2012-12-27 2015-05-12 Emc Corporation Database partitioning for data processing system
US20140317019A1 (en) * 2013-03-14 2014-10-23 Jochen Papenbrock System and method for risk management and portfolio optimization
JP2016519487A (ja) 2013-03-20 2016-06-30 ヴォルティング ホールディング ベー.フェー. コンパイラとソフトウェア定義されたネットワークのための方法
US10074079B2 (en) 2013-08-01 2018-09-11 Alpha Beta Analytics, LLC Systems and methods for automated analysis, screening and reporting of group performance
US20150120717A1 (en) * 2013-10-25 2015-04-30 Marketwire L.P. Systems and methods for determining influencers in a social data network and ranking data objects based on influencers
US9432248B2 (en) 2013-12-31 2016-08-30 Cisco Technology, Inc. Dynamically computing fate sharing in computer networks using learning machines
US10977266B2 (en) 2014-08-27 2021-04-13 Sap Se Ad-hoc analytical query of graph data
JP2016085580A (ja) * 2014-10-24 2016-05-19 日本電信電話株式会社 文書情報管理システム、文書情報管理方法、及びプログラム
US20160283650A1 (en) * 2015-02-26 2016-09-29 The Trustees Of Columbia University In The City Of New York Method for identifying synthetic lethality
US9836522B2 (en) 2015-03-17 2017-12-05 Sap Se Framework for ordered clustering
US10490094B2 (en) 2015-09-25 2019-11-26 International Business Machines Corporation Techniques for transforming questions of a question set to facilitate answer aggregation and display
US20170090807A1 (en) 2015-09-26 2017-03-30 Vishakha Gupta Technologies for managing connected data on persistent memory-based systems
US10114859B2 (en) 2015-11-19 2018-10-30 Sap Se Extensions of structured query language for database-native support of graph data
US10572501B2 (en) 2015-12-28 2020-02-25 International Business Machines Corporation Steering graph mining algorithms applied to complex networks
US9773029B2 (en) 2016-01-06 2017-09-26 International Business Machines Corporation Generation of a data model
US10536478B2 (en) * 2016-02-26 2020-01-14 Oracle International Corporation Techniques for discovering and managing security of applications
US10121000B1 (en) * 2016-06-28 2018-11-06 Fireeye, Inc. System and method to detect premium attacks on electronic networks and electronic devices
US10579678B2 (en) * 2016-07-12 2020-03-03 Sap Se Dynamic hierarchy generation based on graph data
US10855706B2 (en) 2016-10-11 2020-12-01 Battelle Memorial Institute System and methods for automated detection, reasoning and recommendations for resilient cyber systems
US10528563B2 (en) * 2016-12-16 2020-01-07 Futurewei Technologies, Inc. Predictive table pre-joins in large scale data management system using graph community detection
US10430463B2 (en) 2017-03-16 2019-10-01 Raytheon Company Systems and methods for generating a weighted property graph data model representing a system architecture
US10430462B2 (en) 2017-03-16 2019-10-01 Raytheon Company Systems and methods for generating a property graph data model representing a system architecture
US10496704B2 (en) 2017-03-16 2019-12-03 Raytheon Company Quantifying consistency of a system architecture by comparing analyses of property graph data models representing different versions of the system architecture
US10459929B2 (en) 2017-03-16 2019-10-29 Raytheon Company Quantifying robustness of a system architecture by analyzing a property graph data model representing the system architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070168533A1 (en) * 2003-12-30 2007-07-19 Geoffrey Canright Method for managing networks by analyzing connectivity
US20140059089A1 (en) * 2010-12-17 2014-02-27 Royal Holloway And Bedford New College Method and apparatus for structuring a network
WO2015019364A2 (en) * 2013-08-08 2015-02-12 Subramanian JAYAKUMAR Graph based ontology modeling system
WO2016048144A1 (en) * 2014-09-22 2016-03-31 Wolting Holding B.V. Compiler for and method of software defined networking, storage and compute performing operations
US20160110434A1 (en) * 2014-10-17 2016-04-21 Vmware, Inc. Method and system that determine whether or not two graph-like representations of two systems describe equivalent systems

Also Published As

Publication number Publication date
JP6833058B2 (ja) 2021-02-24
US10459929B2 (en) 2019-10-29
WO2018170112A1 (en) 2018-09-20
EP3596672A1 (en) 2020-01-22
NZ757969A (en) 2020-07-31
IL269343A (en) 2019-11-28
AU2018236249A1 (en) 2019-10-31
CA3056752A1 (en) 2018-09-20
US20180270259A1 (en) 2018-09-20
KR102265092B1 (ko) 2021-06-14
IL269343B (en) 2022-03-01
JP2020514917A (ja) 2020-05-21

Similar Documents

Publication Publication Date Title
KR102274803B1 (ko) 시스템 아키텍처의 일관성 정량화
KR102285862B1 (ko) 시스템 아키텍처를 표현하는 속성 그래프 데이터 모델
KR102265092B1 (ko) 속성 그래프 데이터 모델 분석에 의한 견고성 정량화
KR102185553B1 (ko) 시스템 아키텍처를 표현하는 가중 속성 그래프 데이터 모델
CN117749441A (zh) 网络攻击预测方法、装置、设备及存储介质
Powers et al. Synthetic Graph Generation for Data-Intensive HPC Benchmarking: Scalability, Analysis and Real-World Application

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant