WO2015133786A1 - 차량용 인포테인먼트 시스템과 이동 단말기의 공용 어플리케이션 개발을 위한 동작 검증 방법 - Google Patents

차량용 인포테인먼트 시스템과 이동 단말기의 공용 어플리케이션 개발을 위한 동작 검증 방법 Download PDF

Info

Publication number
WO2015133786A1
WO2015133786A1 PCT/KR2015/002028 KR2015002028W WO2015133786A1 WO 2015133786 A1 WO2015133786 A1 WO 2015133786A1 KR 2015002028 W KR2015002028 W KR 2015002028W WO 2015133786 A1 WO2015133786 A1 WO 2015133786A1
Authority
WO
WIPO (PCT)
Prior art keywords
simulator
application
session
information
server
Prior art date
Application number
PCT/KR2015/002028
Other languages
English (en)
French (fr)
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 US15/123,366 priority Critical patent/US10275344B2/en
Publication of WO2015133786A1 publication Critical patent/WO2015133786A1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • 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
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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

Definitions

  • the present invention relates to a simulator for easier application development, and more particularly, to a method for verifying operation of a common mobile application for providing an interworking function between an in-vehicle infotainment system and a mobile terminal.
  • the connectivity controller (connect ivi ty ECU) is expected to play an important role in providing a service using a smartphone application.
  • connection controllers In order to meet these consumer demands and to occupy the market of connectivity controllers that are expected to grow at a high rate, vehicle makers are using various connection controller technologies, IVI systems and smartphone linkage technologies (e.g., MirrorLink, Ap le Digital iPod Out, Google Android Auto, etc.).
  • Connectivity controller technologies control the connection between the IVI system and the smartphone and provide an environment for sharing the smartphone's applications and services in accordance with established protocols. Therefore, smartphone developed based on connectivity controller technology Only applications can provide interoperability between IVI systems and smartphones. In the development of the application for this purpose, an application developed by a third party application developer by easily providing an environment such as actually connecting a smartphone and an IVI system based on a specified protocol without a real vehicle or additional equipment. There is a need for a tool that can easily verify the behavior of.
  • the present invention is to provide an environment that can more conveniently verify the operation of the application for performing the interworking function between the vehicle and the mobile terminal.
  • the present invention is to provide a simulator that can provide the same environment without the infotainment system of the actual vehicle and an application operation verification method using the same.
  • An application verification method using a simulator related to an embodiment of the present invention for realizing the above object includes: executing a first simulator including a client simulator and a second simulator corresponding to a server simulator; The client setting information and the server setting information is input to the first simulator. system; Starting a session between the first simulator and the second simulator; Executing the verification target application; Registering the verification target application with the server simulator; Obtaining substitute modules from the second simulator to the application to be verified; And registering a function for receiving state change information of the verification target application in the second simulator.
  • the verification method may include setting a first session event in the first simulator; Passing information about the first session event to the second simulator at the first simulator; Transmitting information on the first session event to the verification target application through the equal function in the second simulator; And performing an operation performed on the information on the first session event in the verification target application.
  • the transmitting of the information about the first session event from the first simulator to the second simulator may include: generating a serial data packet including information about the first session event in the first simulator; Forwarding the serial data packet to the second simulator; And parsing and interpreting the serial data packet in the second time oscillator.
  • the verification method may further include generating a second session event in response to a state change in the verification target application; Setting information on the second session event in the second simulator; Transmitting information on the second session event to the first simulator in the second simulator; And the first hour
  • the method may further include updating a state of the session by using information on the second session event in an emulator.
  • transmitting the information about the second session event from the second simulator to the first simulator includes: generating a serial data packet including information about the second session event in the second simulator; Forwarding the serial data packet to the first simulator; And said agent
  • the first simulator may further include a frame buffer analysis tool for visually outputting the frame buffer.
  • the verification method for frame buffer analysis comprises the steps of inputting a frame buffer capture command to the first simulator; A step wherein the frame buffer capture command transmitted to the second simulator to the first simulator standing ⁇ ; Capturing a current framebuffer of the application to be verified in the second simulator; Transferring the captured framebuffer to the first simulator in the second simulator; And outputting the captured frame buffer in the first simulator.
  • the step of delivering to the two simulators includes: generating a serial data packet including the framebuffer capture command in the first simulator; Forwarding the serial data packet to the second simulator; And parsing the serial data packet in the second simulator.
  • the client simulator may be treated with the environment of the infotainment system of the vehicle, and the server simulator may be treated with the environment of the smartphone.
  • the first simulator, the second simulator, and the verification target word may be used.
  • the application preferably uses a mirror ink technique.
  • the operation of the application for performing the interworking function between the vehicle and the mobile terminal can be more conveniently verified.
  • an application developer since an environment such as an actual vehicle infotainment system and a smartphone is connected, an application developer does not need to actually prepare a vehicle or an infotainment system thereof.
  • FIG. 1 illustrates an example of a user interface configuration for information input of a mirrorlink session simulator according to an embodiment of the present invention.
  • FIG. 2 illustrates an example of a high architecture of a mirrorlink server simulator according to an embodiment of the present invention.
  • FIG. 3 illustrates an example of a flow between a mirrorlink session simulator and a mirrorlink server simulator according to an embodiment of the present invention.
  • 4 illustrates an example of a flow in a process in which a mirrorlink session simulation is performed according to an embodiment of the present invention.
  • FIG. 5 illustrates an example of a process of verifying an operation of an application through a simulator driving and a session event according to an embodiment of the present invention.
  • FIG. 6 illustrates an example of a process of verifying an operation through a session event generated in an application according to an embodiment of the present invention.
  • FIG. 7 illustrates an example of a process of confirming an image to be actually displayed on a vehicle information system through frame buffer analysis according to an embodiment of the present invention.
  • FIG. 8 illustrates a process for using an interface defined in Table 1. FIG. An example is shown.
  • FIG. 9 illustrates an example of a service registration and object access process between a third party application and a mirrorlink server simulator according to an embodiment of the present invention.
  • FIG. 10 illustrates an example of a visualization tool concept in accordance with an embodiment of the present invention.
  • a development tool for a mobile application developer for providing an interworking function between a vehicle infotainment (IVI) system and a smartphone Propose a (development tool).
  • the protocol for interworking the smartphone with the IVI system mentioned in the present invention is one of the smart phone mirroring technologies provided by the Car Connect ivi ty Consortium. It is assumed that the specialized "MirrorLink" technology is followed. Here, in the general mirror link technology, the client becomes the IVI system and the server becomes the smartphone.
  • the development tool according to the present invention can be applied without limitation to other mobile platforms or connectivity technologies as long as it is a protocol for interworking function between the IVI system and the smartphone.
  • the main functions of the development tool according to the present invention can be broadly classified into a MirrorLink session simulation and a Framebu Analyze Tool.
  • the mirror link session simulator can provide an environment in which an application developer emulates a specific situation (whether the vehicle is driving or operating mode) that allows the application developer to make a connection session necessary for application development / validation.
  • the frame buffer analysis tool provides an environment for previewing the actual display form on the display of the IVI so that the smartphone service is adapted to the guide for determining driving suitability for in-vehicle use.
  • a mirrorlink application development tool is largely a mirrorlink session simulator (mirrorlink session simulator) application and a mirrorlink server simulator (mirrorlink server simulator). It can be configured as an application.
  • the role of each simulator is as follows.
  • the MirrorLink Session Simulator simulates MirrorLink Client simulation and MirrorLink Server simulation to users / developers.
  • mirrorlink server simulator simulates the session between the client and the server based on the integrated configuration values of the client and server ( ⁇ ⁇ ⁇ 1011 profile) values.
  • the mirrorlink session simulator simulates the session between the client and the server based on the integrated configuration values of the client and server ( ⁇ ⁇ ⁇ 1011 profile) values.
  • mirrorlink session information can be provided to third-party applications. Therefore, it is possible to verify that the developed third-party application works normally on the device that provides all the certified mirror link functions. For example, suppose an event such as when a dial knob is rotated in a vehicle (i.e., a mirror link client) sets a situation in which a key command is input.
  • the MirrorLink Simulator simulates the current MirrorLink session and event values, and the MirrorLink Simulator matches the current MirrorLink session and event values to the MirrorLink Server Simulator according to a lightweight data exchange format, such as JavaScript Object Notat ion. I can deliver it.
  • a lightweight data exchange format such as JavaScript Object Notat ion. I can deliver it.
  • the MirrorLink Simulator provides a framebuffer analysis vi sual i for screen and UI testing that complies with the driver distract ion guideline to determine the suitability of the developed application for in-vehicle use. zat ion tool).
  • the simulator displays After capturing the screen being captured, the screen resized to fit the client information received from the server simulator can be transferred to the frame buffer analysis visualization tool of the mirrorlink session simulator.
  • the mirrorlink session simulator may provide a user interface to receive information necessary for a mirrorlink session and information of the simulator.
  • 1 illustrates an example of a user interface configuration for information input of a mirrorlink session simulator according to an embodiment of the present invention.
  • a user interface provided by a mirrorlink session simulator includes a configuration value for each item of authentication (110), connection (120), data service (130), device information (140), and display (150).
  • Various fields 111, 113, and 115 that may be input may be included.
  • the mirror link server simulator serves as a communication medium between the mirror link (session) simulator and the third party application. Specifically, the server simulator parses the mirror link session data received from the mirror link simulator and delivers the data to the third party application or controls received by the third party application.
  • the mirror link server and the third party application exchange information by using a common APKCommon API) to uniformly transmit information specific to the mirror link session without being dependent on the platform. More specifically, public
  • third-party applications can access or change the mirror session state information, and callback listeners.
  • cal lback li stener can also receive the changed status information.
  • the server simulator not only acts as a mirror link server based on information entered through the mirror link session simulator or automatic scripting information, but also requests and methods called by third party applications.
  • cal l) interacts with third-party applications by passing appropriate callback and return values based on client / server configuration information. Communication for such interactions is preferably performed using a common API that is the same unified way without any dependency on the manufacturer. This can provide a third party application with a debugging environment required for implementation verification as a vehicle compatible mirror link application.
  • the mirrorlink server simulator may further include functions such as a web server Oeb server, a dummy data loader, and an IP protocol socket communication for communicating with the mirrorlink session simulator.
  • communication with a third party application may be performed in a remote procedure cal (RPC) format based on the Android Interface Definition Language (AIDL).
  • RPC remote procedure cal
  • AIDL Android Interface Definition Language
  • FIG. 1 An example of the mirrorlink server simulator structure described above is shown in FIG. 1
  • FIG. 2 illustrates an example of a high architecture of a mirrorlink server simulator according to an embodiment of the present invention.
  • the architecture of the mirrorlink server simulator includes a mirrorlink server simulator service and a mirrorlink session handler.
  • the MirrorLink Server Simulator service allows a third-party application to It can be composed of manager modules that can obtain information of the session and listener modules that deliver state information that changes according to a specific event.
  • the contents and interface information of the manager and listener module can be configured as shown in Table 1 below.
  • Event Manager (St ng packagename, lEventListener
  • setFramebuf ferContext Informat ion (int ap 1 i cat i on Cat egory, int cont entCat egory, int [] framebuf fer Area, boolean hand leB locking)
  • y ppgg u aee t a t a is no si n t mo rs t eaa rh i no tfi e h mn n i :
  • onServerD ispl ayConf igurat ionChanged (int framebuf ferOrientat ion)
  • the mirrorlink session simulator application is based on the mirrorlink server simulator and restful (RESTful) / IP socket communication (WiFi, USB CDC / NCM, etc.). You can set up / share information and trigger events.
  • FIG. 3 illustrates an example of a flow between a mirrorlink session simulator and a mirrorlink server simulator according to an embodiment of the present invention.
  • the mirror link server simulator application may be driven in the form of a virtual device in a general personal computer or may be driven in an Android-based smartphone.
  • session simulation configuration information may be exchanged through a mirrorlink session simulator (ie, Mirrorlink Session Controller Appli- cation) through a RESTful method / IP socket communication.
  • a mirrorlink session simulator ie, Mirrorlink Session Controller Appli- cation
  • FIG. 4 illustrates an example of a flow in a process in which a mirrorlink session simulation is performed according to an embodiment of the present invention.
  • the frame buffer analysis tool 411 and the mirror link client Client configuration information 421 and server configuration information 423 may be input to the mirror link simulator 410 including the water erator 413. Based on this, the session simulation 440 between the mirror link simulator 410 and the server simulator 430 may be performed. Of course, as described above, the third-party application 450 may communicate with the server simulator 430 through a public API.
  • FIG. 5 to 7 illustrate operations between the modules shown in FIG. 5 illustrates an example of a process of verifying an operation of an application through driving a simulator and a session event according to an embodiment of the present invention.
  • a user first runs a mirrorlink session simulator application and a mirrorlink server simulator (1, 2). (3) When each simulator is running, the user enters client and server settings into the session simulator. When the setting value input is completed, the user instructs the session simulator to connect between the simulators (4), and thus the mirrorlink session between the mirrorlink session simulator and the server simulator is started (5).
  • the user launches a third party application that wishes to verify its operation. Accordingly, the specific identifier (ID) of the third-party application is rounded up to the server simulator (7), and the third-party application obtains the proxy object of the server simulator (i.e. the server simulator's substitutes) and (8) the callback listener. (9) Register a function (ie, a function for receiving state change information and an interprocess communication protocol) with the server simulator.
  • Processes 1 to 9 described above may be viewed as preparation procedures for verifying operation of a full-scale application.
  • the user may set a mirror link session event through the session simulator to form an environment (eg, driving mode activation) for the black operation or state of the vehicle (10).
  • the session simulator delivers information about the configured session event to the server simulator in the form of a serial data packet (11).
  • the server simulator parses the serial data packet and interprets the information it contains.
  • the parsed session event information is passed to the third party application through the callback listener.
  • the action performed on the session event is performed, and the user can confirm whether the action corresponding to the session event is performed (14).
  • FIG. 6 illustrates an example of a process of verifying an operation through a session event occurring in an application according to an embodiment of the present invention.
  • FIG. 6 is assumed to be a process after at least 10 steps of FIG. 5.
  • state change information (eg, a user inputs a specific command or receives a message from the outside) may be input in a third party application (15).
  • Third-party applications can set state change information in the server simulator
  • the server simulator generates session event information, which is treated as state change information, in the form of a serial data packet (17) and delivers it to the session simulator (18).
  • the session simulator parses the received serial data packet (19), interprets the session event information, and updates the mirrorlink session state and event values (20).
  • FIG. 7 illustrates an example of a process of confirming an image to be actually displayed on an in-vehicle infotainment system through frame buffer analysis according to an embodiment of the present invention.
  • a user may input a command for capturing a current frame buffer into the session simulator (21).
  • the session simulator generates a serial data packet to capture the current frame buffer (22) and passes it to the server simulator (23).
  • the server simulator parses the serial data packet to confirm the capture request for the current frame buffer (24), captures the frame buffer of the third party application (25), and forwards it to the session simulator (26).
  • the session simulator analyzes the delivered framebuffer (27) and displays the captured framebuffer along with information on driving regulation guidelines (28).
  • the interface required for communication between the mirror link server simulator and the mirror link session simulator may be configured as shown in Table 2 below.
  • Cert i f ica boolean indicate whether application has t ion Info advert i sedAsCert if ied) been advertised in UPnP void-Cert icatelnfo setAppCerti fyingEnt it ie : refer to Cert i ficate Info. java s
  • EventConf ig conf ig refer to EventConf ig. J ava boolean cal IbackFlag)-cal IbackFlag
  • EventMapp informat ion is correct ly set ing : true / false
  • setFramebuf ferContext In : category of the appl icat ion format ion-videoContact Category
  • setAudioContextlnfo ap lication provides audio
  • void-mi c Input setMicrophoneAct ive flag whether mic input is (boolean mi c Input) enabled
  • the mirror link server simulator provides information on the mirror buffer client's frame buffer, display, input controller, etc., event configuration of the mirror link client / server, and application service. You can set or check the context information of.
  • Android platform one process can't directly access another process in memory. Therefore, in this embodiment,
  • RPC remote process protocol
  • a process of a third party application may be accessed through a service registration with a MirrorLink Server Simulator service, which is a process of simulating a mirrorlink session.
  • Third-party applications can store a replacement object for the mirrored server simulator service that is returned to the isotope, and can also access managers that manage mirrorlink session-related data through this replacement object.
  • the above mentioned manager mode APIs allow third-party applications to receive and change mirrorlink session values.
  • the server simulator may have a unique service name, for example, a unique service name of "com.mirror l ink.android, simul at or service".
  • Server simulator service sends service connection message. Pass a response for execution to the delivered application. If the disconnect call to a third-party application service is called, the service can be recognized as no longer in use and can be disconnected.
  • FIG. 9 illustrates an example of a service registration and object access process between a third party application and a mirror link server simulator according to an embodiment of the present invention.
  • a third party application may register a mirror link server simulator service to use a mirror link server simulator, and access an information manager and callback module object.
  • the Android SDK extension (Androi d SDK extensi on) and the PC instal l able App can be installed on a personal computer. Can be distinguished in a manner. This will be described with reference to FIG. 10.
  • FIG. 10 illustrates an example of a visualization tool concept in accordance with an embodiment of the present invention.
  • the visualization tool is implemented as an extension of the Android SDK
  • a new function of checking a visualization in a plug-in form may be provided to an existing Android development environment. For example, Layout constituting a general) as shown in FIG. This function can be provided in the form of converting the real screen (1050) to xm 1 (1040).
  • the third party application developer can easily develop a UI suitable for the simulation and driving regulation of the smartphone and IVI connectivity technology.

