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

modular transformation from af3 to nuxmv
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Modular transformation from AF3 to nuXmv

Sudeep Kanav, Vincent Aravantinos fortiss GmbH

slide-2
SLIDE 2

Abstract

  • A transformation between a high-level and a low-level model
  • Two way
  • Modular
  • Employs reusability
  • Implemented in Java
slide-3
SLIDE 3

Motivation

Support formal verification in our MDE tool AutoFOCUS3

slide-4
SLIDE 4

Preliminary: AutoFOCUS3 “AF3” (1/2)

Behavior modelling Structure modelling Deployment modelling Hardware modelling …

slide-5
SLIDE 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/

slide-6
SLIDE 6

nuXmv1

  • Classical symbolic model checker
  • Systems are modeled as finite state machines
  • Supports LTL2 and CTL3 specifications

1 https://nuxmv.fbk.eu 2 Linear temporal logic 3 Computational tree logic

slide-7
SLIDE 7
slide-8
SLIDE 8

What is so special?

slide-9
SLIDE 9

What is so special?

  • Metamodel is not a toy metamodel
  • Reuse: reusing parts of the forward transformation

in reverse transformation.

slide-10
SLIDE 10

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)

slide-11
SLIDE 11

Real world metamodel

slide-12
SLIDE 12

Reuse

  • Modular design makes reuse easier
  • Parts of the AF3 to nuXmv transformation used for the

trace interpretation

slide-13
SLIDE 13

Transformation Description

slide-14
SLIDE 14

Chain of transformations

slide-15
SLIDE 15

Running example

slide-16
SLIDE 16

Running Example t = 1 t = 2

slide-17
SLIDE 17

Transformation on the running example

slide-18
SLIDE 18

Transformation on the running example

ToStateAutomaton

slide-19
SLIDE 19

NoValResolution

slide-20
SLIDE 20

ArrayToStructure

slide-21
SLIDE 21

FlattenStructures

slide-22
SLIDE 22

StronglyToWeaklyCausal

slide-23
SLIDE 23

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
  • f the above transformation to achieve this
slide-24
SLIDE 24

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

slide-25
SLIDE 25

Counterexample Transformation [ip] ⟹ [ip_PRESENT] ? [ip] : NoVal

(applying NoValResolution transformation)

slide-26
SLIDE 26

Counterexample Transformation [ip] ⟹ [ip_PRESENT] ? [ip] : NoVal ⟹ [ip_PRESENT] ? [[ip_elem0], [ip_elem1]] : NoVal

(applying ProductToSimpleTypes transformation)