Eindhoven University of Technology MASTER Evaluation of Real-Time
Total Page:16
File Type:pdf, Size:1020Kb
Eindhoven University of Technology MASTER Evaluation of real-time operating systems, development methdologies and CASE-tools for PC based process-control Lemmers, J.H.M. Award date: 1996 Link to publication Disclaimer This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required minimum study period may vary in duration. General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain Eindhoven University of Technology Faculty of Electrical Engineering Section : Measurement and Control Evaluation of real-time operating systems, development methodologies . and CASE-tools for PC based process-control by J.H.M Lemmers M. Sc. Thesis Carried out trom September 1995 to August 1996 Commissioned by Prof. Dr. Ir. P.P.J. van den Bosch Under supervision ot Ir. C.A.M. v.d. Brekel and Ir. J.W.J.J. Beckers Date: August 15, 1996 The Department of Electrical Engineering of the Eindhoven University of Technology accepts no responsibility for the contents of M. Sc. Theses or reports on practical training periods. J.H.M. lemmers Summary Summary The key-word of this master thesis is time. The first part of the master thesis is an exploration of real-time operating systems and real-time software engineering. The second part covers the real-time behaviour of Windows NT 3.51 and the development of a measurement and control application. A real-time system is a system which has to response predictabie and within time-constraints to extern events. An embedded system is a computer system, which is a part of a bigger system and plays a role essential to the functioning of this bigger system. A real-time operating system is a operating system, designed to provide for the user-applica tions to meet their time-constrains. Real-time operating system are often very scaleable, opti mised on speed, predictabie. This master thesis discusses the real-time operating systems QNX, VxWorks, VRTx and iRMX. A result of this survey is that the differences between the operating systems are more in the field of the development tools then in the field of architecture and performance. Real-time software engineering introduces extra aspects, comparing to 'ordinary' software engineering. Additional aspects are time-constraints, complex behaviour, verification, vali dation and simulation. A closer look has been taken at structured development methodologies, functional oriented ( SAiSD by WardlMellor and SDl) or object oriented (Boaeh, OMT by Rumbaugh, CoadNourdon, Shlaer/Mellor). It is almost impossible to exploit all the advantages of a structured methodology, if na CASE tooi is used. A CASE-tooi is a tooi to record, verify and validate produced system specifications and system architecture. Furthermore a CASE-tooi is able to support developers by generating documentation and generating automatically code. The master thesis discusses several CASE tools. These tools are common tools and tools specialised in real-time software development. The last part of this master thesis discusses the determination of the real-time performance of Windows NT 3.51 in order to establish if Windows NT is suitable for measurement and control tasks. The response latency, the interrupt latency, the duration of the Interrupt Service Routine (ISR) and other relevant time periods are measured. In the ISR the control action takes place. The result of this measurement is that Windows NT is found suitable for measurement and control actions if the specifications measured are suitable for an algorithm developed. The response Jatencies measured have a minimum value of 1O~s and a maximum value of 1 56~s • The variation in the response latency is the result of disk activities. So the maximum response latency can be decreased strongly by avoiding disk activities. With the specifications measured. a developer of a control algorithm is able to establish if Windows NT is capable of running this algorithm. The algorithm can be inserted in the Measurement and Control-appli cation (MeCon-application). This application is a framework for running and testing control algorithms on Windows NT. 1 99.99% of the values measured are within 56~s Page i Table of contents J.H.M. lemmers Table of contents Summary 1 Table of contents 11 1. Introduction 1 2. DescriptIon of the master thesis 3 3. Introduction to real-time and embedded systems 5 3.1 Introduction 5 3.2 What is a real-time system 5 3.3 Software engineering 8 3.4 Development of real-time software 9 3.5 References , 10 4. A real-time operatlng system ..•••..•..••••...•.••••.•...••••.....•..•••....••••••....•...•••.••••.•.•..•............••• 11 4.1 Introduction 11 4.2 The real-time operating system 11 4.2.1 Differences between real-time and non-real-time operating systems 12 4.3 The kemel or the nucleus 13 4.3.1 Scheduling 15 4.3.2 Simultaneity 18 4.3.3 POSIX 19 4.4 Micro-kernels 20 4.5 Memory management. 20 4.6 Network facilities and distributed operating systems 21 4.7 Performance of a real-time operating system 23 4.8 References 24 5. Choosing a real-time operating system 25 5.1 Introduction 25 5.2 A customised reaI-time operating-system 25 5.3 A survey of real-time operating systems 26 5.3.1 QNX 26 5.3.2 VxWorks 28 5.3.3 VRTx 29 5.3.4 iRMX 30 5.3.5 Other real-time operating systems 30 5.4 Evaluation 31 5.5 References 32 6. Slructured development of real-time software 33 6.1 Introduction 33 6.2 Software development methods : 33 6.3 Software management 35 6.4 Software Iife-cycle '" 36 6.5 Functional versus object oriented methods 38 6.6 Real-time aspects of structured software-development.. 40 6.6.1 Handling events 40 6.6.2 Dynamic behaviour 41 6.7 Verification and validation 42 6.8 Survey of development methods 43 6.8.1 Structured Analysis and Structured Design (SA/5D) by Ward and Mellor 44 6.8.2 Specification and Description language (SOL) 47 6.8.3 Object Modeling Technique (OMT) by Rumbaugh and others 49 6.8.4 Object-Oriented Design (000) by Booch 51 6.8.5 Object oriented AnalysislDesign (OOA/D) by ShlaerlMellor 53 page ii J.H.M. Lemmers Table of contents 6.8.6 Real-time Object Oriented Method (ROOM) 55 6.8.7 Object Oriented Analyse/Design (OOA/OOD) by Coad and Yourdon 57 6.8.8 Other methods 58 6.9 Evaluation 59 6.1 0 References ~ 60 7. A survey of CASE·tools..•••.•••••••••••.••, 63 7.1 Introduction 63 7.2 A CASE-tooi 63 7.3 Code-generatian 64 7.4 The selection of a CASE-tool. 65 7.5 Su rvey of case-toaIs 66 7.5.1 ObjectGEODE and LOV OMT by Verilog 67 7.5.2 ObjecTime by ObjecTirne lirn 68 7.5.3 SDT by Telelogic 68 7.5.4 ObjectTeam by Cadre Technologies Inc 69 7.6 Evaluation 70 7.7 References 71 8. The suitablllty of Windows NT for measurement and control purposes 73 8.1 Introduction 73 8.2 Purpose of the measurernent. 73 8.3 The measurement methods 75 8.4 The test setup 79 8.5 The measurement expectation 80 8.6 The measurement results 81 8.7 Specifications 84 8.8 Control algorithms and computational delay 85 8.9 Evaluation 87 8.10 References 87 9. Development of the measurement and control applIcation (MeCon) 89 9.1 Introduction 89 9.2 Analysis of the MeCon application 89 9.3 Design of the MeCon application 91 9.4 Implementation 93 9.5 Inserting an algorithm 94 9.6 Conclusion 94 9.7 References 94 10. Evaluatlon and recommendations 95 Appendix A Summary real-time operating systems specifications 97 Appendix B Comparison of object-oriented methods 100 Appendix C Comparison of functional·oriented methods 101 Appendix 0 Summary CASE-tools specifications 102 Appendix E Windows NT 107 Appendix F Microsoft Foundation Class (MFC) 116 Appendix G Device Drivers tor Windows NT 117 Appendix H Measurements data 121 Appendix I List of used terms 130 pageiii Table of contents J.H.M. Lemmers page iv J.H.M. Lemmers Introduction Chapter 1 1. Introduction Time is a very important aspect of technical applications. For example a system has to re sponse within a certain time period or a digital controller has to retrieve samples and has to send outputs within time-constrains, to guarantee that the controller works correctly. A system, which has to respond within established time-constraints, is called a real-time system. Chapter 3 contains a discussion about real-time and embedded systems. These timing demands have influence on technical computer systems. The design of hardware and software must be prepared, resulting in special reaI-time operating systems and software development methodologies for real-time applications. Real-time operating systems are discussed in chapter 4 and chapter 5 and real-time software engineering is discussed in chapter 6 to chapter 7.