KR101382109B1 - Apparatus and method for middleware - Google Patents

Apparatus and method for middleware Download PDF

Info

Publication number
KR101382109B1
KR101382109B1 KR1020120010295A KR20120010295A KR101382109B1 KR 101382109 B1 KR101382109 B1 KR 101382109B1 KR 1020120010295 A KR1020120010295 A KR 1020120010295A KR 20120010295 A KR20120010295 A KR 20120010295A KR 101382109 B1 KR101382109 B1 KR 101382109B1
Authority
KR
South Korea
Prior art keywords
task
message
occurrence message
swc
new
Prior art date
Application number
KR1020120010295A
Other languages
Korean (ko)
Other versions
KR20130088990A (en
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 KR1020120010295A priority Critical patent/KR101382109B1/en
Publication of KR20130088990A publication Critical patent/KR20130088990A/en
Application granted granted Critical
Publication of KR101382109B1 publication Critical patent/KR101382109B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • 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/451Execution arrangements for user interfaces
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mechanical Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

실시 예는 미들웨어 장치 및 방법에 관한 것으로, 더욱 상세하게는 새로운 어플리케이션의 설치가 가능한 미들웨어 장치 및 방법에 관한 것이다.
실시 예에 따른 미들웨어 장치는, 입력된 새로운 어플리케이션을 분석하여 태스크 발생 메시지를 생성하는 마스터 ECU; 및 상기 태스크 발생 메시지를 수신하고, 상기 수신된 태스크 발생 메시지를 분석하여 새로운 태스크를 생성하는 슬래이브 ECU;를 포함하고, 상기 슬래이브 ECU는, 상기 마스터 ECU로부터 소정의 메시지를 수신하고, 상기 수신된 소정의 메시지가 상기 태스크 발생 메시지인지를 식별하는 수신부; 상기 수신부가 상기 수신된 소정의 메시지를 상기 태스크 발생 메시지로 판단하면, 상기 수신부로부터 상기 태스크 발생 메시지를 입력받아 분석하여 새로운 SWC 리스트와 상기 새로운 태스크를 생성하는 태스크 생성부; 및 상기 생성된 새로운 태스크를 저장하는 태스크 저장부;를 포함한다.
Embodiments relate to a middleware device and method, and more particularly, to a middleware device and method capable of installing a new application.
According to an embodiment of the present disclosure, a middleware device may include: a master ECU configured to analyze a new input application to generate a task occurrence message; And a slave ECU that receives the task occurrence message and analyzes the received task occurrence message to generate a new task, wherein the slave ECU receives a predetermined message from the master ECU and receives the received message. A receiving unit identifying whether a predetermined message is a task occurrence message; A task generator for generating a new SWC list and the new task by receiving and analyzing the task occurrence message from the receiver when the receiver determines the received predetermined message as the task occurrence message; And a task storage unit for storing the generated new task.

Description

미들웨어 장치 및 방법{APPARATUS AND METHOD FOR MIDDLEWARE}Middleware Devices and Methods {APPARATUS AND METHOD FOR MIDDLEWARE}

실시 예는 미들웨어 장치 및 방법에 관한 것으로, 더욱 상세하게는 새로운 어플리케이션의 설치가 가능한 미들웨어 장치 및 방법에 관한 것이다.Embodiments relate to a middleware device and method, and more particularly, to a middleware device and method capable of installing a new application.

ECU(Electronic Control Unit)는 자동차의 엔진, 자동변속기, ABS 등의 상태를 컴퓨터로 제어하는 전자 제어 장치를 의미한다. ECU (Electronic Control Unit) refers to an electronic control device that controls the state of the engine, automatic transmission, ABS, etc. of the vehicle with a computer.

ECU가 개발될 당시의 목적은 점화시기와 연료분사, 공회전, 한계값 설정 등 엔진의 핵심 기능을 정밀하게 제어하는 것이었다. 그러나 자동차와 컴퓨터 성능의 발전과 함께 자동변속기 제어를 비롯해 구동계통, 제동계통, 조향계통 등 자동차의 모든 부분을 제어하는 역할까지 담당하고 있다. 따라서, 자동차 내에는 많은 종류의 ECU들이 존재하게 되었고, 이로 인해, 많은 ECU들을 한 번에 관리하는 방법이 필요하게 되었다. 그래서 종래에는 자동차용 미들웨어(middleware)를 이용해서 많은 ECU들을 관리하고 있었다. When the ECU was developed, the goal was to precisely control the engine's key functions such as ignition timing, fuel injection, idling and limit value settings. However, with the development of automobile and computer performance, it is in charge of controlling all parts of the car such as drive system, braking system and steering system as well as automatic transmission control. Therefore, there are many kinds of ECUs in automobiles, which requires a method of managing many ECUs at once. Therefore, in the past, many ECUs were managed by using middleware for automobiles.

대표적인 자동차용 미들웨어로서, 오토사(AUTomotive Open System Architecture, AUTOSAR)가 있다. 오토사는 자동차 업체가 공통으로 사용할 수 있도록 설계된 차량용 소프트웨어 규격과 실행 환경이다. 오토사는 BMW, Bosch, Continental, DaimerChrysler와 같은 유럽계 자동차 회사들을 주축으로 개발되었다. 대표적인 오토사 제품으로는 3Soft사의 tresosECU, LiveDevices사의 RTA, Vector사의 DaVinci 등이 있다. 오토사는 자동차용 전자장비가 복잡해짐에 따라 하드웨어(HW)나 ECC에 의존적인 소프트웨어(SW)의 복잡성을 해결하기 위해 표준화된 통합 소프트웨어 플랫폼 중에 하나이다. A typical automotive middleware is AUTO (Automotive Open System Architecture, AUTOSAR). Otto is a vehicle software specification and execution environment designed for common use by automakers. Otto was developed around European automakers such as BMW, Bosch, Continental and DaimerChrysler. Typical Auto products include 3Soft's tresosECU, LiveDevices' RTA, and Vector's DaVinci. Otto is one of the standardized integrated software platforms to tackle the complexity of hardware (HW) or ECC-dependent software (SW) as automotive electronics become more complex.

도 1은 오토사의 아키텍처(Architecture)이다. 1 is an architecture of Otto.

도 1을 참조하면, 오토사의 아키텍처는 소프트웨어-컴포넌트(SW-Component), AUTOSAR RTE, 기본 소프트웨어(Basic Software) 및 Microcontroller Abstraction로 구성된다. 여기서, Microcontroller Abstraction는 실제로 특정 장치를 작동시키기 위한 장치 드라이버들을 구현하고 있는 모듈이다.Referring to FIG. 1, the architecture of Otto Corporation is composed of software component (SW-Component), AUTOSAR RTE, Basic Software and Microcontroller Abstraction. Here, Microcontroller Abstraction is a module that implements device drivers to actually run a specific device.

오토사는 한 자동차 안에 여러 개의 ECU 가 네트워크로 연결되어 있으며, 한 ECU 안에는 하나 혹은 여러 개의 Microcontroller와 다수의 장치들(RAM, Flash, 네트워크, I/O)이 작동한다고 가정한다. Otto assumes that several ECUs are networked in a vehicle, and that one or several Microcontrollers and multiple devices (RAM, Flash, network, I / O) work within an ECU.

이러한 오토사는 자동차용 SW와 HW의 계층을 분리시킴으로써, 자동차용 SW의 재사용성을 극대화 시키고, 자동차 개발기간의 단축과 비용 절감 효과를 가져왔다.By separating the layers of automotive SW and HW, Otto maximizes the reusability of automotive SW, and has shortened the vehicle development period and reduced costs.

최근 출시되고 있는 자동차에 적용되어 있는 미들웨어는 새로운 SW나 HW의 설치가 불가능한 구조이다. 즉, 미리 설치된 옵션(Option)이외에 사용자가 나중에 추가로 새로운 옵션을 적용하기 어렵다. 일 예로, 최근 에너지 고효율의 자동차가 출시되고 있는데, 에너지 고효율이나 이산화탄소 절감을 위한 알고리즘은 새롭게 제작되는 자동차에만 적용될 수 있으며 기존에 출시된 자동차에는 적용되기 어렵다. 또한, 다른 일 예로 최근에 출시되는 자동차들 중 사용자-정의(User-defined) 자동차가 있는데, 사용자의 취향에 맞춰 출시된 자동차에 추후 사용자가 원하는 SW나 HW를 설치하기 어렵다. Middleware applied to recently released cars is a structure that can not install new SW or HW. That is, it is difficult for a user to apply a new option later in addition to the pre-installed option. For example, recently, energy-efficient vehicles have been introduced. Algorithms for energy efficiency or carbon dioxide reduction can be applied only to newly manufactured cars, but not to existing vehicles. In addition, another example of the recently released cars are user-defined (User-defined) cars, it is difficult to install the SW or HW that the user wants to be released later in accordance with the user's taste.

종래의 오토사를 갖는 자동차에 장착된 ECU는, 자동차 내부에 수많은 SWC들이 장착되어 있더라도, 하나의 실행 파일(Executable file)을 가지고 동작한다. 여기서, SWC는 소프트웨어-컴포넌트(Software-Component)의 약자로서, ‘자동차 어플리케이션(Automobile application)’의 일 부분이면서, 하나의 ECU 내에서 동작할 수 있는 최소 단위 컴포넌트(component)를 의미한다. 그리고, ‘자동차 어플리케이션’은 자동차 내부에 분산된 여러 개에 ECU들에 의해 동작한다. 예를 들어, ‘자동 주차 어플리케이션’은 자동차의 센서부, 제어부, 구동부, 선택부 및 보정부 등이 서로 통신을 수행하고, 각자의 역할을 수행함으로써 이루어진다. 요약하자면, 자동차 어플리케이션은 자동차 내부의 분산형 네트워크 구조를 가지고 있으며, 이에 따라 분산된 ECU들이 서로간의 통신을 통하여 자동차를 제어한다. 하나의 자동차 어플리케이션은 하나 또는 복수의 ECU 내에서 동작하는 하나의 SWC 또는 복수의 SWC들의 조합으로 동작한다.An ECU mounted on a vehicle having a conventional auto company operates with one executable file even when numerous SWCs are mounted inside the vehicle. Here, SWC stands for Software-Component, which is a part of an “Automobile application,” and refers to a minimum unit component that can operate in one ECU. And automotive applications are run by ECUs that are distributed inside the vehicle. For example, the 'automatic parking application' is performed by the sensor unit, the control unit, the driving unit, the selection unit, and the correction unit of the vehicle communicating with each other and performing their respective roles. In summary, automotive applications have a decentralized network structure inside the vehicle, whereby distributed ECUs control the vehicle through communication with each other. One automotive application operates with one SWC or a combination of multiple SWCs operating within one or multiple ECUs.

ECU가 하나의 실행 파일을 가지고 동작하기 때문에, ECU 내부에 설치되어 있는 각 태스크(Task)들간에 디펜던시(Dependency)가 존재한다는 문제가 있다. 예를 들어, 하나의 SWC가 변경되어야 할 경우, ECU의 실행 파일 자체가 변경되어야 한다는 점이다. 여기서, 태스크(Task)란, 하나의 ECU 내에서 동작하는 하나의 SWC 또는 복수의 SWC들을 의미한다. Since the ECU operates with one executable file, there is a problem that dependencies exist between tasks installed in the ECU. For example, if one SWC needs to be changed, the executable file of the ECU itself must be changed. Here, a task means one SWC or a plurality of SWCs operating in one ECU.

도 2는 종래의 오토사를 이용하여 하나의 자동차 어플리케이션을 개발하는 과정을 설명하는 도면이다. 2 is a view illustrating a process of developing a vehicle application using a conventional auto company.

도 2를 참조하면, AUTOSAR 에서 자동차용 소프트웨어는 컴포넌트를 단위로 모듈화된다. 이들 컴포넌트들은 설계 단계에서 VFB(Virtual Functional Bus)라는 가상의 네트워크를 통해 서로 통신하도록 구성된다. 그후 매핑 단계에서는 각 컴포넌트들이 어떤 ECU 위에서 수행될 지 결정된다. 이렇게 ECU에 할당된 컴포넌트들은 런타임에 각 ECU 마다 존재하는 RTE(Run-Time Environment)를 통해 서로 정보를 교환하며 필요한 작업을 수행한다. 이 과정을 거치는 동안 각 소프트웨어 컴포넌트들과 자동차의 각 ECU 들의 속성과 제약조건들이 기록된 설정 파일들이 사용된다.Referring to FIG. 2, the automotive software in AUTOSAR is modularized by component. These components are configured at the design stage to communicate with each other via a virtual network called a Virtual Functional Bus (VFB). The mapping phase then determines which ECUs each component will perform on. The components assigned to these ECUs perform necessary tasks by exchanging information with each other through a run-time environment (RTE) existing in each ECU at runtime. During this process, configuration files are written that record the properties and constraints of each software component and each ECU in the vehicle.

한국공개특허 제2010-0062787호(공개일: 2010.06.10)Korean Patent Publication No. 2010-0062787 (Published: 2010.06.10)

실시 예는 새로운 어플리케이션이 쉽게 설치 및 사용(Plug & Play)될 수 있는 미들웨어 장치 및 방법을 제공한다.The embodiment provides a middleware device and a method in which a new application can be easily installed and used (Plug & Play).

또한, 실시 예는 어플리케이션이 설치될 경우의 안정성 문제를 체크할 수 있는 미들웨어 장치 및 방법을 제공한다.In addition, the embodiment provides a middleware device and method that can check the stability problem when the application is installed.

실시 예에 따른 미들웨어 장치는, 입력된 새로운 어플리케이션을 분석하여 태스크 발생 메시지를 생성하는 마스터 ECU; 및 상기 태스크 발생 메시지를 수신하고, 상기 수신된 태스크 발생 메시지를 분석하여 새로운 태스크를 생성하는 슬래이브 ECU;를 포함하고, 상기 슬래이브 ECU는, 상기 마스터 ECU로부터 소정의 메시지를 수신하고, 상기 수신된 소정의 메시지가 상기 태스크 발생 메시지인지를 식별하는 수신부; 상기 수신부가 상기 수신된 소정의 메시지를 상기 태스크 발생 메시지로 판단하면, 상기 수신부로부터 상기 태스크 발생 메시지를 입력받아 분석하여 새로운 SWC 리스트와 상기 새로운 태스크를 생성하는 태스크 생성부; 및 상기 생성된 새로운 태스크를 저장하는 태스크 저장부;를 포함한다.According to an embodiment of the present disclosure, a middleware device may include: a master ECU configured to analyze a new input application to generate a task occurrence message; And a slave ECU that receives the task occurrence message and analyzes the received task occurrence message to generate a new task, wherein the slave ECU receives a predetermined message from the master ECU and receives the received message. A receiving unit identifying whether a predetermined message is a task occurrence message; A task generator for generating a new SWC list and the new task by receiving and analyzing the task occurrence message from the receiver when the receiver determines the received predetermined message as the task occurrence message; And a task storage unit for storing the generated new task.

여기서, 상기 마스터 ECU는, 상기 어플리케이션을 파싱하여 SWC 리스트와 SWC 매핑 정보를 생성하는 파싱부; 및 상기 SWC 리스트와 상기 SWC 매핑 정보를 이용하여 상기 태스크 발생 메시지를 생성하는 태스크 메시지 생성부;를 포함할 수 있다.Here, the master ECU, the parser for parsing the application to generate a SWC list and SWC mapping information; And a task message generator configured to generate the task occurrence message by using the SWC list and the SWC mapping information.

여기서, 상기 태스크 메시지 생성부는 상기 태스크 발생 메시지의 헤더에 상기 태스크 발생 메시지임을 식별하기 위한 소정의 표시자를 부가할 수 있다.Here, the task message generator may add a predetermined indicator for identifying the task occurrence message to a header of the task occurrence message.

여기서, 상기 마스터 ECU는, 상기 슬래이브 ECU에 설치된 태스크와 설치될 태스크의 안정성을 검사하는 안정성 분석부를 더 포함할 수 있다.Here, the master ECU may further include a stability analysis unit for checking the stability of the task installed in the slave ECU and the task to be installed.

여기서, 상기 안정성 분석부는 스케쥴 가능성 분석을 수행할 수 있다.Here, the stability analyzer may perform a schedule likelihood analysis.

여기서, 상기 어플리케이션은 워크플로우 디스크립션일 수 있다.Here, the application may be a workflow description.

여기서, 상기 수신부는, 상기 수신된 소정의 메시지가 상기 태스크 발생 메시지가 아닌 것으로 판단되면, 상기 수신된 소정의 메시지를 태스크 실행 메시지로 인식하고, 상기 태스크 실행 메시지를 상기 저장부로 전달할 수 있다.Here, when it is determined that the received predetermined message is not the task occurrence message, the receiver may recognize the received predetermined message as a task execution message and transfer the task execution message to the storage unit.

여기서, 상기 수신부는 상기 수신된 메시지의 헤더에 소정의 표시자가 있는지 여부를 판별하여 상기 태스크 발생 메시지를 식별할 수 있다.Here, the receiver may identify the task occurrence message by determining whether a predetermined indicator is present in the header of the received message.

다른 실시 예에 따른 미들웨어 방법은, 입력된 새로운 어플리케이션을 분석하여 태스크 발생 메시지를 생성하는 태스크 발생 메시지 생성 단계; 및 상기 태스크 발생 메시지를 분석하여 새로운 태스크를 생성하는 태스크 생성 단계;를 포함하고, 상기 태스크 생성 단계는, 상기 태스크 발생 메시지 생성 단계에서 생성된 소정의 메시지가 상기 태스크 발생 메시지인지를 식별하는 식별 단계; 상기 식별 단계에서, 상기 소정의 메시지가 상기 태스크 발생 메시지로 판단되면, 상기 태스크 발생 메시지를 분석하여 새로운 SWC 리스트와 상기 새로운 태스크를 생성하는 생성 단계; 및 상기 새로운 태스크를 저장하는 저장 단계;를 포함한다.According to another embodiment of the present disclosure, a middleware method includes: generating a task occurrence message by analyzing an input new application; And a task generation step of generating a new task by analyzing the task occurrence message, wherein the task generation step includes: identifying whether a predetermined message generated in the task occurrence message generation step is the task occurrence message; ; In the identifying step, generating the new SWC list and the new task by analyzing the task occurrence message when the predetermined message is determined to be the task occurrence message; And a storing step of storing the new task.

여기서, 상기 태스크 발생 메시지 생성 단계는, 상기 어플리케이션을 파싱하여 SWC 리스트와 SWC 매핑 정보를 생성하는 단계; 및 상기 SWC 리스트와 상기 SWC 매핑 정보를 이용하여 상기 태스크 발생 메시지를 생성하는 단계;를 포함할 수 있다.The task generation message generating step may include: parsing the application to generate a SWC list and SWC mapping information; And generating the task occurrence message by using the SWC list and the SWC mapping information.

여기서, 상기 태스크 발생 메시지의 헤더에 소정의 표시자를 부가하는 단계를 더 포함할 수 있다.The method may further include adding a predetermined indicator to the header of the task occurrence message.

여기서, 상기 태스크 발생 메시지 생성되면, 설치된 태스크와 설치될 태스크의 안정성을 검사하는 단계를 더 포함할 수 있다.Here, when the task occurrence message is generated, the method may further include checking stability of the installed task and the task to be installed.

여기서, 상기 안정성을 검사하는 단계는 스케쥴 가능성 분석을 이용할 수 있다.Here, the checking of the stability may use a schedulability analysis.

여기서, 상기 어플리케이션은 워크플로우 디스크립션 형태로 입력될 수 있다.Here, the application may be input in the form of a workflow description.

여기서, 상기 식별 단계에서, 상기 소정의 메시지가 상기 태스크 발생 메시지가 아닌 것으로 판단되면, 상기 소정의 메시지를 태스크 실행 메시지로 인식하고, 상기 태스크 실행 메시지를 저장하는 단계를 더 포함할 수 있다.Here, in the identifying step, when it is determined that the predetermined message is not the task occurrence message, the method may further include recognizing the predetermined message as a task execution message and storing the task execution message.

여기서, 상기 식별 단계는 상기 태스크 발생 메시지의 헤더에 소정의 표시자가 있는지 여부를 판별할 수 있다.Here, the identifying may determine whether a predetermined indicator is present in the header of the task occurrence message.

실시 예에 따른 미들웨어 장치 및 방법을 사용하면, 새로운 어플리케이션이 쉽게 설치 및 사용(Plug & Play)될 수 있는 이점이 있다.Using the middleware device and method according to the embodiment, there is an advantage that a new application can be easily installed and used (Plug & Play).

또한, 어플리케이션이 설치될 경우의 안정성 문제를 체크할 수 있는 이점이 있다.In addition, there is an advantage that can check the stability problem when the application is installed.

도 1은 오토사의 아키텍처(Architecture).
도 2는 종래의 오토사를 이용하여 하나의 자동차 어플리케이션을 개발하는 과정을 설명하는 도면.
도 3은 실시 예에 따른 미들웨어 장치의 블록도.
도 4는 워크플로우 디스크립션의 일 예.
도 5는 태스크 발생 메시지 생성의 일 예.
도 6은 제1 슬래이브 ECU의 동작을 설명하기 위한 일 예.
도 7은 도 3에 도시된 미들웨어 장치가 구현된 일 예를 보여주는 아키텍처.
도 8은 도 3에 도시된 마스터 ECU의 동작을 설명하기 위한 순서도.
도 9는 도 3에 도시된 제1 슬래이브 ECU의 동작을 설명하기 위한 순서도.
1 is an architecture of Otto Corporation.
2 is a view illustrating a process of developing a vehicle application using a conventional auto company.
3 is a block diagram of a middleware device according to an embodiment.
4 is an example of a workflow description.
5 is an example of task occurrence message generation.
6 is an example for explaining the operation of the first slave ECU.
7 is an architecture showing an example in which the middleware device shown in FIG. 3 is implemented.
8 is a flow chart for explaining the operation of the master ECU shown in FIG.
9 is a flow chart for explaining the operation of the first slave ECU shown in FIG.

도면에서 각층의 두께나 크기는 설명의 편의 및 명확성을 위하여 과장되거나 생략되거나 또는 개략적으로 도시되었다. 또한 각 구성요소의 크기는 실제크기를 전적으로 반영하는 것은 아니다.The thickness and size of each layer in the drawings are exaggerated, omitted, or schematically shown for convenience and clarity of explanation. Also, the size of each component does not entirely reflect the actual size.

실시 예의 설명에 있어서, 어느 한 element가 다른 element의 " 상(위) 또는 하(아래)(on or under)"에 형성되는 것으로 기재되는 경우에 있어, 상(위) 또는 하(아래)(on or under)는 두 개의 element가 서로 직접(directly)접촉되거나 하나 이상의 다른 element가 상기 두 element사이에 배치되어(indirectly) 형성되는 것을 모두 포함한다. 또한 “상(위) 또는 하(아래)(on or under)”으로 표현되는 경우 하나의 element를 기준으로 위쪽 방향뿐만 아니라 아래쪽 방향의 의미도 포함할 수 있다.In the description of the embodiment, when one element is described as being formed on an "on or under" of another element, it is on (up) or down (on). or under) includes two elements in which the two elements are in direct contact with each other or one or more other elements are formed indirectly between the two elements. Also, when expressed as "on or under", it may include not only an upward direction but also a downward direction with respect to one element.

