Software Design And Development

Software Design And Development

Software Design And Development

Innovative Software Solutions

Sigma provides a complete range of Software development and IV&V services, on both embedded platforms as well as on PC / computer platforms.

We have wide experience in developing and deploying a wide range of software applications, including real-time embedded software, math-intensive algorithm-driven software, control software, communication software, GUI intensive software, database-oriented software with web interface and test software.

We undertake Software-Development based on:

  • RTOS (like VxWorks, FreeRTOS)
  • Embedded Linux
  • Without OS (BareMetal)
  • DSP platforms
  • Android porting
  • Tiny controllers (like PIC, X51, ARM)
  • Windows, Linux, Android others
  • Device Drivers / Board Support Packages (BSPs)

Sigma has a well-established software development processes to cater to customer-specific requirements. Sigma is CEMILAC approved for design and development of software for airborne applications, including IV&V.

Complete Software Development Life Cycle (SDLC)

  • Formal Software Development Plan
  • Identifies the Processes
  • Methodologies
  • Tools
  • Testing and IV&V requirements.

Software Requirements Analysis And Design

  • Industry-standard Unified Modelling Language (UML)
  • Standard documentation - Software & Interface Requirements Specifications (SRS / IRS)
  • High-level Software design, based on Requirements analysis
  • Software Architecture design, based on platform, operating system
  • Detailed design, based functional requirements, timing requirements and other factors
  • Dynamic behaviour design using State Diagram, Sequence diagrams and Activity diagrams
  • Software design document (SDD) guides actual software implementation

Software Implementation

  • Software implementation, based on Software design
  • Coding as per established coding guidelines, including MISRA C / Sigma Internal standards
  • Automated tools to verify compliance with coding guidelines
  • Code documentation

Software Testing

  • Formal software testing defined test plan and detailed test cases.
  • Verification of adequate code coverage
  • Identification and elimination of dead-code
  • Automated tools used for software testing, whenever possible

IV&V

  • Adequacy of requirements capture
  • Traceability of software and documentation from requirements, through design, implementation and testing
  • Adherence to coding guidelines
  • Software quality
  • Specific requirements for Aerospace software qualification as per DO-178 to the required level

Version Control

  • Inherent Version Control through-out the development process
  • Project policy for Software milestones and Versions to be maintained
  • Change in software requirement, design and code carried out in a controlled process
  • Standard version control tools - GIT / Subversion

Documentation

  • Software documentation generated to specified standards as per project requirements
  • Mandatory documentation - Requirements, design, code and test plan
  • Additional documentation to specified standards generated on need-basis as per project requirements
  • Standards include DO-178, IEC, IEEE-12207, MIL-STD-498 and DOD-2167A.

              Communication Protocols

                          Communication Interfaces

TCP/IP, UDP

Custom

Ethernet

GPIB

MIL-STD-1553

CAN

Win Sockets

U-PnP, MQTT, JSON, LORA

Serial Ports

USB

ARINC-429, 717, 573

SPI, I2C, GPIO, PWM

 

    Platform

     Operating System

     IDE

     Language

        Applications

Embedded

Bare Metal (No OS)

VxWorks, Embedded Linux

Lynx, QNX, Free RTOS

Eclipse, Workbench

Kiel, Code Warrior

Visual DSP, Code Composer

MP-Lab, Cube IDE,

SEGGER Embedded Studio

C++, C

ASM

Realtime application for Aerospace & Defence

Data Acquisition & Recording

Control & Monitoring

Handheld / Portables

Communications & Signal Processing

Simulators

Computers

Windows 10/11

LabVIEW

MS Visual Studio

Eclipse, QT, LabVIEW

C#, C, C++

Java, Python

Standalone applications

Client Server applications

Automatic Test Equipment

GUI, Drivers

Linux, Android

Eclipse, QT, Code Studio

GCC, Android Studio