|
Contents |
5 |
|
|
About the Editors |
7 |
|
|
Acknowledgements |
9 |
|
|
Preface |
11 |
|
|
Chapter 1 Models, Software Models and UML |
14 |
|
|
1. ON MODELS |
14 |
|
|
1.1 The Role of Models in Engineering |
14 |
|
|
1.2 Characteristics of Good Engineering Models |
16 |
|
|
1.3 Models of Software |
16 |
|
|
2. THE UNIFIED MODELING LANGUAGE |
21 |
|
|
2.1 Customizing UML |
23 |
|
|
2.2 UML Profiles |
26 |
|
|
3. SUMMARY |
27 |
|
|
REFERENCES |
28 |
|
|
Chapter 2 UML for Real-Time |
30 |
|
|
1. INTRODUCTION |
30 |
|
|
2. QUALITATIVE REAL-TIME FEATURES |
32 |
|
|
2.1 Concurrency Modeling |
32 |
|
|
2.2 Communication Modeling |
36 |
|
|
2.3 Behavior Modeling |
41 |
|
|
3. QUANTITATIVE REAL-TIME FEATURES |
52 |
|
|
3.1 RT modeling within state diagrams |
52 |
|
|
3.2 RT modeling within sequence diagrams |
54 |
|
|
3.3 UML Profile for Scheduling, Performance, and Time |
55 |
|
|
4. FROM NOTATIONS TO DEVELOPMENT PLATFORMS: THE ACCORD/UML APPROACH |
56 |
|
|
5. OMG PERSPECTIVES |
61 |
|
|
REFERENCES |
62 |
|
|
Chapter 3 Structural Modeling with UML 2.0 |
66 |
|
|
1. STRUCTURAL CONCEPTS OF UML 2.0 – THE ORIGINS |
66 |
|
|
2. EXAMPLE – AN ACCESS CONTROL SYSTEM |
68 |
|
|
2.1 Introducing the Example – Domain Statement |
68 |
|
|
2.2 Domain Class Model |
69 |
|
|
2.3 Behavior Modeling with Interactions (I) |
71 |
|
|
2.4 Modeling with Internal Structures |
74 |
|
|
2.5 Behavior Modeling with Interactions (II) – Decomposition |
76 |
|
|
2.6 Finalizing the Internal Structure |
79 |
|
|
2.7 Behavioral Modeling with State machines |
81 |
|
|
2.8 The Consistency of Interactions and State Machines |
85 |
|
|
3. CONCLUSIONS |
88 |
|
|
REFERENCES |
88 |
|
|
Chapter 4 Message Sequence Charts |
90 |
|
|
1. MSCS AND HMSCS |
92 |
|
|
1.1 Basic MSCs |
93 |
|
|
1.2 Regular collections of MSCs |
94 |
|
|
1.3 High-level MSCs and message sequence graphs |
96 |
|
|
1.4 Other work on MSCs |
98 |
|
|
2. LIVE SEQUENCE CHARTS |
99 |
|
|
2.1 The duality of possible and necessary |
100 |
|
|
2.2 Control constructs |
104 |
|
|
3. THE PLAY-IN/PLAY-OUT APPROACH |
105 |
|
|
3.1 Playing in Behavior |
106 |
|
|
3.2 Play-out |
108 |
|
|
4. COMMUNICATING TRANSACTION PROCESSES |
109 |
|
|
5. SOME EXTENSIONS |
113 |
|
|
5.1 Object Features |
113 |
|
|
5.2 Timing Constraints |
115 |
|
|
REFERENCES |
117 |
|
|
Chapter 5 UML and Platform-based Design |
120 |
|
|
1. INTRODUCTION |
120 |
|
|
1.1 Platform-based Design |
121 |
|
|
1.2 UML and Embedded System Design |
122 |
|
|
2. BACKGROUND |
124 |
|
|
2.1 Related work |
124 |
|
|
2.2 The Metropolis design environment |
125 |
|
|
3. UML PLATFORM PROFILE |
126 |
|
|
3.1 Modeling Platforms Using UML |
126 |
|
|
3.2 Stereotypes |
127 |
|
|
4. UML PLATFORM DESIGN METHODOLOGY |
129 |
|
|
4.1 Design Problem Formulation |
130 |
|
|
4.2 Functional Specification |
131 |
|
|
4.3 Platform Specification |
134 |
|
|
4.4 Communication Refinement |
135 |
|
|
4.5 Mapping |
137 |
|
|
5. CONCLUSIONS |
139 |
|
|
REFERENCES |
139 |
|
|
Chapter 6 UML for Hardware and Software Object Modeling |
140 |
|
|
1. INTRODUCTION |
140 |
|
|
2. EMBEDDED SYSTEM DEVELOPMENT METHODS |
142 |
|
|
3. THE HASOC DESIGN LIFECYCLE |
143 |
|
|
3.1 Product Concept |
144 |
|
|
3.2 Uncommitted Modeling |
145 |
|
|
3.3 Committed Modeling |
146 |
|
|
3.4 System Integration |
147 |
|
|
3.5 Platform Modeling |
147 |
|
|
4. CASE STUDY: DIGITAL CAMERA |
149 |
|
|
4.1 Uncommitted Model |
150 |
|
|
4.2 Committed Modelling |
152 |
|
|
4.3 System Integration |
153 |
|
|
4.4 Platform Modelling |
155 |
|
|
5. CONCLUSIONS AND FURTHER WORK |
158 |
|
|
REFERENCES |
159 |
|
|
Chapter 7 Fine Grained Patterns for Real-Time Systems |
162 |
|
|
1. INTRODUCTION |
162 |
|
|
1.1 What is a Design Pattern? |
163 |
|
|
1.2 Basic Structure of Design Patterns |
166 |
|
|
2. USING DESIGN PATTERNS IN DEVELOPMENT |
169 |
|
|
2.1 Pattern Hatching – Locating the right patterns |
169 |
|
|
2.2 Pattern Mining – Rolling your own patterns |
171 |
|
|
2.3 Pattern Instantiation – Applying Patterns in your designs |
172 |
|
|
3. CATEGORIES OF MECHANISTIC PATTERNS |
173 |
|
|
3.1 Resource Management |
174 |
|
|
3.2 Concurrency |
175 |
|
|
3.3 Distribution |
177 |
|
|
3.4 Safety and Reliability |
178 |
|
|
3.5 Reuse and Software Quality Patterns |
181 |
|
|
3.6 Reactive (behavioral) patterns |
182 |
|
|
REFERENCES |
183 |
|
|
Chapter 8 Architectural Patterns for Real-Time Systems |
184 |
|
|
1. INTRODUCTION |
184 |
|
|
2. THE BASIC STRUCTURAL MICRO-PATTERNS |
185 |
|
|
2.1 The Peer-to-Peer Micro-Pattern |
186 |
|
|
2.2 The Container Micro-Pattern |
186 |
|
|
2.3 The Layering Micro-Pattern |
189 |
|
|
3. THE VIRTUAL-MACHINE LAYERING PATTERN |
189 |
|
|
4. THE RECURSIVE CONTROL PATTERN |
195 |
|
|
5. SUMMARY |
200 |
|
|
REFERENCES |
200 |
|
|
Chapter 9 Modeling Quality of Service with UML |
202 |
|
|
1. INTRODUCTION |
202 |
|
|
2. REQUIREMENTS FOR THE REAL-TIME PROFILE |
203 |
|
|
3. COMPONENTS OF THE REAL-TIME PROFILE |
205 |
|
|
4. MODELING RESOURCES AND QOS |
207 |
|
|
4.1 Resources |
207 |
|
|
4.2 Analysis contexts |
209 |
|
|
4.3 Categories of resources |
211 |
|
|
5. MODELING TIME AND TIMING MECHANISMS |
212 |
|
|
5.1 The model of time |
212 |
|
|
5.2 Modeling timing mechanisms |
214 |
|
|
6. MODELING PLATFORMS |
215 |
|
|
7. SUMMARY |
216 |
|
|
REFERENCES |
217 |
|
|
Chapter 10 Modeling Metric Time |
218 |
|
|
1. INTRODUCTION |
218 |
|
|
2. PHILOSOPHICAL AND PHYSICAL TIME |
221 |
|
|
2.1 Continuous and discrete time |
222 |
|
|
3. METRIC TIME AS USED IN OMG PRODUCTS |
223 |
|
|
3.1 Point versus interval semantics of time |
225 |
|
|
4. TIMING ANALYSIS IN RT UML – THE USER PERSPECTIVE |
226 |
|
|
4.1 Interaction-centered models of computation |
227 |
|
|
4.2 Time modeling in interaction-centered model of computation – an example |
228 |
|
|
5. CONCLUSIONS |
230 |
|
|
REFERENCES |
232 |
|
|
Chapter 11 Performance Analysis with UML |
234 |
|
|
1. INTRODUCTION |
234 |
|
|
2. DEFINING PERFORMANCE REQUIREMENTS AND MEASURES |
237 |
|
|
3. INPUTS TO ANALYSIS: WORKLOAD PARAMETERS |
239 |
|
|
3.1 Resource Annotations |
239 |
|
|
3.2 Annotations for a Step on a Sequence Diagram |
241 |
|
|
3.3 Annotations for Load Intensity and Path Probability |
242 |
|
|
4. DEFINING A SCENARIO IN UML |
242 |
|
|
4.1 Defining a Scenario by a Sequence Diagram |
243 |
|
|
4.2 Defining a Scenario by an Activity Diagram |
244 |
|
|
5. PERFORMANCE MODELING |
245 |
|
|
5.1 Layered Queueing Model |
247 |
|
|
5.2 LQN for the Building Security System |
247 |
|
|
5.3 Analysis Results |
249 |
|
|
6. CONCLUSIONS |
252 |
|
|
REFERENCES |
252 |
|
|
Chapter 12 Schedulability Analysis with UML |
254 |
|
|
1. INTRODUCTION |
254 |
|
|
1.1 The logical model |
257 |
|
|
1.2 The physical architecture |
259 |
|
|
2. INTRODUCTION TO SCHEDULABILITY ANALYSIS |
261 |
|
|
2.1 Rate Monotonic Analysis |
261 |
|
|
2.2 Shared resources and priority inversion |
264 |
|
|
3. SCHEDULABILITY ANALYSIS OF OO DESIGNS USING RMA: TASK CENTRIC DESIGN |
268 |
|
|
3.1 Single event synchronization |
270 |
|
|
3.2 Multiple-event synchronization |
271 |
|
|
4. EVENT CENTRIC DESIGN |
272 |
|
|
4.1 Schedulability analysis approach |
274 |
|
|
4.2 Single thread implementation |
275 |
|
|
4.3 Multi-thread implementation: dynamic thread priorities |
276 |
|
|
4.4 Multi-thread implementation: problems with static thread priorities |
278 |
|
|
5. AUTOMATED SYNTHESIS |
279 |
|
|
6. OTHER APPROACHES |
279 |
|
|
7. CONCLUSIONS |
280 |
|
|
REFERENCES |
280 |
|
|
Chapter 13 Automotive UML |
284 |
|
|
1. THE AUTOMOTIVE DOMAIN |
284 |
|
|
1.1 Reconciling the Needs of Automotive Software Development with Model-Based Approaches |
285 |
|
|
1.2 Automotive Specific Constraints |
287 |
|
|
1.3 (Meta) Model-Based Development Processes |
288 |
|
|
1.4 Structure of the Chapter |
289 |
|
|
2. AML SURVEY |
289 |
|
|
2.1 The AML History |
290 |
|
|
2.2 AML Features in a Nutshell |
290 |
|
|
2.3 Using AML for Automotive Systems Development |
292 |
|
|
3. THE AML |
293 |
|
|
3.1 Abstraction Levels |
294 |
|
|
3.2 Definition of Metamodel Fragments |
296 |
|
|
3.3 Use of the Metamodel |
299 |
|
|
4. CASE STUDY |
304 |
|
|
4.1 The Window Regulator System |
304 |
|
|
4.2 Modeling |
305 |
|
|
5. CONCLUSIONS |
311 |
|
|
REFERENCES |
311 |
|
|
Chapter 14 Specifying Telecommunications Systems with UML |
314 |
|
|
1. ITU SERVICE DESCRIPTION METHODOLOGY |
315 |
|
|
2. ITU SPECIFICATION LANGUAGES |
318 |
|
|
3. ENTER UML |
319 |
|
|
4. SPECIFYING SERVICE DESCRIPTIONS |
320 |
|
|
5. THE UML TELECOM PROFILES |
330 |
|
|
REFERENCES |
334 |
|
|
Chapter 15 Leveraging UML to Deliver Correct Telecom Applications |
336 |
|
|
1. VERIFICATION AND VALIDATION |
337 |
|
|
1.1 A UML MSC Profile |
338 |
|
|
1.2 MSC Pathologies |
341 |
|
|
2. FEATURE ANALYSIS |
343 |
|
|
2.1 Consistency and Completeness of Protocols |
344 |
|
|
2.2 Example Verification |
345 |
|
|
3. TEST CASE GENERATION |
348 |
|
|
3.1 Semantic Model |
349 |
|
|
3.2 Test Generation |
350 |
|
|
3.3 Test Strategies |
351 |
|
|
4. END-TO-END V&V |
353 |
|
|
REFERENCES |
355 |
|
|
Chapter 16 Software Performance Engineering |
356 |
|
|
1. INTRODUCTION |
356 |
|
|
2. OVERVIEW OF SOFTWARE PERFORMANCE ENGINEERING |
358 |
|
|
3. THE SPE MODELING PROCESS |
360 |
|
|
4. CASE STUDY |
364 |
|
|
4.1 Overview |
365 |
|
|
5. SUMMARY |
377 |
|
|
REFERENCES |
378 |
|
|
Index |
380 |
|
|
More eBooks at www.ciando.com |
0 |
|