DEVELOPMENT

Custom Software Solutions

Software Forge has designed and implemented custom software tools and applications for a number of influential companies that span various industries including:

 

  • HPC (High Performance Computing)
  • EDC (Enterprise Data Center) military/defense
  • Computer Hardware Manufacturing
  • Electronics Recycling and More


Software Forge and its developers often work under NDA and are extremely careful with customer’s sensitive information.


Software Forge takes great care when starting a new project to work with the customer to analyze and fully understand their requirements to ensure that the product delivered exceeds their expectations. Demos are shown to the customer throughout the development process to solicit feedback and foster a collaborative environment to ensure the perfect user experience. 


Software Forge has experience across a broad spectrum of programming languages including C, C++, C#, Java, JavaScript, TCL, PHP, HTML, CSS, Bash and Python. We have worked in many different environments such as embedded platforms, custom FPGAs, Microsoft Windows and various Linux distributions such as RHEL, CentOS, Fedora, Debian, Ubuntu, SLES and Scientific Linux. We have worked at the driver level implementing kernel drivers for both Windows and Linux. We have developed Windows services, Linux daemons, command line tools, development APIs and highly interactive GUI applications.

 

Examples of Custom Solutions:

Design and Implementation of Kernel Driver and API

The client needed to allow a user level testing application to access information that is normally only accessible by the OS kernel. Software Forge designed and implemented a kernel driver and user level API that allows access to a number of sensitive areas of the OS and underlying hardware. This includes read/write access to CPU registers, read/write of physical memory and access to PCI configuration space.

Architecture for Remote and OS Independent Testing

The client requested an application to validate functionality of an embedded system that is housed inside a conventional server platform. The embedded system communicates with various hardware components throughout the server. Software Forge developed a 3-tier architecture to allow remote and OS independent testing.

  • Tier 1: Firmware that executes on the embedded core that executes requested testing sequences.
  • Tier 2: The Controller GUI. This is where the user selects and executes test sequences, either local or remote via network connection.
  • Tier 3: Test agent that runs in host OS (Windows or Linux) on the platform under test and connects the Controller GUI to the FW.