OSGi 번들 서비스 의존성 해결을 위한 Residential Gateway 소프트웨어 구조 설계 2005.09.23 Jung-Kil,Kim
Contents What is a Service Dependency? Suggest software model to solve Service Dependencies. Need a efficient data transfer mechanism Between bundles in OSGi.
Motivation The OSGi specification only defines mechanisms for dealing with packages and classes after bundles providing the necessary packages and services have been locally installed and activated in the framework. The Specification does not address any standard mechanism to discover and deploy required packages or services from external sources.
What is a Service Dependency? Boiler should know Window class names, package names to control it. When developed the bundle, Developers must know the name of class, package.
To solve service dependencies Dynamic Services in RG have to find services without knowing package names and class names. Bundles in RG should know dynamic services
Overall System
Package Diagram
InterfaceLibrary
Dynamic Events State 의미 REGISTED 서비스가 등록되었음 UNREGISTED 서비스가 등록 해지되었음 UPDATED 서비스 업데이트 됨 READY 서비스 시작 준비됨 STOP 서비스 중지됨 EXCEPTION 서비스에 에러 발생
Properties Definition ProductType Value 세탁기 0x00 냉장고 0x01 도어락 0x02 전자레인지 0x03 전등 0x04 전기밥솥 0x05 보일러 0x06 TV 0x07 비디오 0x08 검침 0x09 창문제어 0x0A 가스 밸브 제어 0x0B 가스 누출 감지 0x0C Key Value Contents vendor 제조사 이름 product 제품 이름 producttype 서비스 제공 형태, (표2에 명시)
Data Transfer by Event
Data Transfer Collaboration Diagram
End
Residential Gateway Software Architecture To Solve Service Dependencies in OSGi