skip to main content
10.1145/3297280.3297459acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article
Open access

Runtime observable and adaptable UML state machines: [email protected] approach

Published: 08 April 2019 Publication History

Abstract

An embedded system is a self-contained system that incorporates elements of control logic and real-world interaction. UML State Machines constitute a powerful formalism to model the behaviour of these types of systems. In current industrial environments, the software of these embedded systems have to cope with the increasing complexity and robustness requirements at runtime. One way to manage these requirements is having the software component's behaviour model available at runtime ([email protected]). Thus, it is possible to enhance the safety of the software component by enabling verification and adaptation at runtime. In this paper, we present a model-driven approach to generate software components (namely RESCO framework), which are able both to provide their internal information in model terms at runtime and adapt their behaviour automatically when an error or an unexpected situation is detected. The aforementioned runtime introspection and adaptation abilities are added automatically to the software component and it does not require the developer make any extra effort. The solution has been tested in the design and implementation of an industrial Burner controller. Results indicate that the software components generated by the presented solution provides introspection at runtime. Thanks to this introspection ability at runtime, the software components are able to adapt automatically from their normal-mode behaviour to a safe-mode behaviour which was defined to be used in erroneous or unexpected situations at runtime. Therefore, it is possible to enhance the safety of the systems consisting of these software components.

References

