journal article·2021-10-19Open access

Models@Runtime: The Development and Re-Configuration Management of Python Applications Using Formal Methods

Mohammed Mounir Bouhamed, Gregorio Díaz, Allaoua Chaoui, Oussama Kamel, Radouane Nouara

Applied Sciences· Volume 11· Issue 20

Abstract

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.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Model-Driven Software Engineering Techniques · Advanced Software Engineering Methodologies · Service-Oriented Architecture and Web Services

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

MISC Laboratory, Department of Computer Science and Its Applications, University Constantine 2 Abdelhamid Mehri, Constantine 25016, Algeria

Instituto de Investigación en Informática, Universidad de Castilla-La Mancha, 02071 Albacete, Spain

Faculty of Medicine, University Constantine 3 Salah Boubnider, Constantine 25016, Algeria

Funding

Ministerio de Ciencia, Innovación y Universidades, Spain · European Union · Regional Government of Castile-La Mancha · University of Castilla-La Mancha · Algerian Ministry of Higher Education and Scientific Research

References (35)

Show source-provided references
1. Meyrowitz, N.K. (1987, January 4–8). Concepts and Experiments in Computational Reflection. Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA’87), Orlando, FL, USA.
2. The evolution of the laws of software evolution: A discussion based on a systematic literature review10.1145/2543581.2543595 ↗
3. PAMELA: An annotation-based Java Modeling Framework10.1016/j.scico.2021.102668 ↗
4. Grand challenges in model-driven engineering: An analysis of the state of the research10.1007/s10270-019-00773-6 ↗
5. Brand, T., and Giese, H. (2018). Towards software architecture runtime models for continuous adaptive monitoring. MODELS Workshops, CEUR. Available online: http://ceur-ws.org/Vol-2245/mrt_paper_4.pdf.
6. Kessentini, M., Yue, T., Pretschner, A., Voss, S., and Burgueño, L. (2019, January 15–20). Modeling Approach and Evaluation Criteria for Adaptable Architectural Runtime Model Instances. Proceedings of the 22nd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2019, Munich, Germany.
7. Heuristics-based mediation for building smart architectures at run-time10.1016/j.csi.2020.103501 ↗
8. Run-time interpretation of information system application models in mobile cloud environments10.2298/CSIS180829021T ↗
9. SLA-Driven modeling and verifying cloud systems: A Bigraphical reactive systems-based approach10.1016/j.csi.2020.103483 ↗
10. Static and Dynamic Process Change10.1109/TSC.2016.2536025 ↗
11. Petri nets: Properties, analysis and applications10.1109/5.24143 ↗
12. Structural and Dynamic Changes in Concurrent Systems: Reconfigurable Petri Nets10.1109/TC.2004.66 ↗
13. Nouara, R., and Chaoui, A. (2017, January 28). Checking Behavioural Compatibility in Service Composition with Graph Transformation. Proceedings of the CS & IT Conference Proceedings, Dubai, United Arab Emirates.10.5121/csit.2017.70214 ↗
14. Model-driven engineering10.1109/MC.2006.58 ↗
15. Models@ run.time10.1109/MC.2009.326 ↗
16. Models@run.time: A guided tour of the state of the art and research challenges10.1007/s10270-018-00712-x ↗
17. RSCM technology for developing runtime-reconfigurable telecommunication applications10.1016/j.csi.2016.10.015 ↗
18. Empirical Evaluation of a Method for Monitoring Cloud Services Based on Models at Runtime10.1109/ACCESS.2021.3071417 ↗
19. Valero, V.V., Diaz-Descalzo, G., Boubeta-Puig, J., Macia, H., and Brazalez-Segovia, E. (2021). A Compositional Approach for Complex Event Pattern Modeling and Transformation to Colored Petri Nets with Black Sequencing Transitions. IEEE Trans. Softw. Eng.10.1109/TSE.2021.3065584 ↗
20. Runtime Monitoring for Executable DSLs10.5381/jot.2020.19.2.a6 ↗
21. Verification of Model Transformations Using Isabelle/HOL and Scala10.1007/s10796-018-9860-9 ↗
22. On the Use of Graph Transformation in the Modeling and Verification of Dynamic Behavior in UML Models10.4304/jsw.5.11.1279-1291 ↗
23. A Survey of Metaprogramming Languages10.1145/3354584 ↗
24. Formalizing Timed BPEL by D-LOTOS10.4018/ijertcs.2014040102 ↗
25. Ings, D., Clément, L., König, D., Mehta, V., Mueller, R., Rangaswamy, R., Rowley, M., and Trickovic, I. (2021, July 01). WS-BPEL Extension for People (BPEL4People) Specification Version 1.1. Available online: https://www.bibsonomy.org/bibtex/22c1f4af4f7124255c44899aaaeccb263/porta.
26. OMG (2021, July 01). Business Process Model and Notation (BPMN), Version 2.0. Available online: https://www.bibsonomy.org/bibtex/2d71e28d8b21b73a067683ba4bfe0321a/porta.
27. Distributed graph queries over models@run.time for runtime monitoring of cyber-physical systems10.1007/s10009-019-00531-5 ↗
28. Toward live domain-specific languages—From text differencing to adapting models at run time10.1007/s10270-017-0608-7 ↗
29. Integrating Semantic Run-Time Models for Adaptive Software Systems10.13052/jwe1540-9589.18131 ↗
30. Efficient parallel reasoning on fuzzy goal models for run time requirements verification10.1007/s10270-016-0562-9 ↗
31. Architectural Run-time Models for Performance and Privacy Analysis in Dynamic Cloud Applications10.1145/2897356.2897359 ↗
32. The vision of autonomic computing10.1109/MC.2003.1160055 ↗
33. Erazo-Garzón, L., Román, A., Moyano-Dután, J., and Cedillo, P. (2021, January 23–25). Models@runtime and Internet of Things: A Systematic Literature Review. Proceedings of the 2021 Second International Conference on Information Systems and Software Technologies (ICI2ST), Quito, Ecuador.10.1109/ICI2ST51859.2021.00026 ↗
34. Systematic literature review of the objectives, techniques, kinds, and architectures of models at runtime10.1007/s10270-013-0394-9 ↗
35. He, X. (2017, January 5–7). Self-adaptive Systems Driven by Runtime Models. Proceedings of the 29th International Conference on Software Engineering and Knowledge Engineering, Pittsburgh, PA, USA. Available online: http://ksiresearch.org/seke/seke17paper/seke17paper_168.pdf.