Hekate Case Telco

Paweł Grzesiak, p2grzesiak@gmail.com

:!: Find, analyze, reverse engineer some telco billing/services systems. Model rules using the HeKatE process.

Examples:

  • Plus

Meetings

20090305

Problems

:?: :!: How to describe (ARD chart as well as original rules) services management - dependency between time, duration, payment and packets?

:?: :!: Concept of ARD diagram

Project

VARDA / ARD+ Research

Read available materials and documentation about VARDA and ARD+ which are to be found here:

VARDA Installation

Installation according to the instructions available here was successfully conducted on a machine running Microsoft® Windows Vista™ Business 64-bit.

The only problem to overcome was that the Windows installer available on the official Graphviz website http://www.graphviz.org/ does not add the folder where these tools are installed (e.g. C:\Program Files\Graphviz 2.21\bin) to the Windows %PATH% environmental variable so I could not run dot.exe directly from the command line.

The solution was as follows:

  • Right-click on My Computer | Properties | Advanced | Environment Variables
  • Find and edit the Path environmental variable in that dialog
  • Add the full path of the Graphviz\bin folder (should be appended to the value of the Path variable, preceded by a semicolon (;))

HQEd Installation

Compillation according to the instructions available here was successfully conducted under Kubuntu 9.04 32-bit.

HJEd

Use HJEd tool to build ARD+ and TPH diagrams for PlusGSM Case

Conceptualization

Attributes

Day

  • Type: symbolic
  • Description: Respresents day of week
  • Acceptable values:
    • mon for monday
    • tue for tuesday
    • wed for wednesday
    • thu for thurstday
    • fri for friday
    • sat for saturday
    • sun for sunday

Hour

  • Type: decimal
  • Description: Respresents full hour of start time of the service
  • Acceptable values:
    • 0 to 23 for 24h time format

Today

  • Type: symbolic
  • Description: Respresents type of the day
  • Possible values:
    • weekend
    • workday

Daytime

  • Type: symbolic
  • Description: Respresents part of the day
  • Possible values:
    • day
    • night

Operator

  • Type: symbolic
  • Description: Respresents operator of the receiver of the service
  • Possible values:
    • PLUS
    • P4
    • ERA
    • ORANGE

ServiceType

  • Type: symbolic
  • Description: Respresents type of the service
  • Possible values:
    • SMS
    • MMS
    • CALL

Duration

  • Type: decimal
  • Description: Respresents duration of the service (seconds for CALL / amount for MMS or SMS)
  • Possible values:
    • decimal >= 0 values

Tariff

  • Type: symbolic
  • Description: Respresents the tariff
  • Possible values:
    • TS25 for Taryfa Syberyjska 25
    • TS40 for Taryfa Syberyjska 40
    • TS55 for Taryfa Syberyjska 55
    • TS75 for Taryfa Syberyjska 75
    • TS90 for Taryfa Syberyjska 90
    • TS120 for Taryfa Syberyjska 120

Packets

  • Type: symbolic
  • Description: Respresents set of packets used to cover the service
  • Possible values:
    • FreeSMS for Free SMS Packet
    • FA for Free to All Packet
    • FWP for Free to All in Plus on Weekends and Evenings Packet
    • FP for Free to All in Plus Packet
    • None for no packet
    • any combinantion like FP+FA or FWP+FP+FA which indicates that more than one packet is capable of covering service cost

DurationToCover

  • Type: decimal
  • Description: Respresents part of the service that packets cannot cover and for which charge will be calculated
  • Possible values:
    • decimal >= 0 values

Charge

  • Type: decimal
  • Description: Respresents calcualted charge for the service
  • Possible values:
    • decimal >= 0 values

FA

  • Type: decimal
  • Description: Respresents amount of free calls (in seconds) for Free to All Packet
  • Possible values:
    • decimal >= 0 values

FS

  • Type: decimal
  • Description: Respresents amount of free messages for Free SMS Packet
  • Possible values:
    • decimal >= 0 values

FWP

  • Type: decimal
  • Description: Respresents amount of free calls (in seconds) for Free to All in Plus on Weekends and Evenings Packet
  • Possible values:
    • decimal >= 0 values

FP

  • Type: decimal
  • Description: Respresents amount of free calls (in seconds) for Free to All in Plus Packet
  • Possible values:
    • decimal >= 0 values

Rules

Rule: 1   
if 	Hour is between 18 and 23
or 	Hour is between 0 and 5    
then   	Daytime is night

Rule: 2   
if 	Hour is between 6 and 17
then   	Daytime is day

Rule: 3   
if    	Day is mon
or   	Day is tue
or   	Day is wed	
or   	Day is thu	
or   	Day is fri		
then   	Today is workday

Rule: 4   
if   	Day is sat	
or   	Day is sun		
then   	Today is weekend

Rule: 5   
if     	ServiceType is MMS
then   	Packets is None

Rule: 6   
if     	ServiceType is SMS
then   	Packets is FreeSMS

Rule: 7
if     	ServiceType is CALL and Operator is not PLUS
then	Packets is FA

Rule: 8   
if     	ServiceType is CALL and Operator is PLUS and Today is weekend
then	Packets is FWP;FP;FA

Rule: 9  
if     	ServiceType is CALL and Operator is PLUS and Daytime is night
then	Packets is FWP;FP;FA

Rule: 10   
if     	ServiceType is CALL and Operator is PLUS and Today is not weekend and Daytime is not night
then	Packets is FP;FA

Rule: 11 
if     	Packets is None and Duration > 0
then   	DurationToCover is Duration

Rule: 12   
if     	Packets is FreeSMS and Duration > 0 and FS >= 0
then   	DurationToCover is ((FS – Duration) * -1)

Rule: 13
if     	Packets is FA and Duration > 0 and FA >= 0
then   	DurationToCover is ((FA – Duration) * -1)

Rule: 14
if     	Packets is FP;FA and Duration > 0 and FA >= 0 and FP >= 0
then   	DurationToCover is (((FA+FP) – Duration) * -1)

Rule: 15
if     	Packets is FWP;FP;FA and Duration > 0 and FA >= 0 and FP >= 0 and FWP >= 0
then   	DurationToCover is (((FWP+FA+FP) – Duration) * -1)

Rule: 16
if	ServiceType is MMS
then	Charge is (DurationToCover * 0.4)

Rule: 17
if	ServiceType is SMS and DurationToCover > 0
then	Charge is (DurationToCover * 0.18)

Rule: 18
if	ServiceType is CALL and DurationToCover > 0 and Operator is P4
then	Charge is (DurationToCover * (0.72 / 60))

Rule: 19
if	ServiceType is CALL and DurationToCover > 0 and Operator is not P4 and (Tariff is TS25 or Tariff is TS40)
then	Charge is (DurationToCover * (0.58 / 60)

Rule: 20
if	ServiceType is CALL and DurationToCover > 0 and Operator is not P4 and (Tariff is TS55 or Tariff is TS75 or Tariff is TS90 or Tariff is TS120)
then	Charge is (DurationToCover * (0.48 / 60)

Design

ARD+ Diagram

TPH Diagram

XTT Diagram

Logical Design

Project Files

Materials

pl/miw/2009/hekate_case_telco.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0