Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts Reza Razavi University of Luxembourg LUXEMBOURG Jean-François Perrot Université Pierre et Marie Curie – CNRS – LIP6, Paris – France Ralph Johnson University of Illinois at Urbana Champaign, Illinois – USA
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Background Photo: 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. A Wireless Sensor Network
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Background Photo: Query: detect an animal Query: chart traffic patterns Query: photograph speeding vehicles Dynamic Macroprogramming of WSNs by End-users (experts) Requires specifying coordination between tasks Requires specifying a behavior repeated over time Requires specifying correlation of time series of basic sensing data into high-level semantic data
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ 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
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Task-Specific Behavior Modeling [B.A. Nardi] Entities and relationships collection Mobile Object Animal Pulse Pulse Pair Classify Animal Estimate Motion Detect Beam Event Sort Edges Average Pulse Pairs Primitive tasks Behavior specification Animal Classify Animal 2 1 T2: Identify Animal Mobile Object Estimate Motion 3 Pulse Pair 3 Average Pulse Pairs 4 Pulse 1 Detect Beam Event 9 Pulse 2 Detect Beam Event 8 Pulse 3 Detect Beam Event 7 Pulse Pair 1 Sort Edges 6 Pulse Pair 2 Sort Edges 5
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ The Problem Method for stepwise development of Task-specific languages for behavior modeling Satisfying both End-users, and Programmers requirements
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Dart core concepts Design decisions explained and motivated in the paper.
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Liz’s query 2 Main 3 T1: Compute Histogram Entry 4 T2: Identify Vehicle Histogram 5 Plot Histogram Histogram Entry Collection 6 For a Period of Do Mobile Object Estimate Motion 8 Pulse Pair 3 Average Pulse Pairs 9 Pulse 1 Detect Beam Event 12 Pulse 2 Detect Beam Event 13 Pulse 3 Detect Beam Event 14 Pulse Pair 2 Sort Edges Pulse Pair 1 Sort Edges 1011 Vehicle Classify Vehicle 7 Vehicle Do 16 Histogram Entry Create Histogram Entry 15 Illustration of behavior representation by Dart BehaviorTaskStep (Part Holder) ConstructConceptcontributes
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Implementation Research prototypes Provides extension hooks VisualWorks Smalltalk Dyctalk MiDyctalk MetaclassTalk MxDyctalk Squeak and Seaside Planned to be released as Open Source software
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Reuse example: Developing query engines for WSNs Uses: Seaside framework ( and Squeak (
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Conclusion Step Adapt Fetch Load Code Adaptation cycle Operational level Knowledge level Introspection Intercession Dynamically-composed behavior Dart supports stepwise development of Adaptive Object-Models
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ 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
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Thank you for your attention! Questions? Observations? Reza Razavi Autonomous Systems Group University of Luxembourg Please visit the Poster Session
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Outline of the talk Context Requirements Problem Solution Conclusion and perspectives
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Structure of queries Finite directed acyclic graph Recursive Steps may hierarchically point to tasks Reflective Same set of concepts reused to extend the system
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Semantics of queries Parallel evaluation of contributions Limited to their dependencies Different execution semantics Late value binding method binding Comparable to spreadsheets
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ 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.
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ 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
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Background Photo: Query: detect an animal EU requirements: example 1 Requires specifying correlation of time series of basic sensing data into high- level semantic data
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Background Photo: Query: detect an animal EU requirements: example 1 Requires specifying correlation of time series of basic sensing data into high- level semantic data Animal Classify Animal 2 1 T2: Identify Animal Mobile Object Estimate Motion 3 Pulse Pair 3 Average Pulse Pairs 4 Pulse 1 Detect Beam Event 9 Pulse 2 Detect Beam Event 8 Pulse 3 Detect Beam Event 7 Pulse Pair 1 Sort Edges 6 Pulse Pair 2 Sort Edges 5 Raw sensor data Semantic Stream [Zhao et al.]
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Background Photo: Query: chart traffic patterns Query: photograph speeding vehicles EU requirements: other examples Requires specifying coordination between tasks Requires specifying a behavior repeated over time