Integrated Model-based Software Development and …...1 FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad...
Transcript of Integrated Model-based Software Development and …...1 FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad...
1
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 1
Integrated Model-basedSoftware Development and Testing
with CSD and MTest
Integrated Model-basedSoftware Development and Testing
with CSD and MTest
Andreas Rau / Mirko Conrad / Helmut Keller / Ines Fey / Christian Dziobek
DaimlerChrysler AG, Germany
fa-stz-Andreas.Rau @DaimlerChrysler.comMirko.Conrad @DaimlerChrysler.comHelmut.Keller @DaimlerChrysler.comInes.Fey @DaimlerChrysler.comChristian.Dziobek @DaimlerChrysler.com
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 2
OverviewOverview
 Model-based Development Environment and Status Quo Idea and Advantages Caveats and Strategy
 Control System Design with CSD Development Cycle Tool Integration, Components Guidelines
 Model-based Testing with MTest Abstract Description of Test Scenarios Definition of Test Data Generation of Test Harness / Test Execution Test Evaluation and Documentation
 Summary and Future Work
 Model-based Development Environment and Status Quo Idea and Advantages Caveats and Strategy
 Control System Design with CSD Development Cycle Tool Integration, Components Guidelines
 Model-based Testing with MTest Abstract Description of Test Scenarios Definition of Test Data Generation of Test Harness / Test Execution Test Evaluation and Documentation
 Summary and Future Work
MTest
(Andreas Rau)
(Mirko Conrad)
(Andreas Rau)
2
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 3
OverviewOverview
 Model-based Development Process Environment and Status Quo Idea and Advantages Caveats and Strategy
 Control System Design with CSD Development Cycle Tool Integration, Components Guidelines
 Model-based Testing with MTest Abstract Description of Test Scenarios Definition of Test Data Generation of Test Harness / Test Execution Test Evaluation and Documentation
 Summary and Future Work
 Model-based Development Process Environment and Status Quo Idea and Advantages Caveats and Strategy
 Control System Design with CSD Development Cycle Tool Integration, Components Guidelines
 Model-based Testing with MTest Abstract Description of Test Scenarios Definition of Test Data Generation of Test Harness / Test Execution Test Evaluation and Documentation
 Summary and Future Work
