KR100901702B1 - Ocl 기반의 프로바이더 검증 장치 및 방법 - Google Patents

Ocl 기반의 프로바이더 검증 장치 및 방법

Info

Publication number
KR100901702B1
KR100901702B1 KR1020070077501A KR20070077501A KR100901702B1 KR 100901702 B1 KR100901702 B1 KR 100901702B1 KR 1020070077501 A KR1020070077501 A KR 1020070077501A KR 20070077501 A KR20070077501 A KR 20070077501A KR 100901702 B1 KR100901702 B1 KR 100901702B1
Authority
KR
South Korea
Prior art keywords
provider
ocl
data model
profile
wbem
Prior art date
Application number
KR1020070077501A
Other languages
English (en)
Other versions
KR20080050266A (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 한국전자통신연구원
Publication of KR20080050266A publication Critical patent/KR20080050266A/ko
Application granted granted Critical
Publication of KR100901702B1 publication Critical patent/KR100901702B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Landscapes

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

Abstract

본 발명은 OCL 기반의 프로바이더 검증 장치 및 방법에 관한 것으로, 프로바이더를 보다 정확하고 효율적으로 검증할 수 있도록 하기 위하여, 프로바이더를 구현하기 위한 데이터 모델 및 제약 조건이 OCL(Object Constraint Language)로 기술된 프로파일; 상기 프로바이더를 포함하는 WBEM(Web Based Enterprise Management) 아키텍쳐를 이용하여 데이터 모델을 제공하는 데이터 모델 저장소; 및 상기 프로파일에 따라 상기 데이터 모델 저장소를 참조하여 상기 프로바이더를 검증하는 OCL 기반 검증기를 포함하여 구성되며, 이에 의하여 검증 동작이 자동화될 뿐 만 아니라 프로바이더의 의미론적 준수성 여부도 확인할 수 있도록 한다.

Description

OCL 기반의 프로바이더 검증 장치 및 방법{Apparatus and method for provider verification based on Object Constraint Language}
본 발명은 프로바이더 검증 장치에 관한 것으로, 특히, 프로바이더(provider)를 보다 정확하고 효율적으로 검증하기 위한 OCL 기반의 프로바이더 검증 장치 및 방법에 관한 것이다.
본 발명은 정보통신부의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2005-S-035-01, 과제명: 분산이기종 서버 환경을 위한 공개 SW 기반 가상 인프라 구현 기술 개발].
CIM(Common Information Model)은 비즈니스 컴퓨팅 및 네트워킹 자원정보 환경을 기술하기 위한 개념적인 모델이며, 플랫폼 독립적으로, 그리고 동시에 기술 중립적으로 자원 관리 정보를 교환하기 위해 제정된 획기적인 표준이다.
여기서, 비즈니스 컴퓨팅 및 네트워킹 환경이라 함은 관리 대상 실체(entity) 및 그들의 상태, 운용, 조합, 구성, 관계 등을 모두 포함하는 개념이다. CIM 모델은 특정 영역에만 국한되지 않으며, 네트워크를 기반으로 클라이언트부터 서버에 이르는 단대단(end-to-end) 관리를 지향하고 있다.
일반적으로, 프로바이더는 관리하고자 하는 도메인의 스키마를 정의한 특정 프로파일에 따라 구현된다. 그러나 이러한 특정 프로파일은 자연어로 기술되어 문맥상의 난해함이 존재하며, 프로파일에 기술된 모든 조건들을 만족하는지 효과적으로 검사할 수 있는 방법이 없다.
CIM에는 스키마에 대해 약간의 제약을 가할 수 있는 한정자(Qualifier)라는 것이 존재하기는 하나, 한정자로 프로파일에 정의된 모든 제약 조건을 서술하기에는 부족하다. 애초에 한정자는 스키마의 의미론적인 제약을 다루기 위해 고안된 것이 아니기 때문이다.
게다가 한정자는 참조 역할만을 수행할 뿐 여기에 서술된 제약 조건에 대한 검증을 수행하는 CIM 서버는 아직 존재하지 않는다.
이것은 성능상의 문제에서 기인하는 것이기도 한데, 현재도 CIM 서버의 성능 이슈가 문제되고 있는 상황에서 CIM 서버가 값에 대한 검증까지 수행한다는 것은 무시할 수 없는 성능 저하로 이어질 수 있기 때문이다.
따라서 현재의 환경에서는 프로바이더가 한정자의 제약 조건을 위반하는 결과값을 생산한다 하더라도, 이를 자동적으로 인지할 수 있는 방법이 없다. 그렇기 때문에 개발 과정에서의 검증의 중요성은 더욱 커진다.
검증 도구와 관련해서, SBLIM(Standards Based Linux Instrumentation for Manageability)에서는 프로바이더의 작동 여부를 자동 검증할 수 있는 테스트 수트(test-suite)를 제공한다. 이것은 프로바이더의 모든 메소드(method)들을 호출하여 기대되는 값을 반환하는지 검사하는 자동화 검증 도구다. 입력은 스크립트 형식의 텍스트 파일을 사용한다.
그러나 문제점은 여전히 존재하는데, 이는 SBLIM의 테스트 수트는 구현에 대한 검증만을 수행할 뿐, 구현이 원래의 프로파일에 서술된 데이터 모델 및 제약 조건을 충실히 따르고 있는지에 대해서는 전혀 검증할 수 없다는 것이다.
다시 말해 프로바이더의 작동 여부만을 검사할 뿐, 의미론적 준수성 여부는 전혀 검증하지 못한다.
이외에도 검증 도구로서 다양한 CIM 브라우저들이 존재한다. 하지만 이러한 툴들은 사용자가 직접 결과값을 읽고 판단할 수 있도록 하는 약간의 편의를 제공할 뿐이다. 결국 의미론적 준수성 검증은 인간이 수행해야 한다.
한편, UML(Unified Modeling Language) 2.0 표준에서 객체의 제약 조건을 UML 메타 모델의 적격 규칙(Well-formedness Rule)을 기반으로 명세화하기 위한 형식 언어로 OCL(Object Constraint Language)을 제안하였다.
OCL는 표준화된 언어로써 모델 구성 요소의 제약 조건을 정확하게 묘사한다. 이러한 특성으로 OCL는 인해 모델 구성의 적법성 여부를 판단하기 위해 널리 이용되고 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 OCL를 이용하여, 프로바이더가 프로파일의 제약 조건을 충분히 반영할 수 있는 지를 자동 검증할 수 있도록 하는 OCL 기반의 프로바이더 검증 장치 및 방법을 제공하는 것이다.
본 발명의 일 측면에 따르면 상기와 같은 문제점을 해결하기 위한 수단으로써, 프로바이더를 구현하기 위한 데이터 모델 및 제약 조건이 OCL(Object Constraint Language)로 기술된 프로파일; 상기 프로바이더를 포함하는 WBEM(Web Based Enterprise Management) 아키텍쳐를 이용하여 데이터 모델을 제공하는 데이터 모델 저장소; 및 상기 프로파일에 따라 상기 데이터 모델 저장소를 참조하여 상기 프로바이더를 검증하는 OCL 기반 검증기를 포함하는 OCL 기반의 프로바이더 검증 장치를 제공한다.
상기 OCL 기반 검증기는 상기 프로파일의 구문을 파싱하는 구문 파싱부; 상기 파싱된 구문의 문법을 분석하는 문법 분석부; 및 상기 문법 분석부의 분석 결과에 따라 상기 데이터 모델 저장소를 참조하여, 상기 프로바이더가 상기 데이터 모델 및 제약 조건을 충족시키는지를 확인하는 의미 분석부를 포함한다.
상기 WBEM 아키텍쳐는 상기 OCL 기반 검증기와의 인터페이싱을 수행하는 CIM 클라이언트; 상기 CIM 클라이언트와 상기 프로바이더간에 송수신되는 데이터를 전달하는 CIMOM; 및 상기 프로바이더를 통해 추출된 정보를 저장하거나 검색하도록 하는 CIM 저장소; 상기 프로파일을 기반으로 구현되는 상기 프로바이더를 포함한다.
본 발명의 다른 측면에 따르면 상기와 같은 문제점을 해결하기 위한 수단으로써, OCL 기반 검증기 및 데이터 모델 저장소를 구비하는 프로바이더 검증 장치를 이용하여, 데이터 모델 및 제약 조건이 OCL로 기술된 프로파일에 따라 구현된 WBEM(Web Based Enterprise Management) 아키텍쳐내 프로바이더를 검증하는 방법에 있어서, 상기 OCL 기반 검증기가 상기 프로파일을 기반으로 상기 데이터 모델 저장소에 데이터 모델을 질의하거나 상기 제약 조건에 따른 동작을 요청하는 단계; 및 상기 OCL 기반 검증기가 상기 데이터 모델 저장소를 참조하여 획득한 상기 WBEM 아키텍쳐의 동작 결과를 분석하여, 상기 WBEM 아키텍쳐내 프로바이더가 상기 프로파일의 데이터 모델 및 제약 조건을 준수하는 지를 확인하는 단계를 포함하는 OCL 기반의 프로바이더 검증 방법을 제공한다.
상기 WBEM 아키텍쳐는 CIM 클라이언트, CIMOM, CIM 저장소, 및 상기 프로바이더를 포함하며, 상기 프로바이더는 상기 CIM 클라이언트 및 CIMOM를 통해 상기 프로바이더 검증 장치와 데이터를 송수신하는 것을 특징으로 한다.
이와 같이 본 발명의 OCL 기반의 프로바이더 검증 장치 및 방법, 그리고 이를 이용하는 프로바이더 개발 시스템은 프로파일을 OCL로 기술하고, 이를 이용하여 프로바이더를 생성하고 검증하도록 한다.
도1은 일반적인 WBEM 아키텍쳐의 구조를 도시한 도면,
도2는 본 발명의 OCL 기반의 프로바이더 검증 장치의 구성을 도시한 도면, 그리고
도3은 본 발명의 OCL 기반의 프로바이더 검증 방법을 설명하기 위한 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시 예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.
도1은 일반적인 WBEM(Web Based Enterprise Management) 아키텍쳐의 구조를 도시한 도면이다.
도1을 참조하면, WBEM 아키텍쳐(10)는 CIM 클라이언트(11), CIMOM(CIM Object Manager,12), CIM 저장소(13), 및 프로바이더(14)로 이루어진다.
CIM 클라이언트(11)는 DMTF((Distributed Management Task Force)의 "CIM Operation over HTTP spec 1.0"에 따라 CIMOM(12)와의 인터페이스를 구현하며, HTTP 프로토콜을 사용하여 서버 사이에 요청(request) 메시지와 응답(response) 메시지를 주고받는다.
CIMOM(12)는 WBEM 아키텍쳐의 CIM 객체들을 관리하는 소프트웨어로, CIM 객체는 자바 클래스 형태로 내부에 저장이 되며, CIM 클라이언트(11)와 CIM 저장소(13), 그리고 관리 자원(미도시)들 사이에 정보를 전송하는 역할 등을 수행한다. 그리고 일반적으로 관리되는 시스템 자원별로 구현되는 프로바이더(14)를 관리한다.
CIM 저장소(13)는 프로바이더(14)를 통해 추출된 정보를 저장하고 검색하는 데 사용된다.
프로바이더(14)는 CIMOM(12)과 하나 또는 그 이상의 관리 자원 사이의 중개자와 같은 역할을 한다. 즉, 프로바이더(14)는 CIMOM(12)로부터 요청을 전달받아 해당 시스템 관리 자원에게 전달하고 관리 자원으로부터 얻은 데이터를 CIMOM(12)에게 전달한다.
WBEM 아키텍쳐는 일반적으로 도1에서와 같은 구조를 가지며, WBEM 아키텍쳐내 프로바이더(14)는 앞서 설명한 바와 같이 프로파일에 따라 구현된다.
이에 본 발명은 프로파일을 OCL로 정의하고, 이에 따라 WBEM 아키텍쳐내 프로바이더(14)를 구현한 후, 프로바이더(14)가 프로파일의 제약 조건을 충분히 반영할 수 있는 지를 자동 검증할 수 있도록 하는 프로바이더 검증 장치 및 방법을 제공하고자 한다.
도2는 본 발명의 OCL 기반의 프로바이더 검증 장치의 구성을 도시한 도면이다.
도2를 참조하면, 본 발명의 프로바이더 검증 장치는 OCL 기반 검증기(20)와 데이터 모델 저장소(30)를 구비하고, 데이터 모델 저장소(30) 로서 WBEM 아키텍쳐(10)를 직접 이용하도록 한다.
이때, 프로파일(40)은 데이터 모델 및 제약 조건이 OCL로 기술되며, WBEM 아키텍쳐(10)내 프로바이더(14)는 이 프로파일(40)을 기반으로 하여 코드 템플릿을 산출한다.
OCL 기반 검증기(20)는 구문 파싱부(21), 문법 분석부(22), 및 의미 분석부(23)를 구비한다.
구문 파싱부(21)는 프로파일(40)을 순차적으로 읽으면서 OCL 구문을 파싱한다.
문법 분석부(22)는 데이터 모델 저장부(14)를 참조하여 파싱된 OCL 구문의 문법을 분석하고, 의미 분석부(13)가 인식할 수 있는 데이터 형태로 가공한다.
의미 분석부(13)는 문법 분석부(22)를 통해 가공된 데이터에 따라 데이터 모델 저장부(14)를 참조하면서, 프로바이더(14)가 데이터 모델에 대한 질의나 제약 조건을 충족시키지는 지를 검증한다.
데이터 모델 저장소(30)는 실제 사용될 데이터 모델이 저장되어 있는 WBEM 아키텍쳐(10)를 숨기고, OCL 기반 검증기(20)에게 데이터 모델을 제공하는 저장소로써의 역할을 수행한다.
이에 OCL 기반 검증기(20)는 데이터 모델 저장소(30)를 통해 실제 CIM 연산에서 독립되어 자유롭게 데이터 모델에 액세스 할 수 있게 된다.
도3은 본 발명의 OCL 기반의 프로바이더 검증 방법을 설명하기 위한 흐름도이다.
먼저, OCL로 제약 조건이 기술된 프로파일(40)을 생성하고(S1), 이를 기반으로 WBEM(10)내 프로바이더(14)를 생성한다(S2).
단계 S1 및 S2를 통해, 프로파일(40) 및 프로바이더(14)가 모두 생성되었으면, OCL 기반 검증기(20)는 프로파일(40)을 기반으로 데이터 모델 저장소(30)에 데이터 모델을 질의하거나 데이터 모델 저장소(30)에 제약 조건에 대응하는 동작의 수행을 요청한다(S3).
그리고 단계 S3의 동작 결과를 분석하여 단계S2를 통해 생성된 프로바이더(14)가 프로파일(40)의 데이터 모델 및 제약 조건을 준수하는 지를 확인한다(S4).
단계 S4의 검증 결과를 프로바이더 개발자에게 통보하고 동작 종료한다(S5).
이와 같이, 본 발명은 CIM 프로파일 디자인 과정에 OCL을 도입한다. 이렇게 표준을 사용하는 것은 스키마 디자이너가 새로운 기술을 습득하지 않고 이미 통용되고 있는 표준 기술을 이용하게 함으로 새로운 기술 습득에 따르는 시간과 비용을 감소시켜 준다.
또한 OCL을 코드 스켈레톤 생성시에 사용하고 마지막 검증 과정에서도 본 발명의 프로바이더 검증 장치에 적용함으로 대부분의 반복적인 작업들이 자동적으로 수행되도록 설계하였다.
이에 검증 과정은 디자인 과정의 결과물을 이용하여 자동 수행되도록 설계되었기 때문에, 프로바이더 개발자의 업무는 프로바이더 본연의 역할-관리 자원에 접근-를 구현하는데 집중할 수 있다.
이상에서 설명한 본 발명은 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다.

Claims (5)

  1. 프로바이더를 구현하기 위한 데이터 모델 및 제약 조건이 OCL(Object Constraint Language)로 기술된 프로파일;
    상기 프로바이더를 포함하는 WBEM(Web Based Enterprise Management) 아키텍쳐를 이용하여 데이터 모델을 제공하는 데이터 모델 저장소; 및
    상기 프로파일에 따라 상기 데이터 모델 저장소를 참조하여 상기 프로바이더를 검증하는 OCL 기반 검증기를 포함하는 OCL 기반의 프로바이더 검증 장치.
  2. 제1항에 있어서, 상기 OCL 기반 검증기는
    상기 프로파일의 구문을 파싱하는 구문 파싱부;
    상기 파싱된 구문의 문법을 분석하는 문법 분석부; 및
    상기 문법 분석부의 분석 결과에 따라 상기 데이터 모델 저장소를 참조하여, 상기 프로바이더가 상기 데이터 모델 및 제약 조건을 충족시키는지를 확인하는 의미 분석부를 포함하는 OCL 기반의 프로바이더 검증 장치.
  3. 제1항에 있어서, 상기 WBEM 아키텍쳐는
    상기 OCL 기반 검증기와의 인터페이싱을 수행하는 CIM 클라이언트;
    상기 CIM 클라이언트와 상기 프로바이더간에 송수신되는 데이터를 전달하는 CIMOM; 및
    상기 프로바이더를 통해 추출된 정보를 저장하거나 검색하도록 하는 CIM 저장소;
    상기 프로파일을 기반으로 구현되는 상기 프로바이더를 포함하는 것을 특징으로 하는 OCL 기반의 프로바이더 검증 장치.
  4. OCL 기반 검증기 및 데이터 모델 저장소를 구비하는 프로바이더 검증 장치를 이용하여, 데이터 모델 및 제약 조건이 OCL로 기술된 프로파일에 따라 구현된 WBEM(Web Based Enterprise Management) 아키텍쳐내 프로바이더를 검증하는 방법에 있어서,
    상기 OCL 기반 검증기가 상기 프로파일을 기반으로 상기 데이터 모델 저장소에 데이터 모델을 질의하거나 상기 제약 조건에 따른 동작을 요청하는 단계; 및
    상기 OCL 기반 검증기가 상기 데이터 모델 저장소를 참조하여 획득한 상기 WBEM 아키텍쳐의 동작 결과를 분석하여, 상기 WBEM 아키텍쳐내 프로바이더가 상기 프로파일의 데이터 모델 및 제약 조건을 준수하는 지를 확인하는 단계를 포함하는 OCL 기반의 프로바이더 검증 방법.
  5. 제4항에 있어서, 상기 WBEM 아키텍쳐는
    CIM 클라이언트, CIMOM, CIM 저장소, 및 상기 프로바이더를 포함하며,
    상기 프로바이더는 상기 CIM 클라이언트 및 CIMOM를 통해 상기 프로바이더 검증 장치와 데이터를 송수신하는 것을 특징으로 하는 OCL 기반의 프로바이더 검증 방법.
KR1020070077501A 2006-12-01 2007-08-01 Ocl 기반의 프로바이더 검증 장치 및 방법 KR100901702B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060121055 2006-12-01
KR20060121055 2006-12-01

Publications (2)

Publication Number Publication Date
KR20080050266A KR20080050266A (ko) 2008-06-05
KR100901702B1 true KR100901702B1 (ko) 2009-06-08

Family

ID=39805759

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070077501A KR100901702B1 (ko) 2006-12-01 2007-08-01 Ocl 기반의 프로바이더 검증 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100901702B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096257B (zh) * 2019-04-10 2023-04-07 沈阳哲航信息科技有限公司 一种基于智能识别的设计图形自动化评判系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
K.Chan & I. Poernomo, "QoS-aware model driven architecture through the UML and CIM",Information System Front, Vol. 9 pp.209-224, 2007.05.26.
K.Kiviluoma, "Run-time monitoring of architecturally significient behaviors using behavioral profiles and aspects",Proc. of Int. Symp. on Sofware Testing and Analysis, pp.181-190, 2006..

Also Published As

Publication number Publication date
KR20080050266A (ko) 2008-06-05

Similar Documents

Publication Publication Date Title
US8572566B2 (en) Systems and methods for analyzing changes in application code from a previous instance of the application code
US8671222B2 (en) Systems and methods for dynamically deploying an application transformation tool over a network
US8898627B2 (en) Systems and methods for applying rules to transform objects of an application
US8239820B1 (en) Compliance method and system for XML-based applications
US8239839B2 (en) Asynchrony debugging using web services interface
US8739150B2 (en) Systems and methods for dynamically replacing code objects via conditional pattern templates
US8769502B2 (en) Template based asynchrony debugging configuration
US7752598B2 (en) Generating executable objects implementing methods for an information model
US9239709B2 (en) Method and system for an interface certification and design tool
EP3502896A1 (en) Generation of an adapters configuration user interface
US8060863B2 (en) Conformance control module
US20120089931A1 (en) Lightweight operation automation based on gui
US9934029B2 (en) Annotation driven representational state transfer (REST) web services
Herbold et al. Combining usage-based and model-based testing for service-oriented architectures in the industrial practice
US10606569B2 (en) Declarative configuration elements
US20060106863A1 (en) System and/or method for implementing efficient techniques for testing common information model providers
KR100901702B1 (ko) Ocl 기반의 프로바이더 검증 장치 및 방법
WO2011041246A1 (en) Systems and methods for analyzing and transforming an application from a source installation to a target installation
Bluemke et al. Tool for automatic testing of web services
Wahli et al. Websphere Version 4 Application Development Handbook
EP4235437A1 (en) A test system and method for testing of apis
Cortellessa et al. Three performance models at work: a software designer perspective
Bourouis et al. EQNM2L: Towards a Metamodel for Extended Queuing Networks
US7827480B2 (en) System and method of using a transactional unit comprised of transactional subunits
Krishna et al. Intelligent Framework for Web-Service Testing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee