AO4AADL
Aspect Oriented Extension for AADL
Automated Teller Machine:
An Automated Teller Machine (ATM) or Automatic Banking Machine (ABM) is a computerised telecommunications device that allows the customers to access their bank accounts in order to make cash withdrawals (or credit card cash advances) and check their account balances as well as purchase cellphone prepaid credit. On most modern ATMs, the customer is identified by inserting a plastic ATM card with a magnetic stripe or a plastic smart card with a chip, that contains a unique card number (NumCard) and some security information such as an expiration date or CVVC (Card Verification Value Code). Authentication is provided by the customer entering a personal identification number (Code)
The AADL Specifications is available in the following links: [Text, Graphic]
The following file [CheckCode.ao4aadl] shows an example of an aspect code, called CheckCode, described in AO4AADL. This aspect specifies that the client has exactly three authentication attempts. Every time he enters an incorrect code, the system prompts for the code again. If it reaches the third time, the card will be rejected by the system and an explanatory message is displayed to the customer. For this purpose, we precise in the pointcut expression that we intercept through this aspect the outport RestoreCode_out called by the thread ValidationThread.
An aspectJ aspect [CheckCode.aj] is manually generated based on the defined transformation rules.