MTest
(Andreas Rau)
(Mirko Conrad)
(Andreas Rau)
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 4
Status Quo Low level of abstraction Late feedback / expensive bugfixing Different notations / representations Communication problems
Status Quo Low level of abstraction Late feedback / expensive bugfixing Different notations / representations Communication problems
Model-based Development Process - Environment and Status QuoModel-based Development Process - Environment and Status Quo
Environment Competitive Market (need for speed and innovation) Limited Resources (time, money, people) Increasing importance of software (cost, flexibility, power) Increasing system complexity (distribution, safety-criticality)
Environment Competitive Market (need for speed and innovation) Limited Resources (time, money, people) Increasing importance of software (cost, flexibility, power) Increasing system complexity (distribution, safety-criticality)
R&DDepartment
ProductDepartment
MarketingDepartment
6RIWZDUH
5HTXLUHPHQWV
6RIWZDUH
'HVLJQ
6RIWZDUH
,QWHJUDWLRQ
,PSOHPHQWDWLRQ
,QWHJUDWLRQ
7HVW
0RGXOH 7HVW
3
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 5
Model-based Development Process - IdeaModel-based Development Process - Idea
Idea Integrated models instead of separate documents and code throughout the process Model as high-level language with high-level compiler Early feedback by simulation System integration capability Encapsulation of know-how Iterative refinement
Idea Integrated models instead of separate documents and code throughout the process Model as high-level language with high-level compiler Early feedback by simulation System integration capability Encapsulation of know-how Iterative refinement
+
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 6
Advantages High level of abstraction Executable specification Integrated tool environment Single-source system description Common system integration platform Reuse of functions and components Continuous validation by simulation Reduction of time and costs
Advantages High level of abstraction Executable specification Integrated tool environment Single-source system description Common system integration platform Reuse of functions and components Continuous validation by simulation Reduction of time and costs
Model-based Development Process - AdvantagesModel-based Development Process - Advantages
Separate Documents+ Classical Prototyping
or Simulation
ManualImplementation
Integrated Modelwith Simulation andCode Generation
t Saved Time
4
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 7
Model-based Development Process - „High-Level Compiler“Model-based Development Process - „High-Level Compiler“
Prose Model Source Executable
System Designer RTW/TargetLink Compiler+
High-Level Compilerwith sourcecode as an internal representation
(target language) (target hardware)
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 8
Model-based Development Process - CaveatsModel-based Development Process - Caveats
Caveats Benefits are not available for free! Model-based development must be embedded in an adequate process Such a process is different from the existing process (early test loops, no coding) But: Implementation is not really eliminated but only lifted to a higher level! Tool chain must support the process during all phases
Caveats Benefits are not available for free! Model-based development must be embedded in an adequate process Such a process is different from the existing process (early test loops, no coding) But: Implementation is not really eliminated but only lifted to a higher level! Tool chain must support the process during all phases
5
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 9
Strategy Matlab/Simulink/Stateflow are a powerful family of tools The tool-familiy is general-purpose, not all specific needs are addressed The tool-family by itself is not sufficient to support system development Use Matlab as a powerful platform for tool-development and integration instead Step by step introduction of an open integrated tool-chain for software development Definition of interfaces in the tool-chain for cooperation based on standards Productizing of the existing tool-chains based on the experience in pilot projects Alignment of processes, tools and interfaces with strategic partners
Strategy Matlab/Simulink/Stateflow are a powerful family of tools The tool-familiy is general-purpose, not all specific needs are addressed The tool-family by itself is not sufficient to support system development Use Matlab as a powerful platform for tool-development and integration instead Step by step introduction of an open integrated tool-chain for software development Definition of interfaces in the tool-chain for cooperation based on standards Productizing of the existing tool-chains based on the experience in pilot projects Alignment of processes, tools and interfaces with strategic partners
Model-based Development Process - StrategyModel-based Development Process - Strategy
Specialized Tools
General Purpose PlatformMatlab/Simulink/Stateflow
Spe
cific
atio
n
Mod
ellin
g
Tes
ting
Vis
ualiz
atio
n
Dia
gnos
tics
App
licat
ion
Doc
umen
tatio
n
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 10
6RIWZDUH
5HTXLUHPHQWV
6RIWZDUH
'HVLJQ
6RIWZDUH
,QWHJUDWLRQ
,PSOHPHQWDWLRQ
,QWHJUDWLRQ
7HVW
0RGXOH 7HVW
CANape SILHIL
ACT-SG
Matlab Simulink Stateflow
TargetLink Real-Time Workshop
OSEK Compiler Debugger
MTest
Model-based Development Process - Summary and ToolchainModel-based Development Process - Summary and Toolchain
TESSY
6
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 11
OverviewOverview
 Model-based Development Process Environment and Status Quo Idea and Advantages Caveats and Strategy
 Control System Design with CSD Development Cycle Tool Integration, Components Guidelines
 Model-based Testing with MTest Abstract Description of Test Scenarios Definition of Test Data Generation of Test Harness / Test Execution Test Evaluation and Documentation
 Summary and Future Work
 Model-based Development Process Environment and Status Quo Idea and Advantages Caveats and Strategy
 Control System Design with CSD Development Cycle Tool Integration, Components Guidelines
 Model-based Testing with MTest Abstract Description of Test Scenarios Definition of Test Data Generation of Test Harness / Test Execution Test Evaluation and Documentation
 Summary and Future Work
MTest
(Andreas Rau)
(Mirko Conrad)
(Andreas Rau)
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 12
CSD - Development CycleCSD - Development Cycle
Rapid system prototypingon different hardwareplatforms
Control system design by use of ML/SL/SF and automatic code generation
System validation andfine-tuning in the car
Offline-simulation ofrecorded test manoevres
and evaluation of theresults
Early feedbackfrom simulation
Use results forsystem refinement
7
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 13
Intention Offer specific support to satisfy individual developer needs Support the whole process Easy to use
Intention Offer specific support to satisfy individual developer needs Support the whole process Easy to use
CSD - Intention and DescriptionCSD - Intention and Description
Description Built on top of the Matlab tool-family Platform for system development (Control System Design) Platform for tool integration (plug-ins for various process activities, e.g. testing) Functions and libraries for
 controller design (building blocks) simulation (context model) identification/modelling software specification documentation diagnostics
 Modelling guidelines
