MansOS = Mobile agent netted sensor Operating System.

MansOS is an operating system for wireless sensor networks and netted embedded systems. It is designed for users familiar with C programming and Unix-like environment. MansOS supports various platforms and controllers, including TelosB and MSP430, Atmega controllers, Arduino and others. Users may develop and test their systems on a PC as a virtual “node”.

MansOS is a branch from LiteOS operating system, initially made to support TI MSP430 based platforms. Both OS share several defining characteristics. MansOS like LiteOS is designed to be easily adopted by the system designers and IT community familiar with C and C++ languages and Unix operating system concepts. The goal is to avoid the steep learning curve present in some other specialized operating systems.

Key concepts common with LiteOS:

  • MansOS is adopting programming in C (and eventually C++), known to many developers
  • MansOS is managing a sensor network using Unix-like concepts, command tools and resources
  • MansOS has a Unix-like file system (in development)
  • MansOS enables thread-like programming environment

Some key aspects specific to MansOS:

  • MansOS is designed to be easily portable to new platforms
  • Debugging support is integral part of MansOS: for example, Simple Sensor Management Protocol and Print Anywhere (over the serial or radio link) techniques help with debugging tasks.
  • MansOS has PC as one of the supported platforms, enabling rapid development and high-level simulation and debugging on PC and Mac class computers.
  • MansOS enforces the hardware abstraction in three layers: HPL (chips), HAL (platforms), and HIL (platform-independent code) at a node level, ensuring clear interface for ease of portability to other platforms
  • MansOS introduces a device concept similar to Unix systems. Access to most resources and sensors can be done through the device interface, using standard API including open, close, read, write and configure functions.

The main idea is to make the development process as easy as possible:

  • Availability to wide pool of developers with low or no learning curve
  • For heterogeneous wireless sensor networks
  • Ease of portability to new hardware platforms
  • Debugging features supported natively by OS

You can find out more about MansOS in git repository at GitHub


Publications

SEAL: a Domain-Specific Language for Novice Wireless Sensor Network Programmers

Demo Abstract: SEAL-Blockly: Sensor Network Visual Programming Using a Web Browser

SADmote: A Robust and Cost-Effective Device for Environmental Monitoring

SAD: Wireless Sensor Network System for Microclimate Monitoring in Precision Agriculture

Poster Abstract: SEAL: An Easy-to-use Sensor Node Application Development System

  1. Strazdins, L. Selavo, “Wireless Sensor Network Software Design Rules”, Baltic Journal of Modern Computing, VOL. 2(2014) NO. 2, 2014.
  2. Strazdins, A. Elsts, K. Nesenbergs, L. Selavo, “Wireless Sensor Network Operating System Design Rules Based on Real-World Deployment Survey”, Journal of Sensor and Actuator Networks. 2013; 2(3):509-556.
  3. Elsts, G. Strazdins, A. Vihrov, L. Selavo, “Design and Implementation of MansOS: a Wireless Sensor Network Operating System,” Scientific Papers, University of Latvia, volume 787, pp 79–105, 2012.
  4. Elsts, L. Selavo, “A User-Centric Approach to Wireless Sensor Network Programming Languages.” In SESENA ’12: Proceedings of the 3rd Workshop on Software Engineering for Sensor Network Applications, pages 29–30, New York, NY, USA, 2012.
  5. Strazdins, A. Elsts, L. Selavo. “Mansos: easy to use, portable and resource efficient operating system for networked embedded devices.” Proceedings of the 8th ACM Conference on Embedded Networked Sensor Systems. ACM, 2010.

Projects

Viesentis

Hippac

Vpp sophis

Kifis
Arrowhead-Tools