170 likes | 187 Views
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.
E N D
ConsonaConstraint Networks for the Synthesis of Networked Applications Refinement of aSense-Fuse-Disseminate Paradigm forScalable Sensor Networks Asuman SünbülMatthias AnlauffStephen Fitzpatrick
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
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
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
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
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
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
Refinement: Sensor Consistent • SensorConsistent(S, x) sense(S, x) • code sense(S, x) { on tick do fuse(S, x)}
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)
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
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
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
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
Demonstration • Live • e-Specs • code synthesis • tracking
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
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
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