1 / 35

Research Topics in Software and Reasoning Systems

Explore cutting-edge research topics in software and reasoning systems, focusing on unobtrusive smart spaces, modeling complex systems, and dynamic analysis and visualization methodologies. Collaborate for advancements in software architecture.

leolaj
Download Presentation

Research Topics in Software and Reasoning Systems

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. Research Topics in Software and Reasoning Systems Collaborators: • Jan Chomicki, University at Buffalo • Venu Govindaraju, University at Buffalo • Kishore Ramachandran, Georgia Tech • Luke Ziarek, University at Buffalo Bharat Jayaraman University at Buffalo (SUNY) CSE Research Overview

  2. Three Current Topics 1. Unobtrusive Smart Spaces 2. Modeling Complex Systems 3. Dynamic Analysis & Visualization Research Methodology: - Start with Theoretical Foundations - Develop Practical Models/Languages - Implement, Apply, Learn, Improve CSE Research Overview

  3. 1. Unobtrusive Smart Spaces CSE Research Overview

  4. Research Topics 1. Large Camera Networks 2. Distributed State Transition System 3. Practical Deployment and Experiments 4. Smart Space Analytics Three R’s of Cyber-Physical Spaces, V. Menon, B. Jayaraman, V. Govindaraju IEEE Computer, 44(9): 73-89, 2011 A Distributed Framework for Spatio-Temporal Analysis on Large-scale Camera Networks, K Hong, M Voelz, V Govindaraju, B Jayaraman, U Ramachandran, Proc. Distributed Computing Systems Workshops (ICDCSW), 2013 CSE Research Overview

  5. 2. Modeling Complex SystemsGrand Challenge in Information Systems (www.cra.org) “We need a mathematical model that relates the global behavior of complex systems to the local behaviors and interaction patterns of the individual elements … Whatever form such a model takes, it must permit us to define and control emergent behavior using declarative, not imperative, techniques.” Motivating Domains: Engineering, Biological, … Common Features: Complex Assembly, Laws of Behavior, Visualization …. CSE Research Overview

  6. Constrained Objects Constraints: “The load on a wall ≤ its load bearing capacity.” “The sum of the forces at a joint should be zero.” etc.

  7. Load Sum of Forces = 0 class joint { attributes bar [ ] Bars; load [ ] Loads; constraints (sum X in Bars : X.B.F * sin(X.A)) + (sum L in Loads : L.F * sin(L.A)) = 0; (sum Y in Bars : Y.B.F * cos(Y.A)) + (sum M in Loads : M.F * cos(M.A)) = 0; constructor joint(B1, L1) { Bars = B1; Loads = L1; } }

  8. Research Topics • Translation to Efficient Low-level Representations • Inconsistency Detection and Failure Analysis • Visualization for Dynamic Behavior • From Constrained Objects to Constraint-based Design Modeling Engineering Structures with Constrained Objects, B. Jayaraman and P. Tambay, Proc. Practical Aspects of Declarative Languages, Lecture Notes in Computer Science (2257), pp. 28-46, 2002 Compositional semantics for diagrams using constrained objects, B. Jayaraman, P. Tambay, Proc. Diagrammatic Representation and Inference, pp. 94-96, 2003

  9. 3. Dynamic Analysis & Visualization • Towards Better Program Comprehension • Run-time Visualization, Query-based Debugging • Execution Analysis, Summarization • JIVE: Java Interactive Visualization Environment • Extensions for Real-time, Concurrency, etc. Temporal Data Model for Program Debugging. D. Lessa, B. Jayaraman, J. Chomicki, Proc. Database Programming Languages, 2011. JI. FI: Visual Test and Debug Queries for Hard Real‐Time, E. Blanton, D. Lessa, P. Arora, L. Ziarek, B. Jayaraman, Concurrency and Computation: Practice and Experience, 2013.

  10. Source Code Static – Behavior Obscure

  11. JIVE Interface Processes Enhanced Object Diagram Source Code Sequence Diagram Query Result

  12. JIVE Visualization: Objects as Environments JIVE object diagram showing objects as well as method activations in the object contexts CSE Research Overview

  13. JIVE Objects: Detailed View JIVE object diagram showing internal details of objects and method activations CSE Research Overview

  14. Objects as Environments:Call-Path View JIVE object diagram focusing on the calling path, or the call stack. CSE Research Overview

  15. Flexible Views CSE Research Overview

  16. Viewing Execution History:Multi-Threaded Programming CSE Research Overview

  17. Visualization clarifies Program Behavior P1 P2 P3 P4 P5 F1 F2 F3 F4 F5 JIVE sequence diagram clarifies thread interactions CSE Research Overview

  18. P1 P2 P3 P4 P5 F1 F2 F3 F4 F5 JIVE sequence diagram at point of deadlock CSE Research Overview

  19. Concurrency Bug Analysis: JIVE + Java Path Finder Java Path Finder is a special JVM that explores all possible choices in scheduling with the goal of identifying a concurrency bug, such as deadlock, if one exists. The output of JPF is also an execution sequence that can be input to JIVE, which not only shows the tree of possible scheduling choices, but also the path leading to the error. CSE Research Overview

  20. Coupling with Java Path Finder Android Workshop

  21. CSE Research Review

  22. CSE Research Overview

  23. 3. Query Based Debugging • Traditional debugging is more like “web browsing” – you have to manually look for the error. • QBD is more akin to “web searching”, e.g.: - show all changes to a variable - when did a variable become negative - when was an invariant violated - when did concurrent update occur - show all contended monitors - show all priority inversion • Common queries can be form-based, but custom queries are necessary. CSE Research Overview

  24. Form-based Query Interface When was ‘value’ assigned to an int less than 100? CSE Research Overview

  25. Query Result CSE Research Overview

  26. JIVE’s Overall Architecture CSE Research Overview

  27. Eclipse/JIVE Two-Process Model CSE Research Overview

  28. Important Property of JIVE – 1 Jivedoes not represent program states directly, but infers (and reconstructs) states from events that occur. CSE Research Overview

  29. Important Property of JIVE – 2 Queries and Visualization work in a synergistic way: Queries help focus on what is of interest. Visualization provides a canvas on which to report answers to queries. CSE Research Overview

  30. JIVE Demowww.cse.buffalo.edu/jive CSE Research Overview

  31. Scalable Visualizations: Vertical Compaction compactify CSE Research Overview

  32. Execution Summarization: From Sequence to State Diagrams (View 1) CSE Research Overview

  33. From Sequence to State Diagrams (View 2) CSE Research Overview

  34. Summary and Conclusions • JIVE has useful features not found in modern IDEs: visualizing object states and execution history; query-based debugging; dynamic slicing; reverse stepping • Declarative Queries and Visualization work in a synergistic manner to provide an effective run-time environment for OO Languages. • JIVE can be used for teaching and learning, and also has features for understanding and debugging in industrial setting. CSE Research Overview

  35. Further Work • Incorporate full Temporal Queries and State Diagram construction into JIVE interface. • Verification through Testing: the database approach to debugging facilitates analysis over multiple runs, checking invariants, etc. • Model Checking in JIVE: The State Diagram resembles a Kripke Structure, and we can perform model-checking of such structures with respect to temporal-logic formula. CSE Research Overview

More Related