hybrid techniques for detecting and resolving feature interactions in telecommunication services

23
Stephan Reiff University of Glasgow http://www.dcs.gla.ac.uk/~sreiff [email protected] Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services Resolution Choices for an Online Feature Manager FIW’00: Glasgow, 16 -19 May 2000

Upload: sanne

Post on 02-Feb-2016

25 views

Category:

Documents


0 download

DESCRIPTION

Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services. Resolution Choices for an Online Feature Manager. FIW’00: Glasgow, 16 -19 May 2000. Stephan Reiff University of Glasgow http://www.dcs.gla.ac.uk/~sreiff [email protected]. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

Stephan ReiffUniversity of Glasgowhttp://www.dcs.gla.ac.uk/~sreiff

[email protected]

Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

Resolution Choices for an Online Feature Manager

FIW’00: Glasgow, 16 -19 May 2000

Page 2: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [2]

Work, 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/

Page 3: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [3]

Overview

• Motivation and Background

• The Hybrid Approach

• Definitions

• Feature Interference

• The Feature Manager

• Solution Space

• Open Questions and Further Work

Page 4: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [4]

Motivation 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 Magill’s approach

• Hybrid?Use offline analysis to find general rules ...

… to control online feature manager

Page 5: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [5]

Example Features (1)

(i_alert, a, b, -)

(forward_call, id, n, a)

Call ForwardingUnconditional

(dial, id, id, n)

(announce, id, id, "screened")

(onhook, id, id, -)

Terminating CallScreening

(forward_call, id, n, a)

(o_inform, id, a,"Call Forwarded")

Inform about Forwarding

(offhook, id, id, -)

(announce, id, id, "PIN?")

(onhook, id, id, -)

Teenline

(dial, id, id, n)

(announce, id, id, "wrong PIN")

(onhook, id, id, -)

Page 6: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [6]

Definitions• 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]

Page 7: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [7]

Example 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,-)]]

Page 8: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [8]

Definition: Feature Interference

n features F1…Fn with alphabets 1…n interfere iff

In words: Features interfere iff they have either a common input message or one feature’s output message is the other features input message.

Feature Interference

)) :((

))(),1((:,

bajbia

jinjiji

Page 9: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [9]

Resolution Process

Terminating Call Screening:

{(+,dial,n)(-,announce,screened) (+,onhook,-); (+,dial,n)(-,tau)}

Teenline:

{(+,offhook,-)(-,announce, PIN?)(+,onhook,-); (+,offhook,-)(-,tau); (+,offhook,-)(-,announce,PIN?) (+,dial,n)(-,tau); (+,offhook,-)(-,announce,PIN?) (+,dial,n)(-,announce,wrongPIN) (+,onhook,-)}

GENERAL RULES

1) Announcement messages that occur after eachother in a trace without an input messageinbetween do not provide any meaningfulbehaviour to the user.2) Tones and announcements played to a userafter an onhook is received will never be received.3) The unobservable message tau can be removedfrom traces.4) Duplicates of traces can be removed

PRUNING

apply rule 1 ...... to remove traces 7 and 9.

apply rule 2 ...... to remove traces 8 and 10.

apply rule 3 ......to traces 4, 5 and 6.

apply rule 3 ...... to t races 1, 2 and 3.

apply rule 4 ...... and remove traces 1, 2, 3 (= 13)

apply rule 4 ...... and remove traces 4 and 5 (= 6)

CONSTRUCT

Example overlappinginterleaving:

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)13: (+,offhook,-)(-,announce,PIN?) (+,dial,n)(-,announce,wrong PIN) (+,onhook,-)14: (+,dial,n)(-,tau)15: (+,dial,n)(-,announce,screened) ( +,onhook,-)

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)13: (+,offhook,-)(-,announce,PIN?) (+,dial,n)(-,announce,wrong PIN) (+,onhook,-)14: (+,dial,n)(-,tau)15: (+,dial,n)(-,announce,screened) ( +,onhook,-)

Output Input

Feature Manager

Generated inOffline Phase

