Models@runtime (models at runtime) are based on computation reflection. Runtime models can be regarded as a reflexive layer causally connected with the underlying system. Hence, every change in the runtime model involves a change in the reflected system, and vice versa. To the best of our knowledge, there are no runtime models for Python applications. Therefore, we propose a formal approach based on Petri Nets (PNs) to model, develop, and reconfigure Python applications at runtime. This framework is supported by a tool whose architecture consists of two modules connecting both the model and its execution. The proposed framework considers execution exceptions and allows users to monitor Python expressions at runtime. Additionally, the application behavior can be reconfigured by applying Graph Rewriting Rules (GRRs). A case study using Service-Level Agreement (SLA) violations is presented to illustrate our approach.
M. M. Bouhamed, G. Díaz, A. Chaoui, O. Kamel and R. Nouara. 2021. Models@Runtime: The Development and Re-Configuration Management of Python Applications Using Formal Methods. Applied Sciences, 11, 20 (October 2021), MDPI, 21. DOI: https://doi.org/10.3390/app11209743.
APA :
Bouhamed, M. M., Díaz, G., Chaoui, A., Kamel, O. & Nouara, R. (2021, October). Models@Runtime: The Development and Re-Configuration Management of Python Applications Using Formal Methods. Applied Sciences, 11(20), MDPI, 21. DOI: https://doi.org/10.3390/app11209743
IEEE :
M. M. Bouhamed, G. Díaz, A. Chaoui, O. Kamel and R. Nouara, "Models@Runtime: The Development and Re-Configuration Management of Python Applications Using Formal Methods". Applied Sciences, vol. 11, no. 20, MDPI, pp. 21, October, 2021. DOI: https://doi.org/10.3390/app11209743.
BibTeX :
@article{misc-lab-363, author = {Bouhamed, Mohammed Mounir and Díaz, Gregorio and Chaoui, Allaoua and Kamel, Oussama and Nouara, Radouane}, title = {Models@Runtime: The Development and Re-Configuration Management of Python Applications Using Formal Methods}, journal = {Applied Sciences}, volume = {11}, number = {20}, issn = {2076-3417}, pages = {21}, publisher = {MDPI}, year = {2021}, month = {October}, doi = {10.3390/app11209743}, url = {https://doi.org/10.3390/app11209743}, crossref = {https://doi.org/10.3390/app11209743}, keywords = {models@runtime, python application, petri nets, formal methods, graph rewriting rules, application re-configuration, application management} }
RIS :
TI - Models@Runtime: The Development and Re-Configuration Management of Python Applications Using Formal Methods AU - M. M. Bouhamed AU - G. Díaz AU - A. Chaoui AU - O. Kamel AU - R. Nouara PY - 2021 SN - 2076-3417 JO - Applied Sciences VL - 11 IS - 20 SP - 21 PB - MDPI AB - Models@runtime (models at runtime) are based on computation reflection. Runtime models can be regarded as a reflexive layer causally connected with the underlying system. Hence, every change in the runtime model involves a change in the reflected system, and vice versa. To the best of our knowledge, there are no runtime models for Python applications. Therefore, we propose a formal approach based on Petri Nets (PNs) to model, develop, and reconfigure Python applications at runtime. This framework is supported by a tool whose architecture consists of two modules connecting both the model and its execution. The proposed framework considers execution exceptions and allows users to monitor Python expressions at runtime. Additionally, the application behavior can be reconfigured by applying Graph Rewriting Rules (GRRs). A case study using Service-Level Agreement (SLA) violations is presented to illustrate our approach. KW - models@runtime KW - python application KW - petri nets KW - formal methods KW - graph rewriting rules KW - application re-configuration KW - application management DO - 10.3390/app11209743 UR - https://doi.org/10.3390/app11209743 ID - misc-lab-363 ER -