development of sdl-based software for an embedded system ... · development of sdl-based software -...

26
Development of SDL-Based Software for an Embedded System – Practical Experiences Authors: Stefan Bläsius, Josef Maier, Stefan Karg, Günther Kohler Speaker: Günther Kohler www.tenovis.com

Upload: others

Post on 18-Nov-2020

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software for anEmbedded System – Practical Experiences

Authors: Stefan Bläsius, Josef Maier, Stefan Karg, Günther Kohler

Speaker: Günther Kohler

www.tenovis.com

Page 2: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

Contents

h Target platform and its restrictions

h starting with SDL-88 (in-house developed tool)

h development process and quality ensuranceusing SDL & MSC

h host test and target feedback

h target testing with Telelogic’s Microtester

h Development experiences using SDL

h Conclusion

Page 3: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

Target Platform

System Integral 3

LAN

µP µP µP. . .

non-intelligent unitsupporting S-, T- oranalogue-interfaces

intelligent unit(with µP 8018x)

IOM-2-Bus + µP-Bus

... ... ...

Page 4: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

Target Platform

SDL-Tasks and Target Restrictions

ROM<1 MB

RAM<½ MB

Layer 3 CTI DECT

Mobility-

Control

DECT

MMI

Page 5: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

Starting with SDL-88

In-house developed SDL-88 tool

SUN

Workstation

TenovisSDL-88

TenovisList

TenovisSDLGR

StandardSDLPR

TenovisCode Generator

C

PR

List

Page 6: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

Starting with SDL-88

Drawbacks of our in-house SDL toolh inter-process communication not supported

h process instantiation not supported

h insufficient tool chain

=> 1997: turn to Telelogic’s SDT

Page 7: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

development process and qualityensurance using SDL & MSC

Requirements,System-Design

Task1

Task2

Task3

Task4

Block A Block B

Block C

Channel x

Channel y

Page 8: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

development process and qualityensurance using SDL & MSC

Target-Test

MicrotesterEmulator

System-Debugger

Host-Testinteractive(Debugging

with TUSSI)

results,traces

Re-design

Requirements,System-Design

SDL

TESTCASES

MSC

Pre-testedsystem

Quality-ensurance

Host-Testautomatic

(Regression)

Page 9: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

Specifying Test-Cases by Using MSC

~HTML~Test-case :IUT_EX01_testcase_exampleResponsible : Stefan Karg /Günther Kohler

In this example the syntax andsemantics of the test-case designedby MSC are demonstrated.

~HTML~

MSC IUT_EX01_testcase_example

L2 IUT L3

IUT_MOD01_startup

Transmit_req

(DATA 0x01 0x02 0x03)data_ind

(SNR 0x01)

EXPECT_ERROR

Neg_ack

(CAUSE 0x93, SNR 0x01)

EXPECT_ERROR

T_NO_ANSWER

Data_ind(SNR 0x01)

pos_ack(SNR 0x01) transmit_ack

SIM_CMD

E01_TRANSMIT_ERROR

list-process -

E01_TRANSMIT_ERROR

Page 10: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

Regression Testing

(

reportactive, HTML )

specify the

the system

MSC

behaviour of

inputs

and

expectedreactions

IUT

testing setup

+result

IS

(intelligent)comparison

referenceconversion

conversion

commandfilefor testing

shall

reference

Page 11: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

Test Report

Page 12: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

Feedback from Target Testing

MicrotesterEmulator

System-Debuggerresults,traces

TargetSystem

Target-Test

Host-Testinteractive(Debugging

with TUSSI)

Host-Testautomatic

(Regression)

conversion

TESTCASES

Page 13: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

SDL Integration into the Target

“Light integration” of SDL-Systems into the RTOS

SDLprocess

A

SDLprocess

B

SDLprocess

C

C-microlibrary

xinEnvxoutEnv

RTOS

OStask

OStask

OStask

C-basicC-advanced

Page 14: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

On Target Testing with the Microtester

Distribution of the microtester parts

microtester

gateway

microtester

software

GUI

ICEsoftware

GUI

ICE

ICEprobe

targetsoft-ware

target

TCP/ IPICE

target side host A host B