이하 첨부된 도면을 참조하여 실시 예에 따른 미들웨어 장치를 설명한다. 아래 실시 예는 자동차용 미들웨어 장치를 일 예로 든 것으로, 본 발명의 미들웨어 장치는 자동차용 미들웨어 장치로 한정되는 것이 아니다.Hereinafter, a middleware device according to an embodiment will be described with reference to the accompanying drawings. The following embodiment is taken as an example of a vehicle middleware device, the middleware device of the present invention is not limited to the vehicle middleware device.

도 3은 실시 예에 따른 미들웨어 장치의 블록도이고, 도 7은 도 3에 도시된 미들웨어 장치가 구현된 일 예를 보여주는 아키텍처이다.3 is a block diagram of a middleware device according to an embodiment, and FIG. 7 is an architecture illustrating an example in which the middleware device shown in FIG. 3 is implemented.

도 3을 참조하면, 실시 예에 따른 미들웨어 장치는, 마스터 ECU(master ECU, 100)와 슬래이브 ECU(Slave ECU, 310, 330)를 포함한다. 여기서, 설명의 편의를 위해, 슬래이브 ECU(310, 330) 2개가 도시되어 있으나, 이에 한정하는 것은 아니다. 즉, 슬래이브 ECU(310, 330)의 개수는 하나일 수도 있고, 셋 이상일 수 있다. 슬래이브 ECU(310, 330)의 개수는 새로운 자동차 어플리케이션이 필요로 하는 ECU의 개수에 따라 더 증가될 수 있다.Referring to FIG. 3, the middleware device according to the embodiment includes a master ECU 100 and a slave ECU 310 and 330. Here, two slave ECUs 310 and 330 are shown for convenience of description, but the present invention is not limited thereto. That is, the number of slave ECUs 310 and 330 may be one or more than three. The number of slave ECUs 310, 330 may be further increased depending on the number of ECUs required by the new automotive application.

