In the Adaptive Object-Model (AOM) architectural style, user-defined domain entities and their relationships, attributes and behavior are described by externally stored metadata. AOM implementations reify the domain entities at runtime by interpreting the metadata. Users change the object model by editing the metadata to reflect changes in the domain. This paper describes a pattern for incorporating model changes into an AOM production system without taking the system off-line. Dynamic evolution of the object model is done during loading of a domain object. The Dynamic Model Evolution pattern is applicable when a system needs to keep running, and the alternative of updating the entire object model at the time a new version comes online is too time consuming to be a practical option.
['Atzmon Hen-Tov', 'David H. Lorenz', 'Lena Nikolaev', 'Lior Schachter', 'Rebecca Wirfs-Brock', 'Joseph W. Yoder']
Dynamic model evolution