Landscapes

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

Abstract

본 발명은 보다 용이한 어플리케이션 개발을 위한 시뮬레이터에 관한 것으로, 보다 상세히는 차량용 인포테인먼트 시스템과 이동 단말기 간의 연동 기능을 제공하기 위한 공용 모바일 어플리케이션의 동작을 검증할 수 있는 방법에 관한 것이다. 본 발명의 일 실시예와 관련된 시뮬레이터를 이용한 어플리케이션 검증 방법은, 클라이언트 시뮬레이터를 포함하는 제 1 시뮬레이터 및 서버 시뮬레이터에 대응되는 제 2 시뮬레이터가 실행되는 단계; 상기 제 1 시뮬레이터에 클라이언트 설정 정보 및 서버 설정 정보가 입력되는 단계; 상기 제 1 시뮬레이터와 상기 제 2 시뮬레이터간의 세션이 시작되는 단계; 검증 대상 어플리케이션이 실행되는 단계; 상기 검증 대상 어플리케이션이 상기 서버 시뮬레이터에 등록되는 단계; 상기 제 2 시뮬레이터로부터 상기 검증 대상 어플리케이션에 대체자 모듈이 획득되는 단계; 및 상기 검증 대상 어플리케이션의 상태 변경 정보를 수신하기 위한 함수가 상기 제 2 시뮬레이터에 등록되는 단계를 포함할 수 있다.

Description