Description Built on top of the Matlab tool-family Platform for system development (Control System Design) Platform for tool integration (plug-ins for various process activities, e.g. testing) Functions and libraries for
 controller design (building blocks) simulation (context model) identification/modelling software specification documentation diagnostics
 Modelling guidelines
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 14
CSD-Environment
Parameters of Actuators orMeasurement Data
Test Automation(MTest)
CAD-DataCar Parameters orMeasurement Data
Controller-Models, ECU Function Software
Generation ofDocumentationfor models, test
cases, ...
ControllerDesign
SimulationTests
Specification
Interface forParameterTuning Tool
HiL-Environment
ModellingIdentification
...
3D Animationof DrivingManoeuvers
CSD - Tool IntegrationCSD - Tool Integration
8
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 15
CSD - Context Model and Component LibrariesCSD - Context Model and Component Libraries
Controller Modelsfor Driving Systems
Controller Modelsfor Driving Systems
Plant and ControllerModels of Actuators
Plant and ControllerModels of Actuators
Car ModelCar Model
ÂConstruction KitÂEasy Exchange of Plant and Controller ModelsÂEasy Implementation of Controller Model
ÂConstruction KitÂEasy Exchange of Plant and Controller ModelsÂEasy Implementation of Controller Model
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 16
CSD - GuidelinesCSD - Guidelines
Note: Tools and notations by themselves arenot sufficient for a practically usable softwaretechnology. Guidelines are necessary for theiradaption and application, but not sufficienteither. In particular, they are not an end inthemselves and no replacement for humanexperience, good judgement and creativity.
Note: Tools and notations by themselves arenot sufficient for a practically usable softwaretechnology. Guidelines are necessary for theiradaption and application, but not sufficienteither. In particular, they are not an end inthemselves and no replacement for humanexperience, good judgement and creativity.
ÂAchieve consistent style (mutual understanding of models)ÂAvoid common traps and pitfalls (restrictions and workarounds)ÂOffer patterns for systems and algorithms (reuse and visual recognition)ÂTry to establish a widely accepted best-practice
ÂAchieve consistent style (mutual understanding of models)ÂAvoid common traps and pitfalls (restrictions and workarounds)ÂOffer patterns for systems and algorithms (reuse and visual recognition)ÂTry to establish a widely accepted best-practice
Simulink module pattern with explicit interface Stateflow flowchart if-pattern
[Condition]
{ action;}
9
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 17
CSD - Model-Code AnalogyCSD - Model-Code Analogy
double compute(single x, int16 y) { double z; ... return z;}
void main(void) { struct { double a1, a2, a3 } s; double b,c; ... c = compute(s.a1*3.6,b); /*
x = (single) s.a1 * 3.6;y = (int16) b;-- computation --c = (double) z;
*/}
Model/Code analogy should beexploited for additional benefits!Model/Code analogy should beexploited for additional benefits!
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 18
OverviewOverview
 Model-based Development Process Environment and Status Quo Idea and Advantages Caveats and Strategy
 Control System Design with CSD Development Cycle Tool Integration, Components Guidelines
 Model-based Testing with MTest Abstract Description of Test Scenarios Definition of Test Data Generation of Test Harness / Test Execution Test Evaluation and Documentation
 Summary and Future Work
 Model-based Development Process Environment and Status Quo Idea and Advantages Caveats and Strategy
 Control System Design with CSD Development Cycle Tool Integration, Components Guidelines
 Model-based Testing with MTest Abstract Description of Test Scenarios Definition of Test Data Generation of Test Harness / Test Execution Test Evaluation and Documentation
 Summary and Future Work
MTest
(Andreas Rau)
(Mirko Conrad)
(Andreas Rau)
10
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 19
MTest
0 m
13.5 m
24.5 m
38 m
Class ificat iontree
Class ificat iontree
Te s t00 4
� �
�
 Methodological and tool support for the entire model-based testing cycle Tight integration of simulation, model and software testing Different approaches: - systematic testing (S)
- interactive simulation / testing (I)- regression testing (R)
 Integration into CSD environment
 Methodological and tool support for the entire model-based testing cycle Tight integration of simulation, model and software testing Different approaches: - systematic testing (S)
