Abstract
The Internet of Things (IoT) has hugely expanded. There are more devices than people and device numbers are still growing exponentially. These IoT devices are becoming more important and integrated into our lives, and their sophisticated behaviour has prompted the term “Internet of Behaviours”. Model-Driven Software Engineering (MDSE) and especially formal verification are applied to safety-critical systems, such as automotive and aerospace, to ensure behaviour correctness, but their use is not common place in the deployment of IoT devices. This paper introduces the deployment of executable and verifiable models for boards with hybrid CPUs; such as Asymmetrical Multi Processing (ASM), including the programmable real-time units (PRUs) in the TI BeagleBone series boards. To the best of our knowledge, this is the first time Model-Driven Software Engineering has been used for applications in PRUs. Thus, we lift the level of abstraction from the use of assembly and C to even beyond C++, using logic-labelled state-machines (LLFSMs). We benchmark MDSE with an existing PRU real-time application [1].
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
We are thankful to Miguel Carrillo for ensuring LTL-formulas match the verified property.
References
Grubb, F., Estivill-Castro, V.: LLFSMs on the PRU real-time microcontroller (2021). https://github.com/fgrubb/LLFSMs-on-the-PRU-Real-Time-Microcontroller
Molloy, D.: Exploring BeagleBone: Tools and Techniques for Building with Embedded Linux. Wiley, New York (2014)
Kushal, K.S., Nanda, M., Jayanthi, J.: Formal methods and tools for safety of critical systems. In: Nanda, M., Jeppu, Y. (eds.) Formal Methods for Safety and Security, pp. 13–21. Springer, Singapore (2018). https://doi.org/10.1007/978-981-10-4121-1_2
Bambagini, M., Marinoni, M., Aydin, H., Buttazzo, G.: Energy-aware scheduling for real-time systems: a survey. ACM Trans. Embed. Comput. Syst. 15(1), 1–34 (2016). https://doi.org/10.1145/2808231
Gomaa, H.: Real-Time Software Design for Embedded Systems. Cambridge University Press, Cambridge (2016). https://doi.org/10.1017/CBO9781139644532
Rizwan, P., Suresh, K., Babu, M.R.: Real-time smart traffic management system for smart cities by using internet of things and big data. In: International Conference on Emerging Technological Trends (ICETT), pp. 1–7 (2016). https://doi.org/10.1109/ICETT.2016.7873660
Malek, Y.N., et al.: On the use of IoT and big data technologies for real-time monitoring and data processing. Procedia Comput. Sci. 113, 429–434 (2017). https://doi.org/10.1016/j.procs.2017.08.281
Texas Instruments: PRU optimizing C/C++ compiler v2.3. Literature Number: SPRUHV7C (2018)
Rodrigues da Silva, A.: Model-driven engineering: a survey supported by the unified conceptual model. Comput. Lang. Syst. Struct. 43, 139–155 (2015). https://doi.org/10.1016/j.cl.2015.06.001
Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice, 2nd edn. Morgan & Claypool, San Rafael (2017)
Mohamed, M.A., Kardas, G., Challenger, M.: Model-driven engineering tools and languages for cyber-physical systems-a systematic literature review. IEEE Access 9, 48605–48630 (2021). https://doi.org/10.1109/ACCESS.2021.3068358
Estivill-Castro, V., Hexel, R., Lusty, C.: High performance relaying of C++11, objects across processes and logic-labeled finite-state machines. In: Brugali, D., Broenink, J.F., Kroeger, T., MacDonald, B.A. (eds.) SIMPAR 2014. LNCS (LNAI), vol. 8810, pp. 182–194. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11900-7_16
Estivill-Castro, V., Hexel, R., McColl, M.: High-level executable models of reactive real-time systems with logic-labelled finite-state machines and FPGAs. In: International Conference on ReConFigurable Computing and FPGAs, ReConFig, pp. 1–8. IEEE (2018)
Carrillo, M., Estivill-Castro, V., Rosenblueth, D.A.: Verification and simulation of time-domain properties for models of behaviour. In: Hammoudi, S., Pires, L.F., Selić, B. (eds.) MODELSWARD 2020. CCIS, vol. 1361, pp. 225–249. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-67445-8_10
McPherson, A.P., Zappi, V.: An environment for submillisecond-latency audio and sensor processing on BeagleBone Black. J. Audio Eng. Soc. (2015)
Anand, A.M., Raveendran, B., Cherukat, S., Shahab, S.: Using PRUSS for real-time applications on Beaglebone Black. In: Third International Symposium on Women in Computing and Informatics, NY, USA, WCI 2015, pp. 377–382. ACM (2015)
Kepa, K., Abaid, N.: Development of a frequency-modulated ultrasonic sensor inspired by bat echolocation. In: International Society for Optics and Photonics, SPIE, Bellingham, vol. 9429, pp. 175–182 (2015)
Travaglione, B.: Using a single-board microcontroller and ADC to perform real-time sonar signal processing. In: 2nd Acoustical Societies Conference, pp. 1–8 (2016)
Götz, M., Gobetti, M.W., Líbano, F.B.: A grid-tie micro-inverter software development based on a low cost multiprocessor platform. In: Brazilian Symposium on Computing Systems Engineering (SBESC), New Jersey, pp. 122–127. CPS IEEE (2015)
Yin, S., Smaoui, N., Heydariaan, M., Gnawali, O.: Purple VLC: accelerating visible light communication in room-area through PRU offloading. In: International Conference on Embedded Wireless Systems and Networks, EWSN 2018, Junction, pp. 67–78 (2018)
Estefan, J.A.: Survey of model-based systems engineering (MBSE) methodologies. Technical report, INCOSE-TD-2007-003-01, Seattle, WA, USA (2008)
Fritzson, P.: Principles of Object-Oriented Modeling and Simulation with Modelica 3.3: A Cyber-Physical Approach, 2nd edn. IEEE Press, Wiley, Hoboken (2015). https://doi.org/10.1002/9781118989166
Ptolemaeus, C. (ed.): System Design, Modeling, and Simulation Using Ptolemy II. Ptolemy.org (2014)
Documentation Simulink: Simulation and model-based design (2020). https://www.mathworks.com/products/simulink.html
Jeppu, Y., Rey, G.J., Apte, P.R.: Generating test cases with 100-percent requirements coverage using design of experiments. J. Aerosp. Inf. Syst. 11(10), 632–648 (2014)
Jeppu, N., Jeppu, Y.: Arguing formally about flight control laws using SLDV and NuSMV. In: Nanda, M., Jeppu, Y. (eds.) Formal Methods for Safety and Security, pp. 73–84. Springer, Singapore (2018). https://doi.org/10.1007/978-981-10-4121-1_7
Documentation SLDV: Simulink design verifier (2020). http://in.mathworks.com/products/sldesignverifier/
Cimatti, A., Clarke, E., Giunchiglia, F., Roveri, M.: NUSMV: a new symbolic model checker. Int. J. Softw. Tools Technol. Transf. 2(4), 410–425 (2000). https://doi.org/10.1007/s100090050046
Jeppu, N.: Exploring Simulink design verifier 03. MATLAB Central File Exchange (2021). https://www.mathworks.com/matlabcentral/fileexchange/54945-exploring-simulink-design-verifier-03. Accessed 27 July 2021
Kaur, A., Arora, R.: Application of UML in real-time embedded systems. Int. J. Softw. Eng. Appl. (IJSEA) 3(2), 59–70 (2012)
Amissah, M., Toba, A.L., Handley, H., Seck, M.D.: Towards a framework for executable systems modeling: an executable systems modeling language (ESysML). In: Model-driven Approaches for Simulation Engineering Symposium, SpringSim (Mod4Sim) 2018, pp. 9:1–9:12. ACM (2018)
Fernandes, J.M., Machado, R.J.: Can UML be a system-level language for embedded software? In: Kleinjohann, B., Kim, K.H., Kleinjohann, L., Rettberg, A. (eds.) Design and Analysis of Distributed Embedded Systems. ITIFIP, vol. 91, pp. 1–10. Springer, Boston, MA (2002). https://doi.org/10.1007/978-0-387-35599-3_1
El Ariss, O., Xu, D.: System modeling with UML state machines. In: Handbook of Finite State Based Models and Applications, pp. 371–386. Chapman and Hall/CRC, New York (2012). https://doi.org/10.1201/b13055-19
Kobryn, C.: UML 3.0 and the future of modeling. Softw. Syst. Model. 3(1), 4–8 (2004). https://doi.org/10.1007/s10270-004-0051-4
Friedenthal, S., Moore, A., Steiner, R.: A Practical Guide to SysML: The Systems Modeling Language. Morgan Kaufmann, San Francisco (2009)
Selic, B., Grard, S.: Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE: Developing Cyber-Physical Systems, 1st edn. Morgan Kaufmann, San Francisco (2013)
Sahu, S., Schorr, R., Medina-Bulo, I., Wagner, M.: Model translation from Papyrus-RT into the nuXmv model checker. In: Cleophas, L., Massink, M. (eds.) SEFM 2020. LNCS, vol. 12524, pp. 3–20. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-67220-1_1
Besnard, V., Brun, M., Jouault, F., Teodorov, C., Dhaussy, P.: Unified LTL verification and embedded execution of UML models. In: 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, New York, NY, USA, MODELS 2018, pp. 112–122. ACM (2018). https://doi.org/10.1145/3239372.3239395
Beeck, M.: A comparison of Statecharts variants. In: Langmaack, H., de Roever, W.-P., Vytopil, J. (eds.) FTRTFT 1994. LNCS, vol. 863, pp. 128–148. Springer, Heidelberg (1994). https://doi.org/10.1007/3-540-58468-4_163
Posse, E., Dingel, J.: An executable formal semantics for UML-RT. Softw. Syst. Model. 15(1), 179–217 (2014). https://doi.org/10.1007/s10270-014-0399-z
Alanwar, A., Anwar, F.M., Zhang, Y., Pearson, J., Hespanha, J., Srivastava, M.B.: Cyclops: PRU programming framework for precise timing applications. In: IEEE International Symposium on Precision Clock Synchronization for Measurement, Control, and Communication (ISPCS), New Jersey, pp. 1–6. IEEE (2017)
Heijstek, W., Chaudron, M.R.V.: Empirical investigations of model size, complexity and effort in a large scale, distributed model driven development process. In: 35th Euromicro Conference on Software Engineering and Advanced Applications, Los Alamitos, CA, pp. 113–120. IEEE (2009)
Krogmann, K., Becker, S.: A case study on model-driven and conventional software development: the palladio editor. In: Software Engineering 2007 - Beiträge zu den Workshops, Fachtagung des GI-Fachbereichs Softwaretechnik, 27–30 March 2007, Hamburg, GI, LNI, vol. P-106, pp. 169–175 (2007)
Papotti, P.E., do Prado, A.F., de Souza, W.L., Cirilo, C.E., Pires, L.F.: A quantitative analysis of model-driven code generation through software experimentation. In: Salinesi, C., Norrie, M.C., Pastor, Ó. (eds.) CAiSE 2013. LNCS, vol. 7908, pp. 321–337. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38709-8_21
Kopetz, H.: The time-triggered model of computation. In: 19th IEEE Real-Time Systems Symposium (Cat. No. 98CB36279), pp. 168–177 (1998). https://doi.org/10.1109/REAL.1998.739743
Kopetz, H., Bauer, G.: The time-triggered architecture. Proc. IEEE 91(1), 112–126 (2003). https://doi.org/10.1109/JPROC.2002.805821
Furrer, F.: Future-Proof Software-Systems: A Sustainable Evolution Strategy. Springer Vieweg, Berlin (2019). https://doi.org/10.1007/978-3-658-19938-8
Harel, D., Politi, M.: Modeling Reactive Systems with Statecharts: The Statemate Approach. McGraw-Hill, New York (1998)
Rumbaugh, J., Blaha, M.R., Lorensen, W., Eddy, F., Premerlani, W.: Object-Oriented Modelling and Design. Prentice-Hall Inc., Englewood Cliffs (1991)
Mellor, S.J.: Executable and translatable UML. Embed. Syst. Program. 16(2), 25–30 (2003)
Starr, L., Mangogna, A., Mellor, S.: Models to Code With No Mysterious Gaps. Apress, Berkeley (2017)
Brooks, R.: The behavior language; user’s guide. Technical report, AIM-1227, MIT, Artificial Intelligence Lab, Department of Electronics and Computer Science (1990)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Grubb, F., Estivill-Castro, V., Hexel, R. (2022). LLFSMs on the PRU: Executable and Verifiable Software Models on a Real-Time Microcontroller. In: Borzemski, L., Selvaraj, H., Świątek, J. (eds) Advances in Systems Engineering. ICSEng 2021. Lecture Notes in Networks and Systems, vol 364. Springer, Cham. https://doi.org/10.1007/978-3-030-92604-5_35
Download citation
DOI: https://doi.org/10.1007/978-3-030-92604-5_35
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-92603-8
Online ISBN: 978-3-030-92604-5
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)