【명세서】
【발명의 명칭】
차량용 인포테인먼트 시스템과 이동 단말기의 공용 어플리케이션 개발을 위한 동작 검증 방법
【기술분야】
본 발명은 보다 용이한 어플리케이션 개발을 위한 시물레이터에 관한 것 으로, 보다 상세히는 차량용 인포테인먼트 시스템과 이동 단말기 간의 연동 기능 을 제공하기 위한 공용 모바일 어플리케이션의 동작을 검증할 수 있는 방법에 관 한 것이다,
【배경기술】
스마트폰의 보편화로 인하여 차량 내에서도 스마트폰에서 제공되는 다양 한 애플리케이션과 서비스 사용에 대한 수요가 증가하고 있다. 특히, 차량용 인 포테인먼트 시스템 ( IVI : In-Vehicle Infotainment system)의 서비스 중에서도 스 마트폰의 어플리케이션을 이용한 서비스를 제공함에 있어 커넥티비티 제어기 (connect ivi ty ECU)가 중요한 역할을 할 것으로 예상되고 있다.
이러한 소비자의 요구를 층족시키고, 고성장이 예상되는 커넥티비티 제어 기의 시장을 점유하기 위해 차량 업체들은 다양한 연결 제어기 기술, IVI 시스템 및 스마트폰 연동 기술 (예를 들어, MirrorLink, Ap le Digi tal iPod Out , Google Android Auto 등)을 개발하고 있다.
커넥티비티 제어기 기술들들은 IVI 시스템과 스마트폰 간의 연결을 제어 하며 정해진 프로토콜에 따라 스마트폰의 어플리케이션 및 서비스를 공유하는 환 경을 제공해준다. 따라서, 커넥티비티 제어기 기술을 기반으로 개발된 스마트폰 어플리케이션만이 IVI 시스템과 스마트폰 간의 연동 기능을 제공할 수 있다. 따라세 이를 위한 어플리케이션의 개발에 있어 정해진 프로토콜을 기반 으로 스마트폰과 IVI 시스템을 실제로 연결한 것과 같은 환경을 실제 차량이나 추가 장비 없이 손쉽게 제공하여 서드파티 (3rd party) 어플리케이션 개발자가 자 신이 개발한 어플리케이션의 동작을 쉽게 검증 가능할 수 있는 도구 (tool )의 필 요성이 대두되고 있다.
【발명의 상세한 설명】
【기술적 과제】
본 발명은 차량과 이동 단말기 간의 연동 기능 수행을 위한 어플리케이션 의 동작을 보다 편리하게 검증할 수 있는 환경을 제공하기 위한 것이다.
특히, 본 발명은 실제 차량의 인포테인먼트 시스템 없이도 그와 동일한 환경을 제공할 수 있는 시뮬레이터 및 그를 이용한 어플리케이션 동작 검증 방법 을 제공하기 위한 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과 제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로 부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해 될 수 있을 것이다.
【기술적 해결방법】
상기한 과제를 실현하기 위한 본 발명의 일 실시예.와 관련된 시뮬레이터 를 이용한 어플리케이션 검증 방법은, 클라이언트 시뮬레이터를 포함하는 제 1 시뮬레이터 및 서버 시물레이터에 대응되는 제 2 시물레이터가 실행되는 단계; 상기 제 1 시뮬레이터에 클라이언트 설정 정보 및 서버 설정 정보가 입력되는 단 계; 상기 제 1 시물레이터와 상기 제 2 시물레이터간의 세션이 시작되는 단계; 검증 대상 어플리케이션이 실행되는 단계; 상기 검증 대상 어플리케이션이 상기 서버 시물레이터에 등록되는 단계; 상기 제 2 시뮬레이터로부터 상기 검증 대상 어플리케이션에 대체자 모들이 획득되는 단계; 및 상기 검증 대상 어플리케이션 의 상태 변경 정보를 수신하기 위한 함수가 상기 제 2 시물레이터에 등록되는 단 계를 포함할 수 있다.
이때, 본 검증 방법은 상기 제 1 시뮬레이터에서 제 1 세션 이벤트가 설 정되는 단계; 상기 제 1 시물레이터에서 상기 제 1 세션 이벤트에 대한 정보가 상기 제 2 시물레이터로 전달되는 단계; 상기 제 2 시물레이터에서 상기 등특된 함수를 통해 상기 제 1 세션 이벤트에 대한 정보가 상기 검증 대상 어플리케이션 으로 전달되는 단계; 및 상기 검증 대상 어플리케이션에서 상기 제 1 세션 이벤 트에 대한 정보에 대웅되는 동작이 수행되는 단계를 더 포함할 수 있다.
여기서 상기 제 1 시물레이터에서 상기 제 1 세션 이벤트에 대한 정보가 상기 제 2 시물레이터로 전달되는 단계는, 상기 제 1 시뮬레이터에서 상기 제 1 세션 이벤트에 대한 정보를 포함하는 시리얼 데이터 패킷이 생성되는 단계; 상기 시리얼 데이터 패킷이 상기 제 2 시뮬레이터로 전달되는 단계; 및 상기 제 2 시 물레이터에서 상기 시리얼 데이터 패킷을 파싱하여 해석하는 단계를 포함할 수 있다.
또한, 본 검증 방법은 상기 검증 대상 어플리케이션에서 상태 변경에 따 른 제 2 세션 이벤트가 발생하는 단계 ; 상기 제 2 세션 이벤트에 대한 정보가 상 기 제 2 시물레이터에 설정되는 단계; 상기 제 2 시뮬레이터에서 상기 제 2 세션 이벤트에 대한 정보가 상기 제 1 시뮬레이터로 전달되는 단계; 및 상기 제 1 시 뮬레이터에서 상기 제 2 세션 이벤트에 대한 정보를 이용하여 상기 세션의 상태 를 갱신하는 단계를 더 포함할 수 있다.
이러한 경우 상기 제 2 시물레이터에서 상기 제 2 세션 이벤트에 대한 정 보가 상기 제 1 시물레이터로 전달되는 단계는, 상기 제 2 시물레이터에서 상기 제 2 세션 이벤트에 대한 정보를 포함하는 시리얼 데이터 패킷이 생성되는 단계; 상기 시리얼 데이터 패킷이 상기 제 1 시물레이터로 전달되는 단계; 및 상기 제
1 시물레이터에서 상기 시리얼 데이터 패킷을 파싱하여 해석하는 단계를 포함할 수 있다.
아울러, 본 검증 방법에서 상기 제 1 시뮬레이터는 프레임버퍼를 시각적 으로 출력하기 위한 프레임버퍼 분석 도구를 더 포함할 수 있다.
프레임버퍼 분석을 위해 본 검증 방법은 상기 제 1 시물레이터에 프레임버퍼 캡 쳐 명령이 입력되는 단계; 상기 프레임버퍼 캡쳐 명령이 상기 제 1 시물레이터에 서 상기 제 2 시뮬레이터로 전달되는 단계; 상기 제 2 시뮬레이터에서 상기 검증 대상 어플리케이션의 현재 프레임버퍼를 캡쳐하는 단계; 상기 제 2 시물레이터에 서 상기 캡쳐된 프레임버퍼가 상기 계 1 시뮬레이터로 전달되는 단계; 및 상기 제 1 시뮬레이터에서 상기 캡쳐된 프레임버퍼를 출력하는 단계를 더 포함할 수 있다.
여기서 상기 프레임버퍼 캡쳐 명령이 상기 제 1 시뮬레이터에서 상기 제
2 시물레이터로 전달되는 단계는ᅳ 상기 제 1 시뮬레이터에서 상기 프레임버퍼 캡 쳐 명령을 포함하는 시리얼 데이터 패킷올 생성하는 단계; 상기 시리얼 데이터 패킷이 상기 제 2 시물레이터로 전달되는 단계; 및 상기 제 2 시물레이터에서 상 기 시리얼 데이터 패킷이 파싱되어 해석되는 단계를 포함할 수 있다. 본 검증 방법에서 상기 들라이언트 시뮬레이터는 차량의 인포테인먼트 시 스템의 환경에 대웅되고, 상기 서버 시뮬레이터는 스마트폰의 환경에 대웅될 수 있다ᅳ 또한, 상기 제 1 시뮬레이터, 상기 제 2 시뮬레이터 및 상기 검증 대상 어 플리케이션은, 미러링크 (mirror l ink) 기술을 이용하는 것이 바람직하다.
【유리한 효과】
본 발명에 의하면, 차량과 이동 단말기 간의 연동 기능 수행을 위한 어플 리케이션의 동작이 보다 편리하게 검증될 수 있다.
특히, 본 발명에 의하면 실제 차량의 인포테인먼트 시스템과 스마트폰이 연결된 것과 같은 환경이 제공되므로 어플리케이션 개발자가 실제로 차량 또는 그의 인포테인먼트 시스템을 준비할 필요가 없다.
또한, 본 발명에 의하면 차량과 스마트폰 간에 교환되는 정보가 시각화되 므로 보다 어플리케이션의 동작 검증이 편리하다.
본 발명에서 얻은 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않 으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기 술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
【도면의 간단한 설명】
도 1은 본 발명의 일 실시예에 따른 미러링크 세션 시물레이터의 정보 입 력을 위한 사용자 인터페이스 구성의 일례를 나타낸다.
도 2는 본 발명의 일 실시예에 따른 미러링크 서버 시뮬레이터의 고위 아 키텍쳐 구조의 일례를 나타낸다.
도 3은 본 발명의 일 실시예에 따른 미러링크 세션 시뮬레이터와 미러링 크 서버 시뮬레이터 간의 플로우의 일례를 나타낸다. 도 4는 본 발명의 일 실시예에 따른 미러링크 세션 시물레이션이 수행되 는 과정에서의 플로우의 일례를 나타낸다.
도 5는 본 발명의 일 실시예에 따른 시물레이터 구동 및 세션 이벤트를 통한 어플리케이션의 동작을 검증하는 과정의 일례를 나타낸다.
도 6은 본 발명의 일 실시예에 따른 어플리케이션에서 발생한 세션 이벤 트를 통한 동작을 검증하는 과정의 일례를 나타낸다.
도 7은 본 발명의 일 실시예에 따른 프레임 버퍼 분석을 통해 차량용 인 포테인먼트 시스템에 실제로 표시될 영상을 확인하는 과정의 일례를 나타낸다ᅳ 도 8은 표 1에 정의된 인터페이스를 이용하기 위한 과정의 일례를 나타낸 다.
도 9는 본 발명의 일 실시예에 따른 서드파티 어플리케이션과 미러링크 서버 시뮬레이터 간의 서비스 등록 및 객체 접근 과정의 일례를 나타낸다.
도 10은 본 발명의 일 실시예에 따른 시각화 도구 컨셉의 일례를 나타낸 다.
【발명의 실시를 위한 최선의 형태】
차량용 인포테인먼트 ( IVI ) 시스템과 스마트폰 간의 연동 프로토콜을 통하 여, 연결 세션 (session)을 시물레이션 할 수 있다면, 시물레이션 기능을 제공하 는 를을 구동할 수 있는 최소한의 하드웨어만을 이용하여 커넥티비디 제어기 (Connect ivi ty ECU) 기술을 기반으로 동작하는 어플리케이션을 편리하게 개발 및 검증이 가능하다.
따라서, 본 발명에서는 차량용 인포테인먼트 ( IVI ) 시스템과 스마트폰 간의 연동 기능 제공을 위한 모바일 어플리케이션 개발자를 위한 개발 도구 (development tool )를 제안한다.
본 발명에서는 언급되는 IVI 시스템과 스마트폰의 연동을 위한 프로토콜은 차량 커넥티비티 콘소시엄 (Car Connect ivi ty Consort ium)에서 제공하는 스마트폰 미러링 (Smart phone Mirroring) 기술의 하나로 안드로이드 플랫품 (android plat form)에 특화된 "미러링크 (MirrorLink) " 기술을 따르는 것으로 가정한다. 여 기서, 일반적인 미러링크 기술에서 클라이언트는 IVI 시스템이 되며, 서버는 스 마트폰이 된다. 물론, 이는 예시적인 것으로 본 발명에 따른 개발 도구는 IVI 시 스템과 스마트폰의 연동 기능을 위한 프로토콜이라면 다른 모바일 플랫품이나 커 넥티비티 기술에 제한 없이 적용될 수 있음은 당업자에 자명하다.
본 발명에 따른 개발 도구의 주요 기능은 크게 미러링크 세션 시물레이션 (Mi rrorLink session simulat ion)과 프레임 버퍼 분석 도구 (Framebuf fer Analysi s Tool )로 분류될 수 있다.
여기서 미러링크 세션 시뮬레이터는 어플리케이션 개발 /검증시 필요한 연 결 세션을 어풀리케이션 개발자가 회망하는 특정 상황 (차량의 주행 여부, 동작 중인 모드 둥)을 자유롭게 설정 /제어의 에물레이션이 가능한 환경을 제공할 수 있다. 또한, 프레임 버퍼 분석 도구는 스마트폰 서비스를 차량 내 사용을 위해서 주행 적합성 판단하는 가이드에 맞추도록 IVI의 디스풀레이에서 실제 표시되는 형태를 미리 확인해볼 수 있는 환경을 제공한다.
이하, 본 발명에 따른 개발 도구의 구성을 설명한다.
본 발명의 일 실시예에 의하면, 미러링크 어플리케이션 개발 도구는 크게 미러링크 세션 시뮬레이터 (MirrorLink Session Simulator , 또는 미러링크 시물레 이터) 어플리케이션과 미러링크 서버 시물레이터 (MirrorLink server simulator) 어플리케이션으로 구성될 수 있다. 각 시뮬레이터의 역할은 다음과 같다.
먼저, 미러링크 세션 시물레이터는 사용자 /개발자에게 미러링크 클라이언 트 시뮬레이션 (MirrorLink Cl ient simulat ion) 및 미러링크 서버 시물레이션
(MirrorLink Server simulat ion)의 설정 값을 입력받고, 입력된 정보에 대웅되도 록 미러링크 서버 시뮬레이터가 미러링크 세션을 시물레이션하도록 하는 어플리 케이션이다. 즉, 미러링크 세션 시뮬레이터는 통합적으로 입력된 클라이언트 및 서버의 설정 프로필( ^§^ 1011 prof i le) 값을 기반으로 클라이언트와 서버간 의 세션을 시물레이션을 수행한다. 그 결과로 미러링크 세션 정보가서드파티 어 플리케이션에 제공될 수 있다. 따라서, 개발된 서드파티 어플리케이션이 향후 인 증받은 모든 미러링크 기능을 제공하는 장치 (Mi rrorLink device)에서 정상적으로 작동하도록 검증 가능하다. 예를 들면 차량 (즉, 미러링크 클라이언트)에서 다이 얼 타입 조작부 (rotary knob)가 회전되는 경우 등의 이벤트 (event )를 상정하여 제어 명령 (key command)이 입력된 상황을 설정하면, 이에 대웅하여 서드파티 어 풀리케이션이 적절히 동작하는지, 또는 IVI 시스템의 디스플레이 화면이 적절히 변경되는지가 검증될 수 있다. 이를 위해 미러링크 시물레이터는 현재 미러링크 세션 및 이벤트 값을 MirrorLink Simulator는 현재 MirrorLink session 및 event 값을 자바스크립트 객체 표기 (JavaScr ipt Object Notat ion)와 같은 경량의 데이 터 교환 포맷에 맞춰 미러링크 서버 시물레이터에 전달할 수 있다.
또한, 미러링크 시뮬레이터는 개발된 어플리케이션의 차량 내 사용 적합성 을 판단하기 위한 운전자 주의분산 가이드라인 (dr iver distract ion guidel ine)을 준수한 화면 및 UI 테스트를 위한 프레임 버퍼 분석 시각화 도구 (framebuffer analysis vi sual i zat ion tool )를 제공할 수 있다. 이를 위해, 시물레이터는 표시 되고 있는 화면을 캡쳐한 후, 서버 시뮬레이터로부터 받은 클라이언트 정보에 적 합하도톡 리사이징 (resizing)한 화면을 미러링크 세션 시뮬레이터의 프레임 버퍼 분석 시각화 도구에 전달할 수 있다.
미러링크 세션 시물레이터는 도 1과 같이 미러링크 세션에 필요한 정보 및 시물레이터의 정보를 입력받을 수 있도록 사용자 인터페이스를 제공할 수 있다. 도 1은 본 발명의 일 실시예에 따른 미러링크 세션 시물레이터의 정보 입 력을 위한 사용자 인터페이스 구성의 일례를 나타낸다.
도 1을 참조하면, 미러링크 세션 시물레이터에서 제공되는 사용자 인터페 이스에는 인증 ( 110), 연결 ( 120), 데이터 서비스 (130), 디바이스 정보 ( 140), 디스 플레이 ( 150) 둥 각 항목별로 설정 값을 입력할 수 있는 다양한 필드들 ( 111, 113 , 115)이 포함될 수 있다.
한편, 미러링크 서버 시뮬레이터는 미러링크 (세션) 시뮬레이터와 서드파 티 어플리케이션 간의 소통 매개체 역할올 수행한다. 구체적으로, 서버 시뮬레이 터는 미러링크 시뮬레이터로부터 수신된 미러링크 세션 데이터를 파싱하여 서드 파티 어플리케이션에 전달하거나, 서드파티 어플리케이션에 수신된 제어
(control )값을 경량 데이터 포맷으로 변환해서 미러링크 시물레이터에 전달한다. 이때, 미러링크 서버와 서드파티 어플리케이션은 플랫품에 종속되지 않고 균일하 게 미러링크 세션에 특화된 정보를 전달하기 위해 공용 APKCommon API )를 이용 하여 정보를 교환 (Communicat ion)하는 것이 바람직하다. 보다 구체적으로, 공용
API의 셋 /겟 메소드 (set/get method)를 통해서 서드파티 어플리케이션은 미러링 크 세션 상태 정보 값에 접근하거나 그를 변경할 수 있으며, 콜백 리스너
(cal lback l i stener )를 통해서 변경된 상태 정보 값을 수신할 수도 있다. 즉, 서버 시뮬레이터는 미러링크 세션 시물레이터를 통해 입력된 정보나 자동 스크립팅 (scr ipt ing) 정보에 기반하여 미러링크 서버의 역할을 수행 할 뿐 만 아니라, 서드파티 어플리케이션이 요청하는 사항 및 메소드 콜 (method cal l ) 에 대해서, 전달 받은 클라이언트 /서버 설정 정보에 기반하여 알맞은 콜백 (cal lback) 및 리턴 (return) 값을 전달하는 방법으로 서드파티 어플리케이션과 상호작용 ( interact ion)을 수행하게 된다. 이러한 상호작용올 위한 소통은 제조사 에 종속성 (dependency) 없이 동일하게 통일된 방식인 공용 API를 이용해 수행되 는 것이 바람직하다. 이를 통해 서드파티 어플리케이션에 차량 호환 가능한 미러 링크 어플리케이션으로서의 구현 검증에 필요한 디버깅 (debugging) 환경이 제공 될 수 있다.
또한, 미러링크 서버 시뮬레이터는 미러링크 세션 시뮬레이터와 소통하기 위한 웹 서버 Oeb server) , 더미 데이터 로더 (dummy data loader) , 인터넷 프로 토콜 소켓 ( IP socket ) 통신 등의 기능을 더 포함할 수 있다. 아울러, 서드파티 어플리케이션과의 소통 (데이터 교환)은 안드로이드 인터페이스 정의 언어 (AIDL : Android Interface Def ine Language)을 바탕으로하여 RPC( remote procedure cal l )형식으로 수행될 수 있다.
상술한 미러링크 서버 시뮬레이터 구조의 일례가 도 2에 도시된다.
도 2는 본 발명의 일 실시예에 따른 미러링크 서버 시물레이터의 고위 아 키텍쳐 구조의 일례를 나타낸다.
도 2를 참조하면, 미러링크 서버 시뮬레이터의 아키텍쳐는 미러링크 서버 시뮬레이터 서비스와 미러링크 세션 핸들러를 포함한다. 여기서 미러링크 서버 시뮬레이터 서비스는 서드파티 어플리케이션이 서버 /클라이언트 간 미러링크 세 션의 정보를 얻올 수 있도록 하는 관리자 모들 (Manager module)들과 특정 이벤트 에 따라 변하는 상태 정보를 전달 하도톡 하는 리스너 모들 (Listener module)로 구성될 수 있다. 관리자 및 리스너 모듈의 내용 및 인터페이스 정보는 아래 표 1 과 같이 구성될 수 있다.
【표 1】
Figure imgf000013_0001
IConnect ionListener listener)
: return a IConnect ionManger for requesting connection informat ion
- get Con t ex t Manage r ( S t r i ng packagename , IContextList ener
1 istener)
: return a IContextManger for handling context information 一 getDataServi ceManager (St r ing packagename ,
IDataServiceListener listener)
: return a IDat Servic eMange r for handling Common Data Bus connect ion informat ion
- getDeviceInfoManager(String packagename ,
IDevicelnfoL istener listener)
: return a IDevicelnfoManger for handling device informat ion
- getDeviceStatusManager (String packagename ,
IDeviceStatusListener listener)
: return a IDeviceStatusManger for handling device status informat ion
- get D i s 1 ayManager ( St r i ng packagename , IDisplayListener
1 istener)
: return a IDisplayManger for handling remote dis lay - get Event Manager (St r i ng packagename , lEventListener
1 i stener)
: return a I Event Manger for handl ing event map ing
- getNot i f i cat ionManager (St r ing packagename , INot i f icat ionListener l istener)
: return a INot i f i cat ionManger for handl ing not i f icat ions 一 getCommonAPIServiceApiLevel 0
: report the current common API api level supported by the MirrorLink Server Simulator
Interface to expose the funct ions related to the device informat ion
- getMi rrorLinkCl ient lnformat ionO
: Mi rrorLink Cl ient Manufacturer and Model Info
- getMirrorLinkSessionVersionMajorO
IDevicelnfoMana : Mi rrorLink Session Major version
ger 一 getMirrorLinkSessionVersionMinorO
: MirrorLink Session Minor version
- get Server V i r t ua 1 Keyboar dSuppor t ( )
: provides info about the avai lable vi rtual keyboard from ML Server
- unregisterO : notifies the manager that app i s no using it anymore
Interface to handle the callback for the device informat ion
IDevicelnfoList
- onDe v icelnf oChanged (int majorVersion, int minorVersion, ener
CI ient Info info)
: indicates the client info has changed
Interface to expose the funct ions related to the certification informat ion of the appl icat ion
- get Ap 1 i cat i onCer t i f i cat i onlnf ormat i on(St r ing entity) : get appl icat ion certification info
I Cert i f icat ionM - get Ap l icat ionCert i f icat ionStausO anager : get ap l icat ion certification status ᅳ get App 1 icat i onCer t i fyingEnt itiesO : get appl icat ion certification entities. ᅳ unregisterO
: notifies the manager that app is no using it anymore
Interface to handle the callback for the ap l icat ion' s certification informat ion
ICertif icationL
- void onCert i f icat ionStatusChangedO
istener
: indicate that application certification status has changed Interface to expose the funct ions related to the connect ion informat ion of MirrorLink
- getAudi oConnect ions ()
: get establ ish audio connect ion
IConnect ionMana - getRemoteDispl ayConne c t i on ( ) ger : get establ ished remote display connect ion
- isMirrorLInkSessionEstabl i shedO
: indicates whether a Mi rrorLink Session i s establ ished
- unregi sterO
: not i f ies the manager that app is no using i t anymore
Interface to handle the cal lback for the connect ion informat ion of MirrorLink
- onAudioConnect ionChanged(Audi oConnect ion audio)
: cal lback for establ ished audio connect ion, whi ch indicate audio connect ion has changed
IConnect ionLi st
- onM i r r or L i nkSe s s i onChanged ( boo 1 ean mirrorLinkSession) ener
: cal lback for establ i shed Mi rrorLink session, which indicates the MirrorLink Session has changed
- onRemoteDi splayConnect i onChanged ( int r emo t eD i s 1 ayConnec t ion)
: cal lback for establ ished remote display connect ion : indicate the remote display connect ion changed
Interface to expose the funct ions related to the context informat ion
- resetContext Informat ion(boolean framebuf ferConext , booelan audioContext )
: reset context informat ion
- setAudioContext Informat ion(boolean audioContext , int audioCategory, boolean hand leB locking)
: set audio context informat ion and provides informat ion
IContextManager
of the current audio context and whether the app is current ly providing audio
- setFramebuf ferContext Informat ion( int ap 1 i cat i onCat egory , int cont entCat egory , int [ ] framebuf fer Area, boolean hand leB locking)
: set and provide the framebuf fer context informat ion
- unregisterO
: not i f ies the manager that app is no using it anymore
Interface to handle the cal lback for the context
IContextListene informat ion r - onAud i oB 1 ocked ( int reason)
: cal lback for audio blocking informat ion, which indicates audio i s blocked from ML cl ient ᅳ onFramebuf ferBlocked( int reason, int [] framebuf fer Area) : cal lback for the framebuf fer blocking informat ion, which indicates framebuf fer i s blocked from ML cl ient
Interface to expose the funct ions related to the Common
Data Bus/Simple Binary Protocol data service informat ion ᅳ getAvi lableServicesO
: get avai lable services provided from ML cl ient and supported from ML server
- getObject ( int serviceld, int object Id)
: get an object
- regi sterToService( int serviceld)
IDataServiceMan
: regi ster to a service
ager
- setObjecT( int serviceld, int object Id, Object obj )
: set an object
- subscr i beOb j ect ( i nt serviceld, int object Id)
: subscr ibe to an object ᅳ unregi st erFromServi ce( )
: unregi ster from the service
- unsubscr i beOb j ect ( )
: unsubscribe from an object >
>
pe IDevcStatsaeeeiuM Itfac to eose teuctoseated to te devicnrxh fnin rlh
coetedml
jgg cacuscb a otal Ibodcati sbrin tonbeck fr inini
py ,p, ) sucess tucotvc in sbste int ieariinTnrl
jp,, ( c oSubs beesoet seced oectd bonr i Rns nvi intblolean irl - gj c Caba fo stt a obet l Ikrennci .
00
) booea succeslns
jp j,, C oSetDataObectsoset sevcedt obectnReninri inldl - p cometedl
ggg Calbacodcat tateste sevce Ik fr iniinh ririnri
g, ) Ce IataSevces oesteoSevcet svced booea succss DriLinRirFrriinerilln一
ggjabaoett a obec Clck frinnt I
jj , ) boeauccess Obect oboln s
jpj,,(ectdaetsst secedt ob I oGetatObcReone inrvil innD - ecs avaiabe srvie inll
g,s ceae sevces wcdcatehanabco avablrihih ini clak fril I
gg ()d sS scea eSe v ceCane i tt r i nervs onv ab 1r ihLiA i 1> < - py/tcooaotco daa seve inatnSen Polrifrmi Busml Birri
ata cabaco te Coon Doad thel Ik frhmmteace t hnle Inrf
yppgg u aee tat a is nosintmors teaarh inotfieh mn ni
gOte ueisrnr - nager status information
- isInDriveModeO
: indicate whether device is on the drive mode
- isInNightModeO
: indicate whether device is on the night mode
- i s InMi crophone0n( )
: indicate whether microphone is on
- s e t M i c r ophoneOpen ( boo 1 e an miclnput)
: set Microphone to open
ᅳ unregisterO
: notifies the manager that app is no using it anymore
Interface to handle the callback for the device status information
- onDr i veModeChange(bool ean driveMode)
: callback for indicating the change of drive mode on ML
IDeviceStatusLi server device
stener - onM i c r ophoneS tat usChange ( boo 1 ean miclnput)
: callback for opening microphone
- onN i ght ModeChange ( boo 1 ean night Mode)
: callback for indicating the change of night mode on ML Server device Interface to expose the functions related to the display information
- getCl ientPixelFormat ()
: get client pixel format being transmitted to ML Client device
- getDisplayConf igurat ion()
IDisplayManager
: get display configuration of MirrorLink session
- setFramebuf ferOr ientat ionSupport ( int framebuf f erOr i ent at ion)
: set and inform framebuf fer orientation support ᅳ unregisterO
: notifies the manager that app is no using it anymore
Interface to handle the callback for the display information
- onD i sp 1 ayConf i gur at i onChanged(D i s 1 ayConf i g config)
: callback for indicating change of display configuration
IDisplayListene
- onPixelFormat Changed ( i n t pixel Format)
r
: callback for indicating change of Client Pixel format
- onServerD ispl ayConf igurat ionChanged( int framebuf ferOr ientat ion)
: callback for switching framebuf fer orientation Interface to expose the functions related to the event informat ion ᅳ getEventConf igurat ion()
: get event conf igurat ion of MirrorLink connect ion from both ML Server & ML Client
lEventManager
- getEventMap i ngs ( )
: get event mappings of ML client events to ML server event s
- unregisterO
: notifies the manager that app is no using it anymore
Interface to handle the cal Iback for the event informat ion
- onEven t Con f i gur a t i onChanged ( Even t Con f i gu r t i on conf ig)
: cal Iback for indicating the change of Event
I Event Li stener configuration
- onEvent Mapp i ngChanged (Event Mapping map ing)
: cal Iback for indicating and receiving informat ion about event mappings
Interface to expose the funct ions related to the UPnP
INotif icationMa Notification service information nager - cancel Not i f i cat ion( int notif icaitonld)
: cancel not i f i cat ion from ap 1 i cat ion - get Not if icationConf i gur at ion ()
: get notification conf igurat ion for notification service
- ge t ot i f i cat i onEnab 1 ed( )
: get the flag that indicate whether notification is enabled for ML server and cl ient
- sendCl ientNot if icat ionCString title, String body, String iconUrl, List<String> actionList)
: send notification for cl ient based UI
- sendVNCNot i f i cat i on( )
: send notification for VNC based UI
- set Not i f act i onSuppor t ed ( boo 1 ean not i feat ionSupported)
: indicate support for UPnP notification from applications
- unregisterO
: notifies the manager that app is no using it anymore
Interface to handle the cal lback for the UPnP Notification service information
- onNot i f i cat i onAc t i onRece i ved( i nt not i f icat ionld, int
INotif icationLi
actionld)
stener
: cal lback for receiving notification action from ML cl ient ᅳ onNot i f icat ionConf i gur a t i onChanged (Not i f icationConf ig confg)
: callback for indicating the change of notification configuration
- onNot i f i cat ionEnabl edChanged (boolean not i Enabled)
: callback for indicating the change of enablement not i f icat ion
또한, 미러링크 세션 시뮬레이터 어플리케이션은 미러링크 서버 시물레이 터와 레스트풀 (RESTful) 방식 /IP Socket 통신 (WiFi, USB CDC/NCM, 등)을 기반으 로 사용자 입력 혹은 자동 스크립팅 방식을 통해서 미러링크 세션 정보를 설정 / 공유하고, 이벤트 트리거를 수행할 수 있다. 이러한 과정이 도 3에 도시된다. 도 3은 본 발명의 일 실시예에 따른 미러링크 세션 시뮬레이터와 미러링크 서버 시물레이터 간의 플로우의 일례를 나타낸다.
도 3을 참조하면, 미러링크 서버 시물레이터 어플리케이션은 일반적인 퍼 스널 컴퓨터에서 가상 장치 형태로 구동될 수도 있고, 안드로이드 기반의 스마트 폰에서 구동될 수도 있다. 이때, 세션 시뮬레이션 설정 정보 등이 미러링크 세션 시물레이터 (즉, Mirrorlink Session Controller Appl icat ion)와 레스트풀 (RESTful) 방식 /IP Socket 통신을 통해 교환될 수 있다.
상술한 모들들간의 플로우를 종합해보면, 도 4와 같은 형태가 된다.
도 4는 본 발명의 일 실시예에 따른 미러링크 세션 시뮬레이션이 수행되는 과정에서의 플로우의 일례를 나타낸다.
도 4를 참조하면, 프레임버퍼 분석 도구 (411) 및 미러링크 클라이언트 시 물레이터 (413)를 포함하는 미러링크 시물레이터 (410)에 클라이언트 설정 정보 (421) 및 서버 설정 정보 (423)가 입력될 수 있다. 이를 기반으로, 미러링크 시물 레이터 (410)와 서버 시물레이터 (430) 간의 세션 시물레이션 (440)이 수행될 수 있 다. 물론 전술된 바와 같이 서드파티 어폴리케이션 (450)은 서버 시뮬레이터 (430)와 공용 API를 통해 통신할 수 있다.
도 4에 도시된 모들간의 동작을 순서도로 나타내면 도 5 내지 도 7과 같다. 도 5는 본 발명의 일 실시예에 따른 시뮬레이터 구동 및 세션 이벤트를 통 한 어플리케이션의 동작을 검증하는 과정의 일례를 나타낸다.
도 5를 참조하면, 먼저 사용자 (app tester)는 미러링크 세션 시뮬레이터 어플리케이션과 미러링크 서버 시물레이터를 실행시킨다 (1, 2) . 각 시물레이터가 실행되면, 사용자는 세션 시물레이터에 클라이언트 및 서버 설정값을 입력한다 (3) . 설정값 입력이 완료되면, 사용자는 세션 시물레이터에 시물레이터들간의 연 결을 명령하고 (4), 그에 따라 미러링크 세션 시물레이터와 서버 시뮬레이터 간의 미러링크 세션이 시작된다 (5) .
세션이 시작되면, 사용자는 동작 검증을 희망하는 서드파티 어플리케이션 을 실행시킨다 (6) . 그에 따라, 서드파티 어플리케이션의 특정 식별자 ( ID)가 서버 시뮬레이터에 둥록되고 (7), 서드파티 어풀리케이션은 서버 시물레이터의 프록시 객체 (즉, 서버 시뮬레이터의 대체자 모들)를 획득하여 (8), 콜백 리스너 함수 (즉, 상태 변경 정보를 수신하기 위한 함수, 프로세스간의 통신 프로토콜)를 서버 시 물레이터에 등록한다 (9) .
상술한 1 내지 9의 과정은 본격적인 어플리케이션의 동작 검증을 위한 준 비 과정으로 볼 수 있다. 준비 과정이 완료되면, 사용자는 차량의 흑정 동작이나 상태에 대한 환경 (예를 들어, 주행 모드 활성화 등)을 형성하기 위하여 미러링크 세션 이벤트를 세션 시물레이터를 통해 설정할 수 있다 (10) . 세션 시물레이터는 설정된 세션 이 벤트에 대한 정보를 시리얼 데이터 패킷 형태로 서버 시뮬레이터에 전달한다 (11) . 서버 시물레이터는 시리얼 데이터 패킷을 파싱하여 그에 포함된 정보를 해석하고
(12), 해석된 세션 이벤트 정보를 콜백 리스너를 통해 서드파티 어플리케이션에 전달한다 (13) . 서드파티 어폴리케이션에서는 세션 이벤트에 대웅되는 동작을 수 행하게 되며, 이를 통해 사용자는 세션 이벤트에 맞는 동작이 수행되는지 여부를 확인할 수 있게 된다 (14) .
다음으로, 도 6을 참조하여 어플리케이션에서 상태가 변경되는 경우 이에 대한 정보가 클라이언트로 정상 전달이 되는지 여부를 검증하는 과정을 설명한다. 도 6은 본 발명의 일 실시예에 따른 어폴리케이션에서 발생한 세션 이벤트 를 통한 동작을 검증하는 과정의 일례를 나타낸다. 도 6은 도 5의 적어도 10단계 이후의 과정인 것으로 가정한다.
도 6을 참조하면, 서드파티 어플리케이션에서 상태 변경 정보 (예를 들어, 사용자가 특정 명령을 입력하거나 외부로부터 메시지 수신 등)가 입력될 수 있 다 (15) . 서드파티 어플리케이션은 상태 변경 정보를 서버 시뮬레이터에 설정하고
(16), 서버 시물레이터는 상태 변경 정보에 대웅되는 세션 이벤트 정보를 시리얼 데이터 패킷 형태로 생성하여 (17) 이를 세션 시물레이터로 전달한다 (18) . 세션 시물레이터는 수신된 시리얼 데이터 패킷을 파싱하여 세션 이벤트 정보를 해석하 고 (19) , 미러링크 세션 상태 및 이벤트 값올 업데이트한다 (20) .
이러한 과정의 결과는 프레임버퍼 분석을 통해 사용자가 시각적으로 확인 할 수 있다. 이를 도 7을 참조하여 설명한다.
도 7은 본 발명의 일 실시예에 따른 프레임 버퍼 분석을 통해 차량용 인포 테인먼트 시스템에 실제로 표시될 영상을 확인하는 과정의 일례를 나타낸다. 도 7을 참조하면, 사용자가 현재 프레임 버퍼를 캡쳐하기 위한 명령을 세 션 시뮬레이터에 입력할 수 있다 (21) . 그에 따라 세션 시물레이터는 현재 프레임 버퍼를 캡쳐하기 위한 시리얼 데이터 패킷을 생성하고 (22) , 이를 서버 시뮬레이 터에 전달한다 (23) . 서버 시물레이터는 시리얼 데이터 패킷을 파싱하여 현재 프 레임 버퍼에 대한 캡쳐 요청을 확인하고 (24), 서드파티 어플리케이션의 프레임 버퍼를 캡쳐하여 (25), 세션 시물레이터에 전달한다 (26) . 세션 시물레이터는 전달 된 프레임버퍼를 분석하고 (27), 주행 규제 가이드 라인 관련 정보와 함께 캡쳐된 프레임버퍼를 디스플레이한다 (28) .
도 5 내지 도 7을 통해 상술한 방식은 미러링크 어플리케이션 개발자에게 미러링크 세션 정보 및 공용 API와 같은 최소한의 정보 이해만을 요구하며, 실제 미러링크 클라이언트 및 서버 장비의 구입 및 세팅 대비 훨씬 용이한 개발환경 구축을 가능케 한다.
미러링크 서버 시물레이터와 미러링크 세션 시물레이터 간의 소통에 필요 한 인터페이스는 아래 표 2와 같이 구성될 수 있다.
【표 2】
Figure imgf000028_0001
( int majorVersion, int - minorVersion
minorVersion, boolean : MirrorLink minor version success) - success
: f lag to indicate the avai labi 1 ity of info
void
ᅳ CI ient Info
setMirrorLinkCl ient Info
: refer to CI ient Info . java
(CI ient lnfo cl ient lnfo,
ᅳ cal IbackTr igger
boolean
: true/false
cal IbackTr igger)
- avai lable
'•avai labi 1 i ty of a virtual void keyboard
set Server V i r t ua 1 Keyboar : true/false
dSupport - touchSupport
(boolean avai lable, : indicate whether the virtual boo lean t ouchSuppor t, keyboard supports touch event s boo 1 ean knobSuppor t, : true/ false
boolean driveMode) - knobSupport
: indi cate whether virtual keyboard support knob events ·' true/false - dr iveMode
: indicate whether driver distract ion guideline is followed : true/false void 一 cert i f icateAvai lable setApp 1 i cat i onCert if ica : indicate whether a valid tionStatus certificate exists
(boolean ': true/false certif icateAvai lable, ᅳ advert isedAsCert if ied
Cert i f ica boolean : indicate whether application has t ion Info advert i sedAsCert if ied) been advertised in UPnP void - Cert icatelnfo setAppCerti fyingEnt it ie : refer to Cert i ficate Info. java s
(Certif icatelnfo cert i Info) void setAudioConnect ion - connect
Connect io
( Aud i oConnect i on : refer to AudioConnect ion. java n
connect , boolean ᅳ cal IbackFlag
Info
cal IbackFlag) : indicate whether connect ion is establ i shed
'•true/false void - connect setRemoteDi spI ayConnect : 0x00: No connect ion establ i shed ion : 0x00: VNC
(byte connect , boolean : 0x01: HSML cal IbackFlag) : 0x02: WFD
: OxFF: Other
- cal IbackFlag
: indicate whether connect ion is establ ished
: true/fal se void setDi splayConf ig ᅳ conf ig
(DisplayConf ig conf ig, : refer to Di splayConf ig. java boolean cal IbackFlag) - cal IbackFlag
: f lag to indicate whether
Display
informat ion is correct ly set
Info
: true/ false void - pixel Info setCl ientPixelFormat : 0x01 - ARGB888
(byte pixel Info, : 0x02 - RGB888 boolean cal IbackFlag) : 0x03 - ARGB565
: 0x04 ― RGB555
: 0x05 - RGB444
: 0x06 - RGB343
: 0x07 - 16Bit Gray
: 0x08 - 8Bit Gray
- cal IbackFlag
: f lag to indicate whether informat ion is correct ly set
: true/false
void setEventConf ig - conf ig
(EventConf ig conf ig, : refer to EventConf ig. j ava boolean cal IbackFlag) - cal IbackFlag
: f lag to indicate whether
EventMapp informat ion is correct ly set ing : true/false
Info void addEventMap i ngs - remoteEvent
( int remoteEvent , int : key event value of the remote local Event , boolean event
cal IbackFlag) : value = 0
- local Event : key event value of local event
: value = 1
- cal IbackFlag
: f lag to indicate whether informat ion i s correct ly set
' true/false
void setAudioBlocking - blockingReason
( int blockingReason) : reason for blocking void setVideoBlocking - blockingReason
( int blockingReason, : reason for blocking int [] framebuf ferArea) - framebuf ferArea
: framebuf ferArea [0] = height
: framebuf ferAreatl] = width
Context
: framebuf ferArea [2] = x posi t ion Info
: framebuf ferArea[3] = y posit ion void - appCategory
setFramebuf ferContext In : category of the appl icat ion format ion - videoCont ent Category
( int appCategory, int : category of the content videoCont ent Category ᅳ framebuf ferArea
Int [ ] framebuf ferArea, : framebuf ferArea [0] = height boolean hand leB locking) : framebuf ferArea[l] = width
·' framebuf fer Area[2] = x position
·' framebuf fer Area [3] = y position
- hand leB locking
: indicate whether blocking is on/off
: true/false
void ᅳ audioContent
setAudioContextlnfo : ap lication provides audio
(boolean audioContent , context
int [] audioCategory, ᅳ audioCategory
boolean hand leB locking) : audio content category
ᅳ hand leB locking
: indicate whether blocking is on/off
: true/false
void setDriveMode - driveMode
DeviceSta (boolean driveMode) : flag enabling drive mode for the tus app
Info : true/false
void - mi c Input setMicrophoneAct ive : flag whether mic input is (boolean mi c Input) enabled
: true/ false void setMicr ophoneOpen - mi cr Input (boolean mi c Input , : flag whether mic input is boolean voice Input) enabled
: true/false
- voice Input
: flag whether voice input is enabled
·' true/false void setNightMode - night Mode (boolean night Mode) : flag enabling night mode for the app
: true/false void subscr i beToOb j ect ᅳ serviceld (int serviceld, int ·' service identifier
DataServi
object Id, boolean - object Id
ce
success, : hash value of the object
Info
Int subscr iptionType, - success int interval ) '· flag to indicate whether the act ion is successful
- subscript ionType
: 0x00 - regular interval
: 0x01 = on change
: 0x02 - automatic
- interval
: regular time interval in ms
: MUST be 0x00 for on change
: MUST be 0x02 for automatic void setObject - serviceld
(int serviceld, int : service identifier object Id, Object value) - object Id
: hash value of the object
- object value
: user define object value void set Act ion - notif icationld
(int notif icationld, : not i f iciat ion identifier
Notif icat
int act ionld) - act ionld
ion
: action Identifier
Info
void - notiTitle sendC 1 i entNot i f i cat i on : title of the notification event (string notiTit le, - not i Body
string not i Body, string : body of the notification event i conUr 1 , - iconUrl
List<String> : ur 1 to the icon of the actionList , int notification
not i f icat ionID) - actionList
: list of act ion belonging to the not i f icat ion
- notif icationID
: notification Identifier
void - not i f icat ionID
sendVNCNot if ication : notification Identifier
( int not i f icat ionID)
void cancelNot i f icat ion - not i f icat ionID
( int not i f icat ionID) : notification Identifier
상기 표 2와 같은 인터페이스를 통해, 미러링크 서버 시물레이터는 미러링 크 클라이언트의 프레임 버퍼, 디스플레이, 입력 제어기 (input controller) 등의 정보, 미러링크 클라이언트 /서버의 이벤트 설정 (event configuration), 어플리케 이션 서비스의 컨텍스트 (context) 정보 관련 내용을 설정하거나 확인할 수 있다. 한편, 안드로이드 플랫품에서 기본적으로 한 프로세스는 메모리상에서 다 른 프로세스에 대한 직접 엑세스가 불가능하다. 따라서 본 실시예에서는 다른 프 로세스에 있는 자원 혹은 기능을 이용하기 위해서 프로세스간 통신 규약 (RPC: remote process cal l )을 정의하여서 두 프로세스 사이에 대화가 가능하도록 할 것을 제안한다. 이를 도 8올 참조하여 설명한다.
도 8은 표 1에 정의된 인터페이스를 이용하기 위한 바인드 과정의 일례를 나타낸다.
도 8을 참조하면, 서드파티 어플리케이션의 프로세스 (act ivi ty process)는 미러링크 세션을 시물레이션하는 프로세스인 미러링크 서버 시뮬레이터 서비스 (MirrorLink Server Simulator service)와 서비스 등록를 통해서 접근할 수 있다. 서드파티 어플리케이션은 등톡시 반환되는 미러링크 서버 시물레이터 서비스의 대체자 객체를 저장하몌 이 대체자 객체를 통해서 미러링크 세션 관련 데이터를 관리하는 매니저 모들에도 접근이 가능하다. 아울러ᅳ 위에서 언급된 매니저 모들 의 API를 통해서 서드파티 어플리케이션은 미러링크 세션 값을 수신하고 변경할 수 있다. 이를 위해, 서버 시뮬레이터는 고유의 서비스 이름, 예를 들어, "com.mirror l ink. android, simul at or service" 라는 고유의 서비스 이름을 가질 수 있다. 고유의 이름인 "com. mi rrorL ink. android, simul at or service . BIND" 라는 인텐트 ( intent )를 등록하여 전달하는 모든 어플리케이션의 접근이 허용될 수 있 으며, 서버 시뮬레이터 서비스는 서비스 연결 메시지를 전달한 어플리케이션에 실행을 위한 웅답 (response)을 전달 한다. 만일, 서드파티 어플리케이션 서비스 에 대한 연결 해지 호출시에는 서비스를 더 이상 이용하지 않는 것으로 인지하고 연결을 해지시킬 수 있다.
한편, 서드파티 어플리케이션이 미러링크 시물레이터에 연결되기 위해서는
"com . mi rror l ink, android . simulatorservi ce .ACCESS_PERMISSION" 권한이 개발시 등록되는 것이 바람직하다.
서드파티 어플리케이션이 미러링크 서버 시물레이터를 사용하는 전반적인 과정은 도 9에 도시된다.
도 9는 본 발명의 일 실시예에 따른 서드파티 어플리케이션과 미러링크 서 버 시물레이터 간의 서비스 등록 및 객체 접근 과정의 일례를 나타낸다. 도 9를 참조하면, 서드파티 어플리케이션은 미러링크 서버 시물레이터를 사용하기 위해 미러링크 서버 시물레이터 서비스를 등톡하고, 정보 관리자 및 콜백 모들 (Information manager & callback module)객체에 접근할 수 있다.
한편, 서드파티 어플리케이션은 궁극적으로 차량에서도 사용이 가능하므로, 주행 중 운전자에게 방해가 되지 않도록 운전자 주의분산 가이드 (driver distraction guide)에 맞게 사용자 인터페이스가 구성이 되어야 한다. 따라서, 서드파티 어플리케이션이 미러링크 세션 정보 값에 적합하도톡 화면을 주행 중에 이용 가능한지 여부를 확인할 도구가 요구된다. 이러한 도구 기능은 본 실시예에 따른 프레임버퍼 분석 시각화 .도구 (framebuffer analysis visualization tool)에 서 제공될 수 있다.
시각화 도구가 갖추어야 할 고위 요구사항 (high level requirement)과 컨 셉은 아래와 같다.
<고위 요구사항>
- 물리적 크기 및 해상도를 설정하기 위한사용자 인터페이스
- 프레임 버퍼의 리사이즈 방안
- 리사이징된 프레임버퍼의 표시 또는 저장 방안
- 5% 디스플레이 문턱값의 표시 방안 - .사용자가 스케일된 프레임버퍼를 단순 조작으로 저장할 수 있는 매커니 즈 컨셉에 있어서는, 안드로이드 SDK 확장 (Androi d SDK extensi on) 방식과 퍼 스널 컴퓨터에 설치하는 형태의 어플리케이션 (PC instal l able App) 방식으로 구 분될 수 있다. 이를 도 10을 참조하여 설명한다.
도 10은 본 발명의 일 실시예에 따른 시각화 도구 컨셉의 일례를 나타낸다. 시각화 도구는 안드로이드 SDK 확장 방식으로 구현되는 경우, 기존의 안드 로이드 개발 환경에 플러그인 (plug-in) 형식으로 시각화를 체크할 새로운 기능이 제공될 수 있다. 예를 들어, 도 10의 (a)와 같이 일반)를 구성하는 Layout . xm 1 ( 1040)올 실제 화면 ( 1050)으로 변환 시켜주는 형태로 본 기능이 제공 될 수 있다.
상술한 시뮬레이터 및 그를 통한 서드파티 어플리케이션의 검증 방법을 통 하여 서드파티 어플리케이션 개발자는 스마트폰과 IVI 커넥티비티 기술의 시물레 이션 및 주행 규제에 적합한 UI를 손쉽게 개발 할 수 있다.
【산업상 이용가능성】
본 발명은 안드로이드 플랫품 기반의 미러링크 기술을 중심으로 기술되었 으나, 이는 예시적인 것으로 차량용 인포테인먼트 시스템과 모바일 기기 간의 연 결을 통한 연동 기능을 제공하는 기술이라면 어떠한 기술에도 적용될 수 있다.

