KR101458579B1 - 데이터 처리를 위한 방법, 시스템 및 시뮬레이션 또는 분석 모델 - Google Patents

데이터 처리를 위한 방법, 시스템 및 시뮬레이션 또는 분석 모델 Download PDF

Info

Publication number
KR101458579B1
KR101458579B1 KR1020117014957A KR20117014957A KR101458579B1 KR 101458579 B1 KR101458579 B1 KR 101458579B1 KR 1020117014957 A KR1020117014957 A KR 1020117014957A KR 20117014957 A KR20117014957 A KR 20117014957A KR 101458579 B1 KR101458579 B1 KR 101458579B1
Authority
KR
South Korea
Prior art keywords
data
data object
delete delete
simulation
analysis model
Prior art date
Application number
KR1020117014957A
Other languages
English (en)
Other versions
KR20110099120A (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 KR20110099120A publication Critical patent/KR20110099120A/ko
Application granted granted Critical
Publication of KR101458579B1 publication Critical patent/KR101458579B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 데이터의 사용자가 데이터를 추가적으로 처리할 수 있도록 상기 데이터를 상기 데이터의 사용자에게 제공하기 전에, 상기 데이터를 전처리(preprocessing)하는 방법에 관한 것으로서, 이 방법은, (a) 데이터 제공자에 의해, 상기 사용자가 따르는 적어도 하나의 소정의 기준에 따라, 추가의 처리를 위해 상기 사용자에게 제공될 전체 데이터로부터 상기 데이터의 적어도 하나의 부분을 선택하는 단계와; 그리고 (b) 상기 사용자로부터 숨겨짐에도 불구하고, 제공된 후에는 상기 선택된 데이터가 추가적으로 처리 및/또는 실행될 수 있도록, 상기 선택된 데이터를 숨기는 단계를 포함한다.

Description

데이터 처리를 위한 방법, 시스템 및 시뮬레이션 또는 분석 모델{METHOD SYSTEM AND SIMULATION OR ANALYSIS MODEL FOR DATA PROCESSING}
본 발명은 데이터 처리를 위한 방법, 시스템 및 시뮬레이션 또는 분석 모델에 관한 것으로서, 특히 데이터의 사용자가 데이터를 추가적으로 처리할 수 있도록 데이터를 데이터의 사용자에게 제공하기 전에, 그 데이터를 전처리(preprocessing)하는 것에 관한 것이다. 특히, 본 발명은 데이터 처리를 위한 컴퓨터 기반의 방법 및 시뮬레이션 또는 분석 모델에 관한 것이다.
정보 기술 분야에서는, 종종, 클라이언트 및 계약자(contractor)가 복합 임베디드 시스템(complex embedded system)에서 공동으로 작업(work)한다. 이러한 시스템은 클라이언트와 계약자 양자 모두가 소프트웨어 컴포넌트들(software components)을 개발(develop)하는 복수의 프로세서들을 가질 수 있다. 이러한 소프트웨어의 분배는 프로세서의 경계(limits)를 따라 한정될 수 있다. 전체 시스템은 단지 요구되는 기능 만을 공통으로 나타내며, 클라이언트와 계약자로부터의 소프트웨어 컴포넌트들의 상호 작용(interaction)이 실시간 요건들을 충족시키는 것이 필수적이다.
시뮬레이션과 분석은 모두 요구되는 실시간 성능(real-time capability)을 증명(prove)하는 데에 이용된다. 클라이언트들과 계약자들중 어느 누구도 자신들의 서브시스템에 대해 절대적으로 필요한 것 이상으로 누설(reveal)하는 것에 관심을 갖지 않는다. 바람직하게는, 본 발명의 목적은 의도된 결과들을 제외한 어떠한 추가의 정보도 각각의 다른 진영(party)에 대한 서브시스템에 대해 누설되지 않도록 하기 위해, 전체 시스템의 분석 또는 시뮬레이션을 위해 필요한 세부사항들(details)을 캡슐화(encapsulation)하고 숨기는(hide) 것이다.
이러한 목적은 독립 청구항들에서의 내용에 의해 달성될 수 있다.
본 발명은 상기 설명한 목적을 달성하며, 데이터의 사용자가 데이터를 추가적으로 처리할 수 있도록 데이터를 그 데이터의 사용자에게 제공하기 전에, 데이터를 전처리하는 컴퓨터 기반의 방법을 제공한다. 이 방법은, (a) 데이터 제공자에 의해, 사용자가 따르는(fulfil) 적어도 하나의 소정의 기준에 따라, 추가의 처리를 위해 사용자에게 제공될 전체 데이터로부터 데이터의 적어도 하나의 부분을 선택하는 단계와; (b) 상기 사용자로부터 숨겨짐에도 불구하고, 제공된 후에는 상기 선택된 데이터가 추가적으로 처리 및/또는 실행될 수 있도록, 상기 선택된 데이터를 숨기는 단계를 포함한다.
상기 데이터는 바람직하게는 하나 이상의 소프트웨어 컴포넌트들을 포함한다. 상기 데이터는 바람직하게는 복합 임베디드 시스템의 하나 이상의 소프트웨어 컴포넌트들이다. 숨겨진 소프트웨어 컴포넌트의 인터페이스들은 사용자들에 대해 가시적(visible)으로 유지될 수 있다.
데이터의 사용자는 바람직하게는 상기 하나 이상의 소프트웨어 컴포넌트들의 실시간 성능을 검증한다.
이에 따라, 상기 데이터 제공자 및 상기 데이터 사용자는 상기 복합 임베디드 시스템의 일부 만을 제공하지만, 개별적인 부분들의 상호 작용에 의해 전체 시스템을 이용할 수 있게 된다.
상기 단계 (b)에서 상기 선택된 데이터를 숨김으로써, 상기 데이터 사용자는 전체 데이터를 확인(see)하지 않으면서 전체 데이터를 실행시켜 결과를 얻을 수 있게 된다.
라이센스 동글(license dongle)이 사용자 기준으로서 이용될 수 있다.
상기 데이터는 바람직하게는 시뮬레이션 그리고/또는 분석 모델을 나타낸다. 상기 선택된 데이터는 바람직하게는 하나 이상의 태스크 모델(task model)들을 나타낸다.
상기 선택된 데이터는 바람직하게는 엔코딩에 의해 숨겨진다.
상기 (a) 단계 및 상기 (b) 단계는 상기 데이터 사용자에 의해 수행되고, 바람직하게는 최초의 데이터 사용자가 데이터 제공자로서 간주되며, 상기 최초의 데이터 제공자가 상기 데이터 사용자로서 간주된다.
이러한 순환(iteration)은 여러번 반복될 수 있다.
상기 데이터는 바람직하게는 다음의 포맷들, 즉 XML, UML, C, C++, 매틀랩/시뮬링크-스크립트(Matlab/Simulink-Script), 피톤(Python), 파스칼(Pascal), 포트란(Fortran) 또는 베이직(Basic)으로 제공된다.
본 발명의 다른 양상에 따르면, 데이터의 사용자가 데이터를 추가적으로 처리할 수 있도록 데이터를 그 데이터의 사용자에게 제공하기 전에, 데이터를 전처리하는 방법을 수행하는 컴퓨터 시스템이 제공된다. 이 컴퓨터 시스템은, 데이터 제공자에 의해, 사용자가 따르는 적어도 하나의 소정의 기준에 따라, 추가의 처리를 위해 사용자에게 제공될 전체 데이터로부터 데이터의 적어도 일부를 선택하는 선택 디바이스를 포함한다. 또한, 상기 컴퓨터 시스템은, 상기 사용자로부터 숨겨짐에도 불구하고, 제공된 후에는 상기 선택된 데이터가 추가적으로 처리 또는 실행될 수 있도록, 상기 선택된 데이터를 숨기는 유닛을 더 포함한다.
본 발명의 다른 양상에 따르면, 상기 설명한 방법을 수행하기 위한 컴퓨터 프로그램이 제공된다.
본 발명의 다른 양상에 따르면, 적어도 2개의 부분들을 포함하는 전체 시스템을 시뮬레이션 그리고/또는 분석하기 위한 컴퓨터 기반 방법이 제공된다. 이 방법은, 하나 이상의 데이터 제공자들로부터 전체 시스템의 하나 또는 복수개의 부분들을 나타내는 데이터를 수신하는 단계와, 여기서 상기 데이터는 상기 설명된 방법에 따라 적어도 하나의 데이터 제공자로부터 전처리되며; 상기 전체 시스템을 형성(build)하기 위해, 상기 수신된 데이터를 데이터 사용자에 의해 패킷화(packetize)하는 단계와; 그리고 상기 데이터 사용자에 의해 상기 전체 시스템을 분석 그리고/또는 시뮬레이션하는 단계를 포함한다.
상기 단계 (b)에서 전체 시스템을 형성하기 위해, 데이터 사용자는 바람직하게는 전체 시스템의 추가의 부분을 나타내는 자기 자신의 데이터(own data)를 수신된 데이터에 부가한다.
상기 데이터는 하나 이상의 소프트웨어 컴포넌트들을 나타낼 수 있다. 상기 데이터는 바람직하게는 복합 임베디드 시스템의 하나 이상의 소프트웨어 컴포넌트들이다. 숨겨진 소프트웨어 컴포넌트의 인터페이스들은 바람직하게는 사용자들에 대해 가시적으로 유지될 수 있다.
상기 데이터는 바람직하게는 시뮬레이션 그리고/또는 분석 모델을 나타낸다. 상기 선택된 데이터는 바람직하게는 하나 이상의 태스크 모델들을 나타낸다.
본 발명의 다른 양상에 따르면, 상기 설명한 방법을 수행하기 위한 프로그램을 갖는 칩이 제공된다.
본 발명의 다른 양상에 따르면, 상기 설명한 방법을 수행하기 위한 프로그램을 갖는 디지털 저장 매체가 제공된다.
본 발명의 다른 양상에 따르면, 시뮬레이션 그리고/또는 분석 모델이 제공되는 바, 이는 다른 데이터 객체들(further data objects)에 대한 액세스를 제어하는 제 1 데이터 객체(data object)와; 시뮬레이션 그리고/또는 분석 모델의 외부 인터페이스(outer interface)를 형성하는 제 2 데이터 객체와; 시뮬레이션 그리고/또는 분석 모델의 콘텐츠(content)를 추가적으로 처리될 데이터로서 포함하는 제 3 데이터 객체와; 그리고 시뮬레이션 그리고/또는 분석 모델을 준비된 실행가능 시뮬레이션으로서 포함하는 제 4 데이터 객체를 포함한다.
바람직하게는, 상기 제 1 데이터 객체는, 소정의 액세스 허가 정보(access authorization information)를 고려함으로써, 제 2 데이터 객체의 인터페이스 정보, 제 3 데이터 객체의 추가의 처리가능한 데이터, 및 제 4 데이터 객체의 준비된 실행가능 시뮬레이션에 대한, 시뮬레이션 그리고/또는 분석 모델의 사용자의 액세스를 제어한다.
상기 제 1 데이터 객체 내의 상기 소정의 액세스 허가 정보는 라이센스 동글에 저장될 수 있다.
바람직하게는, 제 4 데이터 객체의 실행가능 데이터와 제 3 데이터 객체의 (추가적으로 처리 또는 실행될 수 있는) 데이터의 액세스 허가 정보중 적어도 하나는 엔코드된다.
바람직하게는, 상기 제 1 데이터 객체는 상기 제 3 데이터 객체의 추가의 처리가능한 데이터에 대한 사용자의 액세스는 거부(deny)하지만, 상기 제 4 데이터 객체의 준비된 실행가능 시뮬레이션에 대한 사용자의 액세스는 허가함으로써, 시뮬레이션 그리고/또는 분석 모델이 숨겨지고 그리고/또는 추가적으로 더 처리될 수 없게 되지만, 사용자에 대해서는 실행가능하다.
바람직하게는, 상기 제 3 데이터 객체의 추가의 처리가능한 데이터의 적어도 일부는 시뮬레이션 그리고/또는 분석 모델의 동적 시간 응답(dynamic time response)을 기술(describe)한다.
상기 제 3 데이터 객체의 추가의 처리가능한 데이터는 소스 코드를 가질 수 있으며, 상기 제 4 데이터 객체의 준비된 실행가능 시뮬레이션은, 예를 들어 WO 2007/051634 A2에서 설명되는 것과 같은 시뮬레이션 모델의 발생에 의해 발생될 수 있다.
상기 제 3 데이터 객체의 소스 코드는 바람직하게는 XML, UML, C, C++, 매틀랩/시뮬링크-스크립트, 피톤, 파스칼, 포트란 또는 베이직 포맷으로 제공된다.
상기 제 4 데이터 객체의 실행가능 데이터는, 예를 들어 중간 표현(intermediate representation) 또는 프리컴파일된 형태(precompiled form)로 존재할 수 있다.
상기 제 4 데이터 객체의 준비된 실행가능 시뮬레이션은 실행가능한 포괄적 모델(executable comprehensive model)의 사용자의 소프트웨어 환경에 임베드(embed)될 수 있다.
상기 시뮬레이션 그리고/또는 분석 모델은 바람직하게는 상위(superordinate) 시뮬레이션 그리고/또는 분석 모델의 계층 부분(hierarchical part)을 형성한다. 상기 시뮬레이션 그리고/또는 분석 모델은 바람직하게는 임베디드 시스템의 모델 또는 서브 모델을 형성한다.
바람직하게는, 상기 시뮬레이션 그리고/또는 분석 모델의 콘텐츠들의 적어도 일부는, 적어도 제어 디바이스의 태스크에 대해, 제 4 데이터 객체의 실행가능 데이터 및 제 3 데이터 객체의 추가의 처리가능 데이터로서 할당된다.
상기 시뮬레이션 그리고/또는 분석 모델은 실시간 분석을 위해 이용될 수 있다.
특정 그룹의 사람들(허가된(authorised) 플레이어들의 소유자들)에 대한 엔코딩 및 자동의 추가 처리를 또한 제공하는 디지털 저작권 관리(Digital Rights Managments, DRM)와 대조적으로, 본 발명의 방법은 사용자 자신의 콘텐츠와 엔코드된 콘텐츠를 서로 연결하며, 이에 의해 엔코딩 동안 고려되지 않은 환경들 및 시뮬레이션들에 대해서는 이용될 수 없게 된다.
표준의 AUTOSAR은 부분들, 모듈들 및 전체 시스템을 기술하는 XML 데이터의 교환을 제공한다. 하지만, 이 경우, 전송기(sender)는 항상 자신의 컴포넌트들에 대한 모든 정보를 누설하게 되며, 추가의 전송 또는 이용 목적이 제한될 수 없게 된다.
도 1은 시뮬레이션 모델의 컴포넌트들의 이용 예를 나타낸다.
이하, 본 발명은 바람직한 실시예들과 관련하여 설명될 것이다.
본 발명의 설명에서 이용되는 일부 용어들은 다음과 같이 설명된다.
ㆍ 프로젝트 엑스포팅(exporting a project)
엑스포팅은, 진영(party) 1의 프로젝트로부터 특별한 디스크립션(description)(이는 진영 2에서 임포트(import)될 수 있다)을 발생시키는 특정의 프로세스이다. 진영 1에서 hidden 으로 마크된 프로젝트의 부분들은 진영 1에서는 완전히 가시적이지만, 이들은 단지 진영 2에서 Block Box 로서만 가시적이다. 진영 2는 전체 프로젝트의 분석 또는 시뮬레이션을 수행할 수 있지만, 진영 1에 의해 hidden 으로서 마크된 프로젝트의 부분들의 상세사항들은 볼 수 없다.
ㆍ 프로젝트 임포팅(importing a project)
프로젝트의 임포팅은, 시뮬레이션 또는 분석될 수 있는 프로젝트를 발생시키는 툴(tool)에서 일어난다. hidden 으로서 마크된 전송기의 부분들은 Black Block 로서 가시적이고 이용될 수 있지만, 검사(inspect)될 수는 없다.
ㆍ Hidden
이 용어는, 컴포넌트가 Black Box 로서 가시적이며, 또한 시뮬레이션 또는 분석에 이용될 수 있음을 의미한다. 하지만, 이것을 검사하는 것, 즉 내부 라이프(inner life)의 상세사항들을 인식하는 것은 프로젝트의 시각에서도 가능하지 않고, 시물레이션 또는 분석 결과에서도 가능하지 않다.
ㆍ Black Box
블랙 박스는 인터페이스 정의(interface definition)를 갖는데, 이에 의해 나머지 시스템에 연결될 수 있다. 이는 또한 이용될 수 있는 (숨겨진) 시뮬레이션 또는 분석 모델을 포함한다. Black Box 의 내부 상세사항들은 가시적이지 않다.
ㆍ 의도된 수신기(intended recipient)
프로젝트를 익스포팅할 때, hidden으로서 마크된 엘리먼트(element)가 어떤 수신기에 대해 이용가능해야 하는 지를 선택할 수 있다. 단지 상기 사용자들 만이 시뮬레이션 또는 분석에 있어서 임포트된 프로젝트를 이용할 수 있다. 사용자가 hidden 으로서 이미 수신한(임포트한) 엘리먼트들의 수신기 리스트는 더 이상 변경(특히, 추가)될 수 없다.
툴 또는 라이센스 동글의 개별적인 설치는 수신기로서 표시될 수 있다. 개별적인 설치는 개인화된 수신기(personalised recipient)에 해당하며, 그리고 특히 네트워크 라이센스의 경우, 라이센스 동글에 대한 연결은 전체 회사에 해당한다.
엑스포트 프로세스에 대한 수신기를 선택하는 것이 가능하기 위해서는, 이 수신기가 해당하는 암호 키(cryptographic key)를 발생시킨 다음, 이를 전송기에 전송해야 한다. 이에 따라, 전송기는 이러한 키를 자신의 시스템에 부가해야 한다. 전송기들과 수신기들 간의 관계는 트러스트(trust)의 관계들의 네트워크를 형성하는 바, 이는 PGP/GnuPG의 트러스트의 네트워크와 비교될 수 있다.
ㆍ PGP/GnuPG
의도된 수신기들에 의해서만 디코드될 수 있는 이메일들 및 기타 도큐먼트들의 비대칭 엔코딩을 위한 의사 표준(quasi-standard).
ㆍ 엔코딩
본 경우에서, 엔코딩은 항상 인정된(acknowledged) 암호화 방법들의 이용을 의미한다. 이에 대해, 비대칭 알고리즘들(DSA, RSA), 대칭 알고리즘들(AES) 및 해시 알고리즘들(SHA)이 이용될 수 있다. 특정의 방법들은 항상 라이센스 심사(license examination)를 받는 것으로 지정(name)된다.
본 발명에 따른 방법이 예시적인 실시예들에 따라 설명된다.
단계 1: 계약자에서,
계약자에 의해 전체 시스템이 확립된다. 요구되는 프로세서들 및 이들의 배선(wiring)을 포함하는 프로젝트가 정의된다. 또한, 개발될 소프트웨어 컴포넌트들의 부분에 대한 태스크 모델이 정의된다. 또한, 클라이언트의 소프트웨어 컴포넌트들에 대해서도, 텐더(tender)의 규격(specification)에 따라 태스크 모델들이 발생된다. 소프트웨어 컴포넌트들과 이들의 실시간 특징들 간의 상호 작용은 계약자에 의해 적절한 방식(scenario)으로 테스트될 수 있다.
다음 단계에서, 계약자는 자신의 소프트웨어 컴포넌트들의 태스트 모델들을 hidden 으로서 마크하고, 프로젝트를 엑스포트한다. 이렇게 발생되는 파일은 hidden 으로서 마크되지 않고 공개적으로 가시적인 모든 부분들 및 엔코드된 형태로 hidden 으로서 마크된 부분들을 포함하는 바, 이는 의도된 수신기에 의해서만 처리될 수 있다. 이러한 파일은 바람직하게는 클라이언트로부터 계약자에게로 전송된다.
단계 2: 클라이언트에서,
클라이언트는 전송된 파일을 자신의 툴 내에 임포트한다. hidden 으로서 마크되지 않은 시스템의 부분들은 클라이언트에게 바로 가시적이며, 자신이 이들을 프로젝트에 입력한 것 처럼 에디트(edit)가능하다. hidden 으로서 마크되어, 허가된 수신기로서 지정되었던 부분들은 Black Box 로서 가시적이다. 상기 부분들은 자신들의 인터페이스 정의들로 변환(reduce)된다. 시뮬레이션 또는 분석은 저장된 모델에 의해 가능하지만, 이는 더 이상 가시적이지 않다.
전송된 파일이 허가된 수신기로서 지정되지 않은 누군가에 의해 임포트될 때, 계약자에 의해 hidden으로서 마크된 부분들은 이 사람에게 가시적이지도 않고, 시뮬레이션 또는 분석에 이용가능하지도 않다.
이제, 클라이언트는 시스템을 검사할 수 있다. 또한 hidden 으로서 마크된 모든 부분은 임의의 추상(abstraction) 레벨의 자신의 태스크 모델들에 의해 대체될 수 있다. 더 정확한 태스크 모델들에 의해 자신의 시스템 컴포넌트들에 해당하는 시스템 부분들을 개선하는 것이 적절하다. 프로젝트의 정확한 기능은 이후 시뮬레이션 또는 분석에 의해 테스트될 수 있다.
이렇게 개선되는 부분들은 이후 hidden 으로서 마크된다. hidden 으로서 마크된 부분들의 개선을 제외하고, 클라이언트에 의한 프로젝트의 엑스포트는 이전에 임포트된 버전(version)에 해당하는 버전으로 수행되는 것이 적절하다. 클라이언트는 엑스포트된 프로젝트를 다시 계약자에게 전송한다.
단계3: 다시 계약자에서,
먼저, 계약자는 최초에 엑스포트된 프로젝트를 로드시킨 다음, 클라이언트에 의해 다시 전송된 파일을 임포트한다. 버전들 간의 차이들을 취함으로써, 툴은 클라이언트에 의해 어떤 변경들이 수행되었는 지를 인식하고, 이러한 부분들을 프로젝트 내에 통합시킨다. 이러한 환경에서, 태스크 모델들은 hidden 으로서 마크된 Black Box들에 의해 대체된다. hidden 으로서 마크되지 않은 다른 개선들이 또한 통합된다.
계약자는 변형된 프로젝트의 시뮬레이션 또는 분석을 수행하며, 이에 따라 전체 시스템의 실시간 성능을 평가할 수 있다.
단계 1에서 계약자에 의해 hidden 으로서 마크된 부분들은 이제 최초 생성자(creator)에 의해 다시 가시적이 된다. 상세사항들이 가시적이 되며, 평가 및 변경될 수 있다.
단계 4: 새로운 순환(new iteration)
이제, 단계 1 내지 3의 과정이 다시 한번 시작된다. 모든 참가자(participant)들은 자신의 태스크 모델들을 개선하고, 기밀 컴포넌트들(confidential components)을 hidden 으로서 마크하며, 파트너에 대해 프로젝트를 엑스포트한다. 그러면, 상기 파트너는 자신의 컴포넌트들의 환경에서 변경들을 평가한다.
예시들
데이터 임베딩(data embedding)
하기에서, 본 발명은 예시적인 프로젝트에 의해 설명된다. 이러한 프로젝트들은 즉각적으로 XML로 엔코드된다. hidden 으로서 마크된 부분들에 의한 확장(expansion)은 다음과 같이 될 수 있다:
Figure 112011049443099-pct00001
2개의 서브 모델들(submodels)로 이루어지는 모델이 나타나있다. 설명되는 발명에 따르면, "controlloop"로 명명된 서브 모델은 가시적이지 않다. "basepart"로 명명된 서브 모델은 모든 데이터 사용자에 대해 가시적이다. 비 가시적인 서브 모델에 있어서, XML 태그 <connection>은 부분 시뮬레이션 모델(partial-simulation model)의 외부 인터페이스를 형성하는 제 2 데이터 객체에 해당하고, XML 태그 <receivers>는 다른 데이터 객체들에 대한 액세스를 제어하는 제 1 데이터 객체에 해당한다. ID3을 갖는 XML 태그 <data>는 허가된 사용자들에 대해 부분 시뮬레이션 모델의 콘텐츠들을 추가의 처리가능 데이터로서 포함하는 제 3 데이터 객체에 해당하며, 그리고 ID4를 갖는 태그 <data>는 허가된 사용자들에 대해 부분 시뮬레이션 모델을 준비된 실행가능 시뮬레이션으로서 포함하는 제 4 데이터 객체에 해당한다. 따라서, 서브 모델 "controlloop"의 개발자는 완성된 서브 모델을 서브 모델 "basepart"의 개발자에게 제공함으로써, 비밀의 전문가 지식(secret expert knowledge)(예를 들어, 특징적인 엔진 소리(engine sound)에 대한 제어 알고리즘들)을 노출하지 않으면서 시뮬레이션 및 분석 환경에서 전체 시스템을 테스트할 수 있게 한다.
이론적으로, 숨김(hiding)은 매 계층 레벨(hierarchy level) 마다 일어날 수 있다. 엔코드된 데이터 스트림을 언팩(unpack)할 때, XML 구조들이 결과적으로 생기는데, 이들 역시 파싱(parsing)된다.
데이터 평가(data evaluation)
객체가 임포트될 때, hidden 으로서 마크된 엘리먼트 만이 그 타입(type), 이름 및 인터페이스 디스크립션의 도움으로 디스플레이된다. 분석 또는 시뮬레이션에 대해서 비로소, 엔코드된 데이터가 액세스된다.
사용자는 얻어지는 데이터의 속성들을 변경할 수 없다. 따라서, 엔코드된 모델은 나머지 시스템과 일관되게 유지된다. 사용자가 프로젝트를 저장할 때, 모델은 또한 엔코드된 형태로 저장된다.
데이터 엔코딩(data encoding)
엔코딩에 대해 표준 방법들이 이용된다. 전형적으로, 실제로 보호될 데이터는 임의로 발생된 키로 엔코드된다. 암호문(cyphertext)은 상기 설명한 태그 <data>에 데이터를 생성한다. 비대칭 엔코딩 방법에 따라, 수신기의 공개 키(pubic key)에 의해 키 자체가 엔코드된다. 이것은 각 수신기에 대해 개별적으로 이루어진다. 보호될 데이터의 각 수신기에 대해 이와 같이 암호화되는 키의 리스트는 상기 언급한 태그 <receivers>의 콘텐츠를 구성한다.
엔코드된 모델 및 암호화된 키들의 리스트는 주변(surrounding) 데이터 포맷 내에 데이터세트(dataset)로서 임베드된다.
엔코드된 데이터에 대한 사용자에 의한 액세스는 가능하지 않아야 한다. 툴은 해당하는 측정치(measure)들을 취해야 한다.
엑스포트된 상태에서의 시스템의 디스크립션은 이치에 맞아야 한다. 이는 기본적으로 자동 처리능력(automatic processability)을 의미하는데, 이것은 가시적인 부분에 의한 해석과 다르다.
이것은 구체적으로, 컴포넌트의 인터페이스들의 디스크립션이 사용자에 대해 가시적임을 의미한다. 하지만, 해당하는 엔코드된 시뮬레이션 디스크립션 만이 툴에 대해 합리적으로 해석가능하다.
의미론(semantics)이 없는 텍스트 파일은 반례(counter-example)이다. 사용자로부터 패러그래프(paragraph) 또는 챕터(chapter)를 숨기게 되면, 전체를 쓸모없게 만드는데, 왜냐하면 추가의 정보없이는 도큐먼트가 자동으로 해석될 수 없기 때문이다.
시뮬레이션 모델의 컴포넌트들의 가시성(visibility)의 이용 예
도 1에 나타낸 것과 같은 다음의 이용 예는 5개의 컴포넌트들, 즉 A (4), B (5), C (10), D (11) 및 E (30)으로 이루어지는 전체 시스템을 도시한다. 2개의 프로세서들 간의 통신은 CAN-버스(7)를 통해 이루어진다. 컴포넌트 A는 CPU-1 (1), 몇 개의 운영 체제 태스크들(operating system tasks) 및 인터럽트 서비스 루틴들(2)로 이루어지며, 데이터 제공자에 의해 시뮬레이션 모델로서 발생된다. 컴포넌트 B는 다수의 운영 체제 태스크들(3)로 이루어지며, 데이터 제공자에 의해 시뮬레이션 모델로서 발생된다. 컴포넌트 C는 CPU-2 (6), 다수의 운영 체제 태스크들 및 인터럽트 서비스 루틴들(8)로 이루어지며, 데이터 제공자에 의해 시뮬레이션 모델로서 발생된다. 컴포넌트 D는 다수의 운영 체제 태스크들(9)로 이루어지며, 데이터 제공자에 의해 시뮬레이션 모델로서 발생된다. 컴포넌트 E는 CAN-버스(7)로 이루어지며, 데이터 제공자에 의해 시뮬레이션 모델로서 발생된다. 데이터 컨테이너(data container) A (12)는 컴포넌트 A (4)의 제 1 (16), 제 2 (17), 제 3 (18) 및 제 4 데이터 객체(19)를 포함한다. 데이터 컨테이너 B (13)는 컴포넌트 B (5)의 제 1 (20), 제 2 (21) 및 제 3 데이터 객체(22)를 포함한다. 데이터 컨테이너 C (14)는 컴포넌트 C (10)의 제 1 (23), 제 2 (24), 제 3 (25) 및 제 4 데이터 객체(26)를 포함한다. 데이터 컨테이너 D (15)는 컴포넌트 D (11)의 제 1 (27), 제 2 (28) 및 제 3 데이터 객체(29)를 포함한다. 데이터 컨테이너 E (34)는 컴포넌트 E (30)의 제 1 (31), 제 2 (32) 및 제 3 데이터 객체(33)를 포함한다.
사용자 1은 컴포넌트 A에 대한 데이터 제공자 및 데이터 사용자이며, 컴포넌트 B에 대한 데이터 사용자이다. 사용자 2는 컴포넌트들 B 및 E의 데이터 제공자이며, 컴포넌트들 A, B, C, D 및 E의 데이터 사용자이다. 사용자 3은 컴포넌트들 C 및 D의 데이터 제공자이다.
사용자 1은 시뮬레이션에 있어서 컴포넌트들 A 및 B로 이루어지는 서브시스템(1)의 행동을 심사하고자 의도한다. 그에 대해 요구되는 컴포넌트 B가 데이터 컨테이너 B로서 데이터 제공자(2)에 의해 제공된다. 제 3 데이터 객체(22)에 대한 액세스는 제 1 데이터 객체(20)에 의해 제어된다. 이것은 데이터 사용자(1)에 대해 가시적이며 시뮬레이션가능하다. 사용자 2는 전체 시스템의 시뮬레이션을 수행하고자 의도한다. 이에 대해, 이 사용자 2는, 그 자신의 컴포넌트들 B 및 E와 별개로, 데이터 제공자(1)로부터의 컴포넌트 A 및 데이터 제공자(3)로부터의 컴포넌트들 C 및 D를 필요로 한다. 2개의 컴포넌트들 A 및 C는 이 사용자 2에게 가시적이지 않으며, 각각 hidden 으로서 데이터 제공자에 의해 엑스포트되고 제공된다. 시뮬레이션에 있어서, 데이터 제공자(1)는 자신의 컴포넌트 A의 제 4 데이터 객체(19)를 제공하고, 데이터 제공자(3)는 자신의 컴포넌트 C의 제 4 데이터 객체(26)를 제공한다. 이러한 2개의 컴포넌트들의 제 3 데이터 객체들은 가시적이지 않으며, 각각의 제 1 데이터 객체에 의해 액세스가 제어된다. 시뮬레이션시 컴포넌트들 A 및 C의 인터페이스들은 데이터 사용자 2에 의해 이용가능한데, 왜냐하면 이들은 제 2 데이터 객체들로서 제공되기 때문이다. 컴포넌트 D는 데이터 사용자 2에 의해 검사될 수 있는데, 왜냐하면 이 데이터 사용자 2가 자신의 분석을 위해 내부의 동적 행동을 살펴야하기 때문이다. 따라서, 데이터 제공자(3)는 제 3 데이터 객체(29)의 검사를 가능하게 하며, 제 1 데이터 객체(27)에 의해 액세스가 제어된다. 제 4 데이터 객체들에 대한 허가된 데이터 사용자들의 리스트는 공백일(empty) 수 있는데, 이는 컴포넌트들 B, D 및 E에 대한 제 4 데이터 객체가 요구되지 않음을 의미한다. 사용자 3은 2개의 컴포넌트들 C 및 D로 이루어지는 서브시스템(2)의 시뮬레이션을 수행한다. 이 사용자 3은 그에 대한 어떠한 추가의 컴포넌트들도 필요로 하지 않는다.

Claims (39)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 시뮬레이션 분석 모델을 구비하는 컴퓨터 시스템으로서,
    제 1 프로세서와; 그리고
    상기 컴퓨터 시스템의 제 1 프로세서에 의해 실행가능한 시뮬레이션 분석 모델을 포함하는 데이터를 저장하도록 구성된 디지털 저장 매체를 포함하고,
    상기 데이터의 시뮬레이션 분석 모델은,
    하기의 다른 데이터 객체들에 대한 액세스를 제어하는 제 1 데이터 객체(data object)와;
    상기 시뮬레이션 분석 모델의 외부 인터페이스(outer interface)를 형성하는 제 2 데이터 객체와;
    상기 시뮬레이션 분석 모델의 콘텐츠(content)를 추가의 처리가능 데이터로서 포함하는 제 3 데이터 객체와; 그리고
    상기 제 3 데이터 객체의 상기 시뮬레이션 분석 모델을 준비된 실행가능 시뮬레이션으로서 포함하는 제 4 데이터 객체를 포함하며,
    여기서, 상기 제 1 데이터 객체는, 상기 제 3 데이터 객체의 추가의 처리가능 데이터 및 상기 제 4 데이터 객체의 준비된 실행가능 시뮬레이션에 대한, 상기 시뮬레이션 분석 모델의 사용자의 액세스를 제어하는 것을 특징으로 하는 시뮬레이션 분석 모델을 구비하는 컴퓨터 시스템.
  27. 제 26 항에 있어서,
    상기 제 1 데이터 객체는 소정의 액세스 허가 정보(access authorization information)를 고려함으로써 상기 사용자의 액세스를 제어하는 것을 특징으로 하는 시뮬레이션 분석 모델을 구비하는 컴퓨터 시스템.
  28. 제 27 항에 있어서,
    상기 소정의 액세스 허가 정보는 상기 제 1 데이터 객체 라이센스 동글에 저장되는 것을 특징으로 하는 시뮬레이션 분석 모델을 구비하는 컴퓨터 시스템.
  29. 제 28 항에 있어서,
    상기 제 4 데이터 객체의 준비된 실행가능 시뮬레이션과 상기 제 3 데이터 객체의 추가의 처리가능 데이터의 액세스 허가 정보중 적어도 하나는 엔코드되는 것을 특징으로 하는 시뮬레이션 분석 모델을 구비하는 컴퓨터 시스템.
  30. 제 26 항 내지 제 29 항 중 어느 한 항에 있어서,
    상기 제 1 데이터 객체는 상기 제 3 데이터 객체의 추가의 처리가능 데이터에 대한 사용자의 액세스는 거부(deny)하지만, 상기 제 4 데이터 객체의 실행가능 시뮬레이션에 대한 사용자의 액세스는 허가함으로써, 상기 시뮬레이션 분석 모델은 숨겨지고 추가적으로 더 처리가능하지는 않지만, 사용자에 대해서는 실행가능한 것을 특징으로 하는 시뮬레이션 분석 모델을 구비하는 컴퓨터 시스템.
  31. 제 26 항에 있어서,
    상기 제 3 데이터 객체의 상기 시뮬레이션 분석 모델의 상기 추가의 처리가능 데이터의 적어도 일부는 상기 시뮬레이션 분석 모델의 시간 반응(time behaviour)을 기술(describe)하는 것을 특징으로 하는 시뮬레이션 분석 모델을 구비하는 컴퓨터 시스템.
  32. 제 26 항에 있어서,
    상기 제 3 데이터 객체의 추가의 처리가능 데이터는 소스 코드를 가지며, 상기 제 4 데이터 객체의 준비된 실행가능 시뮬레이션은 상기 제 3 데이터 객체의 소스 코드로부터 시뮬레이션 모델을 발생시킴으로써 발생되는 것을 특징으로 하는 시뮬레이션 분석 모델을 구비하는 컴퓨터 시스템.
  33. 제 32 항에 있어서,
    상기 제 3 데이터 객체의 소스 코드는 XML, UML, C, C++, 매틀랩/시뮬링크-스크립트, 피톤, 파스칼, 포트란 또는 베이직 포맷인 것을 특징으로 하는 시뮬레이션 분석 모델을 구비하는 컴퓨터 시스템.
  34. 제 32 항에 있어서,
    상기 제 4 데이터 객체의 실행가능 데이터는, 중간 표현(intermediate representation) 또는 프리컴파일된 형태(precompiled form)로 존재하는 것을 특징으로 하는 시뮬레이션 분석 모델을 구비하는 컴퓨터 시스템.
  35. 제 32 항에 있어서,
    상기 제 4 데이터 객체의 준비된 실행가능 시뮬레이션은 실행가능한 포괄적 모델(executable comprehensive model)의 사용자의 소프트웨어 환경에 임베드(embed)되는 것을 특징으로 하는 시뮬레이션 분석 모델을 구비하는 컴퓨터 시스템.
  36. 제 26 항에 있어서,
    상기 시뮬레이션 분석 모델은 상위(superordinate) 시뮬레이션 분석 모델의 계층 부분(hierarchical part)을 형성하는 것을 특징으로 하는 시뮬레이션 분석 모델을 구비하는 컴퓨터 시스템.
  37. 제 27 항에 있어서,
    상기 시뮬레이션 분석 모델은 임베디드 시스템의 모델 또는 서브 모델을 형성하는 것을 특징으로 하는 시뮬레이션 분석 모델을 구비하는 컴퓨터 시스템.
  38. 제 37 항에 있어서,
    상기 제 4 데이터 객체의 준비된 실행가능 시뮬레이션과 상기 제 3 데이터 객체의 추가의 처리가능 데이터의 적어도 일부는 제어 디바이스의 태스크에 할당되는 것을 특징으로 하는 시뮬레이션 분석 모델을 구비하는 컴퓨터 시스템.
  39. 제 26 항에 있어서,
    상기 시뮬레이션 분석 모델은 실시간 분석을 위해 이용되는 것을 특징으로 하는 시뮬레이션 분석 모델을 구비하는 컴퓨터 시스템.
KR1020117014957A 2008-11-28 2009-11-27 데이터 처리를 위한 방법, 시스템 및 시뮬레이션 또는 분석 모델 KR101458579B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102008059550 2008-11-28
DE102008059550.0 2008-11-28
PCT/EP2009/065972 WO2010060985A2 (de) 2008-11-28 2009-11-27 Verfahren, system und simulations- bzw. analysemodell zur datenverarbeitung

Publications (2)

Publication Number Publication Date
KR20110099120A KR20110099120A (ko) 2011-09-06
KR101458579B1 true KR101458579B1 (ko) 2014-11-07

Family

ID=41694759

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117014957A KR101458579B1 (ko) 2008-11-28 2009-11-27 데이터 처리를 위한 방법, 시스템 및 시뮬레이션 또는 분석 모델

Country Status (8)

Country Link
US (1) US8661419B2 (ko)
EP (1) EP2232366A2 (ko)
JP (1) JP2012510656A (ko)
KR (1) KR101458579B1 (ko)
CN (1) CN102227714A (ko)
CA (1) CA2744891C (ko)
IL (1) IL213142A (ko)
WO (1) WO2010060985A2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102339364A (zh) * 2010-07-26 2012-02-01 邹芬 一种使用非可见可变容量存储装置实现软件授权的方法
CN102467640B (zh) * 2010-11-05 2014-10-15 北大方正集团有限公司 功能定制方法和装置
US8931103B2 (en) * 2011-09-08 2015-01-06 International Business Machines Corporation Generating security permissions
CN103514331B (zh) * 2013-09-30 2016-08-31 西北工业大学 一种从Simulink模型转换至UML模型的方法
WO2016108963A1 (en) * 2014-12-30 2016-07-07 Battelle Memorial Institute Temporal anomaly detection on automotive networks
CN107408060B (zh) 2015-03-17 2020-10-16 华为技术有限公司 一种数据处理的方法及装置
KR101662137B1 (ko) * 2016-02-26 2016-10-05 주식회사 티맥스 소프트 다수의 데이터 객체들에 대한 트랜잭션을 설정하는 방법, 서버 및 컴퓨터 판독 가능한 기록 매체
CN106776326B (zh) * 2016-12-20 2020-07-28 中国农业银行股份有限公司 一种数据分析模型的建模方法及系统
CN106897585B (zh) * 2017-03-15 2019-12-13 北京深思数盾科技股份有限公司 软件许可管理方法、软件保护方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107567B1 (en) 2004-04-06 2006-09-12 Altera Corporation Electronic design protection circuit

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6161051A (en) * 1998-05-08 2000-12-12 Rockwell Technologies, Llc System, method and article of manufacture for utilizing external models for enterprise wide control
WO2001061969A2 (en) * 2000-02-18 2001-08-23 Cedere Corporation Auto control of network monitoring and simulation
JP2002230359A (ja) * 2001-01-31 2002-08-16 Toyota Central Res & Dev Lab Inc シミュレーションモデル配信方法、シミュレーションモデル収集方法、プログラムおよび記録媒体
US20030004699A1 (en) * 2001-06-04 2003-01-02 Choi Charles Y. Method and apparatus for evaluating an integrated circuit model
US7152028B2 (en) * 2001-12-13 2006-12-19 Texas Instruments Incorporated Software development tool with embedded cache analysis
JP2003216502A (ja) * 2002-01-25 2003-07-31 Mazda Motor Corp シミュレーションシステムのセキュリティ装置、その方法、及びそのプログラム
US7334222B2 (en) * 2002-09-11 2008-02-19 International Business Machines Corporation Methods and apparatus for dependency-based impact simulation and vulnerability analysis
US7509246B1 (en) * 2003-06-09 2009-03-24 Altera Corporation System level simulation models for hardware modules
US7409652B1 (en) * 2004-06-04 2008-08-05 Altera Corporation Debuggable opaque IP
WO2005121950A2 (en) * 2004-06-08 2005-12-22 Dartdevices Corporation Architecture apparatus and method for seamless universal device interoperability platform
US7487080B1 (en) * 2004-07-08 2009-02-03 The Mathworks, Inc. Partitioning a model in modeling environments
US7743361B2 (en) * 2004-09-20 2010-06-22 The Mathworks, Inc. Providing block state information for a model based development process
US8271964B2 (en) * 2005-05-16 2012-09-18 Microsoft Corporation Extensible software development services
US8234630B2 (en) * 2006-05-03 2012-07-31 The Mathworks, Inc. Calling an entity of a graphical model with a non-graphical entity and calling a non-graphical entity of a graphical model with a graphical entity
US8087007B2 (en) * 2006-05-08 2011-12-27 Assima Ltd. System and method for software prototype-development and validation and for automatic software simulation re-grabbing
DE102006031790A1 (de) * 2006-07-10 2008-01-17 Giesecke & Devrient Gmbh Abgesicherter Programmcode
US8079022B2 (en) * 2007-06-04 2011-12-13 Carbon Design Systems, Inc. Simulation of software
US9015016B2 (en) * 2007-11-30 2015-04-21 Coventor, Inc. System and method for three-dimensional schematic capture and result visualization of multi-physics system models
JP5172585B2 (ja) * 2008-10-07 2013-03-27 インターナショナル・ビジネス・マシーンズ・コーポレーション オブジェクト・モデルに対するアクセスを制御するシステム、方法、およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107567B1 (en) 2004-04-06 2006-09-12 Altera Corporation Electronic design protection circuit

Also Published As

Publication number Publication date
US20110258709A1 (en) 2011-10-20
CA2744891C (en) 2015-10-27
IL213142A (en) 2016-02-29
JP2012510656A (ja) 2012-05-10
WO2010060985A3 (de) 2010-07-29
WO2010060985A2 (de) 2010-06-03
US8661419B2 (en) 2014-02-25
CN102227714A (zh) 2011-10-26
CA2744891A1 (en) 2010-06-03
IL213142A0 (en) 2011-07-31
KR20110099120A (ko) 2011-09-06
EP2232366A2 (de) 2010-09-29

Similar Documents

Publication Publication Date Title
KR101458579B1 (ko) 데이터 처리를 위한 방법, 시스템 및 시뮬레이션 또는 분석 모델
JP2008539503A (ja) ソフトウェアのライセンス供与/商用デジタル配信ポリシーのための補足的な信頼モデル
US20140222686A1 (en) Authenticating licenses for legally-protectable content based on license profiles and content identifiers
US20210117556A1 (en) Verification of bitstreams
US8417640B2 (en) Secure license key method and system
CA2462818A1 (en) Application rights and controlling capabilities of software application
WO2007011584A2 (en) Digital application operating according to aggregation of plurality of licenses
AU2012228008A1 (en) System, method, and computer program product for creation, transmission, and tracking of electronic document
CN101398875A (zh) 软件发行商信任扩展应用程序
CN107005568A (zh) 数据安全操作与预期
CN105825115B (zh) 数字数据内容证明系统、计算机、用户终端以及证明方法
EP1785901B1 (en) Secure License Key Method and System
JP4295684B2 (ja) プログラム製作装置
WO2022265830A1 (en) Managing asset packages for interactive bot development
KR20150064822A (ko) 전자문서 관리 시스템
CN111832043A (zh) 数据加密处理方法、装置、计算机设备和存储介质
CS Machado et al. Software control and intellectual property protection in cyber-physical systems
US20200259839A1 (en) Computer Systems for Regulating Access to Electronic Content Using Usage Telemetry Data
WO2021257555A1 (en) Verified templates
Han et al. Security characterisation and integrity assurance for component-based software
CN113228022A (zh) 分析查询应答系统、分析查询执行装置、分析查询验证装置、分析查询应答方法以及程序
EP4328781A1 (en) Method and system for improving quality and accuracy of data of plurality of digital twins interacting in a computer simulated collaborative environment over a distributed network
Li et al. Privacy Computing Theory
Patel Enabling dynamic data and indirect mutual trust for cloud computing storage system
CN113312637A (zh) 代理服务器及其对加密的订阅与事件进行匹配的方法

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
FPAY Annual fee payment

Payment date: 20170921

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180912

Year of fee payment: 5