KR100660031B1 - Apparatus and method for automatically generating rules in ubiquitous circumstance - Google Patents
Apparatus and method for automatically generating rules in ubiquitous circumstance Download PDFInfo
- Publication number
- KR100660031B1 KR100660031B1 KR1020050128663A KR20050128663A KR100660031B1 KR 100660031 B1 KR100660031 B1 KR 100660031B1 KR 1020050128663 A KR1020050128663 A KR 1020050128663A KR 20050128663 A KR20050128663 A KR 20050128663A KR 100660031 B1 KR100660031 B1 KR 100660031B1
- Authority
- KR
- South Korea
- Prior art keywords
- rule
- rules
- context
- universal
- primary
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
Abstract
Description
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다. BRIEF DESCRIPTION OF THE DRAWINGS In order to better understand the drawings cited in the detailed description of the invention, a brief description of each drawing is provided.
도 1은 본 발명의 실시예에 따른 룰 생성기가 적용되는 시스템의 블록도이다. 1 is a block diagram of a system to which a rule generator according to an embodiment of the present invention is applied.
도 2는 도 1의 룰 생성부의 블록도이다. 2 is a block diagram of the rule generator of FIG. 1.
도 3은 도 2의 제어 표시부에 표시되는 화면의 예이다. 3 is an example of a screen displayed on the control display of FIG. 2.
도 4는 도 1의 모니터링부의 블록도이다. 4 is a block diagram of the monitoring unit of FIG. 1.
도 5는 도 1의 룰 생성부의 동작을 설명하기 위한 다이어그램이다. FIG. 5 is a diagram for describing an operation of the rule generator of FIG. 1.
도 6은 도 1의 모니터링부의 동작을 설명하기 위한 다이어그램이다. 6 is a diagram for describing an operation of the monitoring unit of FIG. 1.
도 7은 본 발명의 실시예에 따라 룰을 생성하는 경우 이전의 히스토리를 반영하는 동작을 설명하기 위한 상태도이다.7 is a state diagram for explaining an operation of reflecting a previous history when a rule is generated according to an embodiment of the present invention.
본 발명은 유비쿼터스 기술에 관한 것으로서, 특히 유비쿼터스 환경에서 자 동적으로 룰을 생성 장치 및 방법에 관한 것이다. The present invention relates to ubiquitous technology, and more particularly, to an apparatus and method for automatically generating rules in a ubiquitous environment.
컴퓨터 또는 네트워크 등의 존재를 의식 하지 않고 원하는 서비스를 제공 받을 수 있는 유비쿼터스 환경하에서는 최소한의 HCI(Human Computer Interaction)가 요구거나 또는 HCI가 요구되지 않는 것이 바람직하다. In a ubiquitous environment in which a desired service can be provided without being aware of the existence of a computer or a network, it is desirable that a minimum Human Computer Interaction (HCI) is required or no HCI is required.
이를 위해 종래에는 확률을 이용하는 방법으로, 추론을 통해 사용자의 의도를 파악하고 그에 따른 서비스를 제공하는 방법을 이용하였다. 그러나, 이러한 종래의 방법은 실질적으로 사용자의 의도를 파악하여 정확하게 판단하는 것이 실질적으로 어려운 단점이 있다. To this end, conventionally, as a method of using probability, a method of identifying a user's intention through inference and providing a service accordingly is used. However, this conventional method has a disadvantage in that it is substantially difficult to accurately determine the intention of the user and accurately judge it.
한편, 종래의 다른 방법으로 ECA(Event Condition Action) 룰(rule)을 기반으로 하는 방법이 있다. 이러한 방법은 이벤트 발생(Event Trigger) 및 이벤트 발생시의 상황 조건을 정확하게 감지하고 이용하여 서비스를 제공하는 것이다. ECA 룰을 이용하여 서비스를 제공하는 방법은 확률을 이용하여 추론하고 서비스를 제공하는 방법보다 정확한 판단이 가능하다. 그러나, 유비쿼터스가 이용되는 복잡한 환경에서 발생 가능한 수 많은 룰을 기술하는 데에는 많은 노력이 필요하고, 심지어는 불가능하다는 단점이 있다. 특히, 개별화된 서비스를 제공하는 유비쿼터스 환경에서 범용적인 룰을 이용하여 서비스를 제공하는 것은 어려운 일이다. On the other hand, another conventional method is based on the ECA (Event Condition Action) rule (rule). This method provides a service by accurately detecting and using an event trigger and a situation condition when an event occurs. The method of providing a service using an ECA rule can be judged more accurately than the method of inferring using a probability and providing a service. However, there are disadvantages in that a lot of effort is required and even impossible to describe many rules that can occur in a complex environment where ubiquitous is used. In particular, it is difficult to provide a service by using general rules in a ubiquitous environment that provides a personalized service.
따라서, 유비쿼터스 환경에서 개별적인 사용자의 행동과 상황을 추적하여 저장하고, 저장된 정보를 이용하여 ECA 룰을 자동으로 생성하고, 생성된 룰을 이용하여 동일한 조건 또는 상황이 발생하는 경우 그에 따른 서비스를 제공할 필요성이 있다.Therefore, in the ubiquitous environment, the individual user's actions and situations are tracked and stored, the ECA rules are automatically generated using the stored information, and the generated rules are used to provide services according to the same conditions or situations. There is a need.
본 발명이 이루고자하는 기술적 과제는 유비쿼터스 환경에서 룰을 자동적으로 생성하는 장치를 제공하는데 있다. An object of the present invention is to provide an apparatus for automatically generating a rule in a ubiquitous environment.
본 발명이 이루고자하는 다른 기술적 과제는 유비쿼터스 환경에서 룰을 자동적으로 생성하는 방법을 제공하는데 있다.Another object of the present invention is to provide a method for automatically generating a rule in a ubiquitous environment.
상기 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 룰 생성 장치는 심볼 저장부, 심볼 분석부, 룰 합성부, 및 룰 최적화부를 구비한다. 심볼 저장부는 룰 생성에 필요한 ECA(Event-Condition-Action) 정보를 포함하는 컨텍스트를 수신하여 저장한다. 심볼 분석부는 상기 컨텍스트를 분석하여 1차 룰을 생성한다. 룰 합성부는 현재 서비스되고 있는 범용 룰들 중 상기 1차 룰과 관련된 범용 룰들을 수신하고, 상기 1차 룰과 상기 관련된 범용 룰들을 비교하여 상기 1차 룰을 새로운 2차 룰로서 저장한다. 룰 최적화부는 상기 2차 룰과 상기 범용 룰들을 비교하여 상기 2차 룰이 상기 범용 룰들에 없는 경우 상기 2차 룰을 범용 룰로 등록함으로써 상기 범용 룰들을 업데이트한다. The rule generating apparatus according to the embodiment of the present invention for achieving the above technical problem comprises a symbol storage unit, symbol analysis unit, rule synthesis unit, and rule optimization unit. The symbol storage unit receives and stores a context including event-condition-action (ECA) information required for rule generation. The symbol analyzer analyzes the context to generate a primary rule. The rule synthesis unit receives general rules related to the primary rule among general rules currently being serviced, compares the primary rule with the related general rules, and stores the primary rule as a new secondary rule. The rule optimizer compares the secondary rule with the universal rules and updates the universal rules by registering the secondary rule as a universal rule when the secondary rule is not in the universal rules.
본 발명의 실시예에 따른 룰 생성 장치는 상기 컨텍스트, 상기 1차 룰 및 상기 2차 룰을 저장하는 로컬 저장부를 더 구비할 수도 있다. The rule generating apparatus according to an embodiment of the present invention may further include a local storage that stores the context, the primary rule, and the secondary rule.
상기 심볼 분석부는 위치 검색부 및 룰 작성부를 구비한다. 위치 검색부는 상기 컨텍스트에 포함된 ECA 정보 중 행동이 이루어지는 위치를 검색한다. 룰 작성부는 상기 위치를 근거로 상기 ECA 정보 중 상황과 행동을 기술함으로써 1차 룰을 생성한다. The symbol analysis unit includes a position search unit and a rule preparation unit. The location search unit searches for a location where an action is performed among the ECA information included in the context. The rule creator generates a primary rule by describing a situation and an action in the ECA information based on the position.
상기 룰 합성부는 룰 검색부, 룰 비교부 및 룰 결정부를 구비한다. 룰 검색부는 상기 1차 룰과 관련된 범용 룰들을 검색하여 수신한다. 룰 비교부는 상기 1차 룰과 상기 관련된 범용 룰들을 비교하여 둘 사이의 유사도를 발생한다. 룰 결정부는 상기 유사도가 소정의 유사도 범위보다 크면 상기 1차 룰을 삭제하고, 상기 유사도가 상기 유사도 범위 내이면 상기 1차 룰을 상기 관련된 범용 룰을 병합하여 새로운 2차 룰로서 저장하고, 그리고 상기 유사도가 상기 유사도 범위보다 작으면 상기 1차 룰을 새로운 2차 룰로서 저장하다. The rule synthesizing unit includes a rule searching unit, a rule comparing unit, and a rule determining unit. The rule search unit searches for and receives general rules related to the primary rule. A rule comparison unit compares the primary rule with the related general-purpose rules to generate a similarity between the two. The rule determining unit deletes the primary rule when the similarity is greater than a predetermined similarity range, and stores the primary rule as a new secondary rule by merging the related general rule when the similarity is within the similarity range, and If the similarity is less than the similarity range, the primary rule is stored as a new secondary rule.
본 발명의 실시예에 따른 룰 생성 장치는 상기 범용 룰들을 상황 기술 마크업 언어와 행동 기술 마크업 언어로 변환하는 심볼 변환부를 더 구비할 수도 있다. The rule generating apparatus according to the embodiment of the present invention may further include a symbol conversion unit for converting the general rules into a context description markup language and a behavior description markup language.
상기 상황 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 상황을 기술하고 상기 범용 룰이 생성될 때까지의 ECA 히스토리 정보를 포함하며, 상기 행동 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 행동을 기술하고 상기 ECA 히스토리 정보를 포함한다. The context description markup language describes the situation when the universal rules are generated and includes ECA history information until the general rule is generated, and the behavior description markup language is used when the general rules are generated. Describe the behavior and include the ECA history information.
본 발명의 다른 실시예에 따른 룰 생성 방법은, 룰 생성에 필요한 ECA(Event-Condition-Action) 정보를 포함하는 컨텍스트를 수신하여 저장하는 단계, 상기 컨텍스트를 분석하여 1차 룰을 생성하는 단계, 현재 서비스되고 있는 범용 룰들 중 상기 1차 룰과 관련된 범용 룰들을 수신하고 상기 1차 룰과 상기 관련된 범용 룰들을 비교하여 상기 1차 룰을 새로운 2차 룰로서 저장하는 단계, 및 상기 2차 룰과 상기 범용 룰들을 비교하여 상기 2차 룰이 상기 범용 룰들에 없는 경 우 상기 2차 룰을 범용 룰로 등록함으로써 상기 범용 룰들을 업데이트하는 단계를 구비한다. In accordance with another aspect of the present invention, there is provided a rule generating method comprising: receiving and storing a context including Event-Condition-Action (ECA) information required to generate a rule; analyzing the context to generate a primary rule; Receiving general rules related to the primary rule among the universal rules currently being serviced, comparing the primary rule with the related universal rules, and storing the primary rule as a new secondary rule; and Comparing the universal rules and updating the universal rules by registering the secondary rule as a universal rule if the secondary rule is not in the universal rules.
상기 1차 룰을 생성하는 단계는, 상기 컨텍스트에 포함된 ECA 정보 중 행동이 이루어지는 위치를 검색하는 단계, 및 상기 위치를 근거로 상기 ECA 정보 중 상황과 행동을 기술함으로써 1차 룰을 생성하는 단계를 구비한다. The generating of the primary rule may include: retrieving a location where an action is performed in the ECA information included in the context; and generating a primary rule by describing a situation and an action in the ECA information based on the location. It is provided.
상기 2차 룰로서 저장하는 단계는, 상기 1차 룰과 관련된 범용 룰들을 검색하여 수신하는 단계, 상기 1차 룰과 상기 관련된 범용 룰들을 비교하여 둘 사이의 유사도를 발생하는 단계, 및 상기 유사도가 소정의 유사도 범위보다 크면 상기 1차 룰을 삭제하고, 상기 유사도가 상기 유사도 범위 내이면 상기 1차 룰을 상기 관련된 범용 룰을 병합하여 새로운 2차 룰로서 저장하고, 그리고 상기 유사도가 상기 유사도 범위보다 작으면 상기 1차 룰을 새로운 2차 룰로서 저장하는 단계를 구비한다. The storing as the secondary rule may include: searching for and receiving universal rules associated with the primary rule, comparing the primary rule with the related universal rules, and generating a similarity between the two; If the similarity range is greater than a predetermined similarity range, the primary rule is deleted, and if the similarity is within the similarity range, the primary rule is merged and stored as a new secondary rule, and the similarity is greater than the similarity range. If small, storing the primary rule as a new secondary rule.
본 발명의 다른 실시예에 따른 룰 생성 방법은 상기 범용 룰들을 상황 기술 마크업 언어와 행동 기술 마크업 언어로 변환하는 단계를 더 구비할 수도 있다. The rule generation method according to another embodiment of the present invention may further include converting the general rules into a context description markup language and a behavior description markup language.
상기 상황 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 상황을 기술하고 상기 범용 룰이 생성될 때까지의 ECA 히스토리 정보를 포함하며, 상기 행동 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 행동을 기술하고 상기 ECA 히스토리 정보를 포함한다. The context description markup language describes the situation when the universal rules are generated and includes ECA history information until the general rule is generated, and the behavior description markup language is used when the general rules are generated. Describe the behavior and include the ECA history information.
본 발명의 또 다른 실시예에 따른 유비 쿼터스 시스템은 룰을 기반으로 상황에 맞는 서비스를 사용자에게 제공하는 상황 관리부를 구비하며, 또한 범용 룰 저 장부, 모니터링부 및 룰 생성부를 구비한다. 범용 룰 저장부는 상기 서비스의 기반이 되는 범용 룰을 저장한다. 모니터링부는 시작 명령에 따라 상기 ECA 정보가 포함된 컨텍스트 데이터를 수신하며, 종료 명령에 따라 상기 컨텍스트 데이터의 수신을 종료하고 상기 수신된 컨텍스트 데이터를 필터링하여 룰 생성에 필요한 ECA 정보를 포함하는 컨텍스트를 발생한다. 룰 생성부는 상기 컨텍스트를 이용하여 생성한 1차 룰과 상기 1차 룰과 관련된 범용 룰들을 비교하여 새로운 2차 룰을 생성하고, 상기 2차 룰과 상기 범용 룰들을 비교하여 상기 범용 룰들을 업데이트한다. The ubiquitous system according to another embodiment of the present invention includes a situation management unit that provides a user with a service suitable for a situation based on a rule, and also includes a general rule storage unit, a monitoring unit, and a rule generation unit. The universal rule storage unit stores a general rule that is the base of the service. The monitoring unit receives the context data including the ECA information according to the start command, and terminates the reception of the context data according to the end command and filters the received context data to generate a context including the ECA information required for rule generation. do. The rule generation unit generates a new secondary rule by comparing the primary rule generated by using the context with the general rules related to the primary rule, and updates the universal rules by comparing the secondary rule with the universal rules. .
상기 모니터링부는 이벤트 검출부, 컨텍스트 데이터 수신부, 필터링부 및 컨텍스트 전송부를 구비한다. 이벤트 검출부는 상기 시작 명령 및 상기 종료 명령을 검출한다. 컨텍스트 데이터 수신부는 상기 시작 명령의 검출에 응답하여 상기 ECA 정보가 포함된 컨텍스트 데이터를 수신하고, 상기 종료 명령의 검출에 응답하여 상기 컨텍스트 데이터의 수신을 중단한다. 필터링부는 상기 종료 명령의 검출에 응답하여 룰 생성에 불필요한 컨텍스트 데이터를 필터링하여 상기 컨텍스트를 발생한다. 컨텍스트 전송부는 상기 컨텍스트를 상기 룰 생성부로 전송한다. The monitoring unit includes an event detector, a context data receiver, a filter, and a context transmitter. The event detector detects the start command and the end command. The context data receiving unit receives the context data including the ECA information in response to the detection of the start command, and stops receiving the context data in response to the detection of the end command. The filtering unit filters the context data unnecessary for rule generation in response to the detection of the end command, to generate the context. The context transmitter transmits the context to the rule generator.
상기 룰 생성부는 제어 표시부, 심볼 저장부, 심볼 분석부, 룰 합성부 및 룰 최적화부를 구비한다. 제어 표시부는 상기 시작 명령 또는 상기 종료 명령의 입력을 위한 화면을 제공하고, 상기 시작 명령 또는 종료 명령을 수신하는 상기 모니터링부로 전송한다. 심볼 저장부는 상기 컨텍스트를 수신하여 저장한다. 심볼 분석부는 상기 컨텍스트를 분석하여 상기 1차 룰을 생성한다. 룰 합성부는 상기 범용 룰들 중 상기 관련된 범용 룰들을 수신하고, 상기 1차 룰과 상기 관련된 범용 룰들을 비교하여 상기 2차 룰을 생성한다. 룰 최적화부는 상기 2차 룰과 상기 범용 룰들을 비교하여 상기 2차 룰이 상기 범용 룰들에 없는 경우 상기 2차 룰을 범용 룰로 등록함으로써 상기 범용 룰들을 업데이트한다. The rule generation unit includes a control display unit, a symbol storage unit, a symbol analyzer, a rule synthesizer, and a rule optimizer. The control display unit provides a screen for inputting the start command or the end command and transmits the screen to the monitoring unit that receives the start command or the end command. The symbol storage unit receives and stores the context. The symbol analyzer analyzes the context to generate the first rule. The rule synthesizing unit receives the related general rules among the general rules, and compares the primary rule with the related general rules to generate the secondary rule. The rule optimizer compares the secondary rule with the universal rules and updates the universal rules by registering the secondary rule as a universal rule when the secondary rule is not in the universal rules.
상기 시작 명령 및 상기 종료 명령은 상기 사용자로부터 입력될 수도 있다. The start command and the end command may be input from the user.
상기 룰 생성부는 상기 범용 룰들을 상황 기술 마크업 언어와 행동 기술 마크업 언어로 변환하는 심볼 변환부를 더 구비할 수도 있다. The rule generator may further include a symbol converter configured to convert the general rules into a context description markup language and a behavior description markup language.
상기 상황 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 상황을 기술하고 상기 범용 룰이 생성될 때까지의 ECA 히스토리 정보를 포함하며, 상기 행동 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 행동을 기술하고 상기 ECA 히스토리 정보를 포함한다. The context description markup language describes the situation when the universal rules are generated and includes ECA history information until the general rule is generated, and the behavior description markup language is used when the general rules are generated. Describe the behavior and include the ECA history information.
상기 상황 관리부는 상기 상황 기술 마크업 언어와 상기 행동 기술 마크업 언어에 응답하여 상황에 맞는 서비스를 제공한다. The context management unit provides a context-sensitive service in response to the context description markup language and the behavior description markup language.
본 발명의 또 다른 실시예에 따른 방법은, 유비쿼터스 시스템에서 기 저장된 범용 룰을 이용하여 상황에 맞는 서비스를 사용자에게 제공하는 방법으로서, 시작 명령에 따라 ECA 정보가 포함된 컨텍스트 데이터를 수신하며, 종료 명령에 따라 상기 컨텍스트 데이터의 수신을 종료하고 상기 수신된 컨텍스트 데이터를 필터링하여 룰 생성에 필요한 ECA 정보를 포함하는 컨텍스트를 발생하는 단계, 상기 컨텍스트를 이용하여 생성한 1차 룰과 상기 1차 룰과 관련된 범용 룰들을 비교하여 새로운 2차 룰을 생성하고, 상기 2차 룰과 상기 범용 룰들을 비교하여 상기 범용 룰들을 업데이트하는 단계, 및 상기 업데이트된 범용 룰을 이용하여 상황에 맞는 서비스를 제공하는 단계를 구비한다. The method according to another embodiment of the present invention is a method for providing a user with a service suitable for a situation using a pre-stored general rule in a ubiquitous system, receiving context data including ECA information according to a start command, and ending Terminating the reception of the context data according to a command and filtering the received context data to generate a context including ECA information necessary for rule generation; a primary rule and the primary rule generated using the context; Generating a new secondary rule by comparing related universal rules, comparing the secondary rule with the universal rules to update the universal rules, and providing a contextual service using the updated universal rule. It is provided.
상기 컨텍스트를 발생하는 단계는, 상기 시작 명령의 검출에 응답하여 상기 ECA 정보가 포함된 컨텍스트 데이터를 수신하고, 상기 종료 명령의 검출에 응답하여 상기 컨텍스트 데이터의 수신을 중단하는 단계, 및 상기 종료 명령의 검출에 응답하여 룰 생성에 불필요한 컨텍스트 데이터를 필터링하여 상기 컨텍스트를 발생하는 단계를 구비한다. The generating of the context may include receiving context data including the ECA information in response to the detection of the start command, and stopping reception of the context data in response to the detection of the termination command, and the termination command. And generating the context by filtering context data unnecessary for rule generation in response to the detection of.
상기 범용 룰들을 업데이트하는 단계는, 상기 컨텍스트를 분석하여 상기 1차 룰을 생성하는 단계, 상기 범용 룰들 중 상기 관련된 범용 룰들을 수신하고, 상기 1차 룰과 상기 관련된 범용 룰들을 비교하여 상기 2차 룰을 생성하는 단계, 및 상기 2차 룰과 상기 범용 룰들을 비교하여 상기 2차 룰이 상기 범용 룰들에 없는 경우 상기 2차 룰을 범용 룰로 등록함으로써 상기 범용 룰들을 업데이트하는 단계를 구비하다. The updating of the general rules may include analyzing the context to generate the first rule, receiving the related general rules among the general rules, and comparing the primary rule with the related general rules. Generating a rule, and comparing the secondary rule with the universal rules and updating the universal rules by registering the secondary rule as a universal rule if the secondary rule is not in the universal rules.
상기 범용 룰들을 업데이트하는 단계는, 상기 범용 룰들을 상황 기술 마크업 언어와 행동 기술 마크업 언어로 변환하는 단계를 더 구비할 수도 있다. The updating of the general rules may further comprise converting the general rules into a context description markup language and a behavior description markup language.
상기 상황 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 상황을 기술하고 상기 범용 룰이 생성될 때까지의 ECA 히스토리 정보를 포함하며, 상기 행동 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 행동을 기술하고 상기 ECA 히스토리 정보를 포함한다. The context description markup language describes the situation when the universal rules are generated and includes ECA history information until the general rule is generated, and the behavior description markup language is used when the general rules are generated. Describe the behavior and include the ECA history information.
상기 서비스를 제공하는 단계는, 상기 상황 기술 마크업 언어와 상기 행동 기술 마크업 언어에 응답하여 상황에 맞는 서비스를 제공한다. In the providing of the service, a context-sensitive service may be provided in response to the context description markup language and the behavior description markup language.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다. DETAILED DESCRIPTION In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings which illustrate preferred embodiments of the present invention and the contents described in the drawings.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.
본 발명에서는, 유비쿼터스 환경에서 룰을 이용하여 서비스 제공하기 위해, 사용자의 명시적인 행동과 상황 조건에 의한 행동에 대하여 자동적으로 룰을 생성함으로써 룰에 의해 기술된 행동을 통하여 정확한 서비스가 제공될 수 있도록 한다. 이러한 행동과 상황 조건에 의한 행동은 룰을 생성하는데 있어 중요한 요소이며, 통상적으로 ECA(Event-Condition-Action)라 한다. In the present invention, in order to provide a service using a rule in a ubiquitous environment, an accurate service can be provided through an action described by a rule by automatically generating a rule for an action according to an explicit action of a user and a situation condition. do. Such actions and actions based on situational conditions are important elements in generating rules, and are commonly referred to as event-condition-action (ECA).
ECA는 여러 형태로 기술될 수 있으나, 일반적으로는 이벤트의 발생 그리고 이벤트 발생 시의 조건을 고려하여 어떠한 형태의 행동을 취하는지 기술되는 점에서는 공통된다. 거실의 불을 켜기 위한 여러 룰 중 하나의 룰의 예는 다음과 같다.ECAs can be described in many forms, but they are generally common in that they describe what type of behavior is taken into account in the occurrence of an event and the conditions under which the event occurs. An example of one of several rules for turning on a living room light is as follows.
[예 1][Example 1]
이벤트: 사용자가 거실에 들어온다Event: User enters the living room
조건 1: 현재 시간은 밤 8시이다. Condition 1: The current time is 8 pm.
조건 2: 거실의 불이 켜져 있지 않다. Condition 2: The living room light is not on.
행동: 거실의 불을 켠다.Action: Turn on the living room light.
이러한 ECA 룰에 대한 연구는 여러 분야에서 활발히 이루어지고 있으며, 만 약 서비스를 제공하는 시스템이 철저히 룰 기반으로 운용된다면 서비스를 제공하기 위한 룰은 모든 가능한 경우에 대해 기술되어야 할 것이다. Such research on ECA rules is actively conducted in various fields, and if a system providing a service is thoroughly operated on a rule basis, a rule for providing a service should be described in all possible cases.
특정 영역에서 서비스를 제공하는 경우에는, 특정 영역과 관련 있는 룰이 어느 정도 예측 가능하고, 룰의 수도 제한될 수 있다. 따라서, 사용자는 시스템에서 운용될 수 있는 룰을 인위적으로 작성할 수 있을 것이다. In the case of providing a service in a specific area, a rule related to the specific area may be predicted to some extent, and the number of rules may be limited. Thus, the user will be able to artificially create rules that can be run on the system.
그러나, 유비쿼터스 환경에서는 사용자와의 상호 작용을 최소화하여 광범위한 영역에서 효율적인 서비스가 제공되어야 한다. 따라서, 인위적 혹은 강제적으로 룰 정보를 작성하는 경우, 룰의 수는 수 없이 많아질 것이고 수 없이 많은 양의 룰을 강제적 또는 인위적으로 작성하는 것은 거의 불가능할 것이며, 따라서 시스템이 소유한 룰 정보에서 제외된 서비스는 사용자에게 적용될 수 없을 것이다. 예를 들어, 현재 시각이 9시 일 경우 위에서 제시된 룰의 예는 적용 될 수 없을 것이다. However, in a ubiquitous environment, efficient service should be provided in a wide range of areas by minimizing user interaction. Therefore, in the case of artificially or forcibly writing rule information, the number of rules will be numerous and it will be almost impossible to forcibly or artificially create a large amount of rules. The service will not be applicable to the user. For example, if the current time is 9:00, the example of the rule presented above would not be applicable.
이러한 문제점을 해결하기 위해, "조건1:현재 거실의 조명이 켜져 있지 않다"같이 조건을 변화시켜 좀 더 효율적인 룰을 작성하는 방법도 생각해 볼 수 있으나, 이러한 방법 방대한 양의 룰을 인위적으로 작성하여야 한다는 문제점을 여전히 가지고 있다. To solve this problem, we can think of how to write a more efficient rule by changing the condition such as "Condition 1: The current living room is not turned on", but this method requires artificially writing a large amount of rules. I still have the problem.
따라서, 효율적으로 룰을 작성하는 것도 중요하지만, 강제적 또는 인위적이 아닌 자동적으로 룰을 작성하는 근본적인 해결책이 필요하다. 자동적으로 룰을 작성함으로써 복잡한 형태의 룰의 부담으로부터 사용자가 자유로워 질 수 있을 것이다. 이하에서는 유비쿼터스 환경에서 룰 기반 서비스를 원활하게 실현시키기 위해서 자동적으로 룰을 생성하고 생성된 룰을 운용하는 방법에 대해 설명한다. Therefore, it is important to write rules efficiently, but there is a need for a fundamental solution for automatically writing rules, not forcibly or artificially. By automatically writing rules, users can be free from the burden of complex rules. Hereinafter, a method of automatically generating a rule and operating the generated rule in order to smoothly realize a rule-based service in a ubiquitous environment will be described.
도 1은 본 발명의 실시예에 따른 룰 생성기가 적용되는 시스템의 블록도이다. 시스템(100)은 유비쿼터스 시스템인 것이 바람직하다. 시스템(100)은 룰을 기반으로 상황에 맞는 서비스를 사용자에게 제공하는 상황 관리부(미도시)를 구비할 수 있으며, 상황 관리부는 상황-행동 변환 관리부(140), 상황-행동 변환부(150), 심볼 코덱부(160), 외부 통신부(170), 지원부(120) 등을 구비할 수 있다. 1 is a block diagram of a system to which a rule generator according to an embodiment of the present invention is applied.
룰 생성부(110)는 상황 관리부로부터 획득한 ECA 정보를 이용하여 룰을 생성하고, 상황 관리부는 생성된 룰과 기 저장된 범용 룰들을 이용하여 사용자에게 상황에 맞는 서비스를 제공한다. The
이하의 본 발명의 실시예에서는 룰 생성부(110)와 범용 룰 저장부(130)가 상황 관리부 외부에 설치되어 룰을 생성하는 것으로 설명될 것이나, 상황 관리부 내부에 설치될 수도 있다. In the following embodiment of the present invention, it will be described that the
또한, 룰을 생성하기 위해서는 ECA 정보가 필요하며, 본 발명의 실시예에서 ECA 정보는 지원부(120) 내의 모니터링부로부터 컨텍스트에 포함되어 룰 생성부(110)로 전송되는 것으로 한다. 따라서, 룰 생성을 위한 본 발명의 실시예에 따른 시스템(100)은 범용 룰 저장부(130), 모니터링부 및 룰 생성부(110)를 구비할 수 있다. In addition, ECA information is required to generate a rule, and in the embodiment of the present invention, the ECA information is included in the context from the monitoring unit in the
이하에서는 범용 룰 저장부(130), 모니터링부 및 룰 생성부(110)를 구비하는 유비쿼터스 시스템(100)에서 룰을 생성하는 동작에 대해 설명한다. Hereinafter, an operation of generating a rule in the
범용 룰 저장부(130)는 상기 서비스의 기반이 되는 범용 룰을 저장한다. The universal
모니터링부는 시작 명령(START)에 따라 ECA 정보가 포함된 컨텍스트 데이터 를 수신하며, 종료 명령에 따라 상기 컨텍스트 데이터의 수신을 종료하고 상기 수신된 컨텍스트 데이터를 필터링하여 룰 생성에 필요한 ECA 정보를 포함하는 컨텍스트를 발생한다. 모니터링부의 구체적인 구조 및 동작에 대해서는 도 4 및 도 6을 참조하여 이후에 상세히 설명될 것이다. The monitoring unit receives the context data including the ECA information according to the start command START, and terminates the reception of the context data according to the end command and filters the received context data to include a context including the ECA information necessary for generating a rule. Occurs. The detailed structure and operation of the monitoring unit will be described later in detail with reference to FIGS. 4 and 6.
룰 생성부(110)는 컨텍스트를 이용하여 생성한 1차 룰과 상기 1차 룰과 관련된 범용 룰들을 비교하여 새로운 2차 룰을 생성하고, 상기 2차 룰과 상기 범용 룰들을 비교하여 상기 범용 룰들을 업데이트한다. 룰 생성부(110)의 구체적인 구조 및 동작에 대해서는 도 2, 도 3 및 도 5를 참조하여 이후에 상세히 설명될 것이다. The
도 2는 도 1의 룰 생성부의 블록도이고, 도 3은 도 2의 제어 표시부에 표시되는 화면의 예이고, 그리고 도 4는 도 1의 모니터링부의 블록도이고, 그리고 도 5는 도 1의 룰 생성부의 동작을 설명하기 위한 다이어그램이다. 2 is a block diagram of the rule generation unit of FIG. 1, FIG. 3 is an example of a screen displayed on the control display unit of FIG. 2, FIG. 4 is a block diagram of the monitoring unit of FIG. 1, and FIG. 5 is a rule of FIG. 1. Diagram for explaining the operation of the generator.
룰 생성부(110)는 제어 표시부(210), 심볼 저장부(220), 심볼 분석부(230), 룰 합성부(240) 및 룰 최적화부(250)를 구비하며, 룰 변환부(260)를 더 구비할 수 있다. The
제어 표시부(210)는 시작 명령(START) 또는 종료 명령(STOP)의 입력을 위한 화면을 제공하고, 상기 시작 명령 또는 종료 명령을 수신하여 상기 모니터링부로 전송한다. 본 발명의 실시예에서는 제어 표시부(210)를 이용하여 사용자의 의도에 의해 룰 생성의 시작과 끝을 지정할 수 있도록 할 수 있다. The
즉, 제어 표시부(210)는 룰 생성의 시작과 종료를 알리는 시작 명령(START) 또는 종료 명령(STOP)의 입력을 위한 화면을 제공한다. 사용자는 키보드, 마우스, 등과 같은 사용자 인터페이스(미도시)를 이용하여 시작 명령(START)과 종료 명령(STOP)을 입력함으로써 룰 생성의 시작과 종료를 지정할 수 있다. That is, the
도 3은 도 2의 제어 표시부에 표시되는 화면의 예이다. 3 is an example of a screen displayed on the control display of FIG. 2.
사용자는 START 버튼을 선택(즉, 시작 명령(START))함으로써 룰 생성 동작을 시작할 수 있으며, 시작 명령(START)은 상황 관리자의 모니터링부로 전송된다. 한편, 사용자는 STOP 버튼을 선택(즉, 종료 명령(STOP))함으로써 룰 생성 동작의 종료를 지정할 수 있으며, 종료 명령(STOP) 또한 상황 관리자의 모니터링부로 전송된다. The user can start the rule generation operation by selecting the START button (that is, the start command START), and the start command START is transmitted to the monitoring unit of the situation manager. On the other hand, the user can designate the termination of the rule generation operation by selecting the STOP button (that is, the termination command STOP), and the termination command STOP is also transmitted to the monitoring unit of the situation manager.
이후에 후술되는 바와 같이, 모니터링부는 시작 명령(START)에 따라 정보들(감지된 정보, 환경 정보, 등)을 획득하고, 종료 명령(STOP)에 따라 획득된 정보 중 룰 생성에 필요 없는 정보를 필터링하여 룰 생성에 필요한 정보를 컨텍스트로서 룰 생성부(110)로 전송한다(601). As will be described later, the monitoring unit acquires information (detected information, environmental information, etc.) according to the start command START, and includes information that is not necessary for rule generation among information acquired according to the stop command STOP. The filtered information is transmitted to the
심볼 저장부(220)는 컨텍스트를 수신하여 저장하고(603), 저장이 종료되면 이를 심볼 분석부(230)에 알린다. 이 때, 심볼 저장부(220)는 모니터링부로부터 컨텍스트를 수신하여, 동일한 컨텍스트를 로컬 저장부(270)에 저장한다. 또한, 심볼 저장부(220)는 저장이 종료되었음을 심볼 분석부(230)에 알림으로써 컨텍스트의 분석이 시작되도록 한다. The
심볼 분석부(230)는 컨텍스트를 분석하여 1차 룰을 생성한다. 1차 룰을 컨텍스트에 포함되는 이벤트, 상황 및 이에 대한 행동에 대한 기본적인 룰의 형태이다. 심볼 분석부(230)는 위치 검색부(231) 및 룰 작성부(233)를 구비한다. The
위치 검색부(231)는 상기 컨텍스트에 포함된 ECA 정보 중 행동이 이루어지는 위치를 검색한다. 모니터링부로부터 수신된 컨텍스트는 로컬 저장부(270)에 테이블의 형태로 저장되는데, 위치 검색부(231)는 로컬 저장부에 저장된 컨텍스트 테이블을 검색하여 컨텍스트에 대응하는 사용자의 행동이 발생한 위치를 검색한다. The
컨텍스트 테이블을 검색한 결과, 동일한 장소에서 행동이 발생하고 있다면 궁극적으로 하나의 룰로 기술될 수 있을 것이다. 반면, 2 이상의 장소에서 행동이 발생하고 있다면 찾아낸 위치의 수만큼의 룰로 기술될 수 있을 것이다. 검색된 위치는 룰 작성부(233)로 전송된다. As a result of searching the context table, if the action is happening in the same place, it can ultimately be described as a rule. On the other hand, if the action is occurring in two or more places, the rule can be described as many as the number of locations found. The searched position is transmitted to the
룰 작성부(233)는 검색된 위치를 근거로 ECA 정보 중 상황과 행동을 기술함으로써 1차 룰을 생성하고 이를 로컬 저장부(270)에 저장한다. 즉, 룰 작성부(233)는 검색된 위치에 근거하여 관련된 컨텍스트 값을 로컬 저장부(270)의 컨텍스트 테이블로부터 추출하여 행동 리스트 테이블과 상황 리스트 테이블로 저장한다. The
이렇게 위치, 행동 및 상황에 따라 테이블로 기술된 룰은 발생 위치를 근거로 하는 룰의 기본 단위를 이룰 수 있다. 예를 들어, 사용자가 거실로부터 침실로 이어지는 행동을 저장한 경우에, 이러한 행동은 두 개의 다른 위치에서 각각 다른 룰로 구분되어 저장된다. 이후에 각각의 두 개의 룰 사이의 인과 관계를 적용함으로써 연속적인 두 개의 룰이 서비스를 제공하는데 이용된다. In this way, the rules described in the table according to the position, behavior, and situation can form a basic unit of rule based on the occurrence position. For example, if the user has stored actions leading from the living room to the bedroom, these actions are stored separately in different rules at two different locations. Thereafter, two consecutive rules are used to provide a service by applying a causal relationship between each of the two rules.
룰 합성부(240)는 범용 룰들 중 1차 룰과 관련된 범용 룰들을 수신하고, 1차 룰과 1차 룰과 관련된 범용 룰들을 비교하여 상기 2차 룰을 생성한다. 즉, 룰 합성부(241)는 로컬 저장부(270)에 저장된 1차 Rule과 범용 룰 저장부(130) 저장된 범 용 룰을 비교하여, 1차 룰을 제외시킬 것인지, 전혀 새로운 룰로 판단할 것인지, 이미 저장된 유사한 범용 룰과 합성하여 새로운 룰로 업데이트할 것인지 결정한다. 룰 합성부(240)는 새로운 룰을 2차 룰로서 로컬 저장부(270)에 저장한다. 상기 룰 합성부(240)는 룰 검색부(241), 룰 비교부(243) 및 룰 결정부(245)를 구비한다.The
룰 검색부(241)는 1차 룰과 관련된 범용 룰들을 검색하여 수신한다. 1차 룰과 관련된 범용 룰은 1차 룰이 발생하고 있는 위치에 대응하는 위치에서의 범용 룰이다. The
따라서, 룰 검색부(241)는 룰 분석부(230)로부터 1차 룰이 발생하고 있는 위치를 수신하고, 1차 룰이 발생하고 있는 위치에 대응되는 범용 룰을 검색하여 이를 수신한다. 또한, 룰 검색부(241)는 수신된 1차 룰과 관련된 룰을 룰 비교부(243)로 전송한다. Accordingly, the
룰 비교부(243)는 1차 룰과 1차 룰과 관련된 범용 룰들을 비교하여 둘 사이의 유사도를 발생하고, 이를 룰 결정부(245)로 전송한다. The
유사도가 소정의 유사도 범위보다 크면 1차 룰과 범용 룰은 서로 매우 유사하다고 판단할 수 있으므로, 룰 결정부(245)는 상기 1차 룰을 제외시킨다(즉, 로컬 저장부(270)에서 삭제한다). 반면, 유사도가 유사도 범위보다 작으면 1차 룰과 범용 룰은 서로 다른 것으로 판단할 수 있으므로, 룰 결정부(245)는 룰 검색부(241)에 의해 검색된 범용 룰들 중 마지막 룰 번호의 다음 번호를 할당하여 1차 룰을 새로운 2차 룰로서 로컬 저장부(270)에 저장하다. If the similarity is greater than a predetermined similarity range, the first rule and the general rule may be determined to be very similar to each other, and thus the
유사도가 유사도 범위 내이면 1차 룰은 범용 룰과 단순한 유사성만을 갖는 것으로 판단할 수 있으므로, 1차 룰과 1차 룰과 유사한 범용 룰을 병합하여 새로운 2차 룰로서 로컬 저장부(270)에 저장한다. 이 때, 병합된 룰은 병합되기 이전의 범용 룰이 업데이트된 상태일 것이다. If the similarity is within the range of similarity, it can be determined that the primary rule has only simple similarity with the general rule, so that the primary rule and the universal rule similar to the primary rule are merged and stored in the
룰 최적화부(250)는 2차 룰과 범용 룰 저장부(130)에 저장된 범용 룰들을 비교하여 2차 룰이 범용 룰들과 다른 경우 2차 룰을 범용 룰로 등록함으로써 상기 범용 룰들을 업데이트한다. The
로컬 저장부(270)에 저장된 2차 룰이 병합되어 업데이트된 것이라면, 룰 최적화부(250)는 병합되어 업데이트된 2차 룰을 범용 룰 저장부(130)에 저장된 범용 룰과 비교하여 동일한 룰이 존재하는지 여부를 확인한다. 동일한 룰이 없다면 룰 최적화부는 2차 룰에 새로운 아이디를 할당하여 범용 룰 저장부(130)에 등록하고 저장한다. If the secondary rules stored in the
2차 룰이 전혀 새로운 것이라면, 룰 최적화부(250) 범용 룰 저장부(130)에 저장된 범용 룰과의 비교 없이 2차 룰에 새로운 아이디를 할당하여 범용 룰 저장부(130)에 등록하고 저장한다. If the secondary rules are completely new, the new rules are assigned to the secondary rules without registering with the general rules stored in the
한편 본 발명의 실시예에서, 룰 생성부(110)는 범용 룰들을 상황 기술 마크업 언어(Situation Description Markup Language: SDML)와 행동 기술 마크업 언어(Action Description Markup Language: ADML)로 변환하는 심볼 변환부(260)를 더 구비할 수도 있다. 상황 기술 마크업 언어와 행동 기술 마크업 언어는 XML 기반 언어이다. 최종적으로 서비스를 이용하는 경우에는 SDML 및 ADML을 해석함으로써 현재의 상황을 판단하고 그에 따른 행동을 수행함으로써 서비스를 제공할 것이다. Meanwhile, in the embodiment of the present invention, the
상황 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 상황을 기술하고 상기 범용 룰이 생성될 때까지의 ECA 히스토리 정보를 포함하며, 상기 행동 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 행동을 기술하고 상기 ECA 히스토리 정보를 포함한다. A context description markup language describes the situation when the general purpose rules are generated and includes ECA history information until the general rule is generated, and the behavior description markup language acts when the general purpose rules are generated. It describes and contains the ECA history information.
이하에서는 도 4 및 도 6을 참조하여 모니터링부의 구조 및 동작에 대해 상세히 설명한다. 도 4는 도 1의 모니터링부의 블록도이고, 도 6은 도 1의 모니터링부의 동작을 설명하기 위한 다이어그램이다. Hereinafter, the structure and operation of the monitoring unit will be described in detail with reference to FIGS. 4 and 6. 4 is a block diagram of the monitoring unit of FIG. 1, and FIG. 6 is a diagram for describing an operation of the monitoring unit of FIG. 1.
모니터링부(400)는 시작 명령(START)에 따라 상기 ECA 정보가 포함된 컨텍스트 데이터를 수신한다. 컨텍스트 데이터는 상황 관리부(미도시) 내의 컨텍스트 제공부(미도시)로부터 제공될 수 있다. 한편, 모니터링부(400)는 종료 명령(STOP)에 따라 컨텍스트 데이터의 수신을 종료하고 수신된 컨텍스트 데이터를 필터링하여 룰 생성에 필요한 ECA 정보를 포함하는 컨텍스트를 발생한다. 모니터링부(400)는 컨텍스트를 룰 생성부(110)로 전송한다. The
모니터링부(400)는 이벤트 검출부(410), 컨텍스트 데이터 수신부(420), 필터링부(450) 및 컨텍스트 전송부(460)를 구비하며, 컨텍스트 데이터 저장부(430)와 컨텍스트 저장부(440)를 더 구비할 수 있다. The
이벤트 검출부(410)는 시작 명령(START) 및 종료 명령(STOP)을 검출한다. 시작 명령(START)과 종료 명령(STOP)은 룰 생성부(110)의 제어 표시부(210)에 의해 전송된다. 시작 명령(START)과 종료 명령(STOP)은 사용자 인터페이스(미도시)를 이용하여 사용자로부터 수신될 수 있다. The
시작 명령(START)은, 사용자가 자신의 행동 양식과 패턴을 저장하려는 의도로 입력되는 것으로, 이벤트 검출부(410)는 시작 명령(START)을 컨텍스트 데이터 수신부(420)로 전송한다. The start command START is input with the intention of the user to save his or her behavior and pattern, and the
종료 명령(STOP)은, 사용자가 자신의 행동 양식과 패턴의 저장을 중지하려는 의도로 입력되는 것으로, 이벤트 검출부(410)는 종료 명령(STOP)을 컨텍스트 데이터 수신부(420)와 필터링부(450)로 전송한다. The stop command STOP is input with the intention that the user stops storing his or her own behavioral patterns and patterns. The
컨텍스트 데이터 수신부(420)는 시작 명령(START)의 검출에 응답하여 ECA 정보가 포함된 컨텍스트 데이터를 수신하고 이를 컨텍스트 데이터 저장부로 전송한다. 컨텍스트 데이터는 센서, DAS, UpnP 등의 데이터를 포함한다. 컨텍스트 데이터 수신부(420)는 종료 명령(STOP)의 검출에 응답하여 컨텍스트 데이터의 수신을 중단한다. The
컨텍스트 데이터 저장부(430)는 컨텍스트 데이터 수신부(420)로부터 컨텍스트 데이터를 수신하여 컨텍스트 저장부(440)에 저장한다. The context
컨텍스트 저장부(440)는 컨텍스트 데이터와 컨텍스트를 저장한다. 컨텍스트는 컨텍스트 데이터 중 룰 생성에 필요 없는 데이터가 필터링된 것이다. 컨텍스트 저장부(440)는 센서의 값, 사용자가 작동시킨 전기장치의 상태, 그리고 UPnP의 정보 등을 데이터 테이블의 형태로 저장한다. 데이터 테이블의 각 필드의 값은 상황 관리부(미도시)에서 이용되는 정보 또는 룰 생성을 위한 정보로서 사용된다. The
다음은 상황 관리부와 연동되는 경우, 사용되는 저장부의 메시지 포맷과 가능한 값의 예에 대해 정의한 것이다.The following is an example of the message format and the possible values of the storage unit to be used when interworking with the situation management unit.
Plugin: "Sensor", "DAS", "UPnP"Plugins: "Sensor", "DAS", "UPnP"
ID: Sensor: "LocationX", "LocationY", "Location Z", "Humi", "TEMP", "Light"ID: Sensor: "LocationX", "LocationY", "Location Z", "Humi", "TEMP", "Light"
DAS: "Command", "Device", "Property"DAS: "Command", "Device", "Property"
UPnP: " "Command", "UPnPDevice", "UPnPProperty"UPnP: "" Command "," UPnPDevice "," UPnPProperty "
Value: Boolean, IntergerValue: Boolean, Interger
TimeStampTimestamp
필터링부(450)는 종료 명령(STOP)의 검출에 응답하여 룰 생성에 불필요한 컨텍스트 데이터를 필터링함으로써 컨텍스트를 발생한다. 필터링부(450)는 컨텍스트 저장부(440)에 저장된 컨텍스트를 검색하여 룰 생성 시 불필요하거나 중복된 컨텍스트들을 제거하고 룰 생성에 필요한 컨텍스트들만을 정리한다. 필터링이 완료된 후, 필터링부(450)는 필터링의 완료를 컨텍스트 전송부(460)에 알린다. The
컨텍스트 전송부(460)는 필터링의 완료에 응답하여 컨텍스트 저장부(440)에 저장된 컨텍스트를 룰 생성부(110)의 심볼 저장부(220)로 전송한다. 한편, 모든 데이터가 모든 심볼 저장부(220)로 전송된 후, 컨텍스트 저장부(440)에 저장된 데이터들은 삭제된다. The
이상에서는 룰 생성부(110)에서의 룰 생성 동작과 모니터링부(400)에서의 컨텍스트 전송 동작에 대해 설명하였다. 이상에서 설명한 바와 같이, 룰 생성부(110)는 컨텍스트를 이용하여 룰을 생성하고, 생성된 룰을 상황 기술 마크업 언어와 행동 기술 마크업 언어로 변환하기도 한다. 상황 관리부(미도시)는 상황 기술 마크업 언어와 행동 기술 마크업 언어에 응답하여 상황에 맞는 서비스를 제공한다. In the above, the rule generation operation in the
상황 기술 마크업 언어와 행동 기술 마크업 언어는 ECA 형태이나, 이벤트와 조건에 의한 행동이 이루어지는 종래의 단순한 ECA 형태와는 다르다. 즉, 본 발명의 실시예에 따른 상황 기술 마크업 언어와 행동 기술 마크업 언어는 제한된 자동화(finite automata)의 구현으로, 현재 상태에 도달하기 전까지의 히스토리도 포함한다. 따라서 본 발명의 실시예에 따른 상황 기술 마크업 언어와 행동 기술 마크업 언어는 종래의 단순한 ECA 형태보다 더욱 효율적으로 서비스를 제공할 수 있도록 한다. Context description markup language and behavior description markup language is different from the conventional ECA form in which the action by event and condition is performed. That is, the context description markup language and the behavior description markup language according to an embodiment of the present invention are implementations of finite automata and include a history until the current state is reached. Therefore, the context description markup language and the behavior description markup language according to an embodiment of the present invention can provide a service more efficiently than the conventional simple ECA form.
예를 들어, [예 1]에서는 밤 8시에 사용자가 거실에 들어왔을 경우 거실의 불이 켜진다는 단순한 조건만을 고려한다. 즉, [예 1]의 룰이 적용되는 시스템에서는 사용자가 이전에 어떠한 상황이었는지 전혀 고려되지 않는다. 또한, [예 1]의 룰이 적용되는 시스템에서는 이전 상황이 고려된다면, 관련된 상황들은 모두 조건 부분에 기술되어야 한다. For example, in Example 1, only the simple condition that the living room is turned on when the user enters the living room at 8 pm is considered. That is, in the system to which the rule of [Example 1] is applied, no situation is considered at all by the user. In addition, in the system to which the rule of [Example 1] is applied, if the previous situation is considered, all related situations should be described in the condition part.
그러나, 본 발명의 실시예에 따른 SDML 및 ADML을 이용하면 상태도를 이용하여 간단히 관련된 상황들을 기술할 수 있다. 즉, 상황 발생시 상태 천이를 수행함으로써, 어떤 특정한 상태에서는 이미 그 이전의 상황들이 반영된다. However, using SDML and ADML in accordance with embodiments of the present invention, state diagrams can be used to simply describe the relevant situations. In other words, by performing a state transition when a situation occurs, certain situations are already reflected before the situation.
도 7은 본 발명의 실시예에 따라 룰을 생성하는 경우 이전의 히스토리를 반영하는 동작을 설명하기 위한 상태도이다. 현재 적용되는 룰이 도 7의 상태 C라고 가정하면, 현재 상태는 이전의 상태 A와 상태 B를 통하여 도달한 것이므로, 현재 적용된 룰 C는 이전의 상태 A와 상태 B를 모두 고려한 효과적인 룰일 것이다. 7 is a state diagram for explaining an operation of reflecting a previous history when a rule is generated according to an embodiment of the present invention. Assuming that the currently applied rule is state C of FIG. 7, since the current state is reached through the previous state A and state B, the currently applied rule C may be an effective rule considering both the previous state A and state B.
아래의 [예 2]와 같이, 조건 부분에 이러한 조건을 기술할 수 있으나 수많은 모든 룰을 인위적으로 고려하여 기술하는 것은 거의 불가능하다. As shown in [Example 2] below, it is possible to describe such a condition in the condition part, but it is almost impossible to describe by considering all the numerous rules artificially.
[예 2][Example 2]
이벤트: 사용자가 거실에 들어온다. Event: The user enters the living room.
조건 1: 현재 시간은 밤 8시 이다. Condition 1: The current time is 8 pm.
조건 2: 거실의 불이 켜져 있지 않다. Condition 2: The living room light is not on.
조건 3: 이전의 상황은 B였다. Condition 3: The previous situation was B.
조건 4: 조건 3 이전의 상황은 A였다. Condition 4: The situation before Condition 3 was A.
행동: 거실의 불을 켠다. Action: Turn on the living room light.
상술한 바와 같이, 제한된 자동화(finite automata)의 구현으로 룰을 기술함으로써 룰을 기반으로 하는 서비스 제공이 보다 합리적으로 이루어질 수 있을 것이다. 특히, 이러한 룰들을 자동적으로 생성하는 것은 유비쿼터스 환경에서 보다 원활하게 서비스를 제공할 수 있도록 할 것이다. As described above, the rule-based service provision may be made more rational by describing a rule by implementing a finite automata. In particular, the automatic generation of these rules will provide a smoother service in the ubiquitous environment.
아래의 [표 1]은 SDML의 DTD이다. Table 1 below shows the DTD of the SDML.
아래의 [표 2]는 ADML의 DTD이다. Table 2 below shows the DTD of ADML.
[표 1]과 [표 2]의 각 구성요소에 대한 설명은 소정의 uSDML/uADML 언어 스펙(Language Specification)으로 기술될 수 있을 것이다. The description of each component of [Table 1] and [Table 2] may be described by a predetermined uSDML / uADML language specification.
아래의 [표 3]은 본 발명의 실시예에 따라 자동으로 생성된 룰의 일부이다. 아래의 룰은 시뮬레이션을 통해 작성되었다. 사용자는 시작 명령을 입력하여 룰 생성의 시작을 지시하였다. 상황 관리부는 시작 명령을 수신하고 샘플 데이터로서 빛의 상태를 임의로 지정하였으며, 이러한 조건에 따라 모니터링부를 통해 컨텍스트가 룰 생성부로 제공되었다. Rule 생성부는 본 발명의 실시예에 따른 방법에 따라 SDML과 ADML의 Rule을 생성하였다. 시작 명령과 종료 명령에 의해 하나의 룰이 생성되었다. 하나의 룰은 SDML(예를 들어, SDML_2)과 ADML(예를 들어, ADML_2)로 변환되었다. SDML(예를 들어, SDML_2)과 ADML(예를 들어, ADML_2) 둘 모두가 동시에 해석되어 서비스가 제공되었다.Table 3 below is a part of a rule automatically generated according to an embodiment of the present invention. The following rules were created by simulation. The user inputs a start command to instruct the start of rule generation. The situation management unit received the start command and arbitrarily designated the light state as sample data, and the context was provided to the rule generation unit through the monitoring unit according to this condition. The rule generator generates the rules of SDML and ADML according to the method according to the embodiment of the present invention. One rule was created by the start and end commands. One rule was converted to SDML (eg SDML_2) and ADML (eg ADML_2). Both SDML (eg SDML_2) and ADML (eg ADML_2) were interpreted simultaneously to provide a service.
[표 3]에 따르면, 룰 2는 ADML_2의 State 0로부터 시작한다. Rule 적용과 동시에 ADML은 액션을 취하는 According to Table 3, rule 2 starts from State 0 of ADML_2. At the same time as applying rule, ADML takes action
<action><action>
<signal><signal>
<splugin>DAS</splugin><splugin> DAS </ splugin>
<sid>light_0</sid><sid> light_0 </ sid>
<svalue>33</svalue><svalue> 33 </ svalue>
</signal></ signal>
</action></ action>
부분을 통해서 DAS의 light_0의 값을 33으로 조정한다. 이때 현재의 상황을 제어하는 SDML_2는 light_0의 값이 33임을 확인하고 현재의 상황을 상황의 State 1로 변이 시킨다. 이때 적용된 부분은 Use this to adjust the value of light_0 in the DAS to 33. At this time, SDML_2 that controls the current situation checks that the value of light_0 is 33 and changes the current situation to State 1 of the situation. The part applied at this time
<goto>1</goto><goto> 1 </ goto>
<input><input>
<plugin>DAS</plugin><plugin> DAS </ plugin>
<id>light_0</id><id> light_0 </ id>
<value>33</value><value> 33 </ value>
</input></ input>
에 해당된다. 마찬가지로 액션 제어의 ADML_2의 Corresponds to Similar to ADML_2 in Action Control
<goto>1</goto><goto> 1 </ goto>
<input><input>
<id>SDML_2</id><id> SDML_2 </ id>
<value>1</value><value> 1 </ value>
</input></ input>
부분에 의해 현재 상태 State 0에서 상황의 변화가 SDML_2의 State 1으로의 변이를 확인하고 액션을 위한 State 1으로 이동을 하여 Part of the current state, state 0 changes the state of SDML_2 to State 1, and then moves to State 1 for the action.
<action><action>
<signal><signal>
<splugin>DAS</splugin><splugin> DAS </ splugin>
<sid>light_1</sid><sid> light_1 </ sid>
<svalue>33</svalue><svalue> 33 </ svalue>
</signal></ signal>
</action></ action>
의 액션 제어에 의해 light_1의 불빛을 33으로 제어하도록 실행을 시킨다. Action to control the light of light_1 to 33 by the action control of.
이와 같은 일련의 과정을 거친다면 사용자는 의도한 서비스를 위한 Rule을 자동 생성 할 수 있으며 시스템은 적절한 인터페이스를 통하여 저장된 서비스를 제공할 수 있다. If you go through this series of steps, you can automatically create a rule for the intended service, and the system can provide the stored service through the appropriate interface.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, optimal embodiments have been disclosed in the drawings and the specification. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not intended to limit the scope of the invention as defined in the claims or the claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
본 발명은, ECA 룰 기반의 서비스를 제공하고 운영하는데 있어서, 룰의 자동 생성을 위해 센서 네트워크를 이용하여 사용자의 행동과 상황을 추적하여 정보를 획득하고, 획득된 정보를 이용하여 자동으로 룰을 생성한다. 또한, 본 발명은 생성된 룰을 XML 기반의 상황 기술 마크업 언어(Situation Description Markup Language: SDML)와 행동 기술 마크업 언어(Action Description Markup Language: ADML) 형태의 룰로 변환하여 작성한다. According to the present invention, in providing and operating an ECA rule-based service, a sensor network is used to obtain information by tracking a user's behavior and situation using a sensor network for automatically generating a rule, and automatically obtains a rule using the obtained information. Create In addition, the present invention converts the generated rules into rules in the form of XML-based Situation Description Markup Language (SDML) and Action Description Markup Language (ADML).
따라서, 본 발명은 룰의 양에 상관없이 ECA 룰 작성에 대한 사용자의 노력을 줄일 수 있으며, 사용자별 룰을 생성함으로써 유비쿼터스 환경에서 개인화된 서비스를 효율적으로 제공할 수 있는 장점이 있다. Therefore, the present invention can reduce the user's effort for ECA rule creation regardless of the amount of rules, and has the advantage of efficiently providing personalized services in the ubiquitous environment by generating user-specific rules.
또한, 본 발명은 XML 형식의 제한 자동기(finite automata) 형식에 따라 현재까지의 진행 상황을 스테이트 별로 구분하고 적용함으로써, 현재의 상황과 조건을 고려하여 행동을 취하는 단순한 방식보다 더욱 정확한 판단을 할 수 있는 장점이 있다.In addition, the present invention distinguishes and applies the current progress according to states according to the XML format finite automata format, so that a more accurate judgment can be made than a simple method of taking action in consideration of the current situation and conditions. There are advantages to it.
Claims (24)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050128663A KR100660031B1 (en) | 2005-12-23 | 2005-12-23 | Apparatus and method for automatically generating rules in ubiquitous circumstance |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050128663A KR100660031B1 (en) | 2005-12-23 | 2005-12-23 | Apparatus and method for automatically generating rules in ubiquitous circumstance |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100660031B1 true KR100660031B1 (en) | 2006-12-20 |
Family
ID=37815109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050128663A KR100660031B1 (en) | 2005-12-23 | 2005-12-23 | Apparatus and method for automatically generating rules in ubiquitous circumstance |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100660031B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100872303B1 (en) | 2007-01-05 | 2008-12-05 | 아주대학교산학협력단 | Situation rule registration and application method for community computing based collaboration system |
KR101686338B1 (en) * | 2015-07-13 | 2016-12-14 | 중앙대학교 산학협력단 | Event processing system, Event processing method and Computer program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050046580A (en) * | 2003-11-14 | 2005-05-18 | 한국전자통신연구원 | System and method for multi-modal context-sensitive applications in home network environment |
KR20050049977A (en) * | 2003-11-24 | 2005-05-27 | 한국전자통신연구원 | Ubiquitous home-network system and the control method |
KR20050097762A (en) * | 2004-04-02 | 2005-10-10 | 주식회사 대우일렉트로닉스 | Method for control of homenetwork system |
-
2005
- 2005-12-23 KR KR1020050128663A patent/KR100660031B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050046580A (en) * | 2003-11-14 | 2005-05-18 | 한국전자통신연구원 | System and method for multi-modal context-sensitive applications in home network environment |
KR20050049977A (en) * | 2003-11-24 | 2005-05-27 | 한국전자통신연구원 | Ubiquitous home-network system and the control method |
KR20050097762A (en) * | 2004-04-02 | 2005-10-10 | 주식회사 대우일렉트로닉스 | Method for control of homenetwork system |
Non-Patent Citations (1)
Title |
---|
논문 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100872303B1 (en) | 2007-01-05 | 2008-12-05 | 아주대학교산학협력단 | Situation rule registration and application method for community computing based collaboration system |
KR101686338B1 (en) * | 2015-07-13 | 2016-12-14 | 중앙대학교 산학협력단 | Event processing system, Event processing method and Computer program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Inconsistency detection and resolution for context-aware middleware support | |
CN107250932B (en) | Programmable logic controller and semantic contextualization method therein | |
US7805451B2 (en) | Ontology-integration-position specifying apparatus, ontology-integration supporting method, and computer program product | |
US8499280B2 (en) | Identifying source code elements for refactoring | |
JP5076587B2 (en) | Sensor information management system, sensor information management method, sensor information management program | |
US20100318576A1 (en) | Apparatus and method for providing goal predictive interface | |
US20090064000A1 (en) | SYSTEMS, METHODS AND COMPUTER PRODUCTS TO AUTOMATICALLY COMPLETE a GUI TASK | |
CN102576426A (en) | Condition monitoring system | |
CN110019038B (en) | File reference analysis method, device, equipment and computer readable storage medium | |
CN110515944B (en) | Data storage method based on distributed database, storage medium and electronic equipment | |
Catterson et al. | Issues in integrating existing multi-agent systems for power engineering applications | |
CN112231568B (en) | Hotel label automatic configuration method and device, electronic equipment and storage medium | |
Chabridon et al. | Building ubiquitous QoC-aware applications through model-driven software engineering | |
CN108595965B (en) | Method and device for preventing attribute information of interface control from being stolen | |
KR100660031B1 (en) | Apparatus and method for automatically generating rules in ubiquitous circumstance | |
KR20210036167A (en) | Test automation of application | |
KR101704145B1 (en) | Controller Management Station for Supporting Heterogeneous Database and Controlling System Including The Controller Management Station | |
US9189249B2 (en) | Method for automatically defining icons | |
CN110058849A (en) | Generation method, device, computer equipment and the storage medium of flow chart | |
CN113656292B (en) | Multi-dimensional cross-space-time basic software performance bottleneck detection method | |
CN115185535A (en) | Dependency relationship display method and device, storage medium and electronic equipment | |
US20030037031A1 (en) | Mechanism for automatically generating a transformation document | |
Matulevičius et al. | Comparing GRL and KAOS using the UEML Approach | |
US20070234280A1 (en) | Constraint based software systems and methods | |
US20040153871A1 (en) | Automatic analysis of the properties of a system based on runtime logs |
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: 20121011 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20131004 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140918 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20151020 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20161004 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20181002 Year of fee payment: 13 |