John Cornish’s keynote raised the question of how best to simulate all the hardware and software complexities of the Internet-of-Things dream.


A lot of interesting Internet-of-Things (IoT) related “things” were said during the 2013 ARM Tech Con show. IoT keynote speaker John Cornish, Executive VP and GM for ARM’s System Division, made one observation that I found particularly valuable. He talked about the need for a comprehensive approach to deal with the multitude of converging technologies, methodologies and tools needed for IoT to reach its full potential.


DSC00260.JPGWith practiced skilled, Cornish’s presentation followed the time honored strategy of showing the potential before focusing on the challenges. It should be sufficient to note that the number of connected IoT devices easily measures in the tens of billions. But they won’t all be connected via cellular modems, noted Cornish. “There is a huge upside that is really going to come from local RF technologies which will complement cellular.” In many cases, cellular will serve as the access point to the Internet backbone, but local RF will do the bulk of the data transmission work.


Regardless of the connection mechanisms, the IoT will enable a lot of useful applications. That’s great news for consumers but how does it help the revenue streams of the supply chain companies? “All of those little bits of information that make your life (as consumers) more convenient, also have the potential of delivering commercial value to providers,” explained Cornish. “So by aggregating and analyzing that data, you can target consumers in an intelligent way (with chargeable services).” Although ARM doesn’t focus on bit data, they recognize it’s critical important to the IoT value proposition in the semiconductor supply chain.


After highlighting the huge potential of and business case for IoT, Cornish turned his attention to the technical side. He focused on 3 key elements: standards, solution space analysis, and security (see figure). This is where it got interesting.




To make the complete IoT vision a reality, Cornish argued that open standards would be needed to enable interoperability. “This means that OEMs and silicon partners, software developers and middleware vendors will need to standardize on the same set of protocols to ensure that things will just work,” he cautioned.


In addition to standards, the second key element was providing then necessary resources to all developers to explore and innovate in the huge solution space known as the IoT. [The third key element is security.]


Solution space? That sounds a lot like systems engineering and trade-off analysis.  Indeed, Cornish likened this exploration by designers to a Monte Carlo Analysis challenge. “(We’ll need to do) lots of parallel calculations, exploring a very large space and then finding out what works, what solutions actually resonate with consumers. This is why we’ll need to drive the developer capabilities (and grow the ecosystem),” explained Cornish.


You may remember from school that the Monte Carlo is a stochastic method to deal with multi-variable problems that have no closed-form mathematical expressions – namely, they are hard to solve directly. Instead you must run numerous simulations many times, tweaking variables as you go, to calculate probabilities and find a workable solution path. This approach is a favorite of gaming experts.


But is the Monte Carlo approach really the best? For electronic hardware and software-integrated problems, perhaps it is. On the other hand, for network related issues  - like sensor hub to cellular connection - then a queuing model might work better. Years ago, I co-authored a systems engineering book with Dr. Gary Ray. Here’s a brief segment listing some of these other approaches:


The (previous) decision model … captures the essence of a decision process with a few well-known alternatives. For example, in a (networking) effort, three architectures may be proposed after some study of the problem, and then the best one chosen. But real decisions typically involve a continuum of choices with many unknown parameters and specific constraints. Even category 1 decisions may involve difficult constrained nonlinear optimizations, and category 2 problems can turn into constrained parameter estimation efforts. Such difficult optimizations are rarely required because the uncertainties in a given project would outweigh any additional benefits from such an effort. Nevertheless there are some techniques, which do have benefits in such efforts:

  • Linear programming. This technique solves problems with linear constraints and linear objective functions. Even if the real problem is nonlinear, it is often easy to approximate by a linear problem without any real loss in accuracy.
  • Monte-Carlo methods. These methods attempt to optimize by searching randomly. They can be very effective on a broad range of problems since they are easy to implement. However, they tend to take a lot of computer time.
  • Queueing modeling methods. These methods model typical network or service functions as if each is a queue with a Poisson distribution. Then the expected value of the required objective function is optimized. The objective function would try to balance the cost of waiting in a queue with the added cost of more services, i.e., more computers, faster networks, etc.
  • Network flow models. These models attempt to find the critical path from one end of a process to another, and so identify activities for which no slack in schedule exists. Thus this type of optimization could be used to identify the minimum time required for a such an effort or the minimum time to perform some activity within the old system versus the proposed alternatives.”


My point isn’t that the Monte Carlo approach is wrong. Instead, Cornish’s comments piqued my curiosity as to what kinds of comprehensive simulation models will be needed to address the IoT challenge in it’s entirety.


What do you think? It’s a tricky problem, one that extends beyond the solution space of chip, board and even network designs. But it’s an issue that we must solve to bring the popular vision of IoT into reality.