Claims

【청구의 범위】
【청구항 1】
클라이언트 시물레이터를 포함하는 제 1 시물레이터 및 서버 시물레이터에 대웅되는 제 2 시물레이터가 실행되는 단계;
상기 제 1 시뮬레이터에 클라이언트 설정 정보 및 서버 설정 정보가 입력 되는 단계; '
상기 제 1 시물레이터와상기 제 2 시물레이터간의 세션이 시작되는 단계; 검증 대상 어플리케이션이 실행되는 단계;
상기 검증 대상 어플리케이션이 상기 서버 시물레이터에 등록되는 단계; 상기 제 2 시물레이터로부터 상기 검증 대상 어플리케이션에 대체자 모들 이 획득되는 단계; 및
상기 검증 대상 어플리케이션의 상태 변경 정보를 수신하기 위한 함수가 상기 제 2 시물레이터에 등록되는 단계를 포함하는, 시물레이터를 이용한 어폴리 케이션 검증 방법.
【청구항 2]
제 1항에 있어서,
상기 제 1 시물레이터에서 제 1 세션 이벤트가 설정되는 단계;
상기 제 1 시물레이터에서 상기 제 1 세션 이벤트에 대한 정보가 상기 제 2 시물레이터로 전달되는 단계;
상기 제 2 시물레이터에서 상기 등록된 함수를 통해 상기 제 1 세션 이벤 트에 대한 정보가 상기 검증 대상 어플리케이션으로 전달되는 단계; 및
상기 검증 대상 어폴리케이션에서 상기 계 1 세션 이벤트에 대한 정보에 대웅되는 동작이 수행되는 단계를 더 포함하는, 시물레이터를 이용한 어플리케이 션 검증 방법.
【청구항 3]
제 2항에 있어서,
상기 제 1 시뮬레이터에서 상기 제 1 세션 이벤트에 대한 정보가 상기 제 2 시물레이터로 전달되는 단계는,
상기 제 1 시물레이터에서 상기 제 1 세션 이벤트에 대한 정보를 포함하는 시리얼 데이터 패킷이 생성되는 단계;
상기 시리얼 데이터 패킷이 상기 제 2 시물레이터로 전달되는 단계; 및 상기 제 2 시뮬레이터에서 상기 시리얼 데이터 패킷을 파싱하여 해석하는 단계를 포함하는, 시뮬레이터를 이용한 어플리케이션 검증 방법.
【청구항 4]
제 1항에 있어서,
상기 검증 대상 어플리케이션에서 상태 변경에 따른 제 2 세션 이벤트가 발생하는 단계 ;
상기 제 2 세션 이벤트에 대한 정보가 상기 제 2 시물레이터에 설정되는 단계;
상기 제 2 시물레이터에서 상기 제 2 세션 이벤트에 대한 정보가 상기 제 1 시뮬레이터로 전달되는 단계; 및
상기 제 1 시뮬레이터에서 상기 제 2 세션 이벤트에 대한 정보를 이용하여 상기 세션의 상태를 갱신하는 단계를 더 포함하는, 시물레이터를 이용한 어플리 케이션 검증 방법.
【청구항 5]
제 4항에 있어서,
상기 제 2 시뮬레이터에서 상기 제 2 세션 이벤트에 대한 정보가 상기 제 1 시뮬레이터로 전달되는 단계는
상기 제 2 시물레이터에서 상기 제 2 세션 이벤트에 대한 정보를 포함하는 시리얼 데이터 패킷이 생성되는 단계;
상기 시리얼 데이터 패킷이 상기 제 1 시물레이터로 전달되는 단계; 및 상기 제 1 시물레이터에서 상기 시리얼 데이터 패킷을 파싱하여 해석하는 단계를 포함하는, 시뮬레이터를 이용한 어플리케이션 검증 방법.
【청구항 6]
제 1항에 있어서,
상기 제 1 시뮬레이터는,
프레임버퍼를 시각적으로 출력하기 위한 프레임버퍼 분석 도구를 더 포함 하는, 시뮬레이터를 이용한 어플리케이션 검증 방법.
【청구항 7]
제 6항에 있어서,
상기 제 1 시물레이터에 프레임버퍼 캡쳐 명령이 입력되는 단계;
상기 프레임버퍼 캡쳐 명령이 상기 제 1 시물레이터에서 상기 제 2 시뮬레 이터로 전달되는 단계;
상기 제 2 시뮬레이터에서 상기 검증 대상 어플리케이션의 현재 프레임버 퍼를 캡쳐하는 단계;
상기 제 2 시물레이터에서 상기 캡쳐된 프레임버퍼가 상기 게 1 시물레이 터로 전달되는 단계; 및
상기 제 1 시뮬레이터에서 상기 캡쳐된 프레임버퍼를 출력하는 단계를 더 포함하는, 시물레이터를 이용한 어플리케이션 검증 방법.
【청구항.8】
제 7항에 있어서,
상기 프레임버퍼 캡쳐 명령이 상기 제 1 시물레이터에서 상기 제 2 시물레 이터로 전달되는 단계는,
상기 제 1 시물레이터에서 상기 프레임버퍼 캡쳐 명령을 포함하는 시리얼 데이터 패킷을 생성하는 단계;
상기 시리얼 데이터 패킷이 상기 제 2 시뮬레이터로 전달되는 단계; 및 상기 제 2 시뮬레이터에서 상기 시리얼 데이터 패킷이 파싱되어 해석되는 단계를 포함하는, 시뮬레이터를 이용한 어플리케이션 검증 방법.
【청구항 9】
제 1항에 있어서,
상기 클라이언트 시물레이터는 차량의 인포테인먼트 시스템의 환경에 대응 되고, 상기 서버 시뮬레이터는 스마트폰의 환경에 대웅되는, 시뮬레이터를 이용 한 어플리케이션 검증 방법.
【청구항 10】
제 1항에 있어서,
상기 제 1 시뮬레이터, 상기 제 2 시물레이터 및 상기 검증 대상 어폴리케 이션은, 미러링크 (mi rror l ink) 기술을 이용하는, 시물레이터를 이용한 어플리케 이션 검증 방법.
PCT/KR2015/002028 2014-03-03 2015-03-03 차량용 인포테인먼트 시스템과 이동 단말기의 공용 어플리케이션 개발을 위한 동작 검증 방법 WO2015133786A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/123,366 US10275344B2 (en) 2014-03-03 2015-03-03 Method for verifying operations for common application development of in-vehicle infotainment system and mobile terminal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461946895P 2014-03-03 2014-03-03
US61/946,895 2014-03-03

