Open Repository
Home Hardware Services Software Services Partners Free Software Links & Resources Contact Us

Up

Shift-Right Open Repository

The Shift-Right Open Repository is a freely available C, C++, JAVA source library, and Build Environment. 

The Repository is hosted on Source Forge

SourceForge Logo

Introduction

Shift-Right's Open Repository is a working example of a reusable C/C++ source code repository. The repository was designed from ground up to support software reuse. To achieve extensive software reuse, attention has to be paid to managing dependencies between elements. To this end, the following features where implemented to achieve the reuse goal:

  • Source code files organized independent of the projects that use them.
  • Directory layout not based on the traditional "top-down call tree" paradigm, but structured to reflex the actual dependences of the code modules.
  • A reusable and extendable build environment.
  • Extensive use of Object Orient Design methodologies to make the source code modules as loosely coupled as possible.
  • Another characteristic of the Repository is that the majority of the code was developed for embedded software development. And as such, was designed to meet the constrained environment of embedded programming. The most obvious characteristics are the obsession with deterministic memory management and strict type checking. The following traits are typical of embedded systems.

  • Memory constrained. Embedded systems have limited ROM, FLASH, and RAM memories.
  • Dedicated system. Embedded hardware typically runs one and only one application.
  • High availability. Most embedded systems are expected to run once power is applied and continuing running until power is lost/turned off. This means a embedded application is expected to run for months and/or years without "rebooting".
  • Real time. Embedded systems interact with the physical world. This interaction involves hardware inputs and controls. The software must respond to this stimuli in a deterministic and timely fashion.
  • Stand alone. There is no standard hardware platform or RTOS for embedded application. Typically, the hardware supporting the application is very specialized and proprietary. Unique hardware translates to unique software (i.e. limited COTS software support).
  • Platform changes. Designers of embedded systems have to deal with the possibility of the underlying hardware and/or RTOS being changed. The hardware platforms are constantly being upgraded or cost reduced. If the hardware changes, the software must change with it.

  • Open Repository Sub-Projects

    eXtreme Minimal Kernel

    XMK is a preemptive multithreaded real time operating system for microcontrollers.

    BENV

    BENV is multi-host, cross target build environment

    Jcl Embedded C++ Library

    A C++ library specifically designed for embedded software development.

    Third-party sources and tools.

    The Repository supports the integration and use of third-party sources and libraries. Numerous packages have been integrated into the Repository framework and are available. Click here for details.

    JAVA Library

    The JAVA library is in its infancy and has limited offerings.  The first goal of the JAVA library was to be able to build JAVA projects under the BENV build enivronment.



    [Home] [Hardware Services] [Software Services] [Partners] [Free Software] [Links & Resources] [Contact Us][Site Map]
    Send mail to webmaster@shift-right.com with questions or comments about this web site.
    Copyright © 2004 Shift-Right Technologies, LLC
    Last modified: 07/05/04