Autocoding Methods for Networked Embedded Systems
Total Page:16
File Type:pdf, Size:1020Kb
University of Warwick institutional repository: http://go.warwick.ac.uk/wrap A Thesis Submitted for the Degree of PhD at the University of Warwick http://go.warwick.ac.uk/wrap/36892 This thesis is made available online and is protected by original copyright. Please scroll down to view the document itself. Please refer to the repository record for this item for information to help you to cite it. Our policy information is available from the repository home page. Innovation Report AUTOCODING METHODS FOR NETWORKED EMBEDDED SYSTEMS Submitted in partial fulfilment of the Engineering Doctorate By James Finney, 0117868 November 2009 Academic Supervisors: Dr. Peter Jones, Ross McMurran Industrial Supervisor: Dr. Paul Faithfull Declaration I have read and understood the rules on cheating, plagiarism and appropriate referencing as outlined in my handbook and I declare that the work contained in this submission is my own, unless otherwise acknowledged. Signed: …………………………………………………………………….James Finney ii Acknowledgements I would like to thank Rapicore Ltd and the EPSRC for funding this project. I would also like to offer special thanks to my supervisors: Dr. R.P. Jones, Dr. P. Faithfull, and R. McMurran, for their time, support, and guidance throughout this project. iii Table of Contents Declaration ....................................................................................................................... ii Acknowledgements ......................................................................................................... iii Figures ............................................................................................................................. vi Tables .............................................................................................................................. vi Definitions & Abbreviations .......................................................................................... vii Abstract ......................................................................................................................... viii 1. Introduction ............................................................................................................... 1 1.1. Background ......................................................................................................... 1 1.1.1. Autocoding CASE tools ............................................................................. 3 1.1.2. NetGen ........................................................................................................ 8 1.2. Research Aim and Methodology ...................................................................... 11 1.2.1. Research Aim ........................................................................................... 11 1.2.2. Research Methodology ............................................................................. 12 1.3. Portfolio and Innovation Report Structure ....................................................... 15 1.3.1. Portfolio Structure ..................................................................................... 15 1.3.2. Innovation Report Structure ...................................................................... 17 2. Literature Review .................................................................................................... 18 2.1. Autocoding Options .......................................................................................... 19 2.1.1. Model-Based Design and Autocoding Tool Review ................................ 20 2.1.2. Network Design and Autocoding Tool Review ....................................... 21 2.1.3. Findings .................................................................................................... 22 2.2. Autocoding Methods ........................................................................................ 25 2.2.1. Code Template Implementations .............................................................. 27 2.2.2. Autocoder Front-Ends .............................................................................. 28 2.2.3. Processing ................................................................................................. 30 2.3. Summary ........................................................................................................... 33 2.3.1. Model-Based Design and Autocoding Tools ............................................ 33 2.3.2. Network Design Tools ............................................................................... 35 2.3.3. Autocoding Methods ................................................................................. 36 3. NetGen Analysis ...................................................................................................... 38 3.1. CAN Project ...................................................................................................... 39 3.1.1. Aims ......................................................................................................... 39 3.1.2. Results ...................................................................................................... 39 3.2. FlexRay Project ................................................................................................ 41 3.2.1. Aims ......................................................................................................... 41 3.2.2. Results ...................................................................................................... 42 3.3 Recommendations ............................................................................................. 43 3.3.1. Autocoding Method .................................................................................. 43 3.3.2. Autocoding Options ................................................................................. 44 4. Prototype Platform Research and Development...................................................... 46 4.1. Language Research and Selection .................................................................... 47 4.1.1. Requirements Definition .......................................................................... 47 4.1.2. Population Reduction ............................................................................... 49 4.1.3. Mandatory Requirements Filtering........................................................... 49 iv 4.1.4. Language Testing ..................................................................................... 50 4.1.5. Optional Requirements Scoring ............................................................... 52 4.1.6. Language Selection .................................................................................. 53 4.2. Autocoding Platform Development .................................................................. 56 4.2.1. Development Model ................................................................................. 57 4.2.2. Requirements Analysis ............................................................................. 59 4.2.3. System Design .......................................................................................... 60 4.2.4. Architectural Design ................................................................................. 63 4.2.5. Module Design ......................................................................................... 65 4.2.6. Implementation ......................................................................................... 66 4.2.7. Validation ................................................................................................. 74 5. Prototype Platform Evaluation ................................................................................ 80 5.1. Evaluation Criteria ............................................................................................ 80 5.2. Case Study ........................................................................................................ 81 5.3. Evaluation Results ............................................................................................ 83 6. Discussion ............................................................................................................... 88 6.1. Claim of Innovation .......................................................................................... 89 6.2. Autocoding Method .......................................................................................... 89 6.2.1. Static Autocoding with XML Code Descriptions .................................... 90 6.2.2. Dynamic Autocoding with PHP ............................................................... 95 6.3. Innovation Justification .................................................................................... 98 6.3.1. Successful Exploitation ............................................................................ 98 6.3.2. Originality .............................................................................................. 100 6.4. Effects of Commercial Constraints ................................................................. 102 6.4.1. Capital Limitations ................................................................................. 102 6.4.2. Resources ................................................................................................ 103 6.4.3. Market .................................................................................................... 104 6.5. Final Learning Outcomes ............................................................................... 104 6.5.1. Peer