Investigating concurrency in the co-simulation orchestration engine for Into-CPS

Бесплатный доступ

The development of Cyber-Physical Systems often involves cyber elements controlling physical entities, and this interaction is challenging because of the multi-disciplinary nature of such systems. It can be useful to create models of the constituent components and simulate these in what is called a co-simulation, as it can help to identify undesired behaviour. The Functional Mock-up Interface describes a tool-independent standard for constituent components participating in such a co-simulation and can support different formalisms. This paper describes an exploration of whether different concurrency features in Scala (actors, parallel collections, and futures) increase the performance of an existing application called the Co-Simulation Orchestration Engine performing co-simulations. The investigation was conducted by refactoring the existing application to make it suitable for implementing functionality that takes advantage of the concurrency features. In order to compare the different implementations testing was carried out using four test co-simulations. These test co-simulations were executed using the concurrent implementations and the original sequential implementation, verifying the simulation results, and retrieving the execution times of the simulations. The analysis showed that concurrency can be used to increase the performance in terms of execution time in some cases, but in order to achieve optimal performance, it is necessary to combine different strategies. Based on these results, future work tasks has been proposed.

Еще

Into-cps, fmi, co-simulation, concurrency, cyber-physical systems

Короткий адрес: https://sciup.org/14916335

IDR: 14916335   |   DOI: 10.15514/ISPRAS-2016-28(2)-9

