Skip to main content
Log in

Polychronous automata and their use for formal validation of AADL models

  • Research Article
  • Published:
Frontiers of Computer Science Aims and scope Submit manuscript

Abstract

This paper investigates how state diagrams can be best represented in the polychronous model of computation (MoC) and proposes to use this model for code validation of behavior specifications in Architecture Analysis & Design Language (AADL). In this relational MoC, the basic objects are signals, which are related through dataflow equations. Signals are associated with logical clocks, which provide the capability to describe systems in which components obey multiple clock rates. We propose a model of finite-state automata, called polychronous automata, which is based on clock relationships. A specificity of this model is that an automaton is submitted to clock constraints, which allows one to specify a wide range of control-related configurations, being either reactive or restrictive with respect to their control environment. A semantic model is defined for these polychronous automata, which relies on boolean algebra of clocks. Based on a previously defined modeling method for AADL software architectures using the polychronous MoC, the proposed model is used as a formal model for the AADL behavior annex. This is illustrated with a case study involving an adaptive cruise control system.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Le Guernic P, Talpin J P, Le Lann J C. Polychrony for system design. Journal of Circuits, Systems and Computers, 2003, 12(3): 261–303

    Article  Google Scholar 

  2. Benveniste A, Caspi P, Edwards S, Halbwachs N, Le Guernic P, de Simone R. The synchronous languages twelve years later. In: Proceedings of the IEEE. 2003, 91(1): 64–83

    Article  Google Scholar 

  3. Berry G, Gonthier G. The ESTEREL synchronous programming language: design, semantics, implementation. Science of Computer Programming, 1992, 19(2): 87–152

    Article  MATH  Google Scholar 

  4. Halbwachs N, Caspi P, Raymond P, Pilaud D. The synchronous dataflow programming language LUSTRE. Proceedings of the IEEE, 1991, 79(9): 1305–1320

    Article  Google Scholar 

  5. Le Guernic P, Gautier T, Le Borgne M, Le Maire C. Programming realtime applications with Signal. Proceedings of the IEEE, 1991, 79(9): 1321–1336

    Article  Google Scholar 

  6. Gamatié A. Designing Embedded Systems with the SIGNAL Programming Language. Springer Science & Business Media, 2009

    Google Scholar 

  7. Yu H, Ma Y, Glouche Y, Talpin J P, Besnard L, Gautier T, Le Guernic P, Toom A, Laurent O. System-level co-simulation of integrated avionics using Polychrony. In: Procecdings of the 2011 ACM Symposium on Applied Computing. 2011, 354–359

    Chapter  Google Scholar 

  8. Aerospace Standard AS5506A: Architecture Analysis and Design Language (AADL). Google Scholar, 2009

  9. Yu H, Ma Y, Gautier T, Besnard L, Talpin J P, Le Guernic P, Sorel Y. Exploring system architectures in AADL via Polychrony and SynDEx. Frontiers of Computer Science, 2013, 7(5): 627–649

    Article  MathSciNet  Google Scholar 

  10. Yu H, Ma Y, Gautier T, Besnard L, Le Guernic P, Talpin J P. Polychronous modeling, analysis, verification and simulation for timed software architectures. Journal of Systems Architecture, 2013, 59(10): 1157–1170

    Article  Google Scholar 

  11. Berry G. Scade: Synchronous Design and Validation of Embedded Control Software. Next Generation Design and Verification Methodologies for Distributed Embedded Control Systems. Springer, Dordrecht, 2007

    Google Scholar 

  12. Tripakis S, Stergiou C, Shaver C, Lee E A. A modular formal semantics for Ptolemy. Mathematical Structures in Computer Science, 2013, 23: 834–881

    Article  MathSciNet  MATH  Google Scholar 

  13. Lee E A, Tripakis S. Modal models in Ptolemy. In: Proceedings of 3rd International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools (EOOLT 2010). 2010, 1–11

    Google Scholar 

  14. Hamon G, Rushby J. An operational semantics for Stateflow. In: Proceedings of International Conference on Fundamental Approaches to Software Engineering. 2004, 229–243

    Chapter  Google Scholar 

  15. Maraninchi F, Rémond Y. Mode-automata: a new domain-specific construct for the development of safe critical systems. Science of Computer Programming, 2003, 46(3): 219–254

    Article  MATH  Google Scholar 

  16. Colaço J L, Pagano B, Pouzet M. A conservative extension of synchronous data-flow with state machines. In: Proceedings of the 5th ACM international conference on Embedded software. 2005, 173–182

    Chapter  Google Scholar 

  17. Harel D. Statecharts: a visual formalism for complex systems. Science of Computer Programming, 1987, 8(3): 231–274

    Article  MathSciNet  MATH  Google Scholar 

  18. Wang Y, Talpin J P, Benveniste A, Le Guernic P. A semantics of UML state-machines using synchronous pre-order transition systems. In: Proceedings of the 3rd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. 2000, 96–103

    Google Scholar 

  19. André C. Semantics of SyncCharts. Technical Report ISRN I3S/RR–2003–24–FR, I3S Laboratory, Sophia-Antipolis, France, 2003

    Google Scholar 

  20. von Hanxleden R, Duderstadt B, Motika C, Smyth S, Mendler M, Aguado J, Mercer S, O’Brien O. SCCharts: proceedings of sequentially constructive statecharts for safety-critical applications. In: ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). 2014

    Google Scholar 

  21. Hanxleden R V, Mendler M, Aguado J, Duderstadt B, Fuhrmann I, Motika C, Mercer S, O’Brien O. Sequentially constructive concurrency—A conservative extension of the synchronous model of computation. ACM Transaction on Embedded Computing Systems (TECS), 2014, 13(4S): 144

    Google Scholar 

  22. Radojevic I, Salcic Z, Roop P. Design of distributed heterogeneous embedded systems in DDFCharts. IEEE Transactions on Parallel and Distributed Systems, 2011, 22(2): 296–308

    Article  Google Scholar 

  23. Talpin J P, Brunette C, Gautier T, Gamatié A. Polychronous mode automata. In: Proceedings of the 6th ACM & IEEE International conference on Embedded software. 2006, 83–92

    Chapter  Google Scholar 

  24. Raymond P, Roux Y, Jahier E. Lutin: a language for specifying and executing reactive scenarios. EURASIP Journal on Embedded Systems, 2008, 2008(1): 753821

    Article  Google Scholar 

  25. Cadoret F, Borde E, Gardoll S, Pautet L. Design patterns for rule-based refinement of safety critical embedded systems models. In: Proceedings of 2014 19th International Conference on Engineering of Complex Computer Systems, 2012, 67–76

    Google Scholar 

  26. Ölveczky P C, Boronat A, Meseguer J. Formal semantics and analysis of behavioral aadl models in real-time maude. In: Proceedings of the 12th IFIP WG 6.1 International Conference and the 30th IFIP WG 6.1 International Conference on Formal Techniques for Distributed Systems. 2010, 47–62

    Google Scholar 

  27. Yang Z, Hu K, Bodeveix J P, Pi L, Ma D, Talpin J P. Two formal semantics of a subset of the AADL. In: Proceedings of the 16th IEEE International Conference on Engineering of Complex Computer Systems. 2011, 344–349

    Google Scholar 

  28. Besnard L, Gautier T, Le Guernic P, Talpin J P. Compilation of Polychronous Data Flow Equations. Synthesis of Embedded Software. Springer, Boston, 2010

    Google Scholar 

  29. Besnard L, Gautier T, Le Guernic P. SIGNAL V4-INRIA version: reference manual. Access Through the ESPRESSO Website, 2010

    Google Scholar 

  30. Abramsky S, Jung A. Domain theory. Handbook of Logic in Computer Science, Oxford: Oxford University Press, 1994, 1–168

    Google Scholar 

  31. Gilles K. The semantics of a simple language for parallel programming. Information Processing, 1974, 74: 471–475

    MathSciNet  Google Scholar 

  32. Plotkin G D. A powerdomain construction. SIAM Journal on Computing, 1976, 5(3): 452–487

    Article  MathSciNet  MATH  Google Scholar 

  33. Halbwachs N, Raymond P, Ratel C. Generating efficient code from data-flow programs. In: Proceedings of the 3rd International Symposium on Programming Language Implementation and Logic Programming. 1991, 207–218

    Chapter  Google Scholar 

  34. Marchand H, Bournai P, Le Borgne M. Synthesis of discrete-event controllers based on the Signal environment. Discrete Event Dynamic System, 2000, 10(4): 325–346

    Article  MathSciNet  MATH  Google Scholar 

  35. Sorel Y. SynDEx: system-level CAD software for optimizing distributed real-time embedded systems, Journal ERCIM News, 2004, 59: 68–69

    Google Scholar 

  36. Wikipedia. Autonomous cruise control system—Wikipedia, The Free Encyclopedia, 2015

  37. Lee E A, Messerschmitt D G. Synchronous data flow. Proceedings of the IEEE, 1987, 75(9): 1235–1245

    Article  Google Scholar 

  38. Besnard L, Gautier T, Le Guernic P, Guy C, Talpin J P, Larson B R, Borde E. Formal semantics of behavior specifications in the architecture analysis and design language standard. Cyber-Physical System Design from an Architecture Analysis Viewpoint. Springer, Singapore, 2017, 53–79

    Chapter  Google Scholar 

  39. Besnard L, Bouakaz A, Gautier T, Le Guernic P, Ma Y, Talpin J P, Yu H. Timed behavioural modelling and affine scheduling of embedded software architectures in the AADL using Polychrony. Science of Computer Programming, 2015, 106: 54–77

    Article  Google Scholar 

  40. Bouakaz A. Real-time scheduling of dataflow graphs. PhD thesis, Université de Rennes 1, 2013

    Google Scholar 

  41. Talpin J P, Gautier T. Precise deadlock detection for polychronous dataflow specifications. In: Proceedings of Electronic System Level Synthesis Conference (ESLsyn). 2014, 1–6

    Google Scholar 

  42. Besnard L, Borde E, Dissaux P, Gautier T, Le Guernic P, Talpin J P. Logically timed specifications in the AADL: a synchronous model of computation and communication (recommendations to the SAE committee on AADL). Technical Report, 2014

    Google Scholar 

