loT Frameworks/ Development to Dominate Software Trends in 2016 - Part 1

Is this the year that the internet of Things really takes hold? Advances in cloud technology and resolving security and quality issues in software could at long last tip the scales.

IT'S TIME TO STOP KICKING THE TIRES and take the plunge into the Internet of Things (IoT). Most IoT frameworks finally have some meat on the bone, and the plethora of options has become mind-boggling.

One major trend is the move to cloud-based product development as tools become more complex, which increases setup and integration costs. Having someone else set up, support, and maintain the tools can offload these chores from a company, but developers need to be wary of issues like long-term support. (product design)

Also taking center stage are the matters of security and software quality. Though these areas have always been important, they're often neglected in the general embedded space due to cost and effort. Of course, no one wants insecure and buggy code, but where is the boundary between total security and bug-free code? Moreover, what actually gets delivered by most software projects? For unconnected devices, security has become less of an issue. (wireless design)

board design prototype development wireless design
The challenge with IoT has always been the large number of interfaces, connections, and entities involved in even the most basic designs (see the figure below). IoT offers many benefits and provides a potentially flexible environment, yet one must factor in its greater complexity with more potential points of failure, attack, and maintenance. The entire system needs to work together properly, otherwise problems become inevitable. And with possibly millions of end nodes and gateways involved, the ramifications could be catastrophic.

Organizations and vendors have been taking the wraps off IoT frameworks and environments, often expanding the functionality, coverage, and partnerships. Many IoT standards organizations were closed societies made up of vendors looking to guide the design of the frameworks. This year they will be delivering their incarnation of these frameworks to developers, so that they can examine and utilize them to build IoT solutions.(prototype development)

The ability to create IoT solutions is not new, as many are being developed and deployed already.  However, these cutting edge implementations tend to be limited to larger companies or those willing to deal with emerging standards. It will now be easier for developers to deliver IoT solutions thanks to more established standards and tools.

Nonetheless, one big issue continues to cast a shadow: The large number of choices in the IoT development space will limit interoperability.

Software quality and security are related because security breaches are often caused by bugs in the code. Both issues arise when it comes to IoT development because connectivity between devices opens the door to remote attacks.(electronic design)

Most IoT frameworks incorporate multiple security measures, from the use of Transport Layer Security (TLS) on communication links to secure boot. Encryption is a vital ingredient and more hardware with built-in hardware acceleration is being made available. Secure key storage and even anti-tamper support is becoming more common.

The challenge for developers continues to be how security measures can be incorporated into a design and subsequently contending with them, let alone developing the other functional features of an application. Framework and policy-based security support can help, but it doesn't eliminate security issues for application design. Beware of claims that a framework or system will handle all security needs. This is rarely the case, but it does make the job of securing a system significantly easier.(circuit design)

Lots of IoT development is being done in C, which has the reputation of allowing developers to shoot themselves in the proverbial foot. Adding security to the mix compounds the issue, as many problems often result from misunderstandings of how things work, or just due to carelessness. Many available tools, such as static analysis, often support standards like MISRA C++ and the new MISRA C:2012 standard.

Formal methods are moving out of areas such as military and avionics systems and into industrial applications. For example, companies in the transportation and automotive space are looking at programming languages, namely Ada and SPARK, to provide better development environments for embedded, real-time applications (see "Best of 2015: CodePeer SPARKS Ada" on electronicdesign.com). Functional programming languages that are also more amenable to formal proofs can be found in the cloud. In this space, they're being used in everything ranging from system control to financial calculations and analytics.(manufacturing sourcing)

Posted from: Electronic Design, January 2016 edition

Author: Bill Wong

11 Flora Spgs,
Irvine, CA 92602
U.S.A. Map


Email Us

Follow on Social

For Customer Support,
please visit our help center

Help Center