Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000010124152 | TK7895.E42 F76 2006 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
In the context of Distributed and Real-time Embedded Systems (DRES), system developers are faced with reducing system development cost and time while developing correct (relating to safe and QoS properties) and increasingly complex systems. To take up this challenge, Model Driven Development (MDD) advocates the intensive use of models and model transformations on several levels of abstraction.
This book includes contributions from academic and professional experts on a range of topics related to MDD practices, methods and emerging technologies. After introducing general concepts about modeling and how to implement model transformations, two presentations provide an overview of the MARTE profile. Coverage is then given to the most common aspects of MDD for DRES: structuring architectures using components, designing hardware architecture, evaluation and validation through tests and performance analysis. Finally, guidance is given as to how and why MDD should be used by presenting a tool to support MDD and describing an industrial application of MDD concepts.
Author Notes
Jean-Philippe Babau is an Assistant Professor in the Computer Science department at INSA, Lyon, France. His research interests include the use of formal models for architecture description to build real-time embedded systems.
Joël Champeau is a teacher-researcher in the New Technologies Development Laboratory at ENSIETA, Brest, France. He specializes in applying MDE methodology and techniques to a system modeling framework for embedded systems.
Sébastien Gérard is researcher at the LIST in the CEA (the French Atomic Energy Commission) in the LSP Group (Software for Process Safety) where he leads the research theme: "Model-based software engineering for real-time embedded systems".
Table of Contents
Introduction | p. 11 |
Chapter 1 On Metamodels and Language Engineering | p. 13 |
1.1 Introduction | p. 13 |
1.2 Modeling abstract syntax | p. 14 |
1.3 Modeling operational semantics | p. 16 |
1.4 Modeling concrete syntax | p. 18 |
1.5 Related works | p. 21 |
1.6 Conclusion | p. 21 |
1.7 References | p. 22 |
Chapter 2 Using Directives to Implement Model Transformations | p. 25 |
2.1 Introduction | p. 25 |
2.2 Model Transformation Using Embedded Directives | p. 26 |
2.3 Transformations directives | p. 27 |
2.3.1 The source and rename Directives | p. 27 |
2.3.2 The redefine Directive | p. 29 |
2.3.3 The new and exclude Directives | p. 30 |
2.4 Transformation schemas | p. 31 |
2.5 Class Model transformation - Illustration Example | p. 32 |
2.5.1 Server Distribution Aspect Class Model | p. 32 |
2.5.2 COBRA Distribution Class Diagram Transformation Schema | p. 33 |
2.5.3 Processing Transformation Directives | p. 35 |
2.6 Discussion and Conclusion | p. 37 |
2.6.1 Model Transformation Using QVT | p. 37 |
2.7 References | p. 41 |
Chapter 3 Rationale of the UML profile for Marte | p. 43 |
3.1 Introduction | p. 43 |
3.2 Outlines of Marte | p. 45 |
3.2.1 Marte and other OMG standards related RT/E | p. 45 |
3.2.2 A foundation for model driven techniques | p. 46 |
3.2.3 How should the specification be used? | p. 47 |
3.3 Profile architecture | p. 51 |
3.4 References | p. 52 |
Chapter 4 From UML to Performance Analysis Models by Abstraction-raising Transformation | p. 53 |
4.1 Introduction | p. 53 |
4.2 Conceptual Approach for Abstracting-raising Transformation | p. 55 |
4.3 Two-step abstraction-raising transformation | p. 57 |
4.3.1 Description of the Source Model | p. 57 |
4.3.2 Description of the Target Model | p. 58 |
4.3.3 Mapping Approach | p. 59 |
4.4 Two-step abstraction-raising transformation | p. 59 |
4.4.1 Proposed Approach | p. 59 |
4.4.2 Graph Grammar used for Abstraction Raising | p. 61 |
4.4.3 Mapping from the Extended Source Model to LQN | p. 63 |
4.5 Application of the proposed transformation | p. 64 |
4.5.1 Parsing | p. 64 |
4.5.2 Generating the LQN relational mapping | p. 66 |
4.6 Conclusion | p. 68 |
4.7 References | p. 69 |
Chapter 5 Component-Based Software Engineering for Embedded Systems | p. 71 |
5.1 Embedded Systems | p. 71 |
5.2 Specific requirement and aspects of Embedded Systems | p. 72 |
5.3 Component-based Basic Concepts for Embedded Systems | p. 74 |
5.4 Specific Demands on Component-based Software Engineering | p. 75 |
5.4.1 Component Interface | p. 76 |
5.4.2 Component deployment and composition | p. 76 |
5.5 State of the CBSE practice and experience for Embedded Systems | p. 77 |
5.5.1 Automotive Industry | p. 78 |
5.5.2 Industrial Automation | p. 81 |
5.5.3 Consumer Electronics | p. 82 |
5.5.4 Other domains | p. 84 |
5.6 Work on standardization | p. 84 |
5.6.1 The Unified Modelling Language (UML) | p. 84 |
5.6.2 Real-time CORBA | p. 86 |
5.6.3 Programmable Logic Controllers: the IEC 61131-3 standard | p. 86 |
5.6.4 Other standards and de-facto standards | p. 87 |
5.7 The needs and priorities in research | p. 88 |
5.8 References | p. 89 |
Chapter 6 Model Driven Engineering for System-on-Chip Design | p. 91 |
6.1 Introduction | p. 91 |
6.2 SoC Design Challenges and Model Driven Engineering | p. 92 |
6.2.1 Cost | p. 92 |
6.2.2 Silicon complexity | p. 93 |
6.2.3 Productivity | p. 93 |
6.2.4 Model Driven Engineering Assets | p. 95 |
6.3 UML Profiles for SoC Design | p. 95 |
6.3.1 Embedded System Modeling and Analysis | p. 95 |
6.3.2 Electronic System Level Modeling | p. 96 |
6.4 MDE Approach to SoC Co-Modeling | p. 97 |
6.4.1 Multiple Models in SoC | p. 98 |
6.4.2 Metamodels for the "Y" Design | p. 98 |
6.4.3 From High Level Models | p. 99 |
6.4.4 To Technology Models | p. 100 |
6.5 Gaspard2 Development Environment | p. 102 |
6.5.1 Simplify the work with good tools | p. 103 |
6.5.2 Transformation Engine: ModTransf | p. 103 |
6.5.3 From UML2 Modelers to the Gaspard2 Environment | p. 104 |
6.5.4 Model Refactoring and Deployment Metmodel | p. 105 |
6.5.5 Example of Concept Transformation | p. 106 |
6.5.6 Evolution of our environment | p. 107 |
6.6 Conclusion | p. 107 |
6.7 References | p. 108 |
Chapter 7 Schedulability Analysis and MDD | p. 111 |
7.1 Introduction | p. 111 |
7.2 Related Work | p. 113 |
7.3 Global Approach | p. 114 |
7.3.1 Application Specification (1st step) | p. 114 |
7.3.2 Platform Specification (2nd step) | p. 116 |
7.3.3 Application - Platform Mapping (3rd step) | p. 116 |
7.3.3 Analysis results (4th step) | p. 117 |
7.4 UML Modeling | p. 118 |
7.4.1 Attributes identification | p. 118 |
7.4.2 Analysis details | p. 120 |
7.5 Real time analysis tool (RTDT) | p. 121 |
7.5.1 Real time scheduling strategy | p. 121 |
7.5.2 Design space exploration for HW/SW partitioning | p. 122 |
7.6 UMTS FDD Case Study | p. 126 |
7.7 Conclusion | p. 128 |
7.8 Acknowledgements | p. 129 |
7.9 References | p. 129 |
Chapter 8 Model Driven Testing of Time Sensitive Distributed Systems | p. 131 |
8.1 Model Driven Testing | p. 131 |
8.2 Asynchronous Communication in Distributed Systems | p. 133 |
8.3 The Alternative Bit Protocol | p. 135 |
8.3.1 Informal Description of the ABP Components | p. 135 |
8.3.2 Stream-Based Specification | p. 137 |
8.3.3 A Mapping to Haskell | p. 139 |
8.3.4 Executing the Model | p. 141 |
8.4 Strategies for Testing Distributed, Asynchronously Communicating Systems | p. 141 |
8.4.1 Rules for Testing of Distributed Functionally Specified Models | p. 142 |
8.5 Implementing Tests in Haskell | p. 144 |
8.5.1 Test Infrastructure | p. 144 |
8.5.2 Tests for the ABP Components | p. 145 |
8.6 Discussion of Results | p. 146 |
8.7 References | p. 147 |
Chapter 9 Model Management for Formal Validation | p. 149 |
9.1 Introduction | p. 149 |
9.2 System modeling framework | p. 151 |
9.2.1 Separation of concerns | p. 151 |
9.2.2 Domain modeling | p. 151 |
9.2.3 Model Management | p. 152 |
9.2.4 MDD Implementation | p. 153 |
9.2.5 System modeling framework conclusion | p. 161 |
9.3 Building models for formal verification | p. 162 |
9.3.1 Functionalities of the environment under development | p. 163 |
9.3.2 Observer and context-based model checking | p. 164 |
9.3.3 Verification contexts | p. 164 |
9.3.4 Model transformation techniques | p. 165 |
9.3.5 A language to specific contexts | p. 165 |
9.3.6 Translation of CxUCC to observers and concrete contexts | p. 168 |
9.3.7 Translation of CxUCC to an a-context and an observer set | p. 168 |
9.3.8 IF-2 implementation | p. 171 |
9.4 Conclusion and future work | p. 172 |
9.5 References | p. 173 |
Chapter 10 The Design of Space Systems | p. 175 |
10.1 Introduction | p. 175 |
10.1.1 Context | p. 175 |
10.1.2 Outline | p. 176 |
10.1.3 Notice | p. 176 |
10.2 Space Systems | p. 177 |
10.2.1 Applications | p. 177 |
10.2.2 Two Views on the Architecture of Space Systems | p. 177 |
10.3 Design | p. 182 |
10.3.1 Process | p. 182 |
10.3.2 By the way, what is so special about Space Systems? | p. 186 |
10.3.3 On-Board Software | p. 188 |
10.4 Modelling | p. 190 |
10.4.1 Current Possibilities | p. 190 |
10.4.2 Trends and Projects | p. 190 |
10.5 Conclusion | p. 192 |
10.6 References | p. 193 |
Chapter 11 Topcased - An Open Source Development Environment for Embbeded Systems | p. 195 |
11.1 Introduction | p. 195 |
11.2 Requirements and Topcased Architecture | p. 198 |
11.3 Model Driven Engineering and meta-modeling | p. 200 |
11.4 Generating model editors | p. 201 |
11.5 Acknowledgment | p. 204 |
11.6 References | p. 205 |
11.7 Glossary | p. 206 |
Chapter 12 Facing Industrial Challenges: A Return on an Experiment on Model-driven Engineering | p. 209 |
12.1 Introduction | p. 209 |
12.2 A quick overview of our understanding of MDE | p. 211 |
12.3 Expected Benefits of Model-driven Engineering | p. 212 |
12.4 Applying MDE Concepts in an industrial Context | p. 214 |
12.5 Return of Experiment and Findings on MDE Use | p. 218 |
12.6 Conclusion: so what about MDE? | p. 222 |
Index of Authors | p. 223 |