design, implementation, and evaluation of the java context awareness framework(jcaf) 2007-07-16 us...
TRANSCRIPT
Design, Implementation, and Evaluation of the Java Context Awareness
Framework(JCAF)
2007-07-16US lab
Introduction Technical design and implementation of the JCAF
Context Aware Computing 지원
Context aware application 의 개발을 쉽게 할 수 있게
Key Concepts
Context Services Entities and Context Context Clients Context Events
Context Services : Entity 의 context information 을 받아서 관리 , 저장 , 분배한다 .
Entities : context 정보로 관리하고자 하는 대상 ex. A person, a patient, a place, a TV, a PC
Context : entity 가 가지는 환경 이며 context item 의 집합 ex. Home, office, hospital
Context Clients: entity 의 context information 을 감지하고 수집 Context Monitor: sensor 로 수집한 context 정보를 update Context Actuator: context item 의 변화 처리
Context Events: context service 가 entity listener 의해 감지된 이벤트를 등록하고 이벤트 발생을 통지 Context listener : 특정 entity 의 context 의 변화 감지하여 처리
The JCAF programming model supports type_based subscription
The JCAF Runtime Infrastructure
Context Client Layer Context Clients 는 하나 이상의 context
services 에 accessing 하는 JCAF infrastructure 사용하는
context aware application
Context Service Layer Context transformer: small application
specific Java Program (developer 에 의해 개발되어짐 transformer 저장소에 쓰고 , 추가하는 기능 )
Translators : context information 해독 Aggregators : 두 개 context information 통합
Key value attributes : application specific Java object 로 key 를 통해 entity 에 접근 가능
Context Monitor and Actuator Layer Context Monitor: sensor 로 수집한 context
정보를 update, handle - entity 와의 연결 Context Actuator: context item 의 변화
처리 여러 개의 actuator 가 함께 일 함
The JCAF programming model
Context Service API
ContextService : getEntity(): entity 객체의 복사본 리턴 lookupEntity(): 추가하려는 서비스와 연결 DiscoveryListener: entity 발견시 호출
Context Service API
Modeling Entity and Context Core modeling
Entity, context, Relation, ContextItem
Model 예 personX is located in room.333
Context information 에 대한 요청 및 갱신 Asynchronous mode Synchronous mode
Modeling Entity and ContextPulibc void contextChanged(ContextEvent event){ //To Do }
Event-based infrastructure of JCAF
Public interface ContextItem extends serializable {
public long getSequenceID();public boolean isSecure();public double getAccuracy();public boolean equals(ContextItem anotherItem);
}
Pulibc interface EntityListener {public void contextChanged(ContextEvent event);
}