Real Time Developer Studio (RTDS) tool for ... - PragmaDev
Real Time Developer Studio (RTDS) tool for ... - PragmaDev
Real Time Developer Studio (RTDS) tool for ... - PragmaDev
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