Operating System Support for Wireless Sensor Networks
|
|
|
- Ursula Hampton
- 10 years ago
- Views:
Transcription
1 Journal of Computer Science 4 (4): , 2008 ISSN Science Publications Operating System Support for Wireless Sensor Networks Antônio Augusto Fröhlich and Lucas Francisco Wanner Laboratory for Software and Hardware Integration, Federal University of Santa Catarina, , Florianópolis, SC, Brazil Abstract: In a wireless sensor network, several sensor nodes obtain local data and communicate among themselves in order to create a global vision of an object of study. The idea of a self-managed network of low-power, autonomous devices, that collects data from an environment and propagates information through a wireless link brought about several new challenges and requirements in application run-time support. Several research projects have aimed at solving the problem of system support for sensor networks. However, most of them have failed in dealing with two requirements: transparent configuration of the data communication channel and efficient and unified sensor hardware abstraction. In this work we designed and implemented a run-time support environment for wireless sensor network applications based on the EPOS operating system. Through this environment, applications were allowed to configure the communication channel according to their needs and to acquire sensor data through a family-based, uniform, sensor data acquisition API. Our tests showed that the introduction this environment did not incur in excessive overhead and presented significant advantages in relation to the solutions found in other operating systems for sensor networks. Key words: Embedded operating systems, sensor abstraction, configurable communication systems INTRODUCTION Recent advances in hardware design and miniaturization have enabled the emergence of a new set of applications to the fundamental concept of computer, in the form of low-power, wireless microsensors. These micro-sensors are equipped with analog or digital sensor devices (e.g., temperature, magnetic, acoustic sensor), a digital processor, a wireless communication module (e.g., low-power radio) and a power module (e.g., battery, solar cell). Each individual sensor is able to obtain a local vision of its environment and to coordinate and communicate with other sensors in order to create a global vision of a given object of study. The idea of a self-managed network of autonomous devices, which collect and forward data through a wireless link, brings about a series of new challenges to hardware design. In order to be unobtrusive and to operate autonomously for long periods of time, the sensor nodes must be small and low-power. To allow a wide range of applications to share a common platform, the nodes must be modular and allow different sensing devices to be used according to the needs of specific applications. Similarly, the communication hardware should allow wide configuration of the data channel, so that different applications may benefit from different modulation and medium access control schemes. As the complexity of wireless sensor network technologies increases, the need for runtime support to mediate hardware capabilities and application needs becomes critical. System requirements for sensor networks include basic operating system functionality, power management, field reprogramming mechanisms, sensing hardware abstraction and a configurable communication stack. Restricted hardware capabilities require these systems to operate with limited resources and make the use and adaptation of traditional operating systems impossible. Several research projects [1-3,5,7,9] have aimed at solving the problem of system support for sensor networks. However, most of them have failed in dealing with two requirements: transparent configuration of the data communication channel and efficient and unified sensor hardware abstraction. The EPOS system [4,11] is a component-based framework for the generation of dedicated runtime support environments. The EPOS system framework allows programmers to develop platform-independent applications and analysis tools allow components to be automatically adapted to fulfill the requirements of these particular applications. By definition, one instance Corresponding Author: Antônio Augusto Fröhlich, Laboratory for Software and Hardware Integration, Federal University of Santa Catarina, , Florianópolis, SC, Brazil 272
2 of the system aggregates all the necessary support for its dedicated application and nothing else. EPOS provides a wide set of operating system services through platform-independent interfaces and supports a wide range of platforms, such as IA32, PowerPC, Sparc, MIPS, H8 and AVR This study shows the design and implementation of a run-time support environment for wireless sensor network applications based on the EPOS operating system. This environment includes platform support, power management services, configurable communication through the C-MAC (Configurable MAC) medium access control protocol, which allows applications to configure the communication channel according to their needs and a sensor data acquisition system, which abstracts families of sensing devices in an uniform fashion, without incurring excessive overhead and presenting significant advantages in relation to the solutions found in other operating systems for sensor networks. OPERATING SYSTEMS FOR SENSOR NETWORKS In a sensor network, application-specific requirements drive the entire hardware design, from processing capabilities to radio bandwidth and sensor modules, thus requiring the hardware to be modular. However, these requirements have led to a huge variety of hardware components, making wireless sensor networks hardware not only modular, but also heterogeneous. In this scenario, a sensor application developed for a given platform will seldom be portable to a different one, unless the run-time support systems on those platforms deliver mechanisms that abstract and encapsulate the sensor platform in an adequate manner. At the same time, the limited resources typically found in sensor networks hardware require any runtime support for these systems to be efficient and not to use excessive resources. The need for connectivity, hardware abstraction and management of limited resources makes operating system support imperative for sensor network applications. Considering current research, technology and applications [7], we may list a series of operating system requirements for wireless sensor networks. Such a system should: Provide basic operating system functionality: In order not to restrict the functionality and portability of sensor networks applications, an operating system for such devices should provide traditional operating system services such as: hardware abstraction, process 273 management (usually following the mono-task, multithread prism), timing services and memory management. Provide efficient power management mechanisms: Efficient power management in the sensor nodes is a determining factor for the network's life time. A runtime support system for sensor networks applications should provide power management mechanisms to the applications, as well as use as little power as possible to provide its services. Provide field reprogramming mechanisms: Given that the sensor nodes may be located in inhospitable regions and that application requirements and parameters may change with time, field reprogramming through the communication network is an important service in this type of networks. An operating system for sensor networks should ideally provide total or partial field reprogramming mechanisms for deployed applications. Abstract heterogeneous sensing hardware in a uniform fashion: The application-specific requirements of sensor networks make its hardware not only modular, but also heterogeneous. In this scenario, a sensor application developed for a given platform will seldom be portable to a different one, unless the runtime support systems on those platforms deliver mechanisms that abstract and encapsulate the sensor platform in an adequate manner. Architectural differences aside, sensor modules (e.g., temperature, light and motion sensors) present an even wider range of variability. Sensor modules presenting the same functionality often vary in their access interface, operational characteristics and parameters. A properly designed run-time support system could free application programmers from such architectural dependencies and promote application portability among different sensing platforms. Provide a configurable communication stack: Given the specific communication requirements of different applications, communication hardware for sensor networks should be widely configurable. The operating system should provide means to configure the communication protocol stack, starting from the medium access control protocols. Operate with limited resources: As sensor nodes must be low power, their hardware design will tradeoff computation capabilities for lower power consumption. As such, the nodes will have limited processing power
3 and memory resources. An operating system for sensor networks should deliver the required application services without using a significant amount of the computational resources available to the nodes. Typical embedded operating systems, such as VxWorks, QNX, OS-9, WinCE and Clinux provide a programming environment similar to those existing in traditional computers, usually through POSIXcompliant services. Many of these operating systems provide and thus require hardware support to, memory protection. Although these systems are adequate for mobile phones, set-top-boxes and other complex embedded applications, their memory and processing requirements makes their use in wireless sensor networks impossible. Several systems have been developed specifically for these networks, including MagnetOS [2], Contiki [3] and AmbientRT [9]. However, the most prominent of these systems are the TinyOS [7], MANTIS OS [1] and SOS [5] systems. TinyOS is an event-based operating system for sensor networks [7]. The system is organized as a collection of components. Each TinyOS configuration is composed by and application and its required operating system services and consists in a scheduler and a component graph. Each component is composed by commands, event handlers, tasks and an execution frame. Each component declares the commands to which it responds and the events it signals. Commands are non-blocking method calls and are typically used to initiate software and hardware requests and, conditionally, initiate tasks. Event handlers are used to handle hardware interrupts and may call commands or post tasks. The system provides a simplified concurrence model, based in run-to-completion tasks, which may only be preempted by interrupts. This model brings about negative and positive consequences. In a traditional thread-based model, where each thread has its own stack, each thread must reserve space in the node's limited memory for its execution context. Depending on the architecture, context switching may be a lengthy operation. By restricting this model, TinyOS reduces most of this overhead, but also loses most of the characteristics of a traditional multithread model. This restriction of concurrence may also hinder the system's ability to deal with real-time metrics. TinyOS does not provide dynamic memory allocation mechanisms. Timing services are provided by a Timer interface. The component model of TinyOS, along with its simplified concurrence model, allows the system to run in platforms with less than 1KB of RAM. Power management in TinyOS is implemented by the task scheduler, which makes used of the StdControl 274 interface to start and stop components. When the scheduler queue is empty, the main processor is put in sleep mode. This way, new tasks will only be posted in the execution of an interrupt handler. This method yields good results for the main microcontroller, but leaves more aggressive methods (including starting and stopping peripheral components) to the application. TinyOS features a three-tiered hardware abstraction architecture, comprised by a Hardware Presentation Layer, a Hardware Adaptation Layer and a Hardware Interface Layer [6]. The Hardware Presentation Layer is placed directly over the underlying hardware and presents the hardware to the operating system. Components in the Hardware Presentation Layer are unique for each device they present, but may share a common structure. The Hardware Adaptation Layer groups the hardwarespecific components into domain-specific models, such as Alarm or ADC Channel. The Hardware Adaptation Layer provides the best possible abstraction in terms of effective resource usage, but also tries not to hinder application portability. The Hardware Interface Layer uses the adapted components to implement platformindependent abstractions. The TinyOS application developer may choose to use any of the available interface levels, trading off application portability and efficient resource usage. The TinyOS communication stack is based on the B-MAC medium access control protocol [12]. The protocol is implemented in layers (low-level hardware control and protocol logic). The low-level control layer allows static and dynamic configuration of basic communication parameters (e.g., frequency, transmission power). The system also allows some level of configuration of protocol logic (duty cycle, free channel detection algorithm, use of acknowledgements). MANTIS OS (Multimodal networks of in situ sensors) [1] is a multithread operating system for sensor networks, with an application programming interface inspired by POSIX adapted to the needs and restrictions of wireless sensor networks. The architecture of MANTIS is based on the classical layered multithreaded design. The system's application programming interface is preserved between different platforms. The system kernel is comprised of a scheduler and device drivers. A communication stack and a command server are provided as user-level services. The MANTIS scheduler provides a subset of the POSIX thread package, with priority-based round-robin scheduling. The system supports static and dynamic heap allocation for threads. The scheduler is called
4 periodically according to a timer, or through semaphore operations. An idle thread is used as entry point for the system's power management policies, which put the processor in sleep mode whenever there are no threads waiting for the processor. Timing and synchronization services are provided through POSIX-like interfaces. The complex scheduling mechanism used in MANTIS incurs in greater overhead than that of a simpler, eventbased model. Thus, the system has a larger footprint than, for example, TinyOS. However, the system is still adequate for use in current sensor network prototypes. MANTIS uses a monolithic hardware abstraction layer, with dev read(), dev write(), dev mode() and dev ioctl() functions. Each function takes a device as a parameter and a function table redirects general calls to specific device drivers. Parameters for the dev mode() and dev ioctl() are device-specific and there is no unified abstraction for sensing hardware (each device driver has specific semantics). The system provides a unified communication interface through user-level threads. There is a unified packet format for different communication interfaces (e.g., serial interfaces, USB, radio). This communication layer manages packet synchronization and buffering. Underneath this communication API, MANTIS uses traditional device drivers. The monolithic nature of the MANTIS system may incur in unnecessary overhead. On the other hand, the apparent advantages of a single communication entry-point are diminished due to the specific semantics and parameters of the communication methods for each interface. SOS [5] is a dynamically reconfigurable operating system for sensor networks. The system's kernel includes message passing services, dynamic memory allocation and dynamic module loading. SOS is organized as a series of binary modules that implement specific tasks. These components are comparable in functionality to TinyOS components. An application is comprised by a series of interacting modules, which present both a method call interface and a message passing interface. Message passing is asynchronous and coordinated by a scheduler that uses a priority-ordered queue. Direct function calls are used for synchronous operations between modules. Module loading and distribution are implemented by kernel-independent distribution protocols and meta-description structures. The system integrates dynamic memory allocation and garbage collection. As in the TinyOS and MANTIS systems, SOS puts the processor in sleep mode whenever there are no messages to schedule. The dynamic reconfiguration model of SOS incurs in considerably higher overhead than its static 275 counterparts. However, this overhead is still acceptable for most sensor network applications [5]. SOS provides services for dynamically including, updating and removing modules to previously deployed sensing programs. The system divides program memory in pages and keeps state and context structures in RAM for each module. The system uses the loadable kernel modules mechanisms for sensing hardware abstractions. Through this architecture device drivers can register their services and associate it to a name, allowing applications to access components through these names. For instance, an analog sensor driver can bind itself to an ADC Channel and register a sensor type as PHOTO. When the application requests data from PHOTO, the kernel uses the registered driver to obtain the appropriate ADC reading. This semantic abstraction of sensor readings promotes application portability. However, since the operating system has to keep a table of function pointers indexed by name, the registering of drivers incurs in some memory overhead. THE EPOS SYSTEM EPOS (Embedded Parallel Operating System) [4,11] is a component-based framework for the generation of dedicated runtime support environments. The EPOS system framework allows programmers to develop platform-independent applications and analysis tools allow components to be automatically adapted to fulfill the requirements of these particular applications. By definition, one instance of the system aggregates all the necessary support for its dedicated application and nothing else. The modular design of EPOS was guided by the Application-Oriented System Design (AOSD) methodology. AOSD elaborates on the well-known domain decomposition strategies behind Family-Based Design (FBD) and Object-Orientation (OO), i.e., commonality and variability analysis, to add the concept of aspect identification and separation yet at the early stages of design [4]. In this way, AOSD guides domain engineering towards families of components, of which execution scenario dependencies are factored out as aspects and external relationships are captured in a component framework. This domain engineering strategy consistently addresses some of the most relevant issues in component-based software development: Reusability: Components tend to be highly reusable, for they are modeled as abstractions of real elements of a given domain and not as parts of a target system.
5 Moreover, by factoring out execution scenario dependencies as aspects, components can be reused unmodified in a variety of scenarios simply by defining new aspect programs. Complexity management: The identification and separation of execution scenario dependencies implicitly reduces the number of components in each family, since those components that would have been modeled to express a variation in the domain that originates from a scenario dependency are suppressed whenever the dependency can be modeled as an aspect. Simply stated, a set of 100 components could be modeled as a set of 10 components plus a set of 10 aspects and a mechanism to apply aspects to components. The overall complexity (and functionality) in the new set of 100 generated components is the same, but it is now confined in fewer constructs. This directly improves maintainability. Composability: By capturing component relationships in a component framework, AOSD enables components to be more easily combined while generating a system instance. It also put some limits to the misbehaviors that can arise from applying aspect programs to prevalidated components. Feature-based models are of great value at this point to capture configuration knowledge and thus make system generation a more predictable procedure. Figure 1 shows the application-oriented system design domain decomposition process. Abstractions are identified from the problem domain and arranged in families according to their common characteristics. Scenario dependencies are modeled as aspects that may be applied through scenario adapters. Families of abstractions are visible to applications through inflated interfaces, which export their members as a single super-component. System architectures are captured in component frameworks, which are defined in terms of scenario aspects. Families of abstractions in EPOS represent traditional operating system abstractions and implement services such as memory and process management, process coordination, timing and communication. Abstractions are designed and implemented independently from execution scenarios and architectures. All architecture-dependent hardware units are abstracted as hardware mediators which export, though their platform independent interfaces, the functionality demanded by abstractions. Due to the use of static meta-programming and function inlining, hardware mediators implement their functionality without forming a conventional hardware abstraction 276 Fig. 1: AOSD domain decomposition process layer. Through the use of hardware mediators, EPOS 's abstractions have reached a level of reusability that allows, for example, the same family of Thread abstractions to be used in a mono-task or multitask environment, as part of a kernel or completely embedded in the application, in an 8-bit microcontroller or a 64-bit processor. Processes in EPOS are managed by the Thread and Task abstractions. Each Thread stores its context in its own stack. The Context abstraction defines all data that must be stored for an execution flow and this way, each architecture defines its own context. Time is handled by the Timepiece family of abstractions. These abstractions are supported through the Timer, Timestamp Counter (TSC) and Real-Time Clock (RTC) mediators. The Clock abstraction is responsible for keeping track of current time and is available only on systems that feature a real-time clock device. The Alarm abstraction can be used to generate events that can wake-up a thread or call a function. Alarms also have a master event with high priority that is associated with a certain period of time. This master event is used to call the process scheduling algorithm at each quantum of time, when the active scheduler feature is configured on the system. Finally, the Chronometer abstraction is used to perform time measurements.
6 The Synchronizer family of abstractions provides mechanisms to ensure data consistency in a concurrent process environment. The Mutex member implements a simple mutual exclusion mechanism that supplies two atomic operations: lock and unlock. The Semaphore member realizes a semaphore variable, that is a integer variable whose value can only be manipulated indirectly through the atomic operations p and v. The Condition member realizes a system abstraction inspired on the condition variable language concept, which allows a thread to wait for a predicate to become true. In EPOS, details pertaining to address space protection and translation, as well as memory allocation, are abstracted through the MMU (Memory Management Unit) family of mediators. The Address Space abstraction is a container for chunks of physical memory called segments. It does not implement any protection, translation or allocation duties, handing then over to the MMU mediator. The Flat Address Space defines a memory model in which logical and physical addresses match, thus eliminating the need for MMU hardware. In platforms that do not feature a MMU, the MMU mediator simply mantains the interface contract with the Flat abstraction, providing empty method implementations whenever necessary. Methods concerning memory allocation operate on bytes in a way that is similar to libc's malloc function. Input/Output control for peripheral devices in EPOS is provided by the hardware's corresponding mediator. The Machine mediator stores I/O locations and handles dynamic interrupt registering. The IC (Interrupt Controller) mediator handles enabling and disabling individual interrupts. In order to deal with different interrupts available in different platforms and contexts, EPOS assigns platform-independent name and syntax to interrupts pertinent to the system (e.g., timer interrupt). RESULTS AND DISCUSSION Wireless sensor network applications present specific requirements in addition to traditional operating system services. These include efficient power management, field reprogramming, uniform abstraction of heterogeneous sensor devices and configurable communication services. In this work, we introduced extensions to the EPOS operating system in order to fulfill these requirements. EPOS provides application-driven power management services that allow power aware operation of deeply embedded systems, without compromising application portability and without incurring excessive 277 overhead. The goal of our power management system is to allow applications to express when certain software components are not being used, permitting the system to migrate hardware resources associated with these components to lower power levels. Several issues regarding architectural differences between different hardware devices and concurrent access of hardware resources by different software components emerged from this goal. In order to deal with these issues, our system was built upon a generic power management interface, a message propagation system and on the formalization of changes in operating modes [8]. In our power management strategy, the application programmer is expected to specify in his source code, whenever certain components will not be used. Thus, a uniform API to allow power management was defined. This interface allows interaction between the application and the system, between system components and hardware devices and directly between application and hardware. In order to free the application programmer from having to wake up components whenever they are needed, the power managing mechanism abstracted by this interface ensures that components return to their previous operational states whenever they are used. The application may, for example, access a global component (System) that has knowledge of every other component in the system, triggering a system-wide power mode change. Another way the application may use this interface is through subsystems (e.g., Inter- Process Communication (IPC), Processing and Sensing). In this way, messages are propagated only to the components used in the implementation of each subsystem. The application may also access the hardware directly, using the API available in the device drivers, such as Network Interface Card (NIC), CPU, Thermistor. The same API is also used between the system's components. In order to attain application portability and to facilitate application development, the power managing interface was defined with a minimal set of methods and universal operating modes with unified semantics throughout the system. Portability comes from the fact that the application does not need to implement specific procedures for each device in order to change its operating mode. These procedures are abstracted by the API. Easiness of use comes from the fact that the application programmer does not need to analyze specific hardware manuals in order to identify available operating modes, the procedures to change those modes and the consequences of these changes. In order to map coherent connectivity between different abstraction levels in the system, a formal
7 operating mode migration net was defined. In this study, we describe this formal mechanism, which was defined through Petri nets. These nets feature clear graphical representation and a wide range of mathematical analysis models. These models allow proof of liveness and reachability of desirable states, as well unreachability of incorrect states. Although the procedures to migrate power states are specific to each component (both software and hardware), the control and dispatch of these migrations may be expressed in a generic form. In order to allow that, a network of mode migrations, that specifies the transitions between different operating modes was formalized. By using the hierarchical architecture by which system components are organized in EPOS, effective power management was achieved for deeply embedded systems without the need for costly techniques or strategies, thus incurring in no unnecessary processing or memory overheads. Case studies [8] have shown significant power savings, with minimal application intervention. This hierarchical power management infra-structure is also used by an active, opportunistic power manager, which is executed either periodically or when there are no tasks to schedule. This power manager checks the utilization timestamps of each registered component against the current timestamp of the system. A configurable power management heuristic then decides if and when to change a component's power mode. In its simplest form, the power manager puts all idle components (components that have not been accessed for a pre-set period of time) into sleep mode. In order to allow field reprogramming, EPOS makes use of an indirection mechanism similar to Remote Procedure Calls. In this infrastructure, the invocation of a component s method of the client application passes through a Proxy that sends a message to an Agent. After the method execution, a message with the return value is sent back to the application. With this structure, an indirection level is created among the application method calls, making the Agent the only entity aware of component s position in the system memory. The Agent controls the access to the component s method through a synchronizer (Semaphore), not allowing calls to a component that is currently being updated. A system thread is responsible for receiving an update request and the new component code. This request is sent to agent, which overwrites the old code by the new one. The framework infrastructure for system update is transparent to the application and may be turned off without overhead. However, when update support enabled in the system, system footprint increases and the component method calls suffer a small delay. 278 In order to provide sensing support for applications, EPOS relies on software/hardware interface that is able to abstract families of sensing devices in a uniform fashion [14]. We define classes of sensing devices based on their finality (e.g., sensing acceleration, sensing temperature) and establish a common substrate for each class. Each individual device in a class is able to describe itself and its properties, in a similar fashion to the IEEE 1451 standard sensors transducer electronic data sheet. A thin software layer adapts individual devices (e.g., converts ADC readings into contextualized values, performs calibration) to fit the minimal requirements of its sensor class. Thus, a simple thermistor is exported to an application in the exact same fashion as a complex digital temperature sensor. Software-based selfdescription allows applications to use individual sensors' extended characteristics. Thus, an application may use a Thermometer abstraction, without having to address a particular temperature sensor. In the EPOS sensing subsystem, common methods for all sensing devices are defined by the Sensor Common interface. The get() method provides a single sensor, single channel reading (i.e., enables the device, waits for data to be ready, reads the sensor, disables the device and returns readings converted into predetermined physical units). The enable(), disable(), data ready() and get raw() methods allow the operating system and applications to perform fine-grain control over sensor readings (e.g., performing sequential readings, obtaining raw sensor values). The convert(int v) method may be used to convert raw sensor readings (e.g., ADC or duty-cycle outputs) into scientific or engineering units. The calibrate() method performs a device and platform specific calibration method, which may require user interaction, depending on the sensor. Each sensor family may extend the Sensor Common interface in order to properly abstract specific family characteristics. The Magnetometer family may add, for example, method for sampling and reading different axes. A Thermistor family, on the other hand, will probably not need to extend the basic common interface. Each family also defines a specific Descriptor structure, which defines specific fields for operation, accuracy, timing, calibration data and physical units. Every sensing device implements one of the defined interfaces and may provide specific methods for calibration, configuration and operation. Furthermore, each sensing device fills a family-specific Descriptor structure with device-specific values. Default configuration parameters (e.g., frequency, gain, etc.) for each device are stored in a configuration traits structure.
8 Table 1: Sensing components footprint Footprint (bytes) TinyOS Mantis EPOS Sensor Code Data Code Data Code Data System AVR ADC ADXL Thermistor Photocell HMC Table 2: Maximum sampling rate Sampling rate (Hz) Sensor TinyOS Mantis EPOS AVR ADC ADXL Thermistor Photocell HMC Whenever the operating system or an application need to refer to a sensing device, they may either refer to the specific device (e.g., MicaSB Temperature) and perform device-specific operations, or refer to the device class (e.g., Temperature Sensor) and restrict to operations defined by that class. The configuration traits structure lists all the devices in a given class which are present in a given system configuration. A statically meta-programmed realization of the device class interface aggregates all the devices listed by the configuration traits. This realization is concrete when all the devices in a class are of the same type and polymorphic when different sensor types are present in a class. Table 1 shows the memory footprint for sensing components in EPOS and their equivalents in TinyOS and MANTIS. Table 2 shows the maximum sampling rate obtained in tests with the three systems. The lowest overhead and higher sampling rate in EPOS are a direct result of the system's design, which minimizes dependencies between sensing components and the rest of the system. In EPOS, a component which abstracts an analog sensor usually depends only on the platform's analog-to-digital converter and its I/O subsystem, which is in turn abstracted by inline or metaprogrammed operators. This minimizes overhead, even considering that EPOS includes conversion and calibration functions which the other systems do not include in equivalent components. The EPOS communication infra-structure relies on the C-MAC protocol to provide low-level communication support. C-MAC [13] is a Configurable Protocol for medium access control in wireless sensor 279 networks equipped with low power radio transceivers. Its configurable characteristic allows the user to adjust several communication parameters (e.g., synchronization, data detection, acknowledgments, contention, sending and receiving), in order to adjust the protocol to the needs of different applications. Given the simplicity of communication hardware for sensor networks, Medium Access Control protocols and other data link layer services must be implemented in software. Services such as data packet detection, error detection and treatment, addressing, packet filtering and others traditionally implemented in hardware become one of the main parts of a communication stack implemented by operating systems for wireless sensor networks. Medium access control protocols for sensor networks compromise performance (latency, throughput) for cost (power consumption). Power consumption is minimized mainly by shortening the period in which the radio listens to the channel when there are no communications (idle listening). Contention-based protocols, such as B-MAC [12] attain energy efficiency by increasing the message preamble, allowing the radio channel to be verified with lower periodicity. Slot-based protocols, such as S- MAC [15], reduce power consumption by limiting communication to well-defined periods. Comparisons in different application scenarios show that there is no optimal protocol for sensor networks [10]. The choice of an adequate MAC protocol for a wireless sensor network application depends on the level of compromise between power efficiency and communication flexibility. Characteristics such as: complexity, special hardware requirements (e.g., synchronization hardware) and application data communication patterns must be taken into consideration when determining the ideal MAC for a given scenario. In what regards communication support in an operating system for sensor networks applications, configuration flexibility may be considered the most desirable trait. In the EPOS system, the C-MAC protocol uses a meta-programmed framework to build a configurable communication kernel, over which other protocols may be composed. Protocol configuration is performed at compile-time and run-time configuration of protocol characteristics is not treated in the current C-MAC architecture. The overhead of maintaining several configuration possibilities programmed in the node and the need of a second protocol for synchronization makes the use of a run-time configuration system impracticable for a protocol as widely configurable as C-MAC. The main C-MAC configuration points include:
9 Basic communication characteristics: These configurations are handled by the communication hardware and include: transmission frequency and power (which may be altered in runtime); modulation type (e.g., Manchester, NRZ); transmission data rate. Duty cycle and organization: The duty cycle determines the active period in which the radio may operate. In a simple CSMA-based configuration, the radio may transmit at any time it detects the channel is free. On the other hand, in a slot-based protocol, the duty cycle is limited to the active part of the protocol's time slot. Collision-avoidance mechanism: The collisionavoidance mechanism in a wireless sensor networks MAC protocol may be comprised of a carrier sense algorithm, the exchange of contention packets (Request to Send (RTS) and Clear to Send (CTS), or a combination of both. Furthermore, there must be the possibility to not use any collision-avoidance mechanism, for example, in a sparse network with little communication, in which eventually retransmitting corrupted packets is less costly than the mechanism itself. Collision-detection mechanism: As hardware for communications in wireless sensor networks is mostly half-duplex, the most widely used mechanism for collision detection is the use of acknowledgment packets, sent from the receiving node to indicate that the data was correctly received. In situations where packet loss is not a problem (e.g., a densely installed network, where many information packets are redundant), the collision detection mechanism may be eliminated from the protocol configuration, thus increasing power efficiency. Collision handling mechanism: When a collision is detected, the protocol may retransmit the packet, or simply increment a packet loss counter. C-MAC's configurable characteristics are selected by the programmer through Configurable Traits in EPOS. Configurable Traits are parameterized classes whose static members describe the properties of a certain class. When a certain property is selected, the functionality it describes is included into the protocol. On the other hand, due to the use of function inlining and static meta-programming when a certain characteristic is not selected, no overhead associated with it is added to the final object code of the protocol. Furthermore, C-MAC's modular design allows different radio transceivers to be used with no alterations in the protocol's logic. 280 Tests with C-MAC have presented slightly superior performance than a protocol configured in an equivalent fashion, with smaller memory footprint [13]. This advantage is magnified by C-MAC's configuration system, which allows the creation of applicationspecific protocols, with only the necessary overhead. CONCLUSION This work presented the design and implementation of a runtime support environment for wireless sensor network applications based on the EPOS system. This environment includes a power management strategy, a field reprogramming strategy, a sensor data acquisition system and a configurable medium access control protocol for sensor network radios. Our power management strategy allows applications to express when certain software components are not being used, permitting the system to migrate hardware resources associated with these components to lower power levels and features an autonomous, opportunistic power manager. Our field reprogramming strategy allows dynamic update of applications and the system through a transparent indirection mechanism. Our uniform abstraction of families of sensing device allows applications to collect data from sensors without having to deal with specific hardware details and without incurring excessive overhead. The C-MAC (Configurable MAC) protocol, allows applications to configure the communication channel according to their needs, including in the final protocol only the services selected by the application developer. REFERENCES 1. Abrach, H., S. Bhatti, J. Carlson, H. Dai, J. Rose, A. Sheth, B. Shucker, J. Deng and R. Han. MANTIS: System support for multimodal networks of in-situ sensors. In: 2nd ACM International Workshop on Wireless Sensor Networks and Applications, September, San Diego, USA, pp: DOI: / Barr, R., J.C. Bicket, D.S. Dantas, B. Du, T.W.D. Kim, B. Zhou and E.G. Sirer, On the need for system-level support for ad-hoc and sensor networks. SIGOPS Operat. Syst. Rev., 36: 1-5. DOI: / Dunkels, A., B. Grönvall and T. Voigt, Contiki-a lightweight and flexible operating system for tiny networked sensors. In: Proceedings of the First IEEE Workshop on Embedded Networked Sensors, November, Tampa, USA, pp DOI: /LCN
10 4. Fröhlich, A.A., Application-Oriented Operating Systems. GMD-Forschungszentrum Informationstechnik, Sankt Augustin, Germany. First Edition. ISBN: Han, C.C., R. Kumar, R. Shea, E. Kohler and M. Srivastava, A dynamic operating system for sensor nodes. In: Proceedings of the 3rd International Conference on Mobile Systems, Applications and Services, June, ACM Press, New York, USA, pp: DOI: / Handziski, V., J. Polastre, J. Hauer and C. Sharp, Flexible hardware abstraction of the TI MSP430 microcontroller in TinyOS. In: Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems. November, ACM, New York, pp: DOI: / Hill, J., R. Szewczyk, A. Woo, S. Hollar, D. Culler and K. Pister, System architecture directions for networked sensors. In: Proceedings of the 9th International Conference on Architectural Support for Programming Languages and Operating Systems, November, Cambridge, USA, pp: DOI: / Hoeller Junior, A.S., L.F. Wanner and A.A. Fröhlich, A hierarchical approach for power management on mobile embedded systems. In: 5th IFIP Working Conference on Distributed and Parallel Embedded Systems, October, Braga, Portugal, pp: DOI: / _ Hofmeijer, T., S. Dulman, P. Jansen and P. Havinga, AmbientRT-Real time system software support for data centric sensor networks. In: 2nd International Conference on Intelligent Sensors, Sensor Networks and Information Processing, December, IEEE Computer Society Press, Melbourne, Australia, pp: DOI: /ISSNIP Langendoen, K. and G. Halkes, Embedded Systems Handbook. Chapter Energy-Efficient Medium Access Control. CRC Press. ISBN: Marcondes, H., A.S. Hoeller Junior, L.F. Wanner and A.A. Fröhlich, Operating systems portability: 8 bits and beyond. In: 11th IEEE International Conference on Emerging Technology and Factory Automation, September, Prague, pp: DOI: /ETFA Polastre, J., J. Hill and D. Culler, Versatile low power media access for wireless sensor networks. In: Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems, November, ACM Press, New York, USA, pp: DOI: / Wanner, L.F., A.B. de Oliveira and A.A. Fröhlich, Configurable medium access control for wireless sensor networks. In: International Embedded System Symposium, May, Irvine, CA, USA, pp: DOI: / _ Wanner, L.F., A.S. Hoeller Junior, A.B. de Oliveira and A.A. Fröhlich, Operating system support for data acquisition in wireless sensor networks. In: 11th IEEE International Conference on Emerging Technology and Factory Automation, September, Prague, pp: DOI: /ETFA Ye, W., J. Heidemann and D. Estrin, An energy-efficient MAC protocol for wireless sensor networks. In: 21st Conference of the IEEE Computer and Communications Societies, Vol. 3, June, IEEE, New York, USA, pp: DOI: /INFCOM
DESIGN ISSUES AND CLASSIFICATION OF WSNS OPERATING SYSTEMS
DESIGN ISSUES AND CLASSIFICATION OF WSNS OPERATING SYSTEMS ANIL KUMAR SHARMA 1, SURENDRA KUMAR PATEL 2, & GUPTESHWAR GUPTA 3 1&2 Department of I.T. and Computer Application, Dr. C.V.Raman University, Kota,
White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux
White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
Contiki - a Lightweight and Flexible Operating System for Tiny Networked Sensors
Contiki - a Lightweight and Flexible Operating System for Tiny Networked Sensors Adam Dunkels, Björn Grönvall, Thiemo Voigt Swedish Institute of Computer Science {adam,bg,thiemo}@sics.se Abstract Wireless
Real Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
Lalit Saraswat 1 and Pankaj Singh Yadav 2
Computing For Nation Development, March 10 11, 2011 Bharati Vidyapeeth s Institute of Computer Applications and Management, New Delhi A Comparative Analysis of Wireless Sensor Network Operating Systems
Mac Protocols for Wireless Sensor Networks
Mac Protocols for Wireless Sensor Networks Hans-Christian Halfbrodt Advisor: Pardeep Kumar Institute of Computer Science Freie Universität Berlin, Germany [email protected] January 2010 Contents
Chapter 13 Embedded Operating Systems
Operating Systems: Internals and Design Principles Chapter 13 Embedded Operating Systems Eighth Edition By William Stallings Embedded System Refers to the use of electronics and software within a product
Chapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
Figure 1.Block diagram of inventory management system using Proximity sensors.
Volume 1, Special Issue, March 2015 Impact Factor: 1036, Science Central Value: 2654 Inventory Management System Using Proximity ensors 1)Jyoti KMuluk 2)Pallavi H Shinde3) Shashank VShinde 4)Prof VRYadav
Using Protothreads for Sensor Node Programming
Using Protothreads for Sensor Node Programming Adam Dunkels Swedish Institute of Computer Science [email protected] Oliver Schmidt [email protected] Thiemo Voigt Swedish Institute of Computer Science
Design of Remote data acquisition system based on Internet of Things
, pp.32-36 http://dx.doi.org/10.14257/astl.214.79.07 Design of Remote data acquisition system based on Internet of Things NIU Ling Zhou Kou Normal University, Zhoukou 466001,China; [email protected]
The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications
The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications Joshua Ellul [email protected] Overview Brief introduction to Body Sensor Networks BSN Hardware
OpenMosix Presented by Dr. Moshe Bar and MAASK [01]
OpenMosix Presented by Dr. Moshe Bar and MAASK [01] openmosix is a kernel extension for single-system image clustering. openmosix [24] is a tool for a Unix-like kernel, such as Linux, consisting of adaptive
Medium Access Control with Dynamic Frame Length in Wireless Sensor Networks
Journal of Information Processing Systems, Vol.6, No.4, December 2010 DOI : 10.3745/JIPS.2010.6.4.501 Medium Access Control with Dynamic Frame Length in Wireless Sensor Networks Dae-Suk Yoo* and Seung
Embedded Systems. 6. Real-Time Operating Systems
Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic
PEDAMACS: Power efficient and delay aware medium access protocol for sensor networks
PEDAMACS: Power efficient and delay aware medium access protocol for sensor networks Sinem Coleri and Pravin Varaiya Department of Electrical Engineering and Computer Science University of California,
How To Write An Underwater Operating System For A Sensor Network (Uan)
Aqua-OS: An Operating System for Underwater Acoustic Networks Haining Mo, Son Le, Zheng Peng, Zhijie Shi, and Jun-Hong Cui Department of Computer Science and Engineering, University of Connecticut, Storrs,
Lecture 25 Symbian OS
CS 423 Operating Systems Design Lecture 25 Symbian OS Klara Nahrstedt Fall 2011 Based on slides from Andrew S. Tanenbaum textbook and other web-material (see acknowledgements) cs423 Fall 2011 1 Overview
Internet of things (IOT) applications covering industrial domain. Dev Bhattacharya [email protected]
Internet of things (IOT) applications covering industrial domain Dev Bhattacharya [email protected] Outline Internet of things What is Internet of things (IOT) Simplified IOT System Architecture
A Slow-sTart Exponential and Linear Algorithm for Energy Saving in Wireless Networks
1 A Slow-sTart Exponential and Linear Algorithm for Energy Saving in Wireless Networks Yang Song, Bogdan Ciubotaru, Member, IEEE, and Gabriel-Miro Muntean, Member, IEEE Abstract Limited battery capacity
Service and Resource Discovery in Smart Spaces Composed of Low Capacity Devices
Service and Resource Discovery in Smart Spaces Composed of Low Capacity Devices Önder Uzun, Tanır Özçelebi, Johan Lukkien, Remi Bosman System Architecture and Networking Department of Mathematics and Computer
Stream Processing on GPUs Using Distributed Multimedia Middleware
Stream Processing on GPUs Using Distributed Multimedia Middleware Michael Repplinger 1,2, and Philipp Slusallek 1,2 1 Computer Graphics Lab, Saarland University, Saarbrücken, Germany 2 German Research
Reconfigurable Architecture Requirements for Co-Designed Virtual Machines
Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Kenneth B. Kent University of New Brunswick Faculty of Computer Science Fredericton, New Brunswick, Canada [email protected] Micaela Serra
Cloud Computing. Up until now
Cloud Computing Lecture 11 Virtualization 2011-2012 Up until now Introduction. Definition of Cloud Computing Grid Computing Content Distribution Networks Map Reduce Cycle-Sharing 1 Process Virtual Machines
An Easier Way for Cross-Platform Data Acquisition Application Development
An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers
CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
The Energy Harvesting Tipping Point for Wireless Sensor Applications
The Energy Harvesting Tipping Point for Wireless Sensor Applications Ever since the first watermills and windmills were used to generate electricity, energy harvesting has been an attractive source of
Adaptive Medium Access Control (MAC) for Heterogeneous Mobile Wireless Sensor Networks (WSNs).
2008 Adaptive Medium Access Control (MAC) for Heterogeneous Mobile Wireless Sensor Networks (WSNs). Giorgio Corbellini 1 Challenges of the Ph.D. Study of urgency in sensed data Study of mobility in WSNs
Multithreading Optimization Techniques for Sensor Network Operating Systems
Multithreading Optimization Techniques for Sensor Network Operating Systems Hyoseung Kim and Hojung Cha Department of Computer Science, Yonsei University Seodaemun-gu, Shinchon-dong 134, Seoul 120-749,
2.0 System Description
2.0 System Description The wireless alarm system consists of two or more alarm units within a specified range of one another. Each alarm unit employs a radio transceiver, allowing it to communicate with
Predictable response times in event-driven real-time systems
Predictable response times in event-driven real-time systems Automotive 2006 - Security and Reliability in Automotive Systems Stuttgart, October 2006. Presented by: Michael González Harbour [email protected]
POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)
RTOSes Part I Christopher Kenna September 24, 2010 POSIX Portable Operating System for UnIX Application portability at source-code level POSIX Family formally known as IEEE 1003 Originally 17 separate
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
Universal Flash Storage: Mobilize Your Data
White Paper Universal Flash Storage: Mobilize Your Data Executive Summary The explosive growth in portable devices over the past decade continues to challenge manufacturers wishing to add memory to their
Data Management in Sensor Networks
Data Management in Sensor Networks Ellen Munthe-Kaas Jarle Søberg Hans Vatne Hansen INF5100 Autumn 2011 1 Outline Sensor networks Characteristics TinyOS TinyDB Motes Application domains Data management
Operating Systems for Wireless Sensor Networks: A Survey Technical Report
Operating Systems for Wireless Sensor Networks: A Survey Technical Report Adi Mallikarjuna Reddy V AVU Phani Kumar, D Janakiram, and G Ashok Kumar Distributed and Object Systems Lab Department of Computer
Chapter 11 I/O Management and Disk Scheduling
Operatin g Systems: Internals and Design Principle s Chapter 11 I/O Management and Disk Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles An artifact can
Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging
Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging In some markets and scenarios where competitive advantage is all about speed, speed is measured in micro- and even nano-seconds.
Chapter 11 I/O Management and Disk Scheduling
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization
Computer Network. Interconnected collection of autonomous computers that are able to exchange information
Introduction Computer Network. Interconnected collection of autonomous computers that are able to exchange information No master/slave relationship between the computers in the network Data Communications.
How To Monitor And Test An Ethernet Network On A Computer Or Network Card
3. MONITORING AND TESTING THE ETHERNET NETWORK 3.1 Introduction The following parameters are covered by the Ethernet performance metrics: Latency (delay) the amount of time required for a frame to travel
COMPUTER HARDWARE. Input- Output and Communication Memory Systems
COMPUTER HARDWARE Input- Output and Communication Memory Systems Computer I/O I/O devices commonly found in Computer systems Keyboards Displays Printers Magnetic Drives Compact disk read only memory (CD-ROM)
COS 318: Operating Systems. Virtual Machine Monitors
COS 318: Operating Systems Virtual Machine Monitors Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Introduction Have been around
theguard! ApplicationManager System Windows Data Collector
theguard! ApplicationManager System Windows Data Collector Status: 10/9/2008 Introduction... 3 The Performance Features of the ApplicationManager Data Collector for Microsoft Windows Server... 3 Overview
Principles and characteristics of distributed systems and environments
Principles and characteristics of distributed systems and environments Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single
Local Area Networks transmission system private speedy and secure kilometres shared transmission medium hardware & software
Local Area What s a LAN? A transmission system, usually private owned, very speedy and secure, covering a geographical area in the range of kilometres, comprising a shared transmission medium and a set
Middleware support for the Internet of Things
Middleware support for the Internet of Things Karl Aberer, Manfred Hauswirth, Ali Salehi School of Computer and Communication Sciences Ecole Polytechnique Fédérale de Lausanne (EPFL) CH-1015 Lausanne,
Hardware Assisted Virtualization
Hardware Assisted Virtualization G. Lettieri 21 Oct. 2015 1 Introduction In the hardware-assisted virtualization technique we try to execute the instructions of the target machine directly on the host
Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert
Ubiquitous Computing Ubiquitous Computing The Sensor Network System Sun SPOT: The Sun Small Programmable Object Technology Technology-Based Wireless Sensor Networks a Java Platform for Developing Applications
The Heartbeat behind Portable Medical Devices: Ultra-Low-Power Mixed-Signal Microcontrollers
The Heartbeat behind Portable Medical Devices: Ultra-Low-Power Mixed-Signal Microcontrollers The proliferation of sophisticated yet affordable personal medical devices is transforming the health care industry,
SYSTEM ecos Embedded Configurable Operating System
BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original
CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS
CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating? A collection of software modules to assist programmers in enhancing efficiency, flexibility, and robustness An Extended Machine from the users
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 26 Real - Time POSIX. (Contd.) Ok Good morning, so let us get
CGI-based applications for distributed embedded systems for monitoring temperature and humidity
CGI-based applications for distributed embedded systems for monitoring temperature and humidity Grisha Spasov, Nikolay Kakanakov Abstract: The paper discusses the using of Common Gateway Interface in developing
ECU State Manager Module Development and Design for Automotive Platform Software Based on AUTOSAR 4.0
ECU State Manager Module Development and Design for Automotive Platform Software Based on AUTOSAR 4.0 Dhanamjayan P.R. 1, Kuruvilla Jose 2, Manjusree S. 3 1 PG Scholar, Embedded Systems, 2 Specialist,
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter
Wireless Microcontrollers for Environment Management, Asset Tracking and Consumer. October 2009
Wireless Microcontrollers for Environment Management, Asset Tracking and Consumer October 2009 Jennic highlights Jennic is a fabless semiconductor company providing Wireless Microcontrollers to high-growth
A Comparative Study on Operating System for Wireless Sensor Networks
ICACSIS 2011 ISBN: 978-979-1421-11-9 A Comparative Study on Operating System for Wireless Sensor Networks Thang Vu Chien, Hung Nguyen Chan, and Thanh Nguyen Huu Thai Nguyen University of Information and
Comparison of Operating Systems TinyOS and Contiki
Comparison of Operating Systems TinyOS and Contiki Tobias Reusing Betreuer: Christoph Söllner Seminar: Sensorknoten - Betrieb, Netze & Anwendungen SS2012 Lehrstuhl Netzarchitekturen und Netzdienste, Lehrstuhl
Operating Systems, 6 th ed. Test Bank Chapter 7
True / False Questions: Chapter 7 Memory Management 1. T / F In a multiprogramming system, main memory is divided into multiple sections: one for the operating system (resident monitor, kernel) and one
Resource Utilization of Middleware Components in Embedded Systems
Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system
Chapter 1: Operating System Models 1 2 Operating System Models 2.1 Introduction Over the past several years, a number of trends affecting operating system design are witnessed and foremost among them is
Software Tracing of Embedded Linux Systems using LTTng and Tracealyzer. Dr. Johan Kraft, Percepio AB
Software Tracing of Embedded Linux Systems using LTTng and Tracealyzer Dr. Johan Kraft, Percepio AB Debugging embedded software can be a challenging, time-consuming and unpredictable factor in development
ISSN: 2319-5967 ISO 9001:2008 Certified International Journal of Engineering Science and Innovative Technology (IJESIT) Volume 2, Issue 5, September
Analysis and Implementation of IEEE 802.11 MAC Protocol for Wireless Sensor Networks Urmila A. Patil, Smita V. Modi, Suma B.J. Associate Professor, Student, Student Abstract: Energy Consumption in Wireless
GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications
GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications Harris Z. Zebrowitz Lockheed Martin Advanced Technology Laboratories 1 Federal Street Camden, NJ 08102
Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association
Making Multicore Work and Measuring its Benefits Markus Levy, president EEMBC and Multicore Association Agenda Why Multicore? Standards and issues in the multicore community What is Multicore Association?
Linux Driver Devices. Why, When, Which, How?
Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may
Weighted Total Mark. Weighted Exam Mark
CMP2204 Operating System Technologies Period per Week Contact Hour per Semester Total Mark Exam Mark Continuous Assessment Mark Credit Units LH PH TH CH WTM WEM WCM CU 45 30 00 60 100 40 100 4 Rationale
SPI I2C LIN Ethernet. u Today: Wired embedded networks. u Next lecture: CAN bus u Then: 802.15.4 wireless embedded network
u Today: Wired embedded networks Ø Characteristics and requirements Ø Some embedded LANs SPI I2C LIN Ethernet u Next lecture: CAN bus u Then: 802.15.4 wireless embedded network Network from a High End
Tasks Schedule Analysis in RTAI/Linux-GPL
Tasks Schedule Analysis in RTAI/Linux-GPL Claudio Aciti and Nelson Acosta INTIA - Depto de Computación y Sistemas - Facultad de Ciencias Exactas Universidad Nacional del Centro de la Provincia de Buenos
Chapter 2: OS Overview
Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:
Rapid Prototyping of a Frequency Hopping Ad Hoc Network System
Rapid Prototyping of a Frequency Hopping Ad Hoc Network System Martin Braun, Nico Otterbach, Jens Elsner, and Friedrich K. Jondral Communications Engineering Lab, Karlsruhe Institute of Technology (KIT),
ADV-MAC: Advertisement-based MAC Protocol for Wireless Sensor Networks
ADV-MAC: Advertisement-based MAC Protocol for Wireless Sensor Networks Surjya Ray, Ilker Demirkol and Wendi Heinzelman Department of Electrical and Computer Engineering University of Rochester, Rochester,
Virtual KNX/EIB devices in IP networks
WEINZIERL ENGINEERING GmbH WEINZIERL ENGINEERING GMBH F. Heiny, Dr. Y. Kyselytsya, Dr. Th. Weinzierl Bahnhofstr. 6 D-84558 Tyrlaching Tel. +49 (0) 8623 / 987 98-03 E-Mail: [email protected] Web: www.weinzierl.de
SEMS: The SIP Express Media Server. FRAFOS GmbH
SEMS: The SIP Express Media Server FRAFOS GmbH Introduction The SIP Express Media Server (SEMS) is a VoIP media and application platform for SIP based VoIP services. SEMS offers a wide selection of media
Attenuation (amplitude of the wave loses strength thereby the signal power) Refraction Reflection Shadowing Scattering Diffraction
Wireless Physical Layer Q1. Is it possible to transmit a digital signal, e.g., coded as square wave as used inside a computer, using radio transmission without any loss? Why? It is not possible to transmit
A Survey Study on Monitoring Service for Grid
A Survey Study on Monitoring Service for Grid Erkang You [email protected] ABSTRACT Grid is a distributed system that integrates heterogeneous systems into a single transparent computer, aiming to provide
Network Attached Storage. Jinfeng Yang Oct/19/2015
Network Attached Storage Jinfeng Yang Oct/19/2015 Outline Part A 1. What is the Network Attached Storage (NAS)? 2. What are the applications of NAS? 3. The benefits of NAS. 4. NAS s performance (Reliability
A Practical Approach to Education of Embedded Systems Engineering
A Practical Approach to Education of Embedded Systems Engineering Özgür Yürür Department of Electrical Engineering University of South Florida Tampa, Florida, 33620 [email protected] Wilfrido Moreno
Towards Lightweight Logging and Replay of Embedded, Distributed Systems
Towards Lightweight Logging and Replay of Embedded, Distributed Systems (Invited Paper) Salvatore Tomaselli and Olaf Landsiedel Computer Science and Engineering Chalmers University of Technology, Sweden
StreamStorage: High-throughput and Scalable Storage Technology for Streaming Data
: High-throughput and Scalable Storage Technology for Streaming Data Munenori Maeda Toshihiro Ozawa Real-time analytical processing (RTAP) of vast amounts of time-series data from sensors, server logs,
Operating Systems for Wireless Sensor Networks: A Survey
Sensors 2011, 11, 5900-5930; doi:10.3390/s110605900 OPEN ACCESS sensors ISSN 1424-8220 www.mdpi.com/journal/sensors Article Operating Systems for Wireless Sensor Networks: A Survey Muhammad Omer Farooq
Bus Data Acquisition and Remote Monitoring System Using Gsm & Can
IOSR Journal of Electrical and Electronics Engineering (IOSR-JEEE) e-issn: 2278-1676,p-ISSN: 2320-3331, Volume 8, Issue 3 (Nov. - Dec. 2013), PP 88-92 Bus Data Acquisition and Remote Monitoring System
PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design
PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions Slide 1 Outline Principles for performance oriented design Performance testing Performance tuning General
An Oracle White Paper September 2013. Advanced Java Diagnostics and Monitoring Without Performance Overhead
An Oracle White Paper September 2013 Advanced Java Diagnostics and Monitoring Without Performance Overhead Introduction... 1 Non-Intrusive Profiling and Diagnostics... 2 JMX Console... 2 Java Flight Recorder...
Performance Comparison of RTOS
Performance Comparison of RTOS Shahmil Merchant, Kalpen Dedhia Dept Of Computer Science. Columbia University Abstract: Embedded systems are becoming an integral part of commercial products today. Mobile
Process Control and Automation using Modbus Protocol
Process Control and Automation using Modbus Protocol Modbus is the fundamental network protocol used in most industrial applications today. It is universal, open and an easy to use protocol. Modbus has
