Aspect oriented ADL












Last update:

 April 05, 2010


A first paper resuming the main contributions of the AO4AADL language is submitted to the European Conference on Software Architecture (ECSA 2010, Copenhagen) as an emerging research paper.


    Sihem Loukil
    Route de la Soukra km 3.5
    B.P. W 1173 Sfax - Tunisia

    +216 74 666 578 



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.