Network Computing Laboratory A programming framework for Stream Synthesizing Service.

Slides:



Advertisements
Similar presentations
GRADD: Scientific Workflows. Scientific Workflow E. Science laboris Workflows are the new rock and roll of eScience Machinery for coordinating the execution.
Advertisements

Reliable Scripting Using Push Logic Push Logic David Greaves, Daniel Gordon University of Cambridge Computer Laboratory Reliable Scripting.
Programming Languages for End-User Personalization of Cyber-Physical Systems Presented by, Swathi Krishna Kilari.
Translation-Based Compositional Reasoning for Software Systems Fei Xie and James C. Browne Robert P. Kurshan Cadence Design Systems.
DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
MapReduce Online Created by: Rajesh Gadipuuri Modified by: Ying Lu.
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
1 Coven a Framework for High Performance Problem Solving Environments Nathan A. DeBardeleben Walter B. Ligon III Sourabh Pandit Dan C. Stanzione Jr. Parallel.
SEERE, Neum 2009 Runtime verification of Java programs using ITL Vladimir Valkanov, Damyan Mitev Plovdiv, Bulgaria.
1 SAFIRE Project DHS Update – July 15, 2009 Introductions  Update since last teleconference Demo Video - Fire Incident Command Board (FICB) SAFIRE Streams.
Design and Implementation of a Middleware for Sentient Spaces Bijit Hore, Hojjat Jafarpour, Ramesh Jain, Shengyue Ji, Daniel Massaguer Sharad Mehrotra,
Software Testing and Quality Assurance
Component-Level Design
1 8. Safe Query Languages Safe program – its semantics can be at least partially computed on any valid database input. Safety is tied to program verification,
What’s That? : A Location Based Service Department of Computer Science and Engineering University of Minnesota Presented by: Don Eagan Chintan Patel
ATSN 2009 Towards an Extensible Agent-based Middleware for Sensor Networks and RFID Systems Dirk Bade University of Hamburg, Germany.
Many-Core Programming with GRAMPS Jeremy Sugerman Kayvon Fatahalian Solomon Boulos Kurt Akeley Pat Hanrahan.
Models of Computation for Embedded System Design Alvise Bonivento.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Chapter 10: Architectural Design
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Dynamic Traffic Light Timing Tony Faillaci John Gilroy Ben Hughes Justin Porter Zach Zientek.
Formal Techniques for Verification Using SystemC By Nasir Mahmood.
LÊ QU Ố C HUY ID: QLU OUTLINE  What is data mining ?  Major issues in data mining 2.
A Survey on Context-Aware Computing Center for E-Business Technology Seoul National University Seoul, Korea 이상근, 이동주, 강승석, Babar Tareen Intelligent Database.
Dynamic Traffic Light Timing Tony Faillaci John Gilroy Ben Hughes Justin Porter Zach Zientek.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
SensIT PI Meeting, January 15-17, Self-Organizing Sensor Networks: Efficient Distributed Mechanisms Alvin S. Lim Computer Science and Software Engineering.
Distributed Control of FACTS Devices Using a Transportation Model Bruce McMillin Computer Science Mariesa Crow Electrical and Computer Engineering University.
C++ Code Analysis: an Open Architecture for the Verification of Coding Rules Paolo Tonella ITC-irst, Centro per la Ricerca Scientifica e Tecnologica
Data Flow Diagram A method used to analyze a system in a structured way Used during: Analysis stage: to describe the current system Design stage: to describe.
Context Tailoring the DBMS –To support particular applications Beyond alphanumerical data Beyond retrieve + process –To support particular hardware New.
COE4OI5 Engineering Design. Copyright S. Shirani 2 Course Outline Design process, design of digital hardware Programmable logic technology Altera’s UP2.
Kaifei Chen, Siyuan He, Beidi Chen, John Kolb, Randy H. Katz, David E
DIS Helsinki University of Technology Multi-Agent System Enhanced Supervision of Process Automation Teppo Pirttioja 1, Antti Pakonen 2, Ilkka.
Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.
CG&GIS Lab Computer Graphics and Geographic Information Systems Laboratory University of Ni š Faculty of Electronic Engineering Prof. Dr Dejan Rančić Prof.

CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
The Mitre Meteor Robot Control Software “Simulate As You Operate” Presented by Darrell L Sims Richard M. Weatherly Frederick S. Kuhl Robert H. Bolling.
Polymorphous Computing Architectures Run-time Environment And Design Application for Polymorphous Technology Verification & Validation (READAPT V&V) Lockheed.
Coupling Cohesion Chandan R. Rupakheti Steve Chenoweth (Chapter 18)
MyActivity: A Cloud-Hosted Ontology-Based Framework for Human Activity Querying Amin BakhshandehAbkear Supervisor:
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
Streamflow - Programming Model for Data Streaming in Scientific Workflows Chathura Herath.
4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler.
Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer.
Xiong Junjie Node-level debugging based on finite state machine in wireless sensor networks.
Programming Sensor Networks Andrew Chien CSE291 Spring 2003 May 6, 2003.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
1 Semantics and Evaluation Techniques for Window Aggregates in Data Streams Jin Li, David Maier, Kristin Tufte, Vassilis Papadimos, Peter Tucker This work.
CMPSC 16 Problem Solving with Computers I Spring 2014 Instructor: Tevfik Bultan Lecture 4: Introduction to C: Control Flow.
THE EYESWEB PLATFORM - GDE The EyesWeb XMI multimodal platform GDE 5 March 2015.
The ATLAS Run 2 Expert System Giuseppe Avolio - CERN.
IncApprox The marriage of incremental and approximate computing Pramod Bhatotia Dhanya Krishnan, Do Le Quoc, Christof Fetzer, Rodrigo Rodrigues* (TU Dresden.
A Framework for Nuclear Software (NuFA)
Group mambers: Maira Naseer (BCS ).
Architecture Concept Documents
Abstract Major Cloud computing companies have started to integrate frameworks for parallel data processing in their product portfolio, making it easy for.
Liang Chen Advisor: Gagan Agrawal Computer Science & Engineering
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
TinyOS CSE466 Final Project Presentation
Programmable Networks
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Presentation transcript:

Network Computing Laboratory A programming framework for Stream Synthesizing Service

Network Computing Laboratory | 2 Korea Advanced Institute of Science and Technology Outline Motivation expected applications Scenario An example application Challenges of application development Approach What to do

Network Computing Laboratory | 3 Korea Advanced Institute of Science and Technology Motivation Stream Synthesizing Services (S 3 ) Receives data streams from heterogeneous sources (context, rate..) Continuously runs over the streaming data Includes complex logic that requires operations beyond declarative queries E.g. Location-based services (LBS), ITS, … Continuously generated as a form of streams Stream Synthesizing Services Stream Synthesizing Services RFID GPS Sensor Net Mobile devices

Network Computing Laboratory | 4 Korea Advanced Institute of Science and Technology Scenario Scenario: A Command Control System Context-aware target prioritization & fire control CCS Locations of adversary objects Radar, sensor net, sonar Armor status, Vehicle condition, Health condition, Location Monitor Command

Network Computing Laboratory | 5 Korea Advanced Institute of Science and Technology At each level of the hierarchy A unique algorithm for target partitioning & fire allocation is implemented Target partitioning & fire allocation changes as Positions of objects change Data : Location stream, Processing : speed & orientation detection Available fire power Data : Physical condition of weapons & soldiers Data : biomedical data, Processing : expert system for diagnosis Scenario Monitor Command

Network Computing Laboratory | 6 Korea Advanced Institute of Science and Technology Challenges of S 3 development(1/3) Control flow management is inherently complex Threaded model, message-passing model are both inappropriate for the development Thread?  Control flow of a tuple is not sequential (condition 의 만족을 위해 waiting 하는 경우가 많다.) E.g. Tuple/Time windows are placed between program modules Thread 로 구현할 경우  logic 과 별개로 condition 의 충족 여부를 checking 하는 복잡 함이 있다. (Example) Message-Passing?  An event-handler may be triggered by a synthesized event Synthesized event: A packaged event formed with events from multiple sources N 개를 묶어서 할 때 뭐가 어렵냐 N 개를 못묶는지 ? Enabling Flexible control flow expression is required

Network Computing Laboratory | 7 Korea Advanced Institute of Science and Technology Synthesized stream 만드는 방법 Multiple source 로부터 나온 stream 을 묶어서 새 input stream 을 만들 때.. 묶는 방법 나누는 법 ??

Network Computing Laboratory | 8 Korea Advanced Institute of Science and Technology.. weather traffic smoothingaggregation Traffic status S A R A A M aggregation Black box 가 낫다

Network Computing Laboratory | 9 Korea Advanced Institute of Science and Technology Challenges of S 3 development (2/3) Before running the logic, complex processing of raw data streams is required Since values and data rates change dynamically over time Operations on data from a single source Buffering: due to the fluctuating data rate Windowing: logics require aggregated data often (time, tuple window) Filtering: logics require selected data according to values Operations on data from multiple sources Scheduling data update: app semantic, performance reason Updating constraints Temporal constraint, ratio constraint( 예제 ), semantic constraints Logic …

Network Computing Laboratory | 10 Korea Advanced Institute of Science and Technology Challenges of S 3 development (3/3) Error inspection and diagnosis is hard due to the long running feature and dynamicity of data Many factors affect the execution of the services Data rate Data values Running time Due to the “time” factor, it becomes harder to find an error & verify the correction of the error A program may have state which is built over time It may take some time to browse the program state which leads to error E.g. a service may start to misbehave after 15 hours of execution Unpredictable, Thus hard to handle exceptional situations

Network Computing Laboratory | 11 Korea Advanced Institute of Science and Technology Stream Synthesizing Services (S 3 ) Stream Synthesizing Services Receives data from multiple sources, exhibits multiple merging stages, and then generates final outputs Data from each source goes through multiple processing steps As time passes (the steps may require different time window) As more data arrives (the steps may require different tuple window) Modules may require data from other sources (or modules)

Network Computing Laboratory | 12 Korea Advanced Institute of Science and Technology Approach Provide a programming model and an execution framework to facilitate the development of S 3 s Let developers to concentrate on service logic by Delegating primitive data processing tasks to the framework Interface which abstracts input data streams Hiding complex execution flow Event-based programming Enabling easy verification of the logic Emulating data sources Marking certain moment of execution (?) Allow execution speed control (?) Programming Framework Programming model Runtime Error diagnosis

Network Computing Laboratory | 13 Korea Advanced Institute of Science and Technology The waterwheel model Waterwheel: logic segment which is triggered as stream arrives A stream creates event & event triggers the logic A service is composed of waterwheels Each waterwheel have different input streams Flexible event definition & management The constructed waterwheels run as streams are pushed from the sources Logic service Logic

Network Computing Laboratory | 14 Korea Advanced Institute of Science and Technology What to do Scenario refinement Realizing the programming model Design the interface which is used for input abstraction Define operations & constraints on multiple sources Define events & define how they could be expressed Define how the waterwheels can be organized into a program Design the runtime Data management Supporting operations Connection between waterwheels (outputs to inputs) Waterwheel scheduling Evaluating events of waterwheels Programming Framework Programming model Runtime Error diagnosis

Network Computing Laboratory | 15 Korea Advanced Institute of Science and Technology What to do Supporting error diagnosis Refine possible requirements Case study Build one or two services Programming Framework Programming model Runtime Error diagnosis

Network Computing Laboratory | 16 Korea Advanced Institute of Science and Technology Scenario fuel Engine temp Tire pressure My position Values from sensors Mobility Map Orientation, speed Aim target Scenario: Military logistics applications Guide an object (e.g. tank) strategically using context information 변화 율 계 산 Vehicle status diagnosis Position of external objects Raw stream pre-processing Complex execution flow Error inspection & diagnosis Black box 가 낫다