280 likes | 600 Views
Delivery Context. 임형준 ( hyungjun25@cnu.ac.kr ) 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2014년 9월 6일 토요일. 목차. W3C 관련 문서 진행 상태 유비쿼터스 웹 표준화 동향 유비쿼터스 웹을 위한 콘텐츠 표준화 현황 유비쿼터스 웹 메타데이터 및 API 표준화 현황 기타 표준화 현황 Delivery Context Delivery Context Ontology Delivery Context: Client Interfaces (DCCI) 1.0 결론
E N D
Delivery Context 임형준(hyungjun25@cnu.ac.kr) 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2014년 9월 6일 토요일
목차 • W3C 관련 문서 진행 상태 • 유비쿼터스 웹 표준화 동향 • 유비쿼터스 웹을 위한 콘텐츠 표준화 현황 • 유비쿼터스 웹 메타데이터 및 API 표준화 현황 • 기타 표준화 현황 • Delivery Context • Delivery Context Ontology • Delivery Context: Client Interfaces (DCCI) 1.0 • 결론 • 참고문헌
W3C 관련문서 진행 상태 • Delivery Context Ontology • Published W3C Working Draft 21 December 2007 • http://www.w3.org/TR/2007/WD-dcontology-20071221/ • Delivery Context: Client Interfaces (DCCI) 1.0 • Accessing Static and Dynamic Delivery Context Properties • W3C Candidate Recommendation 21 December 2007 • http://www.w3.org/TR/2007/CR-DPF-20071221/
Ubiquitous Web Domain • Focusing on technologies to enable Web access for anyone, anywhere, anytime, using any device • Web access from mobile phones as well as other emerging environments such as consumer electronics, interactive television, and even automobiles • Working on best practices for mobile Web content, device independence technologies (DISelect), VoiceXML and technologies for multimodal interaction • Activities • Mobile Web Initiative Activity • Multimodal Interaction Activity • Ubiquitous Web Application Activity • Voice Browser Activity
Ubiquitous Web Applications • Recommendations • Composite Capability/Preference Profiles (CC/PP): Structure and Vocabularies 1.0 • Candidate Recommendations • Delivery Context Client Interfaces (DCCI) • Content Selection for Device Independence (DISelect) 1.0 • Delivery Context: XPath Access Functions 1.0 • Last Call Working Drafts • Composite Capability/Preference Profiles (CC/PP): Structure and Vocabularies 2.0 (CC/PP 2.0) • Working Drafts • Delivery Context Ontology • Device Independent Authoring Language (DIAL) • Content Selection (DISelect) Primer 1.0 • Core Presentation Characteristics: Requirements and Use Cases • Working Group Notes • Authoring Techniques for Device Independence • Device Independence Principles • Authoring Challenges for Device Independence
유비쿼터스 웹 표준화 동향 [1] • W3C는 2006년부터 유비쿼터스 웹 도메인(Ubiquitous Web Domain) 신설 • 웹 애플리케이션을 다양한 기기가 자신에 적합하게 이용할 수 있도록 하는 표준화의일환으로 기기독립 활동 시작 • 현재는 유비쿼터스 웹 애플리케이션 (UWA, Ubiquitous Web Application) 활동으로 신설 • 다양한 유비쿼터스 기기에서 분산된 웹 애플리케이션의 개발을 단순화하는 표준 개발 적업을 착수 • 효과적인 컨텍스트를 인식하고 전달하기 위한 인터페이스 필요
배경 지식 [2] • Context • Any information that can be used to characterize the situation of an entity (i.e., a person, place, or object) • Three categories of context [3] • Device Context: such as available CPU, memory, reachable networks, etc • User Context: user’s profile, preferences and information about the user’s applications, etc • Physical Context: such as location, weather, light, etc • Context-Awareness • A property of a system that uses context to provide relevant information and/or services to the user, where relevancy depends on the user’s task
Device Independence • Methods by which the characteristics of the device are made available for use in the processing associated with device independence • Methods to assist authors in creating sites and applications that can support device independence in ways that allow it to be widely employed • An Architectural View
유비쿼터스 웹 표준화 현황 • 유비쿼터스 웹을 위한 컨텐츠 표준화 현황 • DIAL (Device Independent Authoring Language) • DISelect (Content Selection for Device Independence) • 유비쿼터스 웹 메타데이터 및 API 표준화 현황 • DCCI (Delivery Context: Client Interfaces) • Delivery Context: XPath Access Function • CC/PP (Composite Capability/Preference Profiles) • 기타 표준화 현황 • EMMA (Extensible MultiModal Annotation markup language) • SCXML (State Chart XML)
유비쿼터스 웹을 위한 컨텐츠표준화 현황 • DIAL (Device Independent Authoring Language) • A markup language for the filtering and presentation of Web page content available across different delivery contexts • A language profile based on existing W3C XML vocabularies and CSS modules • Standard mechanisms for representing Web page structure, presentation and form interaction • DISelect (Content Selection for Device Independence) • A markup for selecting between versions of content • A syntax and processing model for general purpose content selection or filtering
DIAL (Device Independent Authoring Language) • How Does DIAL Work? • When Would I Use DIAL?
Content Selection • How existing device independent approaches allow content to be styled and structured according to a subset of delivery context, such as by applying XSLT transformations
유비쿼터스 웹 메타데이터 및 API표준화 현황 • Delivery Context: XPath Access Function • A suite of XPath functions for access the delivery context • For example, as the basis for selecting between different versions of materials supplied by authors • CC/PP (Composite Capability/Preference Profiles) • A CC/PP profile is a description of device capabilities and user preferences • Structure of a CC/PP profile and shows how vocabularies for these capabilities are used • Adaptation of content presented to that device
기타 표준화 현황 • EMMA (Extensible MultiModal Annotation markup language) • Specifications to enable access to the Web using multimodal (Man-Machine) interaction • A set of specifications for multimodal systems • Details of an XML markup language for containing and annotating the interpretation of user input • SCXML (State Chart XML) • State Chart eXtensible Markup Language • A generic state-machine based execution environment based on CCXML (Voice Browser Call Control) and Harel State Tables
Example of SCXML– Microwave Oven (1) • A simple microwave oven that can be in one of two states: • On --- the oven is running • Off --- the oven is turned off • State on itself has two substates: • Cooking --- the oven is cooking • Idle --- the oven is idle • The oven responds to three external event sources: • Door open/close • Timer that tracks cook-time • Power button
Example of SCXML– Microwave Oven (2) • SCXML Equivalent <!-- timer variable --> <var name="timer" expr="${0}"/> </onentry> <transition event="turn_off"> <target next="off"/> </transition> <transition cond="${timer ge cook_time}"> <target next="off"/> </transition> <state id="idle"> <transition cond="${door_closed}"> <!-- default immediate transition --> <target next="cooking"/> </transition> <transition event="door_close"> <assign name="door_closed" expr="${true}"/> <!-- start cooking --> <target next="cooking"/> </transition> </state> <state id="cooking"> <transition event="door_open"> <assign name="door_closed" expr="${false}"/> <target next="idle"/> </transition> <transition event="time"> <assign name="timer" expr="${timer + 1}"/> <target next="cooking"/> </transition> </state> </state> </scxml> <?xml version="1.0"?> <scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0“ initialstate="off"> <!-- trivial microwave oven example --> <state id="off"> <!-- off state --> <transition event="turn_on"> <target next="on"/> </transition> </state> <state id="on"> <initial> <transition> <target next="idle"/> </transition> </initial> <!-- on/pause state --> <onentry> <!-- we assume the cook_time is passed in as a context parameter --> <if cond="${empty cook_time}"> <!-- default setting --> <var name="cook_time" expr="${5}"/> </if> <!-- again, door_closed should be a part of a global context --> <if cond="${empty door_closed}"> <!-- default setting --> <var name="door_closed" expr="${true}"/> </if>
Delivery Context • A set of attributes that characterizes the capabilities of the access mechanism, • the preferences of the user and other aspects of the context into which • a web page is to be delivered
Delivery Context Ontology • A formal model of the characteristics of the environment in which devices interact with the Web • Characteristics of the device, the software used to access the Web and the network providing the connection among others • An important source of information that can be used to adapt materials from the Web to make them useable on a wide range of different devices with different capabilities • The ontology is formally specified in the OWL (Web Ontology Language)
Classification • Bluetooth Profile • Device Name • Orientation • Pointing Resolution • Camera • Network Bearer • Device Hardware • Display • Page Markup • Device Software • Unit Conversion • Character Set • Tactile Input Type • Battery • Memory Unit • Orientation Unit • Page Markup Feature Restriction • Physical Quantity • Image Type • Device • Delivery Context • Aspect Ratio • Page Markup Support • CPU • Web Browser Support • Image Support • Web Browser • Script Language • Style Language • Operating System Support • Text Input Type • Bluetooth Support • Network Support • Operating System • Pointing Input Type • Pixel Count http://www.w3.org/TR/2007/WD-dcontology-20071221/
Important Delivery Context Ontology • Device • A device in the delivery context • Delivery Context • Set of characteristics that describes the context in which materials are exchanged between the Web and a device • Web Browser • Web Browser on a device • Operating System • An operating system • Device Name • Name of a device • Network Bearer • A network bearer in a delivery context • Device Hardware • Hardware in a device • Device Software • Software in a device
Delivery Context: Client Interfaces (DCCI) 1.0 • Platform and language neutral programming interfaces • Web applications access to a hierarchy of dynamic properties representing device capabilities, configurations, user preferences and environmental conditions • A layer of insulation from specific implementations and data models • Overall form of the delivery context is a hierarchy • Needs to provide an eventing model, which can be used to report changes dynamically
DOM (Document Object Model) • A mechanism suitable for use on web clients that can support hierarchical data models including eventing model • By basing DCCI on DOM, and reusing its capabilities, it is also possible to minimize the additional resources that are needed in order to access the delivery context • Important in the context of small, mobile devices which may have significant limits in the available resources • DCCI implementations may be based either on DOM 2 or on DOM 3 • DOM 3: XML Namespaces can be used • DOM 2: where this specification reserves a name it specifies a prefix of DCCI- to try and help avoid such collisions
Processing • Values of delivery context properties may change at any time • DCCI supports dynamic access to the delivery context • Query the value of properties within the delivery context • Subscribe to notifications about changes to properties • Unsubscribe from notifications about changes to properties
Querying and Searching • DCCI supports direct access to the properties in the delivery context when both the namespace and property name are supplied • It can also provide access to sets of properties if wild cards are used
Using Events • Events that can be used as notifications that changes have occurred in the delivery context • Usual DOM events indicate changes in the structure of the delivery context as properties are added or removed • DCCI does not define any additional specific events to report particular situations that may be associated with specific properties • An alert to indicate that the battery level in the device is low • An alert to indicate a loss of connectivity to the network • An alert that the performance of speech recognition has fallen below some predefined quality threshold
Access Control and Errors • DCCI provides the means for accessing the delivery context which includes information such as user preferences, device characteristics and environmental factors • A form of access control would be desirable to protect such information • DCCI operations return values that may indicate error conditions • For example, when an operation is impossible to perform • IDL for DCCI Implementations Based on DOM 2 • http://www.w3.org/TR/2007/CR-DPF-20071221/#bind_DCIPropertyFilter
참고문헌 • [1] 이강찬, 이승윤, “유비쿼터스 웹 표준화 동향”, 전자통신동향분석, 제 22권, 제 6호, December, 2007 • [2] Sonia Ben Mokhtar, Damien Fournier, Nikolaos Georgantas, and Val´erie Issarny, “Context-Aware Service Composition in Pervasive Computing Environments”, RISE 2005, LNCS 3943, pp. 129–144, 2006 • [3] B. Schilit, N. Adams, and R. Want. Context-aware computing applications. In IEEE Workshop on Mobile Computing Systems and Applications, 1994.