마스터 ECU(100)는 자동차에 설치된 모든 자동차 어플리케이션들을 관리한다. 이러한 마스터 ECU(100)는 새로운 자동차 어플리케이션의 설치 및 삭제를 담당한다. 또한, 마스터 ECU(100)는 새로운 자동차 어플리케이션의 안정성 검사도 실행할 수 있다.The master ECU 100 manages all automotive applications installed in the vehicle. The master ECU 100 is responsible for installing and deleting new vehicle applications. In addition, the master ECU 100 can also perform stability checks of new automotive applications.

구체적으로, 마스터 ECU(100)는 파싱부(110) 및 태스크 메시지 생성부(130)를 포함할 수 있다. 마스터 ECU(100)로 새롭게 설치된 자동차 어플리케이션이 입력된다. 여기서, 입력되는 자동차 어플리케이션은 워크플로우 디스크립션(Workflow Description) 형태일 수 있다. 예를 들면, 워크플로우 디스크립션은, 도 4에 도시된 바와 같이, XML 파일일 수 있다. 또한, 자동차 어플리케이션은 일종의 순서도일 수 있다. In detail, the master ECU 100 may include a parser 110 and a task message generator 130. The newly installed vehicle application is input to the master ECU 100. Here, the input car application may be in the form of a workflow description. For example, the workflow description may be an XML file, as shown in FIG. 4. In addition, the automotive application may be a kind of flowchart.

