Combining TTCN-3 and Petri Nets for Validation and Test · 3 Thomas Schnattinger, Andrej Pietschker...

8
1 Combining TTCN-3 and Petri Nets for Validation and Test Andrej Pietschker, Thomas Schnattinger Giesecke & Devrient GmbH, München {andrej.pietschker,thomas.schnattinger}@gi-de.com TTCN-3 User Conference 2011 7 – 9 June 2011 - Bled, Slovenia Thomas Schnattinger, Andrej Pietschker Page 2 Agenda Automated testing in the software development process Motivation for system specifications with formal methods Excursion: Basics of Coloured Petri Nets (CPNs) A Coloured Petri Net model for BN processing and jam recovery A Coloured Petri Net model as System Under Test (SUT) Conclusions

Transcript of Combining TTCN-3 and Petri Nets for Validation and Test · 3 Thomas Schnattinger, Andrej Pietschker...

Page 1: Combining TTCN-3 and Petri Nets for Validation and Test · 3 Thomas Schnattinger, Andrej Pietschker Page 5 Test-cases should be applied as early as possible Automated SW-Testing –

1

Combining TTCN-3 and Petri Nets for Validation and Test

Andrej Pietschker, Thomas Schnattinger

Giesecke & Devrient GmbH, München{andrej.pietschker,thomas.schnattinger}@gi-de.com

TTCN-3 User Conference 20117 – 9 June 2011 - Bled, Slovenia

Thomas Schnattinger, Andrej PietschkerPage 2

Agenda

� Automated testing in the software development process

� Motivation for system specifications with formal methods

� Excursion: Basics of Coloured Petri Nets (CPNs)

� A Coloured Petri Net model for BN processing and jam recovery

� A Coloured Petri Net model as System Under Test (SUT)

� Conclusions

Page 2: Combining TTCN-3 and Petri Nets for Validation and Test · 3 Thomas Schnattinger, Andrej Pietschker Page 5 Test-cases should be applied as early as possible Automated SW-Testing –

2

Thomas Schnattinger, Andrej PietschkerPage 3

Giesecke & Devrient ―From Printing Paper Securities to Providing High-Tech Solutions

Government solutions

Security solutions

Banknote and security paper

Banknote processing

19641852 1977 2007

Banknote and security printing

Cards for payment and telecommunications

Certificated machines

Up to 30 years lifetime

Thomas Schnattinger, Andrej PietschkerPage 4

Automated SW-Testing – Where do we Stand?

Automated Unit Tests integrated into the build

Pre-tested unit integrated and tested at componentlevel using TTCN-3 test automation

Stable system releases for system testing

Covered by automated tests

Product AcceptanceTest

StakeholderRequirements

Architecture

Implementation

SystemSpecifications

Design

Page 3: Combining TTCN-3 and Petri Nets for Validation and Test · 3 Thomas Schnattinger, Andrej Pietschker Page 5 Test-cases should be applied as early as possible Automated SW-Testing –

3

Thomas Schnattinger, Andrej PietschkerPage 5

Test-cases should be applied

as early as possible

Automated SW-Testing – Potential Extensions

We need an executable model as a System Under Test (SUT) to apply and verify the test cases already

in the first phases of the development process

Test-cases should be available and verified as early as possible

Thomas Schnattinger, Andrej PietschkerPage 6

System Specifications – Our Current Approach

How do we currently tackle these issues in the specifications?

“Activity diagrams”:

We need formal, executable high-level descriptions for the specifications, e. g. Petri Nets

Page 4: Combining TTCN-3 and Petri Nets for Validation and Test · 3 Thomas Schnattinger, Andrej Pietschker Page 5 Test-cases should be applied as early as possible Automated SW-Testing –

4

Thomas Schnattinger, Andrej PietschkerPage 7

Excursion: Coloured Petri Nets (CPNs)

Some benefits of Coloured Petri Nets

� graphical oriented language with a well-defined semantics for design, specification, simulation and verification of systems

� hierarchical descriptions (subnets)

� description of states and actions (data manipulation)

� formal analysis methods

� tool support � CPN Tools

Petri Net =Places + Transitions + Tokens

Coloured Petri Net = Petri Net +elaborated type system +arbitrary data manipulation

Thomas Schnattinger, Andrej PietschkerPage 8

Banknote Processing with Coloured Petri Nets

Page 5: Combining TTCN-3 and Petri Nets for Validation and Test · 3 Thomas Schnattinger, Andrej Pietschker Page 5 Test-cases should be applied as early as possible Automated SW-Testing –

5

Thomas Schnattinger, Andrej PietschkerPage 9

Banknote Processing with Coloured Petri Nets – Details

Thomas Schnattinger, Andrej PietschkerPage 10

Automated Model Testing – Coupling with TTCN-3

TCP/IP Connections

TCP/IP AdapterComms/CPN

Page 6: Combining TTCN-3 and Petri Nets for Validation and Test · 3 Thomas Schnattinger, Andrej Pietschker Page 5 Test-cases should be applied as early as possible Automated SW-Testing –

6

Thomas Schnattinger, Andrej PietschkerPage 11

Coupling of CPN with TTCN-3 – Demonstration

Thomas Schnattinger, Andrej PietschkerPage 12

Comms/CPN

TCP/IP Connections

BPS200 Controllers

Automated System Release Testing – Coupling with TTCN-3

TCP/IP Adapter

The new approach allows for testing specifications andsystem releases with the same test-cases

CAN Adapter

CAN bus

Page 7: Combining TTCN-3 and Petri Nets for Validation and Test · 3 Thomas Schnattinger, Andrej Pietschker Page 5 Test-cases should be applied as early as possible Automated SW-Testing –

7

Thomas Schnattinger, Andrej PietschkerPage 13

Additional coverage by the new approach

Covered by automated tests

Automated SW-Testing – The New Picture

Automated Unit Tests integrated into the build

Pre-tested unit integrated and tested at componentlevel using TTCN-3 test automation

Stable system releases for system testing

Product AcceptanceTest

StakeholderRequirements

Architecture

Implementation

SystemSpecifications

Design

Thomas Schnattinger, Andrej PietschkerPage 14

Outlook

Model extensions

� Inclusion of timing/performance aspects in the CPN model

� Refinement to the level of single CAN messages

Tool extensions

� CPN model support for SW-architecture decisions

� Test case generation from the model

� Code generation from the CPN model

Page 8: Combining TTCN-3 and Petri Nets for Validation and Test · 3 Thomas Schnattinger, Andrej Pietschker Page 5 Test-cases should be applied as early as possible Automated SW-Testing –

8

Thomas Schnattinger, Andrej PietschkerPage 15

Conclusions

CPN require more effort during specifications, but

� CPN Tools facilitates explicit, unambiguous and completedescriptions and thus better specifications

� The visual representation allows an abstract view, focused on the core elements

� The specifications can be used in automatic and interactive simulations

� Coupling with TTCN-3 allows to use the specifications as aSystem Under Test (SUT) in automated testing

� Test cases can be validated as soon as the specifications are available