Publications (1)

Publication Number Publication Date
WO2015133786A1 true WO2015133786A1 (ko) 2015-09-11

Family

ID=54055535

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/002028 WO2015133786A1 (ko) 2014-03-03 2015-03-03 차량용 인포테인먼트 시스템과 이동 단말기의 공용 어플리케이션 개발을 위한 동작 검증 방법

Country Status (2)

Country Link
US (1) US10275344B2 (ko)
WO (1) WO2015133786A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101640027B1 (ko) * 2015-04-22 2016-07-15 주식회사 베이리스 차량의 주행 규제 서비스 방법
CN109445873A (zh) * 2018-11-13 2019-03-08 北京微播视界科技有限公司 显示设置界面的方法和装置
US10559217B2 (en) 2016-08-05 2020-02-11 Intel Corporation Methods and apparatus to develop in-vehicle experiences in simulated environments

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10108531B2 (en) * 2016-05-03 2018-10-23 The Boeing Company Transferring application software from a physical to a virtual computer system
US10810108B2 (en) 2016-05-03 2020-10-20 The Boeing Company Testing application programs using a virtual machine
US20180113802A1 (en) * 2016-10-21 2018-04-26 Sivakumar Yeddnapuddi Application simulator for a vehicle
US10671514B2 (en) 2016-11-15 2020-06-02 Inrix, Inc. Vehicle application simulation environment
US10474561B2 (en) * 2017-08-11 2019-11-12 Wipro Limited Method and system for automated testing of human machine interface (HMI) applications associated with vehicles
CN110875936A (zh) * 2018-08-31 2020-03-10 百度在线网络技术(北京)有限公司 智能驾驶汽车的通讯系统、方法及终端设备、存储介质
CN113312263B (zh) * 2021-06-07 2022-06-21 维沃移动通信(杭州)有限公司 异常监测方法和装置
CN113760429A (zh) * 2021-08-23 2021-12-07 联想(北京)有限公司 一种控制方法及控制装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060120080A (ko) * 2003-11-10 2006-11-24 로베르트 보쉬 게엠베하 제어 시스템을 시뮬레이션하고 검증하기 위한 시뮬레이션시스템 및 컴퓨터 구현 방법
US20120030512A1 (en) * 2010-07-27 2012-02-02 Ford Motor Company Provisioning of data to a vehicle infotainment computing system
US20130066518A1 (en) * 2011-09-12 2013-03-14 Ford Global Technologies, Llc Method and Apparatus for Vehicle Process Emulation and Configuration on a Mobile Platform
US20130103779A1 (en) * 2011-10-21 2013-04-25 GM Global Technology Operations LLC Method and apparatus for augmenting smartphone-centric in-car infotainment system using vehicle wifi/dsrc

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07281925A (ja) * 1994-04-06 1995-10-27 Fujitsu Ltd マルチプロセッサシミュレーション装置
US6263302B1 (en) * 1999-10-29 2001-07-17 Vast Systems Technology Corporation Hardware and software co-simulation including simulating the cache of a target processor
US20020059052A1 (en) * 2000-09-12 2002-05-16 Mellanox Technologies Ltd. Co-simulation of network components
US6918066B2 (en) * 2001-09-26 2005-07-12 International Business Machines Corporation Method and system for evaluating applications on different user agents
GB0225649D0 (en) * 2002-11-04 2002-12-11 Transitive Technologies Ltd Incremental validation
US7143025B2 (en) * 2002-12-13 2006-11-28 Sun Microsystems, Inc. Web simulator
US20040236562A1 (en) * 2003-05-23 2004-11-25 Beckmann Carl J. Using multiple simulation environments
US20060070042A1 (en) * 2004-09-24 2006-03-30 Muratori Richard D Automatic clocking in shared-memory co-simulation
JP2006350549A (ja) * 2005-06-14 2006-12-28 Hitachi Ltd 統合シミュレーションシステム
JP4987382B2 (ja) * 2006-08-09 2012-07-25 富士通テン株式会社 分散型シミュレーションシステム、シミュレータ識別方法、及び、分散型シミュレーションシステムの管理装置
US8738346B2 (en) * 2006-10-26 2014-05-27 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling multiple simulations
JP5179249B2 (ja) * 2008-05-09 2013-04-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 制御装置シミュレーション方法、システム及びプログラム
JP5395397B2 (ja) * 2008-10-16 2014-01-22 富士通テン株式会社 シミュレーションシステム
US8897144B2 (en) * 2011-10-14 2014-11-25 T-Mobile Usa, Inc. Quality of user experience testing for video transmissions
KR101455084B1 (ko) * 2012-12-13 2014-10-28 한국교통연구원 차량통신 시스템 기반의 교통 통신 통합 시뮬레이션 시스템
US20140331205A1 (en) * 2013-05-02 2014-11-06 Amazon Technologies, Inc. Program Testing Service
US9760385B2 (en) * 2013-11-18 2017-09-12 WebAd Campaign Analytics Concurrent emulation of multiple devices
CN105765468B (zh) * 2013-11-26 2017-08-11 三菱电机株式会社 系统构建辅助装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060120080A (ko) * 2003-11-10 2006-11-24 로베르트 보쉬 게엠베하 제어 시스템을 시뮬레이션하고 검증하기 위한 시뮬레이션시스템 및 컴퓨터 구현 방법
US20120030512A1 (en) * 2010-07-27 2012-02-02 Ford Motor Company Provisioning of data to a vehicle infotainment computing system
US20130066518A1 (en) * 2011-09-12 2013-03-14 Ford Global Technologies, Llc Method and Apparatus for Vehicle Process Emulation and Configuration on a Mobile Platform
US20130103779A1 (en) * 2011-10-21 2013-04-25 GM Global Technology Operations LLC Method and apparatus for augmenting smartphone-centric in-car infotainment system using vehicle wifi/dsrc

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101640027B1 (ko) * 2015-04-22 2016-07-15 주식회사 베이리스 차량의 주행 규제 서비스 방법
US10559217B2 (en) 2016-08-05 2020-02-11 Intel Corporation Methods and apparatus to develop in-vehicle experiences in simulated environments
US11087635B2 (en) 2016-08-05 2021-08-10 Intel Corporation Methods and apparatus to develop in-vehicle experiences in simulated environments
US11823594B2 (en) 2016-08-05 2023-11-21 Intel Corporation Methods and apparatus to develop in-vehicle experiences in simulated environments
CN109445873A (zh) * 2018-11-13 2019-03-08 北京微播视界科技有限公司 显示设置界面的方法和装置
CN109445873B (zh) * 2018-11-13 2022-12-16 北京微播视界科技有限公司 显示设置界面的方法和装置