- interactive simulation / testing (I)- regression testing (R)
 Integration into CSD environment
MTest - Module Test Environment for Matlab/SimulinkMTest - Module Test Environment for Matlab/Simulink
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 20
Test Organization
Selection and Structuring of Test Aspects
Abstract Description of Test Scenarios
Test Execution
Generation ofTest Harness
Test Evaluation andDocumentation
Definition of Test Data
MTest - Tool Support for Model-based TestingMTest - Tool Support for Model-based Testing
MTest
I
n
o
p
q
r
S
R
11
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 21
MTest
0 m
13.5 m
24.5 m
38 m
C la ss ifica tio nT re e
C la ss ifica tio nT re e
c MTest - Abstract Definition of Test Scenariosc MTest - Abstract Definition of Test Scenarios
Test ScenarioTest Scenario
 Utilization of classification-tree method / Classifiction Tree Editor (CTE/ES) Automatic examination of test object's interface (input signals, parameters) Semi-automatic generation of interface-based classification-trees (Model Extractor)
 Utilization of classification-tree method / Classifiction Tree Editor (CTE/ES) Automatic examination of test object's interface (input signals, parameters) Semi-automatic generation of interface-based classification-trees (Model Extractor)
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 22
Interactive testInteractive test
S ig n alC orrido rS ig n al
C orrido r
S ig n alC ou rseS ig n al
C ou rse
d MTest - Definition of Test Datad MTest - Definition of Test Data
Tabular TestData Editor
Tabular TestData Editor
Graphical TestData Editor
Graphical TestData Editor
MTest
Interactive PanelInteractive Panel
 Automatic generation of test data framework from CTE/ES
- test data restrictions (signal corridors)
- suggestion of input signal courses
 Definition or refinement by different test data editors
 Automatic generation of test data framework from CTE/ES
- test data restrictions (signal corridors)
- suggestion of input signal courses
 Definition or refinement by different test data editors
12
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 23
T es t o utp utT es t o utp utT es t o bj ec tT es t o bj ec tT es t d ataT es t d ata
Tes t00 4
Test Data Test Object Test Output
f MTest - Generation of Test Harness / Test Executionf MTest - Generation of Test Harness / Test Executione /
MTest
 Automatic generation of test harness for model tests
- incorporation of necessary stimuli (test data) and evaluation blocks (test output)- manual extension of test harness possible
 Selection between two modi of test execution
- Automatic batch testing - Interactive testing (manual change of test data)
 Automatic generation of test harness for model tests
- incorporation of necessary stimuli (test data) and evaluation blocks (test output)- manual extension of test harness possible
 Selection between two modi of test execution
- Automatic batch testing - Interactive testing (manual change of test data)
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 24
g MTest - Test Evaluation and Documentationg MTest - Test Evaluation and Documentation
MTest
 Automatic generation of test documentation Utilization of Matlab/Simulink Report Generator or generation of ASCII reports Different levels of test documentation possible Test evaluation: comparison between nominal and actual values
 Automatic generation of test documentation Utilization of Matlab/Simulink Report Generator or generation of ASCII reports Different levels of test documentation possible Test evaluation: comparison between nominal and actual values
2.2. . . .
Unit Test Documentation VehicleDynamicsTest Sequence VehicleDynamics_TSeq1
Mirko Conrad ([email protected])Ines Fey (Ines.Fey@ DaimlerChrysler.com)Andy Yap ([email protected])
Table of Contents1. Unit Under Test2. Test Sequences3. Test Data4. . . .
Automatically generated:18:40 18.Feb. 2000
Chapter 2. Test Sequences2.1. Classification Tree with combination table
test001
13
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 25
Model Test
MTest
Integration MTest CSDIntegration MTest CSD
CTE/ESClassification-Tree Editor
forEmbedded Systems
Abstract Definitionof Test Scenarios
Definition of Test Data
Test Evaluation and Documentation
T e s t0 0 4
Generation of Test Harness / Test Execution
ModelTest
Activities3/4
5
21
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 26
OverviewOverview
 Model-based Development Process Environment and Status Quo Idea and Advantages Caveats and Strategy
 Control System Design with CSD Development Cycle Tool Integration, Components Guidelines
 Model-based Testing with MTest Abstract Description of Test Scenarios Definition of Test Data Generation of Test Harness / Test Execution Test Evaluation and Documentation
 Summary and Future Work
 Model-based Development Process Environment and Status Quo Idea and Advantages Caveats and Strategy
 Control System Design with CSD Development Cycle Tool Integration, Components Guidelines
 Model-based Testing with MTest Abstract Description of Test Scenarios Definition of Test Data Generation of Test Harness / Test Execution Test Evaluation and Documentation
 Summary and Future Work
