context modeling chris anagnostopoulos, athens, summer 2004
TRANSCRIPT
Context ModelingContext Modeling
Chris Anagnostopoulos, Athens, summer 2004Chris Anagnostopoulos, Athens, summer 2004
Context is any information that can be used to characterize the situation of an entity.An entity is a person, place or object that is considered relevant to the interaction between an user and an application, including the user and applications themselves.
Context is any information that can be used to characterize the situation of an entity.An entity is a person, place or object that is considered relevant to the interaction between an user and an application, including the user and applications themselves.
Set of situations, which describe humans, applications, and environment related to specific activities.Set of situations, which describe humans, applications, and environment related to specific activities.
Any result derived from the activity of an entity, the environment into which an entity is active, the future and historical actions of an entity.
«Contextual Entity» A physical person (user), a computantional object (QoS), an application (Location Based Service), an abstract concept (movement,activity)
«Observable» Something that we are interested in retrieving its state
Any result derived from the activity of an entity, the environment into which an entity is active, the future and historical actions of an entity.
«Contextual Entity» A physical person (user), a computantional object (QoS), an application (Location Based Service), an abstract concept (movement,activity)
«Observable» Something that we are interested in retrieving its state
relations of interest entities of interest context of interestrelations of interest entities of interest context of interest
Contextualentity
Context0..*
Observable“trace”1..*
aggregatorelement element of interest
Relation“view interested”
participant related Element
0..* 0..*
1 n
Context-Based Constraint Language :: Technische Universität Berlin
Entity is viewed as Element. The context of an element can be expressed as metadata. Use of context property and context value semantic.Extension of the OCL.Textual Syntax (Backus-Naur Form)::
DirectConPropValues::=ContextPropertyName [‘(’Element-Name’)’] ‘:’ContextPropertyValue {‘,’ ContextPropertyValue}
«ContextProperty» 2-tupel (cp,VVcp): cp CP is the set of contextual properties cp, VVcp set of valid values for one cp. Multiple values u1..n VVcp can be directly associated with one element e E via the dierctvalues mapping: directvaluescp: E PVVcp, {context retrieval} the subset of cp’s valid values VVcp is the power set PVVcp
e.g. UML syntax:
Textual syntax:
context retrieval:
Context-Based Constraint Language :: Technische Universität Berlin
Entity is viewed as Element. The context of an element can be expressed as metadata. Use of context property and context value semantic.Extension of the OCL.Textual Syntax (Backus-Naur Form)::
DirectConPropValues::=ContextPropertyName [‘(’Element-Name’)’] ‘:’ContextPropertyValue {‘,’ ContextPropertyValue}
«ContextProperty» 2-tupel (cp,VVcp): cp CP is the set of contextual properties cp, VVcp set of valid values for one cp. Multiple values u1..n VVcp can be directly associated with one element e E via the dierctvalues mapping: directvaluescp: E PVVcp, {context retrieval} the subset of cp’s valid values VVcp is the power set PVVcp
e.g. UML syntax:
Textual syntax:
context retrieval:
ContractManagement
Workflow:Delete,Create,Integrate
Workflow(ContractManagement):’Integrate’,’Delete’
directvaluesWorkflow(ContractManagement)={‘Integrate’,‘Delete’}
Context-Based Constraint Language :: Technische Universität Berlin
«DerivedContextProperty » 2-tupel (dcp,VVdcp): cp CP is the set of contextual properties cp, DCP CP, dcp DCP. If the value of the derived context property dcp is associated with the element e E then the element that belongs to e derive e’s values of dcp automatically due to a belongs-to relation. This is not applicable to composite elements. One ek belongs to another el, kl, then the context property values associated with el also apply to ek:
The dcp values associated with the el are derived to ek via the belongs-to relation:
belongs ExE : (ek,el) belongs or ek belongs el
then: ek derives the values of the dcp properties of the el. The context retrieval is thenthe mapping:
derivedvaluesdcp(e) = derivedvaluesdcp(ei) directvaluesdcp(ei)when ei: e ei
Activity(person): ‘searching’,‘navigating’ Activity(device) : ‘idle’,‘downloading’lbs belongs person, lbs belongs devicederivedvaluesActivity (lbs)= {‘navigating’ , ‘downloading’}
Context-Based Constraint Language :: Technische Universität Berlin
«DerivedContextProperty » 2-tupel (dcp,VVdcp): cp CP is the set of contextual properties cp, DCP CP, dcp DCP. If the value of the derived context property dcp is associated with the element e E then the element that belongs to e derive e’s values of dcp automatically due to a belongs-to relation. This is not applicable to composite elements. One ek belongs to another el, kl, then the context property values associated with el also apply to ek:
The dcp values associated with the el are derived to ek via the belongs-to relation:
belongs ExE : (ek,el) belongs or ek belongs el
then: ek derives the values of the dcp properties of the el. The context retrieval is thenthe mapping:
derivedvaluesdcp(e) = derivedvaluesdcp(ei) directvaluesdcp(ei)when ei: e ei
Activity(person): ‘searching’,‘navigating’ Activity(device) : ‘idle’,‘downloading’lbs belongs person, lbs belongs devicederivedvaluesActivity (lbs)= {‘navigating’ , ‘downloading’}
Context-Based Constraint Language :: Technische Universität Berlin
«Context Constraint Metamodel»
Context-Based Constraint Language :: Technische Universität Berlin
«Context Constraint Metamodel»
Constraint Element
ContextBasedConstraint
ContextCondition
ContextPropertyValue
ContextPropertyName
Indirect Association
Direct Association
0..* 0..*
0..10..1 +scopedSet +targetSet
+contextProperty
+type1 0..*
0..*
1
0..*0..*
0..*
0..*
+constraint +constraintedElement
ALL USERS WHERE ‘Role’ CONTAINS ‘Student’ MUST BE INFORMED OFALL DOCUMENTS WHERE ‘Topic’ INTERSECTS WITH ‘User.Lecturetopic’
ALL USERS WHERE ‘Role’ CONTAINS ‘Student’ MUST BE INFORMED OFALL DOCUMENTS WHERE ‘Topic’ INTERSECTS WITH ‘User.Lecturetopic’
ALL COMPONENTS WHERE ‘Personal Data’ = ‘True’MUST NOT BE ACCESIBLE TO ALL COMPONENTSWHERE ‘Operational Area’ CONTAINS ‘Cobtrolling’
ALL COMPONENTS WHERE ‘Personal Data’ = ‘True’MUST NOT BE ACCESIBLE TO ALL COMPONENTSWHERE ‘Operational Area’ CONTAINS ‘Cobtrolling’
Context-Based Constraint Language :: Technische Universität Berlin
«Context Constraint Metamodel» CCL maps to OCL:
context component inv:if self.taggedValue->select(tv|tv.dataValue=“Controlling”)
.type->select(td|td.name=“Operational Area”) ->notEmpty() and self.dependency.role -> select(i|i.oclIsTypeOf(Interface).dependency ->select (d|d.oclIsKindOf(Abstraction) and d.stereotype.name = “realize”) .role ->select (c|c.oclIsTypeOf(Component) .taggedValue -> select (tv| tv.dataValue = “True”) .type->select (td | td.name=“Personal Data”) ->Empty()
Context-Based Constraint Language :: Technische Universität Berlin
«Context Constraint Metamodel» CCL maps to OCL:
context component inv:if self.taggedValue->select(tv|tv.dataValue=“Controlling”)
.type->select(td|td.name=“Operational Area”) ->notEmpty() and self.dependency.role -> select(i|i.oclIsTypeOf(Interface).dependency ->select (d|d.oclIsKindOf(Abstraction) and d.stereotype.name = “realize”) .role ->select (c|c.oclIsTypeOf(Component) .taggedValue -> select (tv| tv.dataValue = “True”) .type->select (td | td.name=“Personal Data”) ->Empty()
Theory of Contextors :: Coutaz, Rey, CLIPS-IMAG France«Context Description via Contextors» History Function
“The cognitive notion of the context emerges from the captured events in which an entity is get involved.” Instant snapshot of Observable Entities is Situation, Composition of these situations over time is Context. Users are engaged at particular Tasks. Context of sets of Users U performing tasks T at time t is the composition:
Context (U,T,t) = COMPOSITION(situation(U,T,t0),…,situation(U,T,t)), Δt = t-t0
Environemts for composition:•Physical (light conditions, noise level, temperature, spatial objects, dimensions)•Social (waiting in line, colleagues that may come in, familiy members)•System (computantional, communicational resources, PDAs, mobile phones)•User (preferences, profile, policies, constraints)
Theory of Contextors :: Coutaz, Rey, CLIPS-IMAG France«Context Description via Contextors» History Function
“The cognitive notion of the context emerges from the captured events in which an entity is get involved.” Instant snapshot of Observable Entities is Situation, Composition of these situations over time is Context. Users are engaged at particular Tasks. Context of sets of Users U performing tasks T at time t is the composition:
Context (U,T,t) = COMPOSITION(situation(U,T,t0),…,situation(U,T,t)), Δt = t-t0
Environemts for composition:•Physical (light conditions, noise level, temperature, spatial objects, dimensions)•Social (waiting in line, colleagues that may come in, familiy members)•System (computantional, communicational resources, PDAs, mobile phones)•User (preferences, profile, policies, constraints)
Contexts(U,T,t) Contextu(U,T,t)
Contextn(U,T,t)Contextg(U,T,t) Contexti(U,T,t0)=situationi(U,T,t0)Contexti(U,T,t)=situationi(U,T,t) situationi(U,T,t-Δt)ContextN(U,T,t)=situationU(U,T,t) situationS(U,T,t)
Contexti(U,T,t0)=situationi(U,T,t0)Contexti(U,T,t)=situationi(U,T,t) situationi(U,T,t-Δt)ContextN(U,T,t)=situationU(U,T,t) situationS(U,T,t)
Theory of Contextors :: Coutaz, Rey, CLIPS-IMAG France«Context Composition via Contextors» History FunctionTheory of Contextors :: Coutaz, Rey, CLIPS-IMAG France«Context Composition via Contextors» History Function
FunctionalCore
Data,Metadata -in Data,Metadata -out
Control-in
Control-out
Type of contextors
•Elementary (sensors)•History (buffers, notifies changes)•Threshold (meta data, conditions, constraints)•Translator (transorfm data without meaning alteration, oC-oF •Fusion (aggregates infomration)•Abstraction (higher level of information, location granularity)
Composition over data channels: Encapsulation
Type of contextors
•Elementary (sensors)•History (buffers, notifies changes)•Threshold (meta data, conditions, constraints)•Translator (transorfm data without meaning alteration, oC-oF •Fusion (aggregates infomration)•Abstraction (higher level of information, location granularity)
Composition over data channels: Encapsulation
Activity Centric Context :: Prekop - Burnett«Activity Context»Document based context
Context surrounds the performance of an activity (contextual entity) by an agent (contextual property). The context exists iff an activity is being performed
Classification of activities :: More generic to more specific. The performance of a broad activity assuming that the nested activities have already been performed creating a nested or cascading context.
Activity Centric Context :: Prekop - Burnett«Activity Context»Document based context
Context surrounds the performance of an activity (contextual entity) by an agent (contextual property). The context exists iff an activity is being performed
Classification of activities :: More generic to more specific. The performance of a broad activity assuming that the nested activities have already been performed creating a nested or cascading context.
GenericContext
GenericActivity
Context
performanceAgent Activity
surrounds
of
surrounds
inherited
involved in
Parent Context:organizing a workshop
Agents Involved:self
Resources:calendar, email,names,travel,rooms
Process:begin{Initial AgendaIf not Approval Agenda beginContact participantBook roomsBook travel
}end
Parent Context:organizing a workshop
Agents Involved:self
Resources:calendar, email,names,travel,rooms
Process:begin{Initial AgendaIf not Approval Agenda beginContact participantBook roomsBook travel
}end
Context Modeling in Pervasive Computing :: Henricksen, UNI-Queensland, Australia«Classification of Context» Association oriented context
Association Classification = {Static, Dynamic {Sensed, Derived, Profiled}}Structural Association = {Simple,Composite {Collection,Alternative,Temporal}}Dependencies = associations between associations (locatedAt dependsOn locatedNear)
Context Modeling in Pervasive Computing :: Henricksen, UNI-Queensland, Australia«Classification of Context» Association oriented context
Association Classification = {Static, Dynamic {Sensed, Derived, Profiled}}Structural Association = {Simple,Composite {Collection,Alternative,Temporal}}Dependencies = associations between associations (locatedAt dependsOn locatedNear)
Person Device
Channel
Location IdentifierActivity
Name
Identifier Type
Type
engagedIn:[]o
named:so
worksWith:*o
supervisedBy:o
locatedAt:w[]
hasChannel:o*
identifiedBy:o
locatedNear:[]autohrizedUse:o*
locatedAt:w[]identifiedBy:o
hasType:s
hasType:s
requires:ao
p:Person, p.engagedIn dependsOn p.locatedAt p:Person, d:Devicep.locatedNear dependsOn d.locatedAt
s:static, o:profiled, w:sensored, *:collection, a:alternative, []:temporal s:static, o:profiled, w:sensored, *:collection, a:alternative, []:temporal
QoC:accuracy, certainty, freshness, confidence,probability, related to associations
QoC:accuracy, certainty, freshness, confidence,probability, related to associations
The Context Model Description is based on semantic languages able to represent physical and logical ontologies which are interrelated.
«Ontology» Set of entities’ description which exist in a context. Example : A set of actions of mobile phone user with certain profiles.
«Ontology Web Language (W3C::OWL)»
OWL provides RDFS/OWL parsers, reasoners, containers. OWL implements thenotion of any context into a machine comprehensible scheme. (Lite,DL,Full)
* OIL (Ontology Inference Language RDF),DAML (DARPA Agent Markup Language), DAML+OIL, OWL.* UML-based Tools for DAML (Property definition enriching the MOF, a property is an attribute that does not belong to any class, a new Classifier)* Class Instance in OOP Individual and Class in OWL
The Context Model Description is based on semantic languages able to represent physical and logical ontologies which are interrelated.
«Ontology» Set of entities’ description which exist in a context. Example : A set of actions of mobile phone user with certain profiles.
«Ontology Web Language (W3C::OWL)»
OWL provides RDFS/OWL parsers, reasoners, containers. OWL implements thenotion of any context into a machine comprehensible scheme. (Lite,DL,Full)
* OIL (Ontology Inference Language RDF),DAML (DARPA Agent Markup Language), DAML+OIL, OWL.* UML-based Tools for DAML (Property definition enriching the MOF, a property is an attribute that does not belong to any class, a new Classifier)* Class Instance in OOP Individual and Class in OWL
<owl:Class rdf:ID=“ContextEntity”/><owl:Class rdf:ID=“Location”> <rdfs:sudClassOf rdf:resource=“#ContextEntity”/></owl:Class><owl:ObjectProperty rdf:ID=“longitude”> <rdf:type rdf:resource=“FunctionalProperty”> <rdfs:domain rdf:resource=“Location”></owl:ObjectProperty><owl:Class rdf:ID=“IndoorSpace”> <rdfs:sudClassOf rdf:resource=“#Location”/><owl:disjoinedWith rdf:resource=“#OutdoorSpace”/></owl:Class><owl:ObjectProperty rdf:ID=“locatedIn”> <rdfs:domain rdf:resource=“#Entity”> <rdfs:range rdf:resource=“#Location”></owl:ObjectProperty>
<owl:Class rdf:ID=“ContextEntity”/><owl:Class rdf:ID=“Location”> <rdfs:sudClassOf rdf:resource=“#ContextEntity”/></owl:Class><owl:ObjectProperty rdf:ID=“longitude”> <rdf:type rdf:resource=“FunctionalProperty”> <rdfs:domain rdf:resource=“Location”></owl:ObjectProperty><owl:Class rdf:ID=“IndoorSpace”> <rdfs:sudClassOf rdf:resource=“#Location”/><owl:disjoinedWith rdf:resource=“#OutdoorSpace”/></owl:Class><owl:ObjectProperty rdf:ID=“locatedIn”> <rdfs:domain rdf:resource=“#Entity”> <rdfs:range rdf:resource=“#Location”></owl:ObjectProperty>
ContextEntity
Location
IndoorSpace
OutdoorSpace
Entity
longitude
locatedIn
Ontology ModelOntology for Location Context Model
Ontology ExampleOntology Example
<owl:ObjectProperty rdf:ID="locatedIn"><rdf:type rdf:resource="&owl;TransitiveProperty" /><rdfs:domain rdf:resource="&owl;Thing" /><rdfs:range rdf:resource="#Region" /></owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="locatedIn"><rdf:type rdf:resource="&owl;TransitiveProperty" /><rdfs:domain rdf:resource="&owl;Thing" /><rdfs:range rdf:resource="#Region" /></owl:ObjectProperty>
Thing RegionlocatedIn
<Region rdf:ID=“Ζωγράφου”><locatedIn rdf:resource=“#Αθήνα”/></Region>
<Region rdf:ID=“Ζωγράφου”><locatedIn rdf:resource=“#Αθήνα”/></Region>
«Transitive»
<Region rdf:ID=“Αθήνα”><locatedIn rdf:resource=“#Αττική”/></Region>
<Region rdf:ID=“Αθήνα”><locatedIn rdf:resource=“#Αττική”/></Region>
Me ΖωγράφουlocatedIn
Αθήνα ΑττικήlocatedIn
locatedIn
Inference::locatedIn
Context Gateway :: Wang Xiaohang, UNI-Singapore«Context Ontologies» Ontology oriented Context
Graph representation with the Ontology Web Language (OWL) for modeling contextual information. Notion of Upper ontology and Domain-Specific ontology.
Context Gateway :: Wang Xiaohang, UNI-Singapore«Context Ontologies» Ontology oriented Context
Graph representation with the Ontology Web Language (OWL) for modeling contextual information. Notion of Upper ontology and Domain-Specific ontology.
ContextEntity
ComptEntity
Location Person
Activity
Service
Appl
Device
Network
Agent
Indoor
Outdoor
Deduced
Scheduled
Movie
Cooking
Party
TV
DVD
Garden
Garage
Room
Corridor
windowwindowvolumevolume
volumevolume door door
locatedInlocatedIn
locatedInlocatedIn
engagedInengagedIn
lighting lighting upper class :: owl:Class
specific class :: owl:Class
owl:Property
rdfs:subClassOfKitchen
Context Gateway :: Wang Xiaohang, UNI-Singapore«Context Reasoning using First-Order Logic» Ontology oriented Context
Rule based context reasoning:
Inferred Situation :: «Cooking» Reasoning rule :: (?u locatedIn Kitchen) (ElectricOven locatedIn Kitchen) (ElectricOven status ON) => (?u situation COOKING)
Context Gateway :: Wang Xiaohang, UNI-Singapore«Context Reasoning using First-Order Logic» Ontology oriented Context
Rule based context reasoning:
Inferred Situation :: «Cooking» Reasoning rule :: (?u locatedIn Kitchen) (ElectricOven locatedIn Kitchen) (ElectricOven status ON) => (?u situation COOKING)
OWL
CC/PP UAProf
RDF XML
Context
ProfileElement
Service
Profile as Derived ContextProfile as Derived Context
<?xml version="1.0"?> <rdf:Description about="HardwarePlatform"> <prf:Defaults Vendor="Nokia“ Model="2160“ Type="PDA" ScreenSize="800x600x24“ CPU="PPC" Keyboard="Yes" Memory="16mB" Bluetooth="YES" Speaker="Yes" /> <prf:Modifications Memory="32mB" /> </rdf:Description><rdf:Description about="SoftwarePlatform"> <prf:Defaults OS="EPOC1.0" HTMLVersion="4.0" JScriptVersion="4.0"WAPVersion="1.0"WMLScript="1.0"/> <prf:Modifications Sound="Off" Images="Off" /> </rdf:Description> <rdf:Description about="EpocEmail1.0"> <prf:Defaults HTMLVersion="4.0" /> </rdf:Description> <rdf:Description about="EpocCalendar1.0"><prf:Defaults HTMLVersion="4.0" /> </rdf:Description><rdf:Description about="UserPreferences"><prf:Defaults Language="English"/></rdf:Description></rdf:RDF>
<?xml version="1.0"?> <rdf:Description about="HardwarePlatform"> <prf:Defaults Vendor="Nokia“ Model="2160“ Type="PDA" ScreenSize="800x600x24“ CPU="PPC" Keyboard="Yes" Memory="16mB" Bluetooth="YES" Speaker="Yes" /> <prf:Modifications Memory="32mB" /> </rdf:Description><rdf:Description about="SoftwarePlatform"> <prf:Defaults OS="EPOC1.0" HTMLVersion="4.0" JScriptVersion="4.0"WAPVersion="1.0"WMLScript="1.0"/> <prf:Modifications Sound="Off" Images="Off" /> </rdf:Description> <rdf:Description about="EpocEmail1.0"> <prf:Defaults HTMLVersion="4.0" /> </rdf:Description> <rdf:Description about="EpocCalendar1.0"><prf:Defaults HTMLVersion="4.0" /> </rdf:Description><rdf:Description about="UserPreferences"><prf:Defaults Language="English"/></rdf:Description></rdf:RDF> RDF: Nokia 2160RDF: Nokia 2160
Terminal ProfileTerminal Profile
Context meta model (contextual information representation)
Context model (OWL,DAML+OIL,RDF,UML semantic) Context query (CSL,RDQL,…) Context discovery (sensor topology, sCAP, TinyOS) Context reasoning (known context generates new, AI,
pattern…) Context aggregation (interpretation, distributed
modeling) Context acquisition (high level sensing) Context quality (freshness, staleness, QoC, possibilities) Context consistency (knowledge base, inference
engines) Context sensing (wearable devices, hardware sensors) Context low-level model (contextual data
representation)
Context meta model (contextual information representation)
Context model (OWL,DAML+OIL,RDF,UML semantic) Context query (CSL,RDQL,…) Context discovery (sensor topology, sCAP, TinyOS) Context reasoning (known context generates new, AI,
pattern…) Context aggregation (interpretation, distributed
modeling) Context acquisition (high level sensing) Context quality (freshness, staleness, QoC, possibilities) Context consistency (knowledge base, inference
engines) Context sensing (wearable devices, hardware sensors) Context low-level model (contextual data
representation)
Context InitiativesContext Initiatives
Context Manager ArchitectureContext Manager Architecture
Enabling Context Managment •Capture of raw data •Collation of data•Transformation into a context model •Dissemination to context consumers
Enabling Context Managment •Capture of raw data •Collation of data•Transformation into a context model •Dissemination to context consumers