Movatterモバイル変換


[0]ホーム

URL:


KR20250037549A - Method, device and program carrier for cross-platform porting of applications - Google Patents

Method, device and program carrier for cross-platform porting of applications
Download PDF

Info

Publication number
KR20250037549A
KR20250037549AKR1020257005096AKR20257005096AKR20250037549AKR 20250037549 AKR20250037549 AKR 20250037549AKR 1020257005096 AKR1020257005096 AKR 1020257005096AKR 20257005096 AKR20257005096 AKR 20257005096AKR 20250037549 AKR20250037549 AKR 20250037549A
Authority
KR
South Korea
Prior art keywords
application
platform
vehicle
vehicle platform
conversion
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
KR1020257005096A
Other languages
Korean (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 메르세데스-벤츠 그룹 아게filedCritical메르세데스-벤츠 그룹 아게
Publication of KR20250037549ApublicationCriticalpatent/KR20250037549A/en
Pendinglegal-statusCriticalCurrent

Links

Classifications

Landscapes

Abstract

Translated fromKorean

본 개시내용은 애플리케이션의 크로스 플랫폼 포팅 방법을 제공하고, 이 방법은, 소스 플랫폼용 애플리케이션을 차량 내 플랫폼 상에서 실행될 수 있는 애플리케이션으로 변환하는 단계를 포함하고, 변환은, 변환될 애플리케이션의 소스 플랫폼용 사용자 인터페이스를 웹 기반 사용자 인터페이스로 변환하는 단계; 변환될 애플리케이션의 소스 플랫폼용 API에 대한 호출을 차량 내 플랫폼 API에 대한 호출로 변환하는 단계를 포함한다. 개시내용은 애플리케이션의 크로스 플랫폼 포팅을 위한 디바이스, 애플리케이션 플랫폼, 차량 내 시스템, 애플리케이션의 크로스 플랫폼 포팅을 위한 시스템 및 기계 판독 가능 프로그램 캐리어를 더 제공한다. 특정 생태계를 갖는 모바일 단말기로부터 차량 내 시스템으로 애플리케이션을 직접 포팅함으로써, 본 개시내용은 상이한 플랫폼 및 운영 체제에 대한 애플리케이션의 의존성을 제거하여, 차량 내 플랫폼 내에 애플리케이션을 제공함에 있어서의 어려움을 감소시킨다.The present disclosure provides a method for cross-platform porting of an application, the method comprising the steps of converting an application for a source platform into an application capable of running on an in-vehicle platform, wherein the conversion comprises the steps of converting a user interface for the source platform of the application to be converted into a web-based user interface; and converting a call to an API for the source platform of the application to be converted into a call to an in-vehicle platform API. The disclosure further provides a device for cross-platform porting of an application, an application platform, an in-vehicle system, a system for cross-platform porting of an application, and a machine-readable program carrier. By directly porting an application from a mobile terminal having a specific ecosystem to an in-vehicle system, the present disclosure reduces the difficulty of providing an application within an in-vehicle platform by eliminating the dependency of the application on different platforms and operating systems.

Description

Translated fromKorean
애플리케이션의 크로스 플랫폼 포팅을 위한 방법, 장치 및 프로그램 캐리어Method, device and program carrier for cross-platform porting of applications

본 개시내용은 애플리케이션의 크로스 플랫폼 포팅(cross-platform porting)을 위한 방법, 애플리케이션의 크로스 플랫폼 포팅을 위한 디바이스, 애플리케이션 플랫폼, 차량 내(in-vehicle) 시스템, 애플리케이션의 크로스 플랫폼 포팅을 위한 시스템 및 기계 판독 가능 프로그램 캐리어에 관한 것이다.The present disclosure relates to a method for cross-platform porting of an application, a device for cross-platform porting of an application, an application platform, an in-vehicle system, a system for cross-platform porting of an application, and a machine-readable program carrier.

오늘날 각기 다른 자동차 제조업체는 그들 자체의 차량 내 인포테인먼트 시스템을 갖고 있으며, 이에 기초하여 다양한 서비스 및 콘텐츠를 갖춘 애플리케이션 프로그램이 차량 사용자에게 제공될 수 있다. 그러나, 이들 애플리케이션을 일일이 개발하기 위해서는 많은 시간과 노력이 필요하다. 동시에, 모바일 인터넷의 급속한 발전에 따라, 스마트 모바일 디바이스 플랫폼의 소비자가 사용하도록 다양한 애플리케이션(소위 모바일 앱)이 스마트 모바일 디바이스 분야의 상이한 콘텐츠 제공자에 의해 개발되었다. 그리고 현재 가장 큰 과제 중 하나는 이러한 성숙한 애플리케이션을 스마트 모바일 디바이스 플랫폼으로부터 차량 내 플랫폼으로 포팅하는 방법이다.Today, different automobile manufacturers have their own in-vehicle infotainment systems, and based on these, application programs with various services and contents can be provided to vehicle users. However, it takes a lot of time and effort to develop these applications one by one. At the same time, with the rapid development of mobile Internet, various applications (so-called mobile apps) have been developed by different content providers in the smart mobile device field for use by consumers of smart mobile device platforms. And one of the biggest challenges at present is how to port these mature applications from smart mobile device platforms to in-vehicle platforms.

제3자 모바일 디바이스 플랫폼으로부터, 또는 제3자 애플리케이션 생태계로부터 차량 내 플랫폼으로 애플리케이션을 포팅하기 위해서, 많은 자동차 제조업체는, 예를 들어 안드로이드 기반 차량 운영 체제를 채택함으로써, 차량 운영 체제를 안드로이드 또는 iOS 운영 체제와 통합하는 것에 의존한다. 이러한 솔루션은 다음과 같은 단점을 갖는다: 안드로이드 시스템과 같은 특정 운영 체제와 차량의 소프트웨어 및 하드웨어의 깊은 통합(deep integration)이 필요하고; 또한 차량의 요구를 충족시키기 위해 하드웨어, 보안 등의 변경이 필요하다.To port applications from third-party mobile device platforms or from third-party application ecosystems to the in-vehicle platform, many automakers rely on integrating the vehicle operating system with the Android or iOS operating system, for example, by adopting an Android-based vehicle operating system. This solution has the following drawbacks: it requires deep integration of a specific operating system, such as the Android system, with the vehicle's software and hardware; and it also requires changes to hardware, security, etc., to meet the needs of the vehicle.

추가적으로, 종종 막대한 간접비용이 드는 추가 하드웨어 또는 하이퍼바이저 또한 필요하다. 특정 운영 체제가 차량에 통합되어 있는 경우에도, 통상적으로 애플리케이션을 차량의 운영 체제 및 환경에 적응시키기 위해 각각의 개별적인 네이티브 애플리케이션을 조정하고 적응시키며, 필요한 경우 완전히 다시 작성해야 한다. 나아가, 안드로이드 기반 차량 내 운영 체제는 안드로이드 생태계에만 국한되므로, 다른 생태계와 통합되거나 호환될 수 없다.Additionally, additional hardware or hypervisors are often required, which often incurs significant overhead. Even when a specific operating system is integrated into the vehicle, each individual native application typically needs to be tuned, adapted, and, if necessary, completely rewritten to adapt the application to the vehicle's operating system and environment. Furthermore, Android-based in-vehicle operating systems are specific to the Android ecosystem, and cannot be integrated or compatible with other ecosystems.

종래 기술에서는 클라우드 기반 분산 애플리케이션 시스템이 또한 제안되어 있으며, 이는 애플리케이션을 클라우드에서 중앙 집중적으로 전개하고 호스팅하도록 설계되어 있고, 애플리케이션은 클라우드에서의 전개를 통해 상이한 유형의 디바이스 상에서 실행될 수 있다. 그러나, 클라우드 기반 분산 애플리케이션 시스템도 단점을 갖는다. 예를 들어, 차량 데이터 리소스(resource)에 액세스하려면, 리소스을 먼저 차량을 통해 클라우드 서버와 동기화해야 하며, 이는 사용자가 사용하는 동안 파일 읽기 및 쓰기와 같은 대용량의 운영 데이터 또한 클라우드 스토리지의 도움으로 수행될 필요가 있어, 데이터 보안 및 사용자 개인정보 보호에 잠재적인 위험을 초래함을 의미한다. 나아가, 클라우드 기반 분산 애플리케이션은 단말 디바이스와 클라우드 또는 서버 측 간의 네트워크 연결에 의존하므로, 단말 디바이스에 대해 네트워크가 이용 불가능하면 정상적으로 기능할 수 없다.In the prior art, cloud-based distributed application systems have also been proposed, which are designed to centrally deploy and host applications in the cloud, and applications can be executed on different types of devices through deployment in the cloud. However, cloud-based distributed application systems also have their drawbacks. For example, in order to access a vehicle data resource, the resource must first be synchronized with a cloud server via the vehicle, which means that large amounts of operational data such as file reading and writing during the user's use also need to be performed with the help of cloud storage, which poses potential risks to data security and user privacy. Furthermore, cloud-based distributed applications depend on network connectivity between the terminal device and the cloud or server side, and therefore cannot function properly if the network is unavailable for the terminal device.

본 개시내용은, 종래 기술의 문제점 중 적어도 일부를 해결하기 위해서, 애플리케이션의 크로스 플랫폼 포팅을 위한 방법, 애플리케이션의 크로스 플랫폼 포팅을 위한 디바이스, 애플리케이션 플랫폼, 차량 내 시스템, 애플리케이션의 크로스 플랫폼 포팅을 위한 시스템 및 기계 판독 가능 프로그램 캐리어에 관한 것이다.The present disclosure relates to a method for cross-platform porting of an application, a device for cross-platform porting of an application, an application platform, an in-vehicle system, a system for cross-platform porting of an application, and a machine-readable program carrier, in order to solve at least some of the problems of the prior art.

개시내용의 제1 태양에 따르면, 애플리케이션의 크로스 플랫폼 포팅을 위한 방법이 제안되고, 방법은,According to the first aspect of the disclosure, a method for cross-platform porting of an application is proposed, the method comprising:

소스 플랫폼용 애플리케이션을 차량 내 플랫폼 상에서 실행될 수 있는 애플리케이션으로 변환하는 단계를 포함하고,Comprising a step of converting an application for a source platform into an application that can run on an in-vehicle platform;

변환은,The conversion is,

변환될 애플리케이션의 소스 플랫폼용 사용자 인터페이스를 웹 기반 사용자 인터페이스로 변환하는 단계;A step of converting the user interface for the source platform of the application to be converted into a web-based user interface;

변환될 애플리케이션의 소스 플랫폼용 API에 대한 호출을 차량 내 플랫폼 API에 대한 호출로 변환하는 단계를 포함한다.Includes a step of converting a call to an API for the source platform of the application to be converted into a call to an API for the in-vehicle platform.

본 개시내용은 특히 다음의 기술적 아이디어에 기초하고 있다.The present disclosure is based particularly on the following technical ideas.

애플리케이션을 특정 생태계에 기초한 모바일 단말기로부터 차량 내 플랫폼으로 포팅함으로써, 자동차 제조업체는 차량 내 플랫폼에서 애플리케이션을 다시 개발하고 다시 컴파일할 필요 없이, 풍부한 콘텐츠 및 서비스를 스마트 모바일 디바이스 플랫폼으로부터 차량 내 앱 스토어를 통해 차량 내 플랫폼으로 쉽게 포팅하고 전개할 수 있으며, 이는 콘텐츠 서비스 제공자 및 개발자의 부담을 유리하게 감소시킨다. 동시에, 사용자 인터페이스 및 API 호출의 양태에서 변환을 수행함으로써, 상이한 기본 차량 운영 체제에 대한 애플리케이션의 의존성이 제거되거나 감소되어, 변환된 애플리케이션이 플랫폼/운영 체제에 걸쳐 더 잘 사용될 수 있고, 이를 통해 플랫폼/운영 체제에 걸쳐 애플리케이션의 다양성을 개선한다.By porting applications from mobile terminals based on a specific ecosystem to the in-vehicle platform, automobile manufacturers can easily port and deploy rich content and services from smart mobile device platforms to the in-vehicle platform via in-vehicle app stores without having to redevelop and recompile applications on the in-vehicle platform, which advantageously reduces the burden on content service providers and developers. At the same time, by performing the conversion in the form of user interface and API calls, the dependency of the application on different underlying vehicle operating systems is eliminated or reduced, so that the converted application can be better used across platforms/operating systems, thereby improving the diversity of applications across platforms/operating systems.

대안적으로, 방법은 변환된 애플리케이션을 차량 내 플랫폼에 다운로드하는 단계, 전개하는 단계 및/또는 설치하는 단계를 더 포함한다.Alternatively, the method further comprises the steps of downloading, deploying and/or installing the converted application onto the in-vehicle platform.

여기서, 일반적인 클라이언트-서버 기반 클라우드 공유 애플리케이션 모드와 달리, 애플리케이션의 실행 동안, 차량 데이터를 실시간으로 네트워크를 통해 클라우드와 항상 동기화할 필요가 없고; 대신에, 변환된 애플리케이션은 차량 내 플랫폼에 전개되어, 차량의 GPS 포지셔닝 정보, 차량 고유 식별자 등과 같은 로컬 리소스를 신뢰할 수 있게 호출하고 액세스할 수 있고, 이는 차량 데이터의 보안을 크게 개선한다.Here, unlike the general client-server based cloud sharing application mode, during the execution of the application, there is no need to always synchronize the vehicle data with the cloud through the network in real time; instead, the converted application is deployed on the in-vehicle platform, and can reliably call and access local resources such as the vehicle's GPS positioning information, vehicle unique identifier, etc., which greatly improves the security of the vehicle data.

대안적으로, 사용자 인터페이스의 변환은 UI/UX 요소의 측면에서의 애플리케이션의 변환을 포함하고, 애플리케이션의 개념적 디스크립션 모델은 차량 내 플랫폼의 실체화(realization)에 관련된 모델로 변환된다.Alternatively, the transformation of the user interface involves the transformation of the application in terms of UI/UX elements, and the conceptual description model of the application is transformed into a model relevant to its realization on the in-vehicle platform.

여기서, 웹 기술 기반 애플리케이션은 사용되는 운영 체제 또는 플랫폼에 국한되지 않고, 보안 격리 특성을 갖는다. 개념적 디스크립션 모델을 적응시키는 것을 통해, 사용자는, 예를 들어, 차량 내 플랫폼의 브라우저에서 애플리케이션을 여는 것만으로, 임의의 운영 체제에서와 동일한 운영 경험을 제공받을 수 있다.Here, web technology-based applications are not limited to the operating system or platform used and have security isolation properties. By adapting the conceptual description model, users can be provided with the same operating experience as on any operating system, for example, by simply opening the application in a browser on the in-vehicle platform.

대안적으로, 사용자 인터페이스의 변환은,Alternatively, the transformation of the user interface,

애플리케이션의 UI/UX 요소의 개발자 스테이트먼트를 취득하는 단계 - 개발자 스테이트먼트는 UI/UX 요소의 디스플레이 속성 및 논리 속성을 포함하고, 디스플레이 속성은 특히 차량 내 플랫폼 내의 UI/UX 요소의 스타일, 크기 및/또는 레이아웃에 대한 주석(annotation)을 포함하고, 논리 속성은 특히 차량 내 플랫폼 내의 UI/UX 요소의 상호 작용 논리에 대한 주석을 포함함 -;A step of acquiring a developer statement of a UI/UX element of an application, wherein the developer statement includes display properties and logical properties of the UI/UX element, wherein the display properties include annotations on style, size and/or layout of the UI/UX element within the in-vehicle platform, and the logical properties include annotations on interaction logic of the UI/UX element within the in-vehicle platform;

렌더링 전략을 결정하는 단계; 및Step of determining the rendering strategy; and

렌더링 전략에 따라 디스플레이 속성 및 논리 속성에 기초하여 웹 기반 UI/UX 요소를 생성하는 단계를 포함한다.Includes a step of generating web-based UI/UX elements based on display properties and logical properties according to a rendering strategy.

여기서, 애플리케이션의 소스 코드 또는 개발자 스테이트먼트에 기초하여 추출된 초기의 개념적 디스크립션 모델은 그 자체로 이미 충분히 추상적이므로, 백엔드 로직을 중간 계층을 이용하여 변환하는 것만으로 플랫폼 대 플랫폼 매핑 프로세스를 완료할 수 있어, 변환 효율성을 유리하게 증가시킬 수 있다.Here, the initial conceptual description model extracted based on the application's source code or developer statements is already sufficiently abstract in itself, so the platform-to-platform mapping process can be completed simply by converting the backend logic using an intermediate layer, which can advantageously increase the conversion efficiency.

대안적으로, API 호출의 변환은, 변환된 애플리케이션이 차량 내 플랫폼의 하드웨어 디바이스, 로컬 리소스 및/또는 로컬 데이터에 액세스할 수 있도록, 소스 플랫폼의 시스템 리소스에 대한 액세스를 차량 내 플랫폼의 시스템 리소스의 액세스로 변환하는 단계를 포함한다.Alternatively, the translation of the API call includes a step of translating access to system resources of the source platform into access to system resources of the in-vehicle platform, such that the translated application can access hardware devices, local resources, and/or local data of the in-vehicle platform.

여기서, API 호출을 수정함으로써, 차량 내 플랫폼 내의 애플리케이션의 리소스액세스 권한의 확인이 지원되어, 데이터 보안을 보장한다.Here, by modifying the API call, verification of resource access rights of applications within the in-vehicle platform is supported, ensuring data security.

대안적으로, 애플리케이션 변환에 연관된 사용자 인터페이스의 변환과 API 호출의 변환 둘 모두는 차량 내 플랫폼 측, 차량 내 플랫폼 클라우드 측 및 소스 플랫폼 측 중 하나에서 수행된다.Alternatively, both the transformation of the user interface associated with the application transformation and the transformation of the API calls are performed on one of the following: the in-vehicle platform side, the in-vehicle platform cloud side, or the source platform side.

여기서, 본 개시내용에 따른 변환은 시간과 장소에 의해 제한되지 않으므로, 애플리케이션 포팅의 유연성이 크게 개선된다. 특히 네트워크 신호가 약할 경우, 이러한 변환은 클라우드 서버에서 실현될 수 있으며, 이는 한편으로는 보다 효율적인 포팅 프로세스가 가능하고, 다른 한편으로는 차량의 로컬 하드웨어에 대한 요구사항과 컴퓨팅 오버헤드를 감소시킨다.Here, since the transformation according to the present disclosure is not limited by time and place, the flexibility of application porting is greatly improved. In particular, when the network signal is weak, the transformation can be realized on a cloud server, which enables a more efficient porting process on the one hand, and reduces the requirements for local hardware in the vehicle and the computing overhead on the other hand.

대안적으로, 애플리케이션의 변환은 단계적으로 각각 차량 내 플랫폼 측, 차량 내 플랫폼 클라우드 측 및 소스 플랫폼 측 중 2개에서 으로 수행된다.Alternatively, the application transformation is performed stepwise on two of the following: the in-vehicle platform side, the in-vehicle platform cloud side, and the source platform side.

여기서, 예를 들어, 차량의 민감한 데이터를 포함하는 변환의 일부는 차량에서 로컬로 수행될 수 있는 한편, 나머지 변환은 소스 플랫폼 측에서 수행될 수 있어, 데이터 보안을 보장하면서 차량 측의 컴퓨팅 오버헤드를 감소시킬 수 있다.Here, for example, part of the transformation involving the vehicle's sensitive data can be performed locally in the vehicle, while the rest of the transformation can be performed on the source platform side, thereby reducing the vehicle-side computing overhead while ensuring data security.

대안적으로, API 호출의 변환은 차량 내 플랫폼 클라우드 측 또는 차량 내 플랫폼 측에서, 특히 차량 내 플랫폼에서 로컬로 수행된다.Alternatively, the translation of API calls is performed on the in-vehicle platform cloud side or on the in-vehicle platform side, specifically locally on the in-vehicle platform.

여기서, API 호출을 변환하는 프로세스는 통상적으로 많은 수의 차량 로컬 리소스의 호출 및 판독을 포함하므로, 차량 측에서 물리 계층과의 연결 및 차량의 로컬 데이터 리소스의 상호 작용을 실행하는 것은 보안 및 프라이버시에 관련된 데이터가 로컬로 획득되고/되거나 저장되는 것을 보장하여, 신뢰할 수 없는 제3자 플랫폼에 의한 콘텐츠 동기화 및 공유를 통한 차량 데이터의 오용을 회피할 수 있다.Here, since the process of converting API calls typically involves calling and reading a large number of vehicle local resources, executing the connection with the physical layer on the vehicle side and the interaction of the vehicle's local data resources ensures that security and privacy-related data are acquired and/or stored locally, thereby avoiding misuse of vehicle data through content synchronization and sharing by untrusted third-party platforms.

대안적으로, 방법은,Alternatively, the method is,

애플리케이션 포팅 또는 변환을 위한 요청을 수신하는 단계,Steps for receiving a request for application porting or conversion;

애플리케이션 포팅 또는 변환을 위한 요청에 응답하여 소스 플랫폼용 애플리케이션을 차량 내 플랫폼 상에서 실행될 수 있는 애플리케이션으로 변환하는 단계를 더 포함한다.Further comprising the step of converting an application for a source platform into an application capable of running on an in-vehicle platform in response to a request for application porting or conversion.

대안적으로, 애플리케이션 포팅 또는 변환을 위한 요청은 차량 내 플랫폼 상에 애플리케이션을 다운로드하고/하거나 설치하기 위한 사용자 시작 요청 및/또는 차량 내 플랫폼 상에서 애플리케이션을 처음으로 사용하기 위한 사용자 시작 요청에 응답하여 시작되거나, 또는 시스템에 의해 시작된다.Alternatively, a request for application porting or conversion is initiated in response to a user-initiated request to download and/or install an application on the in-vehicle platform and/or a user-initiated request to use the application for the first time on the in-vehicle platform, or is initiated by the system.

대안적으로, 애플리케이션의 변환은 포팅 또는 변환을 위한 요청에 기초하지 않고 사전에 수행된다.Alternatively, the transformation of the application is performed in advance, rather than based on a request for porting or transformation.

이러한 방식으로, 애플리케이션 포팅에 대한 다양한 트리거 메커니즘이 제공되며, 이는 사용자에 의한 특정 사용 프로세스에 지향될 수 있을 뿐만 아니라 개발 단계 동안 사전 변환도 가능하게 되어, 본 솔루션의 애플리케이션 시나리오를 확장할 수 있다.In this way, various trigger mechanisms for application porting are provided, which can be oriented to specific usage processes by users, as well as enabling pre-conversion during the development phase, thus expanding the application scenarios of the solution.

본 개시내용의 제2 태양에 따르면, 애플리케이션의 크로스 플랫폼 포팅을 위한 디바이스가 제공되며, 상기 디바이스는 개시내용의 제1 태양에 따른 방법을 수행하도록 구성되고, 디바이스는,According to a second aspect of the present disclosure, a device for cross-platform porting of an application is provided, the device being configured to perform the method according to the first aspect of the disclosure, the device comprising:

소스 플랫폼용 애플리케이션을 차량 내 플랫폼 상에서 실행될 수 있는 애플리케이션으로 변환하도록 구성되는 변환 모듈을 포함하고,Includes a conversion module configured to convert an application for a source platform into an application that can run on an in-vehicle platform;

변환은,The conversion is,

변환될 애플리케이션의 소스 플랫폼용 사용자 인터페이스를 웹 기반 사용자 인터페이스로 변환하는 것;Converting the user interface for the source platform of the application to be converted into a web-based user interface;

변환될 애플리케이션의 소스 플랫폼용 API에 대한 호출을 차량 내 플랫폼 API에 대한 호출로 변환하는 것을 포함한다.Includes converting calls to APIs for the source platform of the application to be converted into calls to platform APIs within the vehicle.

본 개시내용의 제3 태양에 따르면, 애플리케이션 플랫폼, 특히 차량 내 플랫폼이 제공되며, 애플리케이션 플랫폼은, 사용자 인터페이스 계층, 시스템 계층 및 애플리케이션 인터페이스 계층을 포함하고; 애플리케이션 플랫폼은 개시내용의 제1 양태에 따른 방법을 통해 변환되는 애플리케이션을 실행하도록 구성된다.According to a third aspect of the present disclosure, an application platform, particularly an in-vehicle platform, is provided, the application platform including a user interface layer, a system layer and an application interface layer; and the application platform is configured to execute an application converted by the method according to the first aspect of the disclosure.

대안적으로, 애플리케이션 플랫폼은 개시내용의 제2 태양에 따른 디바이스를 포함한다.Alternatively, the application platform comprises a device according to the second aspect of the disclosure.

본 개시내용의 제4 태양에 따르면, 차량 내 시스템이 제공되며, 차량 내 시스템은 개시내용의 제2 테양에 따른 디바이스 및/또는 개시내용의 제3 양태에 따른 애플리케이션 플랫폼을 포함한다.According to a fourth aspect of the present disclosure, an in-vehicle system is provided, wherein the in-vehicle system includes a device according to the second aspect of the disclosure and/or an application platform according to the third aspect of the disclosure.

본 개시내용의 제5 태양에 따르면, 애플리케이션의 크로스 플랫폼 포팅을 위한 시스템이 제공되며, 시스템은 차량 내 플랫폼, 차량 내 플랫폼 클라우드, 및 소스 플랫폼 생태계 클라우드를 포함하고, 시스템은 개시내용의 제1 태양에 따른 방법을 수행하도록 구성된다.According to a fifth aspect of the present disclosure, a system for cross-platform porting of an application is provided, the system including an in-vehicle platform, an in-vehicle platform cloud, and a source platform ecosystem cloud, wherein the system is configured to perform the method according to the first aspect of the disclosure.

본 개시내용의 제6 태양에 따르면, 컴퓨터 프로그램을 저장하는 기계 판독 가능 프로그램 캐리어가 제공되며, 저장된 컴퓨터 프로그램은 컴퓨터 상에서 실행될 때 개시내용의 제1 태양에 따른 방법을 수행한다.According to a sixth aspect of the present disclosure, a machine-readable program carrier storing a computer program is provided, wherein the stored computer program performs the method according to the first aspect of the disclosure when executed on a computer.

본 개시내용의 원리, 특성 및 이점은 첨부 도면을 참조하여 개시내용을 더 상세히 설명함으로써 더 잘 이해될 수 있다.
도 1은 본 개시내용의 예시적인 실시형태에 따른 애플리케이션의 크로스 플랫폼 포팅을 위한 디바이스의 블록선도를 도시한다.
도 2는 본 개시내용의 예시적인 실시형태에 따른 애플리케이션의 크로스 플랫폼 포팅을 위한 시스템의 블록선도를 도시한다.
도 3은 본 개시내용의 예시적인 실시형태에 따른 애플리케이션의 크로스 플랫폼 포팅을 위한 방법의 플로우차트를 도시한다.
도 4는 본 개시내용에 따른 방법의 예시적인 실시형태를 통해 차량 내 플랫폼에 애플리케이션을 포팅하는 개략도를 도시한다.
도 5는 본 개시내용에 따른 방법의 다른 예시적인 실시형태를 통해 차량 내 플랫폼에 애플리케이션을 포팅하는 개략도를 도시한다.
도 6은 본 개시내용의 예시적인 실시형태에 따른 애플리케이션의 크로스 플랫폼 포팅을 위한 방법을 실행하는 시퀀스 다이어그램을 도시한다.
도 7은 본 개시내용의 예시적인 실시형태에 따른 애플리케이션의 크로스 플랫폼 포팅을 위한 방법을 실행하는 다른 시퀀스 다이어그램을 도시한다.
The principles, features and advantages of the present disclosure may be better understood by reading the disclosure in more detail with reference to the accompanying drawings.
FIG. 1 illustrates a block diagram of a device for cross-platform porting of an application according to an exemplary embodiment of the present disclosure.
FIG. 2 illustrates a block diagram of a system for cross-platform porting of applications according to an exemplary embodiment of the present disclosure.
FIG. 3 illustrates a flowchart of a method for cross-platform porting of an application according to an exemplary embodiment of the present disclosure.
FIG. 4 illustrates a schematic diagram of porting an application to an in-vehicle platform through an exemplary embodiment of a method according to the present disclosure.
FIG. 5 illustrates a schematic diagram of porting an application to an in-vehicle platform through another exemplary embodiment of a method according to the present disclosure.
FIG. 6 illustrates a sequence diagram for executing a method for cross-platform porting of an application according to an exemplary embodiment of the present disclosure.
FIG. 7 illustrates another sequence diagram for executing a method for cross-platform porting of an application according to an exemplary embodiment of the present disclosure.

본 개시내용의 해결해야 할 기술적 문제, 기술적 솔루션 및 유리한 기술적 효과에 대한 더 명확한 이해를 위해, 본 개시내용은 도면 및 다수의 예시적인 실시형태와 관련하여 아래에서 더 상세히 설명될 것이다. 본원에서 설명되는 특정 실시형태는 단지 설명을 위한 것일 뿐이며, 개시내용의 보호 범위를 제한하려는 것이 아님을 이해해야 한다.For a clearer understanding of the technical problems to be solved, technical solutions and advantageous technical effects of the present disclosure, the present disclosure will be described in more detail below with reference to the drawings and a number of exemplary embodiments. It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the scope of protection of the disclosure.

도 1은 본 개시내용의 예시적인 실시형태에 따른 애플리케이션의 크로스 플랫폼 포팅을 위한 디바이스의 블록선도를 도시한다.FIG. 1 illustrates a block diagram of a device for cross-platform porting of an application according to an exemplary embodiment of the present disclosure.

본 개시내용의 맥락에서, 애플리케이션은 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 내비게이션 애플리케이션, 오디오/비디오 재생 애플리케이션, 이메일 애플리케이션, 데이터베이스 애플리케이션, 게임 애플리케이션, 및 정보 획득 애플리케이션을 포함하지만 이에 제한되지 않는다.In the context of the present disclosure, applications include, but are not limited to, word processing applications, spreadsheet applications, navigation applications, audio/video playback applications, email applications, database applications, gaming applications, and information acquisition applications.

도 1에 도시된 바와 같이, 디바이스(1)는 애플리케이션 변환 모듈(3)을 포함한다. 또한, 이 실시형태에서, 디바이스(1)는 선택적으로 인터페이스 모듈(2) 및 다운로드 서비스 모듈(4)을 더 포함할 수 있다.As illustrated in FIG. 1, the device (1) includes an application conversion module (3). In addition, in this embodiment, the device (1) may optionally further include an interface module (2) and a download service module (4).

인터페이스 모듈(2)은, 예를 들어, 차량 내 플랫폼의 사용자 인터페이스, 즉 UI 인터페이스로서 구성되거나 이에 연결되도록 구성될 수 있고, 스크린, 스피커, 마이크로폰, 터치 스크린 및/또는 키보드와 같은 차량의 다양한 리소스컴포넌트를 포함하거나 이에 액세스할 수 있으며, 사용자 인터페이스에 기초하여, 차량 내 플랫폼 상에서 이용 가능한 애플리케이션 및 그 목록이 사용자에게 제시될 수 있다. 인터페이스 모듈(2)은 통신 인터페이스를 더 포함할 수 있고, 통신을 통해 시스템 자체로부터 또는 시스템 외부로부터 애플리케이션을 포팅하기 위한 요청을 수신할 수 있다. 예를 들어, 이와 같은 포팅 요청은 애플리케이션을 다운로드하고/하거나 설치하기 위한 사용자 트리거 요청, 또는 애플리케이션을 사전 변환하기 위한 시스템에 의해 자동적으로 트리거된 요청일 수 있다.The interface module (2) may be configured as or configured to be connected to, for example, a user interface, i.e. a UI interface, of an in-vehicle platform, and may include or access various resource components of the vehicle, such as a screen, a speaker, a microphone, a touch screen and/or a keyboard, and based on the user interface, applications available on the in-vehicle platform and a list thereof may be presented to the user. The interface module (2) may further include a communication interface and may receive a request to port an application from the system itself or from outside the system via communication. For example, such a porting request may be a user-triggered request to download and/or install an application, or a request automatically triggered by the system to pre-convert an application.

인터페이스 모듈(2)은 신호 전송이 가능한 방식으로 애플리케이션 변환 모듈(3)에 연결될 수 있다. 애플리케이션 변환 모듈(3)은, 예를 들어, 소스 플랫폼용 애플리케이션을 차량 내 플랫폼(및 소스 플랫폼과 다른 다른 플랫폼 또는 운영 체제) 상에서 실행될 수 있는 애플리케이션으로 변환하기 위한 변환 엔진으로 구성될 수 있다. 차량 내 플랫폼 상에서 실행될 수 있는 애플리케이션은, 예를 들어, 운영 체제와 독립적으로, 차량 내 플랫폼 상에서 실행될 수 있으며, 기본 운영 체제와 독립적인 방식으로 상이한 플랫폼 상에서 실행될 수 있는 크로스 플랫폼 애플리케이션일 수도 있다. 애플리케이션의 변환은 포팅 또는 변환을 위한 요청에 기초하여 수행될 수 있거나, 포팅 또는 변환을 위한 요청에 기초하지 않고 사전에 수행될 수 있다. 포팅 또는 변환을 위한 요청은, 예를 들어, 차량 내 플랫폼 상에 애플리케이션을 다운로드하고 설치하기 위한 사용자 시작 요청 및/또는 차량 내 플랫폼 상에서 애플리케이션을 처음으로 사용하기 위한 사용자 시작 요청에 응답하여 시작될 수 있거나, 또는 시스템에 의해 시작될 수도 있다. 애플리케이션의 변환은 동기식으로 또는 비동기식으로 수행될 수 있다. 예를 들어, 동기식 애플리케이션 변환은, 차량 내 플랫폼 상에 애플리케이션을 다운로드하고 설치하기 위한 사용자 시작 요청 및/또는 애플리케이션을 차량 내 플랫폼 상에서 처음으로 사용하기 위한 사용자 시작 요청을 수신할 때 애플리케이션의 크로스 플랫폼 변환을 실행할 수 있다. 그리고 비동기식 애플리케이션 변환은 사용자가 차량 내 플랫폼 상에 애플리케이션을 다운로드하고 설치하기 위한 요청 및/또는 차량 내 플랫폼 상에서 애플리케이션을 처음으로 사용하기 위한 요청을 시작하기 전에 (예를 들어, 시스템의 사전 변환 요청에 응답하여) 사전에 애플리케이션 변환을 완료할 수 있어서; 사용자가 차량 내 플랫폼 상에 애플리케이션을 다운로드 및 설치하기 위한 요청 및/또는 차량 내 플랫폼 상에서 애플리케이션을 처음으로 사용하기 위한 요청을 시작할 때, 애플리케이션의 (사전) 변환은 이미 사전에 완료되어 있다.The interface module (2) can be connected to the application conversion module (3) in a signal transmission manner. The application conversion module (3) can be configured as a conversion engine for converting, for example, an application for a source platform into an application that can be executed on the in-vehicle platform (and other platforms or operating systems different from the source platform). The application that can be executed on the in-vehicle platform can be, for example, an operating system-independent, and can also be a cross-platform application that can be executed on different platforms in a manner independent of the underlying operating system. The conversion of the application can be performed based on a request for porting or conversion, or can be performed in advance without being based on a request for porting or conversion. The request for porting or conversion can be initiated, for example, in response to a user-initiated request for downloading and installing the application on the in-vehicle platform and/or a user-initiated request for using the application for the first time on the in-vehicle platform, or can be initiated by the system. The conversion of the application can be performed synchronously or asynchronously. For example, synchronous application conversion can execute cross-platform conversion of an application upon receiving a user-initiated request to download and install the application on the in-vehicle platform and/or a user-initiated request to use the application for the first time on the in-vehicle platform. And asynchronous application conversion can complete application conversion in advance (e.g., in response to a pre-conversion request from the system) before the user initiates the request to download and install the application on the in-vehicle platform and/or the request to use the application for the first time on the in-vehicle platform; such that when the user initiates the request to download and install the application on the in-vehicle platform and/or the request to use the application for the first time on the in-vehicle platform, the (pre-)conversion of the application has already been completed in advance.

본 개시내용에서, 소스 플랫폼용 애플리케이션은, 스마트 폰, 스마트 태블릿 컴퓨터, 노트북 컴퓨터, 웨어러블 디바이스 등과 같은 임의의 특정 모바일 단말 플랫폼, 및/또는 임베디드 리눅스 운영 체제, 윈도우 운영 체제, 유닉스 운영 체제, 안드로이드 운영 체제, 맥 OS X 운영 체제 및 iOS 운영 체제, 및 특정 차량 내 운영 체제 등과 같은 임의의 특정 운영 체제를 위해 특별히 개발된 해당 애플리케이션으로서 이해될 수 있고, 이들 애플리케이션은 특정 플랫폼 및/또는 특정 운영 체제에 의존하여 실행되므로, 다른 플랫폼 또는 다른 운영 체제와 같은 다른 생태계 상에서 직접 실행되거나 사용될 수 없다. 본 개시내용의 일 실시형태에 따르면, 크로스 플랫폼 애플리케이션은 하이브리드 앱과 같이 특정 플랫폼 및/또는 특정 운영 체제와 독립적으로 실행될 수 있는 해당 애플리케이션을 지칭할 수 있고, 이들 애플리케이션은 특정 플랫폼 및/또는 특정 운영 체제와의 깊은 통합 없이 정상적으로 동작한다. 일 예로서, 이와 같은 크로스 플랫폼 애플리케이션은, 예를 들어, 웹 기술 및/또는 컨테이너 기술에 기초한 애플리케이션일 수 있다.In the present disclosure, an application for a source platform may be understood as an application specifically developed for any specific mobile terminal platform, such as a smart phone, a smart tablet computer, a notebook computer, a wearable device, and/or any specific operating system, such as an embedded Linux operating system, a Windows operating system, a UNIX operating system, an Android operating system, a Mac OS X operating system, and an iOS operating system, and a specific in-vehicle operating system, and since these applications are executed dependent on the specific platform and/or the specific operating system, they cannot be directly executed or used on other ecosystems, such as other platforms or other operating systems. According to one embodiment of the present disclosure, a cross-platform application may refer to an application that can be executed independently of a specific platform and/or a specific operating system, such as a hybrid app, and these applications operate normally without deep integration with the specific platform and/or the specific operating system. As an example, such a cross-platform application may be an application based on, for example, web technology and/or container technology.

도 1에 예시적으로 도시된 바와 같이, 애플리케이션 변환 모듈(3)은 UI/UX 요소 변환 유닛(10) 및 API 호출 변환 유닛(20)을 포함할 수 있다. UI/UX 요소 변환 유닛(10)은 변환할 애플리케이션의 소스 플랫폼용 사용자 인터페이스(UI/UX)를 웹 기반 사용자 인터페이스로 변환할 수 있다. 예를 들어, UI/UX 요소 변환 유닛(10)은 UI/UX 요소의 측면에서 애플리케이션을 변환할 수 있도록 구성될 수 있다. 본 개시내용의 맥락에서, UI 요소는 사용자 인터페이스 상에 제시된 제어 요소 및 레이아웃 요소를 포함하는 것으로 이해될 수 있으며, 제어 요소는, 예를 들어, 버튼, 메뉴, 스크롤 바, 윈도우, 서브윈도우, 검색 바, 테이블, 그래픽 등을 포함하고, 레이아웃 요소는, 예를 들어, 제어 요소들 간의 레이아웃 포지셔닝, 상호 작용 이벤트, 인터페이스 애니메이션, 전이(transition) 등을 나타낸다. UX 요소는 사용자의 조작 경험에 의존하며, 예를 들어, 사용자와의 상호 작용 모드의 디자인에 관련된 요소를 포함한다.As exemplarily illustrated in FIG. 1, the application conversion module (3) may include a UI/UX element conversion unit (10) and an API call conversion unit (20). The UI/UX element conversion unit (10) may convert a user interface (UI/UX) for a source platform of an application to be converted into a web-based user interface. For example, the UI/UX element conversion unit (10) may be configured to convert an application in terms of UI/UX elements. In the context of the present disclosure, UI elements may be understood to include control elements and layout elements presented on a user interface, wherein control elements include, for example, buttons, menus, scroll bars, windows, subwindows, search bars, tables, graphics, etc., and layout elements represent, for example, layout positioning between control elements, interaction events, interface animations, transitions, etc. UX elements depend on a user's operating experience and include, for example, elements related to the design of an interaction mode with a user.

UI/UX 요소 변환 유닛(10)에서, 소스 애플리케이션의 개념적 디스크립션 모델은, 예를 들어, 차량 내 플랫폼의 실체화에 관련된 모델로 변환될 수 있다. 예를 들어, 소스 애플리케이션의 UI/UX 요소의 개발자 스테이트먼트, 예컨대 소스 코드가 먼저 획득될 수 있으며, 개발자 스테이트먼트는 UI/UX 요소의 디스플레이 속성 및 논리 속성을 포함한다. 디스플레이 속성은 차량 내 플랫폼 내의 콘텐츠 요소의 스타일, 크기 및/또는 레이아웃에 대한 주석을 포함하고, 논리 속성은 차량 내 플랫폼 내의 콘텐츠 요소의 상호 작용 논리에 대한 주석을 포함한다.In the UI/UX element conversion unit (10), the conceptual description model of the source application can be converted into a model related to, for example, the realization of the in-vehicle platform. For example, a developer statement of the UI/UX element of the source application, for example, a source code, can be first obtained, and the developer statement includes a display property and a logical property of the UI/UX element. The display property includes annotations for the style, size, and/or layout of the content element within the in-vehicle platform, and the logical property includes annotations for the interaction logic of the content element within the in-vehicle platform.

디스플레이 속성 및 논리 속성의 획득 후, 예를 들어, 상태 기계의 도움을 받아 렌더링 전략이 결정될 수 있다: 예를 들어, 셰이딩, 컬링, 믹싱과 같은 상응하는 렌더링 전략이 차량 내 플랫폼에 의해 지원되는 그래픽 디스플레이 모드에 기초하여 결정된다. 마지막으로, 결정된 렌더링 전략에 따라, 차량 내 플랫폼 내의 UI/UX 요소의 디스크립션 문서는 디스플레이 속성 및 논리 속성에 기초하여 생성되고, 따라서 브라우저에서 디스플레이될 수 있는 웹 기반 UI/UX 요소가 생성된다.After obtaining the display properties and logical properties, a rendering strategy can be determined, for example with the help of a state machine: for example, a corresponding rendering strategy, such as shading, culling or mixing, is determined based on the graphical display modes supported by the in-vehicle platform. Finally, depending on the determined rendering strategy, a description document of the UI/UX elements within the in-vehicle platform is generated based on the display properties and logical properties, thus generating web-based UI/UX elements that can be displayed in a browser.

일 예로서, 변환될 애플리케이션의 개발자 스테이트먼트가 "클릭되면 다른 페이지로 향하는 버튼"이고, 따라서, 이 개발자 스테이트먼트는 변환 유닛에서 차량 내 플랫폼 상의 상응하는 버튼 및 클릭 이벤트의 디스크립션 문서뿐만 아니라 상응하는 웹 기반 UI/UX 요소로 변환되어, 추상 모델로부터 차량 내 플랫폼 모델로의 매핑을 완료한다.As an example, a developer statement of an application to be converted is "a button that when clicked navigates to another page", and therefore, this developer statement is converted by the conversion unit into a description document of the corresponding button and click event on the in-vehicle platform, as well as corresponding web-based UI/UX elements, thereby completing the mapping from the abstract model to the in-vehicle platform model.

디스플레이 속성 및 논리 속성 외에도, 소스 플랫폼의 운영 환경에서의 애플리케이션의 실행 상태 및 상태 속성에 기초한 사용자 이력 선호도 데이터를 등록하기 위해 소스 플랫폼 내의 애플리케이션 및 그 콘텐츠 요소의 상태 속성이 또한 획득될 수 있어, 변환된 애플리케이션이 차량 내 플랫폼의 시스템 계층에 생성된 타겟 컨테이너에서 등록된 상태 속성과 연속적으로 실행될 수 있게 한다.In addition to the display properties and logical properties, the state properties of the application and its content elements in the source platform can also be acquired to register user history preference data based on the execution state and state properties of the application in the operating environment of the source platform, so that the converted application can be continuously executed with the registered state properties in the target container generated in the system layer of the in-vehicle platform.

추가로, 애플리케이션 변환 모듈(3)은 API(Application Programming Interface) 호출 변환 유닛(20)을 더 포함할 수 있다. API 호출 변환 유닛(20)은 API 호출에 관하여 변환을 구현할 수 있다. 예를 들어, 변환될 애플리케이션의 소스 플랫폼용 API에 대한 호출은 차량 내 플랫폼 API에 대한 호출 또는 플랫폼 독립적 API에 대한 호출로 변환될 수 있다. 이 프로세스에서, 소스 플랫폼의 시스템 리소스에 특정한 액세스가 차량 내 플랫폼의 리소스에 대한 액세스로 변환된다. 예를 들어, API 호출을 변경하여 GPS 정보 반환 요청 및 사진 앨범 액세스 요청을 정의하고, 착신 호출 인터페이스를 획득하고, 스피커로의 오디오의 전송 방식을 정의하고, 모바일 단말 고유 코드 등을 획득하여, 리소스및/또는 데이터에 액세스하고 호출하는 방식이 차량 내 플랫폼의 사용 환경에 적응된다. 일 예로서, 내비게이션 애플리케이션이 스마트 폰 플랫폼 상에서 사용될 때, 위치 정보를 획득하기 위한 네이티브 API는 모바일 단말기의 포지셔닝 표준 및 포지셔닝 좌표의 반환을 요청하지만, 통상적으로 국가 표준만이 지원되는 차량 내 플랫폼에서는 포지셔닝 좌표만 반환되는 한편, 시스템 기본 구성인 포지셔닝 표준은 반환되지 않을 것이다. 따라서, 차량 내 플랫폼에서는, 애플리케이션의 정상 동작을 위해, API 호출 변환 유닛이 국가 표준으로서 지정되는 API에 대한 포지셔닝 표준 필드를 보완할 수 있다.In addition, the application conversion module (3) may further include an API (Application Programming Interface) call conversion unit (20). The API call conversion unit (20) may implement conversion with respect to an API call. For example, a call to an API for a source platform of an application to be converted may be converted into a call to an in-vehicle platform API or a call to a platform-independent API. In this process, specific accesses to system resources of the source platform are converted into accesses to resources of the in-vehicle platform. For example, by changing the API call to define a GPS information return request and a photo album access request, obtain an incoming call interface, define a method of transmitting audio to a speaker, obtain a mobile terminal unique code, etc., the method of accessing and calling resources and/or data is adapted to the usage environment of the in-vehicle platform. As an example, when a navigation application is used on a smart phone platform, a native API for obtaining location information requests the return of the positioning standard and positioning coordinates of the mobile terminal, but in an in-vehicle platform where only national standards are typically supported, only the positioning coordinates will be returned, while the positioning standard, which is the system default configuration, will not be returned. Therefore, in an in-vehicle platform, for normal operation of the application, an API call conversion unit can supplement the positioning standard field for the API specified as the national standard.

API 호출의 변환 및 적응을 통해, 운영 체제 수준에서 애플리케이션과 차량 내 플랫폼의 깊은 통합 없이 상호 작용 기능이 변환되고 적응될 수 있어, 애플리케이션 개발자와 최종 사용자의 관점으로부터 API의 차이는 인식될 수 없다. 사용자의 모바일 단말기의 스캐닝 기능을 일 예로 들면, 네이티브 API는 사용자의 모바일 단말기의 카메라에 액세스할 수 있도록 구성되고; 본 개시내용에 따른 방법에 의한 변환 후, 새로운 API는, 예를 들어, 차량의 전방 카메라를 사용하여 촬영하고, 캡처된 이미지 파일을 사전 결정된 저장 위치에 저장하고, 사전 결정된 이벤트를 통해 이미지 파일을 분석하고 판독한 다음, 이미지 파일을 프로세싱하기 위한 코드를 실행할 것을 요청할 수 있다. 그러나, 차량이 카메라를 지원하지 않을 경우, 모바일 폰과 마찬가지로 카메라의 부재를 알리는 오류 메시지가 또한 프롬프트된다.By converting and adapting API calls, the interaction functions can be converted and adapted without deep integration of the application and the in-vehicle platform at the operating system level, so that the difference in APIs is imperceptible from the perspectives of application developers and end users. For example, for the scanning function of a user's mobile terminal, the native API is configured to access the camera of the user's mobile terminal; after conversion by the method according to the present disclosure, the new API may request, for example, to take a picture using the front camera of the vehicle, store the captured image file in a predetermined storage location, analyze and read the image file through a predetermined event, and then execute code for processing the image file. However, if the vehicle does not support a camera, an error message is also prompted indicating the absence of a camera, similar to a mobile phone.

차량 내 플랫폼에서, 브라우저 및/또는 컨테이너 기술 및/또는 차량 추상화 계층(VAS: vehicle abstraction layer)이 변환된 애플리케이션으로서 사용되어 차량 내 플랫폼 API 또는 차량 내 플랫폼의 로컬 리소스및/또는 데이터를 호출하고/하거나 액세스하고, 그리고/또는 변환된 애플리케이션이 차량 내 플랫폼 상에서 실행되거나, 차량 내 플랫폼의 컨테이너에 로드된 후 차량 내 플랫폼의 기본 하드웨어 디바이스 또는 로컬 리소스데이터와 통신하는 방식을 정의할 수 있다.In the in-vehicle platform, a browser and/or container technology and/or a vehicle abstraction layer (VAS) may be used as a converted application to call and/or access in-vehicle platform APIs or local resources and/or data of the in-vehicle platform, and/or define how the converted application communicates with underlying hardware devices or local resource data of the in-vehicle platform after being executed on the in-vehicle platform or loaded into a container of the in-vehicle platform.

도 1은 (선택적인) 다운로드 서비스 모듈(4)을 추가 예시적으로 도시하고, 이는 예를 들어 변환되지 않은 애플리케이션, 부분적으로 변환된 애플리케이션 또는 변환된 애플리케이션을 차량 내 플랫폼에 다운로드하기 위해, 그리고/또는 변환된 애플리케이션을 차량 내 플랫폼에 전개 및/또는 설치하기 위해 사용될 수 있다. 다운로드 서비스 모듈은 또한 다운로드된 애플리케이션에 대한 운영 환경을 제공할 수 있어, 애플리케이션 컴포넌트가 차량 내 플랫폼의 환경에서 적절히 실행될 수 있고 차량 내 플랫폼 내의 리소스 및/또는 데이터를 호출할 수 있다. 애플리케이션 변환 모듈(3)은 양방향 통신이 가능한 방식으로 다운로드 서비스 모듈(4)에 연결된다. 본 개시내용의 일 실시형태에 따르면, 애플리케이션 포팅을 위한 요청에 응답하여, 변환될 소스 플랫폼용 애플리케이션은 소스 플랫폼의 생태계 클라우드, 원래 플랫폼의 앱 스토어, 또는 차량 클라우드와 같은 클라우드 서버로부터 다운로드 서비스 모듈(4)을 통해 다운로드될 수 있으며, 그런 다음 이들 소스 플랫폼용 애플리케이션은, 예를 들어, 차량 내 플랫폼 측에서 깊지 않게(non-deeply) 통합된 방식으로 실행되기 위해, 애플리케이션 변환 모듈(3)에 의해 변환된다. 본 개시내용의 다른 실시형태에 따르면, 또한 사전에 애플리케이션의 크로스 플랫폼 변환을 수행하여 특정 플랫폼 또는 운영 체제에 대한 의존성을 제거할 수 있고, 변환된 애플리케이션의 설치 패키지는 서버 측에 저장되거나 클라우드, 예를 들어 소스 플랫폼의 생태계 클라우드 또는 차량 내 플랫폼 클라우드에 저장될 수 있고; 그런 다음, 예를 들어, 사용자가 차량 내 플랫폼 상에 상응하는 애플리케이션을 다운로드/설치하라는 요청 또는 명령에 응답하여, 변환된 (크로스 플랫폼) 애플리케이션이 서버 또는 클라우드로부터, 예를 들어 차량 내 플랫폼 상의 다운로드 서비스 모듈(4)을 통해 다운로드되고, 차량 내 플랫폼에 설치되고 실행될 수 있다. 본 개시내용의 다른 실시형태에 따르면, 변환된 애플리케이션은 또한 사전 설치된 애플리케이션으로서 차량 내 플랫폼 상에 사전에 전개되고/되거나 설치될 수 있으며, 이는 사용자가 서버 또는 클라우드로부터 애플리케이션을 다운로드할 필요가 없음을 의미한다.FIG. 1 further illustrates an (optional) download service module (4), which may be used, for example, to download an unconverted application, a partially converted application or a converted application to the in-vehicle platform, and/or to deploy and/or install a converted application on the in-vehicle platform. The download service module may also provide an operating environment for the downloaded application, so that the application components may be properly executed in the environment of the in-vehicle platform and may call resources and/or data within the in-vehicle platform. The application conversion module (3) is connected to the download service module (4) in a bidirectional communication manner. According to one embodiment of the present disclosure, in response to a request for application porting, applications for a source platform to be converted may be downloaded from a cloud server, such as an ecosystem cloud of the source platform, an app store of the original platform, or a vehicle cloud, via the download service module (4), and these applications for the source platform are then converted by the application conversion module (3), for example, to be executed in a non-deeply integrated manner on the in-vehicle platform side. According to another embodiment of the present disclosure, it is also possible to perform cross-platform conversion of an application in advance to eliminate dependency on a specific platform or operating system, and the installation package of the converted application can be stored on the server side or in the cloud, for example, in the ecosystem cloud of the source platform or in the in-vehicle platform cloud; then, for example, in response to a request or command from a user to download/install a corresponding application on the in-vehicle platform, the converted (cross-platform) application can be downloaded from the server or the cloud, for example, via a download service module (4) on the in-vehicle platform, and installed and executed on the in-vehicle platform. According to another embodiment of the present disclosure, the converted application can also be deployed and/or installed in advance on the in-vehicle platform as a pre-installed application, which means that the user does not need to download the application from the server or the cloud.

도 2는 본 개시내용의 예시적인 실시형태에 따른 애플리케이션의 크로스 플랫폼 포팅을 위한 시스템의 블록선도를 도시한다.FIG. 2 illustrates a block diagram of a system for cross-platform porting of applications according to an exemplary embodiment of the present disclosure.

이 예시적인 실시형태에서, 애플리케이션의 크로스 플랫폼 포팅을 위한 시스템은 차량 내 플랫폼(100), 차량 내 플랫폼 클라우드(200) 및 소스 플랫폼 생태계 클라우드(300)를 포함한다.In this exemplary embodiment, the system for cross-platform porting of an application includes an in-vehicle platform (100), an in-vehicle platform cloud (200), and a source platform ecosystem cloud (300).

이 예시적인 실시형태에서, 크로스 플랫폼 애플리케이션을 실행하기 위한 애플리케이션 플랫폼은 차량 내 플랫폼이다. 본 개시내용의 일 실시형태에 따르면, 애플리케이션의 크로스 플랫폼 포팅을 위한 타겟 플랫폼은 소스 플랫폼, 바꿔 말하면, 포팅 또는 변환 전에 애플리케이션이 기반을 두고 있는 플랫폼과는 상이한, 다른 모바일 디바이스와 같은 다른 플랫폼, 또는 다른 운영 체제를 더 포함할 수 있다. 도 2를 참조하면, 차량 내 플랫폼(100)은 차량 내 시스템의 일부로서 도시되어 있고, 예를 들어, 사용자 인터페이스 계층(110), 시스템 계층(120) 및 애플리케이션 인터페이스 계층(130)을 포함할 수 있다.In this exemplary embodiment, the application platform for executing the cross-platform application is an in-vehicle platform. According to one embodiment of the present disclosure, the target platform for cross-platform porting of the application may further include another platform, such as another mobile device, or another operating system, which is different from the source platform, in other words, the platform on which the application is based before porting or conversion. Referring to FIG. 2, the in-vehicle platform (100) is illustrated as a part of an in-vehicle system and may include, for example, a user interface layer (110), a system layer (120), and an application interface layer (130).

사용자 인터페이스 계층(110)은, 예를 들어, 사용자와의 인간-기계 상호 작용을 구현하고 사용자에게 사용자 인터페이스(UI) 형태의 시각적 그래픽 컴포넌트를 제시하기 위해 사용된다. 예를 들어, 웹 기반 사용자 인터페이스는 크로스 플랫폼(또는 플랫폼 독립적) 애플리케이션의 사용자 인터페이스의 디스플레이 및 상호 작용을 가능하게 하기 위해 사용될 수 있다. 여기서, 웹 기반 사용자 인터페이스는 html 하이퍼텍스트 마크업 언어, CSS 또는 자바스크립트 등의 형태의 표준 웹 요소와 같은 웹 기술에 기초한 UI 컴포넌트를 포함할 수 있다.The user interface layer (110) is used, for example, to implement human-machine interaction with a user and to present visual graphical components in the form of a user interface (UI) to the user. For example, a web-based user interface may be used to enable display and interaction with a user interface of a cross-platform (or platform independent) application. Here, the web-based user interface may include UI components based on web technologies, such as standard web elements in the form of HTML hypertext markup language, CSS or JavaScript.

이들 웹 요소는 표준 웹 브라우저 또는 웹 뷰에서 실행될 수 있어, 크로스 플랫폼 특징 또는 플랫폼 독립성을 실현할 수 있다. 예를 들어, 대부분의 차량 내 플랫폼 또는 차량 내 운영 체제는 웹 브라우저 또는 웹 뷰를 지원한다. 일 예로서, 앱 스토어의 그래픽 요소(111) 및 상응하는 애플리케이션의 그래픽 요소(112, 113, 114) 목록이 사용자 인터페이스를 통해 사용자에게 제시될 수 있다.These web elements can be executed in a standard web browser or web view, thereby realizing cross-platform features or platform independence. For example, most in-vehicle platforms or in-vehicle operating systems support web browsers or web views. As an example, a list of graphic elements (111) of an app store and graphic elements (112, 113, 114) of corresponding applications can be presented to the user via the user interface.

이 예시적인 실시형태에서, 시스템 계층(120)은 사용자 인터페이스 계층(110)과 상호 작용할 수 있도록 구성된다. 시스템 계층(120)은, 예를 들어, 컨테이너 기술에 기초한 애플리케이션 운영 환경을 가질 수 있으므로, 애플리케이션이 리눅스 기반 차량 내 플랫폼 및 안드로이드 기반 차량 내 플랫폼과 같은 상이한 차량 내 플랫폼 또는 기본 운영 체제에서 실행될 수 있게 하는 가상화 솔루션으로서 사용될 수 있다. 사용자 인터페이스 계층(110) 및/또는 시스템 계층(120)에서 작동하는 애플리케이션은, 예를 들어, 소스 플랫폼용 애플리케이션으로부터 변환된 크로스 플랫폼인 애플리케이션일 수 있으며, 이는 예를 들어 기본 운영 체제와 독립적인 방식으로 실행될 수 있는 크로스 플랫폼 애플리케이션일 수 있다. 이 예시적인 실시형태에서, 시스템 계층(120)은 도 1에 도시된 실시형태에서 애플리케이션 변환 모듈(3)의 기능의 전부 또는 일부를 가질 수 있는 애플리케이션 변환 모듈(121)을 포함할 수 있다. 시스템 계층(120)은 애플리케이션 관리 서비스 모듈(122)을 더 포함할 수 있다. 애플리케이션 관리 서비스 모듈(122)은, 예를 들어, 다운로드 및/또는 설치, 설치 제거 및 시작 등을 포함하는, 애플리케이션의 수명 주기를 관리하는 역할을 담당한다. 시스템 계층(120)은 또한 웹 서버(웹 콘텐츠 서버) 모듈을 포함할 수 있다.In this exemplary embodiment, the system layer (120) is configured to interact with the user interface layer (110). The system layer (120) may have an application operating environment based on, for example, container technology, and thus may be used as a virtualization solution that allows applications to run on different in-vehicle platforms or base operating systems, such as a Linux-based in-vehicle platform and an Android-based in-vehicle platform. The application running on the user interface layer (110) and/or the system layer (120) may be, for example, a cross-platform application converted from an application for a source platform, which may be, for example, a cross-platform application that may be executed in a manner independent of the base operating system. In this exemplary embodiment, the system layer (120) may include an application conversion module (121) that may have all or part of the functionality of the application conversion module (3) in the embodiment illustrated in FIG. 1. The system layer (120) may further include an application management service module (122). The application management service module (122) is responsible for managing the life cycle of the application, including, for example, downloading and/or installing, uninstalling, and starting. The system layer (120) may also include a web server (web content server) module.

이 예시적인 실시형태에서, 애플리케이션 인터페이스 계층(130)은 신호 전송이 가능한 방식으로 시스템 계층(120)과 커플링될 수 있고, 애플리케이션 인터페이스 계층(130)은, 예를 들어 API 인터페이스를 통해, 시스템 계층(120) 및/또는 그 안에서 작동하는 애플리케이션에, 차량 내 플랫폼을 기반으로 하는, 기본 하드웨어 및 차량 데이터와 같은, 로컬 하드웨어 및 소프트웨어 리소스, 기능 및/또는 데이터에 대한 액세스를 제공할 수 있다.In this exemplary embodiment, the application interface layer (130) may be coupled with the system layer (120) in a signaling-enabled manner, and the application interface layer (130) may provide access to local hardware and software resources, functions and/or data, such as underlying hardware and vehicle data, based on the in-vehicle platform, to the system layer (120) and/or applications operating therein, for example via an API interface.

차량 내 플랫폼(100) 외에도, 차량 내 플랫폼 클라우드(200) 및 소스 플랫폼 생태계 클라우드(300) 또한 도 2에 도시되어 있다. 이 실시형태에서, 차량 내 플랫폼 클라우드(200)는 차량 클라우드로도 약칭되며, 이는 자동차 제조업체에 의해 제공되는 클라우드 또는 백그라운드 서버일 수 있고 차량 내 플랫폼(100)과 직접 통신하여 차량 시스템에 대한 클라우드 서비스 또는 백그라운드 서비스를 제공할 수 있다. 앱 스토어 백그라운드 모듈(210) 및 상응하는 애플리케이션 관리 서비스 모듈(220)이 예를 들어 차량 클라우드(200)에 제공된다. 애플리케이션 관리 서비스 모듈(220)은, 예를 들어, 차량 내 플랫폼 클라우드에서, 크로스 플랫폼 변환 후 차량 플랫폼 상에서 실행될 수 있는 애플리케이션과 같은 애플리케이션을 관리할 수 있고; 예를 들어, 소스 플랫폼 생태계 클라우드(300)와 같은 제3자 플랫폼으로부터 차량 클라우드로 애플리케이션을 다운로드하기 위해 사용될 수 있고; 예를 들어, 차량 내 플랫폼으로부터 애플리케이션을 다운로드하라는 요청에 기초하여, 애플리케이션을 차량 플랫폼으로 또한 푸시할 수 있다. 또한, 대안적으로, 차량 클라우드(200)는 또한 도 1에 도시된 실시형태에서 애플리케이션 변환 모듈(3)의 기능의 전부 또는 일부를 가질 수 있는 애플리케이션 변환 모듈(230)을 포함할 수 있다.In addition to the in-vehicle platform (100), the in-vehicle platform cloud (200) and the source platform ecosystem cloud (300) are also illustrated in FIG. 2. In this embodiment, the in-vehicle platform cloud (200), also referred to as vehicle cloud, may be a cloud or background server provided by an automobile manufacturer and may directly communicate with the in-vehicle platform (100) to provide cloud services or background services for the vehicle system. An app store background module (210) and a corresponding application management service module (220) are provided in the vehicle cloud (200), for example. The application management service module (220) may manage applications, such as applications that can be executed on the vehicle platform after cross-platform conversion, in the in-vehicle platform cloud; may be used to download applications from a third-party platform, such as the source platform ecosystem cloud (300), to the vehicle cloud; and may also push applications to the vehicle platform, for example, based on a request to download applications from the in-vehicle platform. Additionally, alternatively, the vehicle cloud (200) may also include an application transformation module (230) that may have all or part of the functionality of the application transformation module (3) in the embodiment illustrated in FIG. 1.

소스 플랫폼 생태계 클라우드(300)는, 예를 들어, 제3자 소스 플랫폼 기반 애플리케이션의 클라우드 또는 서버일 수 있고, 차량 내 플랫폼과 상이한 소스 플랫폼에 기초하여 애플리케이션 패키지(310)를 제공하며, 이는 예를 들어 안드로이드 기반, 퀵 애플리케이션 기반 또는 애플릿 기반일 수 있다. 또한, 소스 플랫폼 생태계 클라우드(300)는 제3자 애플리케이션 개발자가 소스 플랫폼 생태계를 위한 다양한 애플리케이션을 개발할 수 있도록 애플리케이션 개발 툴을 포함할 수 있다. 대안적으로, 소스 플랫폼 생태계 클라우드(300)는 도 1에 도시된 실시형태에서 애플리케이션 변환 모듈(3)의 기능의 전부 또는 일부를 가질 수 있는 애플리케이션 변환 모듈(330)을 더 포함할 수 있다.The source platform ecosystem cloud (300) may be, for example, a cloud or server of third-party source platform-based applications, and provides application packages (310) based on a source platform different from the in-vehicle platform, which may be, for example, Android-based, quick application-based or applet-based. In addition, the source platform ecosystem cloud (300) may include application development tools so that third-party application developers can develop various applications for the source platform ecosystem. Alternatively, the source platform ecosystem cloud (300) may further include an application transformation module (330) that may have all or part of the functions of the application transformation module (3) in the embodiment illustrated in FIG. 1.

도 3은 본 개시내용의 예시적인 실시형태에 따른 애플리케이션의 크로스 플랫폼 포팅을 위한 방법의 플로우차트를 도시한다.FIG. 3 illustrates a flowchart of a method for cross-platform porting of an application according to an exemplary embodiment of the present disclosure.

선택적인 단계 S1에서, 사용자 및/또는 시스템으로부터의 애플리케이션 포팅 또는 변환을 위한 요청이, 예를 들어, 도 1에 도시된 인터페이스 모듈(2)을 통해 수신될 수 있다. 일 예로서, 사용자는 차량 내 플랫폼, 예를 들어 차량 시스템에 제공된 사용자 인터페이스(UI)에서 상응하는 동작을 통해 애플리케이션을 설치하거나 사용하기 위한 요청을 트리거할 수 있다. 이와 같은 애플리케이션 요청은 도 1에 도시된 애플리케이션 변환 모듈(3)로 전송될 수 있다.In an optional step S1, a request for application porting or conversion from a user and/or a system can be received, for example, via an interface module (2) illustrated in FIG. 1. As an example, a user can trigger a request to install or use an application via a corresponding action on a user interface (UI) provided on an in-vehicle platform, for example on a vehicle system. Such an application request can be transmitted to an application conversion module (3) illustrated in FIG. 1.

단계 S2에서, 소스 플랫폼용 애플리케이션은, 예를 들어 애플리케이션 변환 모듈(3)을 통해 차량 내 플랫폼(및 소스 플랫폼 외의 플랫폼 또는 운영 체제) 상에서 실행될 수 있는 애플리케이션으로 변환될 수 있어, 애플리케이션이 기본 운영 체제와 독립적인 방식으로 차량 내 플랫폼 상에서 실행될 수 있다. 애플리케이션의 변환은, 예를 들어, 변환될 애플리케이션의 소스 플랫폼용 사용자 인터페이스를 웹 기반 사용자 인터페이스로 변환하는 단계; 및 변환될 애플리케이션의 소스 플랫폼용 API에 대한 호출을 차량 내 플랫폼 API에 대한 호출로 변환하는 단계를 포함할 수 있다. 애플리케이션의 변환은, 예를 들어, 단계 S1에서 언급된 바와 같이, 포팅 또는 변환을 위한 요청에 기초하여 수행될 수 있거나, 포팅 또는 변환을 위한 요청에 기초하지 않고 사전에 수행될 수 있다.In step S2, the application for the source platform can be converted into an application that can be executed on the in-vehicle platform (and platforms or operating systems other than the source platform), for example, via the application conversion module (3), so that the application can be executed on the in-vehicle platform in a manner independent of the underlying operating system. The conversion of the application can include, for example, a step of converting a user interface for the source platform of the application to be converted into a web-based user interface; and a step of converting a call to an API for the source platform of the application to be converted into a call to an API for the in-vehicle platform. The conversion of the application can be performed, for example, based on a request for porting or conversion, as mentioned in step S1, or can be performed in advance without being based on a request for porting or conversion.

본 개시내용의 일 실시형태에 따르면, 단계 S3이 또한 변환 단계 S2 전 또는 후에 선택적으로 포함될 수 있다. 이 단계 S3에서, 변환된, 아직 변환되지 않은, 또는 부분적으로 변환된 애플리케이션은 서버 또는 클라우드로부터 차량 내 플랫폼으로 다운로드/설치될 수 있으며, 이는 네트워크에 연결되어 있지 않아도 애플리케이션이 차량 내 플랫폼에서 실행되고 사용될 수 있음을 의미한다.According to one embodiment of the present disclosure, step S3 may also be optionally included before or after conversion step S2. In this step S3, the converted, not-yet-converted, or partially converted application may be downloaded/installed from a server or cloud to the in-vehicle platform, which means that the application may be executed and used on the in-vehicle platform even when not connected to a network.

도 4는 본 개시내용에 따른 방법의 예시적인 실시형태를 통해 애플리케이션을 차량 내 플랫폼에 포팅하는 개략도를 도시한다.FIG. 4 illustrates a schematic diagram of porting an application to an in-vehicle platform through an exemplary embodiment of a method according to the present disclosure.

도 4의 예시적인 실시형태에서, 차량 내 플랫폼(100')이 도시된다. 애플리케이션의 크로스 플랫폼 변환은 차량 내 플랫폼(100') 및 소스 플랫폼 생태계 클라우드(300')에서 단계적으로 수행될 수 있다. 여기서, 애플리케이션의 변환은 2개의 단계로 수행된다. 제1 단계에서는, 소스 플랫폼 생태계 클라우드(300')에서 애플리케이션의 사용자 인터페이스 변환이 수행되며; 소스 플랫폼용 애플리케이션의 사용자 인터페이스가 웹 기반 사용자 인터페이스로 변환되고, 예를 들어, 소스 플랫폼용 네이티브 애플리케이션(400)의 UI/UX 요소가 웹 기술 기반 UI/UX 요소로 변환되어, 부분적으로 변환된(사용자 인터페이스 변환된) 애플리케이션(401)을 형성한다. 그런 다음, 이 부분적으로 변환된 애플리케이션(401)이 소스 플랫폼 생태계 클라우드(300')로부터 차량 클라우드(200')로 다운로드된다. 다음으로, 차량 내 플랫폼(100')이 부분적으로 변환된 애플리케이션(401)을, 예를 들어 상응하는 애플리케이션 관리 서비스 모듈을 통해 로컬 차량, 즉 차량 내 플랫폼(100')으로 다운로드하여, 그곳에서 제2 단계 변환을 수행할 수 있다. 차량 내 플랫폼(100')에서, 애플리케이션(401)의 제2 단계 변환, 즉 API 호출의 변환은, 예를 들어 시스템 계층(120') 내의 애플리케이션 변환 모듈(121')을 통해 수행될 수 있으며; 소스 플랫폼용 네이티브 API 호출이 차량 내 플랫폼 API 호출로 변환되어, 변환된 애플리케이션이 이 실시형태에서 차량 내 플랫폼의 로컬 리소스, 기능 및/또는 데이터 등에 액세스할 수 있게 한다. 변환된 사용자 인터페이스 및 변환된 API 호출을 갖는 애플리케이션은, 예를 들어, 웹 기술 및/또는 컨테이너 기술에 기초하여 차량 내 플랫폼 상에서 실행될 수 있고, 예를 들어 애플리케이션 인터페이스 계층(130')을 통해 차량 내 플랫폼의 로컬 리소스, 기능 및/또는 데이터 등에 액세스할 수 있게 된다.In the exemplary embodiment of FIG. 4, an in-vehicle platform (100') is illustrated. Cross-platform conversion of an application can be performed stepwise on the in-vehicle platform (100') and the source platform ecosystem cloud (300'). Here, conversion of the application is performed in two steps. In the first step, user interface conversion of the application is performed on the source platform ecosystem cloud (300'); the user interface of the application for the source platform is converted into a web-based user interface, for example, UI/UX elements of a native application (400) for the source platform are converted into web technology-based UI/UX elements, forming a partially converted (user interface converted) application (401). Then, this partially converted application (401) is downloaded from the source platform ecosystem cloud (300') to the vehicle cloud (200'). Next, the in-vehicle platform (100') can download the partially converted application (401) to a local vehicle, i.e., the in-vehicle platform (100'), for example via a corresponding application management service module, and perform a second-stage conversion there. In the in-vehicle platform (100'), the second-stage conversion of the application (401), i.e., conversion of the API calls, can be performed, for example, via an application conversion module (121') in the system layer (120'); native API calls for the source platform are converted into in-vehicle platform API calls, so that the converted application can access local resources, functions and/or data of the in-vehicle platform in this embodiment. The application with the converted user interface and the converted API calls can be executed on the in-vehicle platform, for example based on web technology and/or container technology, and can access local resources, functions and/or data of the in-vehicle platform, for example via the application interface layer (130').

도 5는 본 개시내용에 따른 방법의 다른 예시적인 실시형태를 통해 차량 내 플랫폼에 애플리케이션을 포팅하는 개략도를 도시한다.FIG. 5 illustrates a schematic diagram of porting an application to an in-vehicle platform through another exemplary embodiment of a method according to the present disclosure.

도 5의 예시적인 실시형태에서, 차량 내 플랫폼(100")이 도시된다. 애플리케이션의 크로스 플랫폼 변환은 차량 내 플랫폼(100") 및 차량 클라우드(200")에서 단계적으로 수행될 수 있다. 여기서, 애플리케이션의 변환은 또한 2개의 단계로 분할된다. 그러나, 도 4에 도시된 실시형태와 달리, 애플리케이션의 변환은 더 이상 소스 플랫폼 생태계 클라우드(300"), 또는 소스 플랫폼 측에서 수행되지 않고; 대신에, 이는 차량 내 플랫폼 측 또는 차량 클라우드에서 완전히 수행되며, 그렇게 하면 차량 데이터 리소스의 보안을 더 잘 보호할 수 있다는 이점이 있다.In the exemplary embodiment of FIG. 5, an in-vehicle platform (100") is illustrated. The cross-platform conversion of an application can be performed stepwise on the in-vehicle platform (100") and the vehicle cloud (200"). Here, the conversion of the application is also split into two steps. However, unlike the embodiment illustrated in FIG. 4, the conversion of the application is no longer performed on the source platform ecosystem cloud (300"), or the source platform side; instead, it is performed entirely on the in-vehicle platform side or the vehicle cloud, which has the advantage of better protecting the security of the vehicle data resources.

이 실시형태에서, 포팅될 것으로 예상되는 애플리케이션(400')은 먼저 소스 플랫폼 측, 예를 들어 소스 플랫폼 생태계 클라우드(300")로부터 차량 클라우드(200")로 다운로드된다. 그런 다음, 차량 클라우드(200")에서 애플리케이션의 사용자 인터페이스 변환이 수행되며; 소스 플랫폼용 애플리케이션의 사용자 인터페이스가 웹 기반 사용자 인터페이스로 변환되고, 예를 들어, 소스 플랫폼용 네이티브 애플리케이션(400')의 UI/UX 요소가 웹 기술 기반 UI/UX 요소로 변환되어, 부분적으로 변환된(사용자 인터페이스 변환된) 애플리케이션(401')을 형성한다. 다음으로, 이 부분적으로 변환된 애플리케이션(401')이 차량 클라우드(200")로부터 차량 내 플랫폼(100")으로 다운로드될 수 있다. 차량 내 플랫폼에서, 애플리케이션(401')의 제2 단계 변환, 즉 API 호출의 변환은, 예를 들어 시스템 계층(120") 내의 변환 모듈(121')을 통해 수행될 수 있으며; 소스 플랫폼용 API에 대한 호출이 차량 내 플랫폼 API 호출로 변환되어, 변환된 애플리케이션이 차량 내 플랫폼의 로컬 리소스, 기능 및/또는 데이터 등에 액세스할 수 있게 한다. 변환된 사용자 인터페이스 및 변환된 API 호출을 갖는 애플리케이션은, 예를 들어, 웹 기술 및/또는 컨테이너 기술에 기초하여 차량 내 플랫폼 상에서 실행될 수 있고, 예를 들어 애플리케이션 인터페이스 계층(130")을 통해 차량 내 플랫폼의 로컬 리소스, 기능 및/또는 데이터 등에 액세스할 수 있게 된다.In this embodiment, the application (400') expected to be ported is first downloaded from the source platform side, for example, from the source platform ecosystem cloud (300") to the vehicle cloud (200"). Then, user interface conversion of the application is performed in the vehicle cloud (200"); the user interface of the application for the source platform is converted into a web-based user interface, and for example, UI/UX elements of a native application (400') for the source platform are converted into web technology-based UI/UX elements, thereby forming a partially converted (user interface converted) application (401'). Next, this partially converted application (401') can be downloaded from the vehicle cloud (200") to the in-vehicle platform (100"). In the in-vehicle platform, the second-stage conversion of the application (401'), i.e., conversion of API calls, can be performed, for example, via a conversion module (121') in the system layer (120"); Calls to APIs for the source platform are converted into in-vehicle platform API calls, allowing the converted application to access local resources, functions, and/or data of the in-vehicle platform. The application with the converted user interface and the converted API calls can be executed on the in-vehicle platform, for example, based on web technology and/or container technology, and can access local resources, functions, and/or data of the in-vehicle platform, for example, through the application interface layer (130").

본 개시내용의 다른 실시형태에 따르면, 애플리케이션 변환의 사용자 인터페이스의 변환과 API 호출의 변환 둘 모두는 차량 내 플랫폼 측, 차량 내 플랫폼 클라우드 측 및 소스 플랫폼 측, 예컨대 소스 플랫폼 생태계 클라우드 중 하나에서 수행될 수 있거나, 또는 각각 차량 내 플랫폼 측, 차량 내 플랫폼 클라우드 측 및 소스 플랫폼 측, 예컨대 소스 플랫폼 생태계 클라우드 중 2개에서 단계적으로 수행될 수 있다.According to another embodiment of the present disclosure, both the transformation of the user interface of the application transformation and the transformation of the API call can be performed on one of the in-vehicle platform side, the in-vehicle platform cloud side and the source platform side, e.g., the source platform ecosystem cloud, or can be performed in stages on two of the in-vehicle platform side, the in-vehicle platform cloud side and the source platform side, e.g., the source platform ecosystem cloud, respectively.

도 6은 본 개시내용의 예시적인 실시형태에 따른 애플리케이션의 크로스 플랫폼 포팅을 위한 방법을 실행하는 시퀀스 다이어그램을 도시한다.FIG. 6 illustrates a sequence diagram for executing a method for cross-platform porting of an application according to an exemplary embodiment of the present disclosure.

도 6을 참조하면, 상단에는, 사용자(600), 차량 내 플랫폼(601)(이 실시형태에서는 차량), 차량 내 플랫폼 클라우드(602)(이 실시형태에서는 차량 클라우드), 및 소스 플랫폼 시스템 생태계 클라우드(603)가 포함된 다양한 노드 또는 엔티티가 도시되어 있다. 본 개시내용의 다른 실시형태에 따르면, 본 개시내용에 따른 애플리케이션의 크로스 플랫폼 포팅을 위한 변환 모듈은 차량(601), 차량 클라우드(602) 및 소스 플랫폼 시스템 생태계 클라우드(603) 중 하나 이상에 배열될 수 있다. 단계 S101에서, 예를 들어 사용자(600)는 적절한 상호 작용 동작을 통해 차량(601)에 의해 제공된 차량 내 플랫폼 상에 애플리케이션을 다운로드하고/하거나 설치하기 위한 요청을 트리거한다. 단계 S102에서, 애플리케이션 다운로드 및/또는 설치를 위한 요청은 차량(601)에 의해 차량 클라우드(602)로 송신된다. 그런 다음, 단계 S103에서, 차량 클라우드(602)는, 사용자가 다운로드를 요청한 애플리케이션의 설치 패키지(예를 들어, 본 개시내용에 따른 애플리케이션의 크로스 플랫폼 포팅/변환을 위한 방법을 통해 소스 플랫폼용 애플리케이션으로부터 사전에 변환된 후 타겟 차량 내 플랫폼 상에서 실행될 수 있는 애플리케이션의 설치 패키지)가 자신의 서버에 있는지 여부를 판단하여, 있는 경우, 설치 패키지는 차량(601)으로 직접 반환되고; 없는 경우, 애플리케이션의 설치 패키지를 다운로드하기 위한 요청이 단계 S103에서 차량 클라우드(602)에 의해 소스 플랫폼 시스템 생태계 클라우드(source platform system ecological cloud)(603)로 포워딩될 수 있다.Referring to FIG. 6, at the top, various nodes or entities are illustrated, including a user (600), an in-vehicle platform (601) (a vehicle in this embodiment), an in-vehicle platform cloud (602) (a vehicle cloud in this embodiment), and a source platform system ecosystem cloud (603). According to another embodiment of the present disclosure, a conversion module for cross-platform porting of an application according to the present disclosure may be arranged in one or more of the vehicle (601), the vehicle cloud (602), and the source platform system ecosystem cloud (603). In step S101, for example, the user (600) triggers a request to download and/or install an application on the in-vehicle platform provided by the vehicle (601) through an appropriate interaction action. In step S102, the request to download and/or install the application is transmitted by the vehicle (601) to the vehicle cloud (602). Then, in step S103, the vehicle cloud (602) determines whether an installation package of an application requested by a user to be downloaded (e.g., an installation package of an application that can be executed on a target vehicle platform after being converted from an application for a source platform through a method for cross-platform porting/conversion of an application according to the present disclosure) exists on its server, and if so, the installation package is returned directly to the vehicle (601); otherwise, a request for downloading the installation package of the application can be forwarded to a source platform system ecological cloud (603) by the vehicle cloud (602) in step S103.

본 개시내용의 일 실시형태에 따르면, 선택적인 단계 S104에서, 소스 플랫폼용 애플리케이션은, 예를 들어, 그 내부에 배열된 변환 모듈을 통해, 소스 플랫폼 시스템 생태계 클라우드(603) 내의 타겟 차량 내 플랫폼에서 실행될 수 있는 애플리케이션의 설치 패키지로 변환될 수 있고; 단계 S105에서, 애플리케이션의 변환된 설치 패키지가 차량 클라우드(601)에 다운로드되고, 단계 S106에서 로컬 차량(601)에 추가로 다운로드된다. 마지막으로, 단계 S107에서, 차량(601)에서의 애플리케이션의 설치 및 동작이 완료된다.According to one embodiment of the present disclosure, in optional step S104, an application for a source platform can be converted into an installation package of an application that can be executed on a target vehicle platform within a source platform system ecosystem cloud (603), for example, through a conversion module arranged therein; in step S105, the converted installation package of the application is downloaded to the vehicle cloud (601), and further downloaded to the local vehicle (601) in step S106. Finally, in step S107, installation and operation of the application in the vehicle (601) are completed.

본 개시내용의 다른 실시형태에 따르면, 애플리케이션의 크로스 플랫폼 변환은 소스 플랫폼 시스템 생태계 클라우드(603)에서 수행되지 않을 수 있고; 대신에, 변환되지 않은 소스 플랫폼용 애플리케이션이 단계 S105에서 차량 클라우드(602)에 다운로드된 다음, 차량 클라우드에서 타겟 차량 내 플랫폼에서 실행될 수 있는 애플리케이션으로 변환된다.According to another embodiment of the present disclosure, cross-platform conversion of an application may not be performed in the source platform system ecosystem cloud (603); instead, the unconverted application for the source platform is downloaded to the vehicle cloud (602) in step S105, and then converted from the vehicle cloud into an application that can be executed on the target in-vehicle platform.

대안적으로, 위에서 언급한 바와 같이, 애플리케이션 변환의 사용자 인터페이스 변환과 API 호출 변환은 각각 차량 내 플랫폼 측, 차량 내 플랫폼 클라우드 측 또는 소스 플랫폼 측, 예컨대 소스 플랫폼 생태계 클라우드 중 2개에서 단계적으로 수행될 수 있다.Alternatively, as mentioned above, the user interface transformation and API call transformation of the application transformation can be performed in stages on two of the in-vehicle platform side, the in-vehicle platform cloud side, or the source platform side, e.g., the source platform ecosystem cloud.

도 7은 본 개시내용에 따른 애플리케이션의 크로스 플랫폼 포팅을 위한 방법을 실행하는 동안의 다른 신호 시퀀스 다이어그램을 도시한다.FIG. 7 illustrates another signal sequence diagram while executing a method for cross-platform porting of an application according to the present disclosure.

여기서, 상단에는, 마찬가지로 사용자(700), 차량 내 플랫폼(이 실시형태에서는 차량(701)), 차량 내 플랫폼 클라우드(702)(이 실시형태에서는 차량 클라우드), 및 소스 플랫폼 시스템 생태계 클라우드(703)가 포함된 다양한 노드 또는 엔티티가 도시되어 있다. 본 개시내용의 다른 실시형태에 따르면, 본 개시내용에 따른 애플리케이션의 크로스 플랫폼 포팅을 위한 변환 모듈은 차량(701), 차량 클라우드(702) 및 소스 플랫폼 시스템 생태계 클라우드(703) 중 하나 이상에 배치될 수 있다.Here, at the top, various nodes or entities are depicted, including a user (700), an in-vehicle platform (in this embodiment, a vehicle (701)), an in-vehicle platform cloud (702) (in this embodiment, a vehicle cloud), and a source platform system ecosystem cloud (703). According to another embodiment of the present disclosure, a conversion module for cross-platform porting of an application according to the present disclosure can be deployed in one or more of the vehicle (701), the vehicle cloud (702) and the source platform system ecosystem cloud (703).

단계 S201에서, 사용자(700)는 상호 작용 동작을 통해 차량(701)에 의해 제공된 차량 내 플랫폼 상에서 애플리케이션을 처음으로 사용하기 위한 요청을 트리거한다. 이에 응답하여, 업데이트의 검출, 업데이트를 위한 요청, 업데이트된 데이터 패키지의 크로스 플랫폼 변환, 업데이트된 데이터 패키지의 다운로드, 런타임 데이터 준비, 및 애플리케이션의 시작이 단계 S202 내지 S207에서 차례로 수행된다. 애플리케이션의 변환은 단계 S206까지 도 6에 도시된 제1 다운로드 및 설치 프로세스와 동일하다. 그러나, 단계 S207에서 런타임 데이터를 준비하기 위해, 차량(701)에서의 로컬 변환이 추가적으로 포함될 수 있으며, 이는 예를 들어 (차량 데이터 및/또는 기능의 보안을 보장하기 위해) 애플리케이션의 인가(authorization) 정보를 업데이트하는 것을 포함한다.In step S201, a user (700) triggers a request to initially use an application on an in-vehicle platform provided by a vehicle (701) through an interaction action. In response, detection of an update, a request for an update, cross-platform conversion of an updated data package, downloading of the updated data package, preparation of runtime data, and launching of the application are performed sequentially in steps S202 to S207. The conversion of the application is identical to the first download and installation process illustrated in FIG. 6 up to step S206. However, in order to prepare the runtime data in step S207, a local conversion in the vehicle (701) may additionally be included, which includes, for example, updating authorization information of the application (to ensure security of vehicle data and/or functions).

본 개시내용의 특정 실시형태가 본원에 상세히 설명되었지만, 이는 해석의 목적으로만 제시되었을 뿐이고 본 개시내용의 범위를 제한하는 것으로 간주되지 않아야 한다. 본 개시내용의 사상 및 범위를 벗어나지 않고 다양한 치환, 변경 및 수정이 고안될 수 있다.While specific embodiments of the present disclosure have been described in detail herein, they have been presented for the purpose of explanation only and should not be construed as limiting the scope of the present disclosure. Various substitutions, changes, and modifications may be devised without departing from the spirit and scope of the present disclosure.

Claims (15)

Translated fromKorean
애플리케이션의 크로스 플랫폼 포팅을 위한 방법으로서,
소스 플랫폼용 애플리케이션을 차량 내 플랫폼 상에서 실행될 수 있는 애플리케이션으로 변환하는 단계를 포함하고,
상기 변환은,
변환될 상기 애플리케이션의 소스 플랫폼용 사용자 인터페이스를 웹 기반 사용자 인터페이스로 변환하는 단계;
변환될 상기 애플리케이션의 소스 플랫폼용 API에 대한 호출을 차량 내 플랫폼 API에 대한 호출로 변환하는 단계를 포함하는, 방법.
As a method for cross-platform porting of applications,
Comprising a step of converting an application for a source platform into an application that can run on an in-vehicle platform;
The above transformation is,
A step of converting the user interface for the source platform of the application to be converted into a web-based user interface;
A method comprising the step of converting a call to an API for a source platform of the application to be converted into a call to an in-vehicle platform API.
제1항에 있어서, 상기 변환된 애플리케이션을 상기 차량 내 플랫폼에 다운로드하는 단계, 전개하는 단계 및/또는 설치하는 단계를 더 포함하는 방법.A method according to claim 1, further comprising the steps of downloading, deploying and/or installing the converted application onto the in-vehicle platform.제1항 또는 제2항에 있어서, 상기 사용자 인터페이스의 변환은 UI/UX 요소의 측면에서의 상기 애플리케이션의 변환을 포함하고, 상기 애플리케이션의 개념적 디스크립션 모델은 상기 차량 내 플랫폼의 실체화에 관련된 모델로 변환되는, 방법.A method according to claim 1 or 2, wherein the transformation of the user interface includes transformation of the application in terms of UI/UX elements, and a conceptual description model of the application is transformed into a model related to the realization of the in-vehicle platform.제1항 내지 제3항 중 어느 한 항에 있어서, 상기 사용자 인터페이스의 변환은,
상기 애플리케이션의 상기 UI/UX 요소의 개발자 스테이트먼트를 취득하는 단계 - 상기 개발자 스테이트먼트는 상기 UI/UX 요소의 디스플레이 속성 및 논리 속성을 포함하고, 상기 디스플레이 속성은 특히 상기 차량 내 플랫폼 내의 상기 UI/UX 요소의 스타일, 크기 및/또는 레이아웃에 대한 주석을 포함하고, 상기 논리 속성은 특히 상기 차량 내 플랫폼 내의 상기 UI/UX 요소의 상호 작용 논리에 대한 주석을 포함함 -;
렌더링 전략을 결정하는 단계; 및
상기 렌더링 전략에 따라 상기 디스플레이 속성 및 상기 논리 속성에 기초하여 웹 기반 UI/UX 요소를 생성하는 단계를 포함하는, 방법.
In any one of claims 1 to 3, the conversion of the user interface is:
A step of acquiring a developer statement of the UI/UX element of the application, wherein the developer statement includes display properties and logical properties of the UI/UX element, wherein the display properties include in particular annotations regarding style, size and/or layout of the UI/UX element within the in-vehicle platform, and wherein the logical properties include in particular annotations regarding interaction logic of the UI/UX element within the in-vehicle platform;
Step of determining the rendering strategy; and
A method comprising the step of generating a web-based UI/UX element based on the display properties and the logical properties according to the rendering strategy.
제1항 내지 제4항 중 어느 한 항에 있어서, 상기 API 호출의 변환은, 상기 소스 플랫폼의 시스템 리소스에 대한 액세스를 상기 차량 내 플랫폼의 시스템 리소스의 액세스로 변환하여, 상기 변환된 애플리케이션이 상기 차량 내 플랫폼의 하드웨어 디바이스, 로컬 리소스 및/또는 로컬 데이터에 액세스할 수 있도록 하는 단계를 포함하는, 방법.A method according to any one of claims 1 to 4, wherein the conversion of the API call comprises a step of converting access to system resources of the source platform into access to system resources of the in-vehicle platform, thereby enabling the converted application to access hardware devices, local resources and/or local data of the in-vehicle platform.제1항 내지 제5항 중 어느 한 항에 있어서, 상기 애플리케이션 변환의 상기 사용자 인터페이스의 변환과 상기 API 호출의 변환 둘 모두는 상기 차량 내 플랫폼 측, 차량 내 플랫폼 클라우드 측 및 상기 소스 플랫폼 측 중 하나에서 수행되거나, 또는 단계적으로 각각 상기 차량 내 플랫폼 측, 상기 차량 내 플랫폼 클라우드 측 및 상기 소스 플랫폼 측 중 2개에서 수행되고; 바람직하게는, 상기 API 호출의 변환은 상기 차량 내 플랫폼 클라우드 측 또는 상기 차량 내 플랫폼 측에서, 특히 상기 차량 내 플랫폼에서 로컬로 수행되는, 방법.A method according to any one of claims 1 to 5, wherein both the conversion of the user interface of the application conversion and the conversion of the API call are performed on one of the in-vehicle platform side, the in-vehicle platform cloud side and the source platform side, or are performed stepwise on two of the in-vehicle platform side, the in-vehicle platform cloud side and the source platform side respectively; preferably, the conversion of the API call is performed on the in-vehicle platform cloud side or the in-vehicle platform side, in particular locally on the in-vehicle platform.제1항 내지 제6항 중 어느 한 항에 있어서,
애플리케이션 포팅 또는 변환을 위한 요청을 수신하는 단계,
상기 애플리케이션 포팅 또는 변환을 위한 요청에 응답하여 소스 플랫폼용 애플리케이션을 상기 차량 내 플랫폼 상에서 실행될 수 있는 애플리케이션으로 변환하는 단계를 더 포함하는 방법.
In any one of claims 1 to 6,
Steps for receiving a request for application porting or conversion;
A method further comprising the step of converting an application for a source platform into an application executable on the in-vehicle platform in response to a request for porting or converting said application.
제7항에 있어서, 상기 애플리케이션 포팅 또는 변환을 위한 요청은 상기 차량 내 플랫폼 상에 애플리케이션을 다운로드하고/하거나 설치하기 위한 사용자 시작 요청 및/또는 상기 차량 내 플랫폼 상에서 애플리케이션을 처음으로 사용하기 위한 사용자 시작 요청에 응답하여 시작되거나, 또는 시스템에 의해 시작되는, 방법.In the seventh aspect, the request for porting or converting the application is initiated in response to a user-initiated request to download and/or install the application on the in-vehicle platform and/or a user-initiated request to use the application for the first time on the in-vehicle platform, or is initiated by the system.제1항 내지 제6항 중 어느 한 항에 있어서, 상기 애플리케이션의 변환은 포팅 또는 변환을 위한 요청에 기초하지 않고 사전에 수행되는, 방법.A method according to any one of claims 1 to 6, wherein the conversion of the application is performed in advance without being based on a request for porting or conversion.애플리케이션의 크로스 플랫폼 포팅을 위한 디바이스로서, 상기 디바이스는 제1항 내지 제9항 중 어느 한 항에 따른 방법을 수행하도록 구성되고,
소스 플랫폼용 애플리케이션을 차량 내 플랫폼 상에서 실행될 수 있는 애플리케이션으로 변환하도록 구성되는 변환 모듈을 포함하고,
상기 변환은,
변환될 상기 애플리케이션의 소스 플랫폼용 사용자 인터페이스를 웹 기반 사용자 인터페이스로 변환하는 것;
변환될 상기 애플리케이션의 소스 플랫폼용 API에 대한 호출을 차량 내 플랫폼 API에 대한 호출로 변환하는 것을 포함하는, 애플리케이션의 크로스 플랫폼 포팅을 위한 디바이스.
A device for cross-platform porting of an application, wherein the device is configured to perform a method according to any one of claims 1 to 9,
Includes a conversion module configured to convert an application for a source platform into an application that can run on an in-vehicle platform;
The above transformation is,
Converting the user interface for the source platform of the application to be converted into a web-based user interface;
A device for cross-platform porting of an application, comprising converting calls to APIs for the source platform of the application to be converted into calls to in-vehicle platform APIs.
특히 차량 내 플랫폼인 애플리케이션 플랫폼으로서, 사용자 인터페이스 계층, 시스템 계층 및 애플리케이션 인터페이스 계층을 포함하고; 상기 애플리케이션 플랫폼은 제1항 내지 제9항 중 어느 한 항에 따른 방법을 통해 변환되는 애플리케이션을 실행하도록 구성되는, 애플리케이션 플랫폼.An application platform, particularly an in-vehicle platform, comprising a user interface layer, a system layer and an application interface layer; wherein the application platform is configured to execute an application converted through a method according to any one of claims 1 to 9.제11항에 있어서, 상기 애플리케이션 플랫폼은 제10항에 따른 디바이스를 포함하는 것을 특징으로 하는, 애플리케이션 플랫폼.An application platform according to claim 11, characterized in that the application platform includes a device according to claim 10.제10항에 따른 디바이스 및/또는 제11항 또는 제12항에 따른 애플리케이션 플랫폼을 포함하는 차량 내 시스템.An in-vehicle system comprising a device according to claim 10 and/or an application platform according to claim 11 or 12.애플리케이션의 크로스 플랫폼 포팅을 위한 시스템으로서, 차량 내 플랫폼, 차량 내 플랫폼 클라우드 및 소스 플랫폼 생태계 클라우드를 포함하고, 제1항 내지 제9항 중 어느 한 항에 따른 방법을 수행하도록 구성되는, 애플리케이션의 크로스 플랫폼 포팅을 위한 시스템.A system for cross-platform porting of an application, comprising an in-vehicle platform, an in-vehicle platform cloud, and a source platform ecosystem cloud, and configured to perform a method according to any one of claims 1 to 9.컴퓨터 프로그램을 저장하는 기계 판독 가능 프로그램 캐리어로서, 상기 컴퓨터 프로그램은, 컴퓨터 상에서 실행될 때, 제1항 내지 제9항 중 어느 한 항에 따른 방법을 수행하는, 기계 판독 가능 프로그램 캐리어.
A machine-readable program carrier storing a computer program, wherein the computer program, when executed on a computer, performs a method according to any one of claims 1 to 9.
KR1020257005096A2022-07-192023-07-19 Method, device and program carrier for cross-platform porting of applicationsPendingKR20250037549A (en)

Applications Claiming Priority (3)

Application NumberPriority DateFiling DateTitle
CN202210848764.0ACN115168007A (en)2022-07-192022-07-19 Method, apparatus and program carrier for cross-platform application migration
CN202210848764.02022-07-19
PCT/CN2023/108057WO2024017278A1 (en)2022-07-192023-07-19Method, device and program carrier for cross-platform porting of applications

Publications (1)

Publication NumberPublication Date
KR20250037549Atrue KR20250037549A (en)2025-03-17

Family

ID=83494242

Family Applications (1)

Application NumberTitlePriority DateFiling Date
KR1020257005096APendingKR20250037549A (en)2022-07-192023-07-19 Method, device and program carrier for cross-platform porting of applications

Country Status (4)

CountryLink
EP (1)EP4500320A1 (en)
KR (1)KR20250037549A (en)
CN (1)CN115168007A (en)
WO (1)WO2024017278A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
TWI471802B (en)*2011-12-062015-02-01Inst Information IndustryConversion methods of applications of mobile devices and mobile devices and systems capable of converting applications of mobile devices
US9245063B2 (en)*2013-04-052016-01-26The Boeing CompanyCreating ergonomic manikin postures and controlling computer-aided design environments using natural user interfaces
US10216494B2 (en)*2016-12-032019-02-26Thomas STACHURASpreadsheet-based software application development
US10606573B2 (en)*2017-06-072020-03-31Syntel, Inc.System and method for computer language migration using a re-architecture tool for decomposing a legacy system and recomposing a modernized system
CN112527415A (en)*2020-12-232021-03-19深圳尚米网络技术有限公司Method, device, equipment and medium for migrating applets across platforms

Also Published As

Publication numberPublication date
CN115168007A (en)2022-10-11
WO2024017278A1 (en)2024-01-25
EP4500320A1 (en)2025-02-05

Similar Documents

PublicationPublication DateTitle
US11853820B2 (en)Cross-process communication method, apparatus, and device
CN111026396B (en)Page rendering method and device, electronic equipment and storage medium
US11210119B2 (en)Method and device for displaying interface, electronic equipment, server, and storage medium
US8966508B2 (en)Method for executing hybrid web application and apparatus therefor
CN105843668B (en) Derived process resident method, derived program generation method and corresponding device
US10747510B1 (en)Application runtime modification
CN110990105A (en) Interface display method, device, electronic device and storage medium
CN114077423A (en)Airport APP development container architecture based on mobile cross-platform
JP2016507101A (en) System and method for building and using hybrid mobile applications
WO2018036322A1 (en)Method and device for generating application installation package, and storage medium
CN102981880B (en)A kind of method and apparatus realizing the renewal of application program
CN111596916A (en)Application program management method, device and equipment and computer storage medium
WO2013139268A1 (en)Method, terminal, and system for generating and invoking offline application
CN112394906B (en)Method and equipment for switching application operation
CN105740027A (en)Application program updating method and device
CN106502717A (en) App running method and device
CN118885234B (en)Method for playing application starting animation, electronic equipment and related medium
WO2024017278A1 (en)Method, device and program carrier for cross-platform porting of applications
US10839037B2 (en)Connected application experience
KR101154717B1 (en)A method and apparatus for managing multiple languages in a data language
CN117806662A (en)Application deployment method, device, equipment and medium
WO2021097683A1 (en)Android system starting method and apparatus, device, and storage medium
CN112612531A (en)Application program starting method and device, electronic equipment and storage medium
CN119234209A (en)Page rendering method, device, equipment and storage medium
CN115509634A (en)Input method configuration method, character input method, device and medium

Legal Events

DateCodeTitleDescription
PA0105International application

Patent event date:20250217

Patent event code:PA01051R01D

Comment text:International Patent Application

PA0201Request for examination
PG1501Laying open of application

[8]ページ先頭

©2009-2025 Movatter.jp