Based on these concepts, we identify a set of architectural patterns to be implemented by the components of a MCA-based system:
The modeling tool pattern describes the means used by the model authors to create and manipulate models according to the given DSML; such tools are driven by given DSML’s meta-model describing; they can be either custom built or generated using an existing meta-modeling framework.
The model transfer interface pattern describes components responsible for transferring models to runtime components.
The model adapterpattern describes components transforming the transferred models into the format understood by the rest of the system.
The model storage pattern and model storage manager pattern describe components enabling model persistence; the former describes the storage itself, the latter describes the runtime component responsible for accessing this storage.
The data adapter pattern describes those components that use models to drive the conversion of external data into the internal (system standard) representation.
The model consumer pattern describes the components which use the adapted models to provide the functionality of the MCA-based solution.