formal approaches for detecting feature interactions, their experimental results, and application to...
TRANSCRIPT
![Page 1: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/1.jpg)
Formal Approaches for Detecting Formal Approaches for Detecting Feature Interactions, Their ExperiFeature Interactions, Their Experimental Results, and Application to mental Results, and Application to
VoIPVoIP
T. Yoneda, S. Kawauchi, T. Yoneda, S. Kawauchi,
J. Yoshida and T. OhtaJ. Yoshida and T. Ohta
SOKA UniversitySOKA University
![Page 2: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/2.jpg)
Contents
1. Background and Problems2. Problems and Their Solutions
- Terminal Assignments- Reachability Test- Static Detection Algorithm
3. Implementation and Evaluations4. Application to VoIP
![Page 3: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/3.jpg)
Background
Explosion in computation time for detecting feature interactions
Coverage and Redundancy in detecting feature interactions
Dynamic Detection: Detecting interactions by executing service specifications.
●
Static Detection: Detecting interactions solely by analyzing service specifications
●
![Page 4: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/4.jpg)
Problems in Static Detection
InputSpec.
Reach-abilityTest
Detection ofInteractions
Static Detection System
Det.FIs
Comb. of Spec.
TerminalAssignments
Prob. 1 Prob. 2 Prob. 3
Generation of Testing Objects
Filtering Formal Detection
![Page 5: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/5.jpg)
Contents
1. Background and Problems2. Problems and Their Solutions
- Terminal Assignments- Reachability Test- Static Detection Algorithm
3. Implementation and Evaluations4. Application to VoIP
![Page 6: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/6.jpg)
Specification Description Language STR:State Transition Rule
Rule application : Precondition exists in the current system state
Pre-cond. Event: Post-cond.Form :
Specification is represented as a set of STR rules
Next System State
Post-cond.
Delete Add
Event
Current System State
Pre-cond.
Pre-cond. and Post-cond. are represented as a set of primitives.
State change:
![Page 7: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/7.jpg)
Terminal is described as a variable in rules. Terminal Assignments
To detect FIs, real terminals are assigned to variables.
Ex. :m-cfv(ya,za), dialtone(xa), idle(za)
m-cfv(B,C), dialtone(A), idle(C)
m-ocs(xb,yb), dialtone(xb), idle(yb)
m-ocs(A,C), dialtone(A), idle(C)
![Page 8: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/8.jpg)
Problems so far
Explosive computation time with all assignmentsLow coverage with reduced assignments
It was not clear how to assign real terminals to terminal variables.
Proposal of terminal assignment method, whereunnecessary terminal assignments are deleted.
![Page 9: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/9.jpg)
Basic Idea for Terminal AssignmentNo terminals belong to both services: no feature interactions If a terminal belongs to both services, feature interactions may occur.
A terminal belongs to both services: xa for service A, xb for service B xa=xb=terminal P
Combination of variables: a set of pairs of variables to which the same real terminals are assigned
Different terminal assignments to the same combination of variable gives equivalent states, the same state with different terminal names.
![Page 10: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/10.jpg)
Equivalent States
zaxa
ya
xb yb
xa=xb, za=yb
Combination of variables are the same.Terminal assignments are different.
Equiv. States
A B C
xa ya za
xb yb
Case 1
D B E
xa ya za
xb yb
Case 2
CA
B
State 1
ED
B
State 2
Service a
Service b
![Page 11: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/11.jpg)
Basic Idea for Terminal AssignmentNo terminals belong to both services: no feature interactions If a terminal belongs to both services, feature interactions may occur.
A terminal belongs to both services: xa for service A, xb for service B xa=xb=terminal P
Combination of variables: a set of pairs of variables to which the same real terminals are assigned
Different terminal assignments to the same combination of variable gives equivalent states, the same state with different terminal names.
Interactions caused in equivalent states are equivalent interactions.
One terminal assignment to one combination of variables.Consider only different combination of variables.
![Page 12: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/12.jpg)
The number of combinations of variables
Service A Var. 1 Var.2 Var.3 : na
Var.4Var. 1 Var.2 Var.3 Service Bnb
t
ΣN = t=1
t=na
A B C D EReal terminals ・・・
The number of all terminal assignments:
nTPna × nTP nb Here nT =na + nb
When na=nb=3, N=33
14400
nbPtnaCt ×
(na nb)≧
![Page 13: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/13.jpg)
Effects of Deleting Equiv. Term. Assign.The number of terminal assignments for a
service pair which have 3 term. variables.
0
500,000
1,000,000
1,500,000
2,000,000
6 7 8 9 10 11 12Num. of real terminals
Num of real ter. 6 7 8 9 10 11 12 ... 100(a) 14,400 44,100 112,896 254,016 518,400 980,100 1,742,400 ... 941,288,040,000(b) 33 33 33 33 33 33 33 33
(a) Before deletion(b) After deletion
The numberof terminalassignments
![Page 14: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/14.jpg)
Problem 2
Reachability Test
![Page 15: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/15.jpg)
New Method
Generating states
P-invariant in Petri-Net
Require much time
Using knowledge which can be obtained easily
Conventional
New Proposal
![Page 16: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/16.jpg)
Illegal Combinations of PrimitivesEx. {dialtone(x),idle(x)} 【 POTS 】
【 POTS 】【 service a 】
{idle,dialtone},{dialtone,talk},…
union
Knowledge
【 service b 】
Ex. {dialtone(x),cw-calling(x,y)} 【 service i 】considering only service i and POTS
Generating Knowledge for reachability test for combined service of service a and service b
![Page 17: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/17.jpg)
Problem 3
Static Detection Algorithm of Feature Interactions
![Page 18: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/18.jpg)
Classification of Interactions
Logical Int. : can be identified by State Transition Diagrams
Semantic Int. : can be identified by meaning of State Transition
Occurrence of abnormal state/transitionDisappearence of normal state/transition
? ?ek
ei ej
Non-determinacy, Dead lock, Live lock
Non-determinacyek
?
?
ei ej
Classification based on FSM Model
![Page 19: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/19.jpg)
Static Detection AlgorithmPre-cond Event : Post-cond
rule for service a
rule for service b
rac ranea
rbc rbneb
:
:
→can be judged solely by specifications
Event
Current State Next State
State for service a
rac ran
rbc
ea
State for service b
JudgingFormula
{(ea≠eb)∧[{(rbc - rac ) ∪ ran} ( rbc Δ∪ rac)] ∨{(ea = eb)∧[{(rbc - rac )∪ ran (rbn Δ∪ rac)}
∨ {(rac-ran) (rbc-rbn)}]⊇
⊇
⊇:
![Page 20: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/20.jpg)
Contents
1. Background and Problems2. Problems and Their Solutions
- Terminal Assignments- Reachability Test- Static Detection Algorithm
3. Implementation and Evaluations4. Application to VoIP
![Page 21: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/21.jpg)
Evaluation Items
As close as possible to 100 % Coverage:
Redundancy: Detecting what is not actually interaction
Detection time:
●
●
●
![Page 22: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/22.jpg)
Bench Mark
FIW98 contest results published in 2000
12 services: CFBL, CND, INFB, INFR, INTL, TCS, TWC, INCF, CW, INCC, RC, CELL
FIW2000 contest results could not used because of lack in detailed information:scenario where interactions occur.
![Page 23: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/23.jpg)
Detection System
Terminal assignments
KnowledgeData Base
Paring specifications
SpecificationsKnowledge
Interactions
Reachability tests
Interaction detection
![Page 24: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/24.jpg)
Coverage and Redundancy
The number of interactions detected: 2,650
Including all interactions described in the bench mark
No redundancies: miss detection, duplicated detection
![Page 25: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/25.jpg)
Filtering Effects
1.E+001.E+011.E+021.E+031.E+041.E+051.E+061.E+071.E+08
cfbl
cnd
infb
infr
intl
tcs
twc
incf cw incc rc cell
The number of testing subjects
reduced to 0.4 % by deleting equiv. term. assignments and reduced to 0.07 % after reachability test.
:Before
:equi. t.
:reach. t.
![Page 26: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/26.jpg)
Detecting Time
Mean time for one pair of services: 17.7 sec. ●
020406080
100120140160180
0 20 40 60 80Service pair number
sec
Av,: 17.7(sec)
Detecting Time
TWC&TWC
TWC&CW
Total time for 12 services: 23 min. ●
![Page 27: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/27.jpg)
Evaluations
Coverage: 100% based on the bench mark●
● Redundancy: no redundancies
● Detection time: 17.7 sec. ; mean time for a pair of services
Effective detection system
![Page 28: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/28.jpg)
Contents
1. Background and Problems2. Problems and Their Solutions
- Terminal Assignments- Reachability Test
3. Implementation and Evaluations4. Application to VoIP
![Page 29: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/29.jpg)
Active Network for VoIP
ActiveGK
ActiveGK
IP Tel.IP Tel. PC IP Tel.
Validationserver
deliver
upload
User terminal User terminal
PSTN
GW
PSTN
GW
upload
![Page 30: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/30.jpg)
Experimental System Structure for Validation Server
Validation Server
Web serverWeb server
FI Detection
Part
FI Detection
Part
Deliveringuser
programs
Deliveringuser
programs
Receiving user programsReceiving user programs
User terminal
ActiveGK
ActiveGK
Uploadingprograms
![Page 31: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/31.jpg)
Future Work• Interaction resolution algorithm
– for selecting interactions
to be resolved actually
– for automatic resolution or assisting resolution
• Application to other than telephone services
– Home network
– Ado-hoc network
– Data base system
– …
![Page 32: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/32.jpg)
Thank you for your kind attentions.
![Page 33: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/33.jpg)
ESTR(2)
Pre-condition event
Post-condition:
Syntax:
Pre-condition: conditions for state transitionevent: triger for state transitionPost-condition: state after transitionAction: procedure accompanied by state transition
Example; idle(x) setup(x,y): w-alert(y,x), {Send(setup,x,y)} Example; idle(x) setup(x,y): w-alert(y,x), {Send(setup,x,y)}
action, { }
( send a signal, retrieve database, and so on)
![Page 34: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/34.jpg)
Example for ESTR Description idle(x) arq(x): w-setup(x),{Send(acf,x)}w-setup(x) setup(x,y): w-arq(y,x),{Send(setup,x,y)}w-arq(y,x) arq(y,x): w-proc(y,x),{Send(acf,y)}w-proc(y,x) proc(y,x): w-alert(y,x),{Send(proc,y,x)}w-alert(y,x) alert(y,x): w-conn(y,x),{Send(alert,y,x)}w-conn(y,x) conn(y,x): talk(x,y),{Send(conn,y,x)}talk(x,y) disc(x,y): w-release(y,x),{Send(disc,x,y)}talk(x,y) disc(y,x): w-release(x,y),{Send(disc,y,x)}w-release(y,x) release(y,x): w-release_conf(x), w-drq(y),{Send(release,y,x)}w-release_conf(x) release_conf(x): w-drq(x),{}
![Page 35: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/35.jpg)
Structure of Active GK
Input of signal
Rule selection
Actions execution
EE
Network platform provided by a vendor
Active GK
Ruledatabase
User Programs
![Page 36: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/36.jpg)
Example for Interaction
Interaction
dial(A,B)
CA
B B
CA
Reject C
Forward to C
CFV Service
OCSService
Interaction between CFV and OCS
<Current State> <Event> <Next State>
dialtone Calling
Forward to C
Reject C
![Page 37: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/37.jpg)
Comparison with Nakamura’s Method
1
10
100
1000
10000
100000
CW CFV OCS TCS DO DT DC
(Unit)
Nakamura’s MethodProposed Method
●
Detection Time
Detection Time
Can be reduced to 1 60th
DT: reject all terminating callDO: reject all originating callDC: direct call (hot line)
![Page 38: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/38.jpg)
Deleting Equivalent Terminal Assignments
One set of terminal assignment to a combination of terminal variables to which the same terminals are assigned, respectively
A B C
xa ya za
xb yb
A B C
xa ya za
xb yb
A B C
xa ya za
xb yb
D…
ΣkaPt×kbCtt=0
ka
( ka≤ kb )
g: The number of real terminals to be assignedka,kb : The number of terminal variables in service a and b, repectivelyt: The number of pairs of terminal variables to be assigned the same terminals
gPka×gPkb
Deleting equivalent terminal assignments
The number of all terminal assignments
Terminal assignments after deleting equivalent ones:
![Page 39: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta](https://reader030.vdocument.in/reader030/viewer/2022032702/56649f415503460f94c60f51/html5/thumbnails/39.jpg)
Static Detection AlgorithmPre-cond Event : Post-cond
rule for service a
rule for service b
rac ranea
rbc rbneb
:
:
JudgingFormula
→can be judged solely by specifications
{(ea≠eb)∧[{(rac∪rbc) - rac }∪ ran rbc Δ∪ rac}] ∨{(ea = eb)∧[{(rac∪rbc) - rac }∪ {ran (rbn Δ∪ rac)}
∨ {(rac-ran)∪ (ran rbc-rbn)}]⊇
⊇
⊇
Event
Current State Next State
State for service a
rac ran
rbc
ea
State for service b
: