Programming Models in Pervasive Spaces Part 2 CNT 5517-5564 Dr. Sumi Helal & Dr. Eun-Sun Cho Computer & Information Science & Engineering Department University.

Slides:



Advertisements
Similar presentations
Toward an Agent-Based and Context- Oriented Approach for Web Services Composition IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 17, NO. 5,
Advertisements

Programming Languages for End-User Personalization of Cyber-Physical Systems Presented by, Swathi Krishna Kilari.
Software Testing and Quality Attributes Software Testing Module ( ) Dr. Samer Hanna.
8.2 Discretionary Access Control Models Weiling Li.
Programming Models in Pervasive Spaces CNT Dr. Sumi Helal Computer & Information Science & Engineering Department University of Florida, Gainesville,
ICT 1 “Putting Context in Context: The Role and Design of Context Management in a Mobility and Adaptation Enabling Middleware” Marius Mikalsen Research.
Introduction To System Analysis and Design
BROADWAY: A SOFTWARE ARCHITECTURE FOR SCIENTIFIC COMPUTING Samuel Z. Guyer and Calvin Lin The University of Texas.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Dealing.
Software Engineering for Safety : A Roadmap Presentation by: Manu D Vij CS 599 Software Engineering for Embedded Systems.
FI-WARE – Future Internet Core Platform FI-WARE Security July 2011 High-level Description.
Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science.
1 Case Study: Starting the Student Registration System Chapter 3.
Dealing with NFRs Vahid Jalali Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory,
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 2 Wenbing Zhao Department of Electrical and Computer Engineering.
Methodology Conceptual Database Design
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Department of Computer Science & Engineering College of Engineering Dr. Betty H.C. Cheng, Laura A. Campbell, Sascha Konrad The demand for distributed real-time.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
What is it? A mobile robotics system controls a manned or partially manned vehicle-car, submarine, space vehicle | Website for Students.
Introduction to Databases and Database Languages
LÊ QU Ố C HUY ID: QLU OUTLINE  What is data mining ?  Major issues in data mining 2.
ATIF MEHMOOD MALIK KASHIF SIDDIQUE Improving dependability of Cloud Computing with Fault Tolerance and High Availability.
The 2nd International Conference of e-Learning and Distance Education, 21 to 23 February 2011, Riyadh, Saudi Arabia Prof. Dr. Torky Sultan Faculty of Computers.
S/W Project Management
Overview of the Database Development Process
Distributed Real-Time Systems for the Intelligent Power Grid Prof. Vincenzo Liberatore.
The Islamic University of Gaza
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II.
Methodology Conceptual Databases Design
Artificial Intelligence Techniques Internet Applications 1.
1 Chapter 15 Methodology Conceptual Databases Design Transparencies Last Updated: April 2011 By M. Arief
© 2007 Tom Beckman Features:  Are autonomous software entities that act as a user’s assistant to perform discrete tasks, simplifying or completely automating.
Y. Kotani · F. Ino · K. Hagihara Springer Science + Business Media B.V Reporter: 李長霖.
Methodology - Conceptual Database Design. 2 Design Methodology u Structured approach that uses procedures, techniques, tools, and documentation aids to.
The Grid System Design Liu Xiangrui Beijing Institute of Technology.
Distributed Database Systems Overview
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
1 Introduction to Software Engineering Lecture 1.
Methodology - Conceptual Database Design
Secure Systems Research Group - FAU 1 Active Replication Pattern Ingrid Buckley Dept. of Computer Science and Engineering Florida Atlantic University Boca.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
The Atlas Sensor Platform Architecture - Part II CNT Dr. Sumi Helal Computer & Information Science & Engineering Department University of Florida,
Basic Concepts of Component- Based Software Development (CBSD) Model-Based Programming and Verification.
Agents that Reduce Work and Information Overload and Beyond Intelligent Interfaces Presented by Maulik Oza Department of Information and Computer Science.
Riga Technical University Department of System Theory and Design Usage of Multi-Agent Paradigm in Multi-Robot Systems Integration Assistant professor Egons.
Service Discovery Protocols Mobile Computing - CNT Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University.
Fault Tolerance Benchmarking. 2 Owerview What is Benchmarking? What is Dependability? What is Dependability Benchmarking? What is the relation between.
Multiagent System Katia P. Sycara 일반대학원 GE 랩 성연식.
Digital Libraries1 David Rashty. Digital Libraries2 “A library is an arsenal of liberty” Anonymous.
16/11/ Web Services Choreography Requirements Presenter: Emilia Cimpian, NUIG-DERI, 07April W3C Working Draft.
A Context-Driven Programming Model for Pervasive Spaces Hen-I Yang, Jeffrey King, Sumi Helal, Erwin Jansen Pervasive Computing Lab, University of Florida.
Chapter 9 The People in Information Systems. Learning Objectives Upon successful completion of this chapter, you will be able to: Describe each of the.
UML - Development Process 1 Software Development Process Using UML.
Safety methods within Agile and RUP methods TORGRIM LAURITSEN BUCS project.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Chapter 1 Characterization of Distributed Systems
Software Quality Control and Quality Assurance: Introduction
Methodology Conceptual Databases Design
Methodology Conceptual Database Design
Model-Driven Analysis Frameworks for Embedded Systems
Architectural Requirements for the Effective Support of Adaptive Mobile Applications Lawrence Li ICS 243F.
Architectural Requirements for the Effective Support of Adaptive Mobile Applications Lawrence Li ICS 243F.
Methodology Conceptual Databases Design
Automated Analysis and Code Generation for Domain-Specific Models
Presentation transcript:

