210 likes | 309 Views
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts. Background Photo: http://pinker.wjh.harvard.edu. A Wireless Sensor Network.
E N D
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts
Background Photo: http://pinker.wjh.harvard.edu A Wireless Sensor Network Connecting together a large number of small computers with sensing and actuating capabilities, to collectively and cost-effectively solve problems, based on real-time data.
Background Photo: http://pinker.wjh.harvard.edu Dynamic Macroprogramming of WSNs by End-users (experts) Query: detect an animal Requires specifying correlation of time series of basic sensing data into high-level semantic data Query: photograph speeding vehicles Query: chart traffic patterns Requires specifying coordination between tasks Requires specifying a behavior repeated over time
Requirements summary • End-users • Expressing • Relatively easily • Complex behavior • DSML Programmer: face diversity of application domains • Business-specific • Ontologies • Modeling constructs • Model execution strategies • DSML Programmers • Developing DSMLs for different application domains by • Reuse • Extension
Entities and relationships Mobile Object Pulse collection Animal Pulse Pair 1 4 3 2 Pulse Pair 3 Mobile Object Animal Primitive tasks Average Pulse Pairs Estimate Motion Classify Animal 6 5 Pulse Pair 1 Pulse Pair 2 Estimate Motion Classify Animal Sort Edges Sort Edges Behavior specification Average Pulse Pairs 9 8 7 Detect Beam Event Sort Edges Pulse 1 Pulse 2 Pulse 3 Detect Beam Event Detect Beam Event Detect Beam Event T2: Identify Animal Task-Specific Behavior Modeling [B.A. Nardi]
The Problem • Method for stepwise development of • Task-specific languages for behavior modeling • Satisfying both • End-users, and • Programmers requirements
Dart core concepts Design decisions explained and motivated in the paper.
1 2 Behavior 6 5 Histogram Entry Collection Histogram Step (Part Holder) Task Construct Concept Main 3 16 15 Vehicle Histogram Entry Do <T2> Create Histogram Entry T1: Compute Histogram Entry 4 9 8 7 Pulse Pair 3 Mobile Object Vehicle Average Pulse Pairs Estimate Motion Classify Vehicle 10 11 Pulse Pair 1 Pulse Pair 2 Sort Edges Sort Edges contributes 12 13 14 Pulse 1 Pulse 2 Pulse 3 Detect Beam Event Detect Beam Event Detect Beam Event T2: Identify Vehicle Liz’s query For a Period of <2 weeks> Do <T1> Plot Histogram Illustration of behavior representation by Dart
Implementation • Research prototypes • Provides extension hooks • VisualWorks Smalltalk • Dyctalk • MiDyctalk • MetaclassTalk • MxDyctalk • Squeak and Seaside • Planned to be released as Open Source software
Reuse example: Developing query engines for WSNs Uses: Seaside framework (http://www.seaside.st/) and Squeak (http://www.squeak.org/)
Step Fetch Load Code Adaptation cycle Adapt Conclusion Knowledge level Intercession Introspection Operational level Dynamically-composed behavior Dart supports stepwise development of Adaptive Object-Models
Current work • Reusing Dart to support End-user Macro-programming WSNs • Dart serves: • Edition (GUI) • Representation • Verification • Optimization • Security • Transformation • Distributed, fine-grained, selective deployment • Concurrent execution
Thank you for your attention! • Questions? • Observations? Please visit the Poster Session Reza Razavi razavi@acm.org Autonomous Systems Group University of Luxembourg
Outline of the talk • Context • Requirements • Problem • Solution • Conclusion and perspectives
Structure of queries • Finite directed acyclic graph • Recursive • Steps may hierarchically point to tasks • Reflective • Same set of concepts reused to extend the system
Semantics of queries • Parallel evaluation of contributions • Limited to their dependencies • Different execution semantics • Late • value binding • method binding • Comparable to spreadsheets
Role of the knowledge level • Comprises: • Conceptual ontology • Behavioral ontology • Framework for specifying queries as a composition of services through mediation of concepts • Assumptions: • Completeness of the service ontology • Acknowledgeability of the users in the domain covered by the ontologies • Low-level data, such as the sensor id, may be provided by users (in the process of being relaxed) • Keeps track of static and dynamic metadata.
Role of the operational level • The operational level comprises a set of mobile agents • The agents: • Are defined dynamically • Execute concurrently • within the WSN, and • on a single node • Based on a formal model of computation • In order to be verifiable Actors
Background Photo: http://pinker.wjh.harvard.edu EU requirements: example 1 Query: detect an animal Requires specifying correlation of time series of basic sensing data into high-level semantic data
4 3 2 Pulse Pair 3 Mobile Object Animal Average Pulse Pairs Estimate Motion Classify Animal Semantic Stream [Zhao et al.] 6 5 Pulse Pair 1 Pulse Pair 2 Sort Edges Sort Edges 9 8 7 Pulse 1 Pulse 2 Pulse 3 Detect Beam Event Detect Beam Event Detect Beam Event Background Photo: http://pinker.wjh.harvard.edu EU requirements: example 1 Query: detect an animal 1 Requires specifying correlation of time series of basic sensing data into high-level semantic data Raw sensor data T2: Identify Animal
Background Photo: http://pinker.wjh.harvard.edu EU requirements: other examples Query: photograph speeding vehicles Query: chart traffic patterns Requires specifying coordination between tasks Requires specifying a behavior repeated over time