Integrating automotive telematics data from various sources presents challenges that are not easily addressed with prevailing development approaches
Modern automotive telematics systems and telematics developers are awash in data. Both are increasingly called upon to integrate large amounts of complex data from numerous sources and deliver an expanding array of automotive safety, convenience, and entertainment features. It is not unusual to require advanced telematics systems to combine data from numerous, discrete sources including, in-vehicle sub-systems as well as external data sources such as GPS, 3G wireless systems, and satellite broadcasts carrying music, news, traffic, and weather information.
Modern telematics systems must integrate data from multiple applications and sources, presenting developers with increasingly complex application and data integration issues.
For engineers to harness, organize, and innovate with the growing volumes of data from both inside and outside the vehicle is challenging. And this is perhaps more so because most automotive telematics developers are trying to create data-driven applications using conventional data management techniques. If development teams were to analyze all the functions within their applications, they may be surprised to discover that 50% or more of their application code is doing data management: That is, code that is acquiring, processing, storing, and initiating actions based on diverse and dynamic sets of data. Yet they are doing so without the benefit of a data management system and instead rely on proprietary ad hoc data management approaches.
In many ways, telematics systems have become data-centric computing platforms. To reduce application complexity and speed development, telematics developers should consider the advantages afforded by data abstraction and data-centric software design.
Data-centric software design
A promising way to tackle telematics development challenges is to adopt a more data-centric approach to software design. This methodology allows developers to focus on what they want to do with telematics system dataregardless of its sourcewithout having to manually program the numerous underlying proprietary data structures and data management routines. By leveraging a data management system to abstract underlying data management details, developers can speed development efforts by focusing data-driven telematics application functionality at a higher-level.
This higher-level, data-centric approach has long been used in enterprise applications powered by relational database technologies. However, its feasibility for telematics development has been limited by both system resource constraints and the lack of suitable data management technologies. However, more efficient data management technologies have emerged to allow data-centric software design to become a viable and faster approach for developing high performance, data-driven telematics applications.
Current data management techniques
Most telematics applications today are developed in either C or C++, while a few have portions developed in Java. The prevailing data management approach within these applications involves hand coding proprietary data structures and the software access and storage routines. This ad hoc approach typically results in data management implementation inconsistencies and increased application complexity, making programs more difficult to develop, debug, integrate, and evolve. Often, the effects of these inconsistencies are not manifested until the integration and testing phases, resulting in unexpected delays and costly rework.
Current ad hoc data management approaches with C and C++ involve hand coded data structures that suffer from inconsistent implementations. This contributes to increased application complexity, inflexibility, and reliability issues.
Another issue is that hand coded data management routines are frequently developed in a way that makes them closely bound to the underlying OS and hardware platform. This makes applications less portable to new OS and hardware platforms and more sensitive to changes in hardware specifications. The resulting inflexibility and complexity makes it more difficult for developers to meet rapidly evolving market requirements and aggressive delivery schedules.
By contrast, data-centric software design enables telematics developers to speed development by taking a higher-level view of their applications’ data management functionality by abstracting application code away from underlying platform-specifics.