파싱부(110)는 워크플로우 디스크립션을 입력받는다. 파싱부(110)는 입력된 워크플로우 디스크립션을 파싱(parsing)한다. 파싱부(110)는 워크플로우 디스크립션을 파싱하여 SWC 리스트(list)를 생성한다. 아래의 <표 1>은 도 4에 도시된 XML 파일을 파싱하여 생성된 SWC 리스트의 일 예이다. SWC 리스트는 SWC들이 수행되는 순서대로 리스트된 것일 수 있다.The parsing unit 110 receives a workflow description. The parser 110 parses the input workflow description. The parser 110 parses the workflow description to generate a SWC list. Table 1 below is an example of a SWC list generated by parsing the XML file illustrated in FIG. 4. The SWC list may be listed in the order in which the SWCs are performed.

strIDstrID strNamestrName strECUIPstrECUIP strPeriodstrPeriod 1One MasterMaster 192.168.0.3192.168.0.3 00 22 MDPSMDPS 192.168.0.6192.168.0.6 00 ...... 55 L_VML_VM 192.168.0.4192.168.0.4 100(ms)100 (ms) ......

또한, 파싱부(110)는 워크플로우 디스크립션을 파싱하여 SWC 매핑(mapping) 정보를 생성한다. SWC 매핑 정보는 SWC들 간의 연결 관계에 대한 정보로서, 도 4에 도시된 XML 파일의 410 부분에 관한 정보일 수 있다. 여기서, SWC 매핑 정보는 제1 슬래이브 ECU(310)에서 수행되어야 하는 SWC들의 매핑 정보일 수도 있고, 혹은 제1 슬래이브 ECU(310)에 의해 수행되어야 하는 SWC와 제2 슬래이브 ECU(330)에 의해 수행되어야 하는 SWC의 연결 정보일 수도 있다. In addition, the parser 110 parses the workflow description to generate SWC mapping information. The SWC mapping information is information on a connection relationship between SWCs and may be information about a part 410 of the XML file illustrated in FIG. 4. Here, the SWC mapping information may be mapping information of SWCs to be performed in the first slave ECU 310 or SWC and second slave ECU 330 to be performed by the first slave ECU 310. It may also be connection information of the SWC to be performed by.

파싱부(110)는 생성된 SWC 리스트와 SWC 매핑 정보를 태스크 메시지 생성부(130)로 출력한다.The parser 110 outputs the generated SWC list and the SWC mapping information to the task message generator 130.

태스크 메시지 생성부(130)는 파싱부(110)로부터 SWC 리스트와 SWC 매핑 정보를 입력받는다. The task message generator 130 receives the SWC list and the SWC mapping information from the parser 110.

태스크 메시지 생성부(130)는 SWC 리스트와 SWC 매핑 정보를 이용하여 태스크 발생 메시지(Task Generation Message)를 생성한다. 좀 더 구체적으로, 태스크 메시지 생성부(130)는 SWC 리스트와 SWC 매핑 정보를 슬래이브 ECU들(310, 330) 별로 분류한다. 어느 하나의 슬래이브 ECU에 해당하는 정보들이 하나의 태스크 발생 메시지에 포함된다. 도 5는 태스크 발생 메시지를 생성하는 과정의 일 예이다.The task message generator 130 generates a task generation message using the SWC list and the SWC mapping information. More specifically, the task message generator 130 classifies the SWC list and the SWC mapping information by the slave ECUs 310 and 330. Information corresponding to any one slave ECU is included in one task occurrence message. 5 is an example of a process of generating a task occurrence message.

태스크 메시지 생성부(130)는 태스크 발생 메시지를 슬래이브 ECU들(310, 330) 별로 각각 생성하고, 생성된 태스크 발생 메시지들을 각 슬래이브 ECU들(310, 330)로 전송한다. The task message generator 130 generates a task occurrence message for each of the slave ECUs 310 and 330, and transmits the generated task occurrence messages to each slave ECUs 310 and 330.

여기서, 태스크 메시지 생성부(130)는 생성되는 태스크 발생 메시지에 소정의 표시자를 헤더(header)에 부가할 수 있다. 이는 메시지를 받는 슬래이브 ECU(310)가 태스크 발생 메시지를 식별하기 위한 것이다. 도 5를 참조하면, 태스크 메시지 생성부(130)는 생성된 메시지가 태스크 발생 메시지임을 표시하기 위해, 표시자로서 <run>을 헤더에 추가하였다.Here, the task message generator 130 may add a predetermined indicator to the header in the generated task occurrence message. This is for the slave ECU 310 receiving the message to identify the task occurrence message. Referring to FIG. 5, the task message generator 130 adds <run> to the header as an indicator to indicate that the generated message is a task occurrence message.

한편, 자동차는 사람의 생명과 밀접한 관련을 가지기 때문에, 슬래이브 ECU들(310, 330)에서 수행되는 태스크들의 실시간성 보장이 매우 중요하다. 따라서, 마스터 ECU(100)는 슬래이브 ECU들(310, 330)의 안정성 검사를 위해, 안정성 분석부(150)를 가질 수 있다.On the other hand, since the automobile is closely related to the life of a person, it is very important to ensure the real time of the tasks performed in the slave ECUs (310, 330). Accordingly, the master ECU 100 may have a stability analyzer 150 to check the stability of the slave ECUs 310 and 330.

안정성 분석부(150)는 모든 슬래이브 ECU들(310, 330) 각각에 설치된 태스크들과 설치될 태스크의 안정성을 분석한다. 일 예로, 안정성 분석부(150)는 슬래이브 ECU(310, 330)에 설치된 태스크들과 설치될 태스크에 대하여 스케쥴 가능성 분석(Schedulability analysis)을 수행할 수 있다. 스케쥴 가능성 분석은 3가지 파라미터(parameter)들, 예를 들면 최악 실행 시간(worst-case execution time, WCET), 마감(Deadline) 및 우선순위(Priorty)를 이용하여 모든 태스크들이 정확한 시간에 맞춰 동작을 할 수 있는지를 체크한다. 안정성 분석부(150)를 통해, 자동차 어플리케이션에 대한 신뢰성을 보장할 수 있다.The stability analyzing unit 150 analyzes the tasks installed in each of the slave ECUs 310 and 330 and the stability of the task to be installed. For example, the stability analyzer 150 may perform a scheduleability analysis on tasks installed in the slave ECUs 310 and 330 and tasks to be installed. The schedulability analysis uses three parameters, for example, worst-case execution time (WCET), deadline, and priority, to ensure that all tasks perform their actions on time. Check if you can. Through the stability analysis unit 150, it is possible to ensure the reliability for automotive applications.

슬래이브 ECU(310, 330)는 자동차에 있어서 어느 한 기능을 담당하는 ECU이다. 예를 들어 슬래이브 ECU(310, 330)는 MDPS(Motor Driving Power Steering) 시스템에 관련된 ECU일 수도 있다. 예를 들어, 제1 슬래이브 ECU(310)는 Left_Motor ECU일 수 있다.Slave ECUs 310 and 330 are ECUs that perform either function in a vehicle. For example, the slave ECUs 310 and 330 may be ECUs related to a motor driving power steering (MDPS) system. For example, the first slave ECU 310 may be a Left_Motor ECU.

제1 및 제2 슬래이브 ECU(310, 330)는 마스터 ECU(100)로부터 태스크 발생 메시지를 입력받는다. 제1 및 제2 슬래이브 ECU(310, 330)는 태스크 발생 메시지를 이용하여 새로운 태스크를 생성한다. 이하에서, 제1 슬래이브 ECU(310)의 구성을 구체적으로 설명하도록 한다. 여기서, 제2 슬래이브 ECU(330)는 제1 슬래이브 ECU(310)와 동일하므로, 제2 슬래이브 ECU(330)의 구체적인 설명은 생략하도록 한다. The first and second slave ECUs 310 and 330 receive a task occurrence message from the master ECU 100. The first and second slave ECUs 310 and 330 generate new tasks using the task occurrence message. Hereinafter, the configuration of the first slave ECU 310 will be described in detail. Here, since the second slave ECU 330 is the same as the first slave ECU 310, detailed description of the second slave ECU 330 will be omitted.

제1 슬래이브 ECU(310)는 수신부(311), 태스크 생성부(313) 및 태스크 저장부(315)를 포함할 수 있다. The first slave ECU 310 may include a receiver 311, a task generator 313, and a task storage unit 315.

수신부(311)는 마스터 ECU(100)로부터 입력되는 메시지가 태스크 발생 메시지인지를 구별한다. 이의 구별을 위해, 수신부(311)는 입력되는 메시지의 헤더를 체크한다. 입력되는 메시지의 헤더에 본 메시지는 태스크 발생 메지시임을 표시하는 표시자(<run>)가 존재하는 경우, 수신부(311)는 해당 메시지를 태스크 발생 메시지로 인식하고, 태스크 발생 메시지를 태스크 생성부(313)로 전달한다. 반면, 입력되는 메시지의 헤더에 태스크 발생 메시지임을 표시하는 표시자가 없는 경우, 수신부(311)는 해당 메시지를 태스크 실행 메시지로 인식하고, 태스크 실행 메시지를 태스크 저장부(315)로 전달한다.The receiver 311 determines whether a message input from the master ECU 100 is a task occurrence message. To distinguish this, the receiver 311 checks a header of an input message. If there is an indicator (<run>) indicating that the message is a task occurrence message in the header of the input message, the receiver 311 recognizes the corresponding message as a task occurrence message and recognizes the task occurrence message as a task generator. Forward to 313. On the other hand, if there is no indicator indicating a task occurrence message in the header of the input message, the receiver 311 recognizes the message as a task execution message, and delivers the task execution message to the task storage unit 315.

