Abstract
A framework for co-simulation of human–machine interfaces in Cyber-Physical Systems (CPS) is presented. The framework builds on formal (i.e. mathematical) methods. It aims to support the work of formal methods experts in charge of modelling and analysing safety-critical aspects of user interfaces in CPS. To carry out these modelling and analysis activities, formal methods experts usually need to engage with domain experts that may not fully understand the mathematical details of formal analysis results. The framework presented in this work mitigates this communication barrier by allowing formal methods experts to create interactive prototypes driven by formal models. The prototypes closely resemble the visual appearance of the system being developed. They can be used to discuss details of the formal analysis effort without showing any mathematical detail. An existing prototyping toolkit based on formal methods is used as baseline technology. Novel functionalities are developed for automatic generation of interactive prototypes supporting the Functional Mockup Interface (FMI), a de-facto standard technology for simulation of complex systems. Using the FMI interface, the prototypes can be integrated with simulations of other system components. The architecture of the framework is presented, along with a verification of core aspects of its functionalities. A case study based on a medical system is used to demonstrate the capabilities of the framework.
Similar content being viewed by others
References
Abel, A., Blochwitz, T., Eichberger, A., Hamann, P., Rein, U.: Functional mock-up interface in mechatronic gearshift simulation for commercial vehicles. In: Proceedings of the 9th International MODELICA Conference, pp. 775–780. Linköping University Electronic Press (2012)
Alur, R., Dill, D.L.: A theory of timed automata. Theor. Comput. Sci. 126(2), 183–235 (1994)
Arney, D., Goldman, J.M., Bhargav-Spantzel, A., Basu, A., Taborn, M., Pappas, G., Robkin, M.: Simulation of medical device network performance and requirements for an integrated clinical environment. Biomed. Instrum. Technol. 46(4), 308–315 (2012)
Arney, D.A., Jetley, R., Jones, P., Lee, I., Ray, A., Sokolsky, O., Zhang, Y.: Generic infusion pump hazard analysis and safety requirements version 1.0. Technical Reports (CIS), pp. 1–17 (2009)
Behrmann, G., David, A., Larsen, K.G.: A Tutorial on UPPAAL 4.0 (2006). http://www.it.uu.se/research/group/darts/papers/texts/new-tutorial.pdf
Bequette, B.W.: Process Control: Modeling, Design, and Simulation. Prentice Hall Professional, Prentice (2003)
Bernardeschi, C., Domenici, A., Masci, P.: Modeling communication network requirements for an integrated clinical environment in the Prototype Verification System. In: 2016 IEEE Symposium on Computers and Communication (ISCC), pp. 135–140 (2016)
Bernardeschi, C., Domenici, A., Masci, P.: A PVS-simulink integrated environment for model-based analysis of cyber-physical systems. IEEE Trans. Softw. Eng. 44(6), 512–533 (2018)
Bernardeschi, C., Masci, P., Caramella, D., Dell’Osso, R.: The benefits of using interactive device simulations as training material for clinicians: an experience report with a contrast media injector used in CT. SIGBED Rev., Special Issue on Medical Cyber-Physical Systems Workshop 2018 (MCPS’18), vol. 16, no. 2, pp. 41–45 (2019)
Blochwitz, T., Otter, M., Åkesson, J., Arnold, M., Clauß, C., Elmqvist, H., Friedrich, M., Junghanns, A., Mauß, J., Neumerkel, D., Olsson, H., Viel, A.: Functional mockup interface 2.0: the standard for tool independent exchange of simulation models. In: Proceedings of the 9th International Modelica Conference, pp. 173–184. The Modelica Association (2012)
Bolton, M.L., Siminiceanu, R.I., Bass, E.J.: A systematic approach to model checking human-automation interaction using task analytic models. IEEE Trans. Syst. Man Cybern. Part A Syst. Hum. 41(5), 961–976 (2011)
Campos, J.C., Harrison, M.D.: Interaction engineering using the IVY tool. In: Proceedings of the 1st ACM SIGCHI Symposium on Engineering Interactive Computing Systems, pp. 35–44. ACM (2009)
Chaudemar, J.-C., Savicks, V., Butler, M., Colley, J.: Co-simulation of Event-B and Ptolemy II Models via FMI. In: ERTS 2014 “Embedded real time software and systems”, Toulouse, FR (2014)
Diogo Couto, L., Basagiannis, S., Ridouane, El.H., El-Din Mady, A., Hasanagic, M., Gorm Larsen, P.: Injecting formal verification in FMI-based co-simulations of cyber-physical systems. In: Cerone, A., Roveri, M. (eds) Software Engineering and Formal Methods, pp. 284–299. Springer, Cham (2018)
Fritzson, P., Aronsson, P., Lundvall, H., Nyström, K., Pop, A., Saldamli, L., Broman, D.:. The open modelica modeling, simulation, and development environment. In: In Proceedings of the 46th Conference on Simulation and Modeling of the Scandinavian Simulation Society (SIMS2005), pp. 83–90 (2005)
Garro, A., Falcone, A.: On the integration of HLA and FMI for supporting interoperability and reusability in distributed simulation. In: Proceedings of the Symposium on Theory of Modeling & Simulation: DEVS Integrative M&S Symposium, DEVS’15, pp. 9–16. Society for Computer Simulation International (2015)
Girard, J.-Y., Lafont, Y., Taylor, P.: Proofs and Types, volume 7 of Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, Cambridge (1990)
Goderis, A., Brooks, C., Altintas, I., Lee, E.A., Goble, C.: Composing different models of computation in Kepler and Ptolemy II. In: International Conference on Computational Science, pp. 182–190. Springer (2007)
Goldman, J.M.: Medical devices and medical systems—essential safety requirements for equipment comprising the patient-centric integrated clinical environment (ICE)—Part 1: general requirements and conceptual model. ASTM Int. (2008)
Gomes, C., Thule, C., Broman, D., Gorm Larsen, P., Vangheluwe, H.: Co-simulation: a survey. ACM Comput. Surv. 51(3), 49:1–49:33 (2018)
Harrison, M.D., Freitas, L., Drinnan, M., Campos, J.C., Masci, P., di Maria, C., Whitaker, M.: Formal techniques in the safety analysis of software components of a new dialysis machine. Sci. Comput. Program. 175, 17–34 (2019)
Harrison, M.D., Masci, P., Campos, J.C., Curzon, P.: Verification of user interface software: the example of use-related safety requirements and programmable medical devices. IEEE Trans. Hum. Mach. Syst. (to appear) (2017)
Heitmeyer, C., Kirby, J., Labaw, B., Bharadwaj, R.: SCR: A toolset for specifying and analyzing software requirements. In: International Conference on Computer Aided Verification, pp. 526–531. Springer (1998)
Henzinger, T.A., Nicollin, X., Sifakis, J., Yovine, S.: Symbolic model checking for real-time systems. Inf. Comput. 111(2), 193–244 (1994)
Krammer, M., Marko, N., Benedikt, M.: Interfacing real-time systems for advanced co-simulation-the ACOSAR approach. In: Software Technologies: Applications and Foundations (STAF) Doctoral Symposium/Showcase, pp. 32–39 (2016)
Larsen, P.G., Fitzgerald, J., Woodcock, J., Fritzson, P., Brauer, J., Kleijn, C., Lecomte, T., Pfeil, M., Green, O., Basagiannis, S. et al.: Integrated tool chain for model-based design of Cy-Physical Systems: the INTO-CPS project. In: 2016 2nd International Workshop on Modelling, Analysis, and Control of Complex CPS (CPS Data), pp. 1–6. IEEE (2016)
Masci, P., Mallozzi, P., DeAngelis, F.L., Serugendo, G.D.M, Curzon, P.: Using PVSio-web and SAPERE for rapid prototyping of user interfaces in Integrated Clinical Environments. In: Proceedings of the Workshop on Verification and Assurance (Verisure2015), co-located with CAV2015 (2015)
Masci, P., Curzon, P., Harrison, M., Ayoub, A., Lee, I., Thimbleby, H.: Verification of interactive software for medical devices: PCA infusion pumps and FDA regulation as an example. In: Proceedings of the 5th ACM SIGCHI Symposium on Engineering Interactive Computing Systems, pp. 81–90. ACM (2013)
Masci, P., Oladimeji, P., Zhang, Y., Jones, P., Curzon, P., Thimbleby, H.: PVSio-web 2.0: Joining PVS to HCI, pp. 470–478. Springer, Berlin (2015)
Masci, P., Rukšenas, R., Oladimeji, P., Cauchi, A., Gimblett, A., Li, Y., Curzon, P., Thimbleby, H.: The benefits of formalising design guidelines: a case study on the predictability of drug infusion pumps. Innov. Syst. Softw. Eng. 11(2), 73–93 (2015)
Masci, P., Zhang, Y., Jones, P., Curzon, P., Thimbleby, H.: Formal verification of medical device user interfaces using PVS. In: ETAPS/FASE2014, 17th International Conference on Fundamental Approaches to Software Engineering. Springer, Berlin (2014)
Masci, P., Zhang, Y., Jones, P.L., Oladimeji, P., D’Urso, E., Bernardeschi, C., Curzon, P., Thimbleby, H.: Combining PVSio with stateflow. In: NASA Formal Methods—6th International Symposium, NFM 2014, Houston, TX, USA, April 29–May 1, 2014. Proceedings, pp. 209–214 (2014)
Mauro, G., Thimbleby, H., Domenici, A., Bernardeschi, C.: Extending a user interface prototyping tool with automatic MISRA C code generation. In Dubois, C., Masci, P., Méry, D. (eds). Proceedings of the Third Workshop on Formal Integrated Development Environment, F-IDE@FM 2016, volume 240 of EPTCS, pp. 53–66 (2016)
Muñoz, C.: Rapid prototyping in PVS. Technical report, National Institute of Aerospace, Hampton, VA, USA (2003)
Nagele, T., Hooman, J.: Co-simulation of cyber-physical systems using HLA. In: Proceedings of the IEEE Computing and Communication Workshop and Conference, CCWC’17, pp. 1–6 (2017)
CNN News: Tesla in autopilot mode crashes into fire truck, 2018. http://money.cnn.com/2018/01/23/technology/tesla-fire-truck-crash/index.html
CNN News: Uber self-driving car kills pedestrian in first fatal autonomous crash, 2018. http://money.cnn.com/2018/03/19/technology/uber-autonomous-car-fatal-crash/index.html
Owre, S., Rushby, J., Shankar, N., Stringer-Calvert, D.: PVS: an experience report. In: Applied Formal Methods, number 531 in LNCS, pp. 338–345. Springer (1998)
Owre, S., Rushby, J.M., Shankar, N.: PVS: a prototype verification system. In: Kapur, D. (ed.) Automated Deduction – CADE-11. Lecture Notes in Computer Science, vol. 607, pp. 748–752. Springer, Berlin (1992)
Owre, S., Rushby, J., Shankar, N., Von Henke, F.: Formal verification for fault-tolerant architectures: prolegomena to the design of PVS. IEEE Trans. Softw. Eng. 21(2), 107–125 (1995)
Pajic, M., Mangharam, R., Sokolsky, O., Arney, D., Goldman, J., Lee, I.: Model-driven safety analysis of closed-loop medical systems. IEEE Trans. Ind. Inform. 10(1), 3–16 (2014)
Palensky, P., Van Der Meer, A.A., Lopez, C.D., Joseph, A., Pan, K.: Cosimulation of intelligent power systems: fundamentals, software architecture, numerics, and coupling. IEEE Ind. Electron. Mag. 11(1), 34–50 (2017)
Palensky, P., van der Meer, A., Lopez, C., Joseph, A., Pan, K.: Applied cosimulation of intelligent power systems: implementing hybrid simulators for complex power systems. IEEE Ind. Electron. Mag. 11(2), 6–21 (2017)
Palmieri, M., Bernardeschi, C, Masci, P.: Co-simulation of semi-autonomous systems: the line follower robot case study. In: Cerone, A. Roveri, M (eds.) Software Engineering and Formal Methods—SEFM 2017 Collocated Workshops, Revised Selected Papers, volume 10729 of Lecture Notes in Computer Science, pp. 423–437. Springer (2017)
Palmieri, M., Bernardeschi, C., Masci, P.: A flexible framework for FMI-based co-simulation of human-centred cyber-physical systems. In: Mazzara, M., Ober, I., Salaün, G. (eds.) Software Technologies: Applications and Foundations - STAF 2018 Collocated Workshops, Revised Selected Papers, volume 11176 of Lecture Notes in Computer Science, pp. 21–33. Springer (2018)
Paterno, F., Santoro, C., Davide Spano L.: MARIA: a universal, declarative, multiple abstraction-level language for service-oriented applications in ubiquitous environments. ACM Transactions on Computer–Human Interaction (TOCHI), 16 (2009)
Pedersen, N., Bojsen, T., Madsen, J.: Co-simulation of cyber physical systems with HMI for human in the loop investigations. In: Proceedings of the Symposium on Theory of Modeling & Simulation, TMS/DEVS ’17, pp. 1:1–1:12. Society for Computer Simulation International, San Diego, CA (2017)
Sander, I., Jantsch, A.: System modeling and transformational design refinement in ForSyDe [formal system design]. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 23(1), 17–32 (2004)
Thule, C., Lausdahl, K., Gomes, C., Meisl, G., Gorm Larsen, P.: Maestro: the INTO-CPS co-simulation framework. Simul. Model. Pract. Theory 92, 45–61 (2019)
Wang, B., Baras, J.S.: HybridSim: a modeling and co-simulation toolchain for cyber-physical systems. In: 2013 IEEE/ACM 17th International Symposium on Distributed Simulation and Real Time Applications, pp. 33–40 (2013)
Zambonelli, F., Omicini, A., Anzengru, B., Castelli, G., De Angelis, F.L., Di Marzo Serugendo, G., Dobson, S., Luis Fernandez-Marquez, J., Ferscha, A., Mamei, M. et al.: Developing pervasive multi-agent systems with nature-inspired coordination. Pervasive Mob. Comput. 17, 236–252 (2015)
Zeyda, F., Ouy, J., Foster, S., Cavalcanti, A.: Formalising cosimulation models. In: Cerone, A., Roveri, M. (eds.) Software Engineering and Formal Methods, pp. 453–468. Springer International Publishing, Cham (2018)
Acknowledgements
The authors would like to thank the anonymous reviewers for their useful comments and suggestions. The authors would also thank the INTO-CPS association for providing the co-simulation environment. Work partially supported by the Italian Ministry of Education and Research (MIUR) in the framework of the CrossLab project (Departments of Excellence).
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. John Fitzgerald, Peter Larsen, and Fuyuki Ishikawa.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Palmieri, M., Bernardeschi, C. & Masci, P. A framework for FMI-based co-simulation of human–machine interfaces. Softw Syst Model 19, 601–623 (2020). https://doi.org/10.1007/s10270-019-00754-9
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-019-00754-9