4.4 AADL Model Manipulation Support
This section discusses three forms of AADL model manipulation:
    • Recording of plug-in processing results as AADL property values in the model being processed; the declarative AADL model or the AADL instance model is not modified other than by associating AADL property values to AADL model objects.
    • Modification of the model being processed or creation of a new model; a declarative AADL model or an AADL instance model is manipulated directly and the modifications will result in any listener of the model to be notified of the changes. Deep- copy methods provide for cloning of models in order to support what-if processing based on changed models.
    • Modification of the model through EMF generated edit commands; a declarative AADL model or an AADL instance model is manipulated through undoable commands and the command history support reversing the model changes. Model listeners are notified of model changes—as above. The command-based model modification provides for a more incremental form of what-if processing of models.