KR101211914B1 - 운영체제 태스크 프레임워크의 자동 생성 방법 및 시스템 - Google Patents

운영체제 태스크 프레임워크의 자동 생성 방법 및 시스템 Download PDF

Info

Publication number
KR101211914B1
KR101211914B1 KR1020100121939A KR20100121939A KR101211914B1 KR 101211914 B1 KR101211914 B1 KR 101211914B1 KR 1020100121939 A KR1020100121939 A KR 1020100121939A KR 20100121939 A KR20100121939 A KR 20100121939A KR 101211914 B1 KR101211914 B1 KR 101211914B1
Authority
KR
South Korea
Prior art keywords
task
framework
object information
information
operating system
Prior art date
Application number
KR1020100121939A
Other languages
English (en)
Other versions
KR20120060435A (ko
Inventor
조성래
김병준
진성호
Original Assignee
재단법인대구경북과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 재단법인대구경북과학기술원 filed Critical 재단법인대구경북과학기술원
Priority to KR1020100121939A priority Critical patent/KR101211914B1/ko
Publication of KR20120060435A publication Critical patent/KR20120060435A/ko
Application granted granted Critical
Publication of KR101211914B1 publication Critical patent/KR101211914B1/ko

Links

Images

Classifications

    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/461Saving or restoring of program or task context
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic

Landscapes

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

Abstract

본 발명은, OS(운영체제)의 제약사항을 고려하여 OS 오브젝트 정보를 생성하는 단계와, 상기 OS 오브젝트 정보를 분석하여 상기 OS가 지원하는 태스크의 구조를 정의하고, 개발하고자 하는 응용프로그램의 태스크 프레임워크(framework)를 생성하는 단계, 및 상기 응용프로그램의 개발에 사용되도록, 상기 정의된 태스크의 구조 및 상기 생성된 태스크 프레임워크의 정보가 포함된 소스파일을 출력하는 단계를 포함하는 운영체제 태스크 프레임워크의 자동 생성 방법 및 시스템을 제공한다.
본 발명에 따른 운영체제 태스크 프레임워크의 자동 생성 방법 및 시스템에 따르면, 실시간 운영체제의 오브젝트 정보의 분석을 통해 얻어지는 태스크의 구조 및 태스크 프레임워크의 자동 생성 및 출력을 통하여, 개발자로 하여금 실시간 운영체제를 이용한 응용프로그램의 개발을 용이하게 하는 이점이 있다.

Description

운영체제 태스크 프레임워크의 자동 생성 방법 및 시스템{Method for auto generating of OS task framework and system thereof}
본 발명은 운영체제 태스크 프레임워크의 자동 생성 방법 및 시스템에 관한 것으로서, 보다 상세하게는 실시간 운영체제(RTOS;Real Time Operating System)를 이용한 응용프로그램의 개발을 용이하게 하는 운영체제 태스크 프레임워크의 자동 생성 방법 및 시스템에 관한 것이다.
임베디드 시스템 운영체제, 특히 실시간운영체제(RTOS)를 이용한 프로그래밍은 상기 임베디드 시스템의 특성(ex, CPU, 메모리 제약 사항) 혹은 지원하는 운영체제의 기본적인 특징을 잘 파악하고 있어야 가능한 복잡한 분야에 해당된다.
이에 따라, 상기 RTOS 이용하여 비교적 간단한 응용프로그램을 개발하는 개발자의 경우에도 해당 RTOS가 지원하는 기능 및 구조에 대해서 자세히 분석을 수행한 다음 해당 응용프로그램을 작성하여야 한다. 특히, RTOS가 지원하는 태스크의 구조와 태스크의 개수를 정확히 파악하여야 이를 이용한 멀티태스킹(Multi-Tasking) 프로그래밍을 개발할 수 있다.
본 발명은 실시간 운영체제의 오브젝트 정보의 분석을 통해 얻어지는 태스크의 구조 및 태스크 프레임워크의 생성 및 출력을 통하여, 개발자로 하여금 실시간 운영체제를 이용한 응용프로그램의 개발을 용이하게 하는, 운영체제 태스크 프레임워크의 자동 생성 방법 및 시스템을 제공하는데 목적이 있다.
본 발명은, OS(운영체제)의 제약사항을 고려하여 OS 오브젝트 정보를 생성하는 단계와, 상기 OS 오브젝트 정보를 분석하여 상기 OS가 지원하는 태스크의 구조를 정의하고, 개발하고자 하는 응용프로그램의 태스크 프레임워크(framework)를 생성하는 단계, 및 상기 응용프로그램의 개발에 사용되도록, 상기 정의된 태스크의 구조 및 상기 생성된 태스크 프레임워크의 정보가 포함된 소스파일을 출력하는 단계를 포함하는 운영체제 태스크 프레임워크의 자동 생성 방법을 제공한다.
여기서, 상기 응용프로그램의 개발시, 상기 생성된 태스크 프레임워크는 컴파일되어 사용되고, 상기 정의된 태스크의 구조는 주석문으로 처리될 수 있다.
그리고, 상기 정의된 태스크의 구조는, 상기 태스크의 우선순위, 선점방식, 이벤트 수신가능 여부 중 적어도 하나를 포함하는 태스크 속성 정보와, 상기 태스크와 연관된 이벤트, 알람, 리소스 중 적어도 하나를 포함하는 관련 오브젝트 정보를 포함하여 구성될 수 있다.
또한, 상기 생성된 태스크 프레임워크는, 상기 태스크에 대한 이름, 범위, 반환값의 종류 또는 전달값의 종류 중 적어도 하나의 정보를 포함하여 구성될 수 있다.
또한, 상기 소스파일 상에서, 상기 정의된 태스크의 구조 및 상기 생성된 태스크 프레임워크의 정보는 상기 태스크의 개수에 대응되어 각각 출력될 수 있다.
그리고, 본 발명은, OS(운영체제)의 제약사항을 고려하여 OS 오브젝트 정보를 생성하는 OS 오브젝트 정보 생성부와, 상기 OS 오브젝트 정보를 분석하는 OS 오브젝트 정보 분석부와, 상기 분석된 OS 오브젝트 정보를 이용하여, 상기 OS가 지원하는 태스크의 구조를 정의하는 태스크 구조 설명 생성부와, 상기 분석된 OS 오브젝트 정보를 이용하여, 개발하고자 하는 응용프로그램의 태스크 프레임워크(framework)를 생성하는 태스크 프레임워크 생성부, 및 상기 응용프로그램의 개발에 사용되도록, 상기 정의된 태스크의 구조 및 상기 생성된 태스크 프레임워크의 정보가 포함된 소스파일을 출력하는 소스파일 출력부를 포함하는 운영체제 태스크 프레임워크의 자동 생성 시스템을 제공한다.
본 발명에 따른 운영체제 태스크 프레임워크의 자동 생성 방법 및 시스템에 따르면, 실시간 운영체제의 오브젝트 정보의 분석을 통해 얻어지는 태스크의 구조 및 태스크 프레임워크의 자동 생성 및 출력을 통하여, 개발자로 하여금 실시간 운영체제를 이용한 응용프로그램의 개발을 용이하게 하는 이점이 있다.
도 1은 본 발명의 실시예에 따른 운영체제 태스크 프레임워크의 자동 생성 방법의 흐름도이다.
도 2는 도 1을 위한 시스템 구성도이다.
도 3은 도 1의 소스파일 출력부를 통해 출력되는 소스파일의 형태를 나타낸다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 운영체제 태스크 프레임워크의 자동 생성 방법의 흐름도이다. 도 2는 도 1을 위한 시스템 구성도이다.
상기 시스템(100)은 OS 오브젝트 정보 생성부(110), OS 오브젝트 정보 분석부(120), 태스크 구조 설명 생성부(130), 태스크 프레임워크 생성부(140), 소스파일 출력부(150)를 포함한다
본 발명에서 OS(운영체제)란, 임베디드 시스템 운영체제, 특히 실시간 운영체제(RTOS;Real Time Operating System)를 의미하는 것으로서, 실행 이전에 태스크를 정적으로 정의하는 운영체제에 해당된다. 물론, 본 발명이 반드시 이에 한정되는 것은 아니다.
상기 실시간 운영체제를 이용한 프로그래밍의 경우, 임베디드 시스템의 특성과 기본적인 시스템 지원 정보 즉, 태스크(task)의 구조 및 개수에 관한 정보를 개발자가 정확하게 파악하고 있어야 하며, 그에 따라 해당 멀티 태스킹(Multi-tasking) 프로그램을 개발할 수 있다.
본 발명은 실시간 운영체제를 이용한 응용프로그램의 개발을 빠르고 용이하게 하기 위하여, 응용프로그램의 뼈대가 되는 태스크의 프레임워크(framework)의 자동 생성 방법을 제공한다. 이하에서는, 상기 운영체제 태스크 프레임워크의 자동 생성 방법에 관하여 도 1 및 도 2를 참조로 하여 상세히 알아본다.
먼저, 상기 OS(운영체제)의 제약사항을 고려하여 OS 오브젝트 정보를 생성한다(S110). 이러한 S110단계는 OS 오브젝트 정보 생성부(110)에서 수행한다. 상기 OS 오브젝트 정보 생성에 필요한 OS의 제약사항이란, 해당 운영체제의 기본 특성, 메모리 등에 해당된다.
이후에는, 상기 OS 오브젝트 정보를 분석하여 상기 OS가 지원하는 태스크의 구조를 정의하고, 개발하고자 하는 응용프로그램의 태스크 프레임워크(framework)를 생성한다(S120).
이를 구체적으로 살펴보면, 먼저 OS 오브젝트 정보 분석부(120)에서 상기 생성된 OS 오브젝트 정보의 세부 내용을 분석한다. 이때, OS 오브젝트 정보란, 상기 OS가 지원하는 태스크, 이와 연관된 알람, 이벤트 등의 정보를 의미한다. 이러한 분석은 추후 태스크의 구조를 파악하고 태스크 프레임워크의 생성에 필요한 과정이다.
이후, 태스크 구조 설명 생성부(130)에서는 상기 분석된 OS 오브젝트 정보를 이용하여, 상기 OS가 지원하는 태스크의 구조를 정의한다. 또한, 상기 태스크 프레임워크 생성부(140)에서는 상기 분석된 OS 오브젝트 정보를 이용하여, 개발하고자 하는 응용프로그램의 태스크 프레임워크(framework)를 생성한다.
다음, 상기 소스파일 출력부(150)에서는, 상기 응용프로그램의 개발에 사용되도록, 상기 정의된 태스크의 구조 및 상기 생성된 태스크 프레임워크의 정보가 포함된 소스파일을 출력한다(S130).
도 3은 도 1의 소스파일 출력부를 통해 출력되는 소스파일의 형태를 나타낸다.이를 참조하면, 상기 정의된 태스크의 구조는, 상기 태스크의 우선순위, 선점방식, 이벤트 수신가능 여부 중 적어도 하나를 포함하는 '태스크 속성 정보'와, 상기 태스크와 연관된 이벤트, 알람, 리소스 중 적어도 하나를 포함하는 '관련 오브젝트 정보'를 포함하여 구성된다.
또한, 상기 생성된 태스크 프레임워크는, 상기 태스크에 대한 이름, 범위, 반환값의 종류 또는 전달값의 종류 중 적어도 하나의 정보를 포함하여 구성된다.
그리고, 상기 소스파일 상에서, 상기 정의된 태스크의 구조 및 상기 생성된 태스크 프레임워크의 정보는 상기 태스크의 개수(1~n)에 대응되어 각각 출력됨을 알 수 있다. 즉, 태스크의 개수만큼 각각의 태스크 별로 n개의 태스크의 구조 설명과 n개의 태스크 프레임워크 정보가 생성되고 출력되어, 개발자로 하여금 각 태스크별로 해당 구조의 파악 및 태스크 프레임워크 정보의 확인을 용이하게 한다.
여기서, 상기 응용프로그램의 개발시, 상기 생성된 태스크 프레임워크는 컴파일되어 사용되나, 상기 정의된 태스크의 구조는 주석문으로 처리되어 개발자에게 정보 제공 용도로만 사용된다.
이상과 같은 본 발명에 따르면, 실시간 운영체제(RTOS)를 이용한 프로그램의 개발 시, OS의 특성이나 태스크의 구조를 개발자(프로그래머)가 세부적으로 파악할 필요 없이, 본 발명의 시스템(100)에서 오브젝트 정보의 분석을 통해 자동 생성된 태스크의 구조 설명 및 태스크 프레임워크를 소스파일 형태로 제공함에 따라 응용프로그램의 개발을 용이하게 하는 이점이 있다.
특히, 상기 실시간 운영체제(RTOS)를 이용한 응용프로그램은 태스크 구조가 RTOS의 종류별로 다르므로, 프로그래머가 사전에 RTOS 관련 규격을 충분히 분석한 후 개발에 임해야 하는데, 본 시스템을 이용하는 경우, 태스크 관련 오브젝트 정보와 태스크 프레임워크를 자동으로 생성해 줌으로써, 응용프로그램의 개발 착수에 필요한 시간을 크게 단축시킬 것으로 기대된다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
100: 운영체제 태스크 프레임워크의 자동 생성 시스템
110: OS 오브젝트 정보 생성부 120: OS 오브젝트 정보 분석부
130: 태스크 구조 설명 생성부 140: 태스크 프레임워크 생성부
150: 소스파일 출력부

Claims (10)

  1. OS(운영체제)의 제약사항을 고려하여 OS 오브젝트 정보를 생성하는 단계;
    상기 OS 오브젝트 정보를 분석하여 상기 OS가 지원하는 태스크의 구조를 정의하고, 개발하고자 하는 응용프로그램의 태스크 프레임워크(framework)를 생성하는 단계; 및
    상기 응용프로그램의 개발에 사용되도록, 상기 정의된 태스크의 구조 및 상기 생성된 태스크 프레임워크의 정보가 포함된 소스파일을 출력하는 단계를 포함하며,
    상기 응용프로그램의 개발시, 상기 생성된 태스크 프레임워크는 컴파일되어 사용되고, 상기 정의된 태스크의 구조는 주석문으로 처리되며,
    상기 OS의 제약사항은 상기 OS의 기본 특성과 메모리를 포함하는 정보이고, 상기 OS 오브젝트 정보는 상기 OS가 지원하는 태스크 및 상기 태스크와 연관된 알람 또는 이벤트를 포함하는 정보인 운영체제 태스크 프레임워크의 자동 생성 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 정의된 태스크의 구조는,
    상기 태스크의 우선순위, 선점방식, 이벤트 수신가능 여부 중 적어도 하나를 포함하는 태스크 속성 정보와, 상기 태스크와 연관된 이벤트, 알람, 리소스 중 적어도 하나를 포함하는 관련 오브젝트 정보를 포함하여 구성된 운영체제 태스크 프레임워크의 자동 생성 방법.
  4. 청구항 3에 있어서,
    상기 생성된 태스크 프레임워크는,
    상기 태스크에 대한 이름, 범위, 반환값의 종류 또는 전달값의 종류 중 적어도 하나의 정보를 포함하여 구성된 운영체제 태스크 프레임워크의 자동 생성 방법.
  5. 청구항 1에 있어서,
    상기 소스파일 상에서, 상기 정의된 태스크의 구조 및 상기 생성된 태스크 프레임워크의 정보는 상기 태스크의 개수에 대응되어 각각 출력되는 운영체제 태스크 프레임워크의 자동 생성 방법.
  6. OS(운영체제)의 제약사항을 고려하여 OS 오브젝트 정보를 생성하는 OS 오브젝트 정보 생성부;
    상기 OS 오브젝트 정보를 분석하는 OS 오브젝트 정보 분석부;
    상기 분석된 OS 오브젝트 정보를 이용하여, 상기 OS가 지원하는 태스크의 구조를 정의하는 태스크 구조 설명 생성부;
    상기 분석된 OS 오브젝트 정보를 이용하여, 개발하고자 하는 응용프로그램의 태스크 프레임워크(framework)를 생성하는 태스크 프레임워크 생성부; 및
    상기 응용프로그램의 개발에 사용되도록, 상기 정의된 태스크의 구조 및 상기 생성된 태스크 프레임워크의 정보가 포함된 소스파일을 출력하는 소스파일 출력부를 포함하며,
    상기 OS의 제약사항은 상기 OS의 기본 특성과 메모리를 포함하는 정보이고, 상기 OS 오브젝트 정보는 상기 OS가 지원하는 태스크 및 상기 태스크와 연관된 알람 또는 이벤트를 포함하는 정보인 운영체제 태스크 프레임워크의 자동 생성 시스템.
  7. 청구항 6에 있어서,
    상기 응용프로그램의 개발시, 상기 생성된 태스크 프레임워크는 컴파일되어 사용되고, 상기 정의된 태스크의 구조는 주석문으로 처리되는 운영체제 태스크 프레임워크의 자동 생성 시스템.
  8. 청구항 6에 있어서,
    상기 정의된 태스크의 구조는,
    상기 태스크의 우선순위, 선점방식, 이벤트 수신가능 여부 중 적어도 하나를 포함하는 태스크 속성 정보와, 상기 태스크와 연관된 이벤트, 알람, 리소스 중 적어도 하나를 포함하는 관련 오브젝트 정보를 포함하여 구성된 운영체제 태스크 프레임워크의 자동 생성 시스템.
  9. 청구항 8에 있어서,
    상기 생성된 태스크 프레임워크는,
    상기 태스크에 대한 이름, 범위, 반환값의 종류 또는 전달값의 종류 중 적어도 하나의 정보를 포함하여 구성된 운영체제 태스크 프레임워크의 자동 생성 시스템.
  10. 청구항 6에 있어서,
    상기 소스파일 상에서, 상기 정의된 태스크의 구조 및 상기 생성된 태스크 프레임워크의 정보는 상기 태스크의 개수에 대응되어 각각 출력되는 운영체제 태스크 프레임워크의 자동 생성 시스템.
KR1020100121939A 2010-12-02 2010-12-02 운영체제 태스크 프레임워크의 자동 생성 방법 및 시스템 KR101211914B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100121939A KR101211914B1 (ko) 2010-12-02 2010-12-02 운영체제 태스크 프레임워크의 자동 생성 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100121939A KR101211914B1 (ko) 2010-12-02 2010-12-02 운영체제 태스크 프레임워크의 자동 생성 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20120060435A KR20120060435A (ko) 2012-06-12
KR101211914B1 true KR101211914B1 (ko) 2012-12-13

Family

ID=46611351

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100121939A KR101211914B1 (ko) 2010-12-02 2010-12-02 운영체제 태스크 프레임워크의 자동 생성 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101211914B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102188738B1 (ko) 2019-12-09 2020-12-08 현대오트론 주식회사 오토사 운영체제의 알람 오프셋 최적화 장치

Also Published As

Publication number Publication date
KR20120060435A (ko) 2012-06-12

Similar Documents

Publication Publication Date Title
US8347272B2 (en) Call graph dependency extraction by static source code analysis
Vekris et al. Towards Verifying Android Apps for the Absence of {No-Sleep} Energy Bugs
US9582396B2 (en) Techniques for generating an executable debugger script
US20070277163A1 (en) Method and tool for automatic verification of software protocols
US10606586B2 (en) Application architecture generation
CN112685035A (zh) 项目开发方法及装置、计算机可读存储介质、电子设备
Albert et al. COSTABS: a cost and termination analyzer for ABS
Soukaras et al. IoTSuite: a ToolSuite for prototyping internet of things applications
EP3447635A1 (en) Application architecture generation
US20180025162A1 (en) Application program analysis apparatus and method
Kästner et al. Proving the absence of stack overflows
Bergmayr et al. fREX: fUML-based reverse engineering of executable behavior for software dynamic analysis
Ghosh et al. A systematic review on program debugging techniques
KR101211914B1 (ko) 운영체제 태스크 프레임워크의 자동 생성 방법 및 시스템
KR101629578B1 (ko) Rte 코드 생성 방법 및 이를 실행하는 장치
Dietrich et al. Driver generation for java ee web applications
Salihu et al. A Static-dynamic Approach for UI Model Generation for Mobile Applications
Lin et al. Refactorings for android asynchronous programming
Al-Kofahi et al. Escaping AutoHell: a vision for automated analysis and migration of autotools build systems
Masud et al. Automatic inference of task parallelism in task-graph-based actor models
Maras et al. Towards specifying pragmatic software reuse
Liang et al. Patbugs: A pattern-based bug detector for cross-platform mobile applications
Šebek et al. Aspect-oriented user interface design for Android applications
JP2012048329A (ja) オブジェクト指向プログラム生成装置、その方法、プログラム
Mariani et al. MASH: tool integration made easy

Legal Events

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

Payment date: 20151118

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160928

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170918

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180918

Year of fee payment: 7