1 / 17

Consona Constraint Networks for the Synthesis of Networked Applications

This paper presents a synthesis and refinement paradigm focusing on scalable sensor networks, integrating design with code generation for performance trade-offs. It includes high-level code optimization and a demonstration of a tracking application using constraint-based specifications. Evaluation criteria cover both qualitative and quantitative aspects. Challenges in TOS software, communication range, and scalability are discussed.

oallen
Download Presentation

Consona Constraint Networks for the Synthesis of Networked Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ConsonaConstraint Networks for the Synthesis of Networked Applications Refinement of aSense-Fuse-Disseminate Paradigm forScalable Sensor Networks Asuman SünbülMatthias AnlauffStephen Fitzpatrick

  2. Overview of Project • Software focus • use the motes as given • would like to be able to use other types of hardware • Develop model-based methods and tools that • integrate design and code generation  design-time performance trade-offs • in a goal-oriented way  goal-oriented run-time performance trade-offs • of NEST applications and services  low composition overhead

  3. Overview of Technical Approach • Both services and applications are modeled as sets of soft constraints, to be maintained at run-time • High-level code is produced by repeated instantiation of constraint-maintenance schemas • Constraint-maintenance schemas are represented as triples (C, M, S), meaning that • constraint C can be maintained by • running code M, • provided that ancillary constraints S are maintained • High-level code is optimized to generate efficient low-level code

  4. Overview of Demonstration • Constraint-based specification of tracking application • Schema-based refinement into high-level code • assumes coordinate system • Synthesis of low-level code • reality check: simplified algorithm • Code in action

  5. Application • Track a moving target • solution must be scalable & robust • For simplicity, use photocell • target carries a standardized light source • target-mote distance estimated from photocell reading • could use any sensor that provides a reliable distance estimate • RF, acoustic found to be unreliable

  6. Specification • Top level specification: • maintain an estimate of the target’s position • Mote-level specification: • each mote maintains an estimate (est) of the target’s position • Constraint: FieldConsistent(est) • the estimates must agree with each other • Constraint: SensorConsistent(photocell, est) • the estimates must agree with the sensors • scalable specification/requirement — local coupling

  7. Refinement: Field Consistent • i:mote· FieldConsistent(x)j:neighbors(i)· EdgeConsistent(i.x, j.x) • neighbors(i, j) EdgeConsistent(i.x, j.x) diffuse(x) • code diffuse(x) { on tick do broadcast(x); on receive(x) do smooth(x, x)} • scalable, local interaction

  8. Refinement: Sensor Consistent • SensorConsistent(S, x) sense(S, x) • code sense(S, x) { on tick do fuse(S, x)}

  9. y xc, yc x Refinement: Estimates • Target Estimate = 2D rotated Gaussian • represented as quintuple <xc, yc, u, v, w> • p(x, y) = Kּexp(-Q(x-xc, y-yc)/2) • where Q(a,b) = uּa2 + vּaּb + wּb2 • K = 1/sqrt(uּw-v2)

  10. Refinement: Smoothing • Smoothing is weighted product • smooth(e, f) = e(1-d) ּfd • cheap to compute using logs under transformed coordinates • 5 floating point additions • 2D rotated Gaussians are closed under product

  11. Refinement: Fuse • To fuse a photocell reading into a position estimate • deduce a distance estimate (ring) from the photocell reading • interpolation over calibration table • approximate the product of the original estimate and reading’s estimate • not closed: use 2D rotated Gaussian that is a maximum likelihood estimator • same means and first moments (approx.) d

  12. High-Level Code • High-level code represented as e-Specs • “practical category theory for motes” • state machines with strong semantics defining each state and transition • hope: common abstraction for Berkeley & Boeing OEPS • Well-suited to representing single-mote modules/algorithms • composition & refinement • optimization at code level • Low-level C code is automatically synthesized

  13. Simplified Algorithm: Trilateralization • Need simplified algorithm for today’s demo • still getting acquainted with TOS/C • Motes periodically broadcast distance estimates • Motes periodically estimate new target position using (approximate) trilateralization • and smooth with old target estimate d3 d1 d2

  14. Demonstration • Live • e-Specs • code synthesis • tracking

  15. Evaluation Criteria: Qualitative • Field Consistent & Sensor Consistent • are useful, intuitive constraints for specifying applications in scalable sensor networks • Incremental constraint maintenance / optimization • through perpetual smoothing & fusion is a useful coding paradigm for scalable sensor networks

  16. Evaluation Criteria: Quantitative • Accuracy of estimates • most easily measured with static targets • value: ~6 inches • outliers more extreme • Communication requirements • number of messages per mote per second • value: 2

  17. Demonstration Issues • TOS software is poorly documented • circuit diagrams are of little value to software engineers (=me) • Communication range is low when sensor boards are added • For large scale experiments: • field programmable motes would be nice • faithful sensor simulators would be nice

More Related