Download references

Acknowledgements

Jean-Pierre Talpin has been partially supported by Nankai University and by the National Natural Science Foundation of China (Grant No. 61672074).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Thierry Gautier.

Additional information

Thierry Gautier is researcher in Inria. He received his graduate degree from INSA Rennes (France) and PhD degree in Computer Science from the University of Rennes 1, France. He is one of the designers of the Signal language, the polychronous model of computation, and the Polychrony toolset. His main research interests focus on the safe design of complex embedded systems, including formal modeling, formal validation, transformations of models to target architectures, and synthesis of schedulers.

Clément Guy is a digital, educational, and science popularizer and facilitator. He obtained PhD degree in Software Engineering at the University of Rennes 1, France. He then worked as a research engineer in different teams at INSA of Rennes and Inria. His work focused mainly on developing new methods and tools for better, safer, and more efficient embedded software and hardware. He then completed a Master degree in techno-educational engineering. He works as a digital facilitator at the Mission locale du bassin d’emploi de Rennes, where he helps to deploy new communication tools and methods which better fit the needs of the employees. This includes audit and survey of user needs, meeting facilitating, tool deployment, and training.

Alexandre Honorat began work with the TEA team at Inria Rennes to maintain the ADFG scheduling synthesizer, after obtaining his Master’x s diploma in High Performance Computing from the ENSEIRB-MATMECA French engineering school in 2015. He also participated in linking the ADFG tool with the AADL analyzer in Polychrony, which generates Signal programs. Currently working as an engineer, he plans to study scheduling of real-time systems as a PhD student.