”Lauterbach - Gateway” ascommunication link between thehost and target:•reducing development efforts• no extra communicationmechanism.•no additional interfacehardware on the PBX-boards.

Page 15: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

On Target Testing with the Microtester

GUI of the microtester (Screenshot)

textualtrace

userinterface

Page 16: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

On Target Testing with the Microtester

Advantages:

h microtester offers features for debugging usually only available in a developmentenvironment

h setting breakpoints at SDL-level

h drawing MSC-diagrams out of the target.

Page 17: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

On Target Testing with the Microtester

Restrictions due to our target situationh graphical SDL trace causes a memory overflow.

h record and play mode cannot be used

⇒ because of the multiprocessor system

⇒ because not all tasks are designed with SDT

h recordings are always incomplete as not all events are visible to the microtester.

h different code generators and kernels on the host and target

h different scheduling between C-micro on the target and the C-basic on the host

⇒ original task-loop of the C-micro-kernel has to be modified

h different data structures on host (SUN-Sparc) and target (Intel)

⇒ different byte alignment and byte order leads to message coding (container)

h internal data structures of C-micro code and the C-basic code are completely different

⇒ message coding & conditional compiling

h increased target software with microtester

⇒ different mapping may have effects on debugging

Page 18: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

Memory Usage

ROM

0%

ROM SDL without microtester

CMICRO-KERNEL

9%

CMICRO-MT

0% SDL-SYSTEM

44%

C-Module

18%DEBUG-STRINGS

SDL-INIT-DATA-ROM

1%

FREE for Microtester

28%

SDL-SYSTEM

ROM SDL with the microtester

CMICRO-KERNEL

10%

CMICRO-MT

4%

64%

C-Module

19%

DEBUG-STRINGS

2%

SDL-INIT-DATA-ROM

1%

Page 19: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

Memory Usage

RAMRAM SDL with the microtester

CMICRO-MT

21%

CMICRO-KERNEL

4%

SDL-SYSTEM

71%

C-Module

4%

RAM SDL without microtester

CMICRO-MT

0%

CMICRO-KERNEL

4%

SDL-SYSTEM

71%

C-Module

3%

FREE for Microtester

22%

Page 20: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

Run Time

Influence of the microtester on run time

0 50 100 150 200 250 300

t [ms]

run

time

without microtester 28,810

with microtester (best

case)

275,980

run time

Page 21: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

Development effort: SDL / C

Effort SDL contra C

100

50

75

50

100 100 100 100

0

20

40

60

80

100

120

Design Implementation Testing Extensions

perc

ent

SDL-Implementation C-Implementation

Page 22: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

Errors in SDL and C Implementations

Errors in SDL and C-Implementation

18

16

2

0

2

4

6

8

10

12

14

16

18

20

1998

erro

rs errors totalC-ImplementationSDL-ImplementationC

SDL

Page 23: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

Development Speed with SDT

Development Speed, 1st and 2nd project with SDT

4

1,5

3

0,75

3

0,75

3

0,5

0

0,5

1

1,5

2

2,5

3

3,5

4

4,5

DECT (1.) CTI (2.)

mon

ths

design & specification implementation host test target test

Page 24: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

The Right Tool for the Right Job

++ Use SDL for protocol handling

++ Use SDL for state machines

-- Don’t use SDL for software parts with loops

-- Don’t use SDL for small data bases

Page 25: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

Conclusion

h SDT tool chain + privat adaptations = a highly capableenvironment

h highly paralleled software development

h integration and regression testing throughout nearly thewhole process

h automated documentation, testing and reportgeneration

h measurable increase in development speed and productquality

Page 26: Development of SDL-Based Software for an Embedded System ... · Development of SDL-Based Software - Practical Experiences Presensation on SAM2000 ... process A SDL B SDL process C

Development of SDL-Based Software - Practical Experiences

Presensation on SAM2000

June 28th 2000© Alle Rechte bei Tenovis GmbH & Co. KG , auch für den Fall von Schutzrechtsanmeldungen. Jede Verfügungsbefugnis, wie Kopier- und Weitergaberecht, bei uns.

SAM 2000

Josef Maier Günther Kohler