Automating Context-Aware Application Development Ted McFadden and Karen Henricksen CRC for Enterprise Distributed Systems Technology (DSTC) Jadwiga Indulska.

Slides:



Advertisements
Similar presentations
The Holmes Platform and Applications Irisel Consulting Madrid, 2008.
Advertisements

Database System Concepts and Architecture
Multi-Mode Survey Management An Approach to Addressing its Challenges
Towards a hybrid approach to context modelling, reasoning and interoperation Karen Henricksen CRC for Enterprise Distributed Systems Technology (DSTC)
Advantage Data Dictionary. agenda Creating and Managing Data Dictionaries –Tables, Indexes, Fields, and Triggers –Defining Referential Integrity –Defining.
The road to reliable, autonomous distributed systems
© 2004 Visible Systems Corporation. All rights reserved. 1 (800) 6VISIBLE Holistic View of the Enterprise Business Development Operations.
SAS® Data Integration Solution
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
6/4/2015Page 1 Enterprise Service Bus (ESB) B. Ramamurthy.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 15 Database Administration and Security.
SaxStore: a n aspect oriented persistence library for Java based on SAX events Riccardo Solmi University of Bologna May 2001.
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
SQL Forms Engine Koifman Eran Egri Ozi Supervisor: Ilana David.
Matthew J Mattia CSC  Cumbersome Code  Consistent/Predictable design (GUEPs #5, CD’s #10)  Display “proper” amount of information  Including.
Application of PDM Technologies for Enterprise Integration 1 SS 14/15 By - Vathsala Arabaghatta Shivarudrappa.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
PHASE 3: SYSTEMS DESIGN Chapter 7 Data Design.
© The ATHENA Consortium. EM1 - Enterprise Modelling as a way to achieve Interoperability Module 4 - How does Enterprise Modelling address these.
Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University.
1 INTRO TO BUSINESS COMPONENTS FOR JAVA (BC4J) Matt Fierst Computer Resource Team OracleWorld Session
1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.
Xactium xDSLs Run Models Not Code Tony Clark
XForms: A case study Rajiv Shivane & Pavitar Singh.
1 Introduction to databases concepts CCIS – IS department Level 4.
Entity Framework, a quickstart Florin−Tudor Cristea, Microsoft Student Partner.
1 Document Object Model (DOM) MV4920 – XML 24 September 2001 Simon R. Goerger MAJ, US Army
Database Technical Session By: Prof. Adarsh Patel.
Uniting Cultures, Technology & Applications A Case Study University of New Hampshire.
XML in Development of Distributed Systems Tooling Programming Runtime.
© 2006 IBM Corporation Jazz Foundation Deep Dive Agile Planning’s Scripting Tools.
DBSQL 14-1 Copyright © Genetic Computer School 2009 Chapter 14 Microsoft SQL Server.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Vision The ultimate IDE/CASE tool should supports all steps in the software development process. Current tools perform only minimal semantic-level analysis.
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
Chapter 14 Data and Database Administration. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Organizational context.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Extending context models for privacy in pervasive computing environments Jadwiga Indulska The School of Information Technology and Electrical Engineering,
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
Efficient RDF Storage and Retrieval in Jena2 Written by: Kevin Wilkinson, Craig Sayers, Harumi Kuno, Dave Reynolds Presented by: Umer Fareed 파리드.
ABSTRACT The JDBC (Java Database Connectivity) API is the industry standard for database- independent connectivity between the Java programming language.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Rainbow: XML and Relational Database Design, Implementation, Test, and Evaluation Project Members: Tien Vu, Mirek Cymer, John Lee Advisor:
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Application Ontology Manager for Hydra IST Ján Hreňo Martin Sarnovský Peter Kostelník TU Košice.
Metadata By N.Gopinath AP/CSE Metadata and it’s role in the lifecycle. The collection, maintenance, and deployment of metadata Metadata and tool integration.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
IT System Administration Lesson 3 Dr Jeffrey A Robinson.
REST By: Vishwanath Vineet.
Behavioral Framework Background & Terminology. Behavioral Framework: Introduction  Background..  What was the goal..
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
A Portrait of the Semantic Web in Action Jeff Heflin and James Hendler IEEE Intelligent Systems December 6, 2010 Hyewon Lim.
Lecture 21: Component-Based Software Engineering
Introduction – ORM, Helloworld Application
Dude, Where's My Car? And Other Questions in Context-Awareness Jason I. Hong James A. Landay Group for User Interface Research University of California.
Annotation of Multimedia Documents. Approaches to Cooperation and Personalization. Annotation System January 1998
September 2003, 7 th EDG Conference, Heidelberg – Roberta Faggian, CERN/IT CERN – European Organization for Nuclear Research The GRACE Project GRid enabled.
The Holmes Platform and Applications
Jean-Philippe Baud, IT-GD, CERN November 2007
Database System Concepts and Architecture
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Presentation transcript:

Automating Context-Aware Application Development Ted McFadden and Karen Henricksen CRC for Enterprise Distributed Systems Technology (DSTC) Jadwiga Indulska School of Information Technology and Electrical Engineering, The University of Queensland

Motivation Need powerful yet generic abstractions and infrastructure for context-aware systems We have developed: Context modelling concepts (graphical and logical) Preference model to capture context-dependent requirements Programming models/toolkit Context and preference management infrastructure Shortcomings of the generic approach: APIs and data structures are not the most natural to use repetitive, boiler-plate code is required Changes in the context model often imply modification of code

Motivation (continued) Solution - provide tools to: customise generic infrastructure for particular context models automate the generation of repetitive code Benefits of this approach: improved error checking improved ability to evolve context models independently of applications increased opportunity for modifying aspects of the infrastructure with minimal impact on applications

Generic infrastructure for context-aware systems Application 1Application 2 Application n Context Programming Toolkit Application layer Toolkit layer Context and preference management layer Context gathering layer Context Manager Preference Manager Context Database Situation Database Preference Database Context Gateway Sensors Legend Elvin notification RMI JDBC

Infrastructure components Programming toolkit layer: Supports two programming models: Situation-based triggering: using a variant of the ECA model Branching: selection from set of candidate choices based on: context context-dependent preferences Context manager: Controls repositories of context and situation information Supports context query, update, notification of changes Allows querying of model meta-data (for context tools)

Infrastructure components (continued) Preference manager: Controls repositories of user and system preferences/policies Evaluates preferences with respect to a context Supports dynamic preference modification Context gateway: Interprets notifications from sensors Provides a mapping to the fact representation used by the context manager

Additional tool support To reduce the coding effort required to use the generic infrastructure, we have developed additional tools for generating: scripts to load and remove context models from the context databases model-specific classes for context manipulation model-specific classes for transmitting context notifications over a content-based publish-subscribe router

Approach Tools rely on a context schema representation of our context models This is a SQL-like textual representation of context fact types and situations Schema is parsed by a common back-end schema compiler, which can be connected to arbitrary front-ends

Context schema notation CREATE CONTEXT SCHEMA DSTC.PACE.COMM... CREATE DOMAIN PersonID AS Identity... CREATE DOMAIN ChannelID AS Identity... CREATE PROFILED FACT TYPE PersonHasChannel ( KEY ( person PersonID, channel ChannelID ) )... CREATE ALT SENSED FACT TYPE PersonLocatedAtPlace QUALITY(Certainty) ( person PersonID KEY, place PlaceName ALTROLE )... CREATE PROFILED TEMPORAL FACT TYPE PersonEngagedInActivity DEPENDS(PersonLocatedAt) ( person PersonID KEY, activity ActivityName )... CREATE SITUATION Occupied(person PersonID): exists activity. PersonEngagedInActivity[person,activity]. activity = “meeting” or activity = “on.phone”

Context schema tool family Context Schema Context Schema Compiler Intermediary Form Context Management Mapping Tool Model-Specific Library Tool Elvin Notification Library Tool Future Tools SQL Database Schema Common Tool Back End Tool Outputs Elvin Classes Fact Binding Classes Domain Classes Task Specific Tool Front Ends

Context management mapping tool Generates database administration scripts for our context manager (SQL-based) Context modelling concepts translated into: database constraints metadata Addresses deployment issues (namespaces) CREATE SCHEMA DSTC_PACE_COMM; CREATE DOMAIN DSTC_PACE_COMM.PersonID AS VARCHAR(255)... CREATE TABLE DSTC_PACE_COMM.PersonHasChannel( person DSTC_PACE_COMM.PersonID, channel DSTC_PACE_COMM.ChannelID, PRIMARY KEY (person, channel) ); CREATE TABLE DSTC_PACE_COMM.PersonLocatedAtPlace( person DSTC_PACE_COMM.PersonID, place DSTC_PACE_COMM.PlaceName, qCertainty DSTC_PACE_COMM.Certainty, PRIMARY KEY (person, place) ); CREATE TABLE DSTC_PACE_COMM.PersonEngagedInActivity( person DSTC_PACE_COMM.PersonID, activity DSTC_PACE_COMM.ActivityName, fStartTime TIMESTAMP, fEndTime TIMESTAMP, PRIMARY KEY (person, fStartTime) ); …

Model-specific library generator Generates custom code for context manipulation for a given context model Advantages: Eliminates boiler-plate code for common usage cases Catch more errors at compile time Strongly typed methods Catch more errors at run-time Generate validation code IDE integration

Elvin notification library tool Context events are often sent as Elvin notifications Tool provides: model-specific code to automate event emission and reception model-specific context gateway that feeds context events into context manager Operates as follows: 1. Tool generates a context interface (sample Java interface shown below) 2. Elvin stub generator is run over interface to generate emitter and collector stubs (Java, Python) 3. Tool generates context gateway Supports flexible (n:m) messaging

Conclusions Generic infrastructures for context-aware systems are essential but can be cumbersome to use To overcome this problem, we: adopt a model-driven development approach provide a suite of tools for automatically generating repetitive, boiler- plate code Tools rely on a textual schema notation and a common schema compiler We currently generate: scripts to load/remove context models from context databases model-specific classes for context manipulation model-specific classes for transmitting context notifications

Conclusions (continued) Future work: mapping to OWL to enable reasoning over models for: validation interoperation additional tools