SERVICES


 

Valid XHTML 1.0 Transitional

 

Home > Services > Software Design

SOFTWARE DEVELOPMENT

TRILENT software development services support our hardware products and designs. Whether it is in the form of firmware, device drivers, system programming, or a user front-end, our software support rounds out our service offering. Our expertise in software development spans all of major operating systems and programming languages.

Software Design Scope
Supported Platforms
Languages and Tools

 

Scope

Complex software environments have a layered structure. This is usually visualized as a stack of layers in which each layer uses the interface provided by the one immediately below it. The lowest layer interfaces directly with hardware while the uppermost layer interfaces with users. Programs developed for each layer widely differ in function, features, and characteristics. Our software development capabilities span the entire software stack, from low-level firmware to to graphical user interface (GUI) applications.

Firmware

This is the most basic software layer. Firmware is most closely associated with the hardware and usually resides in a non-volatile memory. To be truly effective, firmware programs must be compact and efficient. There is often a trade-off in implementing a functionality in firmware versus hardware (i.e. programmable logic). Significant cost savings can be made by careful balancing between hardware and firmware implementation.

Device Drivers

Hardware devices interfacing with the operating system over one of the standard buses require device drivers for both functionality and testing. The device driver development may accompany the device design, if requested.

System Programming

These are low-level programs closely associated with the operating system. System-level programming usually involves multi-threading, networking, and inter-process communications. Different operating systems, such as Windows or Unix, require specific approach to program development.

Applications Programming

These are user-level utility programs developed (in our case) mainly for testing and the graphical user interfaces for controlling hardware. The programs are usually written in C or C++. Developing GUI programs for Windows benefits from object-oriented approach in C++.

Supported Platforms

TRILENT develops software for the following operating system platforms:
  • Embedded Systems – include off-the shelf and custom RTOS (real-time operating systems).
  • Windows – we specialize in system programming for Windows NT/2000/XP/2003 family.
  • Unix – the most widely-used versions of Unix are supported, including BSD Unix, Linux, Solaris.
  • Palm OS – software development for handheld devices includes simple utility application programs.

Languages and Tools

Our programs are written in Assembly, C, C++, and Java. We support a range of software development tools to ensure the best tool for each particular task.

  • Assembly – used for the embedded development, firmware, and some critical sections of device drivers and system-level programs.
  • C – used for some legacy applications.
  • C++ – our main software development language.
  • Java – object-oriented language used mainly in development of web-based applications.


Legal| Privacy| Contact Us
© 2003-2008 TRILENT LLC. All rights reserved.