Greg Bronevetsky
greg@bronevetsky.com

   I am currently attending Cornell University's Department of Computer Science, pursuing a PhD. I got my BS in Computer Science from The College of New Jersey (formerly Trenton State College) in May of 1999. After this I worked for a year for Charles Jones LLC, managing a site that makes their legal database (various court records) available over the Web. I've done some research of my own in Causality Webs, Circle Menus and OPIL. I've already carried out a round of user trials for Circle Menus and am both preparing for a second round of user trials and working with another student on a new and improved version. I hope to publish the results soon.
    Here's a few of my stats:

   Resume

    Publications
-Bronevetsky, Greg. "The Brains of WHAT: A Data Structure for Internet Searches.", The Proceedings of the 30th SIGSCE Technical Symposium on Computer Science Education, New Orleans, LA., 1999.
-Bronevetsky, Greg, et al. "A Data Structure and Filter Design for Assisting Users to Traverse Web Search Information", The Journal of Computing in Small Colleges, Vol 13, Num 5, pp.214-216, 1998.
-Bronevetsky, Greg, et al. "Simplified Java Programming Through Graphical User Interfaces and File Utilities", The Journal of Computing in Small Colleges, Vol 13, Num 5, pp.209-211, 1998.

    Research Interests
    Causality Webs - a model of concurrent computation that sits between a programming environment and the execution engine (like a dataflow computer or the x86 instruction set). It defines the causal and information dependencies between pieces of information, connecting data with pieces of code. Causality webs look like directed graphs where the nodes are pieces of data and the links are pieces of code. Whenever a link's source data node changes, it is run, using the data as input. The code's output is stored in the link's destination node. Both the data nodes and the code links can be written in an arbitrary language. Causality webs are broken up by the compiler into pieces that can be run concurrently on different processors or even computers with no direction from the programmer.
        Causality Webs
1. Make it easier to do concurrent and distributed programming.
2.  Provide a common data format for various Visual Programming Languages, allowing designers of such languages to focus on their visualization rather than the details of program execution.
3. Provide a common data format for various concurrency models and execution engines (such as dataflow models, parallel processors, concurrent languages like Fx, Orca, High Performance Fortran) so that program writers would have a choice of the various mutually compatible ways to execute their causality web-based programs.

    Circle Menus - a popup menu that is circular rather than linear. Circle Menus are a new and intuitive type of menu where the menu options are arranged around the mouse rather than below it. Accordingly, Circle Menus are a much better fit for pointer based devices, like mice then linear or pull-down menus, which were originally designed to be used with keyboards (via up and down keys). A Circle Demo is currently available on the Web. The first round of User Trials was performed during the Fall 2000 semester on 136 students in the CS130 course at Cornell. I am preparing to run the user trials again on an improved version in the CS212 class during the Spring 2001 semester. Since the User Trials client is available over the Internet, participation is open to all interested parties, world-wide.

    OPIL - Object Positionining and Interaction Language. OPIL was first used as the language in which the Circle Menu User Trials were defined. It is a scripting language that allows a programmer to connect objects written in Java to each other via events, thus making it easy to put together an application out of a pre-existing library of objects. In this respect OPIL is a non-distributed version of CORBA or DCOM. In addition to that OPIL allows one to define how, where and when visual objects will appear on the screen, allowing GUIs to be scripted. OPIL's syntax is based on XML, and in addition to a default set of tags, allows the programmer to use other tags to communicate information to specific objects that can understand the information defined by the tags.