from Scenarios

)) , ( (

) , (16

1, ,

ik TCSj TLt t OverlapTCSTL

TCSTL Construct

k,-) -)(+,onhoo(+,onhook,

d) ce,screene)(-,announ e,wrongPIN(-,announc

k,-) -)(+,onhoo(+,onhook,

N) ce,wrongPI)(-,announe,screened (-,announc

,-) )(+,onhook e,wrongPIN(-,announc

,-) )(+,onhooke,screened (-,announc

,-) )(+,onhooke,screened (-,announc

,-) )(+,onhook e,wrongPIN(-,announc

dial PIN announce offhook

dial TL TCS f

,-)) )(+,onhook e,wrongPIN(-,announc

k,-) d)(+,onhooce,screene((-,announ

TL TCS f

PIN announce offhook concatt

TL TCSoi t

-) (+,onhook,

) e,wrongPIN(-,announc(+,dial,n)

unce,PIN?),-)(-,anno (+,offhookTL

-) (+,onhook,

) e,screened (-,announc(+,dial,n)TCS

,

,

: endings theand

) , ?)( , )( , (

prefix common with the t, traces different 4

obtain we hence values, diffreent 4 return can int

) , ( )) , , 1, 1(

, int

)), , , 1, 1(

?), , )( , ((

) , ( 2

4 1

4 1

4 1

4

1

)),((

),(16

1,,

ikTCSjTL ttOverlapTCSTL

TCSTLConstruct

k,-)-)(+,onhoo(+,onhook,

d)ce,screene)(-,announe,wrongPIN(-,announc

k,-)-)(+,onhoo(+,onhook,

N)ce,wrongPI)(-,announe,screened(-,announc

,-))(+,onhooke,wrongPIN(-,announc

,-))(+,onhooke,screened(-,announc

,-))(+,onhooke,screened(-,announc

,-))(+,onhooke,wrongPIN(-,announc

dialPINannounceoffhook

dialTLTCSf

,-)))(+,onhooke,wrongPIN(-,announc

k,-)d)(+,onhooce,screene((-,announ

TLTCSf

PINannounceoffhookconcatt

TLTCSoit

-)(+,onhook,

)e,wrongPIN(-,announc(+,dial,n)

unce,PIN?),-)(-,anno(+,offhookTL

-)(+,onhook,

)e,screened(-,announc(+,dial,n)TCS

,

,

:endings theand

),?)(,)(,(

prefix common with the t,tracesdifferent 4

obtain wehence values,diffreent 4return can int

),()),,1,1(

,int

)),,,1,1(

?),,)(,((

),(2

41

41

41

4

1

Page 10: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [10]

Solution 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 …

– …

f1 f2 f3 f1 f2 f3 f1 f2 f3

f2 f3 f1 f2f1 f3 f2 f3 f1 f2f1 f3

f3 f3 f2f2 f1f1

Page 11: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [11]

Solution Space (2)

• The combinations are sets of all possible overlapping interleavings

• Here we will consider overlapping interleavings of just 2 traces

• [example]

a

b

a 1

b 1

a j a n

b i b i+j-1 b m

Prefix

b i-1

oi2(a,b) b 1 b i-1 intf

Page 12: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [12]

Examples for oi2• Example 1:

t1 = {(+a-b+c)} t2 = {(+x-a-b)}

oi2(t1, t2) = {(+x-a+a-b+c)}• Example 2:

t3 = {(+d-e)} t4 = {(+d-f)}

oi2(t1, t2) = {(+d-e-f), (+d-f-e)}

• [Question: Why keep -a+a?]• [Answer: Examples (CFB + BC with busy and BC + CND with free)]

Page 13: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [13]

Pruning: Simple Rules

• No useful behaviour is provided by:– consecutive announcement messages without an

intermediate input– tones and announcements after onhook

• The message can be removed from traces

• Duplicate traces can be removed

• [Example]

Page 14: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [14]

An Example>>> 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 ) 13 : (+,offhook ,-)(-,announce,PIN? )(+,dial,n )(-,announce,wrong PIN )(+,onhook ,-) 14 : (+,dial,n )(-,tau ) 15 : (+,dial,n )(-,announce,screened )(+,onhook ,-)

Page 15: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [15]

Open 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

Page 16: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [16]

Conclusion

model

theoryof

interactions

componentslegacyswitch

featuremanager

componentslegacyswitch

featuremanager

Page 17: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [17]

Any Questions?

References:

http://www.dcs.gla.ac.uk/research/hfig

http://www.dcs.gla.ac.uk/˜sreiff

Page 18: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [18]

Relations 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

ba

ba

ba

Page 19: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [19]

A 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]

otherwise

interfere ... if

)))),...(Extract

)))),...(Construct(Prune(Extract

)...,( 1

1

1

1n

n

n

n

FF

eFF

eFF

FFeFM

Page 20: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [20]

Construct

!**...*

11

11

111

1

),...,()...(

)...(

)...()...()...(

nFF

ihkgjn

n

iin

nnn

n

ttoverlapFFMultF

FFFSingF

FFMultFFFSingFFFConstruct

}F.. {k}F..{j ..n}{g,h hg hg 1 and 1 and 1 and

:conditions following theassume We

Page 21: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [21]

oi2

otherwisettT

tFirstaaaattoi ji

),(

)(),:({}),(2

21

21

maximal. is T s.th.

} and of nginterleavi goverlappin an is |{Let

. and 21 and minimal be Let

2121 tttt),tT(t

jii,ji

First(tj) denotes the first message in a trace.

Page 22: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [22]

Overlapping Interleaving

))...,...int(),,,,(,...( 111 mijnji bbaabajifbbconcatt

iff and of nginterleavi goverlappin an is traceA

:

21 ttt

Definition

prefix. that of length thebeLet

. in occuring ofprefix longest theof occurencefirst thebe Let

sequences. ingconcatenat functiona beconcat Let

.for and for substitute We 2111

j

bai

t...bbt...aaa mn

Page 23: Hybrid Techniques for Detecting and Resolving Feature Interactions in Telecommunication Services

FIW’00 : Glasgow, 16 -19 May 2000 [23]

f() and int()

messageoutput an is

and if),),,,1,((

messageoutput an is

and if),),,,1,((

if)),,,1,((

),,,(

if

if),,1,(

1

1111

1

1111

111

11

1

y-x

yxyyyx

y-

yxyyxy

yxyy

xx

xx

b

baabbayxfconcat

a

bababayxfconcat

baabayxfconcat

bayxf

baab

babbaxf

elements. theoforder relative thepreserves which*

, *

, is length whose*

1

1

)sa ... s(aS)a:(a

s

n

n

ii

S

s, ..., s ,...,ss),...,s(s nnn

sequencenew a is

ly,respective length with sequences of nginterleavi an ,int 111