Also Published As

Publication number Publication date
US20170228311A1 (en) 2017-08-10
US10275344B2 (en) 2019-04-30

Similar Documents

Publication Publication Date Title
WO2015133786A1 (ko) 차량용 인포테인먼트 시스템과 이동 단말기의 공용 어플리케이션 개발을 위한 동작 검증 방법
WO2020221228A1 (zh) 一种小程序通知消息的处理方法、设备和计算机存储介质
CN104903880B (zh) 由统一通信框架中的云客户端设备统一通信的系统及方法
US20120233589A1 (en) Software development kit for blended services
CN102594914B (zh) 一种基于云平台的远程调试方法
US20120284696A1 (en) Method, Apparatuses and a System for Compilation
US20120233588A1 (en) Blended service creation, test, and deployment environment for multiple service endpoints
CN111177617A (zh) 基于运维管理系统的web直接运维方法、装置及电子设备
KR20150137076A (ko) 모바일 기기 기능들의 차량내 접근
CN109800135B (zh) 一种信息处理方法及终端
CN111240620A (zh) 智能终端投屏处理方法及装置、计算机设备、介质
KR101229858B1 (ko) 웹을 통한 테스팅 자원 공유 방법 및 그 시스템
TWM410273U (en) Control transfer apparatus and control transfer system
CN103780952B (zh) 智能终端信息发送方法及系统
Costa-Montenegro et al. Vehicular entertainment systems: Mobile application enhancement in networked infrastructures
CN113709243B (zh) 设备远程控制方法及装置、电子设备和存储介质
CN110879676A (zh) 调试控制方法、主控设备、调试服务器、被控设备及系统
KR20120102967A (ko) 애플리케이션 검증 시스템 및 방법
CN108255445A (zh) 车机镜像操作方法、车机、移动终端以及车辆
CN116232910A (zh) 开放云平台及其构建方法、存储介质
Kong The development of mobile learning system based on the Android platform
KR20150015929A (ko) 퍼스널 컴퓨터를 통한 모바일 디바이스 입력 방법 및 장치
KR100793056B1 (ko) 텔레매틱스 서비스 시험을 위한 시험 제어 장치 및 그 방법
CN114817076A (zh) 车载操作系统的数据处理方法、装置、设备、介质及产品
KR20220158264A (ko) 지불 기능의 개통 방법, 단말 장치, 서버, 시스템 및 저장 매체

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15758702

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15758702

Country of ref document: EP

Kind code of ref document: A1