Paul Le Guernic graduated from Institut National des Sciences Appliquées de Rennes 1974 in France. He performed his Thèse de troisième cycle in Computer Science in 1976. From 1978 to 1984 he held a research position at Inria and served as the Directeur de Recherche in this institute since 1985. He has been head of the “Programming Environment for Real Time Applications” group, which has defined and developed the Signal language. He is one of the architects of the Polychrony toolset. Before he retired, his main research interests included the development of theories, tools, and methods for the design of realtime embedded heterogeneous systems.

Jean-Pierre Talpin is senior scientist with Inria and scientific leader of the Inria project-team TEA. Graduated in Applied Mathematics, he received a Master’s degree in Theoretical Computer Science from University Paris 6 and comleted his Ph.D. thesis at Ecole des Mines de Paris, France. He then worked three years as research associate at the European Computer-Industry Research Centre in Munich. He joined Inria in 1995 and led project-team ESPRESSO from 2000 to 2012. He is an associate editor with the ACM’s Transactions on Embedded Computer Systems. He edited three books, guest-edited a dozen scientific journal special issues with ACM and IEEE, and has authored more than one hundred journal articles, book chapters, and conference papers. He received the 2004 ACM Award for the most influential POPL paper and the 2012 ACM/IEEE LICS Test of Time Award.

Loïc Besnard is currently a senior engineer at CNRS, France. He received his PhD degree in Computer Science from University of Rennes 1, France (1992). His research interests include software reliability for the design of embedded systems: modeling, temporal analysis, formal verification, simulation, and synthesis of embedded systems. He participates in the development of the Polychony toolset based on the synchronous language Signal, the POP platform, and with the import of formalisms to AADL. He is also involved in the development of Heptane, a static worst-case execution time estimation tool.

Electronic supplementary material

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Gautier, T., Guy, C., Honorat, A. et al. Polychronous automata and their use for formal validation of AADL models. Front. Comput. Sci. 13, 677–697 (2019). https://doi.org/10.1007/s11704-017-6134-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11704-017-6134-5

Keywords

Navigation