24.12.2012 Views

Real Time Developer Studio (RTDS) tool for ... - PragmaDev

Real Time Developer Studio (RTDS) tool for ... - PragmaDev

Real Time Developer Studio (RTDS) tool for ... - PragmaDev

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

19/04/2010<br />

TASTE an assert-project / ESA / Confidential<br />

<strong>Real</strong> <strong>Time</strong> <strong>Developer</strong> <strong>Studio</strong><br />

(<strong>RTDS</strong>)<br />

<strong>tool</strong> <strong>for</strong> Verification of properties<br />

and<br />

automatic code generation<br />

1


<strong>PragmaDev</strong> – Company<br />

19/04/2010<br />

TASTE an assert-project / ESA / Confidential<br />

Dedicated to the development of a<br />

modelling <strong>tool</strong><br />

<strong>for</strong> the development of<br />

event driven software.<br />

2


<strong>PragmaDev</strong> – Core technology<br />

Specification and Description Language<br />

SDL main characteristics:<br />

• ITU-T standard (Z.100),<br />

• Best modeling language <strong>for</strong> event<br />

19/04/2010<br />

driven systems (Telecom<br />

standards),<br />

• Object oriented (since ’92),<br />

• Formal (complete and non<br />

ambiguous),<br />

• A UML profile based on SDL has<br />

been standardized,<br />

• Increase quality by a ratio of 5,<br />

• Reduces development time by<br />

30%.<br />

TASTE an assert-project / ESA / Confidential<br />

3


<strong>PragmaDev</strong> – Supported languages<br />

19/04/2010<br />

Analysis<br />

Specification<br />

Design<br />

TASTE an assert-project / ESA / Confidential<br />

UML<br />

C<br />

C++<br />

SDL<br />

Z.100<br />

SDL-RT<br />

In<strong>for</strong>mal Fully <strong>for</strong>mal Semi <strong>for</strong>mal<br />

4


<strong>PragmaDev</strong> – Modelling levels<br />

In<strong>for</strong>mal modelling <strong>for</strong> requirements: UML<br />

• Edition<br />

• C++ stubs generation<br />

Semi-<strong>for</strong>mal modelling <strong>for</strong> design: SDL-RT<br />

• Edition<br />

• Syntaxic et semantics checking<br />

• Code generation<br />

• Graphical debugging<br />

Fully <strong>for</strong>mal modelling <strong>for</strong> specification: SDL Z.100<br />

• Edition<br />

• Syntaxic et semantics checking<br />

• Simulation<br />

• Verification<br />

• Code generation<br />

• Graphical debugging<br />

• Test<br />

19/04/2010<br />

TASTE an assert-project / ESA / Confidential<br />

5


<strong>PragmaDev</strong> – Positionning in Taste framework<br />

19/04/2010<br />

Matlab<br />

Continuous<br />

TASTE an assert-project / ESA / Confidential<br />

AADL<br />

ASN.1 ASN.1<br />

Encoders / Decoders<br />

<strong>RTDS</strong> Scade<br />

Event<br />

driven<br />

Encoders / Decoders<br />

Synchronous<br />

6


<strong>PragmaDev</strong> – Documentation generation<br />

19/04/2010<br />

TASTE an assert-project / ESA / Confidential<br />

A document is<br />

made of logical<br />

publications<br />

The generated documentation<br />

RTF, OpenDocument, HTML, SGML<br />

including table of content and index entries<br />

A publication<br />

7


<strong>PragmaDev</strong> – Model simulation<br />

19/04/2010<br />

TASTE an assert-project / ESA / Confidential<br />

A graphical debugger<br />

<strong>for</strong> fully <strong>for</strong>mal models<br />

based on the model<br />

semantic<br />

• Set breakpoints and step<br />

in the diagrams,<br />

• Externally defined or<br />

interactive operator<br />

calls,<br />

• Dynamic traces,<br />

• Connecting an external<br />

<strong>tool</strong> is possible through a<br />

socket.<br />

8


<strong>PragmaDev</strong> – Code generation options<br />

19/04/2010<br />

TASTE an assert-project / ESA / Confidential<br />

• Control of memory allocation,<br />

• C scheduler provided,<br />

• Generated code is legible,<br />

