1 / 21

Programming Models in Pervasive Spaces Part 2 CNT 5517-5564

This reading material discusses different programming models for building reliable and safe pervasive systems. It explores fault management technologies and exception handling techniques to ensure the trustworthiness of these systems.

ehornsby
Download Presentation

Programming Models in Pervasive Spaces Part 2 CNT 5517-5564

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programming Models in Pervasive SpacesPart 2CNT 5517-5564 Dr. Sumi Helal & Dr. Eun-Sun Cho Computer & Information Science & Engineering Department University of Florida, Gainesville, FL 32611 {helal, escho}@cise.ufl.edu

  2. Reading Materials • 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 2008. (pdf) • Randell, B.: Dependable pervasive systems. In: SRDS, page 2. IEEE Computer Society Press, (2004) • 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, 2007 • S. Chetan, A. Ranganathan, and R. Campbell. Towards fault tolerance pervasive computing. Technology and Society Magazine, IEEE, 24(1):38--44, Spring 2005. • P. Hu, J. Indulska, R. Robinson, An Autonomic Context Management System for Pervasive Computing, Percom 2008 • 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) • 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)

  3. Programming Models • Service oriented models • More expressive, Less safe • Context driven models • Less expressive, Safer • Safety oriented models √ • More expressive, Safer

  4. 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.

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

  6. 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

  7. 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

  8. 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 tomonitor 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.

  9. 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

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

  11. 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

  12. 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]

  13. 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

  14. 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

  15. 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.

  16. 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.

  17. 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

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

  19. 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

  20. 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.

  21. 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

More Related