runtime verification of
play

Runtime Verification of Executable Models Fernando Macas - PowerPoint PPT Presentation

NWPT 2015 Runtime Verification of Executable Models Fernando Macas fernando.macias@hib.no Adrian Rutle adrian.rutle@hib.no Volker Stolz volker.stolz@hib.no Motivation Modelling offers one more level of abstraction above


  1. NWPT 2015 Runtime Verification of Executable Models Fernando Macías – fernando.macias@hib.no Adrian Rutle – adrian.rutle@hib.no Volker Stolz – volker.stolz@hib.no

  2. Motivation • Modelling offers one more level of abstraction above programming • Close the gap between domain experts and software engineers › Different views of the system › The solution can be specified in the problem space Problem space Solution space Domain experts Software engineers 2

  3. Two types of models Structural models Behavioural models • The metamodel defines • The metamodel defines a type of structure a process language • The model represents a • The model represent a particular structure process • Semantics given by a • Semantics can be expressed as model set of instances transformations (snapshots) • E.g: Class diagrams • E.g: BPMN, Petri nets 3

  4. Verification of Behavioural Models • Testing › Applied on small parts of the model › Cumbersome in big models › Not exhaustive • Model checking › Exhaustive and strong › Bad scalability • Runtime verification 4

  5. Runtime Verification of Behavioural Models • Useful when the system is too complex to be analysed thoroughly 1 • Can be performed over simulations or the actual deployed system • Based on: › Temporal properties: Invariants, implications of present/past events in future events, global properties (e.g: termination) › Monitors: Check properties against running instances 5 1. Leucker et al . A brief account of runtime verification .

  6. Executable Modelling • Definition of models with enough information to be executed • Two alternatives › Interpreted: The model itself is run in a custom runtime environment. The instances are evolved through model transformations 1 › Compiled: The model is transformed into a machine- readable representation, e.g: imperative code 2 • Focus on definition of interpreted process models 6 1. Guermazi et al. Executable Modeling with fUML and Alf in Papyrus 2. Dévai et al. UML Model Execution via Code Generation

  7. Runtime Verification of Executable Models Fernando Macías – fernando.macias@hib.no Adrian Rutle – adrian.rutle@hib.no Volker Stolz – volker.stolz@hib.no

  8. Hierarchy for Executable Modelling • The standardized Meta-metamodel solutions are EMF (MOF) and UML • Both have a bigger focus on structure Metamodel • Limited number of levels • In complex architectures, the levels have to be collapsed Model › Convolution of models › Bad maintainability 8

  9. Hierarchy for Executable Modelling • The standardized Meta-metamodel solutions are EMF (MOF) and UML • Both have a bigger focus Typed by on structure Metamodel • Limited number of levels • In complex architectures, Typed by the levels have to be collapsed Model › Convolution of models › Bad maintainability 8

  10. Hierarchy for Executable Modelling 9

  11. Hierarchy for Executable Modelling • Our hierarchy exploits Model the concept of Multilevel Typed by Modelling Model Typed by “Enabling modelling at an Model arbitrary number of meta- Typed by levels” 1 Model Typed by Instance 9 1. De Lara et al. When and How to Use Multilevel Modelling

  12. Hierarchy for Executable Modelling Model Typed by Model Typed by Model Typed by Model Typed by Instance 10

  13. Hierarchy for Executable Modelling • Our hierarchy exploits Model the concept of Deep Typed by Metamodelling Model Typed by Typed by “An element in a model Model can be typed by another Typed by Typed by element several models above” Model Typed by Instance 10

  14. Hierarchy for Executable Modelling • This hierarchy allows to Model › Define custom executable Typed by modelling languages Model › Create models according to Typed by Typed by those languages Model › Run the instances with default semantics Typed by Typed by › Customize semantics Model › Simulation › Deployment Typed by › Runtime verification over the running instances Instance 11

  15. Property Specification Language Model Typed by Model Typed by Typed by Model Typed by Typed by Model Typed by Instance 12

  16. Property Specification Language • Using the concept of Model Linguistic Extension Typed by Model Specification Language Property “Instantiation within a Typed by Typed by linguistic modelling Model language used to specify Typed by Typed by the models at all metalevels of the Model ontological stack” 1 Typed by Instance 12 1. Rossini et al. A formalisation of deep metamodelling

  17. Property Specification Language 13

  18. Property Specification Language 14

  19. Property Specification Language • Linguistic Extension allows to create properties connected to model elements • Temporal properties expressed over types and instances of the models 14

  20. Property Specification Language • Linguistic Extension allows to create properties connected to model elements • Temporal properties expressed over types and instances of the models • Possibility to define cross-level properties 14

  21. Property Specification Language • Linguistic Extension allows to create properties connected to model elements • Temporal properties expressed over types and instances of the models • Possibility to define cross-level properties • Possibility to link to several instances 14

  22. Property Specification Language Model Typed by Model Specification Language 1 Property Typed by Typed by Model Typed by Typed by Model Typed by Instance 15

  23. Property Specification Language • The hierarchy allows to Model add new languages Typed by (e.g. TLTL, SALT) Model Specification Language 1 Property Typed by Typed by Model Typed by Typed by Model Specification Language 2 Property Typed by Instance 15

  24. Property Specification Language • The hierarchy allows to Model add new languages Typed by (e.g. TLTL, SALT) Model Specification Language 1 Property • Possibility of a Typed by Typed by hierarchy of property Model languages Typed by Typed by Metamodel Language Property Model Specification Language 2 Property Typed by Instance 15

  25. Property Specification Language • The hierarchy allows to Model add new languages Typed by (e.g. TLTL, SALT) Model Specification Language 1 Property • Possibility of a Typed by Typed by hierarchy of property Model languages Typed by Typed by Metamodel Language Property Model Specification Language 2 Property Typed by Instance 15

  26. Property Specification Language 16

  27. Syntax Abstract syntax Concrete syntax G F Model Model ⇒ • Created to be human • Internal representation readable of the model • Synchronized with the • In graph-based models, abstract syntax nodes and relations • Text, diagrams... among them 17

  28. Semantics • LTL temporal operator unrolling          › U ( X ( U ))      › F XF      › G XG • LTL Next operator ( X ) processing    › X ( t ) ( t )  n n 1 • LTL reduction    › GG G 18

  29. Semantics M p (t) M p (t) M p (t+1) Compare F1 (t) Unrolling F1 (t) F1 (t+1) Reduction with instance F2 (t) (MT) F2 (t) F2 (t+1) (MT) (query) M r (t) F1 (t) M p (t+1) F2 (t) Repeat until every property has been reduced to ⊤ or ⊥ 19

  30. Semantics • ATL/EMF implementation abstract rule processX { from input : mmProperties!X to output : mmProperties!UnaryOperator ( formula <- input.formula.formula ) } 20

  31. Semantics as model transformations • ATL/EMF implementation 21

  32. Future work • Integrate our hierarchy of models and languages into an existing framework (GEMOC ), or… • … create a multilevel modelling editor for EMF models • Add new languages for the specification of temporal properties • Seamless and automatic linking of property specification languages with any model in the hierarchy 22

  33. Summary • Introduction of flexible hierarchy for executable modelling • Definition of abstract syntax, concrete syntax and semantics for temporal properties on behavioural models • Runtime Verification of temporal properties on interpreted models. No need for compilation/translation • Usage of deep metamodelling concepts to achieve a customizable hierarchy 23

  34. Summary • Introduction of flexible hierarchy for executable modelling • Definition of abstract syntax, concrete syntax and semantics for temporal properties on behavioural models • Runtime Verification of temporal properties on interpreted models. No need for compilation/translation • Usage of deep metamodelling concepts to achieve a customizable hierarchy Thank you for your attention! 23

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend