KR20110113276A - 소프트웨어 시스템의 자율 관리 제공 방법, 이를 수행하는 프로그램을 기록한 기록매체 및 소프트웨어의 자율 관리 기능을 구비한 시스템 - Google Patents

소프트웨어 시스템의 자율 관리 제공 방법, 이를 수행하는 프로그램을 기록한 기록매체 및 소프트웨어의 자율 관리 기능을 구비한 시스템 Download PDF

Info

Publication number
KR20110113276A
KR20110113276A KR1020100032564A KR20100032564A KR20110113276A KR 20110113276 A KR20110113276 A KR 20110113276A KR 1020100032564 A KR1020100032564 A KR 1020100032564A KR 20100032564 A KR20100032564 A KR 20100032564A KR 20110113276 A KR20110113276 A KR 20110113276A
Authority
KR
South Korea
Prior art keywords
software
providing
configurations
requested service
configuration
Prior art date
Application number
KR1020100032564A
Other languages
English (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 KR1020100032564A priority Critical patent/KR20110113276A/ko
Priority to US13/072,970 priority patent/US20110252397A1/en
Priority to EP11160976A priority patent/EP2375369A1/en
Priority to JP2011086539A priority patent/JP2011222020A/ja
Publication of KR20110113276A publication Critical patent/KR20110113276A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

실시간으로 변화하는 환경에 상응하여 최적화된 시스템을 제공할 수 있는 소프트웨어 시스템의 자율 관리 제공 방법, 이를 수행하는 프로그램을 기록한 기록매체 및 소프트웨어의 자율 관리 기능을 구비한 시스템이 개시된다. 사용자로부터 서비스를 요청받으면, 동적 휘처 모델로부터 요청받은 서비스를 제공할 수 있는 시스템의 모든 구성을 획득하고, 미리 설정된 정책에 기초하여 획득한 시스템의 모든 구성 중 요청받은 서비스에 상응하는 구성을 획득하여 시스템의 자원을 재구성하고, 재구성된 자원에 기초하여 요청받은 서비스를 제공한다. 따라서, 사용자의 개입 없이 실시간으로 변화하는 환경에 상응하여 최적화된 서비스를 제공할 수 있다.

Description

소프트웨어 시스템의 자율 관리 제공 방법, 이를 수행하는 프로그램을 기록한 기록매체 및 소프트웨어의 자율 관리 기능을 구비한 시스템{METHOD FOR PROVIDING AUTONOMIC MANAGEMENT OF SOFTWARE SYSTEM, RECORDING MEDIUM STORING PROGRAM FOR PERFORMING THE SAME AND SYSTEM HAVING FUNCTION OF AUTONOMIC MANAGEMENT OF SOFTWARE}
본 발명은 소프트웨어 개발 방법에 관한 것으로, 더욱 상세하게는 실행시 동적으로 변화하는 정보에 기초하여 시스템을 위한 최적화된 구성을 제공할 수 있는 소프트웨어 시스템의 자율 관리 제공 방법, 이를 수행하는 프로그램을 기록한 기록매체 및 소프트웨어의 자율 관리 기능을 구비한 시스템에 관한 것이다.
제품 계열 공학(PLE : Product Line Engineering)은 소프트웨어를 개발할 때 체계적인 재사용 기법을 적용함으로써 동일 영역에서 다양하게 특화된 소프트웨어를 신속하게 개발할 수 있는 효과적인 방법을 제공하는 접근 방법으로, 영역(Domain)을 분석하여 한 영역에 속한 다양한 어플리케이션들의 공통점과 차이점을 추출하고, 이에 기초하여 재사용이 가능한 제품 계열 자산(product line asset)들을 정의하여 빠른 시간 안에 같은 제품 계열의 소프트웨어를 개발하는 방법론이다.
제품 계열 공학을 위한 방법 중에는 1990년 CMU SEI에서 제안한 휘처 기반 소프트웨어 개발(Feature-Oriented Software Development) 방법이 가장 널리 활용되고 있다. 휘처 기반 소프트웨어 개발 방법은 제품의 공통점과 차이점을 영역 전문가(domain expert)가 휘처(feature) 단위로 분석하여 휘처 모델을 정의하고, 응용프로그램 개발자는 정의된 휘처 모델을 기반으로 하여 새로운 제품을 빠른 시간안에 개발할 수 있도록 하는 방법이다.
구체적으로, 종래의 휘처 기반 소프트웨어 개발 방법에서는 영역 전문가가 제품의 계열을 분석한 후, 분석한 제품 계열을 기반으로 제품 계열 재사용 목록(Product Line Reuse Library)을 만들고 이를 휘처 모델(feature model)을 이용하여 관계를 정의한다. 그리고, 어플리케이션 전문가(application engineer)가 휘처 모델을 기반으로 해당 소프트웨어 시스템의 요구사항에 맞게 새로운 소프트웨어를 용이하게 개발하였다.
그러나, 상술한 종래의 휘처 기반 소프트웨어 개발 방법은 소프트웨어 개발 시간 및 경제적 비용을 효과적으로 사용할 수 있는 장점은 있으나, 소프트웨어 개발자가 주어진 환경을 고려하여 수동적으로 휘처를 선택하여 정적으로 소프트웨어 시스템을 구성하기 때문에 소프트웨어 시스템이 실행시 실시간으로 변화하는 환경에 동적으로 대응하여 최적화된 시스템을 제공할 수 없고, 이로 인해 사용자의 개입이 필요하다는 단점이 있다.
본 발명의 목적은 실시간으로 변화하는 환경에 상응하여 최적화된 시스템을 제공할 수 있는 소프트웨어 시스템의 자율 관리 제공 방법을 제공하는 것이다.
또한, 본 발명의 다른 목적은 상기 소프트웨어 시스템의 자율 관리 제공 방법을 수행하는 프로그램을 기록한 기록매체를 제공하는 것이다.
또한, 본 발명의 또 다른 목적은 실시간으로 변화하는 환경에 상응하여 최적화된 시스템을 제공할 수 있는 소프트웨어의 자율 관리 기능을 구비한 시스템을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 소프트웨어 시스템의 자율 관리 제공 방법은, 사용자로부터 서비스를 요청받는 단계와, 동적 휘처 모델(dynamic feature model)로부터 상기 요청받은 서비스를 제공할 수 있는 시스템의 모든 구성(configuration)을 획득하는 단계와, 미리 설정된 정책에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 상응하는 구성을 획득하는 단계와, 상기 획득한 구성에 기초하여 시스템의 자원을 재구성하는 단계 및 상기 재구성된 자원에 기초하여 상기 요청받은 서비스를 제공하는 단계를 포함한다. 상기 동적 휘처 모델은 소프트웨어 시스템이 실행시에 동작할 수 있는 객체의 구성(configuration)을 나타낼 수 있다. 상기 동적 휘처 모델은 소프트웨어 시스템이 설치된 시스템이 실행시에 변화하는 값들을 정의하는 실행중 휘처(runtime feature)를 포함할 수 있다. 상기 획득한 시스템의 모든 구성 중 미리 설정된 정책에 기초하여 요청받은 서비스에 상응하는 구성을 획득하는 단계는, 상기 시스템의 상기 실행중 휘처(runtime feature)에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 가장 적합한 구성을 획득할 수 있다. 상기 소프트웨어 시스템의 자율 관리 제공 방법은, 상기 미리 설정된 정책에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 상응하는 구성을 획득하는 단계 이전에, 상기 시스템 또는 주위의 물리적인 환경으로부터 상황(context) 정보를 획득하는 단계를 더 포함할 수 있다. 상기 미리 설정된 정책에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 상응하는 구성을 획득하는 단계는, 상기 미리 설정된 정책 및 상기 획득한 상황 정보에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 상응하는 구성을 획득할 수 있다.
또한, 상술한 본 발명의 다른 목적을 달성하기 위한 본 발명의 일 측면에 따른 소프트웨어 시스템의 자율 관리 제공 방법을 수행하는 프로그램을 기록한 기록매체는, 요청된 서비스를 제공할 수 있는 시스템의 모든 구성(configuration)을 동적 휘처 모델(dynamic feature model)로부터 획득하는 단계와, 미리 설정된 정책에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 상응하는 구성을 획득하는 단계와, 상기 획득한 구성에 기초하여 시스템의 자원을 재구성하는 단계 및 상기 재구성된 자원에 기초하여 상기 요청받은 서비스를 제공하는 단계를 수행하는 프로그램이 기록된다.
또한, 본 발명의 또 다른 목적을 달성하기 위한 본 발명의 일 측면에 따른 소프트웨어 자율 관리 기능을 구비한 시스템은, 요청받은 서비스를 제공할 수 있는 시스템의 모든 구성(configuration)을 제공하는 동적 휘처 모델과, 미리 설정된 정책 정보에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 상응하는 구성을 제공하는 자율 관리자 및 상기 자율 관리자로부터 요청받은 서비스를 위한 구성을 제공받고, 상기 제공받은 구성에 기초하여 시스템의 자원을 재구성한 후 재구성된 자원에 기초하여 사용자에게 서비스를 제공하는 코어 시스템을 포함한다. 상기 소프트웨어 자율 관리 기능을 구비한 시스템은 사용자가 설정한 정책을 제공받고 상기 제공받은 정책 또는 상기 제공받은 정책에 상응하는 목표를 상기 자율 관리자에게 제공하는 정책 관리자 및 상기 시스템 또는 주위의 물리적인 환경으로부터 상황 정보를 수집하고 수집한 상황 정보를 상기 자율 관리자에게 제공하는 상황 관리자를 더 포함할 수 있다. 상기 자율 관리자는 상기 미리 설정된 정책 정보 및 상기 상황 정보에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 상응하는 구성을 제공할 수 있다. 상기 동적 휘처 모델은 상기 시스템이 실행시에 변화하는 값들을 정의하는 실행중 휘처(runtime feature)를 포함할 수 있다. 상기 자율 관리자는 상기 시스템의 상기 실행중 휘처에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 상응하는 구성을 제공할 수 있다.
상술한 바와 같은 본 발명에 따른 소프트웨어 시스템의 자율 관리 제공 방법 및 소프트웨어의 자율 관리 기능을 구비한 시스템에 따르면, 소프트웨어 시스템이 정적으로 구성될 뿐만 아니라 시스템이 실행중에 실시간으로 변화하는 환경을 나타내는 실행중 휘처(runtime feature)를 포함하는 동적 휘처 모델을 이용하여 요청된 서비스에 최적화된 구성을 추출하고, 추출된 구성을 이용하여 시스템의 자원을 재구성한 후 서비스를 제공한다.
따라서, 사용자의 개입 없이 실시간으로 변화하는 환경에 상응하여 최적화된 서비스를 제공할 수 있고, 이러한 특징 인하여 요구되는 목적에 따라 동적으로 재구성이 가능한 소프트웨어 시스템이 필요한 임베디드 시스템, 로켓, 군용 소프트웨어 시스템 등에 활용될 수 있다.
도 1을 본 발명의 일 실시예에 따른 소프트웨어의 자율 관리를 수행하는 시스템의 구성을 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 시스템의 자율 관리 방법을 나타내는 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 소프트웨어 시스템의 자율 관리 방법에 적용되는 정적 휘처 모델과 동적 휘처 모델의 관계를 설명하기 위한 개념도이다.
도 4는 본 발명의 일 실시예 따른 소프트웨어 시스템의 자율 관리 방법에 적용되는 정적 휘처 모델과 동적 휘처 모델을 비교한 것을 나타낸다.
도 5는 본 발명의 일 실시예에 따른 소프트웨어 시스템의 자율 관리 방법이 적용되는 예를 설명하기 위한 이동통신 단말기의 정적 휘처 모델의 구성을 나타내는 개념도이다.
도 6은 본 발명의 일 실시예에 따른 소프트웨어 시스템의 자율 관리 방법이 적용되는 예를 설명하기 위한 이동통신 단말기의 동적 휘처 모델의 구성을 나타내는 개념도이다.
도 7은 도 6에 도시한 이동통신 단말기의 동적 휘처 모델을 기반으로 자율 관리되는 이동통신 단말기의 상태도를 나타낸다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1을 본 발명의 일 실시예에 따른 소프트웨어의 자율 관리를 수행하는 시스템의 구성을 나타내는 블록도이다.
도 1을 참조하면, 영역 전문가(Domain engineer)는 제품 계열(Product line)을 분석하여 이를 기반으로 제품 계열 재사용 목록(Product Line Reuse Library)(110)을 생성하고 이를 정적 휘처 모델(Static Feature Model)(120)을 이용해서 관계를 나타낸다.
어플리케이션 전문가(Application engineer)는 상기 정적 휘처 모델(120)에 기초하여 개발하고자 하는 해당 소프트웨어 시스템의 요구사항에 상응하여 소프트웨어를 개발한다.
또한, 영역 전문가는 코어 시스템(140)의 실행시의 제품 재구성을 위한 의사 결정을 위한 동적 휘처 모델(Dynamic Feature Model)(130)을 생성한다. 여기서, 상기 정적 휘처 모델(120) 및 동적 휘처 모델(130)은 소프트웨어 시스템의 개발시에 생성될 수 있다.
본 발명의 일 실시예에 따른 소프트웨어 시스템의 자율 관리 제공 방법에서는 종래의 휘처 기반 소프트웨어 개발 방법을 확장하여 종래의 휘처 모델을 정적 휘처 모델(120)로 명명하고, 상기 정적 휘처 모델을 기반으로 하여 소프트웨어 시스템의 실행시 변화 가능한 휘처들은 분석하고 분석한 휘처들을 기반으로 하여 동적 휘처 모델(130)을 새롭게 정의한다.
상기 동적 휘처 모델(130)은 코어 시스템(140)이 실행시에 어떤 구성으로 동작하는지를 모두 정의할 수 있는 모델로서, 정적 휘처 모델(120)에서 선택된 기능을 토대로 상기 선택된 기능이 실행시에 어떻게 활성화되는가를 정의한 것이다.
코어 시스템(Core system)(140)은 소정 영역의 하드웨어 및 하드웨어에 설치되어 하드웨어의 동작을 제어하는 소프트웨어 시스템을 모두 포함하고, 사용자로부터 새로운 서비스 요청을 제공받고, 제공받은 서비스 요청 정보를 자율 관리자(140)에게 제공한다. 이후, 코어 시스템(140)은 자율 관리자(150)로부터 요청받은 서비스를 위한 구성 정보를 제공받고, 제공받은 구성 정보에 기초하여 시스템의 자원을 재구성(reconfiguration)한 후 재구성된 시스템 자원에 기초하여 사용자에게 서비스를 제공한다.
자율 관리자(autonomic manager)(150)는 정책 관리자(160)로부터 제공된 정책 정보와, 상황 관리자(170)로부터 제공된 상황 정보에 기초하여, 동적 휘처 모델(130)로부터 제공된 코어 시스템(140)의 모든 가능한 구성 정보 중 사용자로부터 요청받은 서비스에 가장 적합한 구성을 추출한 후 코어 시스템(140)에 제공한다.
정책 관리자(Policy manager)(160)는 사용자로부터 상위 레벨의 정책(policy)을 제공받고, 제공받은 정책 또는 상기 상위 레벨의 정책에 상응하는 구체적인 목표(goal)를 자율 관리자(150)에게 제공한다.
상황 관리자(Context manager)(170)는 코어 시스템 및/또는 주위의 물리적인 환경으로부터 제공받을 수 있는 상황(context) 정보를 수집하고, 수집한 상황 정보를 자율 관리자(150)에게 제공한다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 시스템의 자율 관리 방법을 나타내는 흐름도이다.
도 1 및 도 2를 참조하여 본 발명의 일 실시예에 따른 소프트웨어 시스템의 자율 관리 방법을 설명하면, 먼저 코어 시스템(140)은 사용자(user)로부터 서비스 요청을 제공받고(단계 210), 제공받은 서비스 요청 정보를 자율 관리자(150)에게 제공한다.
자율 관리자(150)는 정책 관리자(160)로부터 사용자가 설정한 정책 정보를 획득하고(단계 220), 상황 관리자(170)로부터 코어 시스템 및/또는 주위의 물리적인 환경으로부터 상황 정보를 획득한다(단계 230).
또한, 자율 관리자(150)는 동적 휘처 모델로부터 시스템의 모든 가능한 구성 정보를 획득하고(단계 240), 획득한 상기 정책 정보 및 상황 정보에 기초하여 상기 시스템의 모든 가능한 구성 정보 중 사용자가 요청한 서비스에 가장 적합한 구성을 추출한 후(단계 260), 추출한 구성 정보를 코어 시스템(140)에 제공한다.
코어 시스템(270)은 자율 관리자(150)로부터 제공된 구성 정보에 기초하여 시스템의 자원을 재구성하고(단계 260), 재구성된 자원을 이용하여 사용자가 요청한 서비스를 제공한다(단계 270).
도 2에서는, 서비스 요청이 접수된 후(단계 210) 사용자가 설정한 정책 정보를 획득하고(단계 220) 상황 정보를 획득(단계 230)하는 것으로 예를 들어 설명하였으나, 이는 설명의 편의를 위한 것일 뿐이며, 실질적으로는 단계 210 내지 단계 230은 순서가 서로 바뀌어서 수행되어도 무방하다. 또한, 단계 220 및/또는 단계 230은 단계 240과 실행 순서가 바뀌어도 무방하다.
도 3은 본 발명의 일 실시예에 따른 소프트웨어 시스템의 자율 관리 방법에 적용되는 정적 휘처 모델과 동적 휘처 모델의 관계를 설명하기 위한 개념도이다.
도 3을 참조하면, 도 3에서 상부의 원뿔(corn) 영역은 소프트웨어 시스템의 개발을 위한 정적 휘처 모델을 나타내고, 하부의 원뿔 영역은 하나의 제품이 실행중에 재구성될 수 있는 동적 휘처 모델을 나타낸다.
도 3에서, P1, P2, P3 및 P4는 프로그램(program)을 의미하고, f1, f2, f3 및 f4는 정적 휘처(static features)를 의미한다. 또한, C1, C2, C3 및 C4는 구성(configuration)을 의미하고, f1'및 f2'는 동적 휘처(dynamic feature)를 의미한다.
정적 휘처 모델은 휘처를 이용하여 기본적인 소프트웨어 프로그램인 P1으로부터 P2, P3 및 P4를 점진적으로 개발할 수 있다. 예를 들어 덧셈 기능만을 가진 계산기 프로그램이 P1이고, f1은 뺄셈 기능, f2는 나눗셈 기능으로 가정하면, P4는 덧셈, 뺄셈 및 나눗셈 기능을 가진 계산기 프로그램이 만들어진다.
동적 휘처 모델은 상술한 바와 같이 생성된 소프트웨어 시스템이 실행되는 도중에 어떤 구성으로 동작할지를 나타낸다. 즉, 정적 휘처 모델에서 휘처가 프로그램 코드라면 동적 휘처 모델에서는 이에 대한 객체가 된다. 예를 들어, 소프트웨어 시스템이 실행되는 도중 프로그램 P4는 정책 및 상황 정보에 기초하여 덧셈만으로 구성된 C1이 될 수도 있고, 뺄셈 및/또는 나눗셈 기능이 부가되어 C2, C3 및 C4 중 어느 하나로 재구성될 수도 있다. 또한, 상기한 C1, C2, C3 및 C4의 구성은 정책 및 상황 정보에 따라 동적 휘처가 추가되거나 제외되어 구성이 변경될 수도 있다.
도 4는 본 발명의 일 실시예 따른 소프트웨어 시스템의 자율 관리 방법에 적용되는 정적 휘처 모델과 동적 휘처 모델을 비교한 것을 나타낸다.
도 4를 참조하면, 정적 휘처 모델은 소프트웨어 프로그램의 합성을 위한 것이고, 동적 휘처 모델은 시스템이 실행되는 도중 재구성을 위한 의사 결정 모델이다.
또한, 정적 휘처 모델 및 동적 휘처 모델은 영역 공학자(또는 영역 전문가)가 소프트웨어 개발 시점에 생성하고, 정적 휘처 모델은 소프트웨어 시스템의 개발 시점에 소프트웨어 개발자가 의사 결정을 하고, 동적 휘처 모델은 시스템의 실행시에 자율 관리자 또는 사용자에 의해 결정된다.
정적 휘처 모델에서의 휘처의 조합이 소프트웨어 시스템이라면, 동적 휘처 모델에서 휘처의 조합은 시스템의 실행중의 상태(또는 구성)가 된다. 시스템이 동작되는 동안의 소프트웨어 시스템을 유한 가상 기계(FSM: Finite State Machine) 로 나타낸다면 상태는 독립적인 상태이므로 이와 같다고 할 수 있다.
도 5는 본 발명의 일 실시예에 따른 소프트웨어 시스템의 자율 관리 방법이 적용되는 예를 설명하기 위한 이동통신 단말기의 정적 휘처 모델의 구성을 나타내는 개념도이다.
이동통신 단말기에 설치되는 소프트웨어는 이동통신 단말기에 구비되는 다양한 하드웨어에 상응하여 다양한 기능들이 제공되어야 하기 때문에 제품 계열 공학을 적용하기에 아주 적합한 사례이다.
휘처 모델은 영역 내의 전문가와 일반 사용자 또는 개발자 간의 의사소통 수단으로 영역내의 여러 시스템의 공통점과 차이점을 AND/OR 그래프로 도식화한 영역 분석 모델이다. 휘처 모델은 영역 내의 공통적인 휘처는 필수(Mandatory) 휘처로 표현되고, 시스템 간의 구별되는 차이점은 선택적(Optional) 휘처, 양자택일(Alternative) 휘처, 그리고 하나 이상의 선택을 할 수 있는 OR 휘처로 표현이 된다.
도 5를 참조하여 이동통신 단말기의 정적 휘처 모델을 설명하면, 이동통신 단말기에서 어플리케이션(application)은 필수 휘처이고, 어플리케이션에서 영상 통화(Video Call)는 선택적 휘처에 해당한다. 이동통신 단말기는 어플리케이션을 포함할 수도 있고, 네트워크 인터페이스(network interface)도 가질 수 있고, 정책(policy)도 가질 수 있다. 이와 같은 경우 어플리케이션(application), 네트워크 인터페이스(network interface) 및 정책(policy)를 기본(Base) 이동통신 단말기에 주어진 휘처 모델의 관계를 바탕으로 추가하여 새로운 이동통신 단말기 시스템을 만들 수 있다.
도 5에 도시된 이동통신 단말기의 정적 휘처 모델에서는, 어플리케이션(application)은 음성 통화(voice call)은 반드시 포함되어야 하고, CDMA, WLAN, WiBro, Bluetooth 중 적어도 하나의 네트워크 인터페이스(network interface)와 정책(policy)을 포함하는 것을 나타내고 있다.
도 6은 본 발명의 일 실시예에 따른 소프트웨어 시스템의 자율 관리 방법이 적용되는 예를 설명하기 위한 이동통신 단말기의 동적 휘처 모델의 구성을 나타내는 개념도이다.
도 6을 참조하면, 정적 휘처 모델이 제품들의 기능적인 특성을 분석하여 생성된 것에 반하여 동적 휘처 모델은 실행중인 시스템의 특성을 분석하여 생성된다. 예를 들어, 도 5에 도시한 이동통신 단말기의 정적 휘처 모델에서 소프트웨어 개발자가 어플리케이션(application)으로 음성 통화(voice call) 및 웹 브라우저(web browser)를 선택하고, 네트워크 인터페이스(network inteface)로 CDMA, WLAN, WiBro를 선택하고, 네트워크 인터페이스(network inteface)를 선택하는 방법으로는 RSS(Received Signal Strength), COST, POWER, QUALITY, MANUAL을 선택했다고 가정하면 이동통신 단말기는 상기한 기능을 모두 포함하여 제조된다.
동적 휘처 모델은 시스템이 실행중에 어떻게 변화 가능한지를 나타낸다. 예를 들어, 도 6에 도시한 이동통신 단말기의 동적 휘처 모델을 보면, 현재 이동통신 단말기는 실행중에 어플리케이션(application)은 실행이 안되거나 음성 통화(voice call) 및 웹 브라우저(web browser) 중 오직 한 개만 실행이 가능하고, 네트워크 인터페이스(network interface)도 활성화가 안되거나 CDMA, WLAN 및 WiBro 중 오직 한 개만 활성화가 가능하며, 정책(policy)도 RSS, Cost, Power, Quality 및 Manual 중 어느 하나만 선택 가능하다는 것을 알 수 있다.
도 6에 도시한 바와 같은 동적 휘처 모델을 가지는 이동통신 단말기에서 자율 관리자는 동적 휘처 모델을 기반으로 하여 설정된 해당 정책(policy)에 상응하여 시스템을 관리하게 된다. 예를 들어, 자율 관리자는 어플리케이션(application)마다 설정된 정책(policy)에 기초하여 최적의 네트워크 인터페이스(network interface)를 선택할 수 있다.
상기 동적 휘처 모델에는 정적 휘처 모델에 없는 새로운 휘처로 실행중에 변화할 수 있는 값들을 실행중 휘처(runtime feature)로 정의하였다. 도 6에서는 네트워크 인터페이스(network interface)의 경우에 가용성(Availability), 신호 강도(Signal strength), 과금 모델(Cost Model), 전력 소모율(power consumption rate), 품질(quality) 등이 시스템의 실행중 동적으로 변화 가능한 휘처를 나타내고, 자율 관리자는 이동통신 단말기의 실행중에 상술한 실행중 휘처를 이용하여 최적의 네트워크 인터페이스를 선택한다. 예를 들어, CDMA를 사용할 수 없는 장소에서는 CDMA의 Availability가 F(False)가 되고, 이와 같은 실행중 휘처(runtime feature)들의 값을 이용해서 자율 관리자는 가장 적절한 네트워크 인터페이스(network interface)를 선택하게 된다.
도 7은 도 6에 도시한 이동통신 단말기의 동적 휘처 모델을 기반으로 자율 관리되는 이동통신 단말기의 상태도를 나타낸다.
도 7을 참조하면, 이동통신 단말기는 파워가 켜지(turn on)면 파워 오프(POWER_OFF) 상태에서 파워 온(POWER_ON) 상태로 상태가 천이되고, 파워 온 상태에서 대기 상태(S1, IDLE)로 동작을 시작한다.
이후, 이동통신 단말기는 사용자의 조작에 상응하여 음성 통화(S2, Voice call) 상태 또는 웹 브라우저(S3, Web browser) 상태로 전이된다.
상술한 바와 같이 상태가 전이되어 음성 통화 또는 웹 브라우저가 사용되는 경우, 네트워크 인터페이스가 활성화된다. 여기서, 네트워크 인터페이스가 사용되는 초기에는 사용자가 CDMA, WLAN 및 WiBro 중 어느 하나의 네트워크 인터페이스를 직접 선택하고, 이후, 이동통신 단말기는 동적 휘처 모델에 기반한 실행중 휘처(runtime feature)와 미리 설정된 정책(policy) 및/또는 수집된 상황(context) 정보에 기초하여 최적의 네트워크 인터페이스를 자율적으로 선택하게 된다.
예를 들어, 이동통신 단말기의 대기 상태(S1)에서 사용자가 음성 통화(S2)를 선택하고 최초에 네트워크 인터페이스를 WiBro(S6)로 선택하였다고 가정하면, 이동통신 단말기의 자율 관리자는 이동통신 단말기가 실행되는 도중 변화하는 실행중 휘처(runtime feature)와 사용자가 미리 설정한 정책(policy)에 기초하여 자율적으로 소정 시점에 네트워크 인터페이스를 WLAN(S5)으로 선택할 수 있다.
이상, 본 발명을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명은 상기 실시예에 한정되지 않고, 본 발명의 기술적 사상 및 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형 및 변경이 가능하다.
110 : 제품 계열 재사용 목록 120 : 정적 휘처 모델
130 : 동적 휘처 모델 140 : 코어 시스템
150 : 자율 관리자 160 : 정책 관리자
170 : 상황 관리자

Claims (12)

  1. 사용자로부터 서비스를 요청받는 단계;
    동적 휘처 모델(dynamic feature model)로부터 상기 요청받은 서비스를 제공할 수 있는 시스템의 모든 구성(configuration)을 획득하는 단계;
    미리 설정된 정책에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 상응하는 구성을 획득하는 단계;
    상기 획득한 구성에 기초하여 시스템의 자원을 재구성하는 단계; 및
    상기 재구성된 자원에 기초하여 상기 요청받은 서비스를 제공하는 단계를 포함하는 소프트웨어 시스템의 자율 관리 제공 방법.
  2. 제1항에 있어서, 상기 동적 휘처 모델은
    소프트웨어 시스템이 실행시에 동작할 수 있는 객체의 구성(configuration)을 나타내는 것을 특징으로 하는 소프트웨어 시스템의 자율 관리 제공 방법.
  3. 제1항에 있어서, 상기 동적 휘처 모델은
    소프트웨어 시스템이 설치된 시스템이 실행시에 변화하는 값들을 정의하는 실행중 휘처(runtime feature)를 포함하는 것을 특징으로 하는 소프트웨어 시스템의 자율 관리 제공 방법.
  4. 제3항에 있어서, 상기 획득한 시스템의 모든 구성 중 미리 설정된 정책에 기초하여 요청받은 서비스에 상응하는 구성을 획득하는 단계는,
    상기 시스템의 상기 실행중 휘처(runtime feature)에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 가장 적합한 구성을 획득하는 것을 특징으로 하는 소프트웨어 시스템의 자율 관리 제공 방법.
  5. 제1항에 있어서, 상기 소프트웨어 시스템의 자율 관리 제공 방법은,
    상기 미리 설정된 정책에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 상응하는 구성을 획득하는 단계 이전에, 상기 시스템 또는 주위의 물리적인 환경으로부터 상황(context) 정보를 획득하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 시스템의 자율 관리 제공 방법.
  6. 제5항에 있어서, 상기 미리 설정된 정책에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 상응하는 구성을 획득하는 단계는,
    상기 미리 설정된 정책 및 상기 획득한 상황 정보에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 상응하는 구성을 획득하는 것을 특징으로 하는 소프트웨어 시스템의 자율 관리 방법.
  7. 소프트웨어의 자율 관리를 수행하는 디지털 처리 장치에 의해 실행될 수 있는 명령어의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서,
    요청된 서비스를 제공할 수 있는 시스템의 모든 구성(configuration)을 동적 휘처 모델(dynamic feature model)로부터 획득하는 단계;
    미리 설정된 정책에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 상응하는 구성을 획득하는 단계;
    상기 획득한 구성에 기초하여 시스템의 자원을 재구성하는 단계; 및
    상기 재구성된 자원에 기초하여 상기 요청받은 서비스를 제공하는 단계를 수행하는 프로그램을 기록한 기록매체.
  8. 요청받은 서비스를 제공할 수 있는 시스템의 모든 구성(configuration)을 제공하는 동적 휘처 모델;
    미리 설정된 정책 정보에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 상응하는 구성을 제공하는 자율 관리자; 및
    상기 자율 관리자로부터 요청받은 서비스를 위한 구성을 제공받고, 상기 제공받은 구성에 기초하여 시스템의 자원을 재구성한 후 재구성된 자원에 기초하여 사용자에게 서비스를 제공하는 코어 시스템을 포함하는 소프트웨어 자율 관리 기능을 구비한 시스템.
  9. 제8항에 있어서, 상기 소프트웨어 자율 관리 기능을 구비한 시스템은,
    사용자가 설정한 정책을 제공받고, 상기 제공받은 정책 또는 상기 제공받은 정책에 상응하는 목표를 상기 자율 관리자에게 제공하는 정책 관리자; 및
    상기 시스템 또는 주위의 물리적인 환경으로부터 상황 정보를 수집하고 수집한 상황 정보를 상기 자율 관리자에게 제공하는 상황 관리자를 더 포함하는 것을 특징으로 하는 소프트웨어 자율 관리 기능을 구비한 시스템.
  10. 제9항에 있어서, 상기 자율 관리자는
    상기 미리 설정된 정책 정보 및 상기 상황 정보에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 상응하는 구성을 제공하는 것을 특징으로 하는 소프트웨어 자율 관리 기능을 구비한 시스템.
  11. 제8항에 있어서, 상기 동적 휘처 모델은
    상기 시스템이 실행시에 변화하는 값들을 정의하는 실행중 휘처(runtime feature)를 포함하는 것을 특징으로 하는 소프트웨어 자율 관리 기능을 구비한 시스템.
  12. 제11항에 있어서, 상기 자율 관리자는
    상기 시스템의 상기 실행중 휘처에 기초하여 상기 획득한 시스템의 모든 구성 중 상기 요청받은 서비스에 상응하는 구성을 제공하는 것을 특징으로 하는 소프트웨어 자율 관리 기능을 구비한 시스템.
KR1020100032564A 2010-04-09 2010-04-09 소프트웨어 시스템의 자율 관리 제공 방법, 이를 수행하는 프로그램을 기록한 기록매체 및 소프트웨어의 자율 관리 기능을 구비한 시스템 KR20110113276A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020100032564A KR20110113276A (ko) 2010-04-09 2010-04-09 소프트웨어 시스템의 자율 관리 제공 방법, 이를 수행하는 프로그램을 기록한 기록매체 및 소프트웨어의 자율 관리 기능을 구비한 시스템
US13/072,970 US20110252397A1 (en) 2010-04-09 2011-03-28 Method of providing autonomic management of software system, recording medium storing program for performing the same, and system having function of autonomic software management
EP11160976A EP2375369A1 (en) 2010-04-09 2011-04-04 Method of providing autonomic management of software system, recording medium storing program for performing the same, and system having function of autonomic software management
JP2011086539A JP2011222020A (ja) 2010-04-09 2011-04-08 ソフトウェアシステムの自律管理提供方法、これを実行するプログラムを記録した記録媒体及びソフトウェアの自律管理機能を備えたシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100032564A KR20110113276A (ko) 2010-04-09 2010-04-09 소프트웨어 시스템의 자율 관리 제공 방법, 이를 수행하는 프로그램을 기록한 기록매체 및 소프트웨어의 자율 관리 기능을 구비한 시스템

Publications (1)

Publication Number Publication Date
KR20110113276A true KR20110113276A (ko) 2011-10-17

Family

ID=44117414

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100032564A KR20110113276A (ko) 2010-04-09 2010-04-09 소프트웨어 시스템의 자율 관리 제공 방법, 이를 수행하는 프로그램을 기록한 기록매체 및 소프트웨어의 자율 관리 기능을 구비한 시스템

Country Status (4)

Country Link
US (1) US20110252397A1 (ko)
EP (1) EP2375369A1 (ko)
JP (1) JP2011222020A (ko)
KR (1) KR20110113276A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101290847B1 (ko) * 2011-11-11 2013-07-29 포항공과대학교 산학협력단 기 개발된 시스템의 소스코드를 기반으로 휘처모델을 생성하는 방법과 그 장치
KR101363657B1 (ko) * 2012-12-06 2014-02-20 포항공과대학교 산학협력단 휘처 모델을 비교하는 방법 및 이를 위한 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2536391C1 (ru) 2013-04-26 2014-12-20 Общество с ограниченной ответственностью "1С" Способ автоматизированного изменения интерфейса (варианты)
US9626163B2 (en) * 2013-04-26 2017-04-18 Limited Liability Company “1C” Method for automated application interface change
BR102016023104B1 (pt) 2016-10-04 2021-08-31 Petróleo Brasileiro S.A. - Petrobras Processo de purificação de biodiesel

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323363A (ja) * 2002-04-30 2003-11-14 Fujitsu Ltd 環境設定装置、環境設定プログラム、および情報処理装置
US10620927B2 (en) * 2008-06-06 2020-04-14 International Business Machines Corporation Method, arrangement, computer program product and data processing program for deploying a software service

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101290847B1 (ko) * 2011-11-11 2013-07-29 포항공과대학교 산학협력단 기 개발된 시스템의 소스코드를 기반으로 휘처모델을 생성하는 방법과 그 장치
KR101363657B1 (ko) * 2012-12-06 2014-02-20 포항공과대학교 산학협력단 휘처 모델을 비교하는 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
EP2375369A1 (en) 2011-10-12
JP2011222020A (ja) 2011-11-04
US20110252397A1 (en) 2011-10-13

Similar Documents

Publication Publication Date Title
Capilla et al. An overview of Dynamic Software Product Line architectures and techniques: Observations from research and industry
US11316758B2 (en) Network service design and deployment process for NFV systems
US11184241B2 (en) Topology-aware continuous evaluation of microservice-based applications
US8560819B2 (en) Software execution using multiple initialization modes
Barna et al. Hogna: A platform for self-adaptive applications in cloud environments
Rodrigues et al. Model-driven development of wireless sensor network applications
CN102105861A (zh) 应用程序改变的状态分离
KR20110113276A (ko) 소프트웨어 시스템의 자율 관리 제공 방법, 이를 수행하는 프로그램을 기록한 기록매체 및 소프트웨어의 자율 관리 기능을 구비한 시스템
US20170222888A1 (en) Assessing a service offering in a networked computing environment
CN110071822B (zh) 一种针对5g核心网基础设施的测试装置及测试方法
Capilla et al. The promise and challenge of runtime variability
CN109754072B (zh) 网络离线模型的处理方法、人工智能处理装置及相关产品
CN109840074B (zh) 一种业务生成方法、装置及网络设备
Khazaei et al. Adaptation as a service.
US11405266B2 (en) Automatic configuration of virtual network functions
CN111147600A (zh) 集群环境下的服务执行方法及终端
Wildermann et al. Operational mode exploration for reconfigurable systems with multiple applications
Koumaras et al. A network programmability framework for vertical applications in the beyond 5G era
US7793310B2 (en) Dynamically inserting proxies into JAVA environments without coding explicit proxy hooks into JAVA applications
KR20230014420A (ko) 실행시 동적으로 변화하는 정보에 기초하여 시스템을 위한 최적화된 구성을 제공할 수 있는 소프트웨어 시스템의 자율 관리 제공 방법
Classen et al. Modelling variability in self-adaptive systems: Towards a research agenda
CN108228292A (zh) 一种ExtJS界面的生成方法和装置
CN115237441A (zh) 一种基于云平台的升级测试方法、装置及介质
Sadiq et al. Quantifying non-functional requirements in service oriented development
CN112328498A (zh) 业务的测试方法和装置、存储介质、电子装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment