KR102188738B1 - 오토사 운영체제의 알람 오프셋 최적화 장치 - Google Patents
오토사 운영체제의 알람 오프셋 최적화 장치 Download PDFInfo
- Publication number
- KR102188738B1 KR102188738B1 KR1020190162688A KR20190162688A KR102188738B1 KR 102188738 B1 KR102188738 B1 KR 102188738B1 KR 1020190162688 A KR1020190162688 A KR 1020190162688A KR 20190162688 A KR20190162688 A KR 20190162688A KR 102188738 B1 KR102188738 B1 KR 102188738B1
- Authority
- KR
- South Korea
- Prior art keywords
- alarm
- offset
- operating system
- value
- execution
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/008—Registering or indicating the working of vehicles communicating information to a remotely located station
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0816—Indicating performance data, e.g. occurrence of a malfunction
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
- G07C5/085—Registering performance data using electronic data carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명의 바람직한 실시예에 따른 오토사 운영체제의 알람 오프셋 최적화 장치는, 알람 세팅 테스트 파일의 각 알람 정보에 대한 오프셋 변수값에 기설정된 오프셋 테이블의 오프셋값을 입력하는 스타트 모듈, 및 입력된 오프셋값을 기반으로 상기 알람 세팅 테스트 파일을 실행하여 알람 오프셋 최적화를 위한 실행 결과를 출력하는 실행 모듈을 포함한다.
Description
본 발명은 오토사 운영체제의 알람 오프셋 최적화 장치에 관한 것이다.
자동차에 사용되는 전자 장치가 많아질수록 그에 사용되는 소프트웨어의 표준화에 대한 요구 또한 커져가고 있다. 이에 모듈의 재사용성을 높이고 차량 별 부품의 호환성을 높이고자, 오토사(AUTOSAR) 기반의 임베디드 소프트웨어 오픈 플랫폼(Embedded Software Open Platform)이 개발 중이다.
오토사(AUTOSAR, AUTomotive Open System Architecture) 플랫폼은 차량 전장분야의 운영체제로서, 차량 제어기의 동작 제어를 위한 메커니즘을 구비한다.
오토사 플랫폼은 점점 많은 곳에 사용되고 있으며, 사용할 수 있는 기능도 다양해지고 있다. 이러한 오토사 플랫폼은 글로벌 차량 시장으로 확대 적용되고 있다.
그리고, 각종 차량용 제어기의 경우, 서로의 기능이 합쳐지고 있는 추세이다. 즉, 종래에는 각종 차량용 제어기를 통해 다양한 차량 제어 기능을 수행하였는데, 최근에는 다양한 차량 제어 기능이 하나의 차량 제어기에서 사용할 수 있게 변화하고 있다. 예를 들어, 종래 차량 제어기로서 통합형 차체제어시스템(IBU, Integrated Body Control Unit), 및 통합제어유닛(ICU, Intergrated Central Unit) 등이 있는데, 이러한 통합 형태의 제어기마저 통신제어장치(CCU, Communication Control Unit)로 통합되고 있다.
이로 인해, 단일 차량 제어기에서 사용하는 기능이 점점 많아져서 소프트웨어의 리소스가 부족한 현상이 일어나고 있다. 소프트웨어의 리소스가 부족한 경우, 차량 제어기에 과부하가 걸릴 수 있다. 또한, 리셋이나, 실제로 수행되어야 하는 작업(Task)이 밀리거나 누락되는 현상도 일어날 수 있다. 이는 차량 제어기의 문제일 뿐만 아니라 치명적인 차량 결함을 야기한다.
이러한 문제 해결을 위해, 현재 오토사 플랫폼에서 제공하고 있는 것이 운영체제 환경하의 알람 오프셋(Alarm Offset) 기능이다.
알람 오프셋은 태스크 수행 시간을 알리기 위한 알람 위치를 최대한 분산시켜서, 여러 태스크가 한 번에 수행되는 것을 방지함으로써 많은 리소스가 할당되지 않도록 한다. 이를 통해 여러 태스크가 문제없이 수행되는 효과가 있다.
그러나, 알람 오프셋의 최적화를 위한 방법이 어느 사양에도 정의되어 있지 않다.
일반적인 어플리케이션 소프트웨어(ASW, Application SoftWare) 개발자의 경우, 많은 경험을 통해 쌓인 정보를 기반으로 알람 오프셋을 설정하거나, 베이직 소프트웨어(BSW, Basic SoftWare) 개발자의 경우 일반적인 상황하에서의 정보를 기반으로 알람 오프셋을 설정하고 있다.
특정 차량 제어기, 또는 특정 MCU에 따라 알람 오프셋의 최적화값이 다를 수 있으므로, 차량 제어기 사양별로 알람 오프셋의 최적화를 수행한다면 오토사 운영체제하에서의 리소스 부족 현상이 해소될 수 있을 것이다.
이에 본 발명은 상기한 사정을 감안하여 안출된 것으로, 차량 제어기 사양별로 알람 오프셋을 최적화함으로써, 태스크 수행시간을 하나씩 측정하는 것보다 실제 런타임(RUN Time) 환경하에서 빠르게 태스크 수행시간을 측정할 수 있도록 하는 오토사 운영체제의 알람 오프셋 최적화 장치를 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 오토사 운영체제의 알람 오프셋 최적화 장치는, 알람 세팅 테스트 파일의 각 알람 정보에 대한 오프셋 변수값에 기설정된 오프셋 테이블의 오프셋값을 입력하는 스타트 모듈; 및 입력된 오프셋값을 기반으로 상기 알람 세팅 테스트 파일을 실행하여 알람 오프셋 최적화를 위한 실행 결과를 출력하는 실행 모듈;를 포함할 수 있다.
상기 오프셋 테이블은, 알람 개수, 알람 이름, 및 알람 주기를 포함하는 복수의 알람 정보와, 상기 알람 정보 각각에 오프셋값을 통해 연결되는 인덱스 정보를 포함하여 구성될 수 있다.
상기 스타트 모듈은, 상기 인덱스 정보에 따른 오프셋값을 상기 오프셋 변수값으로 입력할 수 있다.
상기 실행 모듈은, 상기 인덱스 정보 순서로 상기 알람 세팅 테스트 파일을 실행할 수 있다.
상기 오프셋 테이블이 저장되는 오프셋 테이블 저장부를 더 포함할 수 있다.
상기 알람 세팅 테스트 파일의 실행에 따른 CPU 부하를 측정하는 부하측정 모듈을 더 포함할 수 있다.
상기 인덱스 정보에 따른 상기 알람 세팅 테스트 파일의 실행이 완료되면, 다른 인덱스 정보에 따라 상기 알람 세팅 테스트 파일이 실행되도록 상기 실행 모듈에 리셋을 요청하는 리셋 모듈을 더 포함할 수 있다.
상기 실행 모듈은, 마지막 인덱스 정보에 따라 알람 세팅 테스트 파일의 실행이 완료되면, 실행 결과를 미리 마련된 통신 방식으로 외부로 전달할 수 있다.
상기 실행 결과는 CPU 최소 부하, CPU 최대 부하, 및 에러훅 호출 횟수를 포함할 수 있다.
상기 실행 모듈은, 상기 CPU 최소 부하, 상기 CPU 최대 부하, 및 상기 에러훅 호출 횟수를 기설정된 기준치와 비교하여 기준치 적합여부를 판단할 수 있다.
오토사 운영체제의 태스크와 연결되는 알람 정보를 입력받고 알람 정보를 이용하여 알람 세팅 파일을 생성하는 제작 툴을 더 포함할 수 있다.
상기 알람 세팅 파일의 오프셋값을 오프셋 변수값으로 보정하여 상기 알람 세팅 테스트 파일을 생성하는 보정부를 더 포함할 수 있다.
본 발명의 바람직한 실시예에 따른 오토사 운영체제의 알람 오프셋 최적화 장치에 의하면, 단순 경험이 아닌 차량 제어기 사양 별로 알람 오프셋을 최적화함으로써, 태스크 수행시간을 하나씩 측정하는 것보다 실제 런타임(RUN Time) 환경하에서 빠르게 태스크 수행시간을 측정할 수 있도록 하는 효과가 있다.
또한, 오토사 운영체제에서의 리소스 부족 현상이 해소될 수 있는 효과가 있다.
도 1은 본 발명의 바람직한 실시예에 따른 오토사 운영체제의 알람 오프셋 최적화 장치의 블록도이다.
도 2는 알람 오프셋 변수값의 변수화 과정을 보여주는 도면이다.
도 3은 오프셋 테이블을 보여주는 도면이다.
도 4는 오프셋 테이블에 따른 알람 오프셋 최적화값을 보여주는 도면이다.
도 5는 본 발명의 바람직한 실시예에 따른 오토사 운영체제의 알람 오프셋 최적화 방법의 순서도이다.
도 2는 알람 오프셋 변수값의 변수화 과정을 보여주는 도면이다.
도 3은 오프셋 테이블을 보여주는 도면이다.
도 4는 오프셋 테이블에 따른 알람 오프셋 최적화값을 보여주는 도면이다.
도 5는 본 발명의 바람직한 실시예에 따른 오토사 운영체제의 알람 오프셋 최적화 방법의 순서도이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.
도 1은 본 발명의 바람직한 실시예에 따른 오토사 운영체제의 알람 오프셋 최적화 장치의 블록도이다.
도 1을 참고하면, 본 발명의 바람직한 실시예에 따른 오토사 운영체제(10)는 제작 툴(100), 보정부(200), 및 알람 오프셋 최적화부(300)를 포함할 수 있다.
제작 툴(100)은, 사용자 필요에 따라 SWP(Software program) 정보와 APP 정보(USER 정보)를 입력받을 수 있다. 여기서, SWP 정보는 Tick 값, SWP 알람 개수, 각 SWP 알람의 주기, 각 SWP 알람의 오프셋 변경 여부, 및 고정 오프셋을 가지는 SWP 알람의 고정 오프셋값을 포함할 수 있다. 여기서, Tick 값은 알람의 기본 단위이다.
APP 정보는, ASW 알람 개수, 각 ASW 알람 주기, 각 ASW 알람의 오프셋 변경 여부, 고정 오프셋을 가지는 ASW 알람의 고정 오프셋값, 최소 최대 CPU 부하, 및 최소 에러훅(ErrorHook) 호출 횟수를 포함할 수 있다. 에러훅이란, 에러 발생한 서비스의 사용 여부를 사용자가 선택할 수 있도록 오토사 운영체제에서 제공하는 후크 루틴(Hook Routine)을 말한다.
제작 툴(100)은, 사용자 필요에 따라 SWP 정보와 APP 정보를 조합하여 조합 정보를 생성할 수 있다. 여기서, 조합 정보는, SWP 알람과 ASW 알람 개수를 합산한 총 알람 개수, 각 알람에 대한 오프셋 가능 값, 각 알람의 오프셋에 대한 고정 또는 변경 가능 정보, 및 결과 값에 대한 통과(Pass) 또는 페일(Fail)을 결정하는데 이용되는 기준치를 포함할 수 있다.
각 알람에 대한 오프셋 가능 값(오프셋 최대값)은, 태스크의 최대 주기를 Tick 값으로 나누어 설정될 수 있다. 일 실시예에 있어서, Tick값이 2.5ms 이고 알람 주기가 10ms 인 경우, 오프셋 최대값이 4로 설정될 수 있다.
각 알람의 오프셋에 대한 고정 또는 변경 가능 정보는, 고정 오프셋을 가져야 하는 알람을 고정시키고, 변경 오프셋을 가질 수 있는 알람을 변경시킬 수 있다.
결과 값에 대한 통과 또는 페일을 결정하는 기준치는, APP 정보인 최소 CPU 부하와 최소 에러훅 호출 횟수 등을 통해 결정될 수 있다.
제작 툴(100)은 조합 정보를 이용하여 알람 세팅을 위한 알람 세팅 파일(Rte.c)을 생성할 수 있다. 또한, 제작 툴(100)은 총 알람 개수와 각 알람의 이름, 각 알람의 오프셋에 대한 변경 가능 여부, 및 Tick 값을 오프셋 테이블(110)에 입력할 수 있다. 이를 통해 오프셋 테이블(Offset Table)이 구성될 수 있다.
한편, 조합 정보의 각 알람 정보는 태스크들과 매핑된다. 알람 세팅 파일(Rte.c)의 알람 정보에 대한 함수가 수행되면, 카운터가 증가함에 따라 알람이 울리게 되고 알람에 연결된 태스크가 수행된다. 알람 오프셋은 알람들이 동시에 울리지 않게 하기 위해 설정된다. 즉 알람 오프셋은 알람들이 동시에 울리지 않게 함으로써 CPU 부하가 증가하지 않도록 한다.
보정부(200)는 알람 세팅 파일(Rte.c)을 보정하여 알람 세팅 테스트 파일(Rte_Test.c)을 생성할 수 있다. 보정부(200)는 알람 세팅 파일(Rte.c)에 있는 각 알람 정보(SetRelAlarm)의 오프셋 변수값을 변수화시킬 수 있다. 보정부(200)는 알람 세팅 파일(Rte.c)의 오프셋 변수값을 변수화시키기 위한 오프셋 변수 설정 함수(SchM_Init)를 생성할 수 있다. 오프셋 변수 설정 함수(SchM_Init)는 오프셋 테이블의 오프셋값이 순차적으로 입력될 수 있다.
일 실시예에 있어서, 최대 오프셋 변수값의 변수값은 태스크의 최대 주기를 Tick값으로 나눈 값으로 설정될 수 있다. 오프셋 변수값의 변수화 과정은 도 2를 통해 후술한다.
알람 오프셋 최적화부(300)는 오프셋 테이블 저장부(310), 스타트 모듈(320), 실행 모듈(330), 부하 측정 모듈(340), 및 리셋 모듈(350)를 포함할 수 있다.
오프셋 테이블 저장부(310)는 인덱스 정보, 알람 정보(개수, 이름, 주기), 알람 오프셋 변경 가능 여부, 및 오프셋값으로 구성된 오프셋 테이블이 저장될 수 있다.
스타트 모듈(320)은 알람 세팅 테스트 파일(Rte_Test.c)의 오프셋 변수 설정 함수(SchM_Init)에 오프셋 테이블의 인덱스 순서로 오프셋값을 입력할 수 있다.
실행 모듈(330)은 오프셋값이 입력된 알람 세팅 테스트 파일(Rte_Test.c)을 실행하여 알람 정보의 오프셋별로 CPU 최소 부하, CPU 최대 부하와, 에러훅의 호출 횟수를 산출할 수 있다.
부하측정 모듈(340)은, 실행 모듈(330)의 실행에 따른 CPU 부하를 측정하고 측정치를 실행 모듈(330)에 전달할 수 있다.
리셋 모듈(350)은 알람 세팅 테스트 파일(Rte_Test.C)의 실행을 리셋시킬 수 있다. 즉, 리셋 모듈(350)은 오프셋 테이블의 다른 인덱스에 따라 알람 세팅 테스트 파일(Rte_Test.c)이 실행되도록 실행 모듈(330)에 리셋을 요청할 수 있다.
실행 모듈(330)은 오프셋 테이블의 마지막 인덱스에 따라 알람 세팅 테스트 파일(Rte_Test.c)의 실행이 완료되면, 실행 결과를 오프셋 테이블에 저장하거나 별도의 통신 방식(Uart, CAN)으로 출력할 수 있다. 이러한 실행 모듈(300)의 실행 결과는 Excel, txt 파일 형태로 출력될 수 있고, 알람 오프셋 최적화를 위한 정보로 활용될 수 있다.
도 2는 알람 오프셋 변수값의 변수화 과정을 보여주는 도면이다.
도 2를 참고하면, 알람 세팅 파일(Rte.c)의 알람 오프셋 변수값이 알람 세팅 테스트 파일(Rte_Test.c)에서 오프셋 변수값으로 설정되는 것을 확인할 수 있다.
알람 세팅 파일(Rte.c)의 각 알람 정보(SetRelAlarm)는 알람 종류, 주기, 및 오프셋 변수값을 포함할 수 있다.
일 실시예에 있어서, 어느 하나의 알람 정보(SetRelAlarm)는 알람 종류 OsAlarm_5ms, 주기 2, 오프셋 변수값 1을 가질 수 있다. 여기서, 알람의 주기는 주기 2에 Tick 값 2.5ms을 곱하여 5ms가 될 수 있다.
다른 하나의 알람 정보(SetRelAlarm)는 알람 종류 OsAlarm_10ms_1, 주기 4, 오프셋 변수값 2를 가질 수 있다. 여기서, 알람의 주기는 주기 4에 Tick 값 2.5ms를 곱하여 10ms가 될 수 있다.
또 다른 하나의 알람 정보(SetRelAlarm)는 알람 종류 OsAlarm_10ms_2, 주기 4, 오프셋 변수값 3을 가질 수 있다. 여기서, 알람의 주기는 주기 4에 Tick 값 2.5ms를 곱하여 10ms가 될 수 있다.
또 다른 하나의 알람 정보(SetRelAlarm)는 알람 종류 OsAlarm_20ms, 주기 8, 오프셋 변수값 4를 가질 수 있다. 여기서, 알람의 주기는 주기 8에 Tick 값 2.5ms를 곱하여 10ms가 될 수 있다.
또 다른 하나의 알람 정보(SetRelAlarm)는 알람 종류 OsAlarm_100ms, 주기 40, 오프셋 변수값 5를 가질 수 있다. 여기서, 알람의 주기는 주기 40에 Tick 값 2.5ms를 곱하여 100ms가 될 수 있다.
이러한 알람 정보를 포함하는 알람 세팅 파일(Rte.c)은 보정부(200)에 의해 알람 세팅 테스트 파일(Rte_Test.c)로 보정될 수 있다.
일 실시예에 있어서, 알람 세팅 테스트 파일(Rte_Test.c)의 어느 하나의 알람 정보(SetRelAlarm)는 알람 종류 OsAlarm_5ms, 주기 2, 오프셋 변수값 OsAlarm_5ms_Offset을 가질 수 있다.
다른 하나의 알람 정보(SetRelAlarm)는 알람 종류 OsAlarm_10ms_1, 주기 4, 오프셋 변수값 OsAlarm_10ms_1_Offset을 가질 수 있다.
또 다른 하나의 알람 정보(SetRelAlarm)는 알람 종류 OsAlarm_10ms2, 주기 4, 오프셋 변수값 OsAlarm_10ms_2_Offset을 가질 수 있다.
또 다른 하나의 알람 정보(SetRelAlarm)는 알람 종류 OsAlarm_20ms, 주기 8, 오프셋 변수값 OsAlarm_2ms_Offset을 가질 수 있다.
또 다른 하나의 알람 정보(SetRelAlarm)는 알람 종류 OsAlarm_100ms, 주기 40, 오프셋 변수값 OsAlarm_100ms_Offset을 가질 수 있다.
도 3은 오프셋 테이블을 보여주는 도면이다.
도 3을 참고하면, 오프셋 테이블은 알람 정보(알람 명, 주기, 오프셋 변경 여부, 오프셋 변수값, 및 인덱스(Index) 정보를 포함할 수 있다.
일 실시예에 있어서, 알람 명이 알람 A(Alarm A)인 경우, 5ms의 주기, 오프셋 변경 가능, 인덱스 1, 2, 100, 101, 500, 100 순서로 오프셋 변수값 0, 0, 1, 1, 4, 4(MAX)를 가질 수 있다. 그 외 알람 정보에 대한 상세 설명은 생략한다.
도 4는 오프셋 테이블에 따른 알람 오프셋 최적화값을 보여주는 도면이다.
도 4를 참고하면, 오프셋 테이블은, 실행 모듈(330)의 실행 결과를 포함할 수 있다. 즉 오프셋 테이블은, 에러훅 호출 횟수(기준치: 0), CPU 최소 부하(기준치: 40%), CPU 최대 부하(기준치: 60%), 및 기준치 적합 여부를 더 포함할 수 있다.
일 실시예에 있어서, 알람 명이 알람 A(Alarm A)인 경우, 인덱스 1, 2, 100, 101, 500, 100 순서로 에러훅 호출 횟수가 56(NG), 49(NG), 0, 0, 0, 48(NG)로 나타날 수 있다. 여기서, NG는 좋지 않음을 의미한다.
또한, 알람 A(Alarm A)의 경우, 인덱스 1, 2, 100, 101, 500, 100 순서로 CPU 최소 부하가 60%(NG), 55%(NG), 15%, 18%, 60%(NG), 70%(NG)로 나타날 수 있다.
또한, 알람 A(Alarm A)의 경우, 인덱스 1, 2, 100, 101, 500, 100 순서로 CPU 최대 부하가 85%(NG), 81%(NG), 59%, 55%, 70%(NG), 70%(NG)로 나타날 수 있다.
또한, 알람 A(Alram A)의 경우, 인덱스 1, 2, 100, 101, 500, 100 순서로 기준치 적합 여부가 페일(FAIL), 페일(FAIL), 통과(PASS), 통과(PASS), 페일(FAIL), 페일(FAIL)로 나타날 수 있다. 그 외 알람 정보에 대한 상세 설명은 생략한다.
도 5는 본 발명의 바람직한 실시예에 따른 오토사 운영체제의 알람 오프셋 최적화 방법의 순서도이다.
도 5를 참고하면, 본 발명의 바람직한 실시예에 따른 오토사 운영체제의 알람 오프셋 최적화 방법은, 알람 세팅 테스트 파일 입력 단계(S510), 오프셋 테이블 생성 단계(S520), 오프셋 변수값 설정 단계(S530), 알람 세팅 테스트 파일 실행 단계(S540), CPU 부하 측정 단계(S550), 인덱스 판단 단계(S560), 리셋 단계(S570), 및 실행 결과 출력 단계(S580)를 포함할 수 있다.
알람 세팅 테스트 파일 입력 단계(S510)에서, 알람 세팅을 위한 알람 세팅 테스트 파일이 입력될 수 있다. 알람 세팅 테스트 파일은 각 알람 정보의 오프셋 변수값을 오프셋 변수값으로 변수화하기 위한 오프셋 변수 설정 함수(SchM_Init)가 포함될 수 있다.
오프셋 테이블 생성 단계(S520)에서, 인덱스 정보, 알람 정보(개수, 이름, 주기), 알람 오프셋 변경 가능 여부, 및 오프셋값으로 구성된 오프셋 테이블이 생성될 수 있다. 오프셋 테이블은 오프셋 테이블 저장부(310)에 저장될 수 있다.
오프셋 변수값 입력 단계(S530)에서, 오프셋 변수 설정 함수(SchM_Init)에 오프셋 테이블의 인덱스 순서로 오프셋값이 입력될 수 있다.
알람 세팅 테스트 파일 실행 단계(S540), 오프셋값이 입력된 알람 세팅 테스트 파일(Rte_Test.c)이 오프셋 테이블의 인덱스 순서로 실행되어 알람 정보의 오프셋에 따른 CPU 최소 부하, CPU 최대 부하, 및 에러훅 호출 횟수가 산출될 수 있다.
CPU 부하 측정 단계(S550)에서, 알람 세팅 테스트 파일(Rte_Test.c)의 실행에 따른 CPU 부하가 측정될 수 있다.
인덱스 판단 단계(S560)에서, 알람 정보의 오프셋에 따른 CPU 최소 부하, CPU 최대 부하, 및 에러훅 호출 횟수가 산출되면, 오프셋 테이블의 마지막 인덱스인지가 판단된다.
리셋 단계(S570)에서, 오프셋 테이블의 마지막 인덱스에 따른 알람 정보에 대한 CPU 최소 부하, CPU 최대 부하, 및 에러훅 호출 횟수가 산출될 때까지 알람 세팅 테스트 파일(Rte_Test.c)의 실행이 리셋된다.
실행 결과 출력 단계(S580)에서, 전체 알람 정보에 대한 실행 결과인 CPU 최소 부하, CPU 최대 부하, 및 에러훅 호출 횟수가 출력된다. CPU 최소 부하, CPU 최대 부하, 및 에러훅 호출 횟수는 오프셋 테이블에 저장되거나, Uart, CAN 등의 통신 방식으로 외부에 전달되어 알람 오프셋 최적화를 위해 이용될 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
본 발명에 따른 단계들 및/또는 동작들은 기술분야의 통상의 기술자에 의해 이해될 수 있는 것과 같이, 다른 순서로, 또는 병렬적으로, 또는 다른 에포크(epoch) 등을 위해 다른 실시 예들에서 동시에 일어날 수 있다.
실시 예에 따라서는, 단계들 및/또는 동작들의 일부 또는 전부는 하나 이상의 비-일시적 컴퓨터-판독가능 매체에 저장된 명령, 프로그램, 상호작용 데이터 구조(interactive data structure), 클라이언트 및/또는 서버를 구동하는 하나 이상의 프로세서들을 사용하여 적어도 일부가 구현되거나 또는 수행될 수 있다. 하나 이상의 비-일시적 컴퓨터-판독가능 매체는 예시적으로 소프트웨어, 펌웨어, 하드웨어, 및/또는 그것들의 어떠한 조합일 수 있다. 또한, 본 명세서에서 논의된 "모듈"의 기능은 소프트웨어, 펌웨어, 하드웨어, 및/또는 그것들의 어떠한 조합으로 구현될 수 있다.
10: 오토사 운영체제
100: 제작 툴
200: 보정부
300: 알람 오프셋 최적화부
310: 오프셋 테이블 저장부
320: 스타트 모듈
330: 실행 모듈
340: 부하 측정 모듈
350: 리셋 모듈
100: 제작 툴
200: 보정부
300: 알람 오프셋 최적화부
310: 오프셋 테이블 저장부
320: 스타트 모듈
330: 실행 모듈
340: 부하 측정 모듈
350: 리셋 모듈
Claims (12)
- 알람 세팅 테스트 파일의 각 알람 정보에 대한 오프셋 변수값에 기설정된 오프셋 테이블의 오프셋값을 입력하는 스타트 모듈; 및
입력된 오프셋값을 기반으로 상기 알람 세팅 테스트 파일을 실행하여 알람 오프셋 최적화를 위한 실행 결과를 출력하는 실행 모듈;
을 포함하는 오토사 운영체제의 알람 오프셋 최적화 장치. - 제 1 항에 있어서,
상기 오프셋 테이블은,
알람 개수, 알람 이름, 및 알람 주기를 포함하는 복수의 알람 정보와, 상기 알람 정보 각각에 오프셋값을 통해 연결되는 인덱스 정보를 포함하여 구성되는 것을 특징으로 하는 오토사 운영체제의 알람 오프셋 최적화 장치. - 제 2 항에 있어서,
상기 스타트 모듈은,
상기 인덱스 정보에 따른 오프셋값을 상기 오프셋 변수값으로 입력하는 것을 특징으로 하는 오토사 운영체제의 알람 오프셋 최적화 장치. - 제 2 항에 있어서,
상기 실행 모듈은, 상기 인덱스 정보 순서로 상기 알람 세팅 테스트 파일을 실행하는 것을 특징으로 하는 오토사 운영체제의 알람 오프셋 최적화 장치. - 제 1 항에 있어서,
상기 오프셋 테이블이 저장되는 오프셋 테이블 저장부를 더 포함하는 것을 특징으로 하는 오토사 운영체제의 알람 오프셋 최적화 장치. - 제 4 항에 있어서,
상기 알람 세팅 테스트 파일의 실행에 따른 CPU 부하를 측정하는 부하측정 모듈을 더 포함하는 것을 특징으로 하는 오토사 운영체제의 알람 오프셋 최적화 장치. - 제 4 항에 있어서,
상기 인덱스 정보에 따른 상기 알람 세팅 테스트 파일의 실행이 완료되면, 다른 인덱스 정보에 따라 상기 알람 세팅 테스트 파일이 실행되도록 상기 실행 모듈에 리셋을 요청하는 리셋 모듈을 더 포함하는 것을 특징으로 하는 오토사 운영체제의 알람 오프셋 최적화 장치. - 제 4 항에 있어서,
상기 실행 모듈은,
마지막 인덱스 정보에 따라 알람 세팅 테스트 파일의 실행이 완료되면, 실행 결과를 미리 마련된 통신 방식으로 외부로 전달하는 것을 특징으로 하는 오토사 운영체제의 알람 오프셋 최적화 장치. - 제 1 항에 있어서,
상기 실행 결과는 CPU 최소 부하, CPU 최대 부하, 및 에러훅 호출 횟수를 포함하는 것을 특징으로 하는 오토사 운영체제의 알람 오프셋 최적화 장치. - 제 9 항에 있어서,
상기 실행 모듈은,
상기 CPU 최소 부하, 상기 CPU 최대 부하, 및 상기 에러훅 호출 횟수를 기설정된 기준치와 비교하여 기준치 적합여부를 판단하는 것을 특징으로 하는 오토사 운영체제의 알람 오프셋 최적화 장치. - 제 1 항에 있어서,
오토사 운영체제의 태스크와 연결되는 알람 정보를 입력받고 알람 정보를 이용하여 알람 세팅 파일을 생성하는 제작 툴을 더 포함하는 것을 특징으로 하는 오토사 운영체제의 알람 오프셋 최적화 장치. - 제 11 항에 있어서,
상기 알람 세팅 파일의 오프셋값을 오프셋 변수값으로 보정하여 상기 알람 세팅 테스트 파일을 생성하는 보정부를 더 포함하는 것을 특징으로 하는 오토사 운영체제의 알람 오프셋 최적화 장치.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190162688A KR102188738B1 (ko) | 2019-12-09 | 2019-12-09 | 오토사 운영체제의 알람 오프셋 최적화 장치 |
US16/951,744 US11847867B2 (en) | 2019-12-09 | 2020-11-18 | Alarm offset optimization apparatus of AUTOSAR operating system |
DE102020132180.5A DE102020132180A1 (de) | 2019-12-09 | 2020-12-03 | Alarmversatzoptimierungsvorrichtung eines AUTOSAR-Betriebssystems |
CN202011401113.4A CN113032204B (zh) | 2019-12-09 | 2020-12-04 | 汽车开放系统架构操作系统的警报偏移优化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190162688A KR102188738B1 (ko) | 2019-12-09 | 2019-12-09 | 오토사 운영체제의 알람 오프셋 최적화 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102188738B1 true KR102188738B1 (ko) | 2020-12-08 |
Family
ID=73779067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190162688A KR102188738B1 (ko) | 2019-12-09 | 2019-12-09 | 오토사 운영체제의 알람 오프셋 최적화 장치 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11847867B2 (ko) |
KR (1) | KR102188738B1 (ko) |
CN (1) | CN113032204B (ko) |
DE (1) | DE102020132180A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7243459B2 (ja) * | 2019-05-31 | 2023-03-22 | 株式会社デンソー | 車両用装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005182813A (ja) * | 2003-12-23 | 2005-07-07 | Hewlett-Packard Development Co Lp | 負荷の適用によるコンピュータシステムのテスト方法およびテストシステム |
KR20080068385A (ko) * | 2007-01-19 | 2008-07-23 | 슈어소프트테크주식회사 | 소프트웨어 테스트 시스템, 방법 및 그 방법을 실행하기위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체 |
KR20120060435A (ko) | 2010-12-02 | 2012-06-12 | 재단법인대구경북과학기술원 | 운영체제 태스크 프레임워크의 자동 생성 방법 및 시스템 |
KR20160071260A (ko) * | 2014-12-11 | 2016-06-21 | 현대자동차주식회사 | Autosar 기반 차량 ecu 상태 관리 방법 |
KR20170111630A (ko) * | 2016-03-29 | 2017-10-12 | 현대오트론 주식회사 | 오토사 운영체제의 태스크 분배 방법 및 그 장치 |
JP2018081479A (ja) * | 2016-11-16 | 2018-05-24 | 富士通株式会社 | 負荷制御プログラム、負荷制御装置及び負荷制御方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060117031A (ko) * | 2005-05-12 | 2006-11-16 | 문형식 | 피엘씨용 모니터링시스템과 이에 구현되는통신데이타처리방법 |
JP2008224336A (ja) * | 2007-03-09 | 2008-09-25 | Sharp Corp | アラーム装置、該アラーム装置を備えた携帯通信装置、アラーム装置制御方法、アラーム装置制御プログラムおよび該プログラムを記録したコンピュータ読み取り可能な記録媒体 |
DE102010001596A1 (de) | 2010-02-04 | 2011-08-04 | Robert Bosch GmbH, 70469 | Verfahren zum Betrieb eines zeitgesteuerten Bussystems |
KR101593571B1 (ko) * | 2014-07-16 | 2016-02-18 | 현대오트론 주식회사 | 차량 전자제어유닛의 이상 진단을 위한 블랙박스장치 및 이의 제어 방법 |
DE102015117976A1 (de) * | 2015-10-22 | 2017-04-27 | Knorr-Bremse Systeme für Nutzfahrzeuge GmbH | Verfahren und Vorrichtung zum Steuern eines Warnmoduls |
KR101856857B1 (ko) * | 2016-09-09 | 2018-05-11 | 현대오트론 주식회사 | 메시지 통신 부하 제어 장치 및 방법 |
DE102016119320A1 (de) * | 2016-10-11 | 2018-04-12 | Dspace Digital Signal Processing And Control Engineering Gmbh | Verfahren zum Konfigurieren eines realen oder virtuellen elektronischen Steuergerätes |
US10031740B2 (en) * | 2016-10-24 | 2018-07-24 | Lear Corporation | Method for programming vehicle electronic control modules |
US10893144B2 (en) * | 2016-10-27 | 2021-01-12 | Samsung Electronics Co., Ltd. | Electronic apparatus and control method thereof |
KR102131982B1 (ko) * | 2018-05-31 | 2020-07-08 | 현대오트론 주식회사 | 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법 |
US11129024B2 (en) * | 2018-08-21 | 2021-09-21 | Continental Teves Ag & Co. Ohg | Vehicle-to-X communication device and method for realizing a safety integrity level in vehicle-to-X communication |
US11132440B2 (en) * | 2018-11-01 | 2021-09-28 | Foundation Of Soongsil University-Industry Cooperation | Hybrid trust execution environment based android security framework, android device equipped with the same and method of executing trust service in android device |
US11366689B2 (en) * | 2019-02-26 | 2022-06-21 | Nxp Usa, Inc. | Hardware for supporting OS driven observation and anticipation based on more granular, variable sized observation units |
EP3848763B1 (de) * | 2020-01-08 | 2022-12-21 | Elektrobit Automotive GmbH | Qualifizierung eines gerätetreibers für ein gerät |
KR102418059B1 (ko) * | 2020-12-08 | 2022-07-06 | 현대오토에버 주식회사 | 차량의 이종 제어기간 통신 응답시간 추정 장치 및 방법 |
KR102485288B1 (ko) * | 2020-12-15 | 2023-01-04 | 현대오토에버 주식회사 | 차량용 제어기 및 그것의 운영체제 스케쥴링 방법 |
DE102020133748B4 (de) * | 2020-12-16 | 2022-12-08 | Lisa Dräxlmaier GmbH | Fahrzeugsteuergerät mit synchronem treiber |
KR102497258B1 (ko) * | 2020-12-16 | 2023-02-06 | 현대오토에버 주식회사 | 차량용 운영체제의 태스크 실행 시스템 및 방법 |
EP4060487A1 (en) * | 2021-03-17 | 2022-09-21 | Aptiv Technologies Limited | Electronic control unit, vehicle comprising the electronic control unit and computer-implemented method |
-
2019
- 2019-12-09 KR KR1020190162688A patent/KR102188738B1/ko active IP Right Grant
-
2020
- 2020-11-18 US US16/951,744 patent/US11847867B2/en active Active
- 2020-12-03 DE DE102020132180.5A patent/DE102020132180A1/de active Pending
- 2020-12-04 CN CN202011401113.4A patent/CN113032204B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005182813A (ja) * | 2003-12-23 | 2005-07-07 | Hewlett-Packard Development Co Lp | 負荷の適用によるコンピュータシステムのテスト方法およびテストシステム |
KR20080068385A (ko) * | 2007-01-19 | 2008-07-23 | 슈어소프트테크주식회사 | 소프트웨어 테스트 시스템, 방법 및 그 방법을 실행하기위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체 |
KR20120060435A (ko) | 2010-12-02 | 2012-06-12 | 재단법인대구경북과학기술원 | 운영체제 태스크 프레임워크의 자동 생성 방법 및 시스템 |
KR20160071260A (ko) * | 2014-12-11 | 2016-06-21 | 현대자동차주식회사 | Autosar 기반 차량 ecu 상태 관리 방법 |
KR20170111630A (ko) * | 2016-03-29 | 2017-10-12 | 현대오트론 주식회사 | 오토사 운영체제의 태스크 분배 방법 및 그 장치 |
JP2018081479A (ja) * | 2016-11-16 | 2018-05-24 | 富士通株式会社 | 負荷制御プログラム、負荷制御装置及び負荷制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210174606A1 (en) | 2021-06-10 |
US11847867B2 (en) | 2023-12-19 |
CN113032204B (zh) | 2024-10-01 |
CN113032204A (zh) | 2021-06-25 |
DE102020132180A1 (de) | 2021-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Herbst et al. | BUNGEE: an elasticity benchmark for self-adaptive IaaS cloud environments | |
CN110175110B (zh) | 压力测试方法、装置、系统、设备及计算机可读存储介质 | |
US20180351842A1 (en) | Systems and methods for live testing performance conditions of a multi-tenant system | |
US10067848B2 (en) | Methods and systems for benchmarking web browser performance | |
US8719789B2 (en) | Measuring coupling between coverage tasks and use thereof | |
CN109117141B (zh) | 简化编程的方法、装置、电子设备、计算机可读存储介质 | |
CN104834602B (zh) | 一种程序发布方法、装置和程序发布系统 | |
US20120233614A1 (en) | Measuring coupling between coverage tasks and use thereof | |
JP2015133112A (ja) | ジョブスケジューリング方法、データアナライザ、データ解析装置、コンピュータシステム及びコンピュータ可読媒体 | |
CN109324962B (zh) | 一种基于云物联技术的应用程序的测试方法及设备 | |
KR20200074715A (ko) | 검증용 주석 처리 작업을 이용한 실전용 주석 처리 작업의 검증 방법 및 장치 | |
CN113515549B (zh) | 财务数据查询方法、装置及可读存储介质 | |
KR102188738B1 (ko) | 오토사 운영체제의 알람 오프셋 최적화 장치 | |
CN110457118A (zh) | 任务处理方法、装置、计算机设备及存储介质 | |
CN109144846B (zh) | 用于测试服务器的测试方法和装置 | |
CN110825425A (zh) | 配置数据管理方法及装置、电子设备、存储介质 | |
EP3734460B1 (en) | Probabilistic software testing via dynamic graphs | |
WO2012036304A1 (ja) | 動作検証支援装置、動作検証支援方法、及び動作検証支援プログラム | |
US20150089481A1 (en) | Methods, systems and computer-readable media for quantifying a bug detection efficiency of a bug prediction technique | |
US20160004583A1 (en) | System for project management from non-function evaluation, method for project management from non-function evaluation, and program for project management from non-function evaluation | |
CN116205697A (zh) | 用于虚拟公有云的资源推荐方法和资源推荐装置 | |
JP5294675B2 (ja) | ソフトウェアマイグレーションシステム及び方法 | |
CN110795441B (zh) | 报表数据处理方法、装置、设备及存储介质 | |
US9195515B1 (en) | Method and system for process load balancing | |
US11119763B2 (en) | Cognitive selection of software developer for software engineering task |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |