• enteredPin - a PIN number that has been entered by user.
  • correctPIN - a PIN number that is stored on the card.
  • authorized - indicates if the user has entered the correct PIN.
  • userAccountAmount - the amount of the free founds on the user account.
  • cashPointAmount - the amount of the founds that are available in a cashpoint.
  • failedAttempts - the number of failed attempts to authorization.
  • requestedAction - the operation that user want to execute.
  • cashPointActivity - the final operation invoked by cashpoint.


  • enteredPinauthorized
  • correctPINauthorized
  • enteredPinfailedAttempts
  • correctPINfailedAttempts
  • authorizedcashPointActivity
  • userAccountAmountcashPointActivity
  • cashPointAmountcashPointActivity
  • failedAttemptscashPointActivity
  • requestedActioncashPointActivity

Original Rules


Sometimes, a value of some attribute depends on a relation between two attributes. In case of cashpoint system such situation can also be identified:
The system requires a comparison between the PIN number that has been entered by the user and the PIN number that is stored on the card in order to check if the user has entered a correct PIN. Having three attributes: enteredPIN, correctPIN and authorized we can simply compare the first two and depending on a result, we can set a value of the third one:

  • if enteredPIN = correctPIN then authorized := true;
  • if enteredPINcorrectPIN then authorized := false;

The XTT method does not allow to direct comparison between two attributes within conditional part of a rule. So, you cannot create the rules presented above. If you want to compare the values of two attributes you have to introduce a third, supplementary attribute that will hold the value, which corresponds to the result of the comparison. Then, depending on the value of this (supplementary) attribute, the further decisions can be taken.
I.E. According to rules presented above, we can introduce a new attribute pidDifference, which will hold the value of subtraction of the attributes enteredPIN and correctPIN. So, those two rules can replaced with:

  • if enteredPINnull and correctPINnull then pidDifference := enteredPIN - correctPIN;
  • if pidDifference = 0 then authorized := true;
  • if pidDifference ≠ 0 then authorized := false;
hekate/cases/hekate_case_cashpoint/conceptualization.txt · Last modified: 2019/06/27 15:49 (external edit) Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0