Cover image for Embedded systems : analysis and modeling with SysML, UML and AADL
Title:
Embedded systems : analysis and modeling with SysML, UML and AADL
Series:
Electronics engineering series
Publication Information:
London : ISTE, 2013
Physical Description:
xxii, 292 p. : ill. ; 25 cm.
ISBN:
9781848215009
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010319204 TK7895.E42 E437 2013 Open Access Book Book
Searching...

On Order

Summary

Summary

Since the construction of the first embedded system in the 1960s, embedded systems have continued to spread. They provide a continually increasing number of services and are part of our daily life. The development of these systems is a difficult problem which does not yet have a global solution. Another difficulty is that systems are plunged into the real world, which is not discrete (as is generally understood in computing), but has a richness of behaviors which sometimes hinders the formulation of simplifying assumptions due to their generally autonomous nature and they must face possibly unforeseen situations (incidents, for example), or even situations that lie outside the initial design assumptions.

Embedded Systems presents the state of the art of the development of embedded systems and, in particular, concentrates on the modeling and analysis of these systems by looking at "model-driven engineering", (MDE2): SysML, UML/MARTE and AADL. A case study (based on a pacemaker) is presented which enables the reader to observe how the different aspects of a system are addressed using the different approaches. All three systems are important in that they provide the reader with a global view of their possibilities and demonstrate the contributions of each approach in the different stages of the software lifecycle. Chapters dedicated to analyzing the specification and code generation are also presented.

Contents

Foreword, Brian R. Larson.
Foreword, Dominique Potier.
Introduction, Fabrice Kordon, Jérôme Hugues, Agusti Canals and Alain Dohet.
Part 1. General Concepts
1. Elements for the Design of Embedded Computer Systems, Fabrice Kordon, Jérôme Hugues, Agusti Canals and Alain Dohet.
2. Case Study: Pacemaker, Fabrice Kordon, Jérôme Hugues, Agusti Canals and Alain Dohet.
Part 2. SysML
3. Presentation of SysML Concepts, Jean-Michel Bruel and Pascal Roques.
4. Modeling of the Case Study Using SysML, Loïc Fejoz, Philippe Leblanc and Agusti Canals.
5. Requirements Analysis, Ludovic Apvrille and Pierre De Saqui-Sannes.
Part 3. MARTE
6. An Introduction to MARTE Concepts, Sébastien Gérard and François Terrier.
7. Case Study Modeling Using MARTE, Jérôme Delatour and Joël Champeau.
8. Model-Based Analysis, Frederic Boniol, Philippe Dhaussy, Luka Le Roux and Jean-Charles Roger.
9. Model-Based Deployment and Code Generation, Chokri Mraidha, Ansgar Radermacher and Sébastien Gérard.
Part 4. AADL
10. Presentation of the AADL Concepts, Jérôme Hugues and Xavier Renault.
11. Case Study Modeling Using AADL, Etienne Borde.
12. Model-Based Analysis, Thomas Robert and Jérôme Hugues.
13. Model-Based Code Generation, Laurent Pautet and Béchir Zalila.


Author Notes

Fabrice Kordon is Professor at University Pierre and Marie Curie in Paris, France, where he is in charge of the team "Modlisation et vrification" of the LIP6. His research field is at the crossroads of distributed systems, software engineering and formal methods.
Jrme Hugues is lecturer-researcher at the Institut Suprieur de I'Aronautique et de I'Espace (ISAE) in Toulouse, France and has been a member of the language standardization committee (AADL) since 2006. His research fields cover the engineering of embedded systems and the generation of automatic code of these systems from modeling languages, integrating verification and analysis tools on the model and code level.
Agusti Canals is a software engineer and has worked at CS "Communication et Systmes" in Paris, France since 1981. He is deputy director of the "Direction de la Qualit et des Audits Techniques" (DQAT) of CS and an expert in software engineering (certified "UML Professional" and "SysML Builder" by OMG).
Alain Dohet is a general armament engineer at the "Direction Gnrale pour I'Armement" (organization of the French Defense Minister ensuring the conduct of system programs), where he is in charge of guiding activities, skills, methods and tools in the fields of systems of systems (SoS), systems engineering, analysis for certification purposes, operational safety of embedded computing systems and critical software.


