AIDA (a realm)

The AIDA is a realm corresponding tothe informative system of the customs.
It keeps track of the documentation exchanged with the customs during the various activities in the harbour, such as MMAs, A3s, ENSs, MRNs, and Customs Declarations.
In particular, it also records the approvals and refusals of submitted customs declarations.

Below, the static operation mkAIDA() is used to initialize the instance of class AIDA.
The various attributes of the class AIDA typed bu classes stereotyped by <<object>> introduced in the Object View represent the stored documents.
Each attribute has the cardinality equal to *, since it is assumed that more than one document per type will be stored.

The behaviour of the AIDA is described by the state machine on the right. At first, the realm is initialized (i.e. the various collections of stored document are set to {}).
Then, any time a addXXX trigger is detected, where XXX can be any document stored in AIDA, the effect is to include it to the proper document collection.
Moreover, approve and refuse triggers respectively refer to the approval or refusal of a customs declaration, having the effect of updating that customs declaration state.

AIDA