on the formal specification of automata-based programs via specification patterns

Post on 02-Jan-2016

28 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

On the Formal Specification of Automata-based Programs via Specification Patterns Spring/Summer Young Researchers' Colloquium on Software Engineering 2010, Nizhny Novgorod. Andrey Klebanov, SPb SU ITMO supervised by Oleg Stepanov, PhD, SPb SU ITMO and JetBrains. Agenda. - PowerPoint PPT Presentation

TRANSCRIPT

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Spring/Summer Young Researchers' Colloquium on Software Engineering 2010, Nizhny Novgorod

Andrey Klebanov, SPb SU ITMO

supervised by Oleg Stepanov, PhD,

SPb SU ITMO and JetBrains

2

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Agenda

Automata-based programming (AP)Obstacles in formal specificationSpec patterns (SP)SP applicability analysis for APSpecification processConclusion

3

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Automata-based programming (AP)

AP is not about using FSMs for specific problems

AP is a software development paradigm used to design and implement entities with complex behaviour

4

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Automated controlled entity

5

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Automata-based programming book

http://is.ifmo.ru/books/

6

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Agenda

Automata-based programmingObstacles in formal specificationSpec patternsSP applicability analysis for APSpecification processConclusion

7

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Problem overview

Model checking could be successfully applied to automata-based programs

But defining formal specification as a temporal logic formula is an error-prone and time-consuming task Hard to understand Hard to specify correctly

8

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Example of the problem

Between the time an elevator is called at a floor and the time it opens its doors at that floor, the elevator can arrive at that floor at most twice

[]((call & <>open) -> ((!atfloor & !open) U

(open | ((atfloor & !open) U (open | ((!atfloor & !open) U

(open | ((atfloor & !open) U (open | (!atfloor U

open))))))))))

M.B. Dwyer, G.S. Avrunin, J.C. Corbett, “Patterns in Property Specifications for Finite-state Verification,” Proc. 21st Int’l. Conf. Software Engineering. 1999

9

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Existing solutions (non AP)

Different graphical notations:

Helps to understand, but still useless for specification assistance!

10

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Existing solution (AP)

Contracts:

Pros: Simple

Cons:Limited expressive powerLabour-intensive for state groups

A. Borisenko, P. Fedotov, O. Stepanov, A. Shalyto, “Reliable Software with Complex Behavior Development,” Proc. 5th Central and Eastern European Software Engineering Conf. in Russia. 2009

11

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Suggested solution

Express verifiable requirements in a controlled natural language

12

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Solution details

The language is defined by a formal grammar No need in NLP Customizable for different domains

The grammar is based on the set of specification patterns (SP) For each requirement equivalent verifiable formal

mapping exists

13

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Significance of SP in AP

… it is important to consider temporal properties patterns (structures) which are most suitable and appropriate for automata-based programs verification. Existence of such patterns would allow focusing on classes of temporal properties of automata models which definitely would facilitate flow chart development for automata-based programs verification

K.A. Vasileva, E.V. Kuzmin, “LTL Verification of Automaton Programs,” Modeling and Analysis of Information Systems, vol. 14, no. 1, pp. 3–14, 2007. (in Russian)

14

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Agenda

Automata-based programmingObstacles in formal specificationSpec patternsSP applicability analysis for APSpecification processConclusion

15

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Spec patterns

SP is a generalized description (both formal and in natural language) of a commonly occurring requirement on a permissible state sequences in a finite-state model of a system

Formally describes some aspect of a system’s behaviour

M.B. Dwyer, G.S. Avrunin, J.C. Corbett, “Patterns in Property Specifications for Finite-state Verification,” Proc. 21st Int’l. Conf. Software Engineering. 1999.

16

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Spec patterns

Property = SP + Scope

17

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Spec patterns

Scope – an extent of the system execution over which the property should hold

18

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Spec patterns

Globally

Before Q

After Q

Between Q and R

After Q until R

State sequence

Q R Q R Q

Sco

pe

19

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Spec patterns

Property patterns

Occurrence Order

AbsenceBounded existence

Universality Existence

Precedence

Response Chain precedence

Chain response

20

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

“Absence” pattern

Intent To describe a portion of a system's execution that is free of certain events or states. Also known as “Never”.

Mapping LTL Scope Mapping

Globally [](!P)

Before R <>R -> (!P U R)

After Q [](Q -> [](!P))

Between Q and R []((Q & !R & <>R) -> (!P U R))

After Q until R [](Q & !R -> (!P W R))

CTL Scope Mapping

Globally AG(!P)

… …After Q until R AG(Q & !R -> A[!P W R])

