Proceedings of the 5th Workshop of the MPM4CPS COST Action
Full text
COST Action IC1404: Multi-Paradigm Modelling for Cyber-Physical Systems http://www.mpm4cps.eu/ Proceedings of the 5th Workshop of the MPM4CPS COST Action November 24-25, 2016 Malaga, Spain Hans Vangheluwe, Vasco Amaral, Holger Giese, Jan Broenink, Bernhard Schätz, Alexander Norta, Paulo Carreira, Miguel Goulão, Antonio Vallecillo, Tanja Mayerhofer (Eds.)
Technical Report No. ITI16/02 Departamento de Lenguajes y Ciencias de la Computación. Universidad de Málaga. Copyright © 2016 for the individual papers by the papers' authors. Copying permitted for private and academic purposes. This volume is published and copyrighted by its editors. Editors: Hans Vangheluwe University of Antwerp (Belgium) Vasco Amaral Universidade Nova de Lisboa (Portugal) Holger Giese Hasso-Plattner-Institut für Softwaresystemtechnik GmbH (Germany) Jan Broenink University of Twente (Netherlands) Bernhard Schätz fortiss GmbH (Germany) Alexander Norta Tallinn University of Technology (Estonia) Paulo Carreira Universidade de Lisboa (Portugal) Miguel Goulão Universidade Nova de Lisboa (Portugal) Antonio Vallecillo Universidad de Málaga (Spain) Tanja Mayerhofer TU Wien (Austria)
Table of Contents Preface............................................................................ I Foundations Modeling Mobility Using Dynamic Topology Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–21 Fernando J. Barros EngineeringHybridModellingLanguages ........................................... 22–34 Sadaf Mustafiz, Cláudio Gomes, Bruno Barroca, Hans Vangheluwe Real-TimeMDE:AnOverview ..................................................... 35–46 Moussa Amrani, Pierre-Yves Schobbens Novel Verification Paradigms for Nonlinear Hybrid Automata . . . . . . . . . . . . . . . . . . . . . . . . . . 47–55 Eva M. Navarro López Usability Driven Development with Usability Software Engineering Modeling Environment (USE-ME) ........................................................................ 56–75 Ankica Bariši´c Automated Analysis of Traceability in Cyber-Physical Systems (Tool Demonstration) . . . . 76–92 Ferhat Erata, Bedir Tekinerdogan Techniques A Hybrid Master (Discrete-Event and Discrete-Time) for Functional Mockup Interface . . . 93–100 Vincent Albert Adding Uncertainty and Units to Quantity Types in Software Models . . . . . . . . . . . . . . . . . . . 101–110 Loli Burgueño, Tanja Mayerhofer, Antonio Vallecillo, Manuel Wimmer Integrating Uncertainty Modelling with Use Case Modelling to Discover Unknowns . . . . . 111–117 Tao Yue, Shaukat Ali, Man Zhang Model-Driven Testing of Cyber-Physical Systems with the Explicit Consideration of Uncertainty(U-Testing) ............................................................ 118–123 Shaukat Ali, Man Zhang, Tao Yue Separation of Concerns in Continuous Time Hierarchical Co-Simulation . . . . . . . . . . . . . . . . 124–130 Cláudio Gomes, Joachim Denil, Bart Meyers, Hans Vangheluwe
Modeling of Cooperation Behavior in Flexible Vehicle Platoon Based on Hybrid Automaton andPredicitiveAnalysis ............................................................ 131–142 Lejla Banjanovic-Mehmedovic Introduction to Physical-Systems Modelling with Bond Graphs (Tutorial) . . . . . . . . . . . . . . . 143–159 Jan F. Broenink Application Domains Architecting the Next Generation of Vehicles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160–174 Patrizio Pelliccione Innovative Designs through Topological Design Space Exploration . . . . . . . . . . . . . . . . . . . . . 175–191 Mike Nicolai Simulation and Design-Time Analysis of the Smart Grid in the Czech Republic . . . . . . . . . . 192–195 Barbora Buhnova A Multi-Domain Approach to Design of CPS in Special Education: Issues of Evaluation andAdaptation(Paper) ............................................................. 196–205 Maya Dimitrova, Anna Lekova, Snezhanka Kostova, Chavdar Roumenin, Milena Cherneva, Aleksandar Krastev, Ivan Chavdarov Education How to Exploit an Experience Gained in CPS Related Projects for Master Students Training PrograminERASMUS+Project .................................................... 206-221 Anatolijs Zabašta, Nadezda Kun ,icina, Oksana Nikiforova, Andrejs Romanovs
Preface In virtually any area of human activity, Cyber-Physical Systems (CPS) are emerging. CPS are truly complex, designed systems that integrate physical, software and network aspects. To date, no unifying theory and no systematic design methods, techniques and tools exist for such systems. Individual mechanical, electrical, network or software engineering disciplines only offer partial solutions. Multiparadigm Modelling (MPM) proposes to model every part and aspect of a system explicitly, at the most appropriate level(s) of abstraction, using the most appropriate modelling formalism(s). Modelling language engineering, including model transformations, and the study of their semantics, are used to realize MPM. MPM is seen as an effective answer to the challenges of designing CPS. The COST Action IC1404: Multi-Paradigm Modelling for Cyber-Physical Systems (MPM4CPS) aims to promote foundations, techniques and tools for multi-paradigm modelling for cyber-physical systems, and to provide educational resources to both academia and industry. This will be achieved by bringing together and disseminating knowledge and experiments on CPS problems and MPM solutions. The fifth MPM4CPS workshop took place on November 24-25, 2016 in Malaga, Spain. The program comprised presentations of MPM4CPS COST Action members discussing their work on foundations, techniques, application domains, and education in MPM4CPS, as well as joint work meetings. These proceedings collect the presentations given at the workshop. They cover many different aspects of multi-paradigm modelling for cyber-physical systems including, but not limited to – foundations of MPM4CPS including –language engineering, –model transformations, –verification paradigms, –traceability; – techniques in MPM4CPS including –co-simulation, –uncertainty modelling, –model-driven testing, –predictive analysis; – application domains of MPM4CPS in the –automotive industry, –aviation industry, –smart grids, –robotics; – education in MPM4CPS. We would like to thank the presenters contributing their work to the MPM4CPS COST Action. Furthermore, we would like to thank Antonio Vallecillo, Loli Burgueño and Tanja Mayerhofer for organizing the workshop. December 2016 I
0RGHOLQJ0RELOLW\XVLQJ'\QDPLF 7RSRORJ\0RGHOV )HUQDQGR-%DUURV 'HSW,QIRUPDWLFV(QJLQHHULQJ 8QLYHUVLW\RI&RLPEUD 3RUWXJDO 0DODJD6SDLQ1RYHPEHU IC1404 – Multi-Paradigm Modelling for Cyber-Physical Systems 7KHUHSUHVHQWDWLRQRIVSDWLDOO\PRYLQJHQWLWLHVLV FRPPRQO\DFKLHYHGXVLQJSXEOLVKVXEVFULEH FRPPXQLFDWLRQ36& 36&FDQEHFRPHFRPSOH[DQGLQHIILFLHQW UHTXLUHVWKHGHILQLWLRQRIUHJLRQVRILQWHUHVW JHQHUDWHVIDOVHSRVLWLYHPHVVDJHV &RQYHQWLRQDOVWDWLFSHHUWRSHHU FRPPXQLFDWLRQ33&WKRXJKXVXDOO\PRUH HIILFLHQWGRHVQRWKDYHWKHUHTXLUHGIOH[LELOLW\WR UHSUHVHQWPRELOHHQWLWLHV ,QWURGXFWLRQ 1
:HKDYHGHYHORSHGWKHLQWHJUDWLRQRI36&DQG 33&VW\OHVXQGHUWKHKLHUDUFKLFDODQGPRGXODU G\QDPLFWRSRORJ\SDUDGLJP 7KHXQLILFDWLRQLVDFKLHYHGXVLQJUXQWLPH WRSRORJ\DGDSWDWLRQ O,WLQYROYHVWKHG\QDPLFFUHDWLRQGHOHWLRQRI OLQNVWRFDSWXUHWKHFXUUHQWLQWHUDFWLRQV EHWZHHQHQWLWLHV 7KHDUFKLWHFWXUHFRPELQHVWKHDGYDQWDJHVRI 36&DQG33&HQDEOLQJDIOH[LEOHVLPXODWLRQ DUFKLWHFWXUH ,QWURGXFWLRQ 7KHDUFKLWHFWXUHVXSSRUWVWZRW\SHVRI36& VW\OHV WKHWUDGLWLRQDOSXVKVW\OHoHYHQWV WKHQRYHOSXOOVW\OHoVDPSOLQJ DEVWUDFWVLQIRUPDWLRQUHTXHVWDQGLQIRUPDWLRQ VHQGLQJ HQDEOHVH[DUDGDUWRVDPSOHDWLWVRZQUDWH %HQHILWVDUHGHPRQVWUDWHGWKURXJKWKHPRGHOLQJ RIDQDLUGHIHQVHVFHQDULRGHVFULEHGLQWKH +\)ORZ PRGHOLQJDQGVLPXODWLRQIUDPHZRUN ,QWURGXFWLRQ 2
3XVK&RPPXQLFDWLRQ 3XOO&RPPXQLFDWLRQ 3
7KH+LJK/HYHO$UFKLWHFWXUH+/$LVD VWDQGDUGIRU06 +/$LVEDVHGRQSXEOLVKVXEVFULEH FRPPXQLFDWLRQ36& +/$HQDEOHVWKHLQWHURSHUDELOLW\RIVLPXODWRUV WRFUHDWHFRPSOH[VFHQDULRV +/$VXSSRUWVIHGHUDWHVDQGIHGHUDWLRQVD FRPELQDWLRQRIIHGHUDWHV +/$2YHUYLHZ +/$REMHFWVFDQEHXVHGWRDFKLHYHWKH FRPPXQLFDWLRQWKURXJKVKDUHGPHPRU\ +/$REMHFWVDUHSDVVLYHHQWLWLHVGHSHQGLQJRQ IHGHUDWHVWREHPRGLILHG 7KHIHGHUDWHVLQYROYHGLQ+/$REMHFW PDQDJHPHQWDQGLQIRUPDWLRQUHWULHYDOKDYHWKHLU UHXVHVHYHUHO\OLPLWHG +/$2YHUYLHZ 10
+/$57,FDQQRWEHPRGLILHG QRVXSSRUWIRU33& +/$VXSSRUWVRQO\IODWPRGHOV FRPSOH[PRGHOVEHQHILWIRUPDKLHUDUFKLFDO UHSUHVHQWDWLRQ +/$LPSRVHV36& 33&FDQSURYLGHDEHWWHUUHSUHVHQWDWLRQ +/$LVEDVHGRQWKHGLVFUHWHHYHQWSDUDGLJP KRZWRUHSUHVHQWFRQWLQXRXVPRGHOV" PRYLQJHQWLWLHV" +/$/LPLWDWLRQV 3XEOLVKVXEVFULEHRSHUDWLRQVSURYLGHDQ DEVWUDFWLRQIRUGHVFULELQJG\QDPLFWRSRORJLHV 1HZFRPSRQHQWVFDQEHDGGHGUHPRYHG G\QDPLFDOO\WRIURPDQHWZRUNZLWKRXWDIIHFWLQJ WKHH[LVWLQJFRPSRQHQWV 33FRPPXQLFDWLRQLVPRUHHIILFLHQWIRU UHSUHVHQWLQJNQRZQOLQNV QRIDOVHSRVLWLYHPHVVDJHV UHTXLUHVQRILOWHUV 2XUVROXWLRQ 8VHG\QDPLF33&WRUHSUHVHQW36& &RPELQLQJ33ZLWK36& 11
&RPELQLQJ33ZLWK36& 7RSRORJ\FDQEHGHVFULEHGLQDFRPSDFWPDQQHU E\EXONFRPPDQGV 'URQH'URQH SXEOLVK&)[\ SXEOLVK')FRPP 5DGDU VXEVFULEH&)[\ VXEVFULEH')FRPP %XONFRPPDQGVFDQEHPDSSHGLQWR33&OLQNV LQ-8VH+\)ORZ 3URYLGHVWKHXQLILFDWLRQRI36&DQG33& &RPELQLQJ33ZLWK36& 12
,QPDQ\PRGHOVZHZDQWWROLQNHQWLWLHVWKDWDUH NQRZQWRLQWHUDFW 3XUVXHUGURQH $SXUVHULVRQO\FRQQHFWHGWRRQHWDUJHW ZK\XVLQJ36&" 5DGDUGURQH $FFXUDWHGHWHFWLRQUHTXLUHVDGDSWLYH VDPSOLQJGHSHQGLQJRQEHDPGURQH GLVWDQFH +\)ORZ H[HFXWLYHFDQFUHDWHG\QDPLFOLQNVWR VXSSRUW33&FRPPXQLFDWLRQ &RPELQLQJ33ZLWK36& &RPELQLQJ33ZLWK36& 13
6SDWLDOSDUWLWLRQLQJFDQEHLQWHJUDWHGZLWK33& LQRUGHUWRDFKLHYHDQHIILFLHQWGHVFULSWLRQRI PRELOHHQWLWLHV :HFRQVLGHUDUHJLRQRILQWHUHVW52,PDQDJHU FRPSRQHQWZLWKWKHDELOLW\WRNHHSWUDFNRI SXEOLVKVXEVFULEH (QWLWLHVFDQGHFODUH52,VWRWKHPDQDJHU ZKHQWKHVHUHJLRQVRYHUODSWKLVFRPSRQHQW VHQGVDVLJQDOWRWKHH[HFXWLYHWKDWFDQDGDSW WKHWRSRORJ\ $LU'HIHQVH $LU'HIHQVH 14
52,V 52,V 15
3HHUWR3HHU&RPPXQLFDWLRQ 52,V 16
$VHQWLWLHVPRYHWKHLUUHJLRQVRILQWHUHVWZLOO HYHQWXDOO\RYHUODS 7KHPDQDJHUXSRQRYHUODSGHWHFWLRQVHQGVD UHTXHVWWRWKHH[HFXWLYHWKDWZLOOFUHDWHDOLQN EHWZHHQWKHUDGDUDQGWKHGURQHVRLWFDQEH WUDFNHG 'URQHFDQQRWEHXVHGLQFRQYHQWLRQDOSXEOLVK VXEVFULEHFRPPXQLFDWLRQVLQFHLWVLQWHUIDFHGRHV QRWPDWFKUDGDUVDPSOLQJSRUW[\ 'URQHSRUW[\0LFRQYH\VWKHSRVLWLRQLQPLOHV ZKLOHWKHUDGDUUHTXLUHVWKLVLQIRUPDWLRQLQNP $LU'HIHQVH 7KHFRPPXQLFDWLRQEHWZHHQWKHUDGDUDQG 'URQHLVHVWDEOLVKHGE\WKH-8VH+\)ORZ FRPPDQG link("Radar","xy","Drone-4", "xyMi", x->x, mi->[1.61*mi[0],1.61*mi[1]]) $LU'HIHQVH 17
$LU'HIHQVH +\)ORZ G\QDPLFSHHUWRSHHUFRPPXQLFDWLRQLV DEOHWRUHSUHVHQWSXEOLVKVXEVFULEH FRPPXQLFDWLRQ ,WFDQDOVRUHSUHVHQWWKHVSDFHSDUWLWLRQLQJ DOJRULWKPVUHTXLUHGWRREWDLQDQHIILFLHQW UHSUHVHQWDWLRQRIPRYLQJHQWLWLHV $GGLWLRQDOO\SHHUWRSHHUOLQNVFDQEH HVWDEOLVKHGXVLQJ-8VH+\)ORZ DGDSWHU FDSDELOLWLHV $LU'HIHQVH 18
6FHQDULRZLWKWZRDLUERUQHUDGDUV5DQG5 PRYLQJDWFRQVWDQWYHORFLWLHVZLWKIL[HGUDGLXV WUDMHFWRULHV 7ZRGURQHV'DQG'PRYLQJDWDFRQVWDQW YHORFLW\EXWZLWKDSLHFHZLVHFRQVWDQWUDGLXV WKDWFKDQJHVDWUDQGRPWLPHV 7KHUDGDUVDUHPRGHOHGE\WKHLUURWDWLQJEHDPV WKDWKDYHDIL[HGSHULRG $UDGDUHFKRLVSURGXFHGZKHQDUDGDUEHDP GHWHFWVDGURQH $LU'HIHQVH 7KHVHLQWHUDFWLRQVUHTXLUHVWKHFUHDWLRQRIDQHZ GHWHFWRUIRUHDFKGURQH LWEHQHILWVIURP33&WRHQDEOHWKHGHWHFWRU WRVDPSOHWKHSRVLWLRQLQIRUPDWLRQIURPERWK WKHUDGDUEHDPDQGIURPDVSHFLILFGURQH 8SRQGHWHFWLRQUDGDUVFDQODXQFKDSXUVXHUWR GLVDEOHWKHGURQH 3XUVXHUVKDYHDGLJLWDOFRQWUROOHUWKDWXVHVD SURSRUWLRQDOODZIRUJXLGDQFH $LU'HIHQVH 19
$%5?$= )% $%5?'E(J> +) ') ; ' J' E( 26
$%5?'E( )% &6) )% 6K )6 %H6 %H6 27
%&6) )% " % HL%>6%&6) )%? +6B$56+ )C$=D 3A+;3 42+342+4B5346#?+$,0C$-)1+'(#? 28
HL%>6%&6) )%? +6B$56+ )C'E(D D 42+"342+B5346#.+-)(/-),1+'(#. > 6,? $=C"?$=@ ?'E(D 2#H## 29
M5N#? ( ;?0 )3O $=C"D6) )% =8 % / 53 !314E(-+?0-C.($ 0%")3 C6%"#;&D 30
M5N#? & > 68? 'E(C"?'E(@ ?$=D $% 31
M5N#? ( ;?0 )3O 'E(C"D6) )% 0%")3C6%"#;&D 32
M5N#? & 0&6) 3CDE P % )%% 6) C;%)6#" PD %) 6 )% = 66C) %D %") E AAA ###A AH";AB 33
EM5 =;60)370%")3 E "A 66 ) E 'E( $= = %% 6)=) %% Q 34
www.unamur.be 5HDO7LPH0'( $Q2YHUYLHZ 0RXVVD$05$1,3LHUUH<YHV6&+2%%(16 &RVW $FWLRQ,& 030&36:RUNVKRS 0iODJD 6SDLQ± 7KXUVGD\ 1RYHPEHU www.unamur.be 2 On a New Project… 35
www.unamur.be 15 Time Representation [1] [TaD]: Time as Data Time information represented within the model Example: clock counters, timers as MM attributes [TaC]: Time as Control Time information integrated at transformation level Example: time manipulation constructs available in the TL [TaE]: Time as Embedding Time not explicitly available Implicit in a third-party language, when translated Requires both model and transformation(s) to become translatable Not mutually exclusive: all three can be mixed! >@ -'H/DUD(*XHUUD$%RURQDW5+HFNHODQG37RUULQL 'RPDLQ6SHFLILF 'LVFUHWH (YHQW0RGHOOLQJ DQG6LPXODWLRQ8VLQJ *UDSK7UDQVIRUPDWLRQ Journal of Software and Systems Modelling± www.unamur.be 16 CONTRIBUTIONS OVERVIEW 42
www.unamur.be 17 Overview & Choices 7LPH5HSUHVHQWDWLRQ 7UDQVIRUPDWLRQ /DQJXDJH 7/ 7LPH 7UDQVIRUPDWLRQ /DQJXDJH 7/ 7LPH5HSUHVHQWDWLRQ Contributions number 5 supporting references (classification, etc.) 40 overviewed contributions Space constraints Some are cited by website (one ref for 10 pubs) Others have several references for slightly different usage Presentation Choice Also related to space constraints First try: by time representation, but does not fit Finally: by TL Statistics By Transformation Language MPL GBT 18 By Time Domain Discrete Continuous Hybrid By Synchronicity Synchronous Asynchronous Hybrid By Communication Style Resource Sharing Message Passing 43
www.unamur.be 19 Summary Tables: MPLs Contribution Domain Language Features Time Rep. StateCharts Discrete Branching / Non-Determ. Asynch. / MPTaC Activity Diags fUML Discrete Branching / Non-Determ. Asynch. / MPTaC MARTE / CCSL Hybrid Branching / Non-Determ. Hybrid / ?? TaD + TaC HybridUML Hybrid Branching / Non-Determ. Asynch. / RSTaD + TaC ForSyDe Hybrid Branching / Non-Determ. Asynch. / RSTaC ModHel’X Hybrid Branching / Non-Determ. Hybdrid / MPTaC GeMoC Hybrid Branching / Non-Determ. Hybrid / ?? TaC 6\QFKURQLFLW\ KLLW &RPPXQLFDWLRQ Asynchronous Message-Passing Resource SharingResource S ge - Passin g Synchronous Hybrid Synchron chronous ybr i )HDWXUHV www.unamur.be 20 Summary Tables: GBTLs Contribution Domain Language Features Time Rep. Petri Nets Discrete Branching / Non-Determ. Asynch. / RSTaC Stochastic Hybrid Branching / Non-Determ. Asynch. / MPTaC De Lara & Vangheluwe Discrete Branching / Non-Determ. Asynch. / Rs TaC De Lara, Guerra et al. Hybrid Branching / Non-Determ. Asynch. / MPTaD + TaE Strobl et al. Discrete Branching / Non-Determ. Asynch. / RSTaD Gapay et al. Discrete Branching / Non-Determ. Asynch. / Rs TaD Moment 2 Discrete Branching / Non-Determ. Asynch. / Rs TaC E-Motions Discrete Branching / Non-Determ. Asynch. / Rs TaC MechatronicUML Hybrid Branching / Non-Determ. Asynch. / MPTaC ATOMPM Discrete Branching / Non-Determ. Asynch. / Rs TaE 6\QFKURQLFLW\ C E KLLW &RPPXQLFDWLRQ Asynchronous Message-Passing Resource SharingResource S ge - P assin g Synchronous Hybrid Synchron chro nous ybri )HDWXUHV 44
www.unamur.be 21 CONCLUSIONS www.unamur.be 22 Paper Summary 1. A Classification for studying Real-Time MDE contributions Which Transformation Language is used? Which characteristics of time are important for V&V? How time is represented in MDE Frameworks? 2. A partial validation on selected contributions 43 papers so far 3. An approach that should be refined, precised and extended Dimension 3 (Time Representation) should be more precise Is there more contribution in the « pure » MDE scope? How these compare with classical GPL approaches for time? (Ptolemy, DEVS, RT-Maude, but also Java, C, Ada, etc.) 45
www.unamur.be 23 Future Work 1. How to gather more papers? Perform a Systematic Litterature Review? Proceed by experience? (contact specialised researchers + my own) Extend the study’s scope? 2. Consider all possible V&V techniques for Real-Time Integrated Testing (i.e. with HW)iscommonfor embedded systems Simulation for continuous systems is also a huge domain Formal Verification is limited to very specific part in the whole system 46
Novel verification paradigms for nonlinear hybrid automata Several application domains Eva M. Navarro López School of Computer Science, Manchester, UK COST Action IC1404 – Multi-Paradigm Modelling for Cyber-Physical Systems (MPM4CPS) Málaga Workshop, WG1 Foundations Málaga, 24th November, 2016 The hybrid system salad DYVERSE: a modelling, verification and control framework Branches of DYVERSE Summary 1The hybrid system salad 2DYVERSE: a modelling, verification and control framework 3Branches of DYVERSE Eva Navarro López DYVERSE 47
The hybrid system salad DYVERSE: a modelling, verification and control framework Branches of DYVERSE The hybrid system recipe The hybrid system salad: A new fresh perspective Different labels for the same idea Combination of continuous dynamics and discrete phenomena Eva Navarro López DYVERSE The hybrid system salad DYVERSE: a modelling, verification and control framework Branches of DYVERSE DYVERSE: a cocktail of disciplines Hybrid automaton framework Research that challenges orthodoxy Mixing theory and practice, breaking boundaries of different disciplines DYnamical-driven VERification of Systems with Energy considerations The first-funded project in the UK on the verification and control of nonlinear hybrid systems Eva Navarro López DYVERSE 48
The hybrid system salad DYVERSE: a modelling, verification and control framework Branches of DYVERSE DYVERSE: a cocktail of disciplines Hybrid automaton framework Hybrid automaton framework: basic elements Eva Navarro López DYVERSE The hybrid system salad DYVERSE: a modelling, verification and control framework Branches of DYVERSE DyverseRBT: automated generation of hybrid automata DyverseBMC: falsification of safety properties Verification of liveness properties A collage of ideas Dynamically-aware abstractions and formal verification: exploiting dynamical properties of systems Application-oriented approach: results for real-world systems and automatic generation of hybrid automata from a dynamical specification Verification of stability-related and liveness properties Complex systems applications Eva Navarro López DYVERSE 49
The hybrid system salad DYVERSE: a modelling, verification and control framework Branches of DYVERSE DyverseRBT: automated generation of hybrid automata DyverseBMC: falsification of safety properties Verification of liveness properties Automated verification as a dynamical analysis tool Eva Navarro López DYVERSE The hybrid system salad DYVERSE: a modelling, verification and control framework Branches of DYVERSE DyverseRBT: automated generation of hybrid automata DyverseBMC: falsification of safety properties Verification of liveness properties DyverseRBT: Dyverse Rigid Body Toolbox What? To generate automatically a general-purpose transition system for the description of mechanical systems with multiple impacts and friction Why? Simulation: To create event-driven simulations of multi-rigid-body mechanical systems Formal verification: Hybrid systems automated verification tools to check that properties of mechanical systems are satisfied Control: To include formal verification results in the control loop to modify system response. Avoid ‘something bad will never happen’ (safety), ensure ‘something good will happen’ (liveness) Eva Navarro López DYVERSE 50
The hybrid system salad DYVERSE: a modelling, verification and control framework Branches of DYVERSE DyverseRBT: automated generation of hybrid automata DyverseBMC: falsification of safety properties Verification of liveness properties Limitations in multi-contact rigid-body systems Beyond the bouncing ball A simple example that cannot be expressed using the classical hybrid automaton framework Eva Navarro López DYVERSE The hybrid system salad DYVERSE: a modelling, verification and control framework Branches of DYVERSE DyverseRBT: automated generation of hybrid automata DyverseBMC: falsification of safety properties Verification of liveness properties The multi-rigid-body (MRB) hybrid automaton Typical hybrid automaton elements Dynamical discrete locations Continuous states Initial states Continuous dynamics Domains of discrete locations Edges (discrete transitions) Guards Reset maps New elements integrating computation of contact forces Computation nodes Non-dynamical discrete locations Eva Navarro López DYVERSE 51
'6//LIHF\FOH $QNLFD%DULãLü ϳ9«ėÏá³đ̺ qIĄÏÆÌđɑ 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( '6//LIHF\FOH $QNLFD%DULãLü ϳ9«ėÏá³đ̺ qIĄÏÆÌđɑ ϳ9 «ėÏá³đ̺ ĄÏÆÌđ qIɑ 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( 58
4XDOLW\LQ8VHLH8VDELOLW\ $QNLFD%DULãLü Ɣ 'LIIHUHQWODQJXDJHV OLNHO\KDYHGLIIHUHQW FRQWH[WVRIXVH Ɣ 7KHLUXVHUVDUHOLNHO\ WRKDYHGLIIHUHQW NQRZOHGJHVHWV Ɣ $PLQLPXPVHWRI RQWRORJLFDOFRQFHSWV LVUHTXLUHGWRXVHWKH ODQJXDJH 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( $QNLFD%DULãLü 8VDELOLW\6RIWZDUH(QJLQHHULQJ0RGHOLQJ(QYLURQPHQW 86(0( 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( 59
$QNLFD%DULãLü 8VDELOLW\6RIWZDUH(QJLQHHULQJ0RGHOLQJ(QYLURQPHQW 86(0( 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( 86(0(LQ'6/OLIHF\FOH $QNLFD%DULãLü 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( 60
86(0(LQ'6/OLIHF\FOH $QNLFD%DULãLü 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( $QNLFD%DULãLü &RQWH[W0RGHOLQJ86(0( 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( 61
$QNLFD%DULãLü 8VHU+LHUDUFK\ 9LVXDOLQR 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( $QNLFD%DULãLü 9LVXDOLQR 8VHU7HPSODWHV 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( 62
$QNLFD%DULãLü &RQWH[W0RGHOLQJ86(0( 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( $QNLFD%DULãLü 9LVXDOLQR &RQWH[W(QYLURQPHQW 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( 63
$QNLFD%DULãLü &RQWH[W0RGHOLQJ86(0( 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( $QNLFD%DULãLü 9LVXDOLQR :RUNIORZV 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( 64
$QNLFD%DULãLü 9LVXDOLQR 6FHQDULRV 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( 86(0(LQ'6/OLIHF\FOH $QNLFD%DULãLü 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( 65
$QNLFD%DULãLü *RDO0RGHOLQJ86(0( 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( $QNLFD%DULãLü 9LVXDOLQR 8VDELOLW\*RDO0RGHO 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( 66
$QNLFD%DULãLü *RDO0RGHOLQJ86(0( 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( $QNLFD%DULãLü 9LVXDOLQR 8VDELOLW\0HWKRGDQG 5HTXLUHPHQWV 9 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( 67
$QNLFD%DULãLü &RYHUDJH(QJLQH86(0( 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( 3XEOLFDWLRQV  [XQE< <gQãQü 6<hE] Z<g<Y !QOkIY ]kY@] <[G GIZ<g OkQ<g ±[jg]GkEQ[O kh<DQYQjs E][EIg[h I<gYs Q[ jPI / GIpIY]dZI[j EsEYI Y]q/ IrdIgQI[EIgId]gj±[+g]EIIGQ[Oh]NjPIÂhj[jIg[<jQ][<Y7]gXhP]d][!]GIYgQpI[IpIY]dZI[j+g]EIhhIh<[G+g<EjQEIh<jjPI ÂÈjP[jIg[<jQ][<Y!] /][NIgI[EI6<YI[EQ</d<Q[$Ej]DIgÃÁÂÅ Ã [XQE<<gQãQü±p<Yk<jQ[OjPI-k<YQjsQ[1hI]N]Z<Q[/dIEQNQE <[Ok<OIhQ[<[OQYI7<s±[+g]EIIGQ[Oh]NjPI]Ej]g<Y/sZd]hQkZ <jjPIÂÇjP[jIg[<jQ][<Y][NIgI[EI][!]GIYgQpI[[OQ[IIgQ[O <[Ok<OIh<[G/shjIZh¥!] /¦!Q<ZQY]gQG<1/1.$Ej]DIg ÃÁÂÄ Ä [XQE<<gQãQü±jIg<jQpIIp<Yk<jQ][]N]Z<Q[/dIEQNQE <[Ok<OIh±[+g]EIIGQ[Oh]NjPI!/jkGI[j.IhI<gEP]ZdIjQjQ][<jjPIÂÇjP [jIg[<jQ][<Y][NIgI[EI][!]GIYgQpI[[OQ[IIgQ[O <[Ok<OIh<[G/shjIZh¥!] /¦!Q<ZQY]gQG<!$Ej]DIgÃÁÂÄ Å [XQE<<gQãQü+IGg]!][jIQg]6<hE]Z<g<Y!QOkIY]kY@]!QOkIY!][jIQg]±+<jjIg[hN]gp<Yk<jQ[O1h<DQYQjs]N]Z<Q[/dIEQNQE <[Ok<OIh±[+g]EIIGQ[Oh]NjPIÂÊjP][NIgI[EI][d<jjIg[Y<[Ok<OIh]Ndg]Og<Zh¥+ ]+¦/+ /ÃÁÂÃ0kEh][gQv][<1/$Ej]DIg ÃÁÂÃ Æ gk[]<gg]E<Gk<gG]!<gfkIh6<YjIg<YIO<h6<hE]Z<g<Y<[G[XQE<<gQãQü±0PI.+/ <E<hIhjkGs]NY<[Ok<OII[OQ[IIgQ[O khQ[O!N]gI[Ig<jQ[O.+<ZIhN]g!]DQYI+P][Ih±[+g]EIIGQ[Oh]NjPIÂÃjP7]gXhP]d][]Z<Q[/dIEQNQE!]GIYQ[O<j/+ / ÃÁÂÃ0kEh][gQv][<!$Ej]DIgÃÁÂÃ Ç [XQE< <gQãQü 6<hE] Z<g<Y <[G !QOkIY ]kY@] ±1h<DQYQjs p<Yk<jQ][ ]N ]Z<Q[/dIEQNQE <[Ok<OIh± [+g]EIIGQ[Oh ]N jPI // ]Ej]g<Y/sZd]hQkZ<jjPIÉjP[jIg[<jQ][<Y][NIgI[EI][jPI-k<YQjs]N[N]gZ<jQ][<[G]ZZk[QE<jQ][h0IEP[]Y]Os¥-10¦ QhD][ +]gjkO<Y/IdjIZDIgÃÁÂÃ È [XQE<<gQãQü6<hE]Z<g<Y!QOkIY]kY@]<[Ggk[]<gg]E<±p<Yk<jQ[OjPI1h<DQYQjs]N]Z<Q[/dIEQNQE <[Ok<OI±[]]X]gZ<Y <[G+g<EjQE<YhdIEjh]N]Z<Q[/dIEQNQE <[Ok<OIh.IEI[jIpIY]dZI[jhIGQjIGDs!<gW<[!Ig[QXY]D<Y/IdjIZDIgÃÁÂÃd<OIh ÄÉÇÅÁÈ É [XQE< <gQãQü 6<hE] Z<g<Y !QOkIY ]kY@] <[G gk[] <gg]E< ±-k<YQjs Q[ 1hI ]N ]Z<Q[/dIEQNQE <[Ok<OI < <hI /jkGs± [+g]EIIGQ[Oh ]N jPI 7]gXhP]d ][ p<Yk<jQ][ <[G 1h<DQYQjs ]N +g]Og<ZZQ[O <[Ok<OIh <[G 0]]Yh ¥+ 01 ÃÁ¦ <j /+ / ÃÁ +]gjY<[G$gIO][1/!$Ej]DIgÃÁÂÂ Ê [XQE<<gQãQü6<hE]Z<g<Y!QOkIY]kY@]<[Ggk[]<gg]E<±-k<YQjsQ[1hI]N/ hkggI[jp<Yk<jQ][!IjP]Gh±[+g]EIIGQ[Oh]N jPI"$.1!°ÃÁÂÂ]QZDg<+]gjkO<Y/IdjIZDIgÃÁ ÂÁ [XQE<<gQãQü6<hE]Z<g<Y!QOkIY]kY@]<[Ggk[]<gg]E<±]qj]gI<EP<kh<DYI/ !]pQ[Oj]q<gG</shjIZ<jQEp<Yk<jQ][± [+g]EIIGQ[Oh ]N jPI ÆjP [jIg[<jQ][<Y 7]gXhP]d ][ !kYjQ+<g<GQOZ !]GIYQ[O ¥!+!°ÃÁ¦ <j !]GIYh ÃÁ 7IYYQ[Oj][ "Iq ;I<Y<[G //0]kg[<Y$Ej]DIgÃÁ $QNLFD%DULãLü 8VDELOLW\GULYHQGHYHORSPHQWZLWK86(0( 74
75
$XWRPDWHG$QDO\VLVRI7UDFHDELOLW\LQ &\EHU3K\VLFDO6\VWHPV )HUKDW(UDWD%HGLU7HNLQHUGRJDQ ,&±0XOWL3DUDGLJP 0RGHOOLQJ IRU &\EHU3K\VLFDO 6\VWHPV &KDOOHQJHVRI7UDFHDELOLW\LQ,QGXVWU\ 6HPDQWLFDOO\PHDQLQJIXOWUDFHDELOLW\ WUDFHDELOLW\UHODWLRQVVKRXOGKDYHDULFKVHPDQWLFPHDQLQJ LQVWHDGRIEHLQJVLPSOHELGLUHFWLRQDOUHIHUHQWLDOUHODWLRQ &RQILJXUDELOLW\RIWUDFHDELOLW\SRVVLEO\G\QDPLFDOO\ WKH VHPDQWLFV RIWUDFHDELOLW\ LVRIWHQVWDWLFDOO\GHILQHG WKHVHPDQWLFVFDQQRWEHHDVLO\DGDSWHGIRUWKHQHHGVRI GLIIHUHQWSURMHFWV GLIIHUHQWWUDFHDEOHHOHPHQWVDQGWKHW\SHVRIUHODWLRQVH[LVWLQ LQGXVWULDOVHWWLQJV 6HYHUDOLQGXVWULHVGHPDQGVIRUPDOSURRIVRIWUDFHDELOLW\ &RQVLVWHQF\FKHFNLQJDQGUHSDLULQJEURNHQWUDFHOLQNV /ϭϰϬϰʹ DƵůƚŝͲWĂƌĂĚŝŐŵDŽĚĞůůŝŶŐĨŽƌLJďĞƌͲWŚLJƐŝĐĂů^LJƐƚĞŵƐ 76
:KDW LV WKHSUREOHP" ,QGXVWULDO8VH&DVHLQ$LUEXV 6\QFKURQL]DWLRQRIUHJXODWLRQGRFXPHQWDWLRQZLWKDGHVLJQ UXOHUHSRVLWRU\ 77
6,'36\VWHP,QVWDOODWLRQ'HVLJQ3ULQFLSOHV /ϭϰϬϰʹ DƵůƚŝͲWĂƌĂĚŝŐŵDŽĚĞůůŝŶŐĨŽƌLJďĞƌͲWŚLJƐŝĐĂů^LJƐƚĞŵƐ &RPSRQHQW2QWRORJ\DQG5XOHV ^ƚƌƵĐƚƵƌĂůͺůĞŵĞŶƚ ƌĂĐŬĞƚ &ĂƐƚĞŶĞƌ WĐůĂŵƉ ƐƐĞŵďůLJ WŚLJƐŝĐĂů ĐŽŵƉŽŶĞŶƚ ůĂŵƉ WͲůĂŵƉ WͲůĂŵƉ E^ϱϱϭϲ ƚƚĂĐŚŵĞŶƚ ĚĞǀŝĐĞ ŽŵƉŽŶĞŶƚ ƐƐĞŵďůLJ KďũĞĐƚWƌŽƉĞƌƚŝĞƐ ƐƵďůĂƐƐKĨ ZĚĨƐůĂďĞů ^ŬŽƐƉƌĞĨ>ĂďĞů ŶŶŽƚĂƚŝŽŶWƌŽƉĞƌƚŝĞƐ WͲĐůĂŵƉE^ϱϱϭϲĐĂŶďĞĨŝdžĞĚŽŶyǁŝƚŚz WŚLJƐŝĐĂůĐŽŵƉŽŶĞŶƚ ^ƚĂŶĚĂƌĚƌĞĨĞƌĞŶĐĞ 2EMHFWLYHV DĂŶĂŐĞƌƵůĞƐĚĞƐŝŐŶƉƌŝŶĐŝƉůĞƐĂŶĚŝŵƉƌŽǀĞƚƌĂĐĞĂďŝůŝƚLJ ƵƚŽŵĂƚĞŝĚĞŶƚŝĨŝĐĂƚŝŽŶŽĨĚĞƐŝŐŶĐŽŶĨůŝĐƚƐĂŐĂŝŶƐƚƌƵůĞƐ 78
,QGXVWULDO8VH&DVHLQ)RUG2WRVDQ 6\QFKURQL]DWLRQRI'HVLJQ6SHFLILFDWLRQVZLWK&RPSXWHU $LGHG'HVLJQ'DWDLQ3URGXFW/LIHF\FOH0DQDJHPHQW %20DQG'HVLJQ6SHFLILFDWLRQV ŽŵƉƵƚĞƌͲĂŝĚĞĚĞƐŝŐŶĂƚĂ ŝůůŽĨDĂƚĞƌŝĂůĂƚĂ ĞƐŝŐŶZƵůĞƐ 79
,QGXVWULDO8VH&DVHLQ+DYHOVDQ ,QWHJUDWLRQZLWK$SSOLFDWLRQ/LIHF\FOH0DQDJHPHQWWRHQVXUH UHOLDELOLW\DQGFRQVLVWHQF\LQWKHV\VWHPXQGHUGHYHORSPHQW 5HTXLUHPHQW &RQWUDFW 5HTXLUHPHQW 6\VWHP 7HVW &DVH 7HVWHG%\ 7HVW 6WRU\%RDUG 'HVLJQ0RGHO 6WRU\%RDUG 5HTXLUHPHQW 6\VWHP 5HTXLUHPHQW 6RIWZDUH 3DUHQW &KLOG 5HTXLUHPHQW +DUGZDUH 3DUHQW &KLHOG 7DVN 3DUHQW &KLOG %XJ &KDQJH 5HTXHVW $FFHVVLEOH 2EMHFW +\SHU/LQN 5HTXLUHPHQW &RQWUDFW 5HODWHG 5HODWHG (QJLQHHULQJ &KDQJH 3URSRVDO $IIHFWHG%\ $IIHFW 7DVN 3DUHQW &KLOG 6KDUH3RLQW 'RFXPHQW $WWDFKPHQW 3UHG 6XF &RQILJXUDWLRQ ,WHP &RQWDLQV $OORFDWHGWR 9DOLGDWLRQ 3ODQ 9DOLGDWHG%\ 9DOLGDWHV &KDQJHVHW ,PSOHPHQWHGE\ 7DUVNL$3ODWIRUPIRU$XWRPDWHG$QDO\VLVRI '\QDPLFDOO\&RQILJXUDEOH7UDFHDELOLW\ 6HPDQWLFV The Paper is accepted by “The 32nd ACM Symposium on Applied Computing (SAC’2017), Programming Languages Track”. 80
2YHUYLHZRI7HFKQLFDO&RQWULEXWLRQV #7DUVNL dĞĐŚŶŝĐĂů tŽƌŬƉĂĐŬĂŐĞƐ &ŽƌŵĂů ^ƉĞĐŝĨŝĐĂƚŝŽŶΘ &ŽƌŵĂů^ĞŵĂŶƚŝĐƐ dƌĂĐĞĂďŝůŝƚLJ DĂŶĂŐĞŵĞŶƚ dƌĂĐĞĂďŝůŝƚLJ sŝƐƵĂůŝnjĂƚŝŽŶ dƌĂĐĞĂďŝůŝƚLJĂƚĂͲ DŽĚĞů ƵƚŽŵĂƚĞĚ ŶĂůLJƐŝƐ ^ĞŵĂŶƚŝĐŽŵĂŝŶ ;dƌĂĐĞĂďŝůŝƚLJͿ >ŽĐĂƚŝŽŶƐ >ŝŶŬƐ ^LJŶƚĂdž ;&ŽƌŵĂůŝƐŵͿ &ŝƌƐƚͲŽƌĚĞƌ>ŽŐŝĐ džŝŽĂŵĂƚŝĐ^Ğƚ dŚĞŽƌLJ ZĞůĂƚŝŽŶĂů ĂůĐƵůƵƐ /ϭϰϬϰʹ DƵůƚŝͲWĂƌĂĚŝŐŵDŽĚĞůůŝŶŐĨŽƌLJďĞƌͲWŚLJƐŝĐĂů^LJƐƚĞŵƐ $XWRPDWHG$QDO\VLVRI'\QDPLFDOO\ &RQILJXUHG7UDFHDELOLW\6HPDQWLFV dƌĂĐĞĂďŝůŝƚLJZƵůĞƐƚŽĚĞĨŝŶĞƚƌĂĐĞĂďŝůŝƚLJƐĞŵĂŶƚŝĐƐ sĂƌŝŽƵƐdƌĂĐĞĂďŝůŝƚLJŶĂůLJƐŝƐŵŝŐŚƚďĞƉĞƌĨŽƌŵĞĚ ƌƚĞĨĂĐƚƐŽƌƉĂƌƚŽĨĂƌƚĞĨĂĐƚƐ 81
7HFKQLFDO&RQWULEXWLRQV#7DUVNL &RQFHSWXDO0RGHOIRU7UDFHDELOLW\ /ϭϰϬϰʹ DƵůƚŝͲWĂƌĂĚŝŐŵDŽĚĞůůŝŶŐĨŽƌLJďĞƌͲWŚLJƐŝĐĂů^LJƐƚĞŵƐ 7HFKQLFDO&RQWULEXWLRQV#7DUVNL )RUPDOL]DWLRQRI7UDFHDELOLW\6HPDQWLFV /ϭϰϬϰʹ DƵůƚŝͲWĂƌĂĚŝŐŵDŽĚĞůůŝŶŐĨŽƌLJďĞƌͲWŚLJƐŝĐĂů^LJƐƚĞŵƐ 82
7DUVNL $SSURDFK /ϭϰϬϰʹ DƵůƚŝͲWĂƌĂĚŝŐŵDŽĚĞůůŝŶŐĨŽƌLJďĞƌͲWŚLJƐŝĐĂů^LJƐƚĞŵƐ 7HFKQLFDO&RQWULEXWLRQV#7DUVNL /ϭϰϬϰʹ DƵůƚŝͲWĂƌĂĚŝŐŵDŽĚĞůůŝŶŐĨŽƌLJďĞƌͲWŚLJƐŝĐĂů^LJƐƚĞŵƐ 83
7UDFHDELOLW\$QDO\VLV dƌĂĐĞĂďŝůŝƚLJ ŶĂůLJƐŝƐ ƵƚŽŵĂƚĞĚ ZĞĂƐŽŶŝŶŐ ŚĂŶŐĞ/ŵƉĂĐƚ ŶĂůLJƐŝƐ ŽŶƐŝƐƚĞŶĐLJ ĐŚĞĐŬŝŶŐ >ŽĐĂƚŝŽŶ ĚŝƐĐŽǀĞƌLJ ZĞĂƐŽŶŝŶŐŽŶ ƌĞůĂƚŝŽŶƐ ^ĐĂůĂďŝůŝƚLJ /ŶƚĞŐƌĂƚŝŽŶŽĨ ĨĨŝĐŝĞŶƚĞĐŝƐŝŽŶ WƌŽĐĞĚƵƌĞƐ /ŶĐƌĞŵĞŶƚĂů ƉƉƌŽĂĐŚ ƵƚŽŵĂƚĞĚ dƌĂĐĞďŝůŝƚLJ>ŝŶŬ ƌĞĂƚŝŽŶ ĞƚǁĞĞŶ DŽĚĞůŝŶŐ >ĂŶŐƵĂŐĞƐ DƵůƚŝͲ ŽŶƐŝƐƚĞŶĐLJ ŚĞĐŬŝŶŐ DŽĚĞů /ŶƚĞŐƌĂƚŝŽŶ dƌĂĐĞĂďŝůŝƚLJĂƚĂͲ DŽĚĞů /ϭϰϬϰʹ DƵůƚŝͲWĂƌĂĚŝŐŵDŽĚĞůůŝŶŐĨŽƌLJďĞƌͲWŚLJƐŝĐĂů^LJƐƚĞŵƐ 0RGHOLQJDQG5HDVRQLQJ$SSURDFKHV DŽĚĞůŝŶŐĂŶĚ ZĞĂƐŽŶŝŶŐ ŽŶƐƚƌĂŝŶƚ^ŽůǀŝŶŐ ;ŽƵŶĚĞĚDŽĚĞů ŚĞĐŬŝŶŐͿ <ŽĚ<ŽĚĂ ĐŽŶƐƚƌĂŝŶƚƐŽůǀĞƌ ĨŽƌƌĞůĂƚŝŽŶĂůůŽŐŝĐ ^d^ŽůǀĞƌƐ ůůŽLJŶĂůLJƐŝƐ ŶŐŝŶĞ <ŽĚ<ŽĚ dŚĞŽƌĞŵWƌŽǀĞƌƐ ϯŚŝŐŚ ƉĞƌĨŽƌŵĂŶĐĞ ƚŚĞƌŽŵƉƌŽǀĞƌ ^Dd^ŽůǀĞƌƐ DŽĚĞůŚĞĐŬŝŶŐ EƵyDsĂ ƐLJŵďŽůŝĐ ŵŽĚĞůĐŚĞĐŬĞƌ &ŝŶŝƚĞ^ƚĂƚĞ ^d^ŽůǀĞƌƐ /ŶĨŝŶŝƚĞ^ƚĂƚĞ ^Dd ^ŽůǀĞƌƐ ŽŶƐŝƐƚĞŶĐLJ ŚĞĐŬŝŶŐ ƌŽĐŽƉĂƚƚŽŽůĨŽƌ ĞĨĨŝĐŝĞŶƚƌĞůĂƚŝŽŶĂů ƉƌŽŐƌĂŵŵŝŶŐ ĨĨŝĐŝĞŶƚ'ƌĂƉŚ ůŐŽƌŝƚŚŵƐ <ŽĚ<ŽĚĂ ĐŽŶƐƚƌĂŝŶƚƐŽůǀĞƌ ĨŽƌƌĞůĂƚŝŽŶĂůůŽŐŝĐ džĂĐƚŽƵŶĚƐ &ŝƌƐƚͲŽƌĚĞƌ ƌĞůĂƚŝŽŶĂůůŽŐĐ dŚĞ^ĂƚŝƐĨŝĂďŝůŝƚLJ DŽĚƵůŽ dŚĞŽƌŝĞƐ >ŝďƌĂƌLJ ;^DdͲ>/Ϳ >ŝŶĞĂƌdĞŵƉŽƌĂů >ŽŐŝĐ;>d>Ϳ /ϭϰϬϰʹ DƵůƚŝͲWĂƌĂĚŝŐŵDŽĚĞůůŝŶŐĨŽƌLJďĞƌͲWŚLJƐŝĐĂů^LJƐƚĞŵƐ 90
7UDFHDELOLW\0DQDJHPHQW:3 dƌĂĐĞĂďŝůŝƚLJ DĂŶĂŐĞŵĞŶƚ ĐůŝƉƐĞsŝĞǁƐ dƌĂĐĞĂďŝůŝƚLJsŝĞǁ ŽŶƚĞdžƚƵĂůsŝĞǁ dĂƌŐĞƚŵĂƉƉŝŶŐ ^ŽƵƌĐĞŵĂƉƉŝŶŐ ĐůŝƉƐĞtŝnjĂƌĚƐ DĂƌŬǁƚLJƉĞ ĞůĞƚĞDĂƌŬ DĂƉDĂƌŬĞƌ ZĞŵŽǀĞ ŚĂŶŐĞdLJƉĞ ĐůŝƉƐĞĐƚŝŽŶƐ ,LJƉĞƌůŝŶŬ ĚĞƚĞĐƚŽƌƐĂŶĚ ŵĞŶƵ ƌĂŐĂŶĚƌŽƉ ^ƵƉƉŽƌƚĞĚ ĐůŝƉƐĞĚŝƚŽƌƐ EĂǀŝŐĂƚŝŽŶ /ϭϰϬϰʹ DƵůƚŝͲWĂƌĂĚŝŐŵDŽĚĞůůŝŶŐĨŽƌLJďĞƌͲWŚLJƐŝĐĂů^LJƐƚĞŵƐ 'HPRQVWUDWLRQ 7UDFHDELOLW\0DQDJHPHQWLQ$FWLRQ /ϭϰϬϰʹ DƵůƚŝͲWĂƌĂĚŝŐŵDŽĚĞůůŝŶŐĨŽƌLJďĞƌͲWŚLJƐŝĐĂů^LJƐƚĞŵƐ 91
'LVFXVVLRQ )LUVWRUGHUWKHRU\RIUHODWLRQVWREHDVROXWLRQIRUWUDFHDELOLW\LQ 030&36" 3UHOLPLQDU\UHVXOWVVKRZVWKDWWKHDSSURDFKZRUNVRQWKH V\QFKURQL]DWLRQRIGHVLJQUXOHVZLWKGHVLJQLQVWDOODWLRQRISK\VLFDO FRPSRQHQWV &XUUHQWO\'3//7VROYHUGRHVQRWH[LVWVIRUWKHWKHRU\ :KDWDERXWRWKHUWKHRULHVDQGFRPELQDWLRQRIWKHRULHV" 6KRXOGZHFRQVLGHUDOVRWKHWHPSRUDOEHKDYLRURIWKH WUDFHDELOLW\" /ϭϰϬϰʹ DƵůƚŝͲWĂƌĂĚŝŐŵDŽĚĞůůŝŶŐĨŽƌLJďĞƌͲWŚLJƐŝĐĂů^LJƐƚĞŵƐ 7KDQN\RXIRU\RXUDWWHQWLRQ :HYDOXH\RXURSLQLRQDQG TXHVWLRQV 92
A hybrid master (discrete-event and discretetime) for Functional Mockup Interface Vincent Albert LAAS-CNRS / University of Toulouse MPM4CPS workshop – Malaga, Spain, 2016 COST Action IC1404 Overview Introduction Solution Experiments Conclusion and perspectives 2 93
Introduction 3 Discrete-time simulation ௗ௫ሺ௧ሻ ௗ௧ ൌ݂ݔݐǡݑݐ ݔݐ݄ൌݔݐௗ௫ሺ௧ሻ ௗ௧ Ǥ݄ 4 94
Discrete-event simulation ሶݍݐൌ݂ݍݐǡݑݐ ݍݐȟݐൌݍݐሶݍݐǤȟݐ ȟൌݍݐȟݐെݍሺݐሻ 5 Discrete-event simulation ሶݍݐൌ݂ݍݐǡݑݐ ݍݐȟݐൌݍݐሶݍݐǤȟݐ ȟൌݍݐȟݐെݍሺݐሻ 1. The required time for the solution of ݍݐ to change by ȟis οݐൌቐ୕ሶ݂݅ ሶݍ്Ͳ λݐ݄݁ݎݓ݅ݏ݁ At this time, the next state will be ݍݐοݐൌݍݐݏ݅݃݊ ሶݍݐכοܳ 6 95
Discrete-event simulation ሶݍݐൌ݂ݍݐǡݑݐ ݍݐȟݐൌݍݐሶݍݐǤȟݐ ȟൌݍݐȟݐെݍሺݐሻ 1. The required time for the solution of ݍݐ to change by ȟis οݐൌቐ୕ሶ݂݅ ሶݍ്Ͳ λݐ݄݁ݎݓ݅ݏ݁ At this time, the next state will be ݍݐοݐൌݍݐݏ݅݃݊ ሶݍݐכοܳ 2. If ሶݍchanges of value before ݐοݐthen ݍൌݍሶݍכ݁ οݐൌ ൞ οܳെݍെݍ݈ ሶݍ ݂݅ ሶݍ്Ͳ λݐ݄݁ݎݓ݅ݏ݁ 7 Discrete-Event System Specification ൏ܺǡܻǡܵǡߜ݅݊ݐǡߜ݁ݔݐǡߜܿ݊ǡɉǡݐܽ ݐܽܵ՜Թǡஶ ା Model DEVS Atomic component Simulator DEVS Parallel DEVS protocol 8 96
Issues h<0 is false at the integration step before ݐଵ h<0 is true at the integration step aݐଵ DEVS FMU 3. Get time of FMU next event 2. Handle FMU input external event 9 1. Continuous /discrete interface 4. Handle FMU internal event Hybrid Master for DEVS-FMI 10 97
DEVS-FMI for ME 11 double predictState(double t) { currentTime = t; horizon = t + lookAheadHorizon; while (currentTime < horizon) currentTime = integrate(currentTime+lookAheadStepSize); newState = fmi2getContinuousState(); outputs = fmi2getReal(); predictions.add(newState); eventInds = fmi2GetEventIndicators() for(eventInds.size) if(eventInds[i] != savedeventInds[i]) handleEvent(); //bisectional search return currentTime; return currentTime; } Experiments 12 98
BouncingBall 13 DC-Motor and PWM Controller 14 99
Quantities Model-Based Representation Domain Model Example Instance: ܮ݁݊݃ݐ݄ ͳͲ േ ͲǤͲͲͳ ݉ 11 8QLW QDPH6WULQJ V\PERO6WULQJ GLPHQVLRQV5HDO>@ FRQYHUVLRQ)DFWRU5HDO>@ RIIVHW5HDO>@ 85HDO [5HDO X 5HDO 4XDQWLW\ YDOXH XQLW P8QLW QDPH 0HWHU V\PERO P GLPHQVLRQV ! FRQYHUVLRQ)DFWRU ! RIIVHW ! XU85HDO [ X T4XDQWLW\ YDOXH XQLW Example 12 0HDVXUH WLPH4XDQWLW\ SRVLWLRQ4XDQWLW\ VWDUW 6HFWLRQ0HDVXUH GXUDWLRQ4XDQWLW\ GLVWDQFH4XDQWLW\ DYJ9HORFLW\4XDQWLW\ DYJ$FFHOHUDWLRQ4XDQWLW\ HQG duration = end.time – start.time distance = end.position – start.position avgVelocity = distance / duration avgAcceleration = (end.velocity – start.velocity) / duration YHORFLW\ 4XDQWLW\ Start A B C N… Measure M0 M1 M2 M3 MN S1 S2 S3 106
Unit Operations 13 8QLW LV%DVH8QLW%RROHDQ LV'HULYHG8QLW%RROHDQ LV8QLWOHVV%RROHDQ LV'LPHQVLRQOHVV%RROHDQ LV&RPSDWLEOH:LWK8QLWX%RROHDQ HTXDOV8QLWX%RROHDQ PXOWLSO\8QLWV8QLWX8QLW GLYLGH8QLWV8QLWX8QLW SRZHU8QLWV5HDOV8QLW Query nature of unit Combine units Compare units Measurement Uncertainty Operations 14 85HDO DGGU85HDO85HDO PLQXVU85HDO85HDO PXOWLSO\U85HDO85HDO GLYLGH%\U85HDO85HDO SRZHUV5HDO85HDO « OHVV7KDQU85HDO%RROHDQ OHVV7KDQ2U(TXDOVU85HDO%RROHDQ JUHDWHU7KDQU85HDO%RROHDQ « Arithmetic operations Comparison operations 107
Quantity Operations 15 4XDQWLW\ FRPSDWLEOH8QLWVT4XDQWLW\%RROHDQ FRQYHUW7RX8QLW4XDQWLW\ FRQYHUW7R6,8QLWV4XDQWLW\ « DGGT4XDQWLW\4XDQWLW\ PLQXVT4XDQWLW\ 4XDQWLW\ PXOWLSO\T4XDQWLW\ 4XDQWLW\ GLYLGH%\T4XDQWLW\ 4XDQWLW\ « OHVV7KDQT4XDQWLW\%RROHDQ OHVV7KDQ2U(TXDOVT4XDQWLW\%RROHDQ JUHDWHU7KDQT4XDQWLW\%RROHDQ « Arithmetic operations Comparison operations Unit conversion operations Unit comparison Example 16 VWDUW 66HFWLRQ0HDVXUH GXUDWLRQ V GLVWDQFH P DYJ9HORFLW\ PV DYJ$FFHOHUDWLRQ PVð HQG duration = end.time – start.time distance = end.position – start.position avgVelocity = distance / duration avgAcceleration = (end.velocity – start.velocity) / duration 00HDVXUH WLPH V SRVLWLRQ P YHORFLW\ PV 00HDVXUH WLPH V SRVLWLRQ P YHORFLW\ PV Start A B C N… Measure M0 M1 M2 M3 MN S1 S2 S3 108
Available Implementations Java: Reference implementation OCL (USE Tool): Specification of operations with preconditions and postconditions Support for imperative use of operations (SOIL) UML (Papyrus, MagicDraw): Support for specifying quantities and computations with quantities Proof-of-concept prototype for executing computations with quantities with fUML Download: https://github.com/moliz/moliz.quantitytypes Implementation 17 USE Tool: https://sourceforge.net/projects/useocl/ MagicDraw: http://www.nomagic.com/products/magicdraw.html Eclipse Papyrus UML: https://eclipse.org/papyrus/ Java Example Length initialPosition = new Length(0, 0.001, Units.Meter); Length finalPosition = new Length(10, 0.001, Units.Meter); Length distance = finalPosition.minus(initialPosition); USE OCL Example !new UReal(’ip’) !ip.x : = 0.0 !ip.u := 0.001 !new Quantity(’initialPosition’) !initialPosition.value := ip ... !distance := finalPosition.minus(initialPosition) Papyrus UML Example Ongoing and Future Work Implementation Evolve fUML proof-of-concept implementation to full implementation Alf implementation (textual action language for fUML) Full integration with Papyrus and MagicDraw Eclipse OCL implementation Refinement of the conceptual model of quantity types Different kinds of uncertainty (e.g., interval, different probability distributions) Different kinds of units (e.g., length units, time units, etc.) Representation of quantities Useable representation of quantities Integration with existing standards, e.g., MARTE and SysML 18 109
Thank You! Questions? Manuel Wimmer [email protected] Antonio Vallecillo [email protected] Tanja Mayerhofer [email protected] Contact Loli Burgueño [email protected] A. Vallecillo, C. Morcillo, and P. Orue. Expressing Measurement Uncertainty in Software Models. In Proc. of 10th Int. Conf. on the Quality of Information and Communications Technology (QUATIC), 1–10, 2016. T. Mayerhofer, M. Wimmer, A. Vallecillo. Adding Uncertainty and Units to Quantity Types in Software Models. In Proc. of 2016 ACM SIGPLAN Int. Conf. on Software Language Engineering (SLE), ACM, 118–131, 2016. References 110
INTEGRATING UNCERTAINTY MODELLING WITH USE CASE MODELLING TO DISCOVER UNKNOWNS Tao Yue, ShaukatAli and Man Zhang (tao, shaukat, manzhang}@simula.no http://www.zen-tools.com http://www.u-test.eu/ Chief Research Scientist, Simula Research Laboratory, Oslo, Norway T T T Y Y S S S h h h k k k Workshop of ICT COST Action1404, Malaga, 2016 U-Test is a EU-funded H2020 project (2015 Jan. – 2017 Dec.) 2 TESTING CYBER-PHYSICAL SYSTEMS UNDER UNCERTAINTY Website: http://www.u-test.eu Overall Funding: 3.71 Million Euros Duration: 2015 to 2018 # Partners: 9 We are going beyond the scope of this project and establishing a long-term, industry-oriented research foundation towards this direction. 111
Two industrial CPS 3 Automated Warehouse (AW) ULMA Handling Systems, Spain Geo Sports (GS) Future Position X (FPX), Sweden http://www.u-test.eu/use-cases/ U-Model U-RUCM Uncertainty Modeling Framework U-Evolve U-Testing U-RUCM is an extension to RUCM for specifying uncertaintiesas part of system requirements. Conceptual model RUCM (Req. Spe.) Test Ready Models in UML Class Diagrams and State Machines 112
The U-Model takes a subjective approach to represent uncertainty. BeliefModel MeasureModel <<import>> Uncertainty Model U <<import>> Man Zhang, Bran Selic, Shaukat Ali, Tao Yue, Oscar Okariz and Roland Norgren, Understanding Uncertainty in CyberPhysical Systems: A Conceptual Model, 12th European Conference on Modelling Foundations and Applications (ECMFA), 2016. https://www.simula.no/file/u-modeltrfinalpdf/download U-MODEL – BELIEF MODEL 6 Measure 1 = objective concept = subjective concept BeliefAgent Belief 1..* Belief Statement 0..* substatements Evidence 0..* «enumeration» IndeterminacyNature nondeterminism insufficientResolution missingInfo composite unclassified Indeterminacy Source source 0..* /source1..* 0..* Uncertainty 0..* 0..* 0..* 0..* Measurement 113
The Uncertainty Model Expands On Uncertainty From Several Different Viewpoints And Introduces Related Abstractions. 7 Uncertainty Geographical Location Occurrence Content Time Environment Pattern 0..* Lifetime 0..1 Locality 0..1 «ISO 3000» Risk 0..1 Effect 0..1 0..* dependency The Purpose Of The Measure Model Is To Give A High-level Introduction Of Commonly Known Uncertainty Measures . 8 Measure Probability Ambiguity Vagueness Fuzziness NonSpecificity 114
U-RUCM integrates U-Model and RUCM. 9 Belief Template Is Newly Introduced To Specify Belief Use Case Specification, Which Inherits The RUCM Template. 101 0 Key Heading Fields Different Flow of Events 115
We apply the best strategy to test the real case study in terms of discovering uncertainties. 9 Test Case Generation Test Case Minimization Test Case Execution GeoSports APML 336 98 #TC #Min. TC %Min. Observed Uncertainty 2085 83.9% Unique Uncertainties 18 New Uncertainty Test infrastructures have been built, which enable the introduction of known indeterminacy sources . -Signal Shielding box and Far From Locator - Unknown indeterminacy sources Acknowledgement 10 122
References Man Zhang, Bran Selic, Shaukat Ali, Tao Yue, Oscar Okariz and Roland Norgren, Understanding Uncertainty in Cyber-Physical Systems: A Conceptual Model, 12th European Conference on Modelling Foundations and Applications (ECMFA), 2016. https://www.simula.no/file/u-modeltrfinalpdf/download Man Zhang, Tao Yue, Shaukat Ali, Bran Selic, Oscar Okariz, Roland Norgren, Karmele Intxausti, Santiago Charramendieta. Specifying Uncertainty in Use Case Models in Industrial Settings. Simula Research Laboratory, Technical Report 2016. https://www.simula.no/publications/specifying-uncertainty-use-case-models-industrial-settings Man Zhang, Shaukat Ali, Tao Yue and Malin Hedman. Uncertainty-based Test Case Generation and Minimization for CyberPhysical Systems: A Multi-Objective Search-based Approach. Simula Research Laboratory, 2016. https://www.simula.no/publications/uncertainty-based-test-case-generation-and-minimization-cyber-physical-systems-multi Tao Yue, Shaukat Ali, Bran Selic, Uncertainty Modeling, Request for Information, Object Management Group, 2016, http://www.omg.org/members/cgi-bin/doc?ad/16-08-01.pdf Tao Yue, Shaukat Ali, Man Zhang and Dipesh Pradhan. Standardization Bodies and Standards Relevant for Uncertainty Modelling, Simula Research Laboratory, Technical Report 2016-05, 2016.https://www.simula.no/publications/standardizationbodies-and-standards-relevant-uncertainty-modelling Man Zhang, Shaukat Ali, Tao Yue and Roland Norgren, Interactively Evolving Test Ready Models with Uncertainty Developed for Testing Cyber-Physical Systems, Submitted to a Journal, https://www.simula.no/file/ist-u-evolvesubmittedtrpdf/download Man Zhang, Shaukat Ali, Tao Yue and Roland Norgren. An Integrated Modeling Framework to Facilitate Model-Based Testing of Cyber-Physical Systems under Uncertainty, Submitted to a Journal, Simula Research Laboratory, Technical Report 2016-02, 2016.https://www.simula.no/file/sosympaperfinaltrpdf/download 11 123
Separation of Concerns in Continuous Time Hierarchical Co-simulation Cl´audio Gomes, Joachim Denil, Bart Meyers, Hans Vangheluwe IC1404 – Multi-Paradigm Modelling for Cyber-Physical Systems November 24–25, 2016, Malaga, Spain Motivation Simulation has helped us so far. . . . . . but not to its full potential. Complex systems have to be partitioned into sub-systems, developed by specialized teams. Their own M&S tools; Some are external companies; Leading to locally (but not globally) optimal solutions: Models of each partial solution cannot be integrated; IP cannot be cheaply disclosed; 124
Co-simulation Theory and techniques to enable global simulation of a coupled system, via the composition of sub-system simulators. Sub-system simulators are virtual mock-ups: Executable binaries; Common API for communication. . . . . . but many different capabilities! I/ O Coup li ng: I/O Coupling Co-simulator: Co-sim Scenario Solver Model + Inputs Outputs Orchestration Algorithm (BUS) Co-simulator Inputs Outputs Simulator Time-stepped communication; Continuous-time dynamics; Approximated inputs; Physical laws; Instantaneous reactions; Solver Model + Inputs Outputs Simulator Si=Xi,Ui,Yi,δ i,λ i,xi(0),φ Ui δi:R×Xi×Ui→Xi λi:R×Xi×Ui→Yior R×Xi→Yi xi(0) ∈Xi φUi:R×Ui×...×Ui→Ui Inputs State O utputs extrapolation co-sim step micro-step 125
Co-simulation Scenario CS =UCS ,YCS ,{Si},L,φ UCS L:Y1×...×Yn×YCS ×U1×...×Un×UCS →Rm ALGORITHM 1: Orchestration. Data: An autonomous scenario CS =∅,YCS ,{Si},L,∅ and a communication step size H. Result: A co-simulation trace. t:= 0; while true do Solve: yi(t)=λi(t,xi(t),ui(t)),for i=1,...,n L(y1(t),...,yn(t),yCS (t),u1(t),...,un(t)) = ¯ 0; xi(t+H):=δi(t,xi(t),ui(t)),for i=1,...,n; t:= t+H; end CS =∅,∅,{S1,S2},L,∅ L=⎡ ⎣ uk−x1 v1 u1−Fk ⎤ ⎦ Concerns Limited Communication: Computer A Computer B Causality Conflict: ...... Algebraic Loops: Strongly Coupled Clusters: Requires: Availability Requires: Jacobian Requires: I/O Dependency 126
Example: Strongly Coupled Clusters Scenario ˙ x1 v1=F1(x1 v1,u1) λ1=x1 v1 ˙ x2 v2=F2(x2 v2,uk uc) λ2=Fk Fc ˙ x3 v3=F3(x3 v3,u3) λ3=x3 v3 Example: Strongly Coupled Clusters Sensitivity ˙ x1 v1=F1(x1 v1,u1) ˙ x2 v2=F2(x2 v2,uk uc) ˙ x3 v3=F3(x3 v3,u3) ∂F1 ∂u1 is small ∂F2 ∂uk is small ∂F2 ∂uc is Large ∂F3 ∂u3 is Large m1=1 c1=0.1 d1=0.5 m2=1 ck=0.1dk=0.1 cc=2 dc=1.3 m3=1 c3=0.1 d3=0.1 127
Example: Strongly Coupled Clusters Sensitivity Strongly Coupled Clusters Optimization Step: Step: Step: 128
Strongly Coupled Clusters Results H=0.01 max x1−˜x1=0.0294 max x2−˜x2=0.0583 max x3−˜x3=0.0582 H=0.1 H=0.005 max x1−˜x1=0.0340 max x2−˜x2=0.0217 max x3−˜x3=0.0214 Conclusion Our approach, underpinned by MDD: Introduce artificial simulators to solve local concerns; Optimize conflicting concerns at global level; Correctness verified via: Analytical solutions with toy examples; Simulation of the coupled model; High accuracy co-simulation; Benefits: Leverage existing standards for co-simulation; Systematically address concerns while reusing existing orchestration algorithms; Downsides (Future work): Keep scenarios readable; Huge search space for conflicting concerns; Lack of formal proof of convergence; 129
Thank you! Bibliography [1] Torsten Blockwitz, Martin Otter, Johan Akesson, Martin Arnold, Christoph Clauss, Hilding Elmqvist, Markus Friedrich, Andreas Junghanns, Jakob Mauss, Dietmar Neumerkel, Hans Olsson, and Antoine Viel. Functional Mockup Interface 2.0: The Standard for Tool independent Exchange of Simulation Models. In 9th International MODELICA Conference, pages 173–184, Munich, Germany, nov 2012. Link¨ oping University Electronic Press; Link¨ opings universitet. [2] Cl´audio Gomes. Foundations for Co-simulation – IWT Proposal. Technical report, University of Antwerp, Antwerp, 2015. [3] Cl´audio Gomes. Foundations for Continuous Time Hierarchical Co-simulation. In ACM Student Research Competition (ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems),pagetoappear,Saint Malo,Brittany,France,2016. [4] Bert Van Acker, Joachim Denil, Paul De Meulenaere, Hans Vangheluwe, Bert Vanacker, and Paul Demeulenaere. Generation of an Optimised Master Algorithm for FMI Co-simulation. In Proceedings of the Symposium on Theory of Modeling & Simulation-DEVS Integrative, pages 946–953. Society for Computer Simulation International, 2015. [5] K Vanherpen, J Denil, P De Meulenaere, and H Vangheluwe. Design-Space Exploration in Model Driven Engineering: An Initial Pattern Catalogue. In Proceedings of the First International Workshop on Combining Modelling with Searchand Example-Based Approaches (CMSEBA), co-located with 17th International Conference on Model Driven Engineering Languages and Systems (MODELS 2014), pages 42–51. CEUR Workshop Proceedings (Vol-1340), sep 2014. 130
,&± 0XOWL3DUDGLJP0RGHOOLQJIRU&\EHU3K\VLFDO6\VWHPV 0RGHOLQJRI&RRSHUDWLRQ%HKDYLRULQ IOH[LEOH 9HKLFOH 3ODWRRQ EDVHG RQ + \EULG $ XWRPDWRQ 9HKLFOH 3ODWRRQ EDVHG RQ + \EULG $ XWRPDWRQ DQG3UHGLFLWLYH$QDO\VLV >ĞũůĂ ĂŶũĂŶŽǀŝĐͲDĞŚŵĞĚŽǀŝĐ &ĂĐƵůƚLJŽĨůĞĐƚƌŝĐĂůŶŐŝŶĞĞƌŝŶŐhŶŝǀĞƌƐŝƚLJŽĨdƵnjůĂ ŽƐŶŝĂĂŶĚ,ĞƌnjĞŐŽǀŝŶĂ K^d/ϭϰϬϰ EŽǀĞŵďĞƌϮϰͲϮϱϮϬϭϲ DĂůĂŐĂ^ƉĂŝŶ ϭ &RQWHVW ŽŽƉĞƌĂƚŝǀĞŝŶƚĞůůŝŐĞŶƚƚƌĂŶƐƉŽƌƚƐLJƐƚĞŵ;Ͳ/d^Ϳ ,LJďƌŝĚĂƵƚŽŵĂƚŽŶŵŽĚĞůŝŶŐŽĨĨůĞdžŝďůĞsĞŚŝĐůĞ WůĂƚŽŽŶ dƌĂĨĨŝĐ ĂƚĂ ŶĂůLJƚŝĐ WƌĞĚŝĐƚŝŽŶ ŽĨ ĐŽŽƉĞƌĂƚŝǀĞ dƌĂĨĨŝĐ ĂƚĂ ŶĂůLJƚŝĐ WƌĞĚŝĐƚŝŽŶ ŽĨ ĐŽŽƉĞƌĂƚŝǀĞ ďĞŚĂǀŝŽƌƉƌŽĨŝůĞƵƐŝŶŐŶĞƵƌĂůŶĞƚǁŽƌŬĂŶĚĨƵnjnjLJʹ ŶĞƵƌŽ;E&/^Ϳ K^d/ϭϰϬϰ EŽǀĞŵďĞƌϮϰͲϮϱϮϬϭϲDĂůĂŐĂ^ƉĂŝŶ Ϯ 131
7UDIILFLQIRUPDWLRQSUHGLFWLRQV dƌĂĨĨŝĐŝŶĨŽƌŵĂƚŝŽŶƉƌĞĚŝĐƚŝŽŶƐ ƐƉĞĞĚ ĨůŽǁĂŶĚ ƚƌĂǀĞůƚŝŵĞ dŚ ƚ ŝ Ĩ ŝ ƚŝ ƚ ĨĨŝ Ĩů Ěŝ ƚŝ Ś dŚ ƌĞĞĐĂ ƚ ĞŐŽƌ ŝ ĞƐŽ Ĩ Ğdž ŝ Ɛ ƚŝ ŶŐ ƚ ƌĂ ĨĨŝ Đ Ĩů ŽǁƉƌĞ Ěŝ Đ ƚŝ ŽŶĂƉƉƌŽĂĐ Ś ĞƐ ĂƌĞƌĞĐŽŐŶŝnjĞĚ ƚŝŵĞͲƐĞƌŝĞƐĂƉƉƌŽĂĐŚĞƐ;ZDĂŶĚZ/DŵŽĚĞůͿ ƉƌŽďĂďŝůŝƐƚŝĐĂƉƉƌŽĂĐŚĞƐ;ĂLJĞƐŝĂŶŶĞƚǁŽƌŬDĂƌŬŽǀĐŚĂŝŶ ĂŶĚDĂƌŬŽǀƌĂŶĚŽŵĨŝĞůĚƐͿĂŶĚ ŶŽŶƉĂƌĂŵĞƚƌŝĐĂƉƉƌŽĂĐŚĞƐ;ĂƌƚŝĨŝĐŝĂůŶĞƵƌĂůŶĞƚǁŽƌŬƐ ƐƵƉƉŽƌƚǀĞĐƚŽƌƌĞŐƌĞƐƐŝŽŶ;^sZͿƚŚĞĂĚĂƉƚŝǀĞŶĞƵƌŽͲĨƵnjnjLJ ƐLJƐƚĞŵ;E&/^ͿͿ K^d/ϭϰϬϰ EŽǀĞŵďĞƌϮϰͲϮϱϮϬϭϲDĂůĂŐĂ^ƉĂŝŶ ϭϱ $GDSWLYH1HXUUR)X]]\$1),6 SUHGLFWLRQPHWKRG dŚĞĂƌƚŝĨŝĐŝĂůŶĞƵƌĂůŶĞƚǁŽƌŬ;EEͿͲ ĂƐĂŶĂŶĂůLJƚŝĐĂůŵĞƚŚŽĚĨŽƌ ǀĂƌŝŽƵƐƉƌĞĚŝĐƚŝŽŶ ƉƵƌƉŽƐĞƐĞŶĞĨŝƚŝŶĚĞƉĞŶĚĞŶĐLJŽŶƚŚĞ ŬŶŽǁůĞĚŐĞŽĨŝŶƚĞƌŶĂůƐLJƐƚĞŵƉĂƌĂŵĞƚĞƌƐ ĐŽŵƉƌĞƐƐĞĚĐŽŵƉĂĐƚ ƐŽůƵƚŝŽŶŝŶƚĞƌŵƐŽĨŵƵůƚŝͲǀĂƌŝĂďůĞƉƌŽďůĞŵƐĂŶĚƌĂƉŝĚ ĐŽŵƉƵƚĂƚŝŽŶ K^d/ϭϰϬϰ EŽǀĞŵďĞƌϮϰͲϮϱϮϬϭϲDĂůĂŐĂ ^ƉĂŝŶ ĐŽŵƉƵƚĂƚŝŽŶ dŚĞE&/^ŝƐĂ ƉĂƌƚŝĐƵůĂƌĐůĂƐƐŽĨƚŚĞEEĨĂŵŝůLJǁŝƚŚĂƚƚƌĂĐƚŝǀĞ ĞƐƚŝŵĂƚŝŽŶĂŶĚůĞĂƌŶŝŶŐƉŽƚĞŶƚŝĂůƐ dŚĞE&/^ĐŽŵďŝŶĞƐƚŚĞƉŽǁĞƌŽĨƚŚĞ&/^ǁŝƚŚĂŶĞƵƌĂůŶĞƚǁŽƌŬ ďĂĐŬͲƉƌŽƉĂŐĂƚŝŽŶůĞĂƌŶŝŶŐĂůŐŽƌŝƚŚŵ ĚĂƉƚŝǀĞŶĞƵƌŽͲĨƵnjnjLJ;E&/^ͿĐŽŵƉƵƚŝŶŐƚĞĐŚŶŝƋƵĞͲ ƚŽĞƐƚŝŵĂƚĞ ƚŚĞĐŽŽƉĞƌĂƚŝǀĞŝŶƚĞƌĂĐƚŝŽŶƐƉƌŽĨŝůĞŝŶƌĞůĂƚŝŽŶƚŽƚŚĞƐƉĞĞĚƐŽĨ ƚŚĞůĞĂĚĞƌĂŶĚĨŝƌƐƚĂŶĚƐĞĐŽŶĚĨŽůůŽǁĞƌǀĞŚŝĐůĞƐ ϭϲ 138
1HXUUR)X]]\0RGHO$1),6 dŚĞE&/^ƐƚƌƵĐƚƵƌĞĐŽŶƐŝƐƚƐŽĨϱůĂLJĞƌƐ ƉƌĞŵŝƐĞƉĂƌĂŵĞƚĞƌƐ K^d/ϭϰϬϰ EŽǀĞŵďĞƌϮϰͲϮϱϮϬϭϲDĂůĂŐĂ ^ƉĂŝŶ ŵĞŵďĞƌƐŚŝƉůĂLJĞƌ ƌƵůĞůĂLJĞƌ ĐŽŶƐĞƋƵĞŶƚƉĂƌĂŵĞƚĞƌƐ ŽƵƚƉƵƚůĂLJĞƌ $1),6 VWUXFWXUH ϭϳ 3UHGLFWLRQUHVXOWVRIFRRSHUDWLRQ EHKDYLRU SURILOH XVLQJ$1),6 ZD^;ƌŽŽƚŵĞĂŶ ƐƋƵĂƌĞĞƌƌŽƌͿ ĐŽĞĨĨŝĐŝĞŶƚŽĨ ĚĞƚĞƌŵŝŶĂƚŝŽŶ;ZϮͿ dŚ ď ů Ĩ K^d/ϭϰϬϰ EŽǀĞŵďĞƌϮϰͲϮϱϮϬϭϲDĂůĂŐĂ ^ƉĂŝŶ dŚ Ğ ď ĞƐƚƌĞƐƵ ů ƚŽ Ĩ ƉƌĞĚŝĐƚŝŽŶZϮсϬϵϵ ZD^сϬϭϱϱĂŶĚ D^сϬϬϮĨŽƌϳ'ĂƵƐƐ ŵĞŵďĞƌƐŚŝƉĨƵŶĐƚŝŽŶƐ ĨŽƌĞĂĐŚŝŶƉƵƚ ǀĂƌŝĂďůĞƐŝŶϭϬĞƉŽĐŚƐ ϭϴ / %DQMDQRYLF0HKPHGRYLF 1 'HOLF , %XWLJDQ 6 .DVDSRYLF DQG , %RVDQNLF 1HXURIX]]\ SUHGLFWLRQ RI FRRSHUDWLRQ LQWHUDFWLRQ SURILOH RI IOH[LEOH URDG WUDLQ EDVHG RQ K\EULG DXWRPDWRQ PRGHOLQJ WK ,QWHUQDWLRQDO &RQIHUHQFH RQ 7UDQVSRUWDWLRQ DQG 7UDIILF (QJLQHHULQJ ,&77( SS /XFHUQ 6ZLW]HUODQG 139
1HXUDOQHWZRUNDVSUHGLFWLRQPHWKRG dŚĞĂƌƚŝĨŝĐŝĂůŶĞƵƌĂůŶĞƚǁŽƌŬ;EEͿͲ ĂƐĂŶĂŶĂůLJƚŝĐĂůŵĞƚŚŽĚĨŽƌ ǀĂƌŝŽƵƐƉƌĞĚŝĐƚŝŽŶ ƉƵƌƉŽƐĞƐ ĞŶĞĨŝƚŝŶĚĞƉĞŶĚĞŶĐLJŽŶƚŚĞŬŶŽǁůĞĚŐĞŽĨŝŶƚĞƌŶĂůƐLJƐƚĞŵ ƉĂƌĂŵĞƚĞƌƐ ĐŽŵƉƌĞƐƐĞĚĐŽŵƉĂĐƚƐŽůƵƚŝŽŶŝŶƚĞƌŵƐŽĨŵƵůƚŝͲ ŝďů ďů Ě ŝĚ ŝ K^d/ϭϰϬϰ EŽǀĞŵďĞƌϮϰͲϮϱϮϬϭϲDĂůĂŐĂ^ƉĂŝŶ ǀĂƌ ŝ Ă ďů ĞƉƌŽ ďů ĞŵƐĂŶ Ě ƌĂƉ ŝĚ ĐŽŵƉƵƚĂƚ ŝ ŽŶ EZyŶĞƵƌĂůŶĞƚǁŽƌŬͲ ƚŽĞƐƚŝŵĂƚĞƚŚĞĐŽŽƉĞƌĂƚŝǀĞŝŶƚĞƌĂĐƚŝŽŶƐ ƉƌŽĨŝůĞŝŶƌĞůĂƚŝŽŶƚŽƚŚĞƐƉĞĞĚƐŽĨƚŚĞůĞĂĚĞƌĂŶĚĨŝƌƐƚĂŶĚƐĞĐŽŶĚ ĨŽůůŽǁĞƌǀĞŚŝĐůĞƐ ϭϵ 6WUXFWXUHRI1$5; EZyŶĞƵƌĂůŶĞƚǁŽƌŬͲ ĨĞĞĚďĂĐŬ ĚLJŶĂŵŝĐŶĞƵƌĂůŶĞƚǁŽƌŬƚŚĞ ŽƵƚƉƵƚƐŝŶƚŝŵĞƐĞƌŝĞƐĚĞƉĞŶĚƐ ŽĨĐƵƌƌĞŶƚŝŶƉƵƚƐĂŶĚƉƌĞǀŝŽƵƐ ŽƵƚƉƵƚƐ dŚĞŝŶƉƵƚƉĂƌĂŵĞƚĞƌƐ ŽĨƚŚĞ EZyŶĞƚǁŽƌŬ Ͳ ƚŚĞƚŝŵĞƐĞƌŝĞƐ ŽĨƚŚĞůĞĂĚĞƌĨŝƌƐƚĂŶĚƐĞĐŽŶĚ ĨŽůůŽǁĞƌƐƐƉĞĞĚƐ dŚĞŽƵƚƉƵƚƉĂƌĂŵĞƚĞƌŽĨƚŚĞ EZyŶĞƚǁŽƌŬ Ͳ ƚŚĞƌŽĂĚ ĐŽŽƉĞƌĂƚŝŽŶďĞŚĂǀŝŽƵƌƉƌŽĨŝůĞ ĨƌŽŵƚŚĞWůĂƚŽŽŶŚLJďƌŝĚ ĂƵƚŽŵĂƚŽŶ K^d/ϭϰϬϰ EŽǀĞŵďĞƌϮϰͲϮϱϮϬϭϲDĂůĂŐĂ^ƉĂŝŶ ϮϬ 140
3UHGLFWLRQUHVXOWVRIFRRSHUDWLRQ EHKDYLRU SURILOH XVLQJ1$5; K^d/ϭϰϬϰ EŽǀĞŵďĞƌϮϰͲϮϱϮϬϭϲDĂůĂŐĂ^ƉĂŝŶ Ϯϭ 3UHGLFWLRQUHVXOWVRIFRRSHUDWLRQ EHKDYLRU SURILOH XVLQJ1$5;IRUFDVH QRLVHGWHVWGDWD K^d/ϭϰϬϰ EŽǀĞŵďĞƌϮϰͲϮϱϮϬϭϲDĂůĂŐĂ^ƉĂŝŶ ϮϮ ĞŚĂǀŝŽƵƌ ƐĐĞŶĂƌŝŽǁŝƚŚϯϮϬϭƐĂŵƉůĞƐ /%DQMDQRYLF0HKPHGRYLF,%XWLJDQ0.DQWDUG]LF6.DVDSRYLF3UHGLFWLRQRI&RRSHUDWLYH3ODWRRQLQJ 0DQHXYHUV XVLQJ1$5;1HXUDO1HWZRUN,(((6PDUWV\VWHPVDQG7HFKQRORJ\667 SS &URDWLD2FWREDU 141
&RQFOXVLRQ &ůĞdžŝďůĞsĞŚŝĐůĞWůĂƚŽŽŶ ŚLJďƌŝĚĂƵƚŽŵĂƚŽŶŵŽĚĞůͲ ĚĞǀĞůŽƉĞĚƚŽƐŝŵƵůĂƚĞĐŽŶƚƌŽůĂŶĚĐŽŽƉĞƌĂƚŝŽŶŝŶƚĞƌĂĐƚŝŽŶƐ ďĞƚǁĞĞŶƚŚĞǀĞŚŝĐůĞƐ ;ũŽŝŶŵĞƌŐĞůĞĂǀĞ WůĂƚŽŽŶͿ dŚĞƉƌŽƉŽƐĞĚŽƵƚƉƵƚďĞŚĂǀŝŽƌĨƵŶĐƚŝŽŶ ĨƌŽŵ ďĞŚĂǀŝŽƵƌƉĂƚƚĞƌŶƐŽĨ ƚŚĞZŽĂĚdƌĂŝŶ ƚŽ ƐƉĞĐŝĨŝĐ ĐŽŽƉĞƌĂƚŝŽŶďĞŚĂǀŝŽƌ ƉƌŽĨŝůĞ Ͳ ĚĞƐĐƌŝďĞƐ ƚŚĞĐŽŵƉůĞdž ƐLJƐƚĞŵŝŶƚĞƌĂĐƚŝŽŶƐŽŶůLJǁŝƚŚŽŶĞǀĂƌŝĂďůĞ dŚĞEZyEĞƵƌĂůŶĞƚǁŽƌŬĂŶĚE&/^ƚĞĐŚŶŝƋƵĞŚĂǀĞ ďĞĞŶ ƵƐĞĚĨŽƌƉƌĞĚŝĐƚŝŽŶŽĨĨůĞdžŝďůĞsĞŚŝĐůĞWůĂƚŽŽŶĐŽŽƉĞƌĂƚŝŽŶ ďĞŚĂǀŝŽƌ WƌŽĨŝůĞƵƐĞĨƵůĨŽƌ/ŶƚĞůůŝŐĞŶƚdƌĂĨĨŝĐDĞŶĂŐĞŵĞŶƚƐLJƐƚĞŵ ƉƌĞĚŝĐƚŝŽŶŽĨƚƌĂĨĨŝĐŵŽďŝůŝƚLJŝŶ/d^ĂƐƐŽĐŝĂƚĞĚǁŝƚŚ ƵŶĐĞƌƚĂŝŶƚŝĞƐ K^d/ϭϰϬϰ EŽǀĞŵďĞƌϮϰͲϮϱϮϬϭϲDĂůĂŐĂ ^ƉĂŝŶ Ϯϯ 142
Introduction to Physical-Systems Modelling with Bond Graphs Jan F. Broenink University of Twente, NL 24 November, Malaga, Spain C1404 – Multi-Paradigm Modelling for Cyber-Physical Systems Tutorial-BG.key - 24 November 2016 Jan Broenink young MPM4CPS, 17+18+ (19) Dec 2015 @ UT Modelling — basics •System •Parts forming a whole; parts have functional relationship •Has boundary: what belongs to the system and what not •Model (of a system) •Description of a system: parts & relations •SimpliRed, but complex enough -to study phenomena relevant for our problem context •Competent Model -as simple as possible, but sufRcient for the goal of the model •Modelling goals -understand dynamic behaviour -compute a reaction in a control system -predict in a design context 2 Figures taken from: J van Amerongen “Dynamical Systems” text book, see reference on slide 31 Sometimes referred to as Fig n.n JvA Tutorial-BG.key - 24 November 2016 143
Jan Broenink young MPM4CPS, 17+18+ (19) Dec 2015 @ UT Modelling - choices what eects to describe •Network of basic elements •complex: structure in submodels, sub-submodels etc •What to model •depends on purpose / goal •Our case •understand physics / dynamic behaviour -on a rather global level -a network of elements •control law design -function blocks (transfer functions) is enough 3 Tutorial-BG.key - 24 November 2016 Jan Broenink young MPM4CPS, 17+18+ (19) Dec 2015 @ UT Interaction in Models •Unilateral •signals approach •Bilateral •physical-systems approach •mutual inSuence •exchange of energy 4 Fig 1.4 and 1.5 JvA Tutorial-BG.key - 24 November 2016 144
Jan Broenink young MPM4CPS, 17+18+ (19) Dec 2015 @ UT Modeling: essential dynamics •Dynamics •Behaviour depends on the past! •Change of variables is essential here •Time •continuous value of time •observe at Rxed intervals: discrete time •Examples 5 Tutorial-BG.key - 24 November 2016 Jan Broenink CPS - PSMC / ECSI 3A/B, 201500053 Modelling: physics domains, bond graphs •Domains •Electro-Magnetic, Mechanical: translation, rotation •Hydraulic, Thermal •Physical effects •in all domains the same •resulting in the same equations! •9 basic elements •C, I, R, Se, Sf •TF: transformer; GY: gyrator •Network: -common effort => 0 junction -common Sow => 1 junction 6 , & 5 06H Tutorial-BG.key - 24 November 2016 145
Jan Broenink young MPM4CPS, 17+18+ (19) Dec 2015 @ UT Ideal behaviour — real components •Ideal: only the essential effect (only one) •Elementary behaviour •Components •physical thing… Spring = spring, and mass, and friction, and? •parasitic effects •Lumped-parameter Models •assume all elementary properties concentrated in elements -mass => point mass -spring => only the spring behaviour, nothing more 7 Tutorial-BG.key - 24 November 2016 Jan Broenink CPS - PSMC / ECSI 3A/B, 201500053 Electrical Domain •Physics Concepts •Ideal Physical Models •Transformer •like ideal electrical transformer -u 1 = n u 2 -i 2 = n i 1 -n = n 1 / n 2 •Gyrator •artiRcial element when within domain -u 1 = r i 2 -u 2 = r i 1 8 transformer Capacitor Resistor inductance TF, GY: only transduce! P 1 = P 2 Tutorial-BG.key - 24 November 2016 146
Jan Broenink CPS - PSMC / ECSI 3A/B, 201500053 Mechanical Domain •Physics Concepts •Ideal Physical Models •Transformer •like ideal lever / gears / chain wheels -F 1 = n F 2 -v 2 = n v 1 -n = n 1 / n 2 •Gyrator •transduction in electromotor -u 1 = r 2 -T 2 = r i 1 9 transformers TF, GY: only transduce! P 1 = P 2 see later! Tutorial-BG.key - 24 November 2016 Jan Broenink young MPM4CPS, 17+18+ (19) Dec 2015 @ UT Bond Graphs — Essence •Essential Idea •Graph to describe dynamic behaviour •Exchange of energy (Sow of power between nodes) -Domain-independent •Graphs: Bond Graphs / Ideal Physical Models •Directed graph: submodels & ideal connections •5 basic physical effects -storage (C, I), dissipation (R), transformation (TF, GY), networks (0, 1), sources (Se, Sf) •Model elements -describe only one single physical effect -compound structures: network of elements •Encapsulation of contents •Interface: ports with 2 variables -(u, i): voltage & current; (F, v): force & velocity •Equations as equalities (math. Equations) -Not as algorithm: u = i * R -> u := i * R of i := u / R 10 Tutorial-BG.key - 24 November 2016 147