KR100660031B1 - Apparatus and method for automatically generating rules in ubiquitous circumstance - Google Patents

Apparatus and method for automatically generating rules in ubiquitous circumstance Download PDF

Info

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
Application number
KR1020050128663A
Other languages
Korean (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 KR1020050128663A priority Critical patent/KR100660031B1/en
Application granted granted Critical
Publication of KR100660031B1 publication Critical patent/KR100660031B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code

Abstract

A device and a method for automatically generating rules in a ubiquitous environment are provided to reduce user effort for making an ECA(Event-Condition-Action) rule without respect to a quantity of rules and efficiently offering a personalized service in the ubiquitous environment by generating a personalized rule. A symbol storing part(220) receives and stores context including ECA information needed for generating the rule. A symbol analyzer(230) generates the primary rule by analyzing the context. A rule composer(246) stores the primary rule as a secondary rule by receiving universal rules related to the primary rule among the current provided universal rules and comparing the primary rule with the universal rules. A rule optimizer(250) updates the universal rules by registering the secondary rule as the universal rule in case that the secondary rule is not included in the universal rules by comparing the secondary rule with the universal rules. A local storing part(270) stores the context, and the primary and secondary rule.

Description

유비쿼터스 환경에서의 자동 룰 생성 장치 및 방법{Apparatus and method for automatically generating rules in ubiquitous circumstance}Apparatus and method for automatically generating rules in ubiquitous circumstance}

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다. 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. System 100 is preferably a ubiquitous system. The system 100 may include a situation management unit (not shown) that provides a user with a context-sensitive service based on a rule, and the situation management unit may include a situation-behavior conversion manager 140 and a situation-behavior converter 150. And a symbol codec unit 160, an external communication unit 170, a support unit 120, and the like.

룰 생성부(110)는 상황 관리부로부터 획득한 ECA 정보를 이용하여 룰을 생성하고, 상황 관리부는 생성된 룰과 기 저장된 범용 룰들을 이용하여 사용자에게 상황에 맞는 서비스를 제공한다. The rule generator 110 generates a rule by using the ECA information obtained from the situation manager, and the situation manager provides a service suitable for a situation by using the generated rule and pre-stored general rules.

이하의 본 발명의 실시예에서는 룰 생성부(110)와 범용 룰 저장부(130)가 상황 관리부 외부에 설치되어 룰을 생성하는 것으로 설명될 것이나, 상황 관리부 내부에 설치될 수도 있다. In the following embodiment of the present invention, it will be described that the rule generator 110 and the general rule storage 130 are installed outside the situation manager to generate a rule, but may be installed inside the situation manager.

또한, 룰을 생성하기 위해서는 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 support unit 120 and transmitted to the rule generation unit 110. Accordingly, the system 100 according to an embodiment of the present invention for generating a rule may include a general rule storing unit 130, a monitoring unit, and a rule generating unit 110.

이하에서는 범용 룰 저장부(130), 모니터링부 및 룰 생성부(110)를 구비하는 유비쿼터스 시스템(100)에서 룰을 생성하는 동작에 대해 설명한다. Hereinafter, an operation of generating a rule in the ubiquitous system 100 including the general rule storing unit 130, the monitoring unit, and the rule generating unit 110 will be described.

범용 룰 저장부(130)는 상기 서비스의 기반이 되는 범용 룰을 저장한다. The universal rule storage unit 130 stores the general rules on which the service is based.

