Preface xv <p style="margin:0px;"> </p> <p style="margin:0px;">Introduction 1</p> <p style="margin:0px;"> </p> <p style="margin:0px;">PART I: Model-Based Engineering and the AADL 3</p> <p style="margin:0px;">Chapter 1: Model-Based Software Systems Engineering 5</p> <p style="margin:0px;">1.1 MBE and Software System Engineering 6</p> <p style="margin:0px;">1.2 AADL and Other Modeling Languages 12</p> <p style="margin:0px;"> </p> <p style="margin:0px;">Chapter 2: Working with the SAE AADL 17</p> <p style="margin:0px;">2.1 AADL Models 19</p> <p style="margin:0px;">2.2 System Specification and System Instances 26</p> <p style="margin:0px;"> </p> <p style="margin:0px;">Chapter 3: Modeling and Analysis with the AADL: The Basics 31</p> <p style="margin:0px;">3.1 Developing a Simple Model 31</p> <p style="margin:0px;">3.2 Representing Code Artifacts 47</p> <p style="margin:0px;">3.3 Modeling Dynamic Reconfigurations 51</p> <p style="margin:0px;">3.4 Modeling and Analyzing Abstract Flows 55</p> <p style="margin:0px;">3.5 Developing a Conceptual Model 58</p> <p style="margin:0px;">3.6 Working with Component Patterns 69</p> <p style="margin:0px;"> </p> <p style="margin:0px;">Chapter 4: Applying AADL Capabilities 77</p> <p style="margin:0px;">4.1 Specifying System Composition 77</p> <p style="margin:0px;">4.2 Component Interactions 84</p> <p style="margin:0px;">4.3 Modeling Data and Its Use 97</p> <p style="margin:0px;">4.4 Organizing a Design 101</p> <p style="margin:0px;"> </p> <p style="margin:0px;">PART II: Elements of the AADL 109</p> <p style="margin:0px;">Chapter 5: Defining AADL Components 113</p> <p style="margin:0px;">5.1 Component Names 113</p> <p style="margin:0px;">5.2 Component Categories 114</p> <p style="margin:0px;">5.3 Declaring Component Types 114</p> <p style="margin:0px;">5.4 Declaring a Component’s External Interfaces 118</p> <p style="margin:0px;">5.5 Declaring Component Implementations 121</p> <p style="margin:0px;">5.6 Summary 125</p> <p style="margin:0px;"> </p> <p style="margin:0px;" msonormal"="">Chapter 6: Software Components 127</p> <p style="margin:0px;">6.1 Thread 128</p> <p style="margin:0px;">6.2 Thread Group 133</p> <p style="margin:0px;">6.3 Process 135</p> <p style="margin:0px;">6.4 Data 138</p> <p style="margin:0px;">6.5 Subprogram 141</p> <p style="margin:0px;">6.6 Subprogram Group 144</p> <p style="margin:0px;"> </p> <p style="margin:0px;">Chapter 7: Execution Platform Components 147</p> <p style="margin:0px;">7.1 Processor 148</p> <p style="margin:0px;">7.2 Virtual Processor 151</p> <p style="margin:0px;">7.3 Memory 153</p> <p style="margin:0px;">7.4 Bus 156</p> <p style="margin:0px;">7.5 Virtual Bus 158</p> <p style="margin:0px;">7.6 Device 160</p> <p style="margin:0px;"> </p> <p style="margin:0px;" msonormal"="">Chapter 8: Composite and Generic Components 163</p> <p style="margin:0px;">8.1 System 163</p> <p style="margin:0px;">8.2 Abstract 165</p> <p style="margin:0px;"> </p> <p style="margin:0px;" msonormal"="">Chapter 9: Static and Dynamic Architecture 169</p> <p style="margin:0px;">9.1 Subcomponents 169</p> <p style="margin:0px;">9.2 Modes 173</p> <p style="margin:0px;"> </p> <p style="margin:0px;" msonormal"="">Chapter 10: Component Interactions 185</p> <p style="margin:0px;">10.1 Ports and Connections 186</p> <p style="margin:0px;">10.2 Data Access and Connections 210</p> <p style="margin:0px;">10.3 Bus Access and Connections 213</p> <p style="margin:0px;">10.4 Feature Groups and Connections 217</p> <p style="margin:0px;">10.5 Abstract Features and Connections 225</p> <p style="margin:0px;">10.6 Arrays and Connections 227</p> <p style="margin:0px;">10.7 Subprogram Calls, Access, and Instances 232</p> <p style="margin:0px;">10.8 Parameter Connections 240</p> <p style="margin:0px;"> </p> <p style="margin:0px;" msonormal"="">Chapter 11: System Flows and Software Deployment 245</p> <p style="margin:0px;">11.1 Flows 245</p> <p style="margin:0px;">11.2 Binding Software to Hardware 256</p> <p style="margin:0px;"> </p> <p style="margin:0px;">Chapter 12: Organizing Models 263</p> <p style="margin:0px;">12.1 Naming and Referencing Model Elements 263</p> <p style="margin:0px;">12.2 Organizing Models with Packages 266</p> <p style="margin:0px;">12.3 Evolving Models by Classifier Refinement 273</p> <p style="margin:0px;">12.4 Prototypes as Classifier Parameters 281</p> <p style="margin:0px;"> </p> <p style="margin:0px;" msonormal"="">Chapter 13: Annotating Models 289</p> <p style="margin:0px;">13.1 Documenting Model Elements 289</p> <p style="margin:0px;">13.2 Using Properties 291</p> <p style="margin:0px;"> </p> <p style="margin:0px;">Chapter 14: Extending the Language 303</p> <p style="margin:0px;">14.1 Property Sets 303</p> <p style="margin:0px;">14.2 Annex Sublanguages 312</p> <p style="margin:0px;"> </p> <p style="margin:0px;" msonormal"="">Chapter 15: Creating and Validating Models 317</p> <p style="margin:0px;">15.1 Model Creation 317</p> <p style="margin:0px;">15.2 Model Creation Tools 319</p> <p style="margin:0px;">15.3 System Validation and Generation 321</p> <p style="margin:0px;">15.4 System Validation and Generation Tools 322</p> <p style="margin:0px;"> </p> <p style="margin:0px;" msonormal"="">Appendixes 325</p> <p style="margin:0px;">Appendix A: Syntax and Property Summary 327</p> <p style="margin:0px;">A.1 AADL Syntax 327</p> <p style="margin:0px;">A.2 Component Type and Implementation Elements 342</p> <p style="margin:0px;">A.3 Basic Property Types and Type Constructors 347</p> <p style="margin:0px;">A.4 AADL Reserved Words 348</p> <p style="margin:0px;">A.5 AADL Properties 349</p> <p style="margin:0px;">A.6 Runtime Services 418</p> <p style="margin:0px;">A.7 Powerboat Autopilot System 425</p> <p style="margin:0px;"> </p> <p style="margin:0px;" msonormal"="">Appendix B: Additional Resources 429</p> <p style="margin:0px;">B.1 Modeling System Architectures 429</p> <p style="margin:0px;">B.2 Cases Studies 431</p> <p style="margin:0px;"> </p> <p style="margin:0px;" msonormal"="">Appendix C: References 435</p> <p style="margin:0px;"> </p> <p style="margin:0px;">Index 441</p> <p style="margin:0px;"> </p>