Programming Models in Pervasive Spaces Part 2 CNT Dr. Sumi Helal & Dr. Eun-Sun Cho Computer & Information Science & Engineering Department University of Florida, Gainesville, FL {helal,

Reading Materials 1.H. Yang and A. Helal, "Safety Enhancing Mechanisms for Pervasive Computing Systems in Intelligent Environment", In Proceedings of the Middleware Support for Pervasive Computing Workshop, held in conjunction with IEEE PerCom 2008, Hong Kong, March (pdf)pdf 2.Randell, B.: Dependable pervasive systems. In: SRDS, page 2. IEEE Computer Society Press, (2004) 3.R. Bose, A. Helal, V. Sivakumar and S. Lim, "Virtual Sensors for Service Oriented Intelligent Environments," Proceedings of the Third IASTED International Conference on Advances in Computer Science and Technology, Phuket, Thailand, April 2-4, S. Chetan, A. Ranganathan, and R. Campbell. Towards fault tolerance pervasive computing. Technology and Society Magazine, IEEE, 24(1):38--44, Spring P. Hu, J. Indulska, R. Robinson, An Autonomic Context Management System for Pervasive Computing, Percom Kulkarni, D., Tripathi, A.: A Framework for Programming Robust Context-Aware Applications. In: IEEE Transactions on Software Engineering, vol. 36, no.2, IEEE Computer Society Press (2010) 7.Damasceno, K., Cacho, N., Garcia, A., Romanovsky, A., Lucena, C., : Context-Aware Exception Handling in Mobile Agent Systems: The MoCA Case. In: Software engineering for large-scale multi-agent systems, pp37 – 44, ACM New York (2006)

Programming Models Service oriented models –More expressive, Less safe Context driven models –Less expressive, Safer Safety oriented models √ –More expressive, Safer

Trustworthiness of a Computing System The trustworthiness of a computing system (including a pervasive system) can be defined by its dependability Dependability is comprised of: −reliability, availability, integrity, safety and maintainability Online transaction processing systems have emphasized availability, maintainability and integrity. –The solutions also have helped to facilitate less emphasized attributes like safety.

Exception Handling Technologies Fault Management Technologies Dependable systems safety reliability integrity maintainability availability ★

Trustworthiness of a Pervasive System In pervasive systems, safety (especially, user- centered safety) deserves more attention –abnormalities in pervasive systems could be critical problems to users’ safety. –Examples: Conflicting usage of shared resources Invalid operational directives Risks of conflicting side effects

Trustworthiness of a Pervasive System (cont’d) Solutions to traditional dependability may help user-centered safety in pervasive systems, but they are only partially helpful More direct attention on safety is needed Useful tools –Fault management technologies –Exception handling

Fault Management Technologies Goal : continuous, acceptable-quality operation of a system, even in presence of faults. –based on a closed control loop of monitoring, detection and reaction System-wide safety support –able to monitor the interactions between different applications from system-wide point of view –does not consider the semantics of individual applications –the remedies of the fault are simple, usually limited to halting, reconfiguration or redundancy.

Exception Handling Allows programmer-described abnormal cases to be detected and remedied –according to the handler programs. Program-wide safety support –exceptions and the handlers based on application/service semantics. –needs any additional coordinator –exception handling support in a general purpose language (C++/C#/Java) may complicate the application codes

aware of Individual application semantics aware of presence of multiple applications application specific safety support System-wide fault management handlers defined by programmers retry, halt or reporting to users Program-Wide Safety Support System-wide Safety Support

Previous Work Usually focuses either on fault management or on exception handling Some of the existing methods consider both fault detection and exception handling They assume a single program in a system, without considering interactions of independent programs

Previous Work (cont’d) Detection –heartbeat based fault detection and remedy in a program [4] Remedy –reconstructing the organization of the program (the execution path) [5] –embedding human “roles” explicitly as subjects to handle exceptions [6] –based on existing exception handling tools in C++/C#/Java [7] –Virtual sensors [2]

Safety Oriented Models Safety oriented programming models needed to allow multiple independent programming units to run on a system safely Allowing detection and handling of unsafe states in application semantics aware way. Employ both system-wide and program-wide safety support

System-Wide Safety Supports “Global safety knowledge base” –Stakeholders such as devices manufactures, space owners and users specify their individual concerns into their safety knowledge through a domain- independent ontology. –By integrating and maintaining the knowledge base, the pervasive system keeps a coherent understanding of the overall safety issues in the space

System-Wide Safety Supports (cont’d) A pervasive system dictates, prioritizes, and addresses the various concerns to achieve maximum overall safety based on the knowledge base Works best when multiple services and devices are entangled.

Program-wide Safety Support A programmer has the best knowledge of the intricacies and the safety needs of his program –More powerful tools needed to address the internal safety issues within the program itself. –Like enhanced exception handling techniques –programmers are able to direct control to manage safety risks within their own programs. A fine-grain, and more customized support for safety.

More on Program-Wide Support A Situation –means a temporal sequence of contexts that can cause abnormality in complicated pervasive environments. –allows sophisticated description of exceptions, Asynchronous exception detection –Avoid distracting programmers from programming on application’s main flow

Before the ExecutionDuring the Execution Exceptions and handlers in programs Preprocessing Tools Handler Invocation Exception Detection Exception Registration Context Monitor Exception and Handlers Repository Runtime Exception Engine Runtime Service Execution Environment Physical World with Context Reader/Writer

Program-Wide Exception Registration Exceptions are sometimes program-local but in many cases, they are related to system-wide abnormalities. The programmer is supposed to register the exception and handler definitions into the Runtime Exception Engine –also checked to meet the system-wide safety specifications; otherwise discarded and warn the programmer (by assistance of specialized tools.) –need to be verified again against the noticeable modification of the system and knowledgebase

Program-Wide Exception Handling If an exception is detected, −Runtime Exception Engine will try to find an appropriate handler and execute it. –each program maintains its own queue of context data to facilitate scenario-based abnormality detection, by consulting from context monitor. When preventing an impermissible context fails, in spite of protection of context locks, –execution of an exception handler can be initiated.

Discussions Safety problems are critical –Adequate support for safety is needed Program-wide safety support –Not for the cases that multiple tasks are interacting to each other –Still valuable Allows sophisticated and customized handling of erroneous cases