모니터링부는 시작 명령(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 rule generation unit 110 generates a new secondary rule by comparing a primary rule generated by using a context with a universal rule related to the primary rule, and compares the secondary rule with the universal rules to generate the universal rule. Update them. A detailed structure and operation of the rule generator 110 will be described later in detail with reference to FIGS. 2, 3, and 5.

도 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 rule generator 110 includes a control display unit 210, a symbol storage unit 220, a symbol analyzer 230, a rule synthesizer 240, and a rule optimizer 250, and a rule converter 260. It may be further provided.

제어 표시부(210)는 시작 명령(START) 또는 종료 명령(STOP)의 입력을 위한 화면을 제공하고, 상기 시작 명령 또는 종료 명령을 수신하여 상기 모니터링부로 전송한다. 본 발명의 실시예에서는 제어 표시부(210)를 이용하여 사용자의 의도에 의해 룰 생성의 시작과 끝을 지정할 수 있도록 할 수 있다. The control display unit 210 provides a screen for inputting the start command START or the stop command STOP, and receives the start command or the end command and transmits it to the monitoring unit. In the embodiment of the present invention, the control display unit 210 may be used to designate the start and end of rule generation according to the user's intention.

즉, 제어 표시부(210)는 룰 생성의 시작과 종료를 알리는 시작 명령(START) 또는 종료 명령(STOP)의 입력을 위한 화면을 제공한다. 사용자는 키보드, 마우스, 등과 같은 사용자 인터페이스(미도시)를 이용하여 시작 명령(START)과 종료 명령(STOP)을 입력함으로써 룰 생성의 시작과 종료를 지정할 수 있다. That is, the control display unit 210 provides a screen for inputting a start command START or a stop command STOP indicating the start and end of rule generation. The user may designate the start and end of rule generation by inputting a start command START and a stop command STOP using a user interface (not shown) such as a keyboard, a mouse, or the like.

도 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 rule generation unit 110 as a context for the rule generation (601).

심볼 저장부(220)는 컨텍스트를 수신하여 저장하고(603), 저장이 종료되면 이를 심볼 분석부(230)에 알린다. 이 때, 심볼 저장부(220)는 모니터링부로부터 컨텍스트를 수신하여, 동일한 컨텍스트를 로컬 저장부(270)에 저장한다. 또한, 심볼 저장부(220)는 저장이 종료되었음을 심볼 분석부(230)에 알림으로써 컨텍스트의 분석이 시작되도록 한다. The symbol storage unit 220 receives and stores the context (603), and informs the symbol analysis unit 230 when the storage is completed. At this time, the symbol storage unit 220 receives the context from the monitoring unit, and stores the same context in the local storage unit 270. In addition, the symbol storage unit 220 notifies the symbol analyzer 230 that the storage is completed so that analysis of the context may be started.

심볼 분석부(230)는 컨텍스트를 분석하여 1차 룰을 생성한다. 1차 룰을 컨텍스트에 포함되는 이벤트, 상황 및 이에 대한 행동에 대한 기본적인 룰의 형태이다. 심볼 분석부(230)는 위치 검색부(231) 및 룰 작성부(233)를 구비한다. The symbol analyzer 230 generates a first rule by analyzing the context. Primary rules are the basic rules for events, situations, and actions that are included in the context. The symbol analyzer 230 includes a location searcher 231 and a rule generator 233.

위치 검색부(231)는 상기 컨텍스트에 포함된 ECA 정보 중 행동이 이루어지는 위치를 검색한다. 모니터링부로부터 수신된 컨텍스트는 로컬 저장부(270)에 테이블의 형태로 저장되는데, 위치 검색부(231)는 로컬 저장부에 저장된 컨텍스트 테이블을 검색하여 컨텍스트에 대응하는 사용자의 행동이 발생한 위치를 검색한다. The location search unit 231 searches for a location where an action is performed among the ECA information included in the context. The context received from the monitoring unit is stored in the form of a table in the local storage unit 270. The location retrieval unit 231 searches the context table stored in the local storage to search for the location where the user's action corresponding to the context occurred. do.

컨텍스트 테이블을 검색한 결과, 동일한 장소에서 행동이 발생하고 있다면 궁극적으로 하나의 룰로 기술될 수 있을 것이다. 반면, 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 rule preparation unit 233.

룰 작성부(233)는 검색된 위치를 근거로 ECA 정보 중 상황과 행동을 기술함으로써 1차 룰을 생성하고 이를 로컬 저장부(270)에 저장한다. 즉, 룰 작성부(233)는 검색된 위치에 근거하여 관련된 컨텍스트 값을 로컬 저장부(270)의 컨텍스트 테이블로부터 추출하여 행동 리스트 테이블과 상황 리스트 테이블로 저장한다. The rule writing unit 233 generates the first rule by describing the situation and the action in the ECA information based on the searched position and stores it in the local storage unit 270. That is, the rule preparing unit 233 extracts the relevant context value from the context table of the local storage unit 270 based on the searched position and stores the context value as an action list table and a situation list table.

이렇게 위치, 행동 및 상황에 따라 테이블로 기술된 룰은 발생 위치를 근거로 하는 룰의 기본 단위를 이룰 수 있다. 예를 들어, 사용자가 거실로부터 침실로 이어지는 행동을 저장한 경우에, 이러한 행동은 두 개의 다른 위치에서 각각 다른 룰로 구분되어 저장된다. 이후에 각각의 두 개의 룰 사이의 인과 관계를 적용함으로써 연속적인 두 개의 룰이 서비스를 제공하는데 이용된다. 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 rule synthesizing unit 240 receives the general rules related to the primary rule among the general rules, and generates the secondary rule by comparing the general rules related to the primary rule and the primary rule. That is, the rule synthesizing unit 241 compares the general rule stored in the local storage unit 270 with the general rule stored in the general rule storage unit 130 to exclude the primary rule or determine whether it is a completely new rule. Then, it decides whether to update with the new rule by synthesizing with similar general rule already stored. The rule synthesizing unit 240 stores the new rule in the local storage unit 270 as a secondary rule. The rule synthesizing unit 240 includes a rule searching unit 241, a rule comparing unit 243, and a rule determining unit 245.

룰 검색부(241)는 1차 룰과 관련된 범용 룰들을 검색하여 수신한다. 1차 룰과 관련된 범용 룰은 1차 룰이 발생하고 있는 위치에 대응하는 위치에서의 범용 룰이다. The rule search unit 241 searches for and receives general rules related to the primary rule. The general rule related to the primary rule is a general rule at the position corresponding to the position where the primary rule is occurring.

따라서, 룰 검색부(241)는 룰 분석부(230)로부터 1차 룰이 발생하고 있는 위치를 수신하고, 1차 룰이 발생하고 있는 위치에 대응되는 범용 룰을 검색하여 이를 수신한다. 또한, 룰 검색부(241)는 수신된 1차 룰과 관련된 룰을 룰 비교부(243)로 전송한다. Accordingly, the rule retrieval unit 241 receives a position where the primary rule is generated from the rule analyzer 230, searches for and receives a general rule corresponding to the position where the primary rule is generated. In addition, the rule retrieval unit 241 transmits the rule related to the received primary rule to the rule comparison unit 243.

룰 비교부(243)는 1차 룰과 1차 룰과 관련된 범용 룰들을 비교하여 둘 사이의 유사도를 발생하고, 이를 룰 결정부(245)로 전송한다. The rule comparison unit 243 compares the general rules related to the primary rule and the primary rule, generates similarities between the two, and transmits the similarities to the rule determination unit 245.

유사도가 소정의 유사도 범위보다 크면 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 rule determining unit 245 excludes the first rule (ie, deletes it from the local storage unit 270). ). On the other hand, if the similarity is smaller than the similarity range, the first rule and the general rule may be determined to be different from each other. Thus, the rule determiner 245 may determine the next number of the last rule number among the general rules retrieved by the rule search unit 241. Assign and store the primary rule in the local storage 270 as a new secondary rule.

