Like Television Programming???...or like a Symphony Orchestra???
If your embedded system uses a Real Time Operating System (RTOS), its architecture is like Television Programming! High priority advertisements are scheduled to run in the foreground, and the main program, such as a movie or sitcom, runs as a background process. Time for an ad...time for another ad...time to continue the movie...time for another ad...Scheduling the audio and video resources among the various advertisements and main programs is a challenge similar to those inherent in using an RTOS.
Real Time Operating Systems are used in at least half of embedded systems projects. Many capable vendors provide their RTOS products with, or without licensing fees. Surveys report that most RTOSes will meet the demands of 'real-time', but that the selection criteria among embedded system software engineers is based on how easy it is to learn and use. That makes sense, especially if your product's performance is considered critical, such as a medical device or a military/aerospace system.
RTOSes are derivations of those operating systems found in desktop computers, which very capably run many, unrelated applications concurrently. There is no doubt that RTOSes can be used successfully, but are they appropriate for embedded systems, which have dedicated hardware resources to run a single dedicated software application? Should the embedded system software application be regarded as a group of unrelated process modules, thereby requiring some form of operating system to manage these processes? If so, at what cost to the development team? Including an RTOS in your product suggests that unquestionable knowledge and expertise of the RTOS internal workings are necessary assets of your development team, acquired through quality training. What is an acceptable criteria for architecting the system software...foreground, background, interrupts and scheduling priorities? Are there difficulties in constructing Software Validation and Verification procedures (SV&V)? The SV&V should provide coverage of your RTOS and the application software, properly interfaced for optimal performance. No doubt, these considerations contribute significantly to the cost and challenges in providing a safe and effective embedded system product.
And why do many embedded system developers choose NOT to use an RTOS? Possibly because they have determined that the lack of complexity of their project does not warrant including a third-party product to 'assist' in the software development and runtime environment. Or maybe because it is too difficult to justify the selection of one RTOS over others. Or maybe it's the learning curve, or licensing fees. Whatever the reason, deciding not to use an RTOS does NOT preclude those developers from providing a safe and effective embedded system software product. They find a method that works for them, and that's very important as well.
Staccato™ is a Software Design Method specifically for embedded systems. It is an alternative to using an RTOS, and it's resulting software architectures resemble a 'Symphony Orchestra'. Just as each musical section, such as the brass and woodwinds, plays its respective part of the symphony from well-arranged sheet music, so do application tasks perform their part of the application software, from well-designed state diagram encodings. This Design Method is based on logic principles used in designing digital hardware, resulting in superb performance. It is easy to learn and use, and by abiding by the design guidelines, your embedded system software will be properly documented for Validation and Verification, and most importantly for software maintenance. This is knowledge you can use! Learn it Now! Use it Now! Read more...
Bottom Line: If you are losing sleep over the problems encountered in developing your embedded system software using the current popular methods, it may be time to consider a new mindset that will ensure a safer, more effective and less-costly product...and you will sleep better knowing that your development team is more productive and having more fun!
Make the right decision! Learn and use Staccato™ .
.... OR ....
Symphony Orchestra
© 2010 Mapletech Productions LLC, All Rights Reserved