C++ excelence

C++ Excelence

Intro

Applied Systems’ skillset and expertise in a wide range of technological areas have been critically important to carry out its mission for more than 15 years. Through years of completed projects in various industries, C ++ has been our corner stone in delivering feature-rich, high-productivity, and reliable solutions. This general purpose programming language is well-suited both for high-level logic and systems programming, which in combination with our innovative ideas allows us to address almost any customer’s needs with guaranteed success.

Being a Microsoft Certified Partner, Applied Systems targets the largest market of PCs, which runs on Windows, to provide its customers with a combination of unique know-how based on the latest software and best practices supported by an ample stack of Microsoft development products and technologies.

Areas of Competence

Native Application Development

Native applications are perfectly tailored to work on a particular platform with maximum efficiency. They allow taking full advantage of native APIs to ensure flawless communication with the system and immediate access to its features, services, and databases. In combination with relevant C++ subsets, platform-specific APIs provide direct control over memory allocation and hardware features to offer enhanced resource optimization and ultimate performance. To crown it all, native applications do not require installing prerequisite software components and propose a reliable approach to source code security.

Thus, choosing native application as our primary vector has a number of significant reasons behind it, while developing native applications for Windows in particular provides an exceptional opportunity to reach the largest software market. We have a long record of providing Windows-based solutions from reusable standalone components to flexible end-to-end solutions applied in various industries.

SCADA (Supervisory Control and Data Acquisition)

Our collection of expertise and best practices includes all that is necessary to develop a complex process control system that collects data from remotely located equipment and sends them to a central computer, where they are processed and prepared for presentation.

The complexity of SCADA systems is accounted for by a number of stringent requirements:

• Ability to integrate with a wide variety of tools and equipment

• High degree of automation

• Ability to generate large amounts of accurate test data based on multiple measurement parameters

• Intuitive and user-friendly interface

• Flexibility and easy reconfiguration

As part of an international project on the development of high-end measurement and test systems, Applied Systems develops and integrates modern software components that allow configuring a great number of measuring devices, controlling and coordinating their operation, analyzing and saving measurement results, and troubleshooting.

Automotive Test and Measurement Software Systems

We have contributed a lot to a project run by the world leader in the development of powertrain systems and testing solutions. The developed solution is a complex automated system applied in automotive emission measurement to manage the testing of vehicles and their parts and analyze the toxicity of their emission.

In particular, our specialists were involved in the development of real-time data acquisition components, calibration and check systems, alarm and error management system, user access control systems, tools for data storage and analysis, and numerous visual controls.

Being an expert in industrial automation, Applied Systems provides a full cycle of software development services for businesses that are facing the challenge of:

• real-time data acquisition

• high-accuracy processing and visualization of large data streams from multiple devices

• providing high degree of automation

• high degree of integratability with already existing or new software and hardware modules

• easy system reconfiguration and scalability

HMI (Human-Machine Interface)

Applied Systems has a solid record of designing user interfaces of any complexity for automated process control solutions. Our versatile knowledge of the subject allows meeting the harshest requirements for interface usability and user experience. On the one hand, the amount of data displayed on the monitor should be sufficient to allow the employee to easily manage the process. On the other hand, the layout and graphical interpretation of information should facilitate its understanding and enable efficient use.

Our team can create a user interface from scratch: gather and analyze your requirements, define user scenarios, produce screen prototypes, draw realistic mockups, build software architecture and program the application. Or we can customize the user interfaces of an existing product to the needs and corporate style of your clients, improve the look-and-feel or create a mobile version of the application.

Our model of interaction provides for perfectly established processes and continuous communication between graphic designers and software engineers. In most cases developers receive schematic prototypes as input information to ensure that the outcome not only looks great but can also be implemented. Our designers provide detailed mockups, which helps save on the programming phase and guarantees that customers receive a user interface that corresponds to their business needs and look-and-feel requirements.

Embedded Software Development

Dedicated software with limited capacity and severe time constraints is the main challenge that software companies usually face when working on projects featuring real-time embedded systems.

System and embedded development is a complex discipline that requires profound knowledge of the subject, continuous skill improvement and access to the latest technologies. We use proven methodologies and approaches to improve the performance and reliability of your real-time system while reducing its cost and complexity. Our accumulated experience in hardware optimization covers communication with low-level embedded software and driver management for servers, data storage systems, network, warehouse, scientific, and industrial equipment. Among the most illustrative examples of our expertise are devices like Beckhoff Profibus, ADwin, E-Gate controlled by TenAsys INtime or TwinCAT using the CAN protocol, CAN bus, AK protocol or ASAM protocol for communication.

Services

Our team of architects, developers, testers, and maintenance engineers delivers a wide range of value-for-money services to satisfy almost any customer needs:

Human-Machine Interface Development

Using a combination of C++ and cutting-edge technologies, we take an individual approach to each particular case of user interface implementation:

• Interact directly with the operating system via its API

• Use a platform-specific library that wraps WinAPI into a C++ class

• Create the user interface in a different language altogether using Windows Presentation Foundation (WPF) and call it from C++

Embedded Software Development

We provide a full cycle of services starting from requirement analysis and architecture modelling through programming, configuration and testing to troubleshooting and bug fixing in the following areas:

• Real-time data exchange and analysis

• Industrial measurement and control systems

• Hardware programming and configuration

• Wireless technologies for the new generation of sensors

• Home automation software

Software Optimization

Although optimization is often the last stage of a software development project, it is no less important than the other stages, especially when it is the project feasibility that is at stake. Applied Systems’ specialists are ready to offer an effective optimization strategy for your product. After a thorough analysis of your requirements, software architecture, and data structures, we’ll develop the necessary optimization algorithms to improve the product performance and make it work in a more efficient way.

Quality Assurance and Testing

Applied Systems’ specialists are ready to perform different types of testing on different platforms following a cooperation model that is most convenient for you:

• SRS testing (walkthrough)

• Functional and non-functional testing:

- Module testing

- Performance testing

- Usability testing

- Stress testing

- System testing

- Integration testing

- Localization testing

- Setup testing

Skill Map

Our C++ experts wield a combination of proven techniques and methodologies to implement software development projects of any complexity with guaranteed efficiency:

Technologies

System

• ADO

• ActiveX

• COM

• DCOM

• DE MAPI

• GDI/GDI+

• MSMQ

• OLE

• OLEDB

System: ADO, ActiveX, COM, DCOM, DE MAPI, GDI/GDI+, MSMQ, OLE, OLEDB

Networking

• FTP

• IPv4

• IPv6

• LDAP

• POP3/SMTP

• SSH

• TCP

• TLS/SSL HTTP

• UDP

Networking: FTP, IPv4, IPv6, LDAP, POP3/SMTP, SSH, TCP, TLS/SSL HTTP, UDP

Web Services

• REST

• SOAP

• XML-RPC

Web Services: REST, SOAP, XML-RPC

Libraries / Frameworks

• ATL

• Boost

• DirectX

• MFC

• Qt

• STL

• STLport

• Win API

• WTL

Libraries/Frameworks: ATL, Boost, DirectX, MFC, Qt, STL, STLport, Win API, WTL

Databases

• MS SQL Server

• MySQL

Databases: MS SQL Server, MySQL

Compilers/IDE

• MS C/C++ Compiler

• MS Visual Studio

Compilers/IDE: MS C/C++ Compiler, MS Visual Studio

OS/Platforms

• Windows

OS/Platforms: Windows