Table of Contents

Brian R. LarsonDominique PotierFabrice Kordon and Jérôme Hugues and Agusti Canals and Alain DohetFabrice Kordon and Jérôme Hugues and Agusti Canals and Alain DohetFabrice Kordon and Jérôme Hugues and Agusti Canals and Alain DohetJean-Michel Bruel and Pascal RoquesLoïc Fejoz and Philippe Leblanc and Agusti CanalsLudovic Apvrille and Pierre de Saqui-SannesSébastien Gérard and François TerrierJérôme Delatour and Joël ChampeauFrederic Boniol and Philippe Dhaussy and Luka Le Roux and Jean-Charles RogerChokri Mraidha and Ansgar Radermacher and Sébastien GérardJérome Hugues and Xavier RenaultEtienne BordeThomas Robert and Jérôme HuguesLaurent Pautet and Béchir Zalila
Forewordp. xiii
Forewordp. xv
Introductionp. xix
Part 1 General Conceptsp. 1
Chapter 1 Elements for the Design of Embedded Computer Systemsp. 3
1.1 Introductionp. 3
1.2 System modelingp. 5
1.3 A brief presentation of UMLp. 6
1.3.1 The UML static diagramsp. 9
1.3.2 The UML dynamic diagramsp. 10
1.4 Model-driven development approachesp. 10
1.4.1 The conceptsp. 10
1.4.2 The technologiesp. 11
1.4.3 The context of the wider fieldp. 12
1.5 System analysisp. 14
1.5.1 Formal verification via provingp. 15
1.5.2 Formal verification by model-checkingp. 15
1.5.3 The languages to express specificationsp. 16
1.5.4 The actual limits of formal approachesp. 19
1.6 Methodological aspects of the development of embedded computer systemsp. 20
1.6.1 The main technical processesp. 22
1.6.2 The importance of the modelsp. 23
1.7 Conclusionp. 24
1.8 Bibliographyp. 25
Chapter 2 Case Study: Pacemakerp. 29
2.1 Introductionp. 29
2.2 The heart and the pacemakerp. 30
2.2.1 The heartp. 30
2.2.2 Presentation of a pacemakerp. 32
2.3 Case study specificationp. 33
2.3.1 System definitionp. 34
2.3.2 System lifecyclep. 35
2.3.3 System requirementsp. 36
2.3.4 Pacemaker behaviorp. 39
2.4 Conclusionp. 42
2.5 Bibliographyp. 43
Part 2 SysMLp. 45
Chapter 3 Presentation of SysML Conceptsp. 47
3.1 Introductionp. 47
3.2 The origins of SysMLp. 48
3.3 General overview: the nine types of diagramsp. 49
3.4 Modeling the requirementsp. 50
3.4.1 Use case diagramp. 50
3.4.2 Requirement diagramp. 51
3.5 Structural modelingp. 53
3.5.1 Block definition diagramp. 54
3.5.2 Internal block diagramp. 56
3.5.3 Package diagramp. 58
3.6 Dynamic modelingp. 59
3.6.1 Sequence diagramp. 59
3.6.2 State machine diagramp. 61
3.6.3 Activity diagramp. 63
3.7 Transverse modelingp. 65
3.7.1 Parametric diagramp. 65
3.7.2 Allocation and traceabilityp. 67
3.8 Environment and toolsp. 68
3.9 Conclusionp. 68
3.10 Bibliographyp. 68
Chapter 4 Modeling of the Case Study Using SysMLp. 71
4.1 Introductionp. 71
4.2 System specificationp. 73
4.2.1 Contextp. 73
4.2.2 Requirements model and operational scenariosp. 75
4.2.3 Requirements modelp. 78
4.3 System designp. 80
4.3.1 Functional modelp. 81
4.3.2 Domain-specific datap. 83
4.3.3 Logical architectural modelp. 86
4.3.4 Physical architectural modelp. 90
4.4 Traceability and allocationsp. 90
4.4.1 "Technical needs: divers" traceability diagramp. 90
4.4.2 Traceability diagram "technical needs: behavior of the pacemaker"p. 91
4.4.3 Allocation diagramp. 92
4.5 Test modelp. 93
4.5.1 Traceability diagram "system test: requirements verification"p. 93
4.5.2 Sequence diagram for the test game TC-PM-07p. 94
4.5.3 Diagrams presenting a general view of the requirementsp. 94
4.6 Conclusionp. 95
4.7 Bibliographyp. 97
Chapter 5 Requirements Analysisp. 99
5.1 Introductionp. 99
5.2 The AVATAR language and the TTool toolp. 100
5.2.1 Methodp. 101
5.2.2 AVATAR language and SysML standardp. 101
5.2.3 The TEPE language for expressing propertiesp. 102
5.2.4 TToolp. 103
5.3 An AVATAR expression of the SysML model of the enhanced pacemakerp. 103
5.3.1 Functioning of the pacemaker and modeling hypothesesp. 103
5.3.2 Requirements diagramp. 104
5.4 Architecturep. 105
5.5 Behaviorp. 106
5.6 Formal verification of the VVI modep. 107
5.6.1 General propertiesp. 108
5.6.2 Expressing properties using TEPEp. 108
5.6.3 The use of temporal logicp. 109
5.6.4 Observer-guided verificationp. 111
5.6.5 Coming back to the modelp. 112
5.7 Related workp. 113
5.7.1 Languagesp. 113
5.7.2 Toolsp. 114
5.8 Conclusionp. 115
5.9 Appendix: TToolp. 116
5.10 Bibliographyp. 116
Part 3 Martep. 119
Chapter 6 An Introduction to MARTE Conceptsp. 121
6.1 Introductionp. 121
6.2 General remarksp. 121
6.2.1 Possible uses of MARTEp. 122
6.2.2 How should we read the norm?p. 123
6.2.3 The MARTE architecturep. 124
6.2.4 MARTE and SysMLp. 127
6.2.5 An open source supportp. 128
6.3 Several MARTE detailsp. 128
6.3.1 Modeling non-functional propertiesp. 128
6.3.2 A components model for the real-time embedded systemp. 133
6.4 Conclusionp. 137
6.5 Bibliographyp. 137
Chapter 7 Case Study Modeling Using MARTEp. 139
7.1 Introductionp. 139
7.1.1 Hypotheses used in modelingp. 139
7.1.2 The modeling methodology usedp. 140
7.1.3 Chapter layoutp. 141
7.2 Software analysisp. 141
7.2.1 Use case and interface characterizationp. 141
7.2.2 The sphere of applicationp. 144
7.3 Preliminary software design - the architectural componentp. 145
7.3.1 The candidate architecturep. 146
7.3.2 Identifying the componentsp. 146
7.3.3 Presentation of the candidate architecturep. 148
7.3.4 A presentation of the detailed interfacesp. 150
7.4 Software preliminary design - behavioral componentp. 151
7.4.1 The controllerp. 151
7.4.2 The cardiologistp. 153
7.4.3 The operating modes of the cardiologistp. 153
7.5 Conclusionp. 155
7.6 Bibliographyp. 156
Chapter 8 Model-Based Analysisp. 157
8.1 Introductionp. 157
8.2 Model and requirements to be verifiedp. 161
8.2.1 The UML-MARTE model that needs to be translated in Fiacrep. 161
8.2.2 Fiacre languagep. 162
8.2.3 The translation principles of the UML model in Fiacrep. 163
8.2.4 Requirementsp. 165
8.3 Model-checking of the requirementsp. 166
8.3.1 Use casep. 166
8.3.2 Propertiesp. 167
8.3.3 Property checkp. 170
8.3.4 First assessmentp. 172
8.4 Context exploitationp. 172
8.4.1 Identifying the context scenariosp. 173
8.4.2 Automatic partitioning of the context graphsp. 174
8.4.3 CDL languagep. 175
8.4.4 CDL model exploitation in a model-checkerp. 177
8.4.5 Description of a CDL contextp. 178
8.4.6 Resultsp. 179
8.5 Assessmentp. 180
8.6 Conclusionp. 181
8.7 Bibliographyp. 182
Chapter 9 Model-Based Deployment and Code Generationp. 185
9.1 Introductionp. 185
9.2 Input modelsp. 187
9.2.1 Description of the executable component-based modelp. 187
9.2.2 Description of the platform modelp. 188
9.2.3 Description of the deployment modelp. 189
9.3 Generation of the implementation modelp. 190
9.3.1 Main conceptsp. 191
9.3.2 Connector patternp. 191
9.3.3 Container patternp. 193
9.3.4 Implementation of the componentsp. 195
9.3.5 Resulting implementation componentsp. 197
9.4 Code generationp. 197
9.4.1 Deployment of the componentsp. 198
9.4.2 Transformation into an object-oriented modelp. 199
9.4.3 Generating codep. 200
9.5 Support toolsp. 201
9.6 Conclusionp. 202
9.7 Bibliographyp. 202
Part 4 AADLp. 205
Chapter 10 Presentation of the AADL Conceptsp. 207
10.1 Introductionp. 207
10.2 General ADL conceptsp. 207
10.3 AADLv2, an ADL for design and analysisp. 208
10.3.1 A history of the AADLp. 208
10.3.2 A brief introduction to AADLp. 209
10.3.3 Toolsp. 211
10.4 Taxonomy of the AADL entitiesp. 211
10.4.1 Language elements: the componentsp. 212
10.4.2 Connections between the componentsp. 214
10.4.3 Language elements: attributesp. 215
10.4.4 Language elements: extensions and refinementsp. 219
10.5 AADL annexesp. 220
10.5.1 Data modeling annexp. 220
10.6 Analysis of AADL modelsp. 221
10.6.1 Structural propertiesp. 222
10.6.2 Qualitative propertiesp. 222
10.6.3 Quantitative propertiesp. 223
10.7 Conclusionp. 224
10.8 Bibliographyp. 225
Chapter 11 Case Study Modeling Using AADLp. 227
11.1 Introductionp. 227
11.2 Review of the structure of a pacemakerp. 229
11.3 AADL modeling of the structure of the pacemakerp. 230
11.3.1 Decomposition of the system into several subsystemsp. 230
11.3.2 Execution and communication infrastructurep. 233
11.4 Overview of the functioning of the pacemakerp. 235
11.4.1 The operational modes of the pacemakerp. 235
11.4.2 The operational sub-modes of the pacemakerp. 235
11.4.3 Some functionalities of the pacemakerp. 237
11.5 AADL modeling of the software architecture of the pulse generatorp. 240
11.5.1 AADL modeling of the operational modes of the pulse generatorp. 240
11.5.2 AADL modeling of the features of the pulse generator in the permanent modep. 242
11.6 Modeling of the deployment of the pacemakerp. 247
11.7 Conclusionp. 249
11.8 Bibliographyp. 250
Chapter 12 Model-Based Analysisp. 251
12.1 Introductionp. 251
12.2 Behavioral validation, per mode and globalp. 252
12.2.1 Validation context and fine toning of the requirementsp. 253
12.2.2 Translation of the behavioral automata into UPPAALp. 253
12.2.3 Refining requirements 22-23/Pp. 258
12.2.4 Study of the permanent/VVT modep. 260
12.2.5 Study of the changing of the permanent/VVT→Magnet/VOO modep. 261
12.3 Conclusionp. 262
12.4 Bibliographyp. 263
Chapter 13 Model-Based Code Generationp. 265
13.1 Introductionp. 265
13.2 Software component generationp. 268
13.2.1 Data conversionp. 269
13.2.2 Conversion of subprogramsp. 272
13.2.3 Conversion of execution threadsp. 275
13.2.4 Conversion of the instances of shared datap. 283
13.3 Middleware components generationp. 283
13.4 Configuration and deployment of middleware componentsp. 284
13.4.1 Deploymentp. 284
13.5 Integration of the compilation chainp. 285
13.6 Conclusionp. 287
13.7 Bibliographyp. 287
List of Authorsp. 289
Indexp. 291