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.
- [n.d.]. ForSyDe-Atom API. Retrieved from https://forsyde.github.io/forsyde-atom/api/.Google Scholar
- Alfonso Acosta. 2007. Hardware Synthesis in ForSyDe. Master’s thesis. KTH Royal Institute of Technology.Google Scholar
- ARP4754A. 2010. Guidelines for development of civil aircraft and systems. SAE International (2010).Google Scholar
- ARP4761. 1996. Guidelines and methods for conducting the safety assessment process on civil airborne system and equipment. SAE International (1996).Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- Graham Hutton. 2016. Programming in Haskell (2nd ed.). Cambridge University Press, USA.Google Scholar
- Pierre Boulet. 2007. Array-OL Revisited, Multidimensional Intensive Signal Processing Specification. Ph.D. Dissertation.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- Koen Claessen and John Hughes. 2011. Quickcheck: A lightweight tool for random testing of haskell programs. ACM SIGPLAN 46, 4 (2011), 53--64.Google Scholar
Digital Library
- 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 Scholar
- Murray I. Cole. 1989. Algorithmic Skeletons: Structured Management of Parallel Computation. Pitman London.Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- Stephen A. Edwards. 2018. On determinism. In Principles of Modeling. Springer, 240--253.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- John Hughes. 2007. QuickCheck testing for fun and profit. In Practical Aspects of Declarative Languages, Michael Hanus (Ed.). Springer, Berlin, 1--32.Google Scholar
- Mikkel Koefoed Jakobsen. 2013. Formal Methods for Design and Simulation of Embedded Systems. Ph.D. Dissertation. Technical University of Denmark.Google Scholar
- Axel Jantsch. 2004. Modeling Embedded Systems and SoC’s: Concurrency and Time in Models of Computation. Morgan Kaufmann.Google Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- Peter J. Landin. 1966. The next 700 programming languages. Commun. ACM 9, 3 (1966), 157--166.Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- Conor McBride and Ross Paterson. 2008. Applicative programming with effects. J. Funct. Program. 18, 1 (2008), 1--13.Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- Athanasios Papoulis and S. Unnikrishna Pillai. 2002. Probability, Random Variables, and Stochastic Processes. Tata McGraw--Hill Education.Google Scholar
- Benjamin C. Pierce. 2002. Types and Programming Languages (1st ed.). The MIT Press.Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- Hideki John Reekie. 1995. Realtime Signal Processing—Dataflow, Visual, and Functional Programming. Ph.D. Dissertation. University of Technology at Sydney.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- Joseph Sifakis. 2013. Rigorous system design. Found. Trends Electr. Des. Autom. 6, 4 (2013), 293--362.Google Scholar
Digital Library
- David B. Skillicorn. 2005. Foundations of Parallel Programming. Number 6. Cambridge University Press.Google Scholar
- George W. Stimson. 2014. Introduction to Airborne Radar (3rd ed.). SciTech Publishing.Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Cross Ref
Index Terms
ForSyDe-Atom: Taming Complexity in Cyber Physical System Design with Layers
Recommendations
An extensible modeling methodology for embedded and cyber-physical system design
Abstract models are important tools to manage the increasing complexity of system design. The choice of a modeling language for constructing models governs what types of systems can be modeled, and which subsequent design activities can be performed. ...
Simulation of cyber-physical systems using IEC61499
MEMOCODE '17: Proceedings of the 15th ACM-IEEE International Conference on Formal Methods and Models for System DesignIEC61499 is an emerging standard for the design of automation systems. While many compilers and associated tools for IEC61499 have been developed, systematic techniques for modelling the continuous dynamics of the physical processes are lacking. Current ...
Towards Integrated Simulation of Cyber-Physical Systems: A Case Study on Intelligent Water Distribution
DASC '09: Proceedings of the 2009 Eighth IEEE International Conference on Dependable, Autonomic and Secure ComputingIn cyber-physical systems (CPSs), embedded computing systems and communication capability are used to streamline and fortify the operation of a physical system. Intelligent critical infrastructure systems are among the most important CPSs and also prime ...






Comments