An Aspect-Oriented Model-Driven Engineering Approach for Distributed Embedded Real-Time Systems

An Aspect-Oriented Model-Driven Engineering Approach for Distributed Embedded Real-Time Systems

Faculty of Electrical Engineering, Computer Science, and Mathematics Department of Computer Science Warburger Straße 100 D-33098 Paderborn An Aspect-Oriented Model-Driven Engineering Approach for Distributed Embedded Real-Time Systems by Marco Aurélio Wehrmeister A thesis submitted to the Graduate Program in Computer Science (PPGC) Federal University of Rio Grande do Sul and to the Faculty of Computer Science, Electrical Engineering and Mathematics University of Paderborn in partial fulfillment of the requirements for the degree of Doctor of Philosophy (Ph.D.) and Doctor of Natural Science (Dr. rer. nat.) Paderborn, September 2009 Supervisors: Prof. Dr.-Ing. Carlos E. Pereira, Federal University of Rio Grande do Sul, Brazil Prof. Dr. rer. nat. Franz J. Rammig, University of Paderborn, Germany Public examination in Porto Alegre, Brazil Additional members of examination committee: Prof. Dr. Antônio Augusto Fröhlich Prof. Dr. Leandro Buss Becker Prof. Dr. Luigi Carro Date: June 17th, 2009 Public examination in Paderborn, Germany Additional members of examination committee: Prof. Dr. Gregor Engels Prof. Dr. Marco Platzner Prof. Dr. Achim Rettberg Date: September 17th, 2009 To Jo, my lovely wife, for her love, huge patience, support, and understanding at the moments I was absent. Acknowledgments I have a noticeable improvement in my professional/personal life after these six years working in the Embedded Systems Lab at the Federal University of Rio Grande do Sul. I have been with many people that contributed directly or indirectly to this improvement. I would like to express gratitude to all of them. First of all, I would like to thank Dr. Carlos Eduardo Pereira. He is not only my advisor but also a friend. His help along two years of master and four years of Ph.D. did strongly contribute to several aspects of my professional and personal life in Porto Alegre. Our discussions have been a fundamental piece for the accomplishment of this work. I tried to learn the maximum I could from his example. Other important part of my Ph.D. was my “sandwich” stage at the University of Paderborn, Germany. For this, I would like to thank Dr. Franz Josef Rammig for accepting me as member in his working group, for the discussions, critics and suggestions on my work, and more specially, for the opportunity to do the bi-national Ph.D. I do not have words to describe how this stay in Germany opened my horizons concerning personal and professional aspects. From home, I would like to thank my wife, Josi, for her support, encouraging, and compre- hension in the last six years. She was and still is a fundamental piece during all phases of my life. I am also thankful to my parents, Nelson and Berta, my brothers Fernando and Leonardo, and my sister-in-law Thaize for the encouragement and support. Specially, I would like to thank my uncle Vendelino, aunt Janete, and cousins Rudolf, Priscilla, Bárbara, and Júlia for their sup- port in Porto Alegre, decreasing the yearning for the family of Blumenau. In special, I would like to thank Bárbara for the English review of some chapters of this thesis. I would also like to acknowledge all professors and administrative staff of the Informatics Institute, which somehow contributed for the conclusion of my Ph.D. Specially, I would like to thank Dr. Flávio Rech Wagner, Dr. Luigi Carro, and Dr. Marcelo Soares Pimenta for the valuable discussions, critics, and suggestions during all this time. I am thankful to all colleagues and friends from the Embedded Systems Lab who directly or indirectly contributed to this work. I cannot name all of them because I will certainly forget many names. However, I should mention those that provide remarkable contributions to this work: Edison Pignaton Freitas, Marcio Oliveira, and Elias Teodoro da Silva Jr. Additionally, I would like to thank two undergrad students: William Silva for the help with some case studies in ORCOS platform; and Ronaldo Rodrigues Ferreira (a.k.a. Bixo) for the English review of iii this text’s first draft. Considering my stay in Germany, I would like to express my gratitude to Marcelo Götz, which actually came back to Brazil when I arrive at Paderborn, for all help and hints about the life in Germany, and specially for letting me to “inherit” his house in Paderborn. From there, I must also mention Vera Kühne for all help with the bureaucracy at the university, the colleagues of the working group, and specially Tales and Carolina Heimfahrt, Dalimír Orfánus, Fahad Bin Tariq for various moments we spend together. Finally, I would like to thank the Conselho Nacional Científico e Tecnológico (CNPq) for both regular and “sandwich” scholarships, and also the Deutscher Akademischer Austausch Dienst (DAAD) for the financial support during part of the stay in Germany. Contents List of Figures viii List of Tables xi 1. Introduction 3 1.1. Motivation ..................................... 3 1.2. Goals and Scope Delimitation .......................... 6 1.3. Thesis Contributions ............................... 8 1.4. Text Organization ................................. 10 2. Theoretical Background 11 2.1. Introduction .................................... 11 2.2. Distributed Embedded Real-Time Systems .................... 11 2.2.1. Introduction ................................ 11 2.2.2. Real-Time Systems ............................ 11 2.2.3. Embedded Systems ............................ 13 2.2.4. Distributed Systems ........................... 13 2.3. Requirements in Embedded Systems Domain .................. 14 2.4. Embedded Systems Design Approaches ..................... 17 2.4.1. Introduction ................................ 17 2.4.2. Object-Oriented Paradigm ........................ 18 2.4.3. Aspect-Oriented Paradigm ........................ 19 2.4.4. Evaluating the Design with Metrics ................... 21 2.4.4.1. Introduction .......................... 21 2.4.4.2. C&K Metrics Suite ...................... 22 2.4.4.3. Assessment Framework for AO systems ........... 23 2.5. Model-Driven Engineering ............................ 25 2.5.1. Overview ................................. 25 2.5.2. MARTE UML profile .......................... 26 3. State of the Art Analysis 31 3.1. Introduction .................................... 31 3.2. Design and Modeling Approaches ........................ 32 3.2.1. Overview of Related-Work ........................ 32 3.2.2. Discussion ................................ 36 v Contents 3.3. Separation of Concerns in Requirements Handling ................ 37 3.3.1. Introduction ................................ 37 3.3.2. Separation of Concerns in General Systems Development ....... 37 3.3.3. The Use of AOD in the Design of DERTS ................ 41 3.3.4. Discussion ................................ 45 3.4. Code Generation ................................. 46 3.4.1. Introduction ................................ 46 3.4.2. Code Generation from UML Models ................... 47 3.4.3. Commercial Tools ............................ 50 3.4.4. Discussion ................................ 51 3.5. Discussion on the Open Problems ........................ 52 4. MDE process for DERTS design 55 4.1. Introduction .................................... 55 4.2. Aspect-Oriented Model-Driven Engineering for DERTS ............ 56 4.3. Adaptations in the SEEP design flow ....................... 60 5. Specifying DERTS Using UML and Aspects 63 5.1. Introduction .................................... 63 5.2. Functional Requirements Handling Elements .................. 64 5.2.1. Introduction ................................ 64 5.2.2. Specification of System Expected Functionalities ............ 65 5.2.3. Specification of System Structure .................... 66 5.2.3.1. Class Diagram ......................... 66 5.2.3.2. Composite Structure Diagram ................. 67 5.2.3.3. Deployment Diagram ..................... 69 5.2.4. System Behavior Specification ...................... 70 5.2.4.1. Sequence Diagram ....................... 70 5.2.4.2. Activity Diagram ....................... 75 5.2.4.3. State Diagram ......................... 76 5.3. Non-Functional Requirements Handling Elements ................ 77 5.3.1. Introduction ................................ 77 5.3.2. Distributed Embedded Real-time Aspects Framework .......... 79 5.3.2.1. Overview ........................... 79 5.3.2.2. Timing Package ........................ 80 5.3.2.3. Precision Package ....................... 81 5.3.2.4. Synchronization Package ................... 82 5.3.2.5. Communication Package ................... 82 5.3.2.6. TaskAllocation Package .................... 83 5.3.2.7. Embedded Package ...................... 83 5.3.2.8. Discussion ........................... 84 5.3.3. Aspects Crosscutting Overview Diagram ................ 86 5.3.4. Join Points: Selecting Model Elements Affected by Aspects ...... 88 5.4. Final Remarks ................................... 91 vi Contents 6. Tool Support for the Proposed Approach 93 6.1. Introduction .................................... 93 6.2. A Platform Independent Model for Code Generation .............. 93 6.3. UML-to-DERCS Transformation ......................... 98 6.4. Mapping Rules .................................. 104 6.4.1. Overview ................................. 104 6.4.2. Application Code ............................. 105 6.4.3. Platform Configuration .......................... 112 6.5. Code Generation Process ............................. 113 6.6. Final Remarks ................................... 116 7. Validation 119 7.1. Introduction ...................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    226 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us