The following HTML text is provided to enhance online
readability. Many aspects of typography translate only awkwardly to HTML.
Please use the page image
as the authoritative form to ensure accuracy.
Embedded, Everywhere: A Research Agenda for Networked Systems of Embedded Computers
tem can decide to maximize certain features of the system at the cost of others, or decide to design a system that trades functionality in one area for functionality of some other part of the system.
The adequacy of a computational model is determined by two measures. The first measure is the suitability of the abstractions that have been chosen: They should allow those aspects that are important to the system to be represented in the model and not require the designer to think about those aspects of the system that are not important. The second measure of adequacy is the implementability of the computational model on the environment it is meant to encompass. A model may incorporate abstractions that make the design of a system easy, but that is no help if the abstractions cannot be implemented in the target technology of the system. On the other hand, a set of abstractions might be straightforward to implement but not allow the designer to focus on the properties that are needed, because the abstractions do not simplify the system enough to make the design tractable, or they might simplify it in the wrong way, making it impossible to attain some important aspect of the design.
Computational models are not required to build working systems. Indeed, since one of the questions that needs to be answered in evaluating a computational model is whether it is possible to implement the abstractions of the model, some systems must be built before a model is completely fleshed out and fully validated. In particular, functioning EmNets have been and will continue to be built without complete computational models for them. However, without such models, these systems must be built in an ad hoc fashion, and problems that are not addressed by the existing models must be addressed while the system is being constructed. These problems need to be solved anew by each system implementation, making the process more costly and more time consuming. In short, coherent, well-thought-out computational models will eliminate these problems and will facilitate analysis of systems (for example, to ensure trustworthiness) as they evolve over time.
A number of existing computational models might be applicable to EmNets. Because these systems are built with multiple processors used for a particular task, models of parallel computation could be extended to them. EmNets also share characteristics with storage area networks and distributed databases, so models that have been used in those arenas could also provide insights. However, the computational model most often used in thinking about an EmNet treats it as a distributed system, focusing on the interaction of computation and communications. In distributed systems, these models describe both how the various processors carry out the computation and how they communicate with one another.1
This discussion intentionally avoids using the word “process” because it is possible that the units of computing are parallel, and a process is typically assumed to be sequential.