[1]
Uwe Abmann, Sebastian GÃűtz, Jean-Marc JÃl'zÃl'quel, Brice Morin, and Mario Trapp. 2014. A reference architecture and roadmap for [email protected] Systems. In [email protected], Juergen Dingel, Wolfram Schulte, Isidro Ramos, Silvia Abrahao, and Emilio Insfran (Eds.). Springer International Publishing, Cham, 1--18.
[2]
Hamoud Aljamaan, Timothy C Lethbridge, and Miguel A Garzón. 2015. MOTL: a textual language for trace specification of state machines and associations. In Proceedings of the 25th Annual International Conference on Computer Science and Software Engineering. IBM Corp., 101--110.
[3]
Paolo Arcaini, Angelo Gargantini, and Elvinia Riccobene. 2014. Offline Model-based Testing and Runtime Monitoring of the Sensor Voting Module. Communications in Computer and Information Science (2014).
[4]
ATL. 2018. ATL Transformation Language. http://www.eclipse.org/atl/
[5]
Mojtaba Bagherzadeh, Nicolas Hili, and Juergen Dingel. 2017. Model-level, platform-independent debugging in the context of the model-driven development of real-time systems. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering. ACM, 419--430.
[6]
C. Ballagny, N. Hameurlain, and F. Barbier. 2009. MOCAS: A State-Based Component Model for Self-Adaptation. In 2009 Third IEEE International Conference on Self-Adaptive and Self-Organizing Systems. 206--215.
[7]
Moritz Balz, Michael Striewe, and Michael Goedicke. 2008. Embedding State Machine Models in Object-Oriented Source Code. In 3rd Int. Workshop on [email protected].
[8]
Franck Barbier. 2008. Supporting the UML State Machine Diagrams at Runtime. In Model Driven Architecture - Foundations and Applications, Ina Schieferdecker and Alan Hartman (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 338--348.
[9]
Mokhtar Beldjehem. 2013. A Granular Hierarchical Multiview Metrics Suite for Statecharts Quality. Advances in Software Engineering Volume 2013 (2013), 13.
[10]
Nondini Das, Suchita Ganesan, Leo Jweda, Mojtaba Bagherzadeh, Nicolas Hili, and Juergen Dingel. 2016. Supporting the model-driven development of real-time embedded systems with run-time monitoring and animation via highly customizable code generation. In Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems. ACM, 36--43.
[11]
Patricia Derler, Edward A. Lee, and Alberto Sangiovanni Vincentelli. 2012. Modeling Cyber-Physical Systems, IEEE (Ed.), Vol. Special issue on CPS. IEEE, 13--28.
[12]
Rohit Dhall. 2017. Designing Graceful Degradation in Software Systems. In Proceedings of the Second International Conference on Research in Intelligent and Computing in Engineering, Vol. 10. 171--179.
[13]
eclipse. 2018. Papyrus-RT. https://www.eclipse.org/papyrus-rt/
[14]
X. Elkorobarrutia, M. Muxika, G. Sagardui, F. Barbier, and X. Aretxandieta. 2008. A Framework for Statechart Based Component Reconfiguration. In Fifth IEEE Workshop on Engineering of Autonomic and Autonomous Systems (ease 2008). 37--45.
[15]
David Garlan and Bradley Schmerl. 2002. Model-based adaptation for self-healing systems. In Proceedings of the first workshop on Self-healing systems. ACM, 27--32.
[16]
Marcela Genero, David Miranda, and Mario Piattini. 2003. Defining metrics for UML statechart diagrams in a methodological way. In International Conference on Conceptual Modeling. Springer, 118--128.
[17]
Hassan Gomaa, Emad Albassam, and Daniel A Menascé. 2017. Run-time Software Architectural Models for Adaptation, Recovery and Evolution. In MODELS (Satellite Events). 193--200.
[18]
https://eclipse.org/papyrus/. {n. d.}. Papyrus. Technical Report.
[19]
http://sparxsystems.com/products/ea/. 2015. Enterprise Architecture v11. Technical Report. Sparx Systems.
[20]
https://www.eclipse.org/acceleo/. 2016. Acceleo. Technical Report.
[21]
IBM. {n. d.}. IBM-Rhapsody. https://www.ibm.com/us-en/marketplace/rational-rhapsody
[22]
itemis. 2018. Yakindu Statechart Tools. https://www.itemis.com/en/yakindu/state-machine/
[23]
Mark James, Paul Springer, and Hans Zima. 2010. Adaptive fault tolerance for many-core based space-borne computing. In European Conference on Parallel Processing. Springer, 260--274.
[24]
Libfiu. {n. d.}. Libfiu: faultinjection in userspace. https://blitiri.com.ar/p/libfiu
[25]
Pattie Maes. 1987. Concepts and experiments in computational reflection. In ACM Sigplan Notices, Vol. 22. ACM, 147--155.
[26]
Alexandra Mazak, Manuel Wimmer, and Polina Patsuk-Bösch. 2016. Execution-Based Model Profiling. In International Symposium on Data-Driven Process Discovery and Analysis. Springer, 37--52.
[27]
Peter Mueller. 2018. sinelaboreRT. Technical Report.
[28]
Van Cam Pham, Ansgar Radermacher, SÃl'bastien GÃl'rard, and Shuai Li. 2017. Complete Code Generation from UML State Machine. In Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,. INSTICC, SciTePress, 208--219.
[29]
Prashant Kaliram Pradip. 2016. Commissioning and Performance Analysis of WhisperGen Stirling Engine. Technical Report. University of Windsor.
[30]
Quantum. 2018. Quantum Platform in C++. http://www.state-machine.com/qpcpp/
[31]
Mehrdad Saadatmand, Detlef Scholle, Cheuk Wing Leung, Sebastian Ullström, and Joanna Fredriksson Larsson. 2014. Runtime verification of state machines and defect localization applying model-based testing. In Proceedings of the WICSA 2014 Companion Volume. ACM, 6.

Cited By

View all
  • (2023)Using Runtime Information of Controllers for Safe Adaptation at Runtime: A Process Mining ApproachComputer Safety, Reliability, and Security. SAFECOMP 2023 Workshops10.1007/978-3-031-40953-0_8(85-94)Online publication date: 19-Sep-2023
  • (2020)CRESCO Framework and Checker: Automatic generation of Reflective UML State Machine’s C++ Code and Checker2020 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)10.1109/ISSREW51248.2020.00032(25-30)Online publication date: Oct-2020

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '19: Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing
April 2019
2682 pages
ISBN:9781450359337
DOI:10.1145/3297280
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike International 4.0 License.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 08 April 2019

Check for updates

Author Tags

  1. UML state machines
  2. embedded systems
  3. models@runtime
  4. runtime adaptation

Qualifiers

  • Research-article

Funding Sources

Conference

SAC '19
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)139
  • Downloads (Last 6 weeks)11
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Using Runtime Information of Controllers for Safe Adaptation at Runtime: A Process Mining ApproachComputer Safety, Reliability, and Security. SAFECOMP 2023 Workshops10.1007/978-3-031-40953-0_8(85-94)Online publication date: 19-Sep-2023
  • (2020)CRESCO Framework and Checker: Automatic generation of Reflective UML State Machine’s C++ Code and Checker2020 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)10.1109/ISSREW51248.2020.00032(25-30)Online publication date: Oct-2020

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media