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 SystemsData 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 expertiseThe process is supported by the tools
- Preparing SIPU-SDU SRS, SDD and ICD documents - DO-178B documents
- Preparing SIPU-SDU Architecture diagrams, functional flow, data flow diagrams, application flowcharts and Higher level application design simulation
- Compiling source files to object files & Linking object files to binary files
- Static Code checking for MISRA C 2004 standards
- Automated Documentation
- Modified Condition / Decision Coverage checking & Statement Coverage checking
- Unit & System level black box testing
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
- 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.