태스크 생성부(313)는 수신부(311)로부터 태스크 발생 메시지를 입력받는다. 태스크 생성부(313)는 태스크 발생 메시지를 파싱 및 분석하여, 새로운 SWC 리스트를 생성하고, 생성된 SWC 리스트를 수행하는 새로운 태스크를 생성한다. 여기서, 새로운 태스크는 태스크 템플릿(Task Template)을 통해 생성될 수 있다. 상기 태스크 템플릿은 SWC 리스트를 순차적으로 실행시켜주는 역할도 수행할 수 있다.The task generator 313 receives a task occurrence message from the receiver 311. The task generator 313 parses and analyzes a task occurrence message, generates a new SWC list, and generates a new task that performs the generated SWC list. Here, the new task may be generated through a task template. The task template may also play a role of sequentially executing a SWC list.

태스크 생성부(313)는 생성된 새로운 태스크를 태스크 저장부(315)에 저장되도록 한다. 예를 들어, 도 6에 도시된 바와 같이, 태스크 생성부(313)는 도 5에 도시된 태스크 발생 메시지로부터 VM2로 명명된 새로운 태스크를 태스크 저장부(315)에 저장되도록 한다. 여기서, VM2 태스크는 PWM를 획득하는 SWC와, 획득된 PWM을 전송(send)하는 SWC를 수행하는 태스크일 수 있다. The task generator 313 stores the generated new task in the task storage unit 315. For example, as shown in FIG. 6, the task generator 313 allows a new task named VM2 to be stored in the task storage unit 315 from the task occurrence message shown in FIG. 5. Here, the VM2 task may be a task for performing a SWC for acquiring the PWM and a SWC for transmitting the acquired PWM.

태스크 저장부(315)는 수신부(311)로부터 입력되는 태스크 실행 메시지를 저장한다. 또한, 태스크 저장부(315)는 태스크 태스크 생성부(313)로부터 입력되는 새로운 태스크를 저장한다. 여기서, 태스크 저장부(315)는 입력되는 정보를 리스트(list), 대기 행렬(queue) 및 어레이(array) 중 어느 하나의 형태로 저장할 수 있다. The task storage unit 315 stores a task execution message input from the receiver 311. In addition, the task storage unit 315 stores a new task input from the task task generator 313. Here, the task storage unit 315 may store the input information in one of a list, a queue, and an array.

태스크 저장부(315)는 태스크 저장부(315)에 저장된 태스크 실행 메시지에 따라 내부의 태스크들을 실행시킨다.The task storage unit 315 executes internal tasks according to the task execution message stored in the task storage unit 315.

도 8은 도 3에 도시된 마스터 ECU의 동작을 설명하기 위한 순서도이다.8 is a flowchart for describing an operation of the master ECU illustrated in FIG. 3.

도 3 및 도 8을 참조하면, 마스터 ECU(100)에 워크플로우 디스크립션이 입력(810)되면, 파싱부(110)가 워크플로우 디스크립션을 파싱하고, SWC들의 동작 순서에 따른 SWC 리스트를 생성한다(820). 여기서, 파싱부(110)는 SWC 매핑 정보도 함께 생성할 수 있다. 파싱부(110)가 생성된 SWC 리스트와 SWC 매핑 정보를 태스크 메시지 생성부(130)로 전송한다.3 and 8, when the workflow description is input 810 to the master ECU 100, the parser 110 parses the workflow description and generates a SWC list according to the operation sequence of the SWCs ( 820). Here, the parser 110 may also generate SWC mapping information. The parser 110 transmits the generated SWC list and the SWC mapping information to the task message generator 130.

SWC 리스트와 SWC 매핑 정보를 기초로 하여 태스크 메시지 생성부(130)는 슬래이브 ECU들(310, 330)별로 SWC들의 연계 정보가 포함된 태스크 발생 메시지를 생성한다(830). 태스크 발생 메시지는 해당 슬래이브 ECU로 바로 전송될 수도 있고, 전송 전에 안정성 분석이 이루어질 수 있다. Based on the SWC list and the SWC mapping information, the task message generator 130 generates a task occurrence message including the linkage information of the SWCs for each of the slave ECUs 310 and 330 (830). The task occurrence message may be sent directly to the slave ECU or stability analysis may be performed before transmission.

