Results 1 - 10
of
46
Declarative Networking
, 2009
"... Declarative Networking is a programming methodology that enables developers to concisely specify network protocols and services, which are directly compiled to a dataflow framework that executes the specifications. This paper provides an introduction to basic issues in declarative networking, includ ..."
Abstract
-
Cited by 27 (17 self)
- Add to MetaCart
Declarative Networking is a programming methodology that enables developers to concisely specify network protocols and services, which are directly compiled to a dataflow framework that executes the specifications. This paper provides an introduction to basic issues in declarative networking, including language design, optimization and dataflow execution. We present the intuition behind declarative programming of networks, including roots in Datalog, extensions for networked environments, and the semantics of long-running queries over network state. We focus on a sublanguage we call Network Datalog (NDlog), including execution strategies that provide crisp eventual consistency semantics with significant flexibility in execution. We also describe a more general language called Overlog, which makes some compromises between expressive richness and semantic guarantees. We provide an overview of declarative network protocols, with a focus on routing protocols and overlay networks. Finally, we highlight related work in declarative networking, and new declarative approaches to related problems.
Recursive Computation of Regions and Connectivity in Networks
, 2008
"... In recent years, data management has begun to consider situations in which data access is closely tied to network routing and distributed acquisition: sensor networks, in which reachability and contiguous regions are of interest; declarative networking, in which shortest paths and reachability are k ..."
Abstract
-
Cited by 14 (8 self)
- Add to MetaCart
In recent years, data management has begun to consider situations in which data access is closely tied to network routing and distributed acquisition: sensor networks, in which reachability and contiguous regions are of interest; declarative networking, in which shortest paths and reachability are key; distributed and peer-to-peer stream systems, in which we may monitor for associations among data at the distributed sources (e.g., transitive relationships). In each case, the fundamental operation is to maintain a view over dynamic network state; the view is frequently distributed, recursive and may contain aggregation, e.g., describing transitive connectivity, shortest paths, least costly paths, or region membership. Surprisingly, solutions to this problem are often domain-specific, expensive to compute, and incomplete. In this paper, we recast the problem as one of incremental recursive view maintenance in the presence of distributed streams of updates to tuples: new stream data becomes insert operations and tuple expirations become deletions. We develop a set of techniques that maintain information about tuple derivability — a compact form of data provenance. We complement this with techniques to reduce communication: aggregate selections to prune irrelevant aggregation tuples, provenance-aware operators that can determine when tuples are no longer derivable and remove them from their state, and shipping operators that greatly reduce the tuple and provenance information being propagated while still maintaining correct answers. We validate our work in a distributed setting with sensor and network router queries, showing significant gains in bandwidth consumption without sacrificing performance. 1
Evita Raced: Metacompilation for Declarative Networks ABSTRACT
"... Declarative languages have recently been proposed for many new applications outside of traditional data management. Since these are relatively early research efforts, it is important that the architectures of these declarative systems be extensible, in order to accommodate unforeseen needs in these ..."
Abstract
-
Cited by 13 (3 self)
- Add to MetaCart
Declarative languages have recently been proposed for many new applications outside of traditional data management. Since these are relatively early research efforts, it is important that the architectures of these declarative systems be extensible, in order to accommodate unforeseen needs in these new domains. In this paper, we apply the lessons of declarative systems to the internals of a declarative engine. Specifically, we describe our design and implementation of Evita Raced, an extensible compiler for the OverLog language used in our declarative networking system, P2. Evita Raced is a metacompiler: an OverLog compiler written in OverLog. We describe the minimalist architecture of Evita Raced, including its extensibility interfaces and its reuse of P2’s data model and runtime engine. We demonstrate that a declarative language like OverLog is well-suited to expressing traditional and novel query optimizations as well as other query manipulations, in a compact and natural fashion. Finally, we present initial results of Evita Raced extended with various optimization programs, running on both Internet overlay networks and wireless sensor networks. 1.
Programming Wireless Sensor Networks: Fundamental Concepts and State-of-the-Art
"... Wireless sensor networks (WSNs) are attracting great interest in a number of application domains concerned with monitoring and control of physical phenomena, as they enable dense and untethered deployments at low cost and with unprecedented flexibility. However, application development is still one ..."
Abstract
-
Cited by 12 (3 self)
- Add to MetaCart
Wireless sensor networks (WSNs) are attracting great interest in a number of application domains concerned with monitoring and control of physical phenomena, as they enable dense and untethered deployments at low cost and with unprecedented flexibility. However, application development is still one of the main hurdles to a wide adoption of WSN technology. In current real-world WSN deployments, programming is typically carried out very close to the operating system, therefore requiring the programmer to focus on low-level system issues. This not only shifts the focus of the programmer away from the application logic, but also requires a technical background that is rarely found among application domain experts. The need for appropriate high-level programming abstractions, capable to simplify the programming chore without sacrificing efficiency, has been long recognized and several solutions have been hitherto proposed, which differ along many dimensions. In this paper, we survey the state-of-the-art in programming approaches for WSNs. We begin by presenting a taxonomy of WSN applications, to identify the fundamental requirements programming platforms must deal with. Then, we introduce a taxonomy of WSN programming approaches that captures the fundamental differences among existing solutions, and constitutes the core contribution of this paper. Our presentation style relies on concrete examples and code snippets taken from programming platforms representative of the taxonomy dimensions being discussed. We use the taxonomy to provide an exhaustive classification of existing approaches. Moreover, we also map existing approaches back to the application requirements, therefore providing not only a complete view of the state-of-the-art, but also useful insights for selecting the programming abstraction most appropriate to the application at hand.
Macrodebugging: Global Views of Distributed Program Execution
"... Creatinganddebuggingprogramsforwirelessembedded networks (WENs) is notoriously difficult. Macroprogramming is an emerging technology that aims to address this problem by providing high-level programming abstractions. We present MDB, the first system to support the debugging of macroprograms. MDB all ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
Creatinganddebuggingprogramsforwirelessembedded networks (WENs) is notoriously difficult. Macroprogramming is an emerging technology that aims to address this problem by providing high-level programming abstractions. We present MDB, the first system to support the debugging of macroprograms. MDB allows the user to set breakpoints and step through a macroprogram using a sourcelevel debugging interface similar to GDB, a process we call macrodebugging. AkeychallengeofMDBistostepthrough a macroprogram in sequential order even though it executes on the network in a distributed, asynchronous manner. Besides allowing the user to view distributed state, MDB also provides the abilityto search for bugs over the entire history of distributed states. Finally, MDB allows the user to make hypothetical changes to a macroprogram and to see the effect on distributed state without the need to redeploy, execute, and test the new code. We show that macrodebugging is both easy and efficient: MDB consumes few system resourcesandrequiresfewusercommandstofindthecauseof bugs. We also provide a lightweight version of MDB called MDB Lite that can be used during the deployment phase to reduceresourceconsumptionwhilestilleliminatingthepossibility of heisenbugs: changes in the manifestation of bugs caused byenabling ordisabling the debugger. Categories and SubjectDescriptors
On the declarativity of declarative networking
- SIGOPS Oper. Syst. Rev
"... Initiated by the declarative networking project, rule-based declarative programming languages have gained increasing popularity in building complex networked systems across multiple application domains. This paper investigates the declarativity of those systems. First, by analyzing the language sema ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
Initiated by the declarative networking project, rule-based declarative programming languages have gained increasing popularity in building complex networked systems across multiple application domains. This paper investigates the declarativity of those systems. First, by analyzing the language semantics, we classify rules into deductive rules and Event-Condition-Action (ECA) rules, and reveal their different levels of declarativities. Then, we use case studies to show that ECA rules that are less declarative are dominantly used in most of the proposed systems. As a result, the benefit of declarative programming is undermined. We identify the key factors that cause the low declarativity effect, and present our ongoing work towards addressing those challenges. 1.
RapidMesh: Declarative Toolkit for Rapid Experimentation of Wireless Mesh Networks
, 2009
"... We present the RapidMesh toolkit for rapid protocol simulation, implementation and experimentation of wireless mesh networks. RapidMesh utilizes declarative networking, a declarative, database-inspired extensible infrastructure that uses query languages to specify behavior. RapidMesh integrates a de ..."
Abstract
-
Cited by 4 (4 self)
- Add to MetaCart
We present the RapidMesh toolkit for rapid protocol simulation, implementation and experimentation of wireless mesh networks. RapidMesh utilizes declarative networking, a declarative, database-inspired extensible infrastructure that uses query languages to specify behavior. RapidMesh integrates a declarative networking engine with the emerging ns-3 network simulator. The same declarative specifications can also be used as actual implementations using the ns-3 network emulator, hence providing a bridge between simulation and testbed-based experimentation. We demonstrate that RapidMesh enables a variety of wireless routing protocols and neighbor discovery protocols can be synthesized via compact declarative specifications. We experimentally validate declarative MANET routing protocols in dynamic settings within RapidMesh operating in ns-3 simulation environment and on the ORBIT wireless testbed.
Automating rendezvous and proxy selection in sensor networks
- In Eighth International Conference on Information Processing in SIGMOD Record, March 2010
, 2009
"... As the diversity of sensornet use cases increases, the combinations of environments and applications that will coexist will make custom engineering increasingly impractical. We investigate an approach that focuses on replacing custom engineering with automated optimization of declarative protocol sp ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
As the diversity of sensornet use cases increases, the combinations of environments and applications that will coexist will make custom engineering increasingly impractical. We investigate an approach that focuses on replacing custom engineering with automated optimization of declarative protocol specifications. Specifically, we automate network rendezvous and proxy selection from program source. These optimizations perform program transformations that are grounded in recursive query optimization, an area of database theory. Our prototype system implementation can automatically choose program executions that are as much as three, and usually one order of magnitude better than original source programs.
Maintaining recursive views of regions and connectivity in networks
, 2010
"... ©2010 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other wo ..."
Abstract
-
Cited by 4 (4 self)
- Add to MetaCart
©2010 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.

