KR102007257B1 - 플랫폼 최적화 가이드 정보 제공 시스템 및 그 가이드 제공 방법 - Google Patents

플랫폼 최적화 가이드 정보 제공 시스템 및 그 가이드 제공 방법 Download PDF

Info

Publication number
KR102007257B1
KR102007257B1 KR1020120022194A KR20120022194A KR102007257B1 KR 102007257 B1 KR102007257 B1 KR 102007257B1 KR 1020120022194 A KR1020120022194 A KR 1020120022194A KR 20120022194 A KR20120022194 A KR 20120022194A KR 102007257 B1 KR102007257 B1 KR 102007257B1
Authority
KR
South Korea
Prior art keywords
platform
software
optimization
verification
information
Prior art date
Application number
KR1020120022194A
Other languages
English (en)
Other versions
KR20130101222A (ko
Inventor
이정원
함철희
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020120022194A priority Critical patent/KR102007257B1/ko
Priority to US13/710,609 priority patent/US8930905B2/en
Publication of KR20130101222A publication Critical patent/KR20130101222A/ko
Application granted granted Critical
Publication of KR102007257B1 publication Critical patent/KR102007257B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • 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
    • 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
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Landscapes

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

Abstract

본 발명은 플랫폼 최적화 가이드 정보 제공 시스템 및 그 가이드 정보 제공 방법에 관한 것이다. 본 발명에 따른 플랫폼 최적화 가이드 정보 제공 시스템은, 소정의 하드웨어와 동일한 하드웨어 아키텍처가 가상으로 구현되어 상기 하드웨어의 기능을 수행하는 가상 하드웨어 플랫폼과; 상기 가상 하드웨어 플랫폼 상에서 소정 소프트웨어의 운영 환경을 제공하는 소프트웨어 플랫폼과; 상기 소프트웨어 플랫폼 상에서 검증 대상 소프트웨어가 탑재되어 실행되는 어플리케이션 계층과; 상기 검증 대상 소프트웨어를 시뮬레이션 하는 시뮬레이션 계층과; 상기 시뮬레이션 과정에서 상기 검증 대상 소프트웨어가 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에 최적화되는지 여부를 검증하는 최적화 검증 계층을 포함하고, 상기 최적화 검증 계층은 상기 검증 대상 소프트웨어의 최적화 검증결과를 플랫폼 최적화 가이드 정보로서 제공한다.

Description

플랫폼 최적화 가이드 정보 제공 시스템 및 그 가이드 제공 방법{SYSTEM AND METHOD FOR PROVIDING GUIDELINE OF OPTIMIZING PLATFORM}
본 발명은 플랫폼 최적화 가이드 정보 제공 시스템 및 그 가이드 제공 방법에 관한 것으로서, 보다 상세하게는 개발된 소프트웨어의 시뮬레이션 과정에서 소프트웨어 개발 가이드를 제공할 수 있는 플랫폼 최적화 가이드 정보 제공 시스템 및 그 가이드 제공 방법에 관한 것이다.
소프트웨어는 특정 플랫폼 상에서 개발자가 구현하고자 하는 소정의 기능을 구현한다. 소프트웨어 개발의 효율성을 위하여 상기 플랫폼은 일반화된 인터페이스를 가지도록 구성된다. 따라서, 소프트웨어 개발자는 상기 일반화된 인터페이스를 이용하여 다양한 플랫폼에서 유사한 기능을 제공할 수 있는 소프트웨어를 개발할 수 있다. 그러나, 다양한 플랫폼들은 각각 특징을 가지고 있으며, 소프트웨어 개발자들은 각 플랫폼에 맞는 최적화 작업을 수행해야 각 플랫폼에서 최적의 기능을 제공할 수 있는 소프트웨어를 개발할 수 있다. 종래 플랫폼 제공자는 소프트웨어 개발자가 최선의 결과를 개발하는데 필요한 개발과정에 대한 가이드를 제공하고 있다. 그러나 종래 기술에 따르면 이러한 개발과정에 대한 가이드는 문서 형태로 제공되어, 소프트웨어 개발자가 상기 문서에 개시된 항목 및 내용을 숙지하여 적용하여야지만 최선의 결과를 획득할 수 있었다. 또한 종래 기술에 따르면, 소프트웨어 개발자는 개발 소프트웨어가 상기 가이드에 최적화되었는지 여부를 확인할 수 있는 방법이 없었다.
따라서, 본 발명의 목적은 소프트웨어 개발자가 소정의 개발 소프트웨어가 상기 소프트웨어가 적용될 플랫폼에의 최적화 여부 및 최적화를 위한 추천 가이드 정보를 제공할 수 있는 플랫폼 최적화 가이드 정보 제공 시스템 및 그 가이드 정보 제공 방법에 대한 것이다.
상기 목적은, 본 발명에 따라, 플랫폼 최적화 가이드 정보 제공 시스템에 있어서, 소정의 하드웨어와 동일한 하드웨어 아키텍처가 가상으로 구현되어 상기 하드웨어의 기능을 수행하는 가상 하드웨어 플랫폼과; 상기 가상 하드웨어 플랫폼 상에서 소정 소프트웨어의 운영 환경을 제공하는 소프트웨어 플랫폼과; 상기 소프트웨어 플랫폼 상에서 검증 대상 소프트웨어가 탑재되어 실행되는 어플리케이션 계층과; 상기 검증 대상 소프트웨어를 시뮬레이션 하는 시뮬레이션 계층과; 상기 시뮬레이션 과정에서 상기 검증 대상 소프트웨어가 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에 최적화되는지 여부를 검증하는 최적화 검증 계층을 포함하고, 상기 최적화 검증 계층은 상기 검증 대상 소프트웨어의 최적화 검증결과를 플랫폼 최적화 가이드 정보로서 제공하는 것인 플랫폼 최적화 가이드 정보 제공 시스템에 의하여 달성될 수 있다.
상기 최적화 검증 결과는, 상기 검증 대상 소프트웨어가 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에의 최적화 여부와; 상기 최적화를 위한 추천정보를 포함할 수 있다.
상기 시스템은, 상기 하드웨어 플랫폼의 특성 정보, 상기 하드웨어 플랫폼의 특성정보에 기초하여 소정의 소프트웨어가 최적화될 수 있는 제1추천정보, 상기 소프트웨어 플랫폼의 특성 정보 및 상기 소프트웨어 플랫폼의 특성 정보에 기초하여 소정 소프트웨어가 최적화될 수 있는 제2추천정보 중 적어도 어느 하나를 저장하는 검증 데이터베이스를 더 포함할 수 있다.
상기 제1추천정보는 상기 검증 대상 소프트웨어를 구성하는 적어도 하나의 제1함수에 대하여 상기 하드웨어 플랫폼 특성 정보에 최적화되는 적어도 하나의 제1추천 함수 정보를 포함하고, 상기 제2추천정보는 상기 검증 대상 소프트웨어를 구성하는 적어도 하나의 제2함수에 대하여 상기 소프트웨어 플랫폼 특성 정보에 최적화되는 적어도 하나의 제2추천 함수 정보를 포함할 수 있다.
상기 최적화 검증 계층은, 상기 검증 대상 소프트웨어의 실행이 상기 가상 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼의 에러를 유발하는 것으로 판단되면, 상기 검증 대상 소프트웨어의 실행을 제한할 수 있다.
상기 최적화 검증 계층은, 상기 소프트웨어 플랫폼에 내장될 수 있다.
또한, 상기 목적은, 본 발명에 따라 소정의 가상 하드웨어 플랫폼, 소정의 소프트웨어 플랫폼, 및 소정의 어플리케이션 계층을 포함하는 플랫폼 최적화 가이드 정보 제공 시스템의 플랫폼 최적화 가이드 정보 제공 방법에 있어서, 상기 어플리케이션 계층에 탑재된 검증 대상 소프트웨어를 시뮬레이션하기 위하여 호출하는 단계와; 상기 시뮬레이션 과정 중에서 상기 검증 대상 소프트웨어가 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에 최적화되는지 여부를 검증하는 단계와; 상기 검증 대상 소프트웨어의 최적화 검증 결과를 플랫폼 최적화 가이드 정보로서 제공하는 단계를 포함하는 플랫폼 최적화 가이드 정보 제공 방법에 의하여 달성될 수 있다.
상기 최적화 검증 결과는, 상기 검증 대상 소프트웨어가 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에의 최적화 여부와; 상기 최적화를 위한 추천정보를 포함할 수 있다.
상기 방법은, 상기 하드웨어 플랫폼의 특성 정보, 상기 하드웨어 플랫폼의 특성정보에 기초하여 소정의 소프트웨어가 최적화될 수 있는 제1추천정보, 상기 소프트웨어 플랫폼의 특성 정보 및 상기 소프트웨어 플랫폼의 특성 정보에 기초하여 소정 소프트웨어가 최적화될 수 있는 제2추천정보 중 적어도 어느 하나를 저장하는 단계를 더 포함할 수 있다.
상기 제1추천정보는 상기 검증 대상 소프트웨어를 구성하는 적어도 하나의 제1함수에 대하여 상기 하드웨어 플랫폼 특성 정보에 최적화되는 적어도 하나의 제1추천 함수 정보를 포함하고, 상기 제2추천정보는 상기 검증 대상 소프트웨어를 구성하는 적어도 하나의 제2함수에 대하여 상기 소프트웨어 플랫폼 특성 정보에 최적화되는 적어도 하나의 제2추천 함수 정보를 포함할 수 있다.
상기 최적화 검증 단계는, 상기 검증 대상 소프트웨어의 실행이 상기 가상 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼의 에러를 유발하는 것으로 판단되면, 상기 검증 대상 소프트웨어의 실행을 제한하는 단계를 더 포함할 수 있다.
또한, 상기 목적은 본 발명에 따라 플랫폼 최적화 가이드 정보 제공 시스템에 있어서, 소정의 하드웨어와; 상기 하드웨어 플랫폼 상에서 소정 소프트웨어의 운영 환경을 제공하는 소프트웨어 플랫폼과; 상기 소프트웨어 플랫폼 상에서 검증 대상 소프트웨어가 탑재되어 실행되는 어플리케이션 계층과; 상기 검증 대상 소프트웨어가 실행되면, 상기 검증 대상 소프트웨어가 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에 최적화되는지 여부를 검증하는 최적화 검증 계층을 포함하고, 상기 최적화 검증 계층은 상기 검증 대상 소프트웨어의 최적화 검증결과를 플랫폼 최적화 가이드 정보로서 제공하는 것인 플랫폼 최적화 가이드 정보 제공 시스템에 의하여 달성될 수 있다.
상기 최적화 검증 결과는, 상기 검증 대상 소프트웨어가 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에의 최적화 여부와; 상기 최적화를 위한 추천정보를 포함할 수 있다.
상기 시스템은, 상기 하드웨어 플랫폼의 특성 정보, 상기 하드웨어 플랫폼의 특성정보에 기초하여 소정의 소프트웨어가 최적화될 수 있는 제1추천정보, 상기 소프트웨어 플랫폼의 특성 정보 및 상기 소프트웨어 플랫폼의 특성 정보에 기초하여 소정 소프트웨어가 최적화될 수 있는 제2추천정보 중 적어도 어느 하나를 저장하는 검증 데이터베이스를 더 포함할 수 있다.
상기 제1추천정보는 상기 검증 대상 소프트웨어를 구성하는 적어도 하나의 제1함수에 대하여 상기 하드웨어 플랫폼 특성 정보에 최적화되는 적어도 하나의 제1추천 함수 정보를 포함하고, 상기 제2추천정보는 상기 검증 대상 소프트웨어를 구성하는 적어도 하나의 제2함수에 대하여 상기 소프트웨어 플랫폼 특성 정보에 최적화되는 적어도 하나의 제2추천 함수 정보를 포함할 수 있다.
상기 최적화 검증 계층은, 상기 검증 대상 소프트웨어의 실행이 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼의 에러를 유발하는 것으로 판단되면, 상기 검증 대상 소프트웨어의 실행을 제한할 수 있다.
상기 최적화 검증 계층은, 상기 소프트웨어 플랫폼에 내장될 수 있다.
또한 상기 목적은 본 발명에 따라, 소정의 하드웨어 플랫폼, 소정의 소프트웨어 플랫폼, 및 소정의 어플리케이션 계층을 포함하는 플랫폼 최적화 가이드 정보 제공 시스템의 플랫폼 최적화 가이드 정보 제공 방법에 있어서, 상기 어플리케이션 계층에 탑재된 검증 대상 소프트웨어를 실행시키는 단계와; 상기 검증 대상 소프트웨어가 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에 최적화되는지 여부를 검증하는 단계와; 상기 검증 대상 소프트웨어의 최적화 검증 결과를 플랫폼 최적화 가이드 정보로서 제공하는 단계를 포함하는 플랫폼 최적화 가이드 정보 제공 방법에 의하여 달성될 수 있다.
상기 최적화 검증 결과는, 상기 검증 대상 소프트웨어가 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에의 최적화 여부와; 상기 최적화를 위한 추천정보를 포함할 수 있다.
상기 방법은, 상기 하드웨어 플랫폼의 특성 정보, 상기 하드웨어 플랫폼의 특성정보에 기초하여 소정의 소프트웨어가 최적화될 수 있는 제1추천정보, 상기 소프트웨어 플랫폼의 특성 정보 및 상기 소프트웨어 플랫폼의 특성 정보에 기초하여 소정 소프트웨어가 최적화될 수 있는 제2추천정보 중 적어도 어느 하나를 저장하는 단계를 더 포함할 수 있다.
상기 제1추천정보는 상기 검증 대상 소프트웨어를 구성하는 적어도 하나의 제1함수에 대하여 상기 하드웨어 플랫폼 특성 정보에 최적화되는 적어도 하나의 제1추천 함수 정보를 포함하고, 상기 제2추천정보는 상기 검증 대상 소프트웨어를 구성하는 적어도 하나의 제2함수에 대하여 상기 소프트웨어 플랫폼 특성 정보에 최적화되는 적어도 하나의 제2추천 함수 정보를 포함할 수 있다.
상기 최적화 검증 단계는, 상기 검증 대상 소프트웨어의 실행이 상기 가상 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼의 에러를 유발하는 것으로 판단되면, 상기 검증 대상 소프트웨어의 실행을 제한하는 단계를 더 포함할 수 있다.
이상 설명한 바와 같이, 본 발명에 따르면, 소프트웨어 개발자가 소정의 개발 소프트웨어가 상기 소프트웨어가 적용될 플랫폼에의 최적화 여부 및 최적화를 위한 추천 가이드 정보를 제공할 수 있는 플랫폼 최적화 가이드 정보 제공 시스템 및 그 가이드 정보 제공 방법이 제공된다.
도 1은 본 발명의 일 실시예에 따른 플랫폼 최적화 가이드 정보 제공 시스템의 구조도이고,
도 2는 본 발명의 다른 일 실시예에 다른 플랫폼 최적화 가이드 정보 제공 시스템의 구조도이고,
도 3은 도 1 및 도 2의 시스템에서 제공하는 추천정보의 일 실시예를 도시하고 있고,
도 4는 도 1의 플랫폼 최적화 가이드 정보 제공 시스템의 가이드 정보 제공 방법의 흐름도이고,
도 5는 도 2의 플랫폼 최적화 가이드 정보 제공 시스템의 가이드 정보 제공 방법의 흐름도이다.
이하, 첨부한 도면을 참고로 하여 본 발명의 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예들에 한정되지 않는다. 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조부호를 붙이도록 한다.
도 1은 본 발명의 일 실시예에 따른 플랫폼 최적화 가이드 정보 제공 시스템의 구조도이다.
도 1을 참조하면, 플랫폼 최적화 가이드 정보 제공 시스템(100)은 가상 하드웨어 플랫폼(110), 시뮬레이션 계층(120), 소프트웨어 플랫폼(130), 최적화 검증 계층(140) 및 어플리케이션 계층(150)을 포함한다.
플랫폼 최적화 가이드 정보 제공 시스템(100)은 플랫폼 에뮬레이터와 유사한 기능을 수행할 수 있는 것으로서, 소프트웨어 개발자가 개발한 소프트웨어는 본 실시예에 따른 플랫폼 최적화 가이드 정보 제공 시스템 상에서 시뮬레이션을 수행할 수 있고, 상기 시뮬레이션 수행 과정 중에 상기 개발 소프트웨어가 상기 플랫폼에 최적화되는지 여부 및 최적화되지 않은 것으로 판단되면, 최적화 가능한 추천 가이드 정보를 출력하여, 소프트웨어 개발자가 개발 소프트웨어를 수정하는데 도움을 줄 수 있다.
가상 하드웨어 플랫폼(110)는 소정 전자장치의 물리적인 하드웨어와 동일한 하드웨어 아키텍처가 가상으로 구현되어 상기 하드웨어의 기능을 수행할 수 있다. 만약 상기 전자장치가 디스플레이장치(TV, 또는 모니터)로 구현되면, 상기 가상 하드웨어 플랫폼(110)은 디스플레이장치의 영상을 수신하는 수신부, 영상 및/또는 음성신호를 처리하는 신호처리부, 상기 처리된 영상을 표시하는 디스플레이부, 상기 처리된 음성을 출력하는 스피커, 소정의 데이터를 저장하는 메모리, 사용자의 입력을 수신할 수 있는 사용자입력부, 이들 구성요소의 동작을 전반적으로 제어하는 제어부 등 실제 디스플레이장치가 그대로 구현될 수 있다. 또한 가상으로 구현된 하드웨어가 실제 장치와 거의 유사하게 동작할 수 있도록 각 장치에 대한 장치 드라이버(미도시)를 탑재할 수도 있다. 따라서, 가상 하드웨어 플랫폼(110)는 개발하고자 하는 소프트웨어가 적용될 수 있는 어떠한 전자장치의 하드웨어와 동일한 하드웨어 아키텍처를 시뮬레이션한 것이다.
시뮬레이션 계층(120)은 소프트웨어 개발자가 개발하여 검증하고자 하는 소프트웨어의 시뮬레이션을 수행한다. 즉, 시뮬레이션 계층(120)은 검증 대상 소프트웨어를 에뮬레이션하는 계층이다. 에뮬레이션은 일반적으로 다른 종류의 하드웨어 또는 소프트웨어를 모방하여 실현될 수 있도록 함으로써 한 컴퓨터 시스템에서 다른 컴퓨터 시스템으로 전환하는 충격을 최소화하고 기존 프로그램을 그대로 계속 사용할 수 있도록 한다. 따라서, 검증 대상 소프트웨어가 적용될 물리적인 하드웨어와 다른 동작 구조를 갖는 PC 또는 워크스테이션에서도 본 발명에 따른 플랫폼 최적화 가이드 정보 제공 시스템(100)이 상기 물리적인 하드웨어(전자장치)와 유사한 동작이 이루어질 수 있도록 하여, 이후 이를 통해 개발된 플랫폼 또는 소프트웨어가 실제 물리적인 하드웨어에 탑재되었을 때 수정 또는 디버깅 작업을 최소화할 수 있게 한다.
소프트웨어 플랫폼(130)은 상기 가상 하드웨어 플랫폼 상에서 소정 소프트웨어의 운영 환경을 제공한다. 소프트웨어 플랫폼(130)는 소정 소프트웨어가 운영될 수 있는 운영체제(OS), 라이브러리, 응용 프레임워크를 포함하는 계층이다. 따라서, 소프트웨어 플랫폼(130)는 검증 대상 소프트웨어가 탑재되어 운영될 수 있는 운영체제 등의 운영환경을 제공한다. 따라서, 소프트웨어 플랫폼(130)의 종류는 상기 가상 하드웨어 플랫폼(110)에 의존적이다. 즉, 가상 하드웨어 플랫폼(110) 상에서 적용될 수 있는 소프트웨어 플랫폼을 포함하는 것이다.
어플리케이션 계층(150)은 상기 소프트웨어 플랫폼(130) 상에서 검증 대상 소프트웨어가 탑재되어 실행되도록 한다.
최적화 검증 계층(140)은 상기 시뮬레이션 과정에서 상기 검증 대상 소프트웨어가 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에 최적화되는지 여부를 검증하는 계층으로서, 상기 검증 대상 소프트웨어의 최적화 검증결과를 플랫폼 최적화 가이드 정보로서 제공한다.
최적화 검증 계층(140)은 소정의 검증 대상 소프트웨어를 시뮬레이션 계층에서 시뮬레이션 하는 과정 중에 상기 검증 대상 소프트웨어의 최적화 여부를 검증하여 최적화 검증 결과를 제공한다. 본 실시예에서 최적화 라는 개념은, 상기 하드웨어 플랫폼 또는 소프트웨어 플랫폼 상에서 검증 대상 소프트웨어가 제대로 실행되는지 여부, 및/또는 소프트웨어가 제대로 실행은 되나 상기 하드웨어 플랫폼 또는 소프트웨어 플랫폼 상에서 상기 검증 대상 소프트웨어가 높은 효율성을 가지는지 여부(또는 검증 대상 소프트웨어의 성능이 좋은지 여부)를 포함하는 개념이다. 따라서, 검증 대상 소프트웨어가 제대로 실행은 되지만, 그 실행의 효율성이 좋지 못한 경우(또는 검증 대상 소프트웨어의 성능이 좋지 못한 경우)에는 상기 검증대상 소프트웨어가 하드웨어 플랫폼 또는 소프트웨어 플랫폼 상에서 최적화되지 못한 것으로 판단될 수 있다.
상기 최적화 검증 결과는 상기 검증 대상 소프트웨어가 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에의 최적화 여부와, 상기 최적화를 위한 추천정보를 포함한다.
상기 최적화 검증 계층(140)은 상기 하드웨어 플랫폼의 특성 정보, 상기 하드웨어 플랫폼의 특성정보에 기초하여 소정의 소프트웨어가 최적화될 수 있는 제1추천정보, 상기 소프트웨어 플랫폼의 특성 정보 및 상기 소프트웨어 플랫폼의 특성 정보에 기초하여 소정 소프트웨어가 최적화될 수 있는 제2추천정보 중 적어도 어느 하나를 저장하는 검증 데이터베이스(미도시)를 더 포함한다.
상기 하드웨어 플랫폼의 특성 정보 및 제1추천정보는 상기 하드웨어 플랫폼 제공자가 제공하는 것으로서, 소프트웨어 개발자 가이드와 같은 기능을 수행할 수 있다. 상기 하드웨어 플랫폼의 특성 정보는, 상기 하드웨어 플랫폼 만의 차별되는 특징에 대한 정보를 포함한다. 상기 제1추천정보는, 상기 하드웨어 플랫폼을 위한 소프트웨어 개발 시에 소프트웨어 개발자가 가장 범하기 쉬운 함수 정보를 위한 추천 함수 정보를 포함한다. 즉, 제1추천정보는 상기 검증 대상 소프트웨어를 구성하는 적어도 하나의 제1함수에 대하여, 상기 하드웨어 플랫폼 특성 정보에 최적화되는 적어도 하나의 제1추천 함수 정보를 포함한다. 상기 제1함수는 상기 하드웨어 플랫폼 상에서 상기 검증 대상 소프트웨어가 잘 구동되지 않거나 또는 잘 구동되더라도 상기 검증 대상 소프트웨어의 성능을 저하시키는 함수를 포함할 수 있다. 따라서, 제1추천 함수 정보는 상기 제1함수 대신에 사용할 수 있는 함수 정보를 추천한다.
상기 소프트웨어 플랫폼의 특성 정보 및 제2추천정보는 상기 소프트웨어 플랫폼 제공자가 제공하는 것으로서, 소프트웨어 개발자 가이드와 같은 기능을 수행할 수 있다. 상기 소프트웨어 플랫폼의 특성 정보는, 상기 소프트웨어 플랫폼 만의 차별되는 특징에 대한 정보를 포함한다. 상기 제2추천정보는, 제1추천정보처럼, 상기 소프트웨어 플랫폼을 위한 소프트웨어 개발 시에 소프트웨어 개발자가 가장 범하기 쉬운 함수 정보를 위한 추천 함수 정보를 포함한다.
따라서, 최적화 검증 계층(140)은 상기 검증 데이터베이스의 상기 하드웨어 플랫폼의 특성 정보 또는 상기 소프트웨어 플랫폼의 특성 정보에 기초하여 검증 대상 소프트웨어의 최적화 여부를 검증하게 된다. 만약 상기 검증 대상 소프트웨어가 최적화되어 있지 않은 것으로 판단되면, 상기 제1추천정보 또는 제2추천정보를 이용하여 상기 검증대상 소프트웨어에 포함된 어느 하나의 제1함수에 대한 제1추천정보, 또는 제2함수에 대한 제2추천정보를 제공할 수 있다. 그러므로, 상기 소프트웨어 개발자는 상기 최적화 검증 계층(140)에 의한 최적화 검증을 통하여 검증 대상 소프트웨어의 최적화 정도를 판단할 수 있고, 또한 상기 제1추천정보 또는 제2추천정보를 참조하여 상기 하드웨어 플랫폼 또는 소프트웨어 플랫폼에 좀더 최적화된 함수 코드를 갖는 소프트웨어로 개선할 수 있다.
또한 최적화 검증 계층(140)은 상기 검증 대상 소프트웨어의 실행이 상기 가상 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼의 에러를 유발하는 것으로 판단되면, 상기 검증 대상 소프트웨어의 실행을 제한할 수 있다. 최적화 검증 계층(140)은 상기 검증 대상 소프트웨어의 실행이 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼의 전체적인 신뢰성 문제를 일으키거나 다른 소프트웨어에 위해를 끼칠 수 있는 것으로 판단되면, 상기 검증 대상 소프트웨어의 실행을 제한할 수 있다. 즉, 상기 검증 대상 소프트웨어의 수행 자체를 차단할 수 있다. 이는 실질적으로 플랫폼 개발 시 개발 유연성을 높이기 되면 다양한 기능을 구현할 수 있는 장점이 있는 반면에, 개발되는 소프트웨어에 따라 플랫폼에 치명적인 오류를 발생시킬 수 도 있다. 플랫폼의 유연성을 제한하면 플랫폼의 안정화에는 도움이 되지만 다양한 기능 구현에 어려움을 가지게 된다. 따라서, 이러한 장단점을 극복하기 위하여, 본 실시예에 따른 시스템의 최적화 검증 계층(140)은 플랫폼의 유연성을 확보하면서도 소프트웨어 기능 구현에 최소의 제한을 하도록 제어할 수 있다.
또한 최적화 검증 계층(140)은 소프트웨어 플랫폼(130)의 상위에 존재할 수도 있고, 소프트웨어 플랫폼(130) 내부에 마련될 수도 있다.
도 2는 본 발명의 다른 일 실시예에 다른 플랫폼 최적화 가이드 정보 제공 시스템의 구조도이다. 도 2를 참조하면, 플랫폼 최적화 가이드 정보 제공 시스템(200)은 하드웨어 플랫폼(210), 소프트웨어 플랫폼(220), 최적화 검증 계층(230) 및 어플리케이션 계층(240)을 포함한다. 도 1이 소정 소프트웨어를 개발하고 그 성능 점검을 위한 에뮬레이션 단계에서의 상기 소프트웨어의 최적화를 검증할 수 있는 시스템에 대한 것이라면, 도 2는 실제 하드웨어 플랫폼(또는 물리적인 하드웨어, 또는 전자장치) 상의 소프트웨어 플랫폼에 소정의 개발된 소프트웨어를 탑재하여 실행시켜 보는 단계에서 상기 소프트웨어의 최적화를 검증할 수 있는 시스템에 대한 것이다. 그러므로, 도 1에서는 가상 하드웨어 플랫폼을 포함하고 있다면, 도 2에서는 검증 대상 소프트웨어가 실행될 특정 전자장치의 하드웨어 플랫폼을 포함하고 있고, 도 1에서는 시뮬레이션 계층을 포함하고 있다면 도 2에서는 시뮬레이션 계층을 포함하고 있지 않다.
도 2에 따르면, 도 1의 시스템을 통하여 한번 검증을 거친 검증 대상 소프트웨어가 실제 전자장치에서 실행시켜 본 후, 실제로 상기 검증 대상 소프트웨어가 하드웨어 플랫폼(210) 또는 소프트웨어 플랫폼(220)에 최적화는지 여부를 한번 더 검증할 수 있는 이점을 갖는다. 도 2의 구성요소는 도 1의 대응 구성요소와 동일/유사한 기능을 수행하므로 여기에서 동일한 설명은 생략하기로 한다.
최적화 검증 계층(230)은 소정 소프트웨어의 실행에 대하여 하드웨어 플랫폼(210) 또는 소프트웨어 플랫폼(220)에 대한 최적화 여부를 검증하고, 상기 최적화 검증 결과를 소프트웨어 개발자에게 제공할 수 있다. 이러한 최적화 검증 계층(230)는 소프트웨어 플랫폼(220) 상위에 존재할 수도 있고, 소프트웨어 플랫폼(220) 내부에 마련될 수도 있다. 이러한 최적화 검증 계층(230)의 동작은 도 1의 최적화 검증 계층(140)의 동작과 거의 동일/유사하므로, 동일한 설명은 생략하기로 한다.
도 3은 도 1 및 도 2의 시스템에서 제공하는 추천정보의 일 실시예를 도시하고 있다.
최적화 검증 계층(140, 230)은 검증 대상 소프트웨어의 하드웨어 플랫폼(110, 210) 또는 소프트웨어 플랫폼(130, 220)에 대한 최적화 여부를 검증한다.
만약 검증 대상 소프트웨어가 상기 플랫폼들에 최적화되어 있지 않으면, 도 3에 표시된 바와 같은 추천정보를 제공할 수 있다.
도 3을 참조하면, 검증 대상 소프트웨어의 원래 함수 코드는 함수 A를 실행한 후 함수 B를 실행하는 것이다. 그러나, 최적화 검증 계층의 최적화 검증 결과, 상기 검증 대상 소프트웨어는 해당 하드웨어 플랫폼 또는 소프트웨어 플랫폼 상에서는 함수 B를 실행한 후 함수 A를 실행하는 것이 소프트웨어 성능 면에서 유리한 것으로 판단되면, 이를 추천 정보로써 제공할 수 있다.
또는 검증 대상 소프트웨어의 원래 함수 코드는 함수 C를 10회 반복 실행하는 것이다. 그러나, 최적화 검증 계층의 최적화 검증 결과, 상기 검증 대상 소프트웨어는 해당 하드웨어 플랫폼 또는 소프트웨어 플랫폼 상에서는 함수 C'를 10회 반복 실행하는 것이 소프트웨어 성능 면에서 유리한 것으로 판단되면, 이를 추천정보로써 제공할 수 있다.
본 실시예에 따른 시스템의 최적화 검증 계층(140, 230)은 검증 대상 소프트웨어의 오류뿐만 아니라 대응 하드웨어 플랫폼(110, 210) 또는 대응 소프트웨어 플랫폼(130, 220) 상에서 최적화를 검증할 수 있고, 이에 따른 결과물로서 최적화를 위한(또는 소프트웨어 성능 개선을 위한) 추천정보를 함께 제공할 수 있어서, 소프트웨어 개발자는 손쉽게 소프트웨어를 대응 플랫폼에 최적화하여 개발할 수 있다.
상기 기재한 바와 같이, 본 실시예에 따른 시스템의 최적화 검증 계층(140, 230)은 하드웨어 플랫폼의 특성정보 또는 소프트웨어 플랫폼의 특성정보를 참조하여 검증 대상 소프트웨어의 최적화를 검증할 수 있다. 따라서, 소프트웨어 플랫폼은 동일하나 하드웨어 플랫폼이 상이한 경우, 최적화 검증 계층(140, 230)은 각 하드웨어 플랫폼의 특징에 따른 최적화 여부를 판단하고, 이에 따른 추천정보를 제공할 수도 있다.
본 실시예에 따른 플랫폼 최적화 가이드 정보 제공 시스템(100, 200)은 소정의 검증 대상 소프트웨어에 대하여 하드웨어 플랫폼 또는 소프트웨어 플랫폼 상에서 실행될 때 나타나는 오류 정보를 단순히 제공하는 것이 아니라, 상기 오류 정보뿐만 아니라 상기 하드웨어 플랫폼 특성 또는 상기 소프트웨어 플랫폼 특성에 기초하여 검증 대상 소프트웨어가 상기 플랫폼 상에서 최선의 성능을 발휘할 수 있는지 여부(즉, 최적화 여부)를 확인하고, 최선의 성능을 발휘할 수 있는 정보를 포함하는 추천정보를 소프트웨어 개발자에게 제공할 수 있다. 이에 따라, 본 발명에 따른 시스템을 이용하여 소프트웨어 개발자는 개발한 소프트웨어가 플랫폼에서 최선의 성능을 발휘할 수 있는지 여부를 스스로 확인할 수 있고, 또한 추천정보를 이용하여 이를 소프트웨어에 반영함로써 대응 플랫폼에 최적화된 소프트웨어를 개발할 수 있게 된다.
도 4는 도 1의 플랫폼 최적화 가이드 정보 제공 시스템의 가이드 정보 제공 방법의 흐름도이다.
플랫폼 최적화 가이드 정보 제공 시스템(100)은 가상 하드웨어 플랫폼(110), 시뮬레이션 계층(120), 소프트웨어 플랫폼(130), 최적화 검증 계층(140) 및 어플리케이션 계층(150)을 포함하고, 본 실시예에 따른 시스템의 가이드 정보 제공 방법은, 소프트웨어 개발자가 개발한 검증 대상 소프트웨어를 본 시스템의 시뮬레이션 계층(120)이 호출하여 실행시킨다(S301). 상기 시뮬레이션 과정 중에서 최적화 검증 계층(140)은 상기 검증 대상 소프트웨어가 상기 하드웨어 플랫폼(110) 또는 상기 소프트웨어 플랫폼(130) 상에서 그 실행이 최적화되는지 여부를 검증한다(S302). 이 때 상기 최적화 검증 계층(140)은 상기 최적화 검증 시에 검증 데이터베이스(미도시)에 저장된 하드웨어 플랫폼/소프트웨어 플랫폼의 특성정보 및 상기 하드웨어 플랫폼/소프트웨어 플랫폼의 특성정보에 기초하여 소정 소프트웨어가 최적화될 수 있는 제1추천정보/제2추천정보를 이용한다.
최적화 검증 계층(140)은 상기 검증 대상 소프트웨어의 최적화 검증 결과를 플랫폼 최적화 가이드 정보로서 제공한다(S302).
도 5는 도 2의 플랫폼 최적화 가이드 정보 제공 시스템의 가이드 정보 제공 방법의 흐름도이다.
플랫폼 최적화 가이드 정보 제공 시스템(200)은 하드웨어 플랫폼(210), 소프트웨어 플랫폼(220), 최적화 검증 계층(230) 및 어플리케이션 계층(240)을 포함하고, 본 실시예에 따른 시스템의 가이드 정보 제공 방법은, 소프트웨어 개발자가 개발한 검증 대상 소프트웨어를 본 시스템의 어플리케이션 계층(240)에 저장한다(S311). 상기 검증 대상 소프트웨어를 실행시키면(S312), 상기 최적화 검증 계층(230)은 상기 검증 대상 소프트웨어가 상기 하드웨어 플랫폼(210) 또는 상기 소프트웨어 플랫폼(220) 상에서 그 실행이 최적화되는지 여부를 검증한다(S313). 이 때 상기 최적화 검증 계층(230)은 상기 최적화 검증 시에 검증 데이터베이스(미도시)에 저장된 하드웨어 플랫폼/소프트웨어 플랫폼의 특성정보 및 상기 하드웨어 플랫폼/소프트웨어 플랫폼의 특성정보에 기초하여 소정 소프트웨어가 최적화될 수 있는 제1추천정보/제2추천정보를 이용한다.
최적화 검증 계층(230)은 상기 검증 대상 소프트웨어의 최적화 검증 결과를 플랫폼 최적화 가이드 정보로서 제공한다(S314).
비록 본 발명의 몇몇 실시예들이 도시되고 설명되었지만, 본 발명이 속하는 기술분야의 통상의 지식을 가진 당업자라면 본 발명의 원칙이나 정신에서 벗어나지 않으면서 본 실시예를 변형할 수 있음을 알 수 있을 것이다. 발명의 범위는 첨부된 청구항과 그 균등물에 의해 정해질 것이다.
100: 플랫폼 최적화 가이드 정보 제공 시스템
110: 가상 하드웨어 플랫폼
120: 시뮬레이션 계층
130: 소프트웨어 플랫폼
140: 최적화 검증 계층
150: 어플리케이션 계층

Claims (22)

  1. 플랫폼 최적화 가이드 정보 제공 시스템에 있어서,
    소정의 하드웨어와 동일한 하드웨어 아키텍처가 가상으로 구현되어 상기 하드웨어의 기능을 수행하는 가상 하드웨어 플랫폼과;
    상기 가상 하드웨어 플랫폼 상에서 소정 소프트웨어의 운영 환경을 제공하는 소프트웨어 플랫폼과;
    상기 소프트웨어 플랫폼 상에서 검증 대상 소프트웨어가 탑재되어 실행되는 어플리케이션 계층과;
    상기 검증 대상 소프트웨어를 시뮬레이션 하는 시뮬레이션 계층과;
    상기 시뮬레이션 과정에서 상기 검증 대상 소프트웨어가 상기 가상 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에 최적화되는지 여부를 검증하는 최적화 검증 계층을 포함하고,
    상기 최적화 검증 계층은 상기 검증 대상 소프트웨어의 최적화 검증 결과를 플랫폼 최적화 가이드 정보로서 제공하는 것인 플랫폼 최적화 가이드 정보 제공 시스템.
  2. 제1항에 있어서,
    상기 최적화 검증 결과는,
    상기 검증 대상 소프트웨어가 상기 가상 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에의 최적화 여부와;
    상기 최적화를 위한 추천정보를 포함하는 것인 플랫폼 최적화 가이드 정보 제공 시스템.
  3. 제2항에 있어서,
    상기 가상 하드웨어 플랫폼의 특성 정보, 상기 가상 하드웨어 플랫폼의 특성정보에 기초하여 소정의 소프트웨어가 최적화될 수 있는 제1추천정보, 상기 소프트웨어 플랫폼의 특성 정보 및 상기 소프트웨어 플랫폼의 특성 정보에 기초하여 소정 소프트웨어가 최적화될 수 있는 제2추천정보 중 적어도 어느 하나를 저장하는 검증 데이터베이스를 더 포함하는 플랫폼 최적화 가이드 정보 제공 시스템.
  4. 제3항에 있어서,
    상기 제1추천정보는 상기 검증 대상 소프트웨어를 구성하는 적어도 하나의 제1함수에 대하여 상기 가상 하드웨어 플랫폼의 특성 정보에 최적화되는 적어도 하나의 제1추천 함수 정보를 포함하고,
    상기 제2추천정보는 상기 검증 대상 소프트웨어를 구성하는 적어도 하나의 제2함수에 대하여 상기 소프트웨어 플랫폼의 특성 정보에 최적화되는 적어도 하나의 제2추천 함수 정보를 포함하는 것인 플랫폼 최적화 가이드 정보 제공 시스템.
  5. 제2항에 있어서,
    상기 최적화 검증 계층은,
    상기 검증 대상 소프트웨어의 실행이 상기 가상 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼의 에러를 유발하는 것으로 판단되면, 상기 검증 대상 소프트웨어의 실행을 제한하는 것인 플랫폼 최적화 가이드 정보 제공 시스템.
  6. 제1항에 있어서,
    상기 최적화 검증 계층은, 상기 소프트웨어 플랫폼에 내장되는 것인 플랫폼 최적화 가이드 정보 제공 시스템.
  7. 소정의 가상 하드웨어 플랫폼, 소정의 소프트웨어 플랫폼, 및 소정의 어플리케이션 계층을 포함하는 플랫폼 최적화 가이드 정보 제공 시스템의 플랫폼 최적화 가이드 정보 제공 방법에 있어서,
    상기 어플리케이션 계층에 탑재된 검증 대상 소프트웨어를 시뮬레이션하기 위하여 호출 및 실행하는 단계와;
    상기 시뮬레이션 과정 중에서 상기 검증 대상 소프트웨어가 상기 가상 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에 최적화되는지 여부를 검증하는 단계와;
    상기 검증 대상 소프트웨어의 최적화 검증 결과를 플랫폼 최적화 가이드 정보로서 제공하는 단계를 포함하는 플랫폼 최적화 가이드 정보 제공 방법.
  8. 제7항에 있어서,
    상기 최적화 검증 결과는,
    상기 검증 대상 소프트웨어가 상기 가상 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에의 최적화 여부와;
    상기 최적화를 위한 추천정보를 포함하는 것인 플랫폼 최적화 가이드 정보 제공 방법.
  9. 제8항에 있어서,
    상기 가상 하드웨어 플랫폼의 특성 정보, 상기 가상 하드웨어 플랫폼의 특성정보에 기초하여 소정의 소프트웨어가 최적화될 수 있는 제1추천정보, 상기 소프트웨어 플랫폼의 특성 정보 및 상기 소프트웨어 플랫폼의 특성 정보에 기초하여 소정 소프트웨어가 최적화될 수 있는 제2추천정보 중 적어도 어느 하나를 저장하는 단계를 더 포함하는 것인 플랫폼 최적화 가이드 정보 제공 방법.
  10. 제9항에 있어서,
    상기 제1추천정보는 상기 검증 대상 소프트웨어를 구성하는 적어도 하나의 제1함수에 대하여 상기 가상 하드웨어 플랫폼의 특성 정보에 최적화되는 적어도 하나의 제1추천 함수 정보를 포함하고,
    상기 제2추천정보는 상기 검증 대상 소프트웨어를 구성하는 적어도 하나의 제2함수에 대하여 상기 소프트웨어 플랫폼의 특성 정보에 최적화되는 적어도 하나의 제2추천 함수 정보를 포함하는 것인 플랫폼 최적화 가이드 정보 제공 방법.
  11. 제10항에 있어서,
    상기 최적화되는지 여부를 검증하는 단계는,
    상기 검증 대상 소프트웨어의 실행이 상기 가상 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼의 에러를 유발하는 것으로 판단되면, 상기 검증 대상 소프트웨어의 실행을 제한하는 단계를 더 포함하는 것인 플랫폼 최적화 가이드 정보 제공 방법.
  12. 플랫폼 최적화 가이드 정보 제공 시스템에 있어서,
    소정의 하드웨어 플랫폼과;
    상기 하드웨어 플랫폼 상에서 소정 소프트웨어의 운영 환경을 제공하는 소프트웨어 플랫폼과;
    상기 소프트웨어 플랫폼 상에서 검증 대상 소프트웨어가 탑재되어 실행되는 어플리케이션 계층과;
    상기 검증 대상 소프트웨어가 실행되면, 상기 검증 대상 소프트웨어가 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에 최적화되는지 여부를 검증하는 최적화 검증 계층을 포함하고,
    상기 최적화 검증 계층은 상기 검증 대상 소프트웨어의 최적화 검증 결과를 플랫폼 최적화 가이드 정보로서 제공하는 것인 플랫폼 최적화 가이드 정보 제공 시스템.
  13. 제12항에 있어서,
    상기 최적화 검증 결과는,
    상기 검증 대상 소프트웨어가 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에의 최적화 여부와;
    상기 최적화를 위한 추천정보를 포함하는 것인 플랫폼 최적화 가이드 정보 제공 시스템.
  14. 제13항에 있어서,
    상기 하드웨어 플랫폼의 특성 정보, 상기 하드웨어 플랫폼의 특성정보에 기초하여 소정의 소프트웨어가 최적화될 수 있는 제1추천정보, 상기 소프트웨어 플랫폼의 특성 정보 및 상기 소프트웨어 플랫폼의 특성 정보에 기초하여 소정 소프트웨어가 최적화될 수 있는 제2추천정보 중 적어도 어느 하나를 저장하는 검증 데이터베이스를 더 포함하는 플랫폼 최적화 가이드 정보 제공 시스템.
  15. 제14항에 있어서,
    상기 제1추천정보는 상기 검증 대상 소프트웨어를 구성하는 적어도 하나의 제1함수에 대하여 상기 하드웨어 플랫폼의 특성 정보에 최적화되는 적어도 하나의 제1추천 함수 정보를 포함하고,
    상기 제2추천정보는 상기 검증 대상 소프트웨어를 구성하는 적어도 하나의 제2함수에 대하여 상기 소프트웨어 플랫폼의 특성 정보에 최적화되는 적어도 하나의 제2추천 함수 정보를 포함하는 것인 플랫폼 최적화 가이드 정보 제공 시스템.
  16. 제15항에 있어서,
    상기 최적화 검증 계층은,
    상기 검증 대상 소프트웨어의 실행이 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼의 에러를 유발하는 것으로 판단되면, 상기 검증 대상 소프트웨어의 실행을 제한하는 것인 플랫폼 최적화 가이드 정보 제공 시스템.
  17. 제12항에 있어서,
    상기 최적화 검증 계층은, 상기 소프트웨어 플랫폼에 내장되는 것인 플랫폼 최적화 가이드 정보 제공 시스템.
  18. 소정의 하드웨어 플랫폼, 소정의 소프트웨어 플랫폼, 및 소정의 어플리케이션 계층을 포함하는 플랫폼 최적화 가이드 정보 제공 시스템의 플랫폼 최적화 가이드 정보 제공 방법에 있어서,
    상기 어플리케이션 계층에 탑재된 검증 대상 소프트웨어를 실행시키는 단계와;
    상기 검증 대상 소프트웨어가 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에 최적화되는지 여부를 검증하는 단계와;
    상기 검증 대상 소프트웨어의 최적화 검증 결과를 플랫폼 최적화 가이드 정보로서 제공하는 단계를 포함하는 플랫폼 최적화 가이드 정보 제공 방법.
  19. 제18항에 있어서,
    상기 최적화 검증 결과는,
    상기 검증 대상 소프트웨어가 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼에의 최적화 여부와;
    상기 최적화를 위한 추천정보를 포함하는 것인 플랫폼 최적화 가이드 정보 제공 방법.
  20. 제19항에 있어서,
    상기 하드웨어 플랫폼의 특성 정보, 상기 하드웨어 플랫폼의 특성정보에 기초하여 소정의 소프트웨어가 최적화될 수 있는 제1추천정보, 상기 소프트웨어 플랫폼의 특성 정보 및 상기 소프트웨어 플랫폼의 특성 정보에 기초하여 소정 소프트웨어가 최적화될 수 있는 제2추천정보 중 적어도 어느 하나를 저장하는 단계를 더 포함하는 것인 플랫폼 최적화 가이드 정보 제공 방법.
  21. 제20항에 있어서,
    상기 제1추천정보는 상기 검증 대상 소프트웨어를 구성하는 적어도 하나의 제1함수에 대하여 상기 하드웨어 플랫폼의 특성 정보에 최적화되는 적어도 하나의 제1추천 함수 정보를 포함하고,
    상기 제2추천정보는 상기 검증 대상 소프트웨어를 구성하는 적어도 하나의 제2함수에 대하여 상기 소프트웨어 플랫폼의 특성 정보에 최적화되는 적어도 하나의 제2추천 함수 정보를 포함하는 것인 플랫폼 최적화 가이드 정보 제공 방법.
  22. 제21항에 있어서,
    상기 최적화되는지 여부를 검증 단계는,
    상기 검증 대상 소프트웨어의 실행이 상기 하드웨어 플랫폼 또는 상기 소프트웨어 플랫폼의 에러를 유발하는 것으로 판단되면, 상기 검증 대상 소프트웨어의 실행을 제한하는 단계를 더 포함하는 것인 플랫폼 최적화 가이드 정보 제공 방법.
KR1020120022194A 2012-03-05 2012-03-05 플랫폼 최적화 가이드 정보 제공 시스템 및 그 가이드 제공 방법 KR102007257B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120022194A KR102007257B1 (ko) 2012-03-05 2012-03-05 플랫폼 최적화 가이드 정보 제공 시스템 및 그 가이드 제공 방법
US13/710,609 US8930905B2 (en) 2012-03-05 2012-12-11 System and method for providing a guideline for optimizing platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120022194A KR102007257B1 (ko) 2012-03-05 2012-03-05 플랫폼 최적화 가이드 정보 제공 시스템 및 그 가이드 제공 방법

Publications (2)

Publication Number Publication Date
KR20130101222A KR20130101222A (ko) 2013-09-13
KR102007257B1 true KR102007257B1 (ko) 2019-08-05

Family

ID=49451462

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120022194A KR102007257B1 (ko) 2012-03-05 2012-03-05 플랫폼 최적화 가이드 정보 제공 시스템 및 그 가이드 제공 방법

Country Status (2)

Country Link
US (1) US8930905B2 (ko)
KR (1) KR102007257B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9934002B2 (en) 2013-10-30 2018-04-03 Entit Software Llc Technology recommendation for software environment
US9703691B1 (en) * 2015-06-15 2017-07-11 Google Inc. Testing application software using virtual or physical devices
US10705835B2 (en) * 2015-12-03 2020-07-07 International Business Machines Corporation Transparent multi-architecture support in a container based cloud
JP6129290B1 (ja) 2015-12-24 2017-05-17 財團法人工業技術研究院Industrial Technology Research Institute 分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨する方法およびシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060235674A1 (en) 2003-02-20 2006-10-19 Radioplan Gmbh Method for controlling sequential object-oriented system-simulations
US20110173605A1 (en) 2010-01-10 2011-07-14 Microsoft Corporation Automated Configuration and Installation of Virtualized Solutions

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1124907A (ja) 1997-06-27 1999-01-29 Toshiba Corp ソフトウエア開発支援方法およびソフトウエア開発支援装置
KR100370548B1 (ko) 2000-09-14 2003-02-05 (주)마하넷 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를제공하는 실시간 미들웨어 장치 및 그 서비스 방법
US6964042B2 (en) * 2002-12-17 2005-11-08 Bea Systems, Inc. System and method for iterative code optimization using adaptive size metrics
KR20060028526A (ko) 2004-09-24 2006-03-30 주식회사 케이티 클라이언트 툴 킷을 이용한 웹 서비스 제공 시스템 및 그방법
JP2007034650A (ja) 2005-07-27 2007-02-08 Nec Electronics Corp ソフトウェア開発システム
KR20070058947A (ko) 2005-12-05 2007-06-11 한국전자통신연구원 임베디드 시스템 개발방법론 적용을 위한 이클립스 플랫폼기반의 프로젝트 수준 자산 관리 시스템 및 방법
US20070192082A1 (en) * 2006-02-13 2007-08-16 Maria Gaos System and method for generating and executing a platform emulation based on a selected application
US20080228814A1 (en) * 2007-03-13 2008-09-18 Jefferson Raley Determining Software Rationalization for Optimizing Information Handling System Deployments
US20090320020A1 (en) * 2008-06-24 2009-12-24 International Business Machines Corporation Method and System for Optimising A Virtualisation Environment
US8180604B2 (en) * 2008-09-30 2012-05-15 Hewlett-Packard Development Company, L.P. Optimizing a prediction of resource usage of multiple applications in a virtual environment
US8145456B2 (en) * 2008-09-30 2012-03-27 Hewlett-Packard Development Company, L.P. Optimizing a prediction of resource usage of an application in a virtual environment
KR20110037140A (ko) 2009-10-06 2011-04-13 선문대학교 산학협력단 임베디드 소프트웨어 가상 개발 환경을 제공하는 시스템
KR101235330B1 (ko) 2009-12-21 2013-02-19 한국전자통신연구원 임베디드 소프트웨어 개발 도구 통합 관리 장치 및 방법
KR101120614B1 (ko) 2010-01-06 2012-03-20 인크로스 주식회사 어플리케이션 가공방법
US20120060167A1 (en) * 2010-09-08 2012-03-08 Salsburg Michael A Method and system of simulating a data center
US8978015B2 (en) * 2011-08-15 2015-03-10 Red Hat, Inc. Self validating applications
US9083608B2 (en) * 2012-01-24 2015-07-14 International Business Machines Corporation Automatically selecting appropriate platform to run application in cloud computing environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060235674A1 (en) 2003-02-20 2006-10-19 Radioplan Gmbh Method for controlling sequential object-oriented system-simulations
US20110173605A1 (en) 2010-01-10 2011-07-14 Microsoft Corporation Automated Configuration and Installation of Virtualized Solutions

Also Published As

Publication number Publication date
US8930905B2 (en) 2015-01-06
KR20130101222A (ko) 2013-09-13
US20140165046A1 (en) 2014-06-12

Similar Documents

Publication Publication Date Title
EP3906488B1 (en) Method and contract rewriting framework system for supporting smart contracts in a blockchain network
US7478366B2 (en) Debugger and method for debugging computer programs across multiple programming languages
US20120323553A1 (en) Mobile Emulator Integration
US20130298110A1 (en) Software Visualization Using Code Coverage Information
US9900324B1 (en) System to discover and analyze evasive malware
US20130204602A1 (en) Simulation apparatus and method for verifying hybrid system
CN100492387C (zh) 基于Keil C51的软件保护开发的方法和系统
US9336128B2 (en) Method and system for code analysis using symbolic types
KR102007257B1 (ko) 플랫폼 최적화 가이드 정보 제공 시스템 및 그 가이드 제공 방법
US8296738B1 (en) Methods and systems for in-place shader debugging and performance tuning
Payet et al. An operational semantics for Android activities
US8276129B1 (en) Methods and systems for in-place shader debugging and performance tuning
CN113268684A (zh) 数据处理方法、装置、终端设备以及存储介质
US8539467B2 (en) Method and data processing system for solving resource conflicts in assembler programs
CN108121650B (zh) 一种对于页面用户界面的测试方法及装置
CN105453033A (zh) 程序测试服务
Kim et al. {FuzzOrigin}: Detecting {UXSS} vulnerabilities in browsers through origin fuzzing
US9185513B1 (en) Method and system for compilation with profiling feedback from client
US20240086310A1 (en) What-if analysis for notebooks
CN112631915B (zh) 一种pcie设备软件仿真的方法、系统、设备及介质
CN111385661B (zh) 语音控制全屏播放的方法、装置、终端及存储介质
JP6603746B2 (ja) 仮想化されたシステム上で組み込みソフトウェアを自動で生成する方法及びコンピューティングシステム
US11573787B1 (en) Hot reloading a running application with an unsaved source code change
CN114428642A (zh) 一种基于新型处理器架构的随机指令生成环境
JP2828590B2 (ja) マイクロプログラム検証方法

Legal Events

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