Example and known uses

This pattern could be used to specify either entire model properties or state group properties. To specify a safety property the pattern should be used with a “Global” scope. For example when it’s required to specify a property: “Automaton A never gets into the state s.”

Relationships with other patterns

21

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Agenda

Automata-based programmingObstacles in formal specificationSpec patternsSP applicability analysis for APSpecification processConclusion

22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Applicability analysis

SP were extracted from some spec (500+) for traditionally (non-AP) developed programs

Is it worth using SP for AP formal specification?

I.e. is it possible to express requirements for AP via SP?

23

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Intermediate results organization

№ Requirement Original formal mapping

Pattern, Scope

Source

17 If either heater of one of the valves failure has happened, then coffee machine (automaton A0) will mandatory change its state to the state 5.

AG((y31 = 4 | y32 = 4 | y2 = 4) & y0 = 2 → A(y0 = 2 U y0 = 5)))

Response (constrained), Globally

AG(P → A(S)),

P: (y31 = 4 | y32 = 4 | y2 = 4) & y0 = 2,

S: y0 = 2 U y0 = 5

2

24

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Applicability analysis

• 77 requirements for 13 programs from 15 sources

• 87% could be expressed via 5 (out of 8) patterns

NB: data is outdated (110+ requirements)

25

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Inexpressible properties

Issues in the model?

SP (“Absence” pattern): [](Q & !R -> (!P W R))Q: Resource is holdP: Resource is freeR: Resource is released

If the resource is hold, then it’s not free until it’s released.

o1.x1 W o1.z1 &G (o1.z2 -> (o1.x1 W o1.z1) &o1.z1 -> (!o1.x1 W o1.z2))

26

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

SP adaptation for AP

Examples and Known Uses

The most common example is mutual exclusion. In a state-based model, the scope would be global and P would be a state formula that is true if more than one process is in its critical section.

Examples and Known Uses

This pattern could be used to specify either entire model properties or state group properties. To specify a safety property the pattern should be used with a “Global” scope. For example when it’s required to specify a property: “Automaton A never gets into the state s.”

Original example for the “Absence” pattern:

Adapted example:

27

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Agenda

Automata-based programmingProblem overviewSpec patternsSP applicability analysis for APSpecification processConclusion

28

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Grammar (an extract)

<requirement> ::= <scope> <pattern>

<scope> ::= «For all the states holds that» | «Before the state where Q, holds that» | «After the state where Q, holds that» | «Between the states where Q and R, holds that» | «After the state where Q, before the state where R, holds that»

<pattern> ::= <absence> | <universality> | <existence> | <constrained existence> | <precedence> | <response> | <constrained response> | <chain precedence> …

<absence> ::= «never P.»

… …

<response> ::= «always if P, then eventually S.»

… …

<requirement> is a start nonterminal symbol

29

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Specification process

Informal algorithm:1. Extract property (generally some simple

model predicate)2. Select pattern and scope3. Perform derivation4. Based on the step 1 and step 2 data get

formal mapping for model checking

30

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Example (Original property)

Coffee machine control system never gets into the state where it doesn’t respond to either system timer events, or buttons “OK” or “Cancel”

E.V. Kuzmin, V.A. Sokolov, “Modeling, Specification, and Verification of Automaton Programs,” Programming and Computer Software, vol. 34, no. 1, pp. 38–60, 2008

31

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Example (Step 1)

Coffee machine control system never gets to the state where it doesn’t respond to either system timer events, or buttons “OK” or “Cancel”

act = end

32

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Example (Step 2)

Adverb “never” implies using “Absence” pattern with “Global” scope

33

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Example (Step 3)

<requirement> → <scope> <pattern> → For all the states holds <pattern> → For all the states holds <absence> → For all the states holds that never P

34

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Example (Step 4)

For all the states holds that never act = end

Formal expressions for model checking are: AG(! act = end) and □(!act = end)

35

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Agenda

Automata-based programmingObstacles in formal specificationSpec patternsSP applicability analysis for APSpecification processConclusion

36

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Summary

Significant obstacle exists in formal specification

SP facilitates specifying formal propertiesSP are applicable for AP, light adaption of the

original system is requiredSP could be a basis of the grammar-driven

specification process

37

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Open issues

Theoretical side: Inexpressible properties analysis (also absent in

the original SP paper) New patterns

Practical side: Tool support and integration Wizard for the specification process

38

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

On the Formal Specification of Automata-based Programs via Specification Patterns

Thank you!

Andrey Klebanov

SPb SU ITMOklebanov.andrey@gmail.com

top related