Design time Methodology for the Formal Verification of Intelligent Domotic Environments

Preview:

DESCRIPTION

Presentation slides for the talk "Design time Methodology for the Formal Verification of Intelligent Domotic Environments" given by Muhammad Sanaullah at the ISAmI 2011 conference.

Citation preview

Fulvio Corno, Muhammad Sanaullah

DAUIN - Dipartimento di Automatica ed Informatica

Politecnico di Torino, Torino, Italy fulvio.corno@polito.it, muhammad.sanaullah@polito.it

http://elite.polito.it/

1

Introduction

Building Blocks

Proposed verification Methodology

Case Study

Verification Results

Conclusion

2

Ambient Intelligence

Integration leads a high degree of complexity

Ensuring correctness is essential

We proposed a design time Formal Verification methodology

3

DogOnt

Dog (Domotic OSGi Gateway)

DogSim

Temporal Logic (UCTL)

UMC Model Checker

4

5

6

7

Linear Temporal Logic

Branching time logic◦ Next (X,N)

◦ Future (F)

◦ Globally (G)

◦ All (A)

◦ Exists (E)

◦ Until (U)

UMC Model Checker

8

9

10

Against every posted request the specific TS must receive an acknowledgment

TS will be available at anytime

Interruption from any TS cannot break/change the execution of the current task

Direct Access to the Bank is not possible

11

Property 1: Against every posted request the specific TS must receive an acknowledgment

◦ AG [openRequest(T1)] AF {tsDone(T1)} true

Property 2: TS will be available at anytime

◦ AG [openRequest(T1)] true

◦ AG [openRequest(T1)] A [true {~ openRequest(T1) } U {tsDone(T1)} true]

12

Property 3: Interruption from any TS cannot break/change the execution of the current task

◦ AG [openRequest(T1)] AF [openRequest(T2)] A[true {~ daDoorOpen (DAExt) } U {tsDone(T1)} true]

◦ AG [openRequest(T1)] AF [openRequest(T3)] A[true {~ daDoorOpen (DAInner) } U {tsDone(T1)} true]

◦ AG [openRequest(T1)] AF [openRequest(T4)] A[true {~ daDoorOpen (DAInner) } U {tsDone(T1)} true]

13

Property 4: Direct Access to the Bank is not possible

◦ AG [daDoorOpen(DAExt)] A[true {~ daDoorOpen (DAInner)} U {extDoorClosed()} ]

◦ AG [daDoorOpen(DAInner)] A[true {~ daDoorOpen (DAExt)} U {innerDoorClosed()} ]

14

Verification => requirements satisfaction,safety, security

The presented methodology ensures◦ the correct behavior of these IDEs

with the use of Formal Model Checking technique.

15

Any Question Thanks For listening

16

Recommended