210 likes | 311 Views
Dart is a framework for end-users and programmers to express complex behaviors easily, aiming at developing domain-specific modeling languages in various application domains. It supports stepwise development, reflecting Dart's core concepts and design decisions explained and motivated in the paper. Dart provides extension hooks in VisualWorks Smalltalk, Dyctalk, MiDyctalk, and others, planned for open-source release. It enables adaptive object models through dynamically composed behavior, supporting concurrent execution, security, and optimization for wireless sensor networks.
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