• Generation profile wizard,<br />

• Royalty free,<br />

• Documented <strong>for</strong> customization.<br />

9


<strong>PragmaDev</strong> – Code generation and debug<br />

The Model debugger relies on a traditional C debugger or cross debugger<br />

to provide graphical debugging.<br />

19/04/2010<br />

SDL /<br />

SDL-RT<br />

External<br />

C/C++<br />

SDL<br />

editor<br />

MSC<br />

editor<br />

Text<br />

editor<br />

TASTE an assert-project / ESA / Confidential<br />

C code<br />

generator<br />

SDL<br />

debugger<br />

socket<br />

<strong>Real</strong> <strong>Time</strong> <strong>Developer</strong> <strong>Studio</strong> <strong>tool</strong>s<br />

Third party <strong>tool</strong>s<br />

Source code<br />

Binary code<br />

compiler<br />

C debugger<br />

• Tornado<br />

• Tasking<br />

• gdb<br />

• Multi<br />

Binary<br />

RTOS<br />

cible<br />

10


<strong>PragmaDev</strong> – Model debugger<br />

Depending on the<br />

integration model:<br />

• Relies on the target<br />

semantic: processor<br />

and RTOS,<br />

• Relies on the SDL<br />

semantic.<br />

Debug in the model:<br />

• Breakpoints, stepping,<br />

in the diagrams or in<br />

the generated C files,<br />

• Dynamic MSC traces,<br />

• Connecting an external<br />

<strong>tool</strong> is possible through<br />

a socket.<br />

19/04/2010<br />

TASTE an assert-project / ESA / Confidential<br />

11


<strong>PragmaDev</strong> – Message Sequence Chart<br />

Execution traces:<br />

• States,<br />

• Events,<br />

• Semaphores,<br />

• <strong>Time</strong>rs.<br />

Trace level configuration<br />

Display of system time<br />

MSC Diff allows to check:<br />

• Con<strong>for</strong>mity,<br />

• Non-regression.<br />

19/04/2010<br />

TASTE an assert-project / ESA / Confidential<br />

12


<strong>PragmaDev</strong> – Model coverage<br />

• Graphical model<br />

coverage analysis<br />

• Merge feature<br />

19/04/2010<br />

TASTE an assert-project / ESA / Confidential<br />

13


<strong>PragmaDev</strong> – Model based testing<br />

19/04/2010<br />

TASTE an assert-project / ESA / Confidential<br />

• Based on TTCN-3<br />

international standard:<br />

• Data types definitions,<br />

• Templates definitions,<br />

• Test cases,<br />

• Execution control.<br />

• Connects automatically to<br />

the Simulator:<br />

• Breakpoints in the<br />

model or in the test<br />

suite,<br />

• Verdict displayed in the<br />

trace.<br />

14


<strong>PragmaDev</strong> – Model checking<br />

• Partnership with Verimag on IF<br />

technology.<br />

19/04/2010<br />

• Exhaustive simulation,<br />

• Observers,<br />

• Test generation.<br />

• <strong>RTDS</strong> feature<br />

• Export to IF,<br />

• Execute a script<br />

• Generate an MSC<br />

feedback.<br />

TASTE an assert-project / ESA / Confidential<br />

15


<strong>PragmaDev</strong> – External <strong>tool</strong> integration<br />

19/04/2010<br />

SDL<br />

Observer<br />

file<br />

TTCN<br />

MSC<br />

<strong>RTDS</strong><br />

TASTE an assert-project / ESA / Confidential<br />

translate to file<br />

executes<br />

socket<br />

state file<br />

IF<br />

IF compiler<br />

executable<br />

transition<br />

file<br />

Python script<br />

Resulting<br />

scenario<br />

Script file<br />

error file<br />

16


<strong>PragmaDev</strong> – Conclusion<br />

19/04/2010<br />

� Three levels of modelling:<br />

� Tools to:<br />

� In<strong>for</strong>mal,<br />

� Semi-<strong>for</strong>mal,<br />

� Formal.<br />

� Document,<br />

� Simulate,<br />

� Validate,<br />

� Test.<br />

� Based on international standards.<br />

� Integrated in Taste framework.<br />

TASTE an assert-project / ESA / Confidential<br />

17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!