Title: Stephan Reiff
1Hybrid Techniques for Detecting and Resolving
Feature Interactions in Telecommunication Services
Resolution Choices for an Online Feature Manager
FIW00 Glasgow, 16 -19 May 2000
- Stephan Reiff
- University of Glasgow
- http//www.dcs.gla.ac.uk/sreiff
- sreiff_at_dcs.gla.ac.uk
2Work, Project and Partners
- Joint work with Prof. Muffy Calder
- Project (EPSRC funded)
- Hybrid Techniques for Detecting and Resolving
Feature Interactions in Telecommunication
Services - Partners
- University of Strathclyde, Glasgow
- Citel
- Mitel
- http//www.dcs.gla.ac.uk/research/hfig/
3Overview
- Motivation and Background
- The Hybrid Approach
- Definitions
- Feature Interference
- The Feature Manager
- Solution Space
- Open Questions and Further Work
4Motivation and Background
- Motivation
- Feature Interaction Problem
- Legacy and Proprietary Systems
- Extension needed
- Knowledge about internal behaviour
unavailable/unreliable - Background
- Work by Marples,Magill and Tsang all have
shortcomings - We use Marples and Magills approach
- Hybrid?
- Use offline analysis to find general rules ...
- to control online feature manager
5Example Features (1)
6Definitions
- Messages
- IO-aspect(event, source, destination, value)
- relations between messages
- equal, inverse and name equivalent
- Alphabet
- Set of messages (partitioned into Input and
Output messages) - Trace
- non-empty, finite sequence of messages (starting
with an input message) - Feature
- non empty set of traces over a minimal alphabet
- Show examples
7Example Features (2)
- iaf (forwardcall,id,n,a)-(oinform,id,a,"Call
Forwarded") - cfu (ialert, a, b,-)-(forwardcall,id,n,a)
- tl (offhook, id, id,-)-(announce,id,id,"PIN?
") - (onhook, id, id,-),
- (offhook,id,id,-)-(tau),
- (offhook,id,id,-)-(announce,id,id,"PIN?")
- (dial,id,id,n)-(tau),
- (offhook,id,id,-)-(announce,id,id,"PIN?")
- (dial,id,id,n)-(announce,id,id, "wrong PIN")
- (onhook,id,id,-)
8Feature Interference
Definition Feature Interference n features
F1Fn with alphabets a1an interfere iff In
words Features interfere iff they have either a
common input message or one features output
message is the other features input message.
9Resolution Process
10Solution Space (1)
- What is it?
- A set of all traces that can be generated from
the features individual traces - simple example
- How do we obtain it?
- Add all traces of just one feature
- Add all combinations of traces of 2 features
- Add all combinations of traces of 3
-
11Solution Space (2)
- The combinations are sets of all possible
overlapping interleavings - Here we will consider overlapping interleavings
of just 2 traces - example
12Examples for oi2
- Example 1
- t1 (a-bc) t2 (x-a-b)
- oi2(t1, t2) (x-aa-bc)
- Example 2
- t3 (d-e) t4 (d-f)
- oi2(t1, t2) (d-e-f), (d-f-e)
- Question Why keep -aa?
- Answer Examples (CFB BC with busy and BC
CND with free)
13Pruning Simple Rules
- No useful behaviour is provided by
- consecutive announcement messages without an
intermediate input - tones and announcements after onhook
- The message t can be removed from traces
- Duplicate traces can be removed
- Example
14An Example
- gtgtgt printshort(fm("xxx",fiwtl,fiwtcs))
- These features interfere,finding resolution ...
- 0 (,offhook ,-)(-,announce,PIN? )(,dial,n
)(-,tau ) - 1 (,offhook ,-)(-,announce,PIN? )(,dial,n
)(-,announce,wrong PIN )(-,tau )(,onhook ,-) - 2 (,offhook ,-)(-,announce,PIN? )(,dial,n
)(-,announce,wrong PIN )(,onhook ,-)(-,tau ) - 3 (,offhook ,-)(-,announce,PIN? )(,dial,n
)(-,tau )(-,announce,wrong PIN )(,onhook ,-) - 4 (,offhook ,-)(-,announce,PIN? )(,dial,n
)(-,announce,screened )(,onhook ,-)(-,tau ) - 5 (,offhook ,-)(-,announce,PIN? )(,dial,n
)(-,announce,screened )(-,tau )(,onhook ,-) - 6 (,offhook ,-)(-,announce,PIN? )(,dial,n
)(-,tau )(-,announce,screened )(,onhook ,-) - 7 (,offhook ,-)(-,announce,PIN? )(,dial,n
)(-,announce,wrong PIN )(-,announce,screened ) - (,onhook ,-)(,onhook ,-)
- 8 (,offhook ,-)(-,announce,PIN? )(,dial,n
)(-,announce,wrong PIN )(,onhook ,-) - (-,announce,screened )(,onhook ,-)
- 9 (,offhook ,-)(-,announce,PIN? )(,dial,n
)(-,announce,screened )(-,announce,wrong PIN ) - (,onhook ,-)(,onhook ,-)
- 10 (,offhook ,-)(-,announce,PIN? )(,dial,n
)(-,announce,screened )(,onhook ,-) - (-,announce,wrong PIN )(,onhook ,-)
- 11 (,offhook ,-)(-,announce,PIN? )(,onhook
,-) - 12 (,offhook ,-)(-,tau )
15Open Questions and Next Steps
- We need to refine pruning
- What are bad resolutions?
- What is a/the best resolution?
- Is there always a best resolution?
- Can we combine construction and pruning?
- What is the complexity?
- How well does the approach scale up?
- Is an observable approach sufficient?
- Use Process Algebra?
- New Operator(s) for Construct and Prune
16Conclusion
17- Any Questions?
- References
- http//www.dcs.gla.ac.uk/research/hfig
- http//www.dcs.gla.ac.uk/sreiff
18Relations between Messages
- Name equivalent, event type and values are equal
-
- Equal , name equivalent and IO aspect are equal
- Inverses, name equivalent and IO aspect not equal
19A functional View of the FM
- The feature manager has to construct the solution
space and extract the best solution from it. - Definition Feature Manager
- Explain individual subfunctions
20Construct
21oi2
First(tj) denotes the first message in a trace.
22Overlapping Interleaving
23f() and int()