How To Test In Tinyos With Unit Test (Forum) On A Microsoft Microsoft Computer (Forums) On An Ipa (Forms) On Your Computer Or Microsoft Macbook (Forims) On The Network (For
|
|
|
- Roger Palmer
- 5 years ago
- Views:
Transcription
1 Unit Testing for Wireless Sensor Networks Michael Okola Computer Science Department University of Virginia Charlottesville, Virginia Kamin Whitehouse Computer Science Department University of Virginia Charlottesville, Virginia ABSTRACT Unit testing is an important tool for validating software modules, particularly for wireless sensor networks (WSNs) where bugs are difficult to find and modular software is composed in numerous combinations. However, existing approaches can only test for events or state on a single node; they cannot evaluate distributed state. In this paper, we present a new unit testing framework that addresses this concern by defining tests as a single Python script that executes on the PC. This script automatically generates test programs, coordinates the inputs, and collects outputs from all nodes in the network. This approach allows validation of distributed state, while simulataneously reducing the amount of code needed to define a unit test. Categories and Subject Descriptors C.3 [Embedded Systems]; D.1.3 [Programming Techniques]: Concurrent Programming Distributed programming General Terms Design, Languages, Human Factors Keywords Debugging, Embedded Networks, Programming, RPC 1. INTRODUCTION Unit testing is a software verification technique that validates software components in isolation of each other based on a test specification. Unit testing can be used at several different granularities, including individual functions [10], objects [5, 7], or subsystems [6]. In wireless sensor networks (WSNs), the process of unit testing is complicated by several factors. First, many software modules for WSNs are tightly coupled with the hardware and therefore must be loaded onto a sensor node Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bearthisnoticeandthefullcitationonthefirstpage. Tocopyotherwise,to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SESENA 10, May , Cape Town, South Africa Copyright 2010 ACM /10/05...$ to be executed, which means that test programs must manage the trade-off between using software stubs to isolate a software unit, and verifying correct operation in a natural environment. Second, the remote, embedded nature of sensor nodes entails that the testing framework must manage the overhead of programming tests, starting tests remotely, and collecting the results. Finally, WSNs have many networked software modules that are intended to be programmed onto a network of identical nodes that communicate through a low-power radio [4, 11]. These modules perform distributed operations and maintain distributed state, and they cannot necessarily be tested on a single node in isolation; the logic of the module can only be executed on a network of sensor nodes. The testing of such modules therefore entails the coordination of inputs to multiple nodes and collection of the results from some or all nodes, since the result of a test may depend on the distributed state of the network. Existing unit testing software for WSNs is able to isolate software, remotely start programs, and collect the results, but cannot test the validity of networked software modules that produce distributed results. For example, TUnit [1] is a unit testing framework that applies tradition testing techniques and philosophies to TinyOS, which is the predominant software platform for sensor networks (WSNs) today [9]. TUnit allows users to define unit tests by creating new TinyOS programs that include and interface with an existing TinyOS module, provides inputs to that module, and checks its output. However, the assertions that are verified by TUnit tests are always executed on a single node; they test whether a particular event occured or a particular state was reached, but cannot test or validate distributed state. In this paper, we present ideas and ongoing work on a new unit testing framework that addresses this problem, while simultaneously reducing the overhead required to define unit tests. Our framework, called MUnit, does not require the user to define tests in the form of TinyOS modules that are programmed onto each node. Instead, the tests are defined in Python in a centralized script that controls the execution on all nodes in a network. This single python script is used to generate the test program(s), load the program(s) onto nodes on the network, remotely start the test, and collect the distributed state of the network. Because the distributed state is collected at a single point, the distributed state of the
2 (a) TUnit Architecture (b) MUnit Architecture Figure 1. The main difference between the TUnit and the MUnit architecture is where the user-specified test executes. In TUnit, it executes on each node. In MUnit, it executes on the central base station. MUnit s architecture allows the testing of distributed state. Furthermore, TUnit only provides test inputs to the driving node, whereas MUnit can provide test inputs to all nodes. network can be verified in order to test the collaborative actions of the network, instead of the state or events of a single node. We provide a testing framework that allows the Python test specification to automatically generate and interact with programs on the sensor nodes through a combination of code parsing, code generation, and a embedded RPC (ERPC) protocol. We implement MUnit by augmenting a tool called Marionette [12], which interfaces with the TinyOS software module using ERPC. Furthermore, we developed specialized scripts to automatically generate wrapper programs around a TinyOS configuration, allowing it to be tested in isolation of other TinyOS modules without writing a specialized wiring configuration file for each test. This eliminates the need for specialized TinyOS code to be written for each unit test, and allows the entire test and testing process to be contained in a single Python file. It greatly simplifies test creation, execution, and analysis, in contrast to TUnit which requires multiple files to be created for every test, possibly written in multiple different languages. Tests can be created and started with two lines of code in MUnit, and each input and output requires an additional 1 line of code. Thus, a test can be written in as little as 4 lines of code. In contrast, TUnit tests require substantial overhead of at least 4 files and 25 lines of code, and generally much more. The MUnit framework is still under development, and this paper presents the key motivations and insights, as well as a preliminary implementation. We discuss both benefits and limitations. 2. BACKGROUND AND STATE OF THE ART TUnit is a relatively advanced and mature unit testing framework for TinyOS, which is the predominant software platform for sensor networks (WSNs) today [9]. TinyOS programs are broken down into modules that are intended to be similar to hardware modules: they have very simple state and functionality and a small number of input and output functions, called commands and events, respectively. Modules can be wired together in configurations, similar to the way that hardware modules such as ICs are wired together on a circuit board. Configurations can then be treated as hardware modules themselves, and wired into other configurations. This programming model provides a natural abstraction for defining correctness specifications, in the same way that a spec sheet provides the input/output specifications of a hardware module. TUnit exploits the modularity afforded by TinyOS for unit testing. To define a test, the user defines a new configuration that wires a TinyOS module to one or more stub modules that provide test inputs to the module and execute assertions over the outputs: tests to verify that the outputs are valid. The stub modules interface with an embedded testing library provided by TUnit, also written in TinyOS, which facilitates communication of the results to a base station. The library notifies the stubs when to start the test, and the stubs notify the library whether the test succeeded or failed. To begin a test, the user executes a java program. This program first compiles the test program, and then loads it onto nodes specified in a file called tunit.xml. The java program then sends a message over a serial port to the embedded testing library to begin. The library triggers the stubs to execute the user-defined tests, and accumulates the results. Once the tests are all complete, the library sends the results to the base station where they are printed to the screen. TUnit has several advanced features that address important concerns of unit testing for TinyOS. For example, it supports code that is compiled for multiple platforms or that is composed with many different hardware drivers through a suite.properties file that can be used to pass options to the compiler or to indicate that a test should only be executed on certain platforms. However, the general architecture of TUnit requires the user to specify unit tests in TinyOS, which leads to several fundamental limitations. First, this entails that assertions can only test for events or state on a single node; they cannot test distributed state. TUnit does support multi-node tests but the test inputs are only provided to a single driving node, which may commu-
3 TestP.nc module TestP { provides interface State; implementation { uint8_t state; command void State.forceState(uint8_t p_state) { state = p_state Figure 2. The TestP program has a single state variable and a single interface, which has a function that sets the value of the state variable. The first command imports the correct libraries for use. The second command automatically creates a test program for the TestP.nc module, compiles the program, and loads the binary onto nodes attached to serial ports COM1 and COM2. The user can then call the forcestate(int) function in the State interface provided by the module by calling the command test.testp.state.forcestate(7, address=1) This code calls the forcestate function on node 1. The TinyOS modules does not provide accessor functions for the state variable, so the user can peek at the value to test whether the function worked, which retrieves the raw bytes directly from the memory location where the state variable is stored on the heap. assert test.testp.state.peek(address=1) == 7 nicate with multiple supporting nodes. Assertions can be executed on any node, but can only be executed on a single node. The second limitation of writing tests in TinyOS is that, because the assertions are executed on the nodes, the actual output of the tests are lost by aggregating them into single true/false values that are transmitted to the PC. This prevents the user from being able to access the actual output of the module to identify the cause of the failure. Finally, the output of the tests is printed to the screen by the TUnit java program, requiring the user to write a second program in addition to the test itself if the test results must be automatically parsed and processed. 3. M UNIT OVERVIEW MUnit addresses the shortcomings of TUnit by allowing the user to define the unit tests as a single program written in Python [2] that runs on the PC, instead of a program written in TinyOS that runs on the sensor node. The Python script coordinates the inputs to the nodes and collects their outputs, where assertions can be executed. This approach has three advantages. First, the distributed state of the network can be analyzed, instead of just the state of a single node. Second, in the case of a failed test, the actual output of the software module can be provided to the user for inpection, providing more visibility into the cause of failure than a simple notification that the test failed. Third, the user can programmatically specify actions that should be taken when tests fail. For example, the python script can automatically re-run the tests on a different testbed or send to the contact author for that code. The key difference between the TUnit and MUnit architectures is illustrated in Figure 1. We explain MUnit through an example of a single TinyOS module called TestP, shown in Figure 2, that has a single member variable state and a single function that sets the value of that variable. To create a unit test for a TinyOS module called TestP.nc, the user executes two python commands import sys, pytos.util.unittest as UnitTest test=unittest("~/tinyos-2.x/tos/lib/code/testp.nc", COM1, COM2) The same commands could be executed on node 2, which is attached to serial port COM2. By removing the optional address=1 argument, the commands are called on all nodes that are available. Furthermore, similar commands can be called for any other functions or state variables, thereby coordinating the inputs to nodes and checking the state of multiple nodes, each with a single line of Python code. Because the actual outputs and state of the module are available in Python, the user can create programmatic tests, in addition to simple asserts. For example, the assertion of the validity of a test output could be created with loops and conditional statements. The user also has access to Python s large library of tools to access databases, graphing tools, web utilities, and other tools that could be used to test the validity of the state, that could not be accessed by processing the test results directly on the sensor nodes. 4. IMPLEMENTATION The implementation of MUnit is based on a version of Marionette that was modified to operate as a unit testing platform. In this section, we provide a brief overview of marionette and the modifications made. We then describe new scripts that were created to automatically create test programs for a particular software module, and to load those compiled programs onto a network. 4.1 Creating the Test Program The first challenge of unit testing in WSNs is to create an embedded program for a given software module, without necessarily compiling in all software modules for an entire application. To do this, we created an automated script that generates a simple wrapper program for a given TinyOS module. This wrapper program is based on a standard template, and ensures that all software modules are properly compiled in and initialized. For example, the wrapper program generated for the TestP module is shown in Figure 3, including both the configuration file and the module definition. This script assumes that the module to be tested is completely self-contained, and the system does not currently function properly for modules that can only operate with other modules. This limitation is reasonable for a unit testing framework, since by definition the goal of unit testing is to isolate and test the smallest testable software unit. Many TinyOS modules are self-contained, but this is not true in general. In cases
4 WrapperTestC.nc configuration WrapperTestC { implementation { components WrapperTestP, MainC, RamSymbolsM, RpcC; MainC.Boot -> WrapperTestP.Boot; WrapperTestP.SplitControl -> RpcC; WrapperTestP.nc module WrapperTestP { provides interface Boot; uses interface SplitControl; implementation { command void Boot.booted() { call SplitControl.start(); event void SplitControl.startDone(error_t error) { event void SplitControl.stopDone(error_t error) { Figure 3. The WrapperTestC and WrapperTestP programs are automatically generated for the TestP program, linking in the Marionette tools so that the module can be tested remotely. where modules are tightly coupled, the user can create a configuration file that wraps the module with all other modules that are necessary to perform the test, such as a software timer or radio driver. Such configuration files can also be created to wrap a module with stub classes that imitate other modules, such as the stub modules used by TUnit. In future work, we plan to add options to the MUnit Python commands to allow the user to specify multiple modules that will automatically get compiled into the same wrapper program, or that allow the user to specify stub modules that will be used to replace real modules in an existing configuration file. Once the test program has been created by the Python script, it is automatically loaded onto the sensor nodes using system calls to access the default TinyOS make system. The parameters passed to the UnitTest module are passed directly as command line options to the make system, causing it to load the program onto the specified nodes. If desired, the user can execute the UnitTest command multiple times to create test programs for multiple different modules and simultaneously load them onto different nodes in the same network. This procedure would allow testing of an inter-node relationship between different modules. 4.2 Executing the Tests After the test programs are automatically created and loaded onto the nodes in the network, we execute the unit tests by giving inputs to the modules and collecting outputs from them through a tool called Marionette, which allows functions and variables of a TinyOS program to be accessed from a python script on a PC, without manually modifying the TinyOS code. The core of Marionette is Embedded RPC (ERPC), an implementation of RPC [3] specially designed for embedded systems. ERPC marshalls function arguments from a python command into a small packet and sends the values to the sensor node, which unmarshalls the values and calls the function. ERPC is used to provide poke and peek commands, which allow any variable on the node s heap to be read and written based on its location in RAM, which is read from the symbol table. No extra code must be written by the developer to use Marionette; a minimal set of hooks is automatically added to a nesc application at compile time, consuming only 153 bytes of RAM and less than 4KB of program memory on the node. The PC client software imports all information necessary to access the application from an XML file, which is also automatically generated at compiletime. When the embedded application is compiled, the code is parsed for all nesc declarations that might be useful to the PC client tools, including enumerations, constants, data structures, typedefs, message formats, byte alignment, and module and interface names. All extracted nesc declarations are written to an XML file called nescdecls.xml, which can be read by any PC client. Then, Marionette automatically generates a ERPC server stub that, in nesc terms [8], uses each function or interface, and is wired to the modules that provide them. It contains a single message handler function that determines the function that is being called, unmarshals the function parameters, calls the function, marshals
5 the return argument, and sends the response message. To create MUnit, we modified marionette in two ways. Typically, the user must specify particular functions and interfaces by placing a symbol in the code. Our first modification causes Marionette to automatically export all functions and interfaces provided by the module specified in the function call to the TestUnit python module, without requiring the user to specify symbol. Typically, Marionette only supports ERPC calls from python to the sensor nodes. This means that the automatic code generation must only make TinyOS commands accessible, since they are the input functions for a module. Our second modification causes Marionette to also create ERPC stubs for TinyOS events, which are the output functions for a module. This was necessary so that the output events of a test could be verified. In our new implementation, the TinyOS side of the ERPC library used all events. When the events are signalled, the function parameters are marshalled into a packet and sent to the PC. On the PC side, a special library is generated for all TinyOS events, which identifies the event by a special ID and unmarshalls the function parameters. These parameters are then passed to an event handler on the PC. If no event handler is defined by the user, a stub is automatically generated. Because events are often triggered by nodes and the overhead of sending all information to the base station is high, ERPC is disabled for all events by default. The user can enable the ERPC event handler for an event by toggling a boolean value that is created for each event. 5. EVALUATION, LIMITATIONS, AND FUTURE WORK MUnit requires 1 line of code to import necessary libraries, 1 line of code for each test program to be generated, and 1 line of code for each function or variable access. Thus, a complete unit test can be created in as little as 4 lines of code. Every additional test would require as little as 2 lines of code. In contrast, TUnit requires the user to create TinyOS module and configuration files, which have overhead of approximately 25 lines of code. TUnit also requires the user to create a makefile, a tunit.xml file, and a suite.properties file. For multi-node tests, the testing code must be specifically designed to operate differently on the driving node and the supporting nodes, amounting to the equivalent of specialized testing code for each. Finally, another program may need to be created to parse the printed output of the test results. The sample tests available on the TUnit web site [1] have a minimum of 4 files created for each test and 500 lines of code. One limitation of MUnit is that it currently does not support multiple hardware platforms. This functionality does exist in the TinyOS make system, however, and parameters about the target platform can be transparently passed from the MUnit commands to the TinyOS make system. Another limitation of MUnit is that it does not allow static definitions of the compatibility between tests, such as that provided by TUnit s suite.properties file. Furthermore, assumptions about the topology of the testbed must be hard coded directly into the main Python file that defines the unit test. This reduces the portability of the tests, and makes it vulnerable to changes or failures of nodes in the testbed. These functions could be supported with Python libraries in future work. The primary advantages of MUnit comes from the fact that the tests are written to execute on the base station, and the MUnit infrastructure automatically distributes inputs to the nodes and collects outputs. However, this architecture also has important limitations. For example, any stub modules must be created in TinyOS and wired to the test module in a configuration file. This requires the user to write code in both TinyOS and Python. Furthermore, the timing of the input parameters passed to nodes cannot be precisely controlled due to the variable network latencies. This is a limitation of both MUnit and TUnit. Similarly, state values can be collected after the test is complete, but the state of a node cannot easily be analyzed while a test is in progress due to the large latencies required to communicate between the Python test script and the embedded TinyOS modules. In contrast, TUnit tests can easily access the state of an individual node while the test is executing because it is colocated with the code on the node itself. Therefore, TUnit can test temporal characteristics of a test that MUnit cannot. Additionally, any events that are triggered during the test may induce a ERPC message, which could interfere with the normal execution of the module. ERPC messages for most events are disabled by default, but the user must carefully manage the enabling of these event messages in order to ensure that the desired events are observed at the base station, without triggering so many event messages that they interfere with normal execution. Finally, MUnit is more susceptible to packet loss and increased latency than TUnit, which must only receive a single message with a summary of the test results. 6. DISCUSSION AND CONCLUSIONS In this paper, we identify a problem with existing unit testing software for sensor networks: the inability to validate distributed state resulting from a unit test. This limitation is a result of an architectural decision to specify tests as code that executes on a sensor node, in tandem with the software module being tested. We address this problem by changing the architecture so that tests are specified as programs that run on a base station. We provide testing infrastructure to enable these test specifications to automatically generate and interact with the sensor node code through automatic code generation techniques and an embedded RPC (ERPC) protocol. This allows distributed control and verification of unit tests, while simultaneously reducing the number of lines of code required to specify tests. The MUnit framework is still under developement, and this paper presents the preliminary motivation and implementation, as well as many key insights about both the benefits and the limitations. Acknowledgements This material is based upon work supported by the National Science Foundation under Grant No
6 7. REFERENCES [1] How tunit works, accessed jan [2] Python programming language. [3] A. Birrell and B. Nelson. Implementing remote procedure calls. ACM Transactions on Computer Systems (TOCS), 2(1):59, [4] M. Buettner, G. Yee, E. Anderson, and R. Han. X-MAC: a short preamble MAC protocol for duty-cycled wireless sensor networks. In Proceedings of the 4th international conference on Embedded networked sensor systems, page 320. ACM, [5] Y. Cheon and G. Leavens. A simple and practical approach to unit testing: The JML and JUnit way. Lecture Notes in Computer Science, pages , [6] I. Crnkovic, S. Larsson, and M. Chaudron. Component-based development process and component lifecycle. Journal of Computing and Information Technology, 13(4):321, [7] S. Fiedler. Object-oriented unit testing. Hewlett-Packard Journal, 40(2):69 74, [8] D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, and D. Culler. The nesc language: A holistic approach to networked embedded systems. In Programming Language Design and Implementation (PLDI), June [9] P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. Whitehouse, A. Woo, D. Gay, J. Hill, M. Welsh, E. Brewer, et al. Tinyos: An operating system for sensor networks. Ambient Intelligence, 35, [10] K. Sen, D. Marinov, and G. Agha. CUTE: A concolic unit testing engine for C. In Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering, page 272. ACM, [11] K. Whitehouse, C. Sharp, E. Brewer, and D. Culler. Hood: a neighborhood abstraction for sensor networks. In Proceedings of the 2nd international conference on Mobile systems, applications, and services, pages ACM New York, NY, USA, [12] K. Whitehouse, G. Tolle, J. Taneja, C. Sharp, S. Kim, J. Jeong, J. Hui, P. Dutta, and D. Culler. Marionette: using rpc for interactive development and debugging of wireless embedded networks. In IPSN 06.
Marionette: Using RPC for Interactive Development and Debugging of Wireless Embedded Networks
Marionette: Using RPC for Interactive Development and Debugging of Wireless Embedded Networks Kamin Whitehouse, Gilman Tolle, Jay Taneja, Cory Sharp, Sukun Kim, Jaein Jeong, Jonathan Hui, Prabal Dutta,
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
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
NanoMon: An Adaptable Sensor Network Monitoring Software
NanoMon: An Adaptable Sensor Network Monitoring Software Misun Yu, Haeyong Kim, and Pyeongsoo Mah Embedded S/W Research Division Electronics and Telecommunications Research Institute (ETRI) Gajeong-dong
Introduction to Automated Testing
Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases
Synapse s SNAP Network Operating System
Synapse s SNAP Network Operating System by David Ewing, Chief Technology Officer, Synapse Wireless Today we are surrounded by tiny embedded machines electro-mechanical systems that monitor the environment
Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
Laboratorio di Sistemi Wireless 21 Maggio 2012
Laboratorio di Sistemi Wireless 21 Maggio 2012 A. Cammarano, A.Capossele, D. Spenza Contatti Cammarano: [email protected] Capossele: [email protected] Spenza: [email protected] Tel: 06-49918430
Übung zu Drahtlose Kommunikation. 10. Übung 14.01.2012
Übung zu Drahtlose Kommunikation 10. Übung 14.01.2012 TinyOS is an operating system designed to target limited-resource sensor network nodes TinyOS 0.4, 0.6 (2000-2001) TinyOS 1.0 (2002): first nesc version
An Intelligent Car Park Management System based on Wireless Sensor Networks
An Intelligent Car Park Management System based on Wireless Sensor Networks Vanessa W.S. Tang, Yuan Zheng, Jiannong Cao Internet and Mobile Computing Lab Department of Computing, The Hong Kong Polytechnic
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
SOFTWARE TESTING TRAINING COURSES CONTENTS
SOFTWARE TESTING TRAINING COURSES CONTENTS 1 Unit I Description Objectves Duration Contents Software Testing Fundamentals and Best Practices This training course will give basic understanding on software
Designing and Embodiment of Software that Creates Middle Ware for Resource Management in Embedded System
, pp.97-108 http://dx.doi.org/10.14257/ijseia.2014.8.6.08 Designing and Embodiment of Software that Creates Middle Ware for Resource Management in Embedded System Suk Hwan Moon and Cheol sick Lee Department
Semester Thesis Traffic Monitoring in Sensor Networks
Semester Thesis Traffic Monitoring in Sensor Networks Raphael Schmid Departments of Computer Science and Information Technology and Electrical Engineering, ETH Zurich Summer Term 2006 Supervisors: Nicolas
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
The Advantages of Block-Based Protocol Analysis for Security Testing
The Advantages of Block-Based Protocol Analysis for Security Testing Dave Aitel Immunity,Inc. 111 E. 7 th St. Suite 64, NY NY 10009, USA [email protected] February, 4 2002 Abstract. This paper describes
Open EMS Suite. O&M Agent. Functional Overview Version 1.2. Nokia Siemens Networks 1 (18)
Open EMS Suite O&M Agent Functional Overview Version 1.2 Nokia Siemens Networks 1 (18) O&M Agent The information in this document is subject to change without notice and describes only the product defined
Using Mobiles for On Campus Location Tracking
Using Mobiles for On Campus Location Tracking F. Aloul A. Sagahyroon A. Al-Shami I. Al-Midfa R. Moutassem American University of Sharjah P.O. Box 26666, Sharjah, UAE {faloul, asagahyroon, b00020906, b00020142,
PANDORA FMS NETWORK DEVICE MONITORING
NETWORK DEVICE MONITORING pag. 2 INTRODUCTION This document aims to explain how Pandora FMS is able to monitor all network devices available on the marke such as Routers, Switches, Modems, Access points,
Basic Unix/Linux 1. Software Testing Interview Prep
Basic Unix/Linux 1 Programming Fundamentals and Concepts 2 1. What is the difference between web application and client server application? Client server application is designed typically to work in a
WHITE PAPER. ClusterWorX 2.1 from Linux NetworX. Cluster Management Solution C ONTENTS INTRODUCTION
WHITE PAPER A PRIL 2002 C ONTENTS Introduction 1 Overview 2 Features 2 Architecture 3 Monitoring 4 ICE Box 4 Events 5 Plug-ins 6 Image Manager 7 Benchmarks 8 ClusterWorX Lite 8 Cluster Management Solution
Using WebLOAD to Monitor Your Production Environment
Using WebLOAD to Monitor Your Production Environment Your pre launch performance test scripts can be reused for post launch monitoring to verify application performance. This reuse can save time, money
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
An Analysis of Wireless Device Implementations on Universal Serial Bus
An Analysis of Wireless Device Implementations on Universal Serial Bus 6/3/97 Abstract Universal Serial Bus (USB) is a new personal computer (PC) interconnect that can support simultaneous attachment of
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
MOTEWORKS. Key Features. Overview
MOTEWORKS SOFTWARE PLATFORM MoteWorks 2.0 provides a complete software development environment for wireless sensor network applications. Included is a collection of flexible software packages that enables
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
Freescale Semiconductor, I
nc. Application Note 6/2002 8-Bit Software Development Kit By Jiri Ryba Introduction 8-Bit SDK Overview This application note describes the features and advantages of the 8-bit SDK (software development
Low Power Memory Efficient Contiki Operating System for Wireless Sensor Networks Based Internet of Things
Low Power Memory Efficient Contiki Operating System for Wireless Sensor Networks Based Internet of Things Harsh Gupta 1, Neenu Preetam. I 2 1,2 M. Tech. (Microelectronics), Department of ECE, SEEC, Manipal
SAN Conceptual and Design Basics
TECHNICAL NOTE VMware Infrastructure 3 SAN Conceptual and Design Basics VMware ESX Server can be used in conjunction with a SAN (storage area network), a specialized high speed network that connects computer
PANDORA FMS NETWORK DEVICES MONITORING
NETWORK DEVICES MONITORING pag. 2 INTRODUCTION This document aims to explain how Pandora FMS can monitor all the network devices available in the market, like Routers, Switches, Modems, Access points,
Waspmote. Quickstart Guide
Waspmote Quickstart Guide Index Document version: v4.3-11/2014 Libelium Comunicaciones Distribuidas S.L. INDEX 1. Introduction... 3 2. General and safety information... 4 3. Waspmote s Hardware Setup...
Unit Testing webmethods Integrations using JUnit Practicing TDD for EAI projects
TORRY HARRIS BUSINESS SOLUTIONS Unit Testing webmethods Integrations using JUnit Practicing TDD for EAI projects Ganapathi Nanjappa 4/28/2010 2010 Torry Harris Business Solutions. All rights reserved Page
Deploying QoS sensitive services in OSGi enabled home networks based on UPnP
Deploying QoS sensitive services in OSGi enabled home networks based on UPnP Nico Goeminne, Kristof Cauwel, Filip De Turck, Bart Dhoedt Ghent University - IBBT - IMEC Department of Information Technology
Management of VMware ESXi. on HP ProLiant Servers
Management of VMware ESXi on W H I T E P A P E R Table of Contents Introduction................................................................ 3 HP Systems Insight Manager.................................................
AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping
AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference
A Practical Authentication Scheme for In-Network Programming in Wireless Sensor Networks
A Practical Authentication Scheme for In-Network Programming in Wireless Sensor Networks Ioannis Krontiris Athens Information Technology P.O.Box 68, 19.5 km Markopoulo Ave. GR- 19002, Peania, Athens, Greece
Summer Project Report. Fingerprint Based Attendance System
Summer Project Report On Fingerprint Based Attendance System Advisor Prof Amey Karkare Submitted by- Rajat Chaudhary Priyaranjan Deepak Kumar Durgesh Deep (Group 02) Introduction The most common means
In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal
Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto [email protected] Luís Teixeira INESC Porto, Universidade Católica Portuguesa [email protected] Luís Corte-Real
UML-based Test Generation and Execution
UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA [email protected] ABSTRACT
Japan Communication India Skill Development Center
Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 2a Java Application Software Developer: Phase1 SQL Overview 70 Introduction Database, DB Server
In-System Programmer USER MANUAL RN-ISP-UM RN-WIFLYCR-UM-.01. www.rovingnetworks.com 1
RN-WIFLYCR-UM-.01 RN-ISP-UM In-System Programmer 2012 Roving Networks. All rights reserved. Version 1.1 1/19/2012 USER MANUAL www.rovingnetworks.com 1 OVERVIEW You use Roving Networks In-System-Programmer
vsphere Client Hardware Health Monitoring VMware vsphere 4.1
Technical Note vsphere Client Hardware Health Monitoring VMware vsphere 4.1 Purpose of This Document VMware vsphere provides health monitoring data for ESX hardware to support datacenter virtualization.
integrated lights-out in the ProLiant BL p-class system
hp industry standard servers august 2002 integrated lights-out in the ProLiant BL p-class system technology brief table of contents executive summary 2 introduction 2 management processor architectures
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]
RN-XV-RD2 Evaluation Board
RN-XV-RD2 Evaluation Board 2012 Roving Networks. All rights reserved. -1.01Version 1.0 9/28/2012 USER MANUAL OVERVIEW This document describes the hardware and software setup for Roving Networks RN-XV-RD2
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
I. ADDITIONAL EVALUATION RESULTS. A. Environment
1 A. Environment I. ADDITIONAL EVALUATION RESULTS The tests have been performed in a virtualized environment with Mininet 1.0.0 [?]. Mininet is tool to create a virtual network running actual kernel, switch
HP Server Management Packs for Microsoft System Center Essentials User Guide
HP Server Management Packs for Microsoft System Center Essentials User Guide Part Number 460344-001 September 2007 (First Edition) Copyright 2007 Hewlett-Packard Development Company, L.P. The information
Wireless Sensor Networks: A Distributed Operating Systems approach
Wireless Sensor Networks: A Distributed Operating Systems approach Paul Hunkin University of Waikato [email protected] Tony McGregor University of Waikato [email protected] ABSTRACT Wireless sensor
Silabs Ember Development Tools
Silabs Ember Development Tools Presented by Silicon Laboratories Shaoxian Luo 1 Development Tools Desktop Network Analyzer Debug Adapter Packet Trace Port Desktop Network Analyzer provides a macroscopic
Optimizing Business Continuity Management with NetIQ PlateSpin Protect and AppManager. Best Practices and Reference Architecture
Optimizing Business Continuity Management with NetIQ PlateSpin Protect and AppManager Best Practices and Reference Architecture WHITE PAPER Table of Contents Introduction.... 1 Why monitor PlateSpin Protect
SEMANTIC SECURITY ANALYSIS OF SCADA NETWORKS TO DETECT MALICIOUS CONTROL COMMANDS IN POWER GRID
SEMANTIC SECURITY ANALYSIS OF SCADA NETWORKS TO DETECT MALICIOUS CONTROL COMMANDS IN POWER GRID ZBIGNIEW KALBARCZYK EMAIL: [email protected] UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN JANUARY 2014
Linux Distributed Security Module 1
Linux Distributed Security Module 1 By Miroslaw Zakrzewski and Ibrahim Haddad This article describes the implementation of Mandatory Access Control through a Linux kernel module that is targeted for Linux
TESSY Automated dynamic module/unit and. CTE Classification Tree Editor. integration testing of embedded applications. for test case specifications
TESSY Automated dynamic module/unit and integration testing of embedded applications CTE Classification Tree Editor for test case specifications Automated module/unit testing and debugging at its best
SUDT AccessPort TM Advanced Terminal / Monitor / Debugger Version 1.37 User Manual
SUDT AccessPort TM Advanced Terminal / Monitor / Debugger Version 1.37 User Manual Version 1.0 - January 20, 2015 CHANGE HISTORY Version Date Description of Changes 1.0 January 20, 2015 Initial Publication
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
ISA CERTIFIED AUTOMATION PROFESSIONAL (CAP ) CLASSIFICATION SYSTEM
ISA CERTIFIED AUTOMATION PROFESSIONAL (CAP ) CLASSIFICATION SYSTEM Domain I: Feasibility Study - identify, scope and justify the automation project Task 1: Define the preliminary scope through currently
Wireless Sensor Network for Continuous Monitoring a Patient s Physiological Conditions Using ZigBee
Wireless Sensor Network for Continuous Monitoring a Patient s Physiological Conditions Using ZigBee Ramanathan.P ECE-DEPT Pallavan College of Engineering Thimmasamudram, Kanchipuram-631502 Tamilnadu, India
MeshBee Open Source ZigBee RF Module CookBook
MeshBee Open Source ZigBee RF Module CookBook 2014 Seeed Technology Inc. www.seeedstudio.com 1 Doc Version Date Author Remark v0.1 2014/05/07 Created 2 Table of contents Table of contents Chapter 1: Getting
Java Web Services Training
Java Web Services Training Duration: 5 days Class Overview A comprehensive look at the state of the art in developing interoperable web services on the Java EE 6 platform. Students learn the key standards
McAfee Application Control / Change Control Administration Intel Security Education Services Administration Course
McAfee Application Control / Change Control Administration Intel Security Education Services Administration Course The McAfee University Application Control / Change Control Administration course enables
Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment
Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment Wyatt Spear, Allen Malony, Alan Morris, Sameer Shende {wspear, malony, amorris, sameer}@cs.uoregon.edu
MD Link Integration. 2013 2015 MDI Solutions Limited
MD Link Integration 2013 2015 MDI Solutions Limited Table of Contents THE MD LINK INTEGRATION STRATEGY...3 JAVA TECHNOLOGY FOR PORTABILITY, COMPATIBILITY AND SECURITY...3 LEVERAGE XML TECHNOLOGY FOR INDUSTRY
Using Xbee 802.15.4 in Serial Communication
Using Xbee 802.15.4 in Serial Communication Jason Grimes April 2, 2010 Abstract Instances where wireless serial communication is required to connect devices, Xbee RF modules are effective in linking Universal
Systems Integration: Co C mp m onent- t bas a e s d s o s ftw ft a w r a e r e ngin i eeri r n i g
Systems Integration: Component-based software engineering Objectives To explain that CBSE is concerned with developing standardised components and composing these into applications To describe components
Managing Variability in Software Architectures 1 Felix Bachmann*
Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA [email protected] Len Bass Software Engineering Institute Carnegie
A very short history of networking
A New vision for network architecture David Clark M.I.T. Laboratory for Computer Science September, 2002 V3.0 Abstract This is a proposal for a long-term program in network research, consistent with the
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
TimePictra Release 10.0
DATA SHEET Release 100 Next Generation Synchronization System Key Features Web-based multi-tier software architecture Comprehensive FCAPS management functions Software options for advanced FCAPS features
Application Note: AN00121 Using XMOS TCP/IP Library for UDP-based Networking
Application Note: AN00121 Using XMOS TCP/IP Library for UDP-based Networking This application note demonstrates the use of XMOS TCP/IP stack on an XMOS multicore micro controller to communicate on an ethernet-based
MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS
MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS Tao Yu Department of Computer Science, University of California at Irvine, USA Email: [email protected] Jun-Jang Jeng IBM T.J. Watson
Building a Basic Communication Network using XBee DigiMesh. Keywords: XBee, Networking, Zigbee, Digimesh, Mesh, Python, Smart Home
Building a Basic Communication Network using XBee DigiMesh Jennifer Byford April 5, 2013 Keywords: XBee, Networking, Zigbee, Digimesh, Mesh, Python, Smart Home Abstract: Using Digi International s in-house
Using the TASKING Software Platform for AURIX
Using the TASKING Software Platform for AURIX MA160-869 (v1.0rb3) June 19, 2015 Copyright 2015 Altium BV. All rights reserved. You are permitted to print this document provided that (1) the use of such
EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications
ECE6102 Dependable Distribute Systems, Fall2010 EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications Deepal Jayasinghe, Hyojun Kim, Mohammad M. Hossain, Ali Payani
SensorScope: Experiences with a Wireless Building Monitoring Sensor Network
SensorScope: Experiences with a Wireless Building Monitoring Sensor Network Thomas Schmid Henri Dubois-Ferrière Martin Vetterli Ecole Polytechnique Fédérale de Lausanne (EPFL) School of Computer and Communication
PERFORMANCE MONITORING OF JAVA COMPONENT-ORIENTED DISTRIBUTED APPLICATIONS
PERFORMANCE MONITORING OF JAVA COMPONENT-ORIENTED DISTRIBUTED APPLICATIONS Adrian Mos, John Murphy Performance Engineering Lab, Dublin City University Glasnevin, Dublin 9, Ireland Tel: +353 1 700-8762,
STAR-LAUNCH AND NETWORK DISCOVERY
STAR-LAUNCH AND NETWORK DISCOVERY Session: SpaceWire Networks and Protocols Long Paper Stuart Mills, Chris McClements STAR-Dundee, c/o School of Computing, University of Dundee, Dundee, Scotland, UK Steve
Middleware Lou Somers
Middleware Lou Somers April 18, 2002 1 Contents Overview Definition, goals, requirements Four categories of middleware Transactional, message oriented, procedural, object Middleware examples XML-RPC, SOAP,
High-Frequency Distributed Sensing for Structure Monitoring
High-Frequency Distributed Sensing for Structure Monitoring K. Mechitov, W. Kim, G. Agha and T. Nagayama* Department of Computer Science, University of Illinois at Urbana-Champaign 201 N. Goodwin Ave.,
S3 Monitor Design and Implementation Plans
S 3 Monitor Version 1.0 Specifications and Integration Plan 1 Copyright c 2011 Hewlett Packard Copyright c 2011 Purdue University Permission is hereby granted, free of charge, to any person obtaining a
LR120 Load Runner 12.0 Essentials Instructor-Led Training Version 12.0
LR120 Load Runner 12.0 Essentials Instructor-Led Training Version 12.0 Overview This five-day course introduces students to LoadRunner 12.0. The course covers topics about the Virtual User Generator (VuGen),
Distributed Objects and Components
Distributed Objects and Components Introduction This essay will identify the differences between objects and components and what it means for a component to be distributed. It will also examine the Java
Hudson Continous Integration Server. Stefan Saasen, [email protected]
Hudson Continous Integration Server Stefan Saasen, [email protected] Continous Integration Software development practice Members of a team integrate their work frequently Each integration is verified by
irods and Metadata survey Version 0.1 Date March Abhijeet Kodgire [email protected] 25th
irods and Metadata survey Version 0.1 Date 25th March Purpose Survey of Status Complete Author Abhijeet Kodgire [email protected] Table of Contents 1 Abstract... 3 2 Categories and Subject Descriptors...
Software design (Cont.)
Package diagrams Architectural styles Software design (Cont.) Design modelling technique: Package Diagrams Package: A module containing any number of classes Packages can be nested arbitrarily E.g.: Java
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises Daniel Baudisch, Manuel Gesell and Klaus Schneider Embedded Systems Group, University of Kaiserslautern,
ProfessionalPLUS Station Software Suite
Feb-07 Page 1 All you need to configure, control, and diagnose your plant is available on the ProfessionalPLUS Station. Global database, architectured for flexibility and scalability Powerful engineering
Observer Analyzer Provides In-Depth Management
Comprehensive Wireless Network Management Made Simple From deploying access points to baselining activity to enforcing corporate security policies, the Observer Performance Management Platform is a complete,
Exploring the Remote Access Configuration Utility
Exploring the Remote Access Configuration Utility in Ninth-Generation Dell PowerEdge Servers The Remote Access Configuration Utility supports local and remote server management in ninth-generation Dell
Lab Management, Device Provisioning and Test Automation Software
Lab Management, Device Provisioning and Test Automation Software The TestShell software framework helps telecom service providers, data centers, enterprise IT and equipment manufacturers to optimize lab
BarTender Integration Methods. Integrating BarTender s Printing and Design Functionality with Your Custom Application WHITE PAPER
BarTender Integration Methods Integrating BarTender s Printing and Design Functionality with Your Custom Application WHITE PAPER Contents Introduction 3 Integrating with External Data 4 Importing Data
SECTION 2 PROGRAMMING & DEVELOPMENT
Page 1 SECTION 2 PROGRAMMING & DEVELOPMENT DEVELOPMENT METHODOLOGY THE WATERFALL APPROACH The Waterfall model of software development is a top-down, sequential approach to the design, development, testing
White Paper. Requirements of Network Virtualization
White Paper on Requirements of Network Virtualization INDEX 1. Introduction 2. Architecture of Network Virtualization 3. Requirements for Network virtualization 3.1. Isolation 3.2. Network abstraction
