Modeling Unbedded Systems

Analysis and Modeling with SysML, UML and AADL

Specificaties
Gebonden, 314 blz. | Engels
John Wiley & Sons | e druk, 2013
ISBN13: 9781848215009
Rubricering
Juridisch :
John Wiley & Sons e druk, 2013 9781848215009
Verwachte levertijd ongeveer 16 werkdagen

Samenvatting

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.

About the Authors

Fabrice Kordon is Professor at University Pierre and Marie Curie in Paris, France, where he is in charge of the team Modélisation et vérification of the LIP6. His research field is at the crossroads of distributed systems, software engineering and formal methods.
Jérôme Hugues is lecturer–researcher at the Institut Supérieur de l Aéronautique et de l 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 Systèmes 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 Générale pour l 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.

Specificaties

ISBN13:9781848215009
Taal:Engels
Bindwijze:gebonden
Aantal pagina's:314

Inhoudsopgave

<p>Foreword&nbsp;xiii<br /> Brian R. LARSON</p>
<p>Foreword&nbsp;xv<br /> Dominique POTIER</p>
<p>Introduction&nbsp;xix<br /> Fabrice KORDON, J&eacute;r&ocirc;me HUGUES, Agusti CANALS and Alain DOHET</p>
<p>PART 1. General Concepts&nbsp;1</p>
<p>Chapter 1. Elements for the Design of Embedded Computer Systems 3<br /> Fabrice KORDON, J&eacute;r&ocirc;me HUGUES, Agusti CANALS and Alain DOHET</p>
<p>1.1. Introduction&nbsp;3</p>
<p>1.2. System modeling&nbsp;5</p>
<p>1.3. A brief presentation of UML 6</p>
<p>1.3.1. The UML static diagrams&nbsp;7</p>
<p>1.3.2. The UML dynamic diagrams 9</p>
<p>1.4. Model–driven development approaches 10</p>
<p>1.4.1. The concepts&nbsp;10</p>
<p>1.4.2. The technologies&nbsp;11</p>
<p>1.4.3. The context of the wider field 12</p>
<p>1.5. System analysis 14</p>
<p>1.5.1. Formal verification via proving&nbsp;15</p>
<p>1.5.2. Formal verification by model–checking 15</p>
<p>1.5.3. The languages to express specifications 16</p>
<p>1.5.4. The actual limits of formal approaches 19</p>
<p>1.6. Methodological aspects of the development of embedded computer systems&nbsp;20</p>
<p>1.6.1. The main technical processes 22</p>
<p>1.6.2. The importance of the models 23</p>
<p>1.7. Conclusion&nbsp;24</p>
<p>1.8. Bibliography 25</p>
<p>Chapter 2. Case Study: Pacemaker 29<br /> Fabrice KORDON, J&eacute;r&ocirc;me HUGUES, Agusti CANALS and Alain DOHET</p>
<p>2.1. Introduction&nbsp;29</p>
<p>2.2. The heart and the pacemaker 30</p>
<p>2.2.1. The heart 30</p>
<p>2.2.2. Presentation of a pacemaker 32</p>
<p>2.3. Case study specification 33</p>
<p>2.3.1. System definition&nbsp;34</p>
<p>2.3.2. System lifecycle&nbsp;35</p>
<p>2.3.3. System requirements&nbsp;36</p>
<p>2.3.4. Pacemaker behavior&nbsp;39</p>
<p>2.4. Conclusion&nbsp;42</p>
<p>2.5. Bibliography 43</p>
<p>PART 2. SysML 45</p>
<p>Chapter 3. Presentation of SysML Concepts 47<br /> Jean–Michel BRUEL and Pascal ROQUES</p>
<p>3.1. Introduction&nbsp;47</p>
<p>3.2. The origins of SysML&nbsp;48</p>
<p>3.3. General overview: the nine types of diagrams 49</p>
<p>3.4. Modeling the requirements 50</p>
<p>3.4.1. Use case diagram&nbsp;50</p>
<p>3.4.2. Requirement diagram 51</p>
<p>3.5. Structural modeling 53</p>
<p>3.5.1. Block definition diagram&nbsp;54</p>
<p>3.5.2. Internal block diagram 56</p>
<p>3.5.3. Package diagram&nbsp;58</p>
<p>3.6. Dynamic modeling&nbsp;59</p>
<p>3.6.1. Sequence diagram 59</p>
<p>3.6.2. State machine diagram 61</p>
<p>3.6.3. Activity diagram&nbsp;63</p>
<p>3.7. Transverse modeling 65</p>
<p>3.7.1. Parametric diagram 65</p>
<p>3.7.2. Allocation and traceability 67</p>
<p>3.8. Environment and tools&nbsp;68</p>
<p>3.9. Conclusion&nbsp;68</p>
<p>3.10. Bibliography&nbsp;68</p>
<p>Chapter 4. Modeling of the Case Study Using SysML 71<br /> Lo&iuml;c FEJOZ, Philippe LEBLANC and Agusti CANALS</p>
<p>4.1. Introduction&nbsp;71</p>
<p>4.2. System specification 73</p>
<p>4.2.1. Context&nbsp;73</p>
<p>4.2.2. Requirements model and operational scenarios&nbsp;75</p>
<p>4.2.3. Requirements model&nbsp;78</p>
<p>4.3. System design&nbsp;80</p>
<p>4.3.1. Functional model&nbsp;81</p>
<p>4.3.2. Domain–specific data&nbsp;83</p>
<p>4.3.3. Logical architectural model 86</p>
<p>4.3.4. Physical architectural model 90</p>
<p>4.4. Traceability and allocations 90</p>
<p>4.4.1. Technical needs: divers traceability diagram&nbsp;90</p>
<p>4.4.2. Traceability diagram technical needs: behavior of the pacemaker 91</p>
<p>4.4.3. Allocation diagram 92</p>
<p>4.5. Test model 93</p>
<p>4.5.1. Traceability diagram system test: requirements verification 93</p>
<p>4.5.2. Sequence diagram for the test game TC–PM–07&nbsp;94</p>
<p>4.5.3. Diagrams presenting a general view of the requirements 94</p>
<p>4.6. Conclusion&nbsp;95</p>
<p>4.7. Bibliography&nbsp;97</p>
<p>Chapter 5. Requirements Analysis 99<br /> Ludovic APVRILLE and Pierre DE SAQUI–SANNES</p>
<p>5.1. Introduction&nbsp;99</p>
<p>5.2. The AVATAR language and the TTool tool 100</p>
<p>5.2.1. Method&nbsp;101</p>
<p>5.2.2. AVATAR language and SysML standard 101</p>
<p>5.2.3. The TEPE language for expressing properties 102</p>
<p>5.2.4. TTool&nbsp;103</p>
<p>5.3. An AVATAR expression of the SysML model of the enhanced pacemaker 103</p>
<p>5.3.1. Functioning of the pacemaker and modeling hypotheses 103</p>
<p>5.3.2. Requirements diagram 104</p>
<p>5.4. Architecture&nbsp;105</p>
<p>5.5. Behavior&nbsp;106</p>
<p>5.6. Formal verification of the VVI mode&nbsp;107</p>
<p>5.6.1. General properties 108</p>
<p>5.6.2. Expressing properties using TEPE 108</p>
<p>5.6.3. The use of temporal logic&nbsp;109</p>
<p>5.6.4. Observer–guided verification 111</p>
<p>5.6.5. Coming back to the model&nbsp;112</p>
<p>5.7. Related work&nbsp;113</p>
<p>5.7.1. Languages 113</p>
<p>5.7.2. Tools 114</p>
<p>5.8. Conclusion&nbsp;115</p>
<p>5.9. Appendix: TTool&nbsp;116</p>
<p>5.10. Bibliography&nbsp;116</p>
<p>PART 3. MARTE&nbsp;119</p>
<p>Chapter 6. An Introduction to MARTE Concepts 121<br /> S&eacute;bastien G&Eacute;RARD and Fran&ccedil;ois TERRIER</p>
<p>6.1. Introduction&nbsp;121</p>
<p>6.2. General remarks&nbsp;121</p>
<p>6.2.1. Possible uses of MARTE&nbsp;122</p>
<p>6.2.2. How should we read the norm? 123</p>
<p>6.2.3. The MARTE architecture&nbsp;124</p>
<p>6.2.4. MARTE and SysML&nbsp;127</p>
<p>6.2.5. An open source support 128</p>
<p>6.3. Several MARTE details 128</p>
<p>6.3.1. Modeling non–functional properties&nbsp;128</p>
<p>6.3.2. A components model for the real–time embedded system&nbsp;133</p>
<p>6.4. Conclusion&nbsp;137</p>
<p>6.5. Bibliography&nbsp;137</p>
<p>Chapter 7. Case Study Modeling Using MARTE 139<br /> J&eacute;r&ocirc;me DELATOUR and Jo&euml;l CHAMPEAU</p>
<p>7.1. Introduction&nbsp;139</p>
<p>7.1.1. Hypotheses used in modeling 139</p>
<p>7.1.2. The modeling methodology used 140</p>
<p>7.1.3. Chapter layout 141</p>
<p>7.2. Software analysis&nbsp;141</p>
<p>7.2.1. Use case and interface characterization 141</p>
<p>7.2.2. The sphere of application&nbsp;144</p>
<p>7.3. Preliminary software design the architectural component 145</p>
<p>7.3.1. The candidate architecture&nbsp;146</p>
<p>7.3.2. Identifying the components 146</p>
<p>7.3.3. Presentation of the candidate architecture&nbsp;148</p>
<p>7.3.4. A presentation of the detailed interfaces 150</p>
<p>7.4. Software preliminary design behavioral component 151</p>
<p>7.4.1. The controller&nbsp;151</p>
<p>7.4.2. The cardiologist&nbsp;153</p>
<p>7.4.3. The operating modes of the cardiologist 153</p>
<p>7.5. Conclusion&nbsp;155</p>
<p>7.6. Bibliography&nbsp;156</p>
<p>Chapter 8. Model–Based Analysis 157<br /> Frederic BONIOL, Philippe DHAUSSY, Luka LE ROUX and Jean–Charles ROGER</p>
<p>8.1. Introduction&nbsp;157</p>
<p>8.2. Model and requirements to be verified 161</p>
<p>8.2.1. The UML–MARTE model that needs to be translated in Fiacre&nbsp;161</p>
<p>8.2.2. Fiacre language 162</p>
<p>8.2.3. The translation principles of the UML model in Fiacre 163</p>
<p>8.2.4. Requirements&nbsp;165</p>
<p>8.3. Model–checking of the requirements&nbsp;166</p>
<p>8.3.1. Use case&nbsp;166</p>
<p>8.3.2. Properties 167</p>
<p>8.3.3. Property check&nbsp;170</p>
<p>8.3.4. First assessment&nbsp;172</p>
<p>8.4. Context exploitation 172</p>
<p>8.4.1. Identifying the context scenarios 173</p>
<p>8.4.2. Automatic partitioning of the context graphs 174</p>
<p>8.4.3. CDL language 175</p>
<p>8.4.4. CDL model exploitation in a model–checker 177</p>
<p>8.4.5. Description of a CDL context 178</p>
<p>8.4.6. Results&nbsp;179</p>
<p>8.5. Assessment&nbsp;180</p>
<p>8.6. Conclusion&nbsp;181</p>
<p>8.7. Bibliography&nbsp;182</p>
<p>Chapter 9. Model–Based Deployment and Code Generation 185<br /> Chokri MRAIDHA, Ansgar RADERMACHER and S&eacute;bastien G&Eacute;RARD</p>
<p>9.1. Introduction&nbsp;185</p>
<p>9.2. Input models&nbsp;187</p>
<p>9.2.1. Description of the executable component–based model 187</p>
<p>9.2.2. Description of the platform model 188</p>
<p>9.2.3. Description of the deployment model 189</p>
<p>9.3. Generation of the implementation model&nbsp;190</p>
<p>9.3.1. Main concepts 191</p>
<p>9.3.2. Connector pattern 191</p>
<p>9.3.3. Container pattern&nbsp;193</p>
<p>9.3.4. Implementation of the components 195</p>
<p>9.3.5. Resulting implementation components 197</p>
<p>9.4. Code generation&nbsp;197</p>
<p>9.4.1. Deployment of the components&nbsp;198</p>
<p>9.4.2. Transformation into an object–oriented model 199</p>
<p>9.4.3. Generating code&nbsp;200</p>
<p>9.5. Support tools&nbsp;201</p>
<p>9.6. Conclusion&nbsp;202</p>
<p>9.7. Bibliography&nbsp;202</p>
<p>PART 4. AADL 205</p>
<p>Chapter 10. Presentation of the AADL Concepts 207<br /> J&eacute;r&ocirc;me HUGUES and Xavier RENAULT</p>
<p>10.1. Introduction&nbsp;207</p>
<p>10.2. General ADL concepts 207</p>
<p>10.3. AADLv2, an ADL for design and analysis 208</p>
<p>10.3.1. A history of the AADL 208</p>
<p>10.3.2. A brief introduction to AADL&nbsp;209</p>
<p>10.3.3. Tools&nbsp;211</p>
<p>10.4. Taxonomy of the AADL entities 211</p>
<p>10.4.1. Language elements: the components 212</p>
<p>10.4.2. Connections between the components 214</p>
<p>10.4.3. Language elements: attributes&nbsp;215</p>
<p>10.4.4. Language elements: extensions and refinements 219</p>
<p>10.5. AADL annexes&nbsp;220</p>
<p>10.5.1. Data modeling annex 220</p>
<p>10.6. Analysis of AADL models 221</p>
<p>10.6.1. Structural properties 222</p>
<p>10.6.2. Qualitative properties 222</p>
<p>10.6.3. Quantitative properties 223</p>
<p>10.7. Conclusion&nbsp;224</p>
<p>10.8. Bibliography&nbsp;225</p>
<p>Chapter 11. Case Study Modeling Using AADL 227<br /> Etienne BORDE</p>
<p>11.1. Introduction&nbsp;227</p>
<p>11.2. Review of the structure of a pacemaker 229</p>
<p>11.3. AADL modeling of the structure of the pacemaker&nbsp;230</p>
<p>11.3.1. Decomposition of the system into several subsystems 230</p>
<p>11.3.2. Execution and communication infrastructure&nbsp;233</p>
<p>11.4. Overview of the functioning of the pacemaker&nbsp;235</p>
<p>11.4.1. The operational modes of the pacemaker&nbsp;235</p>
<p>11.4.2. The operational sub–modes of the pacemaker&nbsp;235</p>
<p>11.4.3. Some functionalities of the pacemaker 237</p>
<p>11.5. AADL modeling of the software architecture of the pulse generator&nbsp;240</p>
<p>11.5.1. AADL modeling of the operational modes of the pulse generator 240</p>
<p>11.5.2. AADL modeling of the features of the pulse generator in the permanent mode 242</p>
<p>11.6. Modeling of the deployment of the pacemaker&nbsp;247</p>
<p>11.7. Conclusion&nbsp;249</p>
<p>11.8. Bibliography&nbsp;250</p>
<p>Chapter 12. Model–Based Analysis 251<br /> Thomas ROBERT and J&eacute;r&ocirc;me HUGUES</p>
<p>12.1. Introduction&nbsp;251</p>
<p>12.2. Behavioral validation, per mode and global 252</p>
<p>12.2.1. Validation context and fine tuning of the requirements 253</p>
<p>12.2.2. Translation of the behavioral automata into UPPAAL 253</p>
<p>12.2.3. Refining requirements 22–23/P 258</p>
<p>12.2.4. Study of the permanent/VVT mode&nbsp;260</p>
<p>12.2.5. Study of the changing of the permanent/VVT Magnet/VOO mode 261</p>
<p>12.3. Conclusion&nbsp;262</p>
<p>12.4. Bibliography&nbsp;263</p>
<p>Chapter 13. Model–Based Code Generation 265<br /> Laurent PAUTET and B&eacute;chir ZALILA</p>
<p>13.1. Introduction&nbsp;265</p>
<p>13.2. Software component generation 268</p>
<p>13.2.1. Data conversion&nbsp;269</p>
<p>13.2.2. Conversion of subprograms 272</p>
<p>13.2.3. Conversion of execution threads 275</p>
<p>13.2.4. Conversion of the instances of shared data 283</p>
<p>13.3. Middleware components generation&nbsp;283</p>
<p>13.4. Configuration and deployment of middleware components 284</p>
<p>13.4.1. Deployment&nbsp;284</p>
<p>13.5. Integration of the compilation chain&nbsp;285</p>
<p>13.6. Conclusion&nbsp;287</p>
<p>13.7. Bibliography&nbsp;287</p>
<p>List of Authors&nbsp;289</p>
<p>Index&nbsp;291</p>

Net verschenen

Rubrieken

    Personen

      Trefwoorden

        Modeling Unbedded Systems