MTest
(Andreas Rau)
(Mirko Conrad)
(Andreas Rau)
14
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 27
 Model-based development is the key enabler for complex and innovative systems
 Notation must be supported by a sound process and tools to earn the benefits
 General-purpose tools must be supplemented with domain-specific solutions
 Toolchain must be integrated and support the whole development process
 Tool-supported validation and testing should be an integral part of the process
 Validation and testing could / should start in early development stages
⊕ speed-up in functional development by support of heuristic tests
⊕ quality increase by systematic testing
⊕ reduction of costly test iterations (regression test)
⊕ reuse of test cases throughout the whole development process
 Full integration of modelling and testing process into Matlab environment
ª Considerable decrease of development and testing time and costs
 Model-based development is the key enabler for complex and innovative systems
 Notation must be supported by a sound process and tools to earn the benefits
 General-purpose tools must be supplemented with domain-specific solutions
 Toolchain must be integrated and support the whole development process
 Tool-supported validation and testing should be an integral part of the process
 Validation and testing could / should start in early development stages
⊕ speed-up in functional development by support of heuristic tests
⊕ quality increase by systematic testing
⊕ reduction of costly test iterations (regression test)
⊕ reuse of test cases throughout the whole development process
 Full integration of modelling and testing process into Matlab environment
ª Considerable decrease of development and testing time and costs
Summary Summary
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 28
Tool Aspects
 Develop additional tools to cover the remaining process steps
 Improve support for Version and Change Management
 Improve support for Distributed Development
 Improve support for Model Reuse
Tool Aspects
 Develop additional tools to cover the remaining process steps
 Improve support for Version and Change Management
 Improve support for Distributed Development
 Improve support for Model Reuse
Future WorkFuture Work
Process Aspects
 Semantically refine the notation (standard blocksets, interface semantics)
 Establish a sound modelling methodology (notation elements vs phases)
 Adopt classical V&V methods to models
Process Aspects
 Semantically refine the notation (standard blocksets, interface semantics)
 Establish a sound modelling methodology (notation elements vs phases)
 Adopt classical V&V methods to models
15
FT3/SM/ EP/VIS / EP/VRS - A. Rau / M.Conrad / H.Keller / I.Fey / C.Dziobek, 10.05.00, 29
Mirko ConradSoftware TechnologyMethods and Tools (FT3/SM)
e-mail:[email protected]
DaimlerChrysler AGResearch and TechnologyAlt-Moabit 96 AD-10559 BerlinPhone +49-(0)30 - 39982-263Fax +49-(0)30 - 39982-107
Ines FeySoftware TechnologyMethods and Tools (FT3/SM)
e-mail:[email protected]
DaimlerChrysler AGResearch and TechnologyAlt-Moabit 96 AD-10559 BerlinPhone +49-(0)30 - 39982-246Fax +49-(0)30 - 39982-107
Andreas RauControl System DesignAdvanced System DevelopmentDriving Functions (EP/VRS)
e-mail: [email protected]
Phone +49-(0)7031 - 90 -77881Fax +49-(0)7031 - 90 -77884
Dr. Helmut KellerManager Control System DesignAdvanced DevelopmentSystem Development Driving Functions (EP/VRS)
e-mail:[email protected]
DaimlerChrysler AGMercedes Technology CenterHPC X910D-71059 SindelfingenPhone +49-(0)7031 - 90 -77860Fax +49-(0)7031 - 90 -77884
DaimlerChrysler AGMercedes Technology CenterHPC X974D-71059 Sindelfingen Phone +49-(0)7031 - 90 -81559Fax +49-(0)7031 - 90 -74856
Cristian DziobekSystem IntegrationAdvanced DevelopmentSoftware Technologies (EP/VIS)
e-mail:[email protected]