안정성 분석이 이루어지는 경우, 안정성 분석부(150)는 생성된 태스크 발생 메시지가 전송될 슬래이브 ECU의 안정성 분석을 수행한다. 안정성 분석은 해당 슬래이브 ECU에 새로운 태스크가 설치될 경우, 기존 태스크와 새로운 태스크의 스케쥴링이 가능한지 여부를 판별하여 분석할 수 있다(840). 만약, 안정성 분석 결과, 스케쥴이 가능하면, 태스크 메시지 생성부(130)는 생성된 태스크 발생 메시지를 해당 슬래이브 ECU(310, 330)로 전송하고(850), 태스크 발생 메시지를 받은 슬래이브 ECU(310, 330)로부터 전송 완료 메시지를 받고 동작을 종료한다(860). 반면, 스케쥴링 불가능하면, 태스크 메시지 생성부(130)는 생성된 태스크 발생 메시지를 해당 슬래이브 ECU(310, 330)로 전송하지 않고, 설치가 불가능함을 사용자에게 알려 준다(870).When the stability analysis is performed, the stability analysis unit 150 performs stability analysis of the slave ECU to which the generated task occurrence message is transmitted. When a new task is installed in the corresponding slave ECU, the stability analysis may determine whether the existing task and the new task can be scheduled (840). If, as a result of the stability analysis, the schedule is possible, the task message generating unit 130 transmits the generated task occurrence message to the corresponding slave ECU (310, 330) (850), the slave ECU received the task occurrence message ( In step 310, the mobile terminal receives the transmission completion message from 310 and 330. On the other hand, if the scheduling is not possible, the task message generator 130 does not transmit the generated task occurrence message to the corresponding slave ECUs 310 and 330, and notifies the user that installation is impossible (870).

도 9는 도 3에 도시된 제1 슬래이브 ECU의 동작을 설명하기 위한 순서도이다.FIG. 9 is a flowchart for describing an operation of the first slave ECU illustrated in FIG. 3.

제1 슬래이브 ECU(310)가 마스터 ECU(100)로부터 소정의 메시지를 수신(910)하면, 수신기(311)는 수신된 메시지가 태스크 발생 메시지인지 여부를 판별한다(920). 수신된 메시지가 태스크 발생 메시지인지 여부는 수신된 메시지의 헤더에 표시자가 존재하는지 여부로 판별할 수 있다. When the first slave ECU 310 receives a predetermined message from the master ECU 100 (910), the receiver 311 determines whether the received message is a task occurrence message (920). Whether the received message is a task occurrence message may be determined by whether an indicator exists in the header of the received message.

판별 결과, 수신된 메시지가 태스크 발생 메시지인 경우, 수신기(910)는 태스크 발생 메시지를 태스크 생성부(313)로 전송하고, 태스크 생성부(313)는 태스크 발생 메시지를 파싱 및 분석한다(930). 그리고, 태스크 생성부(313)는 태스크 발생 메시지로부터 새로운 SWC 리스트를 생성하고, 생성된 SWC 리스트를 수행하는 새로운 태스크를 생성한다(940). 여기서, 생성되는 SWC 리스트는 복수의 SWC들의 수행 순서가 담긴 정보이고, 새로운 태스크는 태스크 템플릿(Task Template)을 통해 생성될 수 있다. 다음으로, 태스크 생성부(313)는 생성된 태스크를 태스크 저장부(315)에 저장시킨다(950). As a result of the determination, when the received message is a task occurrence message, the receiver 910 transmits the task occurrence message to the task generator 313, and the task generator 313 parses and analyzes the task occurrence message (930). . The task generator 313 generates a new SWC list from the task occurrence message and generates a new task for performing the generated SWC list (940). Here, the generated SWC list is information containing the execution order of the plurality of SWCs, and a new task may be generated through a task template. Next, the task generator 313 stores the generated task in the task storage unit 315 (950).

반면, 수신된 메시지가 태스크 발생 메시지가 아닌 경우, 수신기(910)는 수신된 메시지를 태스크 실행 메시지로 판별하고, 태스크 실행 메시지를 태스크 저장부(315)에 전달하여 태스크 저장부(315)에 저장되도록 한다(960). 여기서, 태스크 실행 메시지는 태스크 저장부(315)의 이벤트 큐(event queue)로 입력될 수 있다. 다음으로, 태스크 저장부(315)는 태스크 실행 메시지를 실행시켜 내부의 태스크들을 실행시킨다(970).On the other hand, if the received message is not a task occurrence message, the receiver 910 determines the received message as a task execution message, delivers the task execution message to the task storage unit 315 and stores it in the task storage unit 315. (960). Here, the task execution message may be input to an event queue of the task storage unit 315. Next, the task storage unit 315 executes a task execution message to execute internal tasks (970).

이상에서 실시 예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시 예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.Although the above description has been made with reference to the embodiments, these are only examples and are not intended to limit the present invention, and those of ordinary skill in the art to which the present invention pertains should not be exemplified above without departing from the essential characteristics of the present embodiments. It will be appreciated that many variations and applications are possible. For example, each component specifically shown in the embodiments can be modified and implemented. It is to be understood that all changes and modifications that come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.

100: 마스터 ECU
110: 파싱부
130: 태스크 메시지 생성부
150: 안정성 분석부
310, 330: 슬래이브 ECU
311: 수신부
313: 태스크 생성부
315: 태스크 저장부
100: master ECU
110: parser
130: task message generator
150: stability analysis unit
310, 330: slave ECU
311: receiving unit
313: task generator
315: task storage unit

Claims (16)

입력된 새로운 어플리케이션을 분석하여 태스크 발생 메시지를 생성하는 마스터 ECU; 및
상기 태스크 발생 메시지를 수신하고, 상기 수신된 태스크 발생 메시지를 분석하여 새로운 태스크를 생성하는 슬래이브 ECU;를 포함하고,
상기 슬래이브 ECU는,
상기 마스터 ECU로부터 소정의 메시지를 수신하고, 상기 수신된 소정의 메시지가 상기 태스크 발생 메시지인지를 식별하는 수신부;
상기 수신부가 상기 수신된 소정의 메시지를 상기 태스크 발생 메시지로 판단하면, 상기 수신부로부터 상기 태스크 발생 메시지를 입력받아 분석하여 새로운 SWC 리스트와 상기 새로운 태스크를 생성하는 태스크 생성부; 및
상기 생성된 새로운 태스크를 저장하는 태스크 저장부;를 포함하는, 미들웨어 장치.
A master ECU for analyzing the inputted new application and generating a task occurrence message; And
And a slave ECU configured to receive the task occurrence message and analyze the received task occurrence message to generate a new task.
The slave ECU,
A receiving unit which receives a predetermined message from the master ECU and identifies whether the received predetermined message is the task occurrence message;
A task generator for generating a new SWC list and the new task by receiving and analyzing the task occurrence message from the receiver when the receiver determines the received predetermined message as the task occurrence message; And
And a task storage unit for storing the generated new task.
제 1 항에 있어서, 상기 마스터 ECU는,
상기 어플리케이션을 파싱하여 SWC 리스트와 SWC 매핑 정보를 생성하는 파싱부; 및
상기 SWC 리스트와 상기 SWC 매핑 정보를 이용하여 상기 태스크 발생 메시지를 생성하는 태스크 메시지 생성부;를 포함하는 미들웨어 장치.
The method of claim 1, wherein the master ECU,
A parser configured to parse the application to generate a SWC list and SWC mapping information; And
And a task message generator configured to generate the task occurrence message using the SWC list and the SWC mapping information.
제 2 항에 있어서,
상기 태스크 메시지 생성부는 상기 태스크 발생 메시지의 헤더에 상기 태스크 발생 메시지임을 식별하기 위한 소정의 표시자를 부가하는 미들웨어 장치.
3. The method of claim 2,
The task message generating unit adds a predetermined indicator for identifying the task occurrence message to a header of the task occurrence message.
제 2 항에 있어서, 상기 마스터 ECU는,
상기 슬래이브 ECU에 설치된 태스크와 설치될 태스크의 안정성을 검사하는 안정성 분석부를 더 포함하는 미들웨어 장치.
The method of claim 2, wherein the master ECU,
The middleware device further comprises a stability analysis unit for checking the stability of the task installed in the slave ECU and the task to be installed.
제 4 항에 있어서,
상기 안정성 분석부는 스케쥴 가능성 분석을 수행하는 미들웨어 장치.
5. The method of claim 4,
The stability analysis unit middleware device for performing a schedulability analysis.
제 1 항에 있어서,
상기 어플리케이션은 워크플로우 디스크립션인 미들웨어 장치.
The method according to claim 1,
The application is a middleware device that is a workflow description.
제 1 항에 있어서, 상기 수신부는,
상기 수신된 소정의 메시지가 상기 태스크 발생 메시지가 아닌 것으로 판단되면, 상기 수신된 소정의 메시지를 태스크 실행 메시지로 인식하고, 상기 태스크 실행 메시지를 상기 저장부로 전달하는, 미들웨어 장치.
The method of claim 1, wherein the receiving unit,
And determining that the received predetermined message is not the task occurrence message, recognizing the received predetermined message as a task execution message, and transferring the task execution message to the storage.
제 1 항 또는 제 7 항에 있어서,
상기 수신부는 상기 수신된 메시지의 헤더에 소정의 표시자가 있는지 여부를 판별하여 상기 태스크 발생 메시지를 식별하는 미들웨어 장치.
8. The method of claim 1 or 7,
And the receiving unit identifies the task occurrence message by determining whether a predetermined indicator is present in a header of the received message.
입력된 새로운 어플리케이션을 분석하여 태스크 발생 메시지를 생성하는 태스크 발생 메시지 생성 단계; 및
상기 태스크 발생 메시지를 분석하여 새로운 태스크를 생성하는 태스크 생성 단계;를 포함하고,
상기 태스크 생성 단계는,
상기 태스크 발생 메시지 생성 단계에서 생성된 소정의 메시지가 상기 태스크 발생 메시지인지를 식별하는 식별 단계;
상기 식별 단계에서, 상기 소정의 메시지가 상기 태스크 발생 메시지로 판단되면, 상기 태스크 발생 메시지를 분석하여 새로운 SWC 리스트와 상기 새로운 태스크를 생성하는 생성 단계; 및
상기 새로운 태스크를 저장하는 저장 단계;를 포함하는, 미들웨어 방법.
Generating a task occurrence message by analyzing the inputted new application and generating a task occurrence message; And
A task generation step of generating a new task by analyzing the task occurrence message;
The task generation step,
An identification step of identifying whether a predetermined message generated in the task occurrence message generation step is the task occurrence message;
In the identifying step, generating the new SWC list and the new task by analyzing the task occurrence message when the predetermined message is determined to be the task occurrence message; And
And storing the new task.
제 9 항에 있어서, 상기 태스크 발생 메시지 생성 단계는,
상기 어플리케이션을 파싱하여 SWC 리스트와 SWC 매핑 정보를 생성하는 단계; 및
상기 SWC 리스트와 상기 SWC 매핑 정보를 이용하여 상기 태스크 발생 메시지를 생성하는 단계;
를 포함하는 미들웨어 방법.
The method of claim 9, wherein the generating of the task occurrence message comprises:
Parsing the application to generate a SWC list and SWC mapping information; And
Generating the task occurrence message by using the SWC list and the SWC mapping information;
Middleware method comprising a.
제 10 항에 있어서,
상기 태스크 발생 메시지의 헤더에 소정의 표시자를 부가하는 단계를 더 포함하는 미들웨어 방법.
11. The method of claim 10,
And adding a predetermined indicator to the header of the task occurrence message.
제 10 항에 있어서,
상기 태스크 발생 메시지 생성되면, 설치된 태스크와 설치될 태스크의 안정성을 검사하는 단계를 더 포함하는 미들웨어 방법.
11. The method of claim 10,
If the task occurrence message is generated, the middleware method further comprises the step of checking the stability of the installed task and the task to be installed.
제 12 항에 있어서,
상기 안정성을 검사하는 단계는 스케쥴 가능성 분석을 이용하는 미들웨어 방법.
13. The method of claim 12,
Checking the stability comprises a middleware method using scheduleability analysis.
제 9 항에 있어서,
상기 어플리케이션은 워크플로우 디스크립션 형태로 입력되는 미들웨어 방법.
The method of claim 9,
The application is a middleware method that is input in the form of a workflow description.
제 9 항에 있어서,
상기 식별 단계에서, 상기 소정의 메시지가 상기 태스크 발생 메시지가 아닌 것으로 판단되면, 상기 소정의 메시지를 태스크 실행 메시지로 인식하고, 상기 태스크 실행 메시지를 저장하는 단계를 더 포함하는, 미들웨어 방법.
The method of claim 9,
And in the identifying step, if the predetermined message is not the task occurrence message, recognizing the predetermined message as a task execution message, and storing the task execution message.
제 9 항 또는 제 15 항에 있어서,
상기 식별 단계는 상기 태스크 발생 메시지의 헤더에 소정의 표시자가 있는지 여부를 판별하는 미들웨어 방법.
16. The method according to claim 9 or 15,
The identifying step is a middleware method for determining whether a predetermined indicator is present in a header of the task occurrence message.
KR1020120010295A 2012-02-01 2012-02-01 Apparatus and method for middleware KR101382109B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120010295A KR101382109B1 (en) 2012-02-01 2012-02-01 Apparatus and method for middleware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120010295A KR101382109B1 (en) 2012-02-01 2012-02-01 Apparatus and method for middleware

Publications (2)

Publication Number Publication Date
KR20130088990A KR20130088990A (en) 2013-08-09
KR101382109B1 true KR101382109B1 (en) 2014-04-09

Family

ID=49215084

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120010295A KR101382109B1 (en) 2012-02-01 2012-02-01 Apparatus and method for middleware

Country Status (1)

Country Link
KR (1) KR101382109B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103684963B (en) * 2013-11-18 2017-05-24 重庆邮电大学 Framework system and implementation method of middleware applied to car networking
KR102109125B1 (en) * 2014-12-11 2020-05-12 현대자동차주식회사 Method for managing state of ECU in vehicle based on automotive open system architecture

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100069768A (en) * 2008-12-17 2010-06-25 재단법인대구경북과학기술원 Method, apparatus and computer-readable recording medium with program for generating runtime environment
KR101017952B1 (en) * 2009-11-09 2011-03-02 재단법인대구경북과학기술원 Automatizing system for testing autosar software based on ttcn-3 and tesing method using the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100069768A (en) * 2008-12-17 2010-06-25 재단법인대구경북과학기술원 Method, apparatus and computer-readable recording medium with program for generating runtime environment
KR101017952B1 (en) * 2009-11-09 2011-03-02 재단법인대구경북과학기술원 Automatizing system for testing autosar software based on ttcn-3 and tesing method using the same

Also Published As

Publication number Publication date
KR20130088990A (en) 2013-08-09

Similar Documents

Publication Publication Date Title
CN109164783B (en) Vehicle diagnosis method, apparatus, device, and medium
Fürst et al. AUTOSAR–A Worldwide Standard is on the Road
Kum et al. AUTOSAR migration from existing automotive software
Sangiovanni-Vincentelli et al. Embedded system design for automotive applications
US9405601B2 (en) In-vehicle apparatus and program
CN111488165B (en) Method and system for upgrading vehicle ECU through script
US20130103379A1 (en) Apparatus and method for verifying interoperability between application software and autosar service
CN103529821A (en) Configurable method and device for diagnostic protocol stack system based on CAN (controller area network) bus
KR102141287B1 (en) Fault injection test method and system for vehicle software based on autosar
JP2018036972A (en) File format converter and conversion method thereof
Stolz et al. Domain control units-the solution for future E/E architectures?
Fürst et al. Autosar the next generation–the adaptive platform
KR101382109B1 (en) Apparatus and method for middleware
KR20120011723A (en) Method for scheduling of electric power steering based on automotive open system architecture
CN111221317B (en) Automobile diagnosis data processing method and system
CN116775375A (en) Method and system for data storage
Simonot-Lion et al. Vehicle functional domains and their requirements
CN113342426A (en) Application layer software component integration method and system
Kotur et al. Utilization of design patterns in AUTOSAR Adaptive standard
Galla et al. Refactoring an automotive embedded software stack using the component-based paradigm
Piao et al. Design and inmplementation of rte generator for automotive embedded software
Kang et al. Extending EAST-ADL towards formal modeling and analysis of energy-aware real-time systems
Li et al. SmartSAR: A component-based hierarchy software platform for automotive electronics
Schwabel Technical challenges in future electrical architectures
Richenhagen et al. PERSIST–A scalable software architecture for the control of diverse automotive hybrid topologies

Legal Events

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

Payment date: 20170327

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee