modular transformation from af3 to nuxmv
play

Modular transformation from AF3 to nuXmv Sudeep Kanav, Vincent - PowerPoint PPT Presentation

Modular transformation from AF3 to nuXmv Sudeep Kanav, Vincent Aravantinos fortiss GmbH Abstract A transformation between a high-level and a low-level model Two way Modular Employs reusability Implemented in Java


  1. Modular transformation from AF3 to nuXmv Sudeep Kanav, Vincent Aravantinos fortiss GmbH

  2. Abstract • A transformation between a high-level and a low-level model • Two way • Modular • Employs reusability • Implemented in Java

  3. Motivation Support formal verification in our MDE tool AutoFOCUS3

  4. Preliminary: AutoFOCUS3 “AF3” (1/2) Behavior modelling Structure modelling Deployment modelling Hardware modelling …

  5. Preliminary: AutoFOCUS3 “AF3” (2/2) • Model-based development tool for embedded systems • Execution semantics à code generation, simulation, formal verification • Integrates most development phases in one tool and connects them à models for: requirements, architecture, behavior, hardware and for connections between those: traces, deployment https://af3.fortiss.org/

  6. nuXmv 1 • Classical symbolic model checker • Systems are modeled as finite state machines • Supports LTL 2 and CTL 3 specifications 1 https://nuxmv.fbk.eu 2 Linear temporal logic 3 Computational tree logic

  7. What is so special?

  8. What is so special? • Metamodel is not a toy metamodel • Reuse: reusing parts of the forward transformation in reverse transformation.

  9. Real world metamodel • Metamodel not designed for demonstrating model transformations • Legacy metamodel: it has been evolving for 8 years • Elements implement various interfaces related to other features of the tool (e.g., UI)

  10. Real world metamodel

  11. Reuse • Modular design makes reuse easier • Parts of the AF3 to nuXmv transformation used for the trace interpretation

  12. Transformation Description

  13. Chain of transformations

  14. Running example

  15. Running Example t = 1 t = 2

  16. Transformation on the running example

  17. Transformation on the running example ToStateAutomaton

  18. NoValResolution

  19. ArrayToStructure

  20. FlattenStructures

  21. StronglyToWeaklyCausal

  22. Counterexample Transformation • The user needs to observe the trace • Lifting the result to the user level • Instead of performing a reverse transformation, we reuse some parts of the above transformation to achieve this

  23. Counterexample Transformation [ip] – Value of “ip” in the trace

  24. Counterexample Transformation [ip] ⟹ [ip_PRESENT] ? [ip] : NoVal (applying NoValResolution transformation)

  25. Counterexample Transformation [ip] ⟹ [ip_PRESENT] ? [ip] : NoVal ⟹ [ip_PRESENT] ? [[ip_elem0], [ip_elem1]] : NoVal (applying ProductToSimpleTypes transformation)

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