Computation over Worlds with Dynamic Structure

semanticscholar(2013)

引用 0|浏览1
暂无评分
摘要
The Von Neumann machine [1] defines a “bridging” model between the world of software and the world of computing systems hardware [2], i.e. the “cyber” and the “physical” worlds. Many of today’s cyber-physical computing systems are interactive, mobile, networked, and ubiquitous. Computation may be distributed in a myriad of heterogeneous hardware such as smartphones, tablets, unmanned vehicles, robots, embedded computers, or even in the cloud where the hardware is abstracted. These cyber-physical computing systems contrast with the pioneer computers such as the IBM mainframes or first PCs where interaction and mobility was very sparse. Does this trend towards interaction and mobility requires new bridging models and software architectures? According to Von Neumann, computing systems are devices that “carry out instructions to perform calculations of a considerable order of complexity — e.g. to solve a non-linear partial differential equation”. Solving a PDE is not a representative example of the kind of computation being executed on smartphones, autonomous vehicles, and wireless sensor networks. More than just performing calculations, the programs in these CPS compute upon information received from their environment (e.g. reacting to some sensory data) or from other programs. They can also influence the environment by means of actuation (e.g. steering a vehicle, grasping an object, etc.). If the smartphones, vehicles, and sensors are the “machines” to these CPS programs, then programs change their “machines” and the“ machines” constrain the execution of their programs. The Von Neumann machine does not change structure as its program is executing. A smartphone network supporting a distributed program can change both phones and links. We introduce the BigActor model [3] as a bridge between concurrent distributed programs and a physical computing environment with dynamic structure. The BigActor model combines the Actor model [4] for specifying concurrent programs with Robin Milner’s Bigraphical Model [5] for the structure of the computing environment in terms of the location and connectivity of the computing machines. In contrast, to the Von Neumann model, the structure of the distributed machine is a first-class concept in the BigActor model. BigActors are hosted by computing machines (e.g. a smartphone, an Unmanned Aerial Vehicle, etc.). They are capable of performing regular actor operations (compute, asynchronously send messages to other actors, and spawn new actors). They are also able interact with the world upon which they are being executed. They are able to observe the structure of the world (e.g. a BigActor hosted in a vehicle may observe the location of other vehicles or what is the network topology that connects them), request control actions to change it (e.g. a BigActor hosted in a vehicle may request the vehicles to move to another location), and migrate to other machines (e.g. a BigActor hosted in a vehicle that is short in fuel may migrate to another vehicle and proceed with the primary task). Our first BigActor programming language is a Scala Domain Specific Language (DSL). The DSL is built upon the Scala Actors library. The language can be tested in a simulation
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要