Список литературы Investigating concurrency in the co-simulation orchestration engine for Into-CPS

  • D. Broman, C. Brooks, L. Greenberg, E. Lee, M. Masin, S. Tripakis, and M. Wetter, “Determinate composition of fmus for co-simulation,” in 2013 Proceedings of the International Conference on Embedded Software, Sept 2013, pp. 1-12. ISBN: 978-1-4799-1443-2.
  • J. Bastian, C. Clauss, S. Wolf, and P. Schneider, “Master for Co-Simulation Using FMI,” in Proceedings of the 8th International Modelica Conference, 2011, pp. 115-120 DOI: 10.3384/ecp11063115
  • FMI development group, “Functional mock-up interface for model exchange and co-simulation 2.0,” Modelica, Tech. Rep. Version 2.0, July 2014.
  • J. Fitzgerald, C. Gamble, P. G. Larsen, K. Pierce, and J. Woodcock, “Cyber-Physical Systems design: Formal Foundations, Methods and Integrated Tool Chains,” in FormaliSE: FME Workshop on Formal Methods in Software Engineering. Florence, Italy: ICSE 2015, May 2015, pp. 40-46 DOI: 10.1109/FormaliSE.2015.14
  • D. Geer, “Chip makers turn to multicore processors,” Computer, vol. 38, no. 5, pp. 11-13, May 2005 DOI: 10.1109/MC.2005.160
  • Typesafe Inc, “Akka scala documentation,” http://akka.io/docs/, Akka, September 2015, Release 2.4.0.
  • P. Haller, A. Prokopec, H. Miller, V. Klang, R. Kuhn, and V. Jovanovic, “Futures and promises -scala documentation,” http://docs.scala-lang.org/overviews/core/futures.html, (Visited on 05/03/2016).
  • A. Prokopec and H. Miller, “Parallel collections -overview -scala documentation,” http://docs.scala-lang.org/overviews/parallel-collections/overview.html, 2015, (Visited on 05/03/2015).
  • H. C. Baker, Jr. and C. Hewitt, “The incremental garbage collection of processes,” in Proceedings of the 1977 Symposium on Artificial Intelligence and Programming Languages. New York, NY, USA: ACM, 1977, pp. 55-59. Available: http://doi.acm.org/ DOI: 10.1145/800228.806932
  • C. Hewitt, P. Bishop, and R. Steiger, “A universal modular actor formalism for artificial intelligence,” in Proceedings of the 3rd International Joint Conference on Artificial Intelligence, ser. IJCAI’73. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 1973, pp. 235-245. . Available: http://worrydream.com/refs/Hewitt-ActorModel.pdf.
  • G. A. Agha and W. Kim, “Actors: A unifying model for parallel and distributed computing,” Journal of Systems Architecture, vol. 45, no. 15, pp. 1263 -1277, 1999. .Available: http://www.sciencedirect.com/science/article/pii/S1383762198000678.
  • C. Thule, “Investigating Concurrency in the Co-Simulation Orchestration Engine for INTO-CPS,” Department of Engineering, Aarhus University, Finlandsgade 22, Aarhus N, 8200, Tech. Rep. ECE-TR-26, May 2016. . Available: http://ojs.statsbiblioteket.dk/index.php/ece/issue/archive.
  • N. Amalio, A. Cavalcanti, C. König, and J. Woodcock, “Foundations for FMI Co-Modelling,” INTO-CPS Deliverable, D2.1d, Tech. Rep., December 2015.
  • T. Hoare, Communicating Sequential Processes. Englewood Cliffs, New Jersey 07632: Prentice-Hall International, 1985.
  • T. Gibson-Robinson, P. Armstrong, A. Boulgakov, and A. Roscoe, “FDR3 -A Modern Refinement Checker for CSP,” in Tools and Algorithms for the Construction and Analysis of Systems, ser. LNCS, vol. 8413, 2014, pp. 187-201.
  • J. Fitzgerald, C. Gamble, R. Payne, P. G. Larsen, S. Basagiannis, and A. E. D. Mady, “Collaborative Model-based Systems Engineering for Cyber-Physical Systems -a Case Study in Building Automation”. INCOSE. Edinburgh, Scotland. July 2016.
  • Microsoft, “Acquiring high-resolution time stamps (windows),” https://msdn.microsoft.com/en-us/library/dn553408(v=vs.85).aspx, 2015, (Visited on 05/03/2016).
  • N. Wirth, “A plea for lean software,” Computer, vol. 28, no. 2, pp. 64-68, Feb 1995.
  • M. Reiser, The Oberon System: User Guide and Programmer’s Manual. New York, NY, USA: ACM, 1991.
  • H. Sutter, “A fundamental turn toward concurrency in software,” Dr. Dobb’s Journal, vol. 30, no. 3, pp. 16-23, 2005.
  • K. E. Harper, J. Zheng, and S. Mahate, “Experiences in initiating concurrency software research efforts,” in Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering -Volume 2, ser. ICSE ’10. New York, NY, USA: ACM, 2010, pp. 139-148. Available: http://doi.acm.org/ DOI: 10.1145/1810295.1810316
  • B. Agrawal, T. Sherwood, C. Shin, and S. Yoon, “Addressing the challenges of synchronization/communication and debugging support in hardware/software cosimulation,” in VLSI Design, 2008. VLSID 2008. 21st International Conference on VLSI Design (VLSID 2008), Jan 2008, pp. 354-361.
  • W. Bishop and W. Loucks, “A heterogeneous environment for hardware/software cosimulation,” in Simulation Symposium, 1997. Proceedings., 30th Annual, Apr 1997, pp. 14-22.
  • D. Kim, Y. Yi, and S. Ha, “Trace-driven hw/sw cosimulation using virtual synchronization technique,” in Design Automation Conference, 2005. Proceedings. 42nd, June 2005, pp. 345-348.
  • D. Becker, R. K. Singh, and S. G. Tell, “An engineering environment for hardware/software co-simulation,” in In 29th ACM/IEEE Design Automation Conference, 1992, pp. 129-134.
  • T. Nipkow, M. Wenzel, and L. C. Paulson, Isabelle/HOL: A Proof Assistant for Higher-order Logic. Berlin, Heidelberg: Springer-Verlag, 2002.
  • Github, “Electron -Build cross platform desktop apps with JavaScript, HTML, and CSS”, version 1.2.2, http://electron.atom.io/, (Visited on 10/06/2016).
Еще
Статья научная