Title: Jae-Yoon Jung
1WS-ECA An ECA Rule Description Language for
Ubiquitous Services Computing
- Jae-Yoon Jung
- ASRI
- Seoul National University, Korea
- jjyjung_at_gmail.com
Seung-Kyun Han Digital Interactions Lab. Seoul
National University, Korea jackleg83_at_gmail.com
Jonghun Park Digital Interactions Lab. Seoul
National University, Korea jonghun_at_snu.ac.kr
Kang Chan Lee Protocol Eng. Center ETRI,
Korea chan_at_etri.re.kr
2Contents
1. Introduction
2. WS-ECA Language
3. The Framework of WS-ECA
4. Example
5. Rule Conflict Detection
6. Conclusions
3Introduction Ubiquitous Computing Environments
How to coordinate ?
Source ETRI (Electronics and Telecommunications
Research Institute), 2006
4Introduction Ubiquitous Computing Environments
Source ETRI (Electronics and Telecommunications
Research Institute), 2006
5Introduction limitations
Focus on device ONLY
Define their own protocol device description
standard
No support coordination
6Introduction Requirements of New Language
Adopt Event-Condition-Action Mechanism
7WS-ECA Language ECA Overview
- General structure of ECA Rule
- Examples of ECA Rules
- (conditional response)
- on e1 if c1 do a1
- on e1 if c2 do a2
- (transitive property) on e1 if c1 doon
e2 if c2 do a2 - Rule 1 on e1 if c1 do a1 (?e1)
- cf. action a1 generate internal event e1
- Rule 2 on e1e2 if c2 do a2
- (logical operation)
- Event on (e1e2) e3 if c1 do a1
- Condition on e1 if c1(c2c3) do a1
- Action on e1 if c1 do a1(a2a3)
on event if condition do action
8WS-ECA Language WS-ECA
- WS-ECA Rules
- Variables
- Event
- primitive composite events
- Condition
- Action
- primitive composite actions
WS-ECA Rules
Variables
Device variables
Event variables
ECA Rule
Events
Time events
Event
Service events
External events
Condition
Internal events
Action
Actions
Generate intEvent
Generate extEvent
Invoke Service
9WS-ECA Language Event
lteventsgt lttimeEvent typeonce namexsNCNamegt xsdateTime lt/timeEventgt lttimeEvent typeperiodic namexsNCName unitxsduration issuedxsdateTime? expiredxsdateTime?gtxsdateTime lt/timeEventgt lttimeEvent typerelative namexsNCName baseEventxsNCName intervalxsduration/gt ltintEvent namexsNCName/gt ltextEvent namexsNCName eventIDxsanyURI/gt ltsvcEvent typebefore namexsNCName servicexsQName/gt ltsvcEvent typeafter namexsNCName servicexsQName/gt ltcompositeEvent typeOR namexsNCNamegt event lt/compositeEventgt ltcompositeEvent typeAND namexsNCName TTLxsdurationgt event lt/eventgt ltcompositeEvent typeSEQ namexsNCName TTLxsdurationgt event lt/eventgt ltcompositeEvent typeNOT namexsNCNamegt event lt/compositeEventgt lt/eventsgt
10WS-ECA Language Condition
- Condition
- boolean statement
- XPath expression
- Variables
- specific elements of an event
- state of device
- Extension functions
- getVariable
- getDateTime
ltcondition expression"/alarm/today/_at_holiday'no'"
/gt
Variable
device variable
event variable
Functions Return type Return value
ecagetVariable(event QName, path PathExpr) xsany Specific values from event variables
ecagetDateTime(event Qname) xsdateTime Date and time information of the system
11WS-ECA Language Action
- Actions
- instructions executed when a triggered rule is
activated
ltactionsgt ltinvokeService namexsNCName serviceQNamegt xsany lt/invokeServicegt ltcreateIntEvent namexsNCName intEventxsNCNamegt xsany lt/createIntEventgt ltcreateExtEvent namexsNCName extEventxsanyURIgt xsany lt/createExtEventgt ltcompositeAction namexsNCName operatorAND transactionxsanyURIgt action lt/compositeActiongt ltcompositeAction namexsNCName operatorOR sequencexsbooleangt action lt/compositeActiongt lt/actionsgt
12The Framework of WS-ECA
- WS-Eventing SOAP
- Use XML-Family standards
- Web services in devices
13Example morning cook service
- A user set the get-up time to 700 AM on the
alarm clock before sleeping. - The clock informs the rice cooker of 20 minutes
before get-up. - The cooker starts to cook, and if rice is not
enough, it alerts to the user at his/her get-up
time. - When the cook is completed, the cooker informs
the coffee maker, and the coffee maker will start
to prepare a morning coffee after 10 minutes.
14Example morning cook service
get-up time700AM
alarm.xml
ltrulesgt ltrule name"alarm-before-get-up-rule"gt ltevent name"before-get-up-time"/gt ltcondition expression"/alarm/today/_at_holiday'no'"/gt ltaction name"pre-alarm"/gt lt/rulegt ltrule name"alarm-on-get-up-rule"gt ltevent name"get-up-time"/gt ltcondition expression"/alarm/today/_at_holiday'no'"/gt ltaction name"get-up-alarm"/gt lt/rulegt lt/rulesgt
15Rule Conflict Detection
- ECA Rules in Ubiquitous Service Devices
- WS-ECA rules can be defined by multiple users and
registered to distributed devices. - Some rules may have discrepancies with each other
and they may cause conflicts. - Service Constraints
- a set of service invocation actions that are not
allowed to occur at the same time. - e.g. 1) radio.turnUp() radio.turnDown()
- e.g. 2) heater.trunOn() air conditioner.turnOn()
- Global Rule Manager (GRM)
- analyzing the defined rules for devices at
build-time - resolving any rule conflicts at run-time
16Rule Conflict Detection
- Static Conflict
- triggering rules cause a conflict
- detect resolve at build-time
- e.g.)
- rule 1 on e1 if c1 do radio.turnOn()
- rule2 on e1 if c1 do radio.turnOff()
- Dynamic Conflict
- triggering rules MAY cause a conflict
- detect resolve at run-time
- e.g.)
- rule 1 on e1?e2 if c1 do radio.turnOn()
- rule 2 on e1?e3 if c1 do radio.turnDown()
Flowchart of rule generation and execution
17Conclusions
- ECA Rules in Ubiquitous Service Computing
- WS-ECA Rule description Language
- Advantages of WS-ECA in Ubiquitous Computing
- Active functionality of service devices
- Stateless and light interaction
- Decentralized rule processing based on ECA rules
- Future Work
- Develop conflict detection and resolution
algorithm - Make language standard
18Thank You !
- Jae-Yoon Jung
- ASRI
- Seoul National University, Korea
- jjyjung_at_gmail.com
Seung-Kyun Han Digital Interactions Lab. Seoul
National University, Korea jackleg83_at_gmail.com
Jonghun Park Digital Interactions Lab. Seoul
National University, Korea jonghun_at_snu.ac.kr
Kang Chan Lee Protocol Eng. Center ETRI,
Korea chan_at_etri.re.kr