Services
Software Services

Software Development Group is a core departments of Data Patterns that continuously updates itself to the fast changing technological scenario to deliver products for today and tomorrow.

With a staff strength of more than 125 engineers, the group is continuously “Gearing Up” to take on challenging and complex assignments for Defence and Aerospace systems.

  • Application Software Development
  • Device Driver Development
  • Firmware Development
  • Board Support Package
  • Algorithm Development

Production environments in electronics require to be backed up by robust and efficient software. Data Patterns has the required experience, both in terms of time logged and range, developing code meant for diverse platforms. We have the expertise to develop and support software for a broad range of computing platforms. Data Patterns deploys fast, scalable, and powerful solutions to many safety and mission critical systems.

The software services we offer, in addition to the run-of-the-mill needs of electronics and information technology, reach into specialist areas such as development of bespoke algorithms as per customer requirements, porting from legacy systems to current supported packages for all OS’s, and reverse engineering to modernize systems by studying legacy executable packages, very often adding features to archaic applications.

By running an efficient product development shop, we focus on continuous productivity improvement; with frameworks to baseline and measure engineering processes. Our robust development ecosystem, and expertise in design implementation, helps us deliver end-to-end solutions, ensuring right quality and on-time project execution. Additionally, using our defense and aerospace development expertise, we help customers reduce effort in managing the project, and ensure smooth work transitioning through judicious and focused communication. This results in timely deliveries and cost reductions without a negative impact on project quality and productivity.

Support for multiple Operating Systems

Data Patterns software development group provides the drivers for all the COTS products listed. In addition, end applications required by customers are implemented. The standard products are provided with drivers in environment such as Windows 2000 and Real-time Linux. Optionally drivers are provided in other operating environments such as Vxworks, Lynx OS, and so on. Where applicable, support is provided for other platforms such as Labview, HPVee, QNX, Real-time Windows XP.

OS & Platform expertise

The process is supported by the tools

Software Tools used
1. Telelogic DOORS
  • Preparing SIPU-SDU SRS, SDD and ICD documents - DO-178B documents
2. Telelogic Tau
  • Preparing SIPU-SDU Architecture diagrams, functional flow, data flow diagrams, application flowcharts and Higher level application design simulation
3. ELDk 3.0 and above
  • Compiling source files to object files & Linking object files to binary files
4. Telelogic RuleChecker
  • Static Code checking for MISRA C 2004 standards
5. Telelogic DocExpress
  • Automated Documentation
6. Telelogic Logiscope
  • Modified Condition / Decision Coverage checking & Statement Coverage checking
7. Customized Test Rig application (approved by RCMA)‏
  • Unit & System level black box testing
8. Visual DSP for SHARC and Blackfin DSPs

9. Code Composer Studio for TMS320 processors

10. PLX SDK Lite for PCI and cPCI development

11. Windows DDK (Device Driver Development Kit)

12. Jungo Driver Development Kit for Windows platforms

13. McGraigor BDM Debug tools – Raven and Wiggler

14. Measurement and Automation Studio

15. Graphics tool kits

16. GDB

17. ICE/BDM Emulators

18. Debug Monitors

Besides this we also provides services for
  • Operating System Porting
  • Software Maintenance
  • Embedded Software
  • Database Application
  • Re-engineering of Software
  • Realtime Application
  • Algorithms

Utilizing hardware/software tradeoff analysis we are able to optimize for cost and efficiency. An exhaustive repository of over two decades of proven reusable modules reduces engineering effort and hence costs for our clients. We offer development supporting phased milestones based on customer’s requirement, such as those that involve immediate features to be deployed, and followed subsequently by advanced features, also added in stages.

A brief list of examples of end-use are:
  • Torpedo
  • Weather Buoys
  • Underwater Drifters
  • Display systems
  • Radar Systems
  • Actuator Controls

Whatever the nature of the application, we ensure through performance analysis, that the systems meet performance and timing requirements specified. A cross-platform in-house tool covering compiling, debugging and profiling, called DP-Chrono, helps us capture and benchmark time and performance. We also architect and design for scalability where required using our domain and application architecture expertise.

In order to test and maintain a scalable solution, it is necessary to implement proper architecture and design. Data Patterns can guide you in the design and implementation of complex code correctly, and right first time. We help establish or fine-tune your development process around industry-accepted best practices, ensuring that you achieve the greatest value, and also experience a significant reduction in development time.

We adhere to documentation standards like IEEE 12207 and MIL-STD-498. Moreover, we use design standard like DO 178 B in our development. Our teams of professionals are skilled in a plethora of tools, and engineer the task using the appropriate skill-set. A cursory sweep of expertise is given below:

  • GNU Eclipse IDE for ARM and PowerPC processors
  • Windriver Workbench for VxWorks
  • Code Warrior to debug hardware and software performance during “Bring-Up” of the system
  • CASE tools for DO-178B developments – Telelogic DOORS, Logiscope, Testchecker

These tools provide critical support in realizing the end-use. An example is using applications like DOORS, and LOGISCOPE of TELELOGIC, for traceability from requirements to testing, as well as to detect dead code, logical conflict, syntax errors and code flow. We include pre-emptive testing and evaluation for memory leaks, contact switching, interrupt latency and memory performance.

We work to best practices like carrying out our Coding Practices and Conventions are as per ANSI-C and MISRA standards. Yet another good practice is that we have the expertise in-house, and use a Board Support Package team to vet processor use and selection before committing to software development. The use of device demo kit where available, or inspection of qualification document for the device, prior to software design and development greatly mitigate the risk of incompatibility downstream.

We utilize our experience to optimize code performance and reliability. Close looping learning to knowledge repositories prevent recurrence of problems by sharing solutions, A shared repository of lessons learnt is deployed to all personnel ensuring swift ramp-up and sustainability. For example, collections of Communication APIs in their Library sets allows for quick search, retrieval and usage, which cuts down time and enhances quality.

Additionally, regular close looping of identified bugs to learning through a FAB (Failure Analysis Board), prevents us from reinventing solutions and further reduces turn-around-time and costs. Rigorous Patch Management and version control techniques and systems via a Central Configuration Management Office (CMO) allow us to identify, analyse and provide the appropriate fix in a timely manner.

Resource outlays, through multitasking professionals, are ready to deploy for crashing and fast-tracking projects where required by customer. We are also constantly developing new tools and libraries to reduce development time and effort. If it’s feasible, we can make it happen in a controlled development environment.

If you need a vendor who is never behind in the knowledge and execution of current technologies, and is continuously adapting to the new ones as per market demands, we in all likelihood, your most reliable choice.