skip to main content
research-article
Open Access

ForSyDe-Atom: Taming Complexity in Cyber Physical System Design with Layers

Published:04 January 2021Publication History
Skip Abstract Section

Abstract

We present ForSyDe-Atom, a formal framework intended as an entry point for disciplined design of complex cyber-physical systems. This framework provides a set of rules for combining several domain-specific languages as structured, enclosing layers to orthogonalize the many aspects of system behavior, yet study their interaction in tandem. We define four layers: one for capturing timed interactions in heterogeneous systems, one for structured parallelism, one for modeling uncertainty, and one for describing component properties. This framework enables a systematic exploitation of design properties in a design flow by facilitating the stepwise projection of certain layers of interest, the isolated analysis and refinement on projections, and the seamless reconstruction of a system model by virtue of orthogonalization. We demonstrate the capabilities of this approach by providing a compact yet expressive model of an active electronically scanned array antenna and signal processing chain, simulate it, validate its conformity with the design specifications, refine it, synthesize a sub-system to VHDL and sequential code, and co-simulate the generated artifacts.

References

  1. [n.d.]. ForSyDe-Atom API. Retrieved from https://forsyde.github.io/forsyde-atom/api/.Google ScholarGoogle Scholar
  2. Alfonso Acosta. 2007. Hardware Synthesis in ForSyDe. Master’s thesis. KTH Royal Institute of Technology.Google ScholarGoogle Scholar
  3. ARP4754A. 2010. Guidelines for development of civil aircraft and systems. SAE International (2010).Google ScholarGoogle Scholar
  4. ARP4761. 1996. Guidelines and methods for conducting the safety assessment process on civil airborne system and equipment. SAE International (1996).Google ScholarGoogle Scholar
  5. Seyed-Hosein Attarzadeh-Niaki and Ingo Sander. 2016. An extensible modeling methodology for embedded and cyber-physical system design. Simulation 92, 8 (2016), 771--794.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. John Backus. 1978. Can programming be liberated from the von Neumann style?: A functional style and its algebra of programs. Commun. ACM 21, 8 (1978), 613--641.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Albert Benveniste, Benoît Caillaud, Dejan Nickovic, Roberto Passerone, Jean-Baptiste Raclet, Philipp Reinkemeier, Alberto Sangiovanni-Vincentelli, Werner Damm, Thomas A. Henzinger, Kim G. Larsen, et al. 2018. Contracts for system design. Found. Trends Electr. Des. Autom. 12, 2–3 (2018), 124--400.Google ScholarGoogle ScholarCross RefCross Ref
  8. Albert Benveniste, Paul Caspi, Stephen A. Edwards, Nicolas Halbwachs, Paul Le Guernic, and Robert De Simone. 2003. The synchronous languages 12 years later. Proc. IEEE 91, 1 (2003), 64--83.Google ScholarGoogle Scholar
  9. Graham Hutton. 2016. Programming in Haskell (2nd ed.). Cambridge University Press, USA.Google ScholarGoogle Scholar
  10. Pierre Boulet. 2007. Array-OL Revisited, Multidimensional Intensive Signal Processing Specification. Ph.D. Dissertation.Google ScholarGoogle Scholar
  11. Timothy Bourke and Marc Pouzet. 2013. Zélus: A synchronous language with ODEs. In Proceedings of the 16th International Conference on Hybrid Systems: Computation and Control. 113--118.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. G. E. P. Box and Mervin E. Muller. 1958. A note on the generation of random normal deviates. Ann. Math. Statist. 29, 2 (06 1958), 610--611.Google ScholarGoogle Scholar
  13. Koen Claessen and John Hughes. 2011. Quickcheck: A lightweight tool for random testing of haskell programs. ACM SIGPLAN 46, 4 (2011), 53--64.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Colaço, B. Pagano, and M. Pouzet. 2017. SCADE 6: A formal language for embedded critical software development (invited paper). In Proceedings of the 2017 International Symposium on Theoretical Aspects of Software Engineering (TASE’17). 1--11.Google ScholarGoogle Scholar
  15. Murray I. Cole. 1989. Algorithmic Skeletons: Structured Management of Parallel Computation. Pitman London.Google ScholarGoogle Scholar
  16. José E. G. de Medeiros, George Ungureanu, and Ingo Sander. 2018. An algebra for modeling continuous time systems. In Proceedings of the Design Automation and Test in Europe Conference (DATE’18). 861--864.Google ScholarGoogle ScholarCross RefCross Ref
  17. Stephen Edwards, Luciano Lavagno, Edward A. Lee, and Alberto Sangiovanni-Vincentelli. 1997. Design of embedded systems: Formal models, validation, and synthesis. Proc. IEEE 85, 3 (March 1997), 366--390.Google ScholarGoogle ScholarCross RefCross Ref
  18. Stephen A. Edwards. 2018. On determinism. In Principles of Modeling. Springer, 240--253.Google ScholarGoogle Scholar
  19. August Ernstsson, Lu Li, and Christoph Kessler. 2018. SkePU 2: Flexible and type-safe skeleton programming for heterogeneous parallel systems. Int. J. Parallel Program. 46, 1 (2018), 62--80.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Jörg Fischer, Sergei Gorlatch, and Holger Bischof. 2003. Foundations of data-parallel skeletons. In Patterns and Skeletons for Parallel and Distributed Computing, Fethi A. Rabhi and Sergei Gorlatch (Eds.). Springer, London.Google ScholarGoogle Scholar
  21. Julien Forget, Frédéric Boniol, David Lesens, and Claire Pagetti. 2010. A real-time architecture design language for multi-rate embedded control systems. In Proceedings of the 25th ACM Symposium on Applied Computing. 527--534.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. John Hughes. 2007. QuickCheck testing for fun and profit. In Practical Aspects of Declarative Languages, Michael Hanus (Ed.). Springer, Berlin, 1--32.Google ScholarGoogle Scholar
  23. Mikkel Koefoed Jakobsen. 2013. Formal Methods for Design and Simulation of Embedded Systems. Ph.D. Dissertation. Technical University of Denmark.Google ScholarGoogle Scholar
  24. Axel Jantsch. 2004. Modeling Embedded Systems and SoC’s: Concurrency and Time in Models of Computation. Morgan Kaufmann.Google ScholarGoogle Scholar
  25. Gilles Kahn. 1974. The semantics of a simple language for parallel programming. In Proceedings of the 6th International Federation for Information Processing Congress (IFIP’74). 471--475.Google ScholarGoogle Scholar
  26. Kurt Keutzer, A. Richard Newton, Jan M. Rabaey, and Alberto Sangiovanni-Vincentelli. 2000. System-level design: Orthogonalization of concerns and platform-based design. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 19, 12 (2000), 1523--1543.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Peter J. Landin. 1966. The next 700 programming languages. Commun. ACM 9, 3 (1966), 157--166.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Edward A. Lee. 2016. Fundamental limits of cyber-physical systems modeling. ACM Trans. Cyber-Phys. Syst. 1, 1, Article 3 (November 2016), 3:1--3:26 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Edward A. Lee. 2018. Models of timed systems. In Formal Modeling and Analysis of Timed Systems, David N. Jansen and Pavithra Prabhakar (Eds.). Springer International Publishing, Cham, 17--33.Google ScholarGoogle Scholar
  30. Edward A. Lee and Alberto Sangiovanni-Vincentelli. 1998. A framework for comparing models of computation. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 17, 12 (1998), 1217--1229.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Marten Lohstroh, Ínigo Íncer Romeo, Andrés Goens, Patricia Derler, Jeronimo Castrillon, Edward A. Lee, and Alberto Sangiovanni-Vincentelli. 2019. Reactors: A deterministic model for composable reactive systems. In Cyber Physical Systems. Model-Based Design. Springer, 59--85.Google ScholarGoogle Scholar
  32. Conor McBride and Ross Paterson. 2008. Applicative programming with effects. J. Funct. Program. 18, 1 (2008), 1--13.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Seyed Hosein Attarzadeh Niaki and Ingo Sander. 2011. Semi-formal refinement of heterogeneous embedded systems by foreign model integration. In Proceedings of the 2011 Forum on Specification 8 Design Language (FDL'11). IEEE, 1--8.Google ScholarGoogle Scholar
  34. Pierluigi Nuzzo. 2019. From electronic design automation to cyber-physical system design automation. In Proceedings of the 2019 International Symposium on Physical Design (ISPD’19).Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Athanasios Papoulis and S. Unnikrishna Pillai. 2002. Probability, Random Variables, and Stochastic Processes. Tata McGraw--Hill Education.Google ScholarGoogle Scholar
  36. Benjamin C. Pierce. 2002. Types and Programming Languages (1st ed.). The MIT Press.Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Adam Procter, William L. Harrison, Ian Graves, Michela Becchi, and Gerard Allwein. 2015. Semantics driven hardware design, implementation, and verification with ReWire. In ACM SIGPLAN Notices, Vol. 50. ACM.Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Pascal Raymond, Yvan Roux, and Erwan Jahier. 2008. Lutin: A language for specifying and executing reactive scenarios. EURASIP J. Embed. Syst. 2008, 1 (2008), 1--11.Google ScholarGoogle ScholarCross RefCross Ref
  39. Hideki John Reekie. 1995. Realtime Signal Processing—Dataflow, Visual, and Functional Programming. Ph.D. Dissertation. University of Technology at Sydney.Google ScholarGoogle Scholar
  40. Ingo Sander and Axel Jantsch. 2004. System modeling and transformational design refinement in forsyde. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 23, 1 (2004), 17--32.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Ingo Sander, Axel Jantsch, and Seyed-Hosein Attarzadeh-Niaki. 2017. ForSyDe: System design using a functional language and models of computation. Handbook of Hardware/Software Codesign (2017), 99--140.Google ScholarGoogle Scholar
  42. Joseph Sifakis. 2013. Rigorous system design. Found. Trends Electr. Des. Autom. 6, 4 (2013), 293--362.Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. David B. Skillicorn. 2005. Foundations of Parallel Programming. Number 6. Cambridge University Press.Google ScholarGoogle Scholar
  44. George W. Stimson. 2014. Introduction to Airborne Radar (3rd ed.). SciTech Publishing.Google ScholarGoogle Scholar
  45. George Ungureanu, José E. G. de Medeiros, and Ingo Sander. 2018. Bridging discrete and continuous time models with atoms. In Proceedings of the 2018 Design, Automation 8 Test in Europe Conference 8 Exhibition (DATE’18). 277--280.Google ScholarGoogle ScholarCross RefCross Ref
  46. George Ungureanu and Ingo Sander. 2017. A layered formal framework for modeling of cyber-physical systems. In Proceedings of the Design, Automation 8 Test in Europe Conference 8 Exhibition (DATE’17). IEEE, 1715--1720.Google ScholarGoogle ScholarCross RefCross Ref
  47. George Ungureanu, Timmy Sundström, Anders Åhlander, Ingo Sander, and Ingemar Söderquist. 2019. Design of Sensor Signal Processing with ForSyDe: Modeling, Validation and Synthesis, version 0.3.1. Technical Report. KTH Royal Institute of Tehnology. DOI:https://doi.org/10.13140/RG.2.2.21573.81126Google ScholarGoogle Scholar
  48. George Ungureanu, Timmy Sundström, Anders Åhlander, Ingo Sander, and Ingemar Söderquist. 2019. Formal design, co-simulation and validation of a radar signal processing system. In Proceedings of the 2019 Forum on Specification 8 Design Language (FDL). 1--8. https://doi.org/10.1109/FDL.2019.8876905Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. ForSyDe-Atom: Taming Complexity in Cyber Physical System Design with Layers

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Article Metrics

          • Downloads (Last 12 months)74
          • Downloads (Last 6 weeks)2

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format .

        View HTML Format
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!