Implementation of Complex Embedded Systems
Printed From: One Stop Testing
Category: Types Of Software Testing @ OneStopTesting
Forum Name: Mobile, PDAs & Embedded Systems Testing @ OneStopTesting
Forum Discription: Discuss All that is need to be known about Mobile, PDAs & Embedded Systems Testing and its Tools.
URL: http://forum.onestoptesting.com/forum_posts.asp?TID=1234
Printed Date: 07Jan2025 at 11:23am
Topic: Implementation of Complex Embedded Systems
Posted By: Anusree_ghosh
Subject: Implementation of Complex Embedded Systems
Date Posted: 03May2007 at 11:16pm
Embedded systems are complex systems that can be composed of extremely diverse architectures ranging from tiny 8-bit micro-controllers up to large distributed systems made of multi-processor platforms. However, two-thirds of these systems run on a real-time operating system (RTOS), either commercial off-the-shelf or in-house, and implement the concept of threads (a thread is a granule with an independent flow of control) that extend to the RTOS task or process. In the UML, this concept is referred to as a Component, while a node refers to an independent processing unit running a set of tasks managed by an RTOS. Any communication between nodes is usually performed using message-passing protocols such as TCP/IP.
The vast majority of developers of embedded systems use C, C++, Ada or Java as programming languages (70 percent will be using C in 2002, 60 percent C++, 20 percent Java, 5 percent Ada). It is not unusual to see more than one language in an embedded system, in particular C and C++ together, or C and Java. C is supposed to be more efficient and closer to the platform's details, while Java or C++ are (supposedly) more productive thanks to object-oriented concepts. However, it should be noted that embedded systems programmers are not object devotees!
In the context of embedded systems, a granule can be one the following (sorted by incremental complexity):
* C function or Ada procedure * C++ or Java class * C or Ada (set of) module(s) * C++ or Java cluster of classes * an RTOS task * a node * the complete system
For the smallest embedded systems, the complete system is composed of a set of C modules only and doesn't integrate any RTOS-related code. For the largest ones (distributed systems), networking protocols add another level of complexity.
|
|