Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:2009:hekate_case_telco [2009/06/25 10:44] jsi08 |
pl:miw:2009:hekate_case_telco [2019/06/27 15:50] (aktualna) |
| |
* Plus | * Plus |
* Era | |
* Play | |
* Orange | |
| |
====== Meetings ====== | ====== Meetings ====== |
* Varda description [[hekate:bib:hekate_bibliography#gjn2008flairs-ardprolog]] | * Varda description [[hekate:bib:hekate_bibliography#gjn2008flairs-ardprolog]] |
| |
==== TODO ==== | |
<del>Learn VARDA modelling language by analysis of the [[hekate:hekate_case_thermostat]]</del> | |
| |
===== VARDA Installation ===== | ===== VARDA Installation ===== |
* Add the full path of the //Graphviz\bin// folder (should be appended to the value of the Path variable, preceded by a semicolon (;)) | * 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 ===== | ===== HQEd Installation ===== |
| |
Compillation according to the instructions available [[hekate:hqed|here]] was successfully conducted under Kubuntu 9.04 32-bit | Compillation according to the instructions available [[hekate:hqed|here]] was successfully conducted under Kubuntu 9.04 32-bit. |
| |
===== HJEd ===== | ===== HJEd ===== |
| |
* Use HJEd tool to build **ARD+** and **TPH** diagrams for **PlusGSM Case** | Use HJEd tool to build **ARD+** and **TPH** diagrams for **PlusGSM Case** |
| |
| |
===== Conceptualization ===== | ===== Conceptualization ===== |
==== PlusGSM - Taryfy Syberyjskie ==== | ==== Attributes ==== |
=== Original Rules === | === 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 ==== |
| |
<code> | <code> |
// Free calls and messaging | |
Rule: 1 | Rule: 1 |
if the tariff is ts_25 | if Hour is between 18 and 23 |
then free_calls_or_messages is 30 | or Hour is between 0 and 5 |
| then Daytime is night |
| |
Rule: 2 | Rule: 2 |
if the tariff is ts_40 | if Hour is between 6 and 17 |
then free_calls_or_messages is 60 | then Daytime is day |
| |
Rule: 3 | Rule: 3 |
if the tariff is ts_55 | if Day is mon |
then free_calls_or_messages is 90 | or Day is tue |
| or Day is wed |
| or Day is thu |
| or Day is fri |
| then Today is workday |
| |
Rule: 4 | Rule: 4 |
if the tariff is ts_75 | if Day is sat |
then free_calls_or_messages is 120 | or Day is sun |
| then Today is weekend |
| |
Rule: 5 | Rule: 5 |
if the tariff is ts_90 | if ServiceType is MMS |
then free_calls_or_messages is 150 | then Packets is None |
| |
Rule: 6 | Rule: 6 |
if the tariff is ts_120 | if ServiceType is SMS |
then free_calls_or_messages is 220 | then Packets is FreeSMS |
| |
// Base standing cahrges | |
Rule: 7 | Rule: 7 |
if the tariff is ts_25 | if ServiceType is CALL and Operator is not PLUS |
then base_standing_charge is 25 | then Packets is FA |
| |
Rule: 8 | Rule: 8 |
if the tariff is ts_40 | if ServiceType is CALL and Operator is PLUS and Today is weekend |
then base_standing_charge is 40 | then Packets is FWP;FP;FA |
| |
Rule: 9 | Rule: 9 |
if the tariff is ts_55 | if ServiceType is CALL and Operator is PLUS and Daytime is night |
then base_standing_charge is 55 | then Packets is FWP;FP;FA |
| |
Rule: 10 | Rule: 10 |
if the tariff is ts_75 | if ServiceType is CALL and Operator is PLUS and Today is not weekend and Daytime is not night |
then base_standing_charge is 75 | then Packets is FP;FA |
| |
Rule: 11 | Rule: 11 |
if the tariff is ts_90 | if Packets is None and Duration > 0 |
then base_standing_charge is 90 | then DurationToCover is Duration |
| |
Rule: 12 | Rule: 12 |
if the tariff is ts_120 | if Packets is FreeSMS and Duration > 0 and FS >= 0 |
then base_standing_charge is 120 | then DurationToCover is ((FS – Duration) * -1) |
| |
// Call and messaging charges | |
Rule: 13 | Rule: 13 |
sms_charge is 0,18 | if Packets is FA and Duration > 0 and FA >= 0 |
| then DurationToCover is ((FA – Duration) * -1) |
| |
Rule: 14 | Rule: 14 |
mms_charge is 0,40 | if Packets is FP;FA and Duration > 0 and FA >= 0 and FP >= 0 |
| then DurationToCover is (((FA+FP) – Duration) * -1) |
| |
Rule: 15 | Rule: 15 |
if the tariff is ts_25 | if Packets is FWP;FP;FA and Duration > 0 and FA >= 0 and FP >= 0 and FWP >= 0 |
or the tariff is ts_40 | then DurationToCover is (((FWP+FA+FP) – Duration) * -1) |
then call_charge is 0,58 | |
| |
Rule: 16 | Rule: 16 |
if the tariff is ts_55 | if ServiceType is MMS |
or the tariff is ts_75 | then Charge is (DurationToCover * 0.4) |
or the tariff is ts_90 | |
or the tariff is ts_120 | |
then call_charge is 0,48 | |
| |
Rule: 17 | Rule: 17 |
P4_call_charge is 0,72 | if ServiceType is SMS and DurationToCover > 0 |
| then Charge is (DurationToCover * 0.18) |
| |
// Additional packets | |
Rule: 18 | Rule: 18 |
if pakiet_wszyscy is active | if ServiceType is CALL and DurationToCover > 0 and Operator is P4 |
then extra_packets_charge is extra_packets_charge + 10 | then Charge is (DurationToCover * (0.72 / 60)) |
and | |
if the tariff is ts_25 | |
or the tariff is ts_40 | |
then pakiet_wszyscy is 30 | |
else if the tariff is ts_55 | |
or the tariff is ts_75 | |
then pakiet_wszyscy is 50 | |
else if the tariff is ts_90 | |
or the tariff is ts_12, | |
then pakiet_wszyscy is 70 | |
| |
Rule: 19 | Rule: 19 |
if pakiet_wszyscy_w_plusie is active | if ServiceType is CALL and DurationToCover > 0 and Operator is not P4 and (Tariff is TS25 or Tariff is TS40) |
then extra_packets_charge is extra_packets_charge + 10 | then Charge is (DurationToCover * (0.58 / 60) |
and | |
if the tariff is ts_25 | |
then pakiet_wszyscy_w_plusie is 30 | |
else if the tariff is ts_40 | |
then pakiet_wszyscy_w_plusie is 50 | |
if the tariff is ts_55 | |
then pakiet_wszyscy_w_plusie is 100 | |
else if the tariff is ts_75 | |
then pakiet_wszyscy_w_plusie is 200 | |
if the tariff is ts_90 | |
then pakiet_wszyscy_w_plusie is 400 | |
else if the tariff is ts_120 | |
then pakiet_wszyscy_w_plusie is 600 | |
| |
Rule: 20 | Rule: 20 |
if pakiet_wieczory_weekendy is active | 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 extra_packets_charge is extra_packets_charge + 10 | then Charge is (DurationToCover * (0.48 / 60) |
and | </code> |
if the tariff is ts_25 | |
then pakiet_wieczory_weekendy is 50 | |
else if the tariff is ts_40 | |
then pakiet_wieczory_weekendy is 100 | |
if the tariff is ts_55 | |
then pakiet_wieczory_weekendy is 200 | |
else if the tariff is ts_75 | |
then pakiet_wieczory_weekendy is 400 | |
if the tariff is ts_90 | |
then pakiet_wieczory_weekendy is 900 | |
else if the tariff is ts_120 | |
then pakiet_wieczory_weekendy is 1800 | |
| |
Rule: 21 | |
if pakiet_5_numerow is active | |
then extra_packets_charge is extra_packets_charge + 10 | |
and | |
if the tariff is ts_25 | |
then pakiet_5_numerow is 100 | |
else if the tariff is ts_40 | |
then pakiet_5_numerow is 200 | |
if the tariff is ts_55 | |
then pakiet_5_numerow is 400 | |
else if the tariff is ts_75 | |
then pakiet_5_numerow is 900 | |
if the tariff is ts_90 | |
then pakiet_5_numerow is 1800 | |
else if the tariff is ts_120 | |
then pakiet_5_numerow is 3500 | |
| |
Rule: 22 | |
if pakiet_wybrany_numer is active | |
then extra_packets_charge is extra_packets_charge + 10 | |
and | |
if the tariff is ts_25 | |
then pakiet_wybrany_numer is 200 | |
else if the tariff is ts_40 | |
then pakiet_wybrany_numer is 400 | |
if the tariff is ts_55 | |
then pakiet_wybrany_numer is 800 | |
else if the tariff is ts_75 | |
then pakiet_wybrany_numer is 2000 | |
if the tariff is ts_90 | |
then pakiet_wybrany_numer is 3500 | |
else if the tariff is ts_120 | |
then pakiet_wybrany_numer is 5000 | |
| |
//Payment | |
Rule: 23 | |
standing_charge is base_standing_charge + extra_packets_charge | |
| |
Rule: 24 | ===== Design ===== |
used_services_charge is messaging_charge + calls_charge + data_charge | |
| |
Rule: 25 | ==== ARD+ Diagram ==== |
payment is standing_charge + used_services_charge | {{:pl:miw:2009:hekate_case_telco:gsm2-ard.png|}} |
| |
//Uncategorized | |
| |
Rule: 26 | |
| |
//Services | |
| |
Rule: 27 | |
| |
| |
| |
| |
</code> | |
| |
=== TODO === | ==== TPH Diagram ==== |
* Further analysis of the tarrifs - write **rules** describing __services__ (phone calls, messaging, data transfer, etc.), <del>payment</del>, free and extra packets management | {{:pl:miw:2009:hekate_case_telco:gsm2-tph.png|}} |
* Corresponding **ARD** concept | |
| |
=== Drafts === | ==== XTT Diagram ==== |
**Revision 1:** | {{:pl:miw:2009:hekate_case_telco:gsm2-xtt.png|}} |
| |
{{:pl:miw:2009:hekate_case_telco:tphr1.png?800x900}} | ==== Logical Design ==== |
{{:pl:miw:2009:hekate_case_telco:ardr1.png?500x300}} | {{:pl:miw:2009:hekate_case_telco:xtt.png|}} |
| |
| ====== Project Files ====== |
| * [[hekate:hjed]] project {{:pl:miw:2009:hekate_case_telco:gsm2.xml|XML file}} |
| * Generated by [[hekate:hjed]] {{:pl:miw:2009:hekate_case_telco:gsm2.pl|PL file}} for [[hekate:varda]] usage |
| * Generated by [[hekate:varda]] {{:pl:miw:2009:hekate_case_telco:gsm2.xttml|XTTML file}} for [[hekate:hqed]] usage |
| * [[hekate:hqed]] project {{:pl:miw:2009:hekate_case_telco:gsm2u.xttml|HML file}} - due to wiki file restrictions please change the extension to **HML** after downloading the file |
| |
====== Documentation ====== | |
====== Presentation ====== | |
====== Materials ====== | ====== Materials ====== |
* Official Graphviz website http://www.graphviz.org/ | * Official Graphviz website http://www.graphviz.org/ |
* PlusGSM Taryfy Syberyjskie http://www.plus.pl/oferta_indywidualna/plus_abonament/taryfy/taryfy_syberyjskie/ | * PlusGSM Taryfy Syberyjskie http://www.plus.pl/oferta_indywidualna/plus_abonament/taryfy/taryfy_syberyjskie/ |