유사도가 유사도 범위 내이면 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 local storage unit 270 as a new secondary rule. do. At this time, the merged rule will be in a state where the general rule before the merge is updated.

룰 최적화부(250)는 2차 룰과 범용 룰 저장부(130)에 저장된 범용 룰들을 비교하여 2차 룰이 범용 룰들과 다른 경우 2차 룰을 범용 룰로 등록함으로써 상기 범용 룰들을 업데이트한다. The rule optimizer 250 compares the secondary rule with the universal rules stored in the universal rule storage unit 130 and updates the universal rules by registering the secondary rule as a universal rule when the secondary rule is different from the universal rules.

로컬 저장부(270)에 저장된 2차 룰이 병합되어 업데이트된 것이라면, 룰 최적화부(250)는 병합되어 업데이트된 2차 룰을 범용 룰 저장부(130)에 저장된 범용 룰과 비교하여 동일한 룰이 존재하는지 여부를 확인한다. 동일한 룰이 없다면 룰 최적화부는 2차 룰에 새로운 아이디를 할당하여 범용 룰 저장부(130)에 등록하고 저장한다. If the secondary rules stored in the local storage unit 270 are merged and updated, the rule optimizer 250 compares the merged and updated secondary rules with the general rules stored in the universal rule storage unit 130. Check if it exists. If there is no identical rule, the rule optimizer allocates a new ID to the secondary rule and registers and stores it in the universal rule storage 130.

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 rule optimizer 250 and the general rule storage unit 130 to register and store them in the general rule storage unit 130. .

한편 본 발명의 실시예에서, 룰 생성부(110)는 범용 룰들을 상황 기술 마크업 언어(Situation Description Markup Language: SDML)와 행동 기술 마크업 언어(Action Description Markup Language: ADML)로 변환하는 심볼 변환부(260)를 더 구비할 수도 있다. 상황 기술 마크업 언어와 행동 기술 마크업 언어는 XML 기반 언어이다. 최종적으로 서비스를 이용하는 경우에는 SDML 및 ADML을 해석함으로써 현재의 상황을 판단하고 그에 따른 행동을 수행함으로써 서비스를 제공할 것이다. Meanwhile, in the embodiment of the present invention, the rule generation unit 110 converts the general rules into a situation description markup language (SDML) and an action description markup language (ADML). It may be further provided with a portion 260. Context description markup language and behavior description markup language are XML-based languages. Finally, if the service is used, the service will be provided by interpreting SDML and ADML to determine the current situation and perform the corresponding action.

상황 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 상황을 기술하고 상기 범용 룰이 생성될 때까지의 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 monitoring unit 400 receives the context data including the ECA information according to the start command START. The context data may be provided from a context provider (not shown) in the context manager (not shown). Meanwhile, the monitoring unit 400 terminates the reception of the context data according to the end command STOP and filters the received context data to generate a context including the ECA information necessary for generating the rule. The monitoring unit 400 transmits the context to the rule generating unit 110.

모니터링부(400)는 이벤트 검출부(410), 컨텍스트 데이터 수신부(420), 필터링부(450) 및 컨텍스트 전송부(460)를 구비하며, 컨텍스트 데이터 저장부(430)와 컨텍스트 저장부(440)를 더 구비할 수 있다. The monitoring unit 400 includes an event detector 410, a context data receiver 420, a filter 450, and a context transmitter 460, and includes a context data storage unit 430 and a context storage unit 440. It may be further provided.

이벤트 검출부(410)는 시작 명령(START) 및 종료 명령(STOP)을 검출한다. 시작 명령(START)과 종료 명령(STOP)은 룰 생성부(110)의 제어 표시부(210)에 의해 전송된다. 시작 명령(START)과 종료 명령(STOP)은 사용자 인터페이스(미도시)를 이용하여 사용자로부터 수신될 수 있다. The event detector 410 detects a start command START and a stop command STOP. The start command START and the end command STOP are transmitted by the control display unit 210 of the rule generator 110. The start command START and the stop command STOP may be received from a user using a user interface (not shown).

시작 명령(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 event detector 410 transmits the start command START to the context data receiver 420.

종료 명령(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 event detector 410 sends the stop command STOP to the context data receiver 420 and the filter 450. To send.

컨텍스트 데이터 수신부(420)는 시작 명령(START)의 검출에 응답하여 ECA 정보가 포함된 컨텍스트 데이터를 수신하고 이를 컨텍스트 데이터 저장부로 전송한다. 컨텍스트 데이터는 센서, DAS, UpnP 등의 데이터를 포함한다. 컨텍스트 데이터 수신부(420)는 종료 명령(STOP)의 검출에 응답하여 컨텍스트 데이터의 수신을 중단한다. The context data receiver 420 receives the context data including the ECA information in response to the detection of the start command START and transmits the context data to the context data storage. The context data includes data such as a sensor, a DAS, and UpnP. The context data receiver 420 stops receiving the context data in response to the detection of the end command STOP.

컨텍스트 데이터 저장부(430)는 컨텍스트 데이터 수신부(420)로부터 컨텍스트 데이터를 수신하여 컨텍스트 저장부(440)에 저장한다. The context data storage unit 430 receives the context data from the context data receiver 420 and stores the context data in the context storage unit 440.

컨텍스트 저장부(440)는 컨텍스트 데이터와 컨텍스트를 저장한다. 컨텍스트는 컨텍스트 데이터 중 룰 생성에 필요 없는 데이터가 필터링된 것이다. 컨텍스트 저장부(440)는 센서의 값, 사용자가 작동시킨 전기장치의 상태, 그리고 UPnP의 정보 등을 데이터 테이블의 형태로 저장한다. 데이터 테이블의 각 필드의 값은 상황 관리부(미도시)에서 이용되는 정보 또는 룰 생성을 위한 정보로서 사용된다. The context storage unit 440 stores the context data and the context. The context is a filter of data that is not necessary for rule generation among context data. The context storage unit 440 stores a value of a sensor, a state of an electric device operated by a user, and information of UPnP in the form of a data table. The value of each field of the data table is used as information used in a situation management unit (not shown) or information for rule generation.

다음은 상황 관리부와 연동되는 경우, 사용되는 저장부의 메시지 포맷과 가능한 값의 예에 대해 정의한 것이다.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 filtering unit 450 generates a context by filtering context data unnecessary for rule generation in response to the detection of the end command STOP. The filtering unit 450 searches for the context stored in the context storage unit 440 to remove unnecessary or duplicate contexts when generating the rule and to clean up only the contexts required for generating the rule. After the filtering is completed, the filtering unit 450 notifies the context transmitter 460 of the completion of the filtering.

컨텍스트 전송부(460)는 필터링의 완료에 응답하여 컨텍스트 저장부(440)에 저장된 컨텍스트를 룰 생성부(110)의 심볼 저장부(220)로 전송한다. 한편, 모든 데이터가 모든 심볼 저장부(220)로 전송된 후, 컨텍스트 저장부(440)에 저장된 데이터들은 삭제된다. The context transmitter 460 transmits the context stored in the context storage 440 to the symbol storage 220 of the rule generator 110 in response to the completion of the filtering. Meanwhile, after all data is transmitted to all symbol storage units 220, the data stored in the context storage unit 440 is deleted.

이상에서는 룰 생성부(110)에서의 룰 생성 동작과 모니터링부(400)에서의 컨텍스트 전송 동작에 대해 설명하였다. 이상에서 설명한 바와 같이, 룰 생성부(110)는 컨텍스트를 이용하여 룰을 생성하고, 생성된 룰을 상황 기술 마크업 언어와 행동 기술 마크업 언어로 변환하기도 한다. 상황 관리부(미도시)는 상황 기술 마크업 언어와 행동 기술 마크업 언어에 응답하여 상황에 맞는 서비스를 제공한다. In the above, the rule generation operation in the rule generation unit 110 and the context transfer operation in the monitoring unit 400 have been described. As described above, the rule generator 110 generates a rule using a context, and converts the generated rule into a context description markup language and a behavior description markup language. The context management unit (not shown) provides a context-sensitive service in response to the context description markup language and the behavior description markup language.

상황 기술 마크업 언어와 행동 기술 마크업 언어는 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.

<?xml version="1.0" encoding="euc-kr"?> <!ELEMENT rule (header, fa)> <!ELEMENT header (name, comment?, workingtime?)> <!ELEMENT name (#PCDATA)> <!ELEMENT comment (#PCDATA)> <!ELEMENT workingtime (wtime*) > <!ELEMENT wtime (wstart, wstop)> <!ELEMENT wstart (#PCDATA)> <!ELEMENT wstop (#PCDATA)> <!ELEMENT fa (init, transition)> <!ELEMENT init (#PCDATA)> <!ELEMENT transition (state+)> <!ELEMENT state (num, group*, final?, stimeout?)> <!ELEMENT num (#PCDATA)> <!ELEMENT group (delay?, timeout?, goto, input+)> <!ELEMENT delay (#PCDATA)> <!ELEMENT timeout (#PCDATA)> <!ELEMENT goto (#PCDATA)> <!ELEMENT input (plugin, id, type?, value, value2?)> <!ELEMENT plugin (#PCDATA)> <!ELEMENT id (#PCDATA)> <!ELEMENT type (#PCDATA)> <!ELEMENT value (#PCDATA)> <!ELEMENT value2 (#PCDATA)> <!ELEMENT final (fid, fvalue)> <!ELEMENT fid (#PCDATA)> <!ELEMENT fvalue (#PCDATA)> <!ELEMENT stimeout (tid, tvalue)> <!ELEMENT tid (#PCDATA)> <!ELEMENT tvalue (#PCDATA)><? xml version = "1.0" encoding = "euc-kr"?> <! ELEMENT rule (header, fa)> <! ELEMENT header (name, comment ?, workingtime?)> <! ELEMENT name (#PCDATA)> <! ELEMENT comment (#PCDATA)> <! ELEMENT workingtime (wtime *)> <! ELEMENT wtime (wstart, wstop)> <! ELEMENT wstart (#PCDATA)> <! ELEMENT wstop (#PCDATA)> <! ELEMENT fa (init, transition)> <! ELEMENT init (#PCDATA)> <! ELEMENT transition (state +)> <! ELEMENT state (num, group *, final ?, stimeout?)> <! ELEMENT num (#PCDATA)> < ! ELEMENT group (delay ?, timeout ?, goto, input +)> <! ELEMENT delay (#PCDATA)> <! ELEMENT timeout (#PCDATA)> <! ELEMENT goto (#PCDATA)> <! ELEMENT input (plugin, id , type ?, value, value2?)> <! ELEMENT plugin (#PCDATA)> <! ELEMENT id (#PCDATA)> <! ELEMENT type (#PCDATA)> <! ELEMENT value (#PCDATA)> <! ELEMENT value2 (#PCDATA)> <! ELEMENT final (fid, fvalue)> <! ELEMENT fid (#PCDATA)> <! ELEMENT fvalue (#PCDATA) > <! ELEMENT stimeout (tid, tvalue)> <! ELEMENT tid (#PCDATA)> <! ELEMENT tvalue (#PCDATA)>

아래의 [표 2]는 ADML의 DTD이다. Table 2 below shows the DTD of ADML.

<?xml version="1.0" encoding="euc-kr"?> <!ELEMENT rule (header, fa)> <!ELEMENT header (name, comment?, workingtime?)> <!ELEMENT name (#PCDATA)> <!ELEMENT comment (#PCDATA)> <!ELEMENT workingtime (wtime*) > <!ELEMENT wtime (wstart, wstop)> <!ELEMENT wstart (#PCDATA)> <!ELEMENT wstop (#PCDATA)> <!ELEMENT fa (init, transition)> <!ELEMENT init (#PCDATA)> <!ELEMENT transition (state+)> <!ELEMENT state (num, group*, action*, final?, stimeout?)> <!ELEMENT num (#PCDATA)> <!ELEMENT group (delay?, timeout?, goto, input+)> <!ELEMENT delay (#PCDATA)> <!ELEMENT timeout (#PCDATA)> <!ELEMENT goto (#PCDATA)> <!ELEMENT input (id, type?, value, value2?)> <!ELEMENT id (#PCDATA)> <!ELEMENT type (#PCDATA)> <!ELEMENT value (#PCDATA)> <!ELEMENT value2 (#PCDATA)> <!ELEMENT action (signal*)> <!ELEMENT signal (sdelay?, splugin, sid, svalue)> <!ELEMENT sdelay (#PCDATA)> <!ELEMENT splugin (#PCDATA)> <!ELEMENT sid (#PCDATA)> <!ELEMENT svalue (#PCDATA)> <!ELEMENT final EMPTY> <!ELEMENT stimeout EMPTY><? xml version = "1.0" encoding = "euc-kr"?> <! ELEMENT rule (header, fa)> <! ELEMENT header (name, comment ?, workingtime?)> <! ELEMENT name (#PCDATA)> <! ELEMENT comment (#PCDATA)> <! ELEMENT workingtime (wtime *)> <! ELEMENT wtime (wstart, wstop)> <! ELEMENT wstart (#PCDATA)> <! ELEMENT wstop (#PCDATA)> <! ELEMENT fa (init, transition)> <! ELEMENT init (#PCDATA)> <! ELEMENT transition (state +)> <! ELEMENT state (num, group *, action *, final ?, stimeout?)> <! ELEMENT num (#PCDATA <! ELEMENT group (delay ?, timeout ?, goto, input +)> <! ELEMENT delay (#PCDATA)> <! ELEMENT timeout (#PCDATA)> <! ELEMENT goto (#PCDATA)> <! ELEMENT input ( id, type ?, value, value2?)> <! ELEMENT id (#PCDATA)> <! ELEMENT type (#PCDATA)> <! ELEMENT value (#PCDATA)> <! ELEMENT value2 (#PCDATA)> <! ELEMENT action (signal *)> <! ELEMENT signal (sdelay ?, splugin, sid, svalue)> <! ELEMENT sdelay (#PCDATA)> <! ELEMENT splugin (#PCDATA)> <! ELEMENT sid (#PCDATA)> <! ELEMENT svalue (#PCDATA)> <! ELEMENT final EMPTY> <! ELEMENT stimeout EMPTY>

[표 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.

Figure 112005075714711-pat00001
Figure 112005075714711-pat00001

Figure 112005075714711-pat00002
Figure 112005075714711-pat00002

[표 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)

룰 생성에 필요한 ECA(Event-Condition-Action) 정보를 포함하는 컨텍스트를 수신하여 저장하는 심볼 저장부; A symbol storage unit for receiving and storing a context including event-condition-action (ECA) information necessary for generating a rule; 상기 컨텍스트를 분석하여 1차 룰을 생성하는 심볼 분석부; A symbol analyzer configured to analyze the context to generate a primary rule; 현재 서비스되고 있는 범용 룰들 중 상기 1차 룰과 관련된 범용 룰들을 수신하고, 상기 1차 룰과 상기 관련된 범용 룰들을 비교하여 상기 1차 룰을 새로운 2차 룰로서 저장하는 룰 합성부; 및 A rule synthesizing unit which 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; And 상기 2차 룰과 상기 범용 룰들을 비교하여 상기 2차 룰이 상기 범용 룰들에 없는 경우 상기 2차 룰을 범용 룰로 등록함으로써 상기 범용 룰들을 업데이트하는 룰 최적화부를 구비하는 것을 특징으로 하는 룰 생성 장치. And a rule optimizer configured to compare the secondary rule with the universal rules and update the universal rules by registering the secondary rule as a universal rule when the secondary rule is not in the universal rules. 제 1 항에 있어서, The method of claim 1, 상기 컨텍스트, 상기 1차 룰 및 상기 2차 룰을 저장하는 로컬 저장부를 더 구비하는 것을 특징으로 하는 룰 생성 장치. And a local storage for storing the context, the primary rule, and the secondary rule. 제 1 항에 있어서, 상기 심볼 분석부는, The method of claim 1, wherein the symbol analysis unit, 상기 컨텍스트에 포함된 ECA 정보 중 행동이 이루어지는 위치를 검색하는 위치 검색부; 및 A location search unit for searching for a location where an action is performed among the ECA information included in the context; And 상기 위치를 근거로 상기 ECA 정보 중 상황과 행동을 기술함으로써 1차 룰을 생성하는 룰 작성부를 구비하는 것을 특징으로 하는 룰 생성 장치. And a rule preparing unit for generating a primary rule by describing a situation and an action in the ECA information based on the position. 제 1 항에 있어서, 상기 룰 합성부는, The method of claim 1, wherein the rule synthesizing unit, 상기 1차 룰과 관련된 범용 룰들을 검색하여 수신하는 룰 검색부; A rule search unit for searching for and receiving general rules related to the primary rule; 상기 1차 룰과 상기 관련된 범용 룰들을 비교하여 둘 사이의 유사도를 발생하는 룰 비교부; 및 A rule comparison unit for comparing the first rule with the related general-purpose rules and generating a similarity between the two; And 상기 유사도가 소정의 유사도 범위보다 크면 상기 1차 룰을 삭제하고, 상기 유사도가 상기 유사도 범위 내이면 상기 1차 룰을 상기 관련된 범용 룰을 병합하여 새로운 2차 룰로서 저장하고, 그리고 상기 유사도가 상기 유사도 범위보다 작으면 상기 1차 룰을 새로운 2차 룰로서 저장하는 룰 결정부를 구비하는 것을 특징으로 하는 룰 생성 장치. If the similarity 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 the And a rule determination unit for storing the primary rule as a new secondary rule if it is smaller than the similarity range. 제 1 항에 있어서,  The method of claim 1, 상기 범용 룰들을 상황 기술 마크업 언어와 행동 기술 마크업 언어로 변환하는 심볼 변환부를 더 구비하는 것을 특징으로 하는 룰 생성 장치. And a symbol converter converting the general rules into a context description markup language and a behavior description markup language. 제 5 항에 있어서, The method of claim 5, 상기 상황 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 상황을 기술하고 상기 범용 룰이 생성될 때까지의 ECA 히스토리 정보를 포함하며, The context description markup language describes a situation when the general rules are generated and includes ECA history information until the general rules are generated, 상기 행동 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 행동을 기술하 고 상기 ECA 히스토리 정보를 포함하는 것을 특징으로 하는 룰 생성 장치. And the behavior description markup language describes the behavior when the universal rules are generated and includes the ECA history information. 룰 생성에 필요한 ECA(Event-Condition-Action) 정보를 포함하는 컨텍스트를 수신하여 저장하는 단계; Receiving and storing a context including Event-Condition-Action information required for rule generation; 상기 컨텍스트를 분석하여 1차 룰을 생성하는 단계; Analyzing the context to generate a primary rule; 현재 서비스되고 있는 범용 룰들 중 상기 1차 룰과 관련된 범용 룰들을 수신하고, 상기 1차 룰과 상기 관련된 범용 룰들을 비교하여 상기 1차 룰을 새로운 2차 룰로서 저장하는 단계; 및 Receiving general rules associated with the primary rule among general rules currently being serviced, comparing the primary rule with the related general rules, and storing the primary rule as a new secondary rule; And 상기 2차 룰과 상기 범용 룰들을 비교하여 상기 2차 룰이 상기 범용 룰들에 없는 경우 상기 2차 룰을 범용 룰로 등록함으로써 상기 범용 룰들을 업데이트하는 단계를 구비하는 것을 특징으로 하는 룰 생성 방법. And comparing the secondary rule with the universal rules and updating the universal rules by registering the secondary rule as a universal rule when the secondary rule is not in the universal rules. 제 7 항에 있어서, 상기 1차 룰을 생성하는 단계는, The method of claim 7, wherein generating the primary rule, 상기 컨텍스트에 포함된 ECA 정보 중 행동이 이루어지는 위치를 검색하는 단계; 및 Searching for a location where an action is performed among the ECA information included in the context; And 상기 위치를 근거로 상기 ECA 정보 중 상황과 행동을 기술함으로써 1차 룰을 생성하는 단계를 구비하는 것을 특징으로 하는 룰 생성 방법. And generating a primary rule by describing a situation and an action in the ECA information based on the position. 제 7 항에 있어서, 상기 2차 룰로서 저장하는 단계는, The method of claim 7, wherein the storing as the secondary rule, 상기 1차 룰과 관련된 범용 룰들을 검색하여 수신하는 단계; Searching for and receiving universal rules related to the primary rule; 상기 1차 룰과 상기 관련된 범용 룰들을 비교하여 둘 사이의 유사도를 발생하는 단계; 및 Comparing the primary rule with the related general-purpose rules to generate a similarity between the two; And 상기 유사도가 소정의 유사도 범위보다 크면 상기 1차 룰을 삭제하고, 상기 유사도가 상기 유사도 범위 내이면 상기 1차 룰을 상기 관련된 범용 룰을 병합하여 새로운 2차 룰로서 저장하고, 그리고 상기 유사도가 상기 유사도 범위보다 작으면 상기 1차 룰을 새로운 2차 룰로서 저장하는 단계를 구비하는 것을 특징으로 하는 룰 생성 방법. If the similarity 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 the If less than a similarity range, storing the primary rule as a new secondary rule. 제 7 항에 있어서,  The method of claim 7, wherein 상기 범용 룰들을 상황 기술 마크업 언어와 행동 기술 마크업 언어로 변환하는 단계를 더 구비하는 것을 특징으로 하는 룰 생성 방법. And converting the general rules into a context description markup language and a behavior description markup language. 제 10 항에 있어서, 상기 상황 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 상황을 기술하고 상기 범용 룰이 생성될 때까지의 ECA 히스토리 정보를 포함하며,  11. The method of claim 10 wherein the context description markup language describes a situation when the general rules are generated and includes ECA history information until the general rules are generated, 상기 행동 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 행동을 기술하고 상기 ECA 히스토리 정보를 포함하는 것을 특징으로 하는 룰 생성 방법. The behavior description markup language describes a behavior when the universal rules are generated and includes the ECA history information. 룰을 기반으로 상황에 맞는 서비스를 사용자에게 제공하는 상황 관리부를 구비하는 유비쿼터스 시스템에 있어서, In the ubiquitous system having a situation management unit for providing a user service according to the situation based on rules, 상기 서비스의 기반이 되는 범용 룰을 저장하는 범용 룰 저장부; A general rule rule storage unit for storing a general rule which is the base of the service; 시작 명령에 따라 상기 ECA 정보가 포함된 컨텍스트 데이터를 수신하며, 종료 명령에 따라 상기 컨텍스트 데이터의 수신을 종료하고 상기 수신된 컨텍스트 데이터를 필터링하여 룰 생성에 필요한 ECA 정보를 포함하는 컨텍스트를 발생하는 모니터링부; 및 Receives context data including the ECA information according to a start command, and terminates the reception of the context data according to a termination command and filters the received context data to generate a context including the ECA information required for rule generation. part; And 상기 컨텍스트를 이용하여 생성한 1차 룰과 상기 1차 룰과 관련된 범용 룰들을 비교하여 새로운 2차 룰을 생성하고, 상기 2차 룰과 상기 범용 룰들을 비교하여 상기 범용 룰들을 업데이트하는 룰 생성부를 구비하는 것을 특징으로 하는 유비쿼터스 시스템. A rule generation unit for generating a new secondary rule by comparing the primary rule generated by using the context with the general rules related to the primary rule, and updating the universal rules by comparing the secondary rule with the universal rules. Ubiquitous system characterized in that it comprises. 제 12 항에 있어서, 상기 모니터링부는, The method of claim 12, wherein the monitoring unit, 상기 시작 명령 및 상기 종료 명령을 검출하는 이벤트 검출부; An event detector for detecting the start command and the end command; 상기 시작 명령의 검출에 응답하여 상기 ECA 정보가 포함된 컨텍스트 데이터를 수신하고, 상기 종료 명령의 검출에 응답하여 상기 컨텍스트 데이터의 수신을 중단하는 컨텍스트 데이터 수신부; A context data receiver configured to receive context data including the ECA information in response to the detection of the start command and to stop receiving the context data in response to the detection of the end command; 상기 종료 명령의 검출에 응답하여 룰 생성에 불필요한 컨텍스트 데이터를 필터링하여 상기 컨텍스트를 발생하는 필터링부; 및 A filtering unit generating the context by filtering context data unnecessary for rule generation in response to the detecting of the termination command; And 상기 컨텍스트를 상기 룰 생성부로 전송하는 컨텍스트 전송부를 구비하는 것을 특징으로 하는 유비쿼터스 시스템. A ubiquitous system comprising a context transmitter for transmitting the context to the rule generator. 제 12 항에 있어서, 상기 룰 생성부는, The method of claim 12, wherein the rule generation unit, 상기 시작 명령 또는 상기 종료 명령의 입력을 위한 화면을 제공하고, 상기 시작 명령 또는 종료 명령을 수신하는 상기 모니터링부로 전송하는 제어 표시부; A control display unit for providing a screen for inputting the start command or the end command and transmitting the start command or the end command to the monitoring unit; 상기 컨텍스트를 수신하여 저장하는 심볼 저장부; A symbol storage unit for receiving and storing the context; 상기 컨텍스트를 분석하여 상기 1차 룰을 생성하는 심볼 분석부; A symbol analyzer configured to analyze the context to generate the first rule; 상기 범용 룰들 중 상기 관련된 범용 룰들을 수신하고, 상기 1차 룰과 상기 관련된 범용 룰들을 비교하여 상기 2차 룰을 생성하는 룰 합성부; 및 A rule synthesizing unit which receives the related general rules among the general rules, and compares the primary rule with the related general rules to generate the secondary rule; And 상기 2차 룰과 상기 범용 룰들을 비교하여 상기 2차 룰이 상기 범용 룰들에 없는 경우 상기 2차 룰을 범용 룰로 등록함으로써 상기 범용 룰들을 업데이트하는 룰 최적화부를 구비하는 것을 특징으로 하는 유비쿼터스 시스템. And a rule optimizer for comparing the secondary rule with the universal rules and updating the universal rules by registering the secondary rule as a universal rule when the secondary rule is not in the universal rules. 제 14 항에 있어서, 상기 시작 명령 및 상기 종료 명령은, The method of claim 14, wherein the start command and the end command, 상기 사용자로부터 입력되는 것을 특징으로 하는 유비쿼터스 시스템. Ubiquitous system, characterized in that input from the user. 제 14 항에 있어서, 상기 룰 생성부는, 15. The method of claim 14, wherein the rule generation unit, 상기 범용 룰들을 상황 기술 마크업 언어와 행동 기술 마크업 언어로 변환하는 심볼 변환부를 더 구비하는 것을 특징으로 하는 유비쿼터스 시스템. And a symbol conversion unit for converting the general rules into a context description markup language and a behavior description markup language. 제 16 항에 있어서, The method of claim 16, 상기 상황 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 상황을 기술하 고 상기 범용 룰이 생성될 때까지의 ECA 히스토리 정보를 포함하며, The context description markup language describes the situation when the general rules are generated and includes ECA history information until the general rules are generated, 상기 행동 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 행동을 기술하고 상기 ECA 히스토리 정보를 포함하는 것을 특징으로 하는 유비쿼터스 시스템. And the behavior description markup language describes the behavior when the universal rules are generated and includes the ECA history information. 제 17 항에 있어서, 상기 상황 관리부는, The method of claim 17, wherein the situation management unit, 상기 상황 기술 마크업 언어와 상기 행동 기술 마크업 언어에 응답하여 상황에 맞는 서비스를 제공하는 것을 특징으로 하는 유비쿼터스 시스템. A ubiquitous system, characterized in that to provide a context-sensitive service in response to the context description markup language and the behavior description markup language. 유비쿼터스 시스템에서 기 저장된 범용 룰을 이용하여 상황에 맞는 서비스를 사용자에게 제공하는 방법에 있어서, In the ubiquitous system using a pre-stored general-purpose rule to provide a service to the user in a situation, 시작 명령에 따라 ECA 정보가 포함된 컨텍스트 데이터를 수신하며, 종료 명령에 따라 상기 컨텍스트 데이터의 수신을 종료하고 상기 수신된 컨텍스트 데이터를 필터링하여 룰 생성에 필요한 ECA 정보를 포함하는 컨텍스트를 발생하는 단계; Receiving context data including ECA information according to a start command, and terminating reception of the context data according to a termination command and filtering the received context data to generate a context including ECA information necessary for generating a rule; 상기 컨텍스트를 이용하여 생성한 1차 룰과 상기 1차 룰과 관련된 범용 룰들을 비교하여 새로운 2차 룰을 생성하고, 상기 2차 룰과 상기 범용 룰들을 비교하여 상기 범용 룰들을 업데이트하는 단계; 및 Generating a new secondary rule by comparing a primary rule generated by using the context with general rules associated with the primary rule, and updating the universal rules by comparing the secondary rule with the universal rules; And 상기 업데이트된 범용 룰을 이용하여 상황에 맞는 서비스를 제공하는 단계를 구비하는 것을 특징으로 하는 방법. And providing a service in a context using the updated universal rule. 제 19 항에 있어서, 상기 컨텍스트를 발생하는 단계는, 20. The method of claim 19, wherein generating the context comprises: 상기 시작 명령의 검출에 응답하여 상기 ECA 정보가 포함된 컨텍스트 데이터를 수신하고, 상기 종료 명령의 검출에 응답하여 상기 컨텍스트 데이터의 수신을 중단하는 단계; 및 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 end command; And 상기 종료 명령의 검출에 응답하여 룰 생성에 불필요한 컨텍스트 데이터를 필터링하여 상기 컨텍스트를 발생하는 단계를 구비하는 것을 특징으로 하는 방법. And generating the context by filtering context data unnecessary for rule generation in response to detecting the termination command. 제 19 항에 있어서, 상기 범용 룰들을 업데이트하는 단계는, 20. The method of claim 19, wherein updating the general rules: 상기 컨텍스트를 분석하여 상기 1차 룰을 생성하는 단계; Analyzing the context to generate the first rule; 상기 범용 룰들 중 상기 관련된 범용 룰들을 수신하고, 상기 1차 룰과 상기 관련된 범용 룰들을 비교하여 상기 2차 룰을 생성하는 단계; 및 Receiving the related general rules among the general rules, and comparing the primary rule with the related general rules to generate the secondary rule; And 상기 2차 룰과 상기 범용 룰들을 비교하여 상기 2차 룰이 상기 범용 룰들에 없는 경우 상기 2차 룰을 범용 룰로 등록함으로써 상기 범용 룰들을 업데이트하는 단계를 구비하는 것을 특징으로 하는 방법. And comparing the secondary rule with the universal rules to update the universal rules by registering the secondary rule as a universal rule when the secondary rule is not in the universal rules. 제 21 항에 있어서, 상기 범용 룰들을 업데이트하는 단계는, The method of claim 21, wherein updating the general rules: 상기 범용 룰들을 상황 기술 마크업 언어와 행동 기술 마크업 언어로 변환하는 단계를 더 구비하는 것을 특징으로 하는 방법. Converting the general rules into a context description markup language and a behavior description markup language. 제 22 항에 있어서, The method of claim 22, 상기 상황 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 상황을 기술하 고 상기 범용 룰이 생성될 때까지의 ECA 히스토리 정보를 포함하며, The context description markup language describes the situation when the general rules are generated and includes ECA history information until the general rules are generated, 상기 행동 기술 마크업 언어는 상기 범용 룰들이 생성될 때의 행동을 기술하고 상기 ECA 히스토리 정보를 포함하는 것을 특징으로 하는 방법. And the behavior description markup language describes the behavior when the universal rules are generated and includes the ECA history information. 제 23 항에 있어서, 상기 서비스를 제공하는 단계는, The method of claim 23, wherein providing the service comprises: 상기 상황 기술 마크업 언어와 상기 행동 기술 마크업 언어에 응답하여 상황에 맞는 서비스를 제공하는 것을 특징으로 하는 방법.And providing a contextual service in response to the context description markup language and the behavior description markup language.
KR1020050128663A 2005-12-23 2005-12-23 Apparatus and method for automatically generating rules in ubiquitous circumstance KR100660031B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
논문

Cited By (2)

* Cited by examiner, † Cited by third party
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