(The following text is extracted from my PhD Dissertation, 2017)
Traditionally, a software model is an abstraction of a system, often associated with design-time activities such as documentation and analysis. Unfortunately, models at design time might get lost in the documentation of the system, becoming obsolete over time as the software and its relevant elements change. Models at runtime (MART) provide up-to-date information about the system and its environment and can be manipulated and adapted at execution time [BBF09]. More importantly, MARTs are fundamental to support dynamic reflection.
A key aspect of a Cyber-Physical-Human Systems (CPHSs) is to understand users’ changing situations, therefore by providing and exploiting MARTs, the system is capable of representing, monitoring, and exploiting context effectively. Early denitions of the MART notion are based on the expectations on the model during the execution of the system. [BBI13] [MBJ+09] [BBF09]
The evolution of the denition of a MART has rened the expectations on the model by exposing four important properties: (1) representation, a MART represents the system’s complete environment, possibly more than one MART per system; (2) availability, a MART is accessible at runtime by the system; (3) causal connectivity, a MART and the system must be causally connected; and (4) evolution, a MART might evolve at runtime.
References
[BBF09] G. Blair, N. Bencomo, and R. B. France. Models@Run.Time. IEEE Computer, 42(10):22{27, 2009.
[MBJ+09] B. Morin, O. Barais, J.-M. Jezequel, F. Fleurey, and A. Solberg. Models@ Run.Time To Support Dynamic Adaptation. IEEE Computer, 42(10):44{51, 2009
[BBI13] N. Bencomo, A. Belaggoun, and V. Issarny. Dynamic Decision Networks for Decision-making in Self-adaptive Systems: A Case Study. In Pro-
ceedings of the 8th ACM/IEEE International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2013), pages 113{122. IEEE, 2013.