Towards Formal System Modeling: Making Explicit and Formal the Concurrent and Timed Operational Semantics to Better Understand Heterogeneous Models Julien Deantoni
Total Page:16
File Type:pdf, Size:1020Kb
Towards Formal System Modeling: Making Explicit and Formal the Concurrent and Timed Operational Semantics to Better Understand Heterogeneous Models Julien Deantoni To cite this version: Julien Deantoni. Towards Formal System Modeling: Making Explicit and Formal the Concurrent and Timed Operational Semantics to Better Understand Heterogeneous Models. Embedded Systems. Université Côte d’Azur, CNRS, I3S, France, 2019. tel-02427962 HAL Id: tel-02427962 https://hal.inria.fr/tel-02427962 Submitted on 4 Jan 2020 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Towards Formal System Modeling Making Explicit and Formal the Concurrent and Timed Operational Semantics to Better Understand Heterogeneous Models Julien Deantoni Habilitation à Diriger les Recherches Habilitation committee: Alain Girault, Inria Grenoble Rhône-Alpes, reviewer Hans Vangheluwe, University of Antwerp, reviewer Reinhard Von Hanxleden, University of Kiel, reviewer Frédéric Mallet, University of Cote d’Azur, examiner Jean-Paul Rigault, University of Cote d’Azur, examiner Benoit Combemale, University of Toulouse Jean Jaurès, invited Contents 1 Introduction 1 1.1 Context..............................................1 1.2 Objectives and Challenges....................................2 1.3 Facts About the Context of my Research.............................5 1.3.1 Research projects.....................................5 1.3.2 Main invited seminar/workshops.............................6 1.3.3 PhD student supervision..................................6 1.3.4 Softwares.........................................7 1.4 Wrap Up and Outline of the Document..............................8 2 Modeling Concurrent and Timed Execution of Models9 2.1 Introduction...........................................9 2.2 Clock Constraint Specification Language............................. 10 2.2.1 Multiform logical time................................... 11 2.2.2 Instants and Time Structure................................ 11 2.2.3 Clocks........................................... 12 2.2.4 Clock Constraints Specification.............................. 13 2.2.5 Definition of a specific subset of instants......................... 14 2.2.6 Clock relations....................................... 15 2.2.7 Clock expressions..................................... 16 2.2.8 Temporal evolutions.................................... 17 2.2.9 CCSL libraries....................................... 17 2.3 Comparing CCSL and temporal logics.............................. 17 2.3.1 Property Specification Language.............................. 18 2.3.2 Comparing PSL and CCSL................................. 19 2.3.3 Sum-up about CCSL and PSL............................... 20 2.4 TimeSquare: the CCSL tool................................... 21 2.4.1 CCSL Implementation.................................. 22 2.4.2 Simulation......................................... 22 2.4.3 Back-ends......................................... 23 2.4.4 Analysis of existing traces................................. 25 2.4.5 Trace Reconciliation.................................... 26 2.4.6 Sum-up about TimeSquare................................ 26 2.5 Using CCSL in different domains................................. 27 2.5.1 Behavior model for SDF .................................. 27 2.5.2 Behavior model of AADL.................................. 31 2.5.3 behavior model of Repetitive Structure Modeling (RSM) models and their execution platform.......................................... 35 2.6 Towards Multi-View Behavior Modeling.............................. 37 2.6.1 Background and related work............................... 38 2.6.2 PRISMSYS: A modeling multi-view framework for systems................ 39 2.6.3 PRISMSYS Execution Semantics............................. 40 2.6.4 PRISMSYS Model Co-Simulation............................. 43 2.6.5 Case Study: CPU thermal controller............................ 44 2.7 Conclusion............................................ 46 iii iv Contents 3 Modeling Concurrent and Timed Operational Semantics of Languages 47 3.1 Introduction........................................... 48 3.2 Ingredients of a Concurrency-Aware Executable DSML...................... 49 3.2.1 Background Knowledge.................................. 49 3.2.2 Language Units Identification............................... 49 3.2.3 Reifying Language Units Coordination........................... 51 3.3 A Language Workbench to Design and Implement Concurrency-Aware Executable DSMLs.... 53 3.3.1 Abstract Syntax Design................................... 53 3.3.2 Domain Specific Actions Design.............................. 54 3.3.3 Model of Concurrency and Communication + DSE Design................. 55 3.4 Integration of the approach in the GEMOC Studio........................ 65 3.4.1 Overview of the GEMOC Studio.............................. 65 3.4.2 Overview of the Execution Framework........................... 65 3.4.3 Interface of the Execution Framework........................... 66 3.4.4 The concurrent and timed Execution Engines....................... 67 3.4.5 Runtime Services linked to the concurrent engine..................... 67 3.5 Validation and Discussion.................................... 69 3.6 Related Work........................................... 70 3.7 Conclusion about the Modeling of Concurrent and Timed Operational Semantics......... 71 4 Coordination Patterns between Heterogeneous Languages 73 4.1 Introduction........................................... 73 4.2 Background on Existing Approaches............................... 74 4.2.1 Composition Approaches................................. 74 4.2.2 Coordination Approaches................................. 77 4.2.3 Leason Learned From Existing Approaches........................ 82 4.3 Language Behavioral Interface.................................. 83 4.4 B-COoL.............................................. 85 4.4.1 Overview.......................................... 85 4.4.2 Abstract Syntax of B-COoL................................. 86 4.4.3 Execution Semantics.................................... 88 4.5 Validation of the Approach.................................... 90 4.5.1 Definition of Coordination Operators between the TFSM and fUML Language...... 90 4.5.2 Use of Coordination Operators in a Surveillance Camera System............. 92 4.5.3 Use of the Coordination Specification........................... 93 4.5.4 Comparison with Existing Approaches........................... 93 4.6 Implementation......................................... 93 4.7 Conclusion............................................ 95 5 Conclusion 99 6 Perspectives 103 6.1 Perspectives About CCSL evolutions/reasoning......................... 103 6.1.1 Exploitation of the CCSL clock graph........................... 103 6.1.2 Extension transition system and/or temporal logic for CCSL model checking....... 105 6.1.3 Multi Physical Dimensions Associated to Simulation Speedup............... 106 6.2 Perspective About the Modeling of Structural Operational Semantics............... 108 6.2.1 Formal specification or abstraction of rewriting rules................... 108 6.2.2 Clarification of the links between various “views” over the semantics........... 108 6.2.3 Integration of the various metalanguages used for SOS modeling............. 109 6.2.4 Helping Writing/Debugging The Operational Semantics.................. 110 6.3 Perspectives About Heterogeneous Modeling and Simulation................... 111 6.3.1 Support for Data Coordination............................... 111 6.3.2 Understand the models “Greyification” for Correct and Formal Coordination....... 112 6.4 Thoughts About Formal System Engineering........................... 114 Bibliography 117 Chapter 1 Introduction Contents 1.1 Context.........................................1 1.2 Objectives and Challenges................................2 1.3 Facts About the Context of my Research.........................5 1.4 Wrap Up and Outline of the Document..........................8 1.1. Context We are more and more interacting with non-natural complex systems, thought up by the human brain like smartphones, industrial robots, vehicles or home automation. Both words complex and system must be de- fined to better understand the context of my research in the last 10 years. According to the Merriam-Webster dictionary, a system is “a regularly interacting or interdependent group of items forming a unified whole”. It comes from the Greek sýstima ,defined by the Centre for the Greek Language1 as “A set of bodies, things, concepts or processes that are interdependent, so that any change in one of them has an effect on one or all of the others”. It is easy to understand from these definitions that speaking about system engineering is speaking about an interdisciplinary approach that deals with a set of tangled elements (or parts). In a system the parts can include very different kinds of entities amongst which: different kinds of software (